/* elevatemydorm — dorms.css  (mobile-first, dark) */
:root{ --bg:#0a0e17; --card:#141a28; --accent:#ff8a5c; --text:#e6ebf2;
  --muted:#8a95a8; --line:#222c40; --radius:14px; }
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--bg); color:var(--text);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
a{ color:var(--accent); text-decoration:none; }
a:hover{ text-decoration:underline; }
.site{ padding:14px 18px; border-bottom:1px solid var(--line); }
.brand{ font-weight:700; letter-spacing:.5px; color:var(--text); }
.wrap{ max-width:840px; margin:0 auto; padding:18px; }
.hero h1{ font-size:1.7rem; line-height:1.25; margin:.2em 0 .3em; }
.crumb{ color:var(--muted); font-size:.8rem; text-transform:uppercase;
  letter-spacing:.08em; margin:0; }
.intro{ color:var(--text); }
.hall{ background:var(--card); border:1px solid var(--line);
  border-radius:var(--radius); padding:18px; margin:18px 0; }
.hall h2{ font-size:1.25rem; margin:.1em 0 .6em; }
table{ width:100%; border-collapse:collapse; margin:.4em 0 1em; font-size:.95rem; }
caption{ text-align:left; color:var(--muted); font-size:.85rem; padding:.2em 0 .5em; }
th,td{ text-align:left; padding:.5em .6em; border-bottom:1px solid var(--line); }
th{ color:var(--muted); font-weight:600; font-size:.8rem; text-transform:uppercase;
  letter-spacing:.04em; }
.included h4{ margin:.6em 0 .3em; font-size:.95rem; }
.included ul{ margin:0; padding-left:1.1em; }
.included .dim{ color:var(--muted); font-size:.85rem; }
.gallery{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin:.6em 0; }
.gallery img{ width:100%; height:160px; object-fit:cover; border-radius:10px;
  display:block; background:#0d1320; }
figure{ margin:0; }
figcaption{ color:var(--muted); font-size:.72rem; margin-top:4px; }
.media-links{ display:flex; flex-wrap:wrap; gap:8px; margin:.4em 0; }
.btn{ display:inline-block; padding:.55em .9em; border-radius:999px;
  border:1px solid var(--line); color:var(--text); font-size:.85rem; font-weight:600; }
.btn.tour,.btn.video{ background:#0d1320; }
.cta{ margin:1em 0 .2em; padding:16px; border-radius:var(--radius);
  background:linear-gradient(135deg,rgba(255,138,92,.16),rgba(255,138,92,.04));
  border:1px solid rgba(255,138,92,.4); }
.cta h3{ margin:.1em 0 .3em; font-size:1.05rem; }
.cta p{ margin:.2em 0 .8em; color:var(--muted); font-size:.9rem; }
.btn.primary{ background:var(--accent); color:#0a0e17; border-color:var(--accent); }
.disclosure{ margin-top:24px; padding-top:14px; border-top:1px solid var(--line);
  color:var(--muted); font-size:.85rem; }
.disclosure h2{ font-size:1rem; color:var(--text); }
.sources{ columns:2; column-gap:24px; padding-left:1.1em; }
.warn{ color:var(--accent); }
.dir{ columns:2; column-gap:24px; padding-left:1.1em; }
.state h2{ font-size:1.1rem; border-bottom:1px solid var(--line); padding-bottom:.2em; }
@media (min-width:620px){ .hero h1{ font-size:2.1rem; }
  .gallery{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:460px){ .gallery{ grid-template-columns:1fr; }
  .sources,.dir{ columns:1; } }
