/* ============================================================
   ADEN HOMEZ — Premium Student Residences
   Design tokens — bright / premium / youthful palette
   ============================================================ */
:root{
  --ink:        #FFF9F4;  /* page background — warm ivory */
  --panel:      #F8FAFC;  /* alternate section background */
  --panel-2:    #FFF1E2;  /* warm hover / highlight surface */
  --card:       #FFFFFF;  /* card surface */
  --hairline:   #F0DECB;  /* soft warm border / divider */

  --gold:       #FF6B35;  /* primary — sunset orange */
  --gold-brt:   #FFB703;  /* secondary — marigold */
  --gold-dim:   #E1531E;  /* deepened primary, for small text/icons */
  --teal:       #2EC4B6;  /* accent — used sparingly for variety */

  --cream:      #1F2937;  /* primary text (dark ink, on light bg) */
  --cream-dim:  #4B5563;  /* secondary text */
  --cream-mute: #6B7280;  /* muted text */
  --ok:         #2EC4B6;

  --scrim:      #241407; /* warm dark scrim, used ONLY over photos/video for legibility */

  --serif: "Fraunces", "Iowan Old Style", Georgia, serif;
  --sans:  "Inter", -apple-system, BlinkMacSystemFont, sans-serif;
  --mono:  "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;

  --max: 1240px;
  --pad: clamp(20px, 5vw, 64px);
  --radius: 16px;
  --radius-sm: 10px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}

body{
  margin:0;
  background:var(--ink);
  color:var(--cream);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
ul{margin:0; padding:0; list-style:none;}
h1,h2,h3,h4,p{margin:0;}

:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

.wrap{max-width:var(--max); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad);}

.eyebrow{
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  font-weight:600;
  color:var(--gold-dim);
  display:flex; align-items:center; gap:10px;
  margin-bottom:18px;
}
.eyebrow::before{content:""; width:26px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--gold),var(--gold-brt));}

h1,h2,h3{font-family:var(--serif); font-weight:600; color:var(--cream); letter-spacing:-0.01em;}

.section{padding:104px 0;}
.section-head{max-width:640px; margin-bottom:56px;}
.section-head p{color:var(--cream-dim); margin-top:16px; font-size:17px; max-width:520px;}
.section-title{font-size:clamp(32px,4.4vw,52px); line-height:1.05;}
.section-title em{font-style:italic; color:var(--gold); font-weight:500; background:linear-gradient(120deg,var(--gold),var(--gold-brt)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}

.divider{height:1px; background:var(--hairline); border:0; margin:0;}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 28px;
  font-family:var(--sans); font-weight:700; font-size:14.5px;
  letter-spacing:.02em;
  border-radius:100px;
  border:1px solid transparent;
  transition:transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
  white-space:nowrap;
}
.btn-gold{background:linear-gradient(120deg,var(--gold),var(--gold-brt)); color:#fff; box-shadow:0 10px 26px -10px rgba(255,107,53,.55);}
.btn-gold:hover{transform:translateY(-2px) scale(1.02); box-shadow:0 16px 36px -10px rgba(255,107,53,.65);}
.btn-line{border-color:var(--hairline); background:var(--card); color:var(--cream);}
.btn-line:hover{border-color:var(--gold); color:var(--gold-dim); transform:translateY(-2px);}
.btn-sm{padding:11px 20px; font-size:13px;}
.btn-wa{background:#25D366; color:#fff;}
.btn-wa:hover{transform:translateY(-2px) scale(1.02); box-shadow:0 14px 30px -10px rgba(37,211,102,.55);}

/* ============== NAV — floating capsule ============== */
.nav{
  position:fixed; top:16px; left:16px; right:16px; z-index:200;
  padding:14px 22px;
  display:flex; align-items:center; justify-content:space-between;
  transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-radius:100px;
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 8px 30px -14px rgba(31,41,55,.18);
  max-width:calc(var(--max) + 32px);
  margin:0 auto;
}
.nav.scrolled{
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 34px -14px rgba(31,41,55,.25);
}
.brand{font-family:var(--serif); font-size:21px; letter-spacing:.01em; display:flex; align-items:baseline; gap:6px; color:var(--cream);}
.brand span{color:var(--gold); font-style:italic;}
.nav-links{display:flex; align-items:center; gap:30px;}
.nav-links a{font-size:13.5px; font-weight:600; letter-spacing:.02em; color:var(--cream-dim); transition:color .2s;}
.nav-links a:hover{color:var(--gold-dim);}
.nav-cta{display:flex; align-items:center; gap:12px;}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:0; padding:6px; z-index:210;}
.burger span{width:22px; height:2px; border-radius:2px; background:var(--cream); transition:.3s;}

.mobile-menu{
  position:fixed; inset:0; background:var(--ink); z-index:199;
  display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:24px;
  padding:0 40px;
  transform:translateY(-100%); transition:transform .4s cubic-bezier(.7,0,.2,1);
}
.mobile-menu.open{transform:translateY(0);}
.mobile-menu a{font-family:var(--serif); font-size:30px; color:var(--cream);}
.mobile-menu .btn{margin-top:12px;}

/* ============== HERO (sits on photo/video — stays light text) ============== */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:flex-end;
  overflow:hidden; background:var(--scrim);
}
.hero-media{position:absolute; inset:0; z-index:0;}
.hero-media video, .hero-media img{width:100%; height:100%; object-fit:cover; opacity:.78;}
.hero-media::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(36,20,7,.35) 0%, rgba(36,20,7,.28) 32%, rgba(36,20,7,.82) 82%, var(--scrim) 100%),
    linear-gradient(100deg, rgba(255,107,53,.30) 0%, transparent 55%);
}
.hero-inner{position:relative; z-index:2; width:100%; padding:180px var(--pad) 76px;}
.hero-tag{
  font-family:var(--mono); text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:700;
  color:#fff; padding:9px 18px; border-radius:100px;
  display:inline-block; margin-bottom:28px;
  background:linear-gradient(120deg,var(--gold),var(--gold-brt));
  box-shadow:0 10px 26px -10px rgba(255,107,53,.6);
}
.hero h1{font-size:clamp(40px, 7vw, 88px); line-height:1.0; max-width:920px; color:#fff;}
.hero h1 em{font-style:italic; color:var(--gold-brt); font-weight:500;}
.hero-sub{color:rgba(255,249,244,.86); font-size:18px; max-width:520px; margin-top:26px;}
.hero-ctas{display:flex; gap:16px; margin-top:40px; flex-wrap:wrap;}
.hero .btn-line{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.55); color:#fff; backdrop-filter:blur(6px);}
.hero .btn-line:hover{border-color:#fff; background:rgba(255,255,255,.2); color:#fff;}
.hero-trust{display:flex; gap:36px; margin-top:64px; flex-wrap:wrap;}
.trust-item .num{font-family:var(--serif); font-size:30px; color:var(--gold-brt);}
.trust-item .lab{font-size:12.5px; color:rgba(255,249,244,.72); text-transform:uppercase; letter-spacing:.09em; margin-top:4px;}
.scroll-cue{position:absolute; right:var(--pad); bottom:34px; z-index:2; display:flex; flex-direction:column; align-items:center; gap:10px; color:rgba(255,249,244,.7);}
.scroll-cue .line{width:1px; height:44px; background:linear-gradient(180deg, var(--gold-brt), transparent); animation:scrollcue 1.8s ease-in-out infinite;}
@keyframes scrollcue{0%{opacity:0; transform:scaleY(.3); transform-origin:top;} 50%{opacity:1; transform:scaleY(1); transform-origin:top;} 100%{opacity:0; transform:scaleY(.3); transform-origin:bottom;}}

/* ============== MARQUEE ============== */
.marquee{border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); overflow:hidden; padding:18px 0; background:linear-gradient(120deg,var(--gold),var(--gold-brt));}
.marquee-track{display:flex; gap:60px; white-space:nowrap; animation:marquee 32s linear infinite; width:max-content;}
.marquee span{font-family:var(--mono); font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#fff;}
.marquee span em{color:#241407; font-style:normal;}
@keyframes marquee{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* ============== ABOUT ============== */
.about{background:var(--ink);}
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;}
.about-copy p{color:var(--cream-dim); font-size:17px; margin-bottom:18px;}
.about-copy p:first-of-type{font-size:20px; color:var(--cream); font-family:var(--serif); line-height:1.5;}
.diff-list{margin-top:32px; display:grid; gap:0;}
.diff-item{display:flex; gap:18px; padding:20px 0; border-bottom:1px solid var(--hairline);}
.diff-item:first-child{border-top:1px solid var(--hairline);}
.diff-num{font-family:var(--mono); color:var(--gold); font-weight:700; font-size:13px; padding-top:4px;}
.diff-item h4{font-family:var(--sans); font-size:16px; color:var(--cream); font-weight:700;}
.diff-item p{color:var(--cream-mute); font-size:14.5px; margin-top:6px;}

.about-visual{position:relative;}
.about-visual .frame-main{border-radius:var(--radius); overflow:hidden; box-shadow:0 30px 70px -20px rgba(31,41,55,.25);}
.about-visual .frame-main img{aspect-ratio:4/5; object-fit:cover;}
.about-visual .frame-float{
  position:absolute; width:52%; left:-14%; bottom:-40px; border:6px solid var(--card);
  box-shadow:0 24px 50px -12px rgba(31,41,55,.28); border-radius:var(--radius); overflow:hidden;
}
.about-visual .frame-float img{aspect-ratio:5/4; object-fit:cover;}
.founder-tag{
  position:absolute; top:24px; right:-18px; background:var(--card); border:1px solid var(--hairline);
  padding:14px 20px; max-width:220px; box-shadow:0 20px 40px -14px rgba(31,41,55,.22); border-radius:var(--radius-sm);
}
.founder-tag .name{font-family:var(--serif); font-size:16px; color:var(--gold-dim);}
.founder-tag .role{font-size:11.5px; color:var(--cream-mute); text-transform:uppercase; letter-spacing:.08em; margin-top:3px;}

/* ============== GALLERY — masonry ============== */
.gallery-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:220px; gap:14px;
}
.g-item{position:relative; overflow:hidden; border-radius:var(--radius); cursor:pointer; box-shadow:0 14px 30px -16px rgba(31,41,55,.2);}
.g-item img{width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.g-item:hover img{transform:scale(1.08);}
.g-item::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 50%, rgba(36,20,7,.72) 100%); opacity:0; transition:opacity .3s;}
.g-item:hover::after{opacity:1;}
.g-item .g-label{position:absolute; left:14px; bottom:14px; font-size:12.5px; font-weight:600; letter-spacing:.05em; color:#fff; opacity:0; transform:translateY(6px); transition:.3s; font-family:var(--mono);}
.g-item:hover .g-label{opacity:1; transform:translateY(0);}
.g-item.span-2{grid-column:span 2;}
.g-item.tall{grid-row:span 2;}

.lightbox{position:fixed; inset:0; background:rgba(20,12,4,.92); z-index:400; display:none; align-items:center; justify-content:center; padding:40px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw; max-height:84vh; object-fit:contain; border-radius:var(--radius); border:1px solid rgba(255,255,255,.15);}
.lightbox-close{position:absolute; top:28px; right:32px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; width:44px; height:44px; font-size:20px; border-radius:50%;}
.lightbox-nav{position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; width:48px; height:48px; font-size:20px; border-radius:50%;}
.lightbox-prev{left:24px;} .lightbox-next{right:24px;}

/* ============== COUNTERS ============== */
/* ============ TRUST & IMPACT STATS ============ */
.stats{
  position:relative;
  overflow:hidden;
  padding:104px 0;
  background:radial-gradient(120% 140% at 15% 0%, #2a1252 0%, #1a0b33 42%, #150826 100%);
  isolation:isolate;
}
.stats-wrap{position:relative; z-index:2;}

.stats-shapes{position:absolute; inset:0; z-index:1; pointer-events:none;}
.stat-shape{
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  opacity:.45;
  animation:statFloat 9s ease-in-out infinite;
}
.stat-shape.shape-a{width:320px; height:320px; top:-80px; left:-60px; background:radial-gradient(circle, #6A0DAD 0%, transparent 70%); animation-delay:0s;}
.stat-shape.shape-b{width:280px; height:280px; bottom:-100px; right:-40px; background:radial-gradient(circle, #FF6B35 0%, transparent 70%); animation-delay:2s;}
.stat-shape.shape-c{width:220px; height:220px; top:40%; left:50%; background:radial-gradient(circle, #F5B041 0%, transparent 70%); animation-delay:4s;}
@keyframes statFloat{
  0%,100%{transform:translateY(0) translateX(0) scale(1);}
  50%{transform:translateY(-26px) translateX(14px) scale(1.08);}
}

.stats-head{max-width:640px; margin:0 auto 56px; text-align:center;}
.eyebrow-light{color:var(--gold-brt); justify-content:center;}
.stats-title{color:#fff;}
.stats-sub{color:rgba(255,255,255,.68); margin-top:16px; font-size:17px;}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.stat-card{
  position:relative;
  overflow:hidden;
  padding:34px 22px;
  border-radius:20px;
  text-align:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease, border-color .4s ease;
}
.stat-card::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(135deg, var(--stat-1), var(--stat-2));
  opacity:.16;
  z-index:0;
  transition:opacity .4s ease;
}
.stat-glow{
  position:absolute; inset:-2px;
  border-radius:22px;
  background:linear-gradient(135deg, var(--stat-1), var(--stat-2));
  opacity:0;
  filter:blur(22px);
  z-index:0;
  transition:opacity .4s ease;
}
.stat-card:hover{
  transform:translateY(-8px) scale(1.03);
  border-color:rgba(255,255,255,.32);
  box-shadow:0 24px 48px -20px rgba(0,0,0,.5);
}
.stat-card:hover::before{opacity:.28;}
.stat-card:hover .stat-glow{opacity:.55;}

.stat-ico{
  position:relative; z-index:1;
  width:54px; height:54px;
  margin:0 auto 20px;
  border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--stat-1), var(--stat-2));
  color:#fff;
  box-shadow:0 12px 26px -10px rgba(0,0,0,.45);
}
.stat-ico svg{width:26px; height:26px;}

.stat-num{position:relative; z-index:1;}
.stat-num .counter-num{
  font-family:var(--serif);
  font-size:clamp(32px,4vw,46px);
  font-weight:600;
  color:#fff;
  background:linear-gradient(120deg, var(--stat-1), var(--stat-2));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.stat-lab{
  position:relative; z-index:1;
  margin-top:8px;
  font-size:13.5px;
  color:rgba(255,255,255,.72);
  text-transform:uppercase;
  letter-spacing:.06em;
}

.stats-cta{
  margin-top:64px;
  text-align:center;
}
.stats-cta p{
  font-size:19px;
  color:#fff;
  margin-bottom:24px;
}
.stats-cta p strong{
  background:linear-gradient(120deg,var(--gold),var(--gold-brt));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.stats-cta-btns{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.stats-btn-line{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.32); color:#fff;}
.stats-btn-line:hover{border-color:#fff; background:rgba(255,255,255,.16); color:#fff;}

@media (max-width:1000px){
  .stats-grid{grid-template-columns:1fr 1fr; gap:20px;}
}
@media (max-width:720px){
  .stats{padding:80px 0;}
  .stats-grid{grid-template-columns:1fr; gap:18px;}
  .stats-cta-btns{flex-direction:column; align-items:stretch;}
}
@media (prefers-reduced-motion: reduce){
  .stat-shape{animation:none;}
}

/* ============== ROOMS ============== */
.rooms{background:var(--panel);}
.room-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.room-card{
  background:var(--card); border:1px solid var(--hairline); display:flex; flex-direction:column;
  border-radius:var(--radius); overflow:hidden;
  transition:border-color .3s, transform .3s, box-shadow .3s;
}
.room-card:hover{border-color:var(--gold); transform:translateY(-6px); box-shadow:0 22px 44px -18px rgba(31,41,55,.22);}
.room-card.featured{border-color:var(--gold); box-shadow:0 22px 44px -18px rgba(255,107,53,.22);}
.room-media{position:relative; aspect-ratio:5/4; overflow:hidden;}
.room-media img{width:100%; height:100%; object-fit:cover;}
.room-badge{position:absolute; top:16px; left:16px; background:linear-gradient(120deg,var(--gold),var(--gold-brt)); color:#fff; font-family:var(--mono); font-weight:700; font-size:11px; letter-spacing:.08em; text-transform:uppercase; padding:6px 14px; border-radius:100px;}
.room-body{padding:26px 26px 30px;}
.room-body h3{font-size:23px; margin-bottom:8px;}
.room-tagline{font-size:13.5px; color:var(--cream-mute); font-style:italic; margin-bottom:14px; line-height:1.4;}
.room-body .price{font-family:var(--mono); color:var(--gold-dim); font-weight:700; font-size:17px; margin-bottom:16px; display:flex; flex-direction:column; gap:3px;}
.room-body .price-lab{font-size:11px; font-weight:600; color:var(--cream-mute); text-transform:uppercase; letter-spacing:.07em;}
.room-feats{display:grid; gap:9px; margin-bottom:22px;}
.room-feats li{display:flex; gap:10px; font-size:13.5px; color:var(--cream-dim); align-items:flex-start;}
.room-feats li::before{content:"✓"; color:var(--teal); font-weight:700; flex-shrink:0;}

/* ============== AMENITIES ============== */
.amenities{background:var(--ink);}
.amen-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:16px;}
.amen-card{background:var(--card); border:1px solid var(--hairline); border-radius:var(--radius); padding:30px 24px; transition:transform .3s, box-shadow .3s, border-color .3s;}
.amen-card:hover{transform:translateY(-4px); border-color:var(--gold); box-shadow:0 18px 36px -18px rgba(255,107,53,.25);}
.amen-ico{width:46px; height:46px; border-radius:14px; background:linear-gradient(135deg,var(--gold),var(--gold-brt)); font-family:var(--serif); font-style:italic; font-weight:600; font-size:18px; color:#fff; margin-bottom:18px; display:flex; align-items:center; justify-content:center;}
.amen-card h4{font-size:15px; color:var(--cream); font-weight:700; margin-bottom:6px;}
.amen-card p{font-size:13px; color:var(--cream-mute);}

/* ============== OUR RESIDENCES (properties) ============== */
.residences{background:var(--panel);}
.res-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px;}
.res-card{
  background:var(--card); border:1px solid var(--hairline); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .3s, box-shadow .3s;
}
.res-card:hover{transform:translateY(-5px); box-shadow:0 24px 48px -20px rgba(31,41,55,.22);}

/* Image block — purely visual, holds NO text. All copy lives in .res-body below. */
.res-shots{position:relative; display:grid; grid-template-columns:1.5fr 1fr; gap:3px; height:230px; flex-shrink:0;}
.res-shots img{width:100%; height:100%; object-fit:cover; display:block;}
.res-shots .stack{display:grid; grid-template-rows:1fr 1fr; gap:3px;}

/* Content panel — solid card background, always below the image, never on top of it */
.res-body{
  position:relative; z-index:1; background:var(--card);
  padding:28px 28px 24px; display:flex; flex-direction:column; flex:1;
}
.res-body h3{font-size:24px; line-height:1.15; margin-bottom:8px;}
.res-addr{
  display:flex; align-items:center; gap:7px;
  font-family:var(--mono); font-size:12.5px; font-weight:600;
  color:var(--gold-dim); margin-bottom:16px;
}
.res-addr .pin{font-size:13px; flex-shrink:0;}
.res-desc{font-size:14.5px; line-height:1.55; color:var(--cream-dim); margin-bottom:20px;}
.res-feats{display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; margin-bottom:24px;}
.res-feats li{display:flex; gap:9px; font-size:13.5px; color:var(--cream-dim); align-items:center; line-height:1.3;}
.res-feats li::before{
  content:"✓"; color:#fff; font-weight:700; font-size:10px; flex-shrink:0;
  width:17px; height:17px; border-radius:50%; background:var(--teal);
  display:flex; align-items:center; justify-content:center;
}
.res-ctas{display:flex; gap:10px; flex-wrap:wrap; margin-top:auto; padding-top:20px; border-top:1px solid var(--hairline);}
.res-ctas .btn{flex:1; min-width:130px;}

/* ============== LOCATION / COLLEGE PROXIMITY RADAR ============== */
.location{background:var(--ink);}
.loc-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
.loc-copy p{color:var(--cream-dim); font-size:16.5px; margin-bottom:24px;}
.prop-toggle{display:flex; gap:8px; margin-bottom:30px; flex-wrap:wrap;}
.prop-toggle button{
  background:var(--card); border:1px solid var(--hairline); color:var(--cream-mute); padding:10px 16px; font-size:12.5px; font-weight:600; font-family:var(--sans);
  border-radius:100px; transition:.25s;
}
.prop-toggle button.active{border-color:var(--gold); color:#fff; background:linear-gradient(120deg,var(--gold),var(--gold-brt));}
.college-list{display:grid; gap:0; margin-bottom:28px;}
.college-list li{display:flex; justify-content:space-between; padding:13px 0; border-bottom:1px solid var(--hairline); font-size:14.5px;}
.college-list li span:first-child{color:var(--cream); font-weight:500;}
.college-list li span:last-child{font-family:var(--mono); color:var(--gold-dim); font-weight:600; font-size:13px;}

.radar-wrap{position:relative; display:flex; align-items:center; justify-content:center;}
.radar-wrap svg{width:100%; height:auto; max-width:460px;}
.radar-center{font-family:var(--serif); font-style:italic;}
.radar-ring{fill:none; stroke:var(--hairline); stroke-width:1;}
.radar-label{font-family:var(--mono); font-size:10px; fill:var(--cream-mute); letter-spacing:.04em;}
.radar-node circle{fill:var(--gold);}
.radar-node text{font-family:var(--sans); font-size:12px; font-weight:500; fill:var(--cream);}
.radar-node .dist{font-family:var(--mono); fill:var(--gold-dim); font-weight:600; font-size:10.5px;}

/* ============== STUDENT LIFE / VIDEO (sits on video — stays light text) ============== */
.life{position:relative; background:var(--ink); overflow:hidden;}
.life-media{position:relative; width:100%; aspect-ratio:21/9; overflow:hidden; border-radius:var(--radius); margin:0 var(--pad); width:calc(100% - 2*var(--pad));}
.life-media video{width:100%; height:100%; object-fit:cover;}
.life-media::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(36,20,7,.82), transparent 45%);}
.life-caption{position:absolute; left:36px; bottom:32px; max-width:560px; z-index:2;}
.life-caption h2{font-size:clamp(24px,3.2vw,38px); color:#fff;}
.life-play{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:3; width:76px; height:76px; border-radius:50%; border:1px solid rgba(255,255,255,.55); background:rgba(36,20,7,.35); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; transition:.3s;}
.life-play:hover{border-color:var(--gold-brt); background:rgba(255,107,53,.35);}
.life-play svg{margin-left:4px;}

/* ============== SAFETY ============== */
.safety{background:var(--panel);}
.safety-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center;}
.safety-list{display:grid; gap:22px;}
.safety-row{display:flex; gap:20px; align-items:flex-start; padding-bottom:22px; border-bottom:1px solid var(--hairline);}
.safety-row:last-child{border:0; padding-bottom:0;}
.safety-mark{width:40px; height:40px; border-radius:12px; background:linear-gradient(135deg,var(--gold),var(--gold-brt)); flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#fff; font-family:var(--serif); font-style:italic; font-weight:600;}
.safety-row h4{font-size:16.5px; color:var(--cream); margin-bottom:5px;}
.safety-row p{font-size:14px; color:var(--cream-mute);}
.safety-visual{position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:var(--radius); box-shadow:0 24px 50px -20px rgba(31,41,55,.22);}
.safety-visual img{width:100%; height:100%; object-fit:cover;}
.safety-quote{position:absolute; left:20px; right:20px; bottom:20px; background:rgba(255,255,255,.9); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.7); padding:22px 24px; border-radius:var(--radius-sm); box-shadow:0 14px 30px -14px rgba(31,41,55,.25);}
.safety-quote p{font-family:var(--serif); font-style:italic; font-size:17px; color:var(--cream);}
.safety-quote span{display:block; margin-top:10px; font-family:var(--mono); font-size:11.5px; color:var(--gold-dim); font-weight:700; text-transform:uppercase; letter-spacing:.06em;}

/* ============== TESTIMONIALS ============== */
.testi{background:var(--ink);}
.testi-track-wrap{overflow:hidden; position:relative;}
.testi-track{display:flex; gap:24px; transition:transform .5s cubic-bezier(.6,0,.25,1);}
.testi-card{
  flex:0 0 calc(33.333% - 16px); background:var(--card); border:1px solid var(--hairline); padding:30px 28px; display:flex; flex-direction:column; justify-content:space-between; min-height:230px;
  border-radius:var(--radius); box-shadow:0 14px 30px -18px rgba(31,41,55,.15);
}
.testi-stars{color:var(--gold-brt); font-size:13px; margin-bottom:16px; letter-spacing:2px;}
.testi-card p{color:var(--cream-dim); font-size:15px; line-height:1.65;}
.testi-who{display:flex; align-items:center; gap:12px; margin-top:22px;}
.testi-avatar{width:38px; height:38px; border-radius:50%; background:linear-gradient(140deg,var(--gold),var(--gold-brt)); display:flex; align-items:center; justify-content:center; font-family:var(--serif); color:#fff; font-size:15px; font-weight:600;}
.testi-who .n{font-size:14px; color:var(--cream); font-weight:600;}
.testi-who .r{font-size:11.5px; color:var(--cream-mute);}
.testi-controls{display:flex; gap:12px; margin-top:36px; justify-content:flex-end;}
.testi-controls button{width:46px; height:46px; border:1px solid var(--hairline); background:var(--card); color:var(--cream); border-radius:50%; transition:.25s;}
.testi-controls button:hover{border-color:var(--gold); color:var(--gold-dim);}

/* ============== FAQ ============== */
.faq{background:var(--panel);}
.faq-list{max-width:820px;}
.faq-item{border-bottom:1px solid var(--hairline);}
.faq-item:first-child{border-top:1px solid var(--hairline);}
.faq-q{width:100%; background:none; border:0; text-align:left; padding:24px 4px; display:flex; justify-content:space-between; align-items:center; gap:20px;}
.faq-q h4{font-family:var(--serif); font-size:19px; color:var(--cream); font-weight:500;}
.faq-q .plus{font-family:var(--mono); color:var(--gold); font-size:20px; transition:transform .3s; flex-shrink:0;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .35s ease;}
.faq-a p{color:var(--cream-mute); font-size:15px; padding:0 4px 24px; max-width:640px;}

/* ============== CONTACT ============== */
.contact{background:var(--ink);}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
.field{display:flex; flex-direction:column; gap:8px; margin-bottom:16px;}
.field label{font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--cream-mute);}
.field input, .field select, .field textarea{
  background:var(--card); border:1px solid var(--hairline); border-radius:var(--radius-sm); color:var(--cream); padding:13px 16px; font-family:var(--sans); font-size:14.5px;
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--gold); outline:none;}
.field textarea{resize:vertical; min-height:96px;}

.contact-info{display:flex; flex-direction:column; gap:0;}
.info-row{display:flex; gap:18px; padding:20px 0; border-bottom:1px solid var(--hairline); align-items:flex-start;}
.info-row:first-child{border-top:1px solid var(--hairline);}
.info-ico{font-family:var(--serif); font-style:italic; font-weight:600; color:#fff; font-size:15px; width:32px; height:32px; border-radius:10px; background:linear-gradient(135deg,var(--gold),var(--gold-brt)); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.info-row h4{font-size:14px; color:var(--cream-mute); text-transform:uppercase; letter-spacing:.06em; margin-bottom:6px;}
.info-row a, .info-row p{font-size:16px; color:var(--cream);}
.map-embed{margin-top:24px; border:1px solid var(--hairline); border-radius:var(--radius); aspect-ratio:16/9; overflow:hidden;}
.map-embed iframe{width:100%; height:100%; border:0;}

/* ============== FOOTER ============== */
.footer{background:#2A1608; border-top:1px solid var(--hairline); padding:72px 0 28px; color:#F4EBDF;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:48px; margin-bottom:64px;}
.footer .brand{color:#F4EBDF;}
.footer-brand p{color:rgba(244,235,223,.65); font-size:14px; max-width:280px;}
.footer-social{display:flex; gap:14px; margin-top:26px;}
.footer-social a{width:40px; height:40px; border:1px solid rgba(244,235,223,.2); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:.25s;}
.footer-social a:hover{border-color:var(--gold-brt); color:var(--gold-brt);}
.footer-col h5{font-size:12.5px; text-transform:uppercase; letter-spacing:.09em; color:var(--gold-brt); margin-bottom:20px;}
.footer-col ul{display:grid; gap:12px;}
.footer-col a, .footer-col li{font-size:14.5px; color:rgba(244,235,223,.72);}
.footer-col a:hover{color:var(--gold-brt);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:28px; border-top:1px solid rgba(244,235,223,.15); font-size:12.5px; color:rgba(244,235,223,.55); flex-wrap:wrap; gap:12px;}

/* ============== WEEKLY MENU ============== */
.menu{background:var(--panel);}
.day-toggle{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:36px;}
.day-toggle button{
  background:var(--card); border:1px solid var(--hairline); color:var(--cream-mute); padding:11px 20px; font-size:13px; font-weight:600; font-family:var(--sans);
  border-radius:100px; transition:.25s;
}
.day-toggle button.active{border-color:var(--gold); color:#fff; background:linear-gradient(120deg,var(--gold),var(--gold-brt)); box-shadow:0 10px 24px -12px rgba(255,107,53,.5);}
.menu-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.menu-card{background:var(--card); border:1px solid var(--hairline); border-radius:var(--radius); padding:24px 22px;}
.menu-card .meal-label{display:flex; align-items:center; gap:10px; margin-bottom:16px;}
.menu-card .meal-ico{width:34px; height:34px; border-radius:10px; background:linear-gradient(135deg,var(--gold),var(--gold-brt)); flex-shrink:0; display:flex; align-items:center; justify-content:center; color:#fff; font-family:var(--serif); font-style:italic; font-size:14px; font-weight:600;}
.menu-card h4{font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:var(--cream-mute); font-weight:700;}
.menu-card ul{display:grid; gap:9px;}
.menu-card li{font-size:14.5px; color:var(--cream); display:flex; gap:8px; align-items:flex-start;}
.menu-card li::before{content:"—"; color:var(--gold); flex-shrink:0;}
.menu-note{margin-top:24px; font-size:13.5px; color:var(--cream-mute);}
@media (max-width:1000px){.menu-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:720px){.menu-grid{grid-template-columns:1fr;}}

/* ============== FLOATING WHATSAPP ============== */
.wa-float{
  position:fixed; bottom:26px; right:26px; z-index:150; width:58px; height:58px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 30px -8px rgba(37,211,102,.6);
  transition:transform .25s;
}
.wa-float:hover{transform:scale(1.08);}

/* ============== REVEAL ANIM ============== */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1; transform:translateY(0);}

/* ============== RESPONSIVE ============== */
@media (max-width:1000px){
  .about-grid, .loc-grid, .safety-grid, .contact-grid{grid-template-columns:1fr; gap:48px;}
  .room-cards{grid-template-columns:1fr 1fr;}
  .amen-grid{grid-template-columns:repeat(2,1fr);}
  .res-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:180px;}
  .footer-grid{grid-template-columns:1fr 1fr; gap:36px;}
  .testi-card{flex:0 0 calc(50% - 12px);}
}
@media (max-width:720px){
  .nav{left:10px; right:10px; top:10px; padding:10px 16px;}
  .nav-links, .nav-cta .btn-line{display:none;}
  .burger{display:flex;}
  .section{padding:72px 0;}
  .room-cards{grid-template-columns:1fr;}
  .amen-grid{grid-template-columns:1fr 1fr;}
  .res-feats{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .hero-inner{padding-top:130px;}
  .hero-trust{gap:24px;}
  .testi-card{flex:0 0 100%;}
  .about-visual .frame-float{display:none;}
  .founder-tag{position:static; margin-top:16px; max-width:100%;}
  .life-media{margin:0 16px; width:calc(100% - 32px);}
}
