@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,700;1,400&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&display=swap');

/* ─── TOKENS ─────────────────────────────────── */
:root {
  --pine:   #EAF7FC;
  --forest: #D9EFF8;
  --mid:    #A9D9EA;
  --gold:   #16739A;
  --cream:  #082E42;
  --sand:   rgba(8,46,66,.64);
  --ink:    #062638;
  --line:   rgba(8,46,66,.13);
  --ease:   cubic-bezier(0.25,1,0.5,1);
}

/* ─── RESET ──────────────────────────────────── */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--ink); color:var(--cream);
       font-family:'Plus Jakarta Sans',sans-serif; -webkit-font-smoothing:antialiased; }
body { overflow-x:hidden; }
body.is-loading { overflow:hidden; }
img  { display:block; max-width:100%; height:auto; }
a    { color:inherit; text-decoration:none; }
button { cursor:pointer; border:none; background:none; font:inherit; color:inherit; }

.scroll-progress {
  position:fixed; z-index:10001; top:0; left:0; right:0; height:2px;
  background:rgba(240,235,225,.08); pointer-events:none;
}
.scroll-progress span {
  display:block; width:0; height:100%; transform-origin:left;
  background:linear-gradient(90deg,var(--gold),#f0dfbd); box-shadow:0 0 14px rgba(200,169,110,.8);
}

/* ─── LOADER ─────────────────────────────────── */
/* ─── POST-LOADER GLASS DOORS ─────────────────────────────── */
.door-reveal {
  position:fixed; inset:0; z-index:9000;
  overflow:hidden; pointer-events:none;
  perspective:1400px;
  --left-door-x:0%;
  --right-door-x:0%;
  --brand-opacity:1;
  --cream:#F7FCFF;
  --gold:#78C9E6;
}
.door-reveal__panel {
  position:absolute; z-index:1; top:0; bottom:0; width:50.08%;
  border:clamp(7px,1vw,14px) solid #082E42;
  background:rgba(204,235,246,.18);
  box-shadow:inset 0 0 0 1px rgba(240,235,225,.24), 0 0 60px rgba(0,0,0,.48);
  overflow:hidden;
  will-change:transform;
  transition:transform .16s linear, box-shadow .5s ease;
}
.door-reveal__panel--left {
  left:0; border-left-width:clamp(10px,1.4vw,20px);
  transform:translate3d(var(--left-door-x),0,0);
}
.door-reveal__panel--right {
  right:0; border-right-width:clamp(10px,1.4vw,20px);
  transform:translate3d(var(--right-door-x),0,0);
}
.door-reveal__glass {
  position:absolute; inset:0;
  background:
    linear-gradient(112deg, transparent 12%, rgba(255,255,255,.22) 31%, transparent 48%),
    linear-gradient(90deg, rgba(6,38,56,.34), rgba(220,246,255,.14));
  backdrop-filter:blur(5px) saturate(.72);
  -webkit-backdrop-filter:blur(5px) saturate(.72);
}
.door-reveal__glass::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(105deg, transparent 36%, rgba(255,255,255,.18) 36.5%, transparent 37.5%);
  transform:translateX(-45%);
  animation:glass-shimmer 1.8s ease-in-out .25s both;
}
.door-reveal__rail {
  position:absolute; z-index:2; left:0; right:0; height:clamp(10px,1.3vw,18px);
  background:linear-gradient(90deg,#062638,#174B65 45%,#062638);
  transition:opacity .55s ease .8s;
}
.door-reveal__rail--top { top:0; }
.door-reveal__rail--bottom { bottom:0; }
.door-reveal__caption {
  position:absolute; z-index:3; left:50%; bottom:clamp(2rem,5vw,4rem);
  transform:translateX(-50%); white-space:nowrap;
  color:rgba(240,235,225,.82); font-size:.64rem; font-weight:700;
  letter-spacing:.28em; text-transform:uppercase;
  transition:opacity .35s ease, transform .55s var(--ease);
}
.door-reveal__brand {
  position:absolute; z-index:4; top:50%; left:50%;
  width:min(78vw,360px); text-align:center;
  transform:translate(-50%,-50%);
  opacity:var(--brand-opacity);
  transition:opacity .14s linear,transform .65s var(--ease);
}
.door-reveal__logo {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.5rem,6vw,4.5rem); font-weight:400;
  line-height:1; letter-spacing:.24em; text-indent:.24em;
  text-transform:uppercase; color:var(--cream);
  text-shadow:0 5px 24px rgba(0,0,0,.42);
}
.door-reveal__byline {
  margin-top:.75rem; color:var(--gold);
  font-size:.66rem; font-weight:700; letter-spacing:.32em;
  text-transform:uppercase;
}
.door-reveal.is-opening .door-reveal__panel--left {
  transform:translate3d(-101%,0,0);
  box-shadow:20px 0 70px rgba(0,0,0,.25);
}
.door-reveal.is-opening .door-reveal__panel--right {
  transform:translate3d(101%,0,0);
  box-shadow:-20px 0 70px rgba(0,0,0,.25);
}
.door-reveal.is-opening .door-reveal__rail { opacity:0; }
.door-reveal.is-opening .door-reveal__caption { opacity:0; transform:translate(-50%,12px); }
.door-reveal.is-opening .door-reveal__brand { opacity:0; transform:translate(-50%,-44%); }
.door-reveal.is-complete { visibility:hidden; }

@keyframes glass-shimmer {
  from { transform:translateX(-70%); opacity:0; }
  35% { opacity:1; }
  to { transform:translateX(75%); opacity:0; }
}

/* ─── PILL NAV ───────────────────────────────── */
.nav {
  position:fixed; top:1.25rem; left:50%; transform:translateX(-50%);
  z-index:1000; width:min(92%,1080px); height:58px;
  background:rgba(234,247,252,.76); backdrop-filter:blur(24px) saturate(1.6);
  -webkit-backdrop-filter:blur(24px) saturate(1.6);
  border:1px solid rgba(8,46,66,.14); border-radius:100px;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 1.25rem;
  transition:border-color .3s,box-shadow .3s,background .3s;
  opacity:0; translate:0 -18px;
  transition:opacity .8s ease,translate .8s var(--ease),border-color .3s,box-shadow .3s,background .3s;
}
body.site-ready .nav { opacity:1; translate:0 0; }
.nav.scrolled {
  background:rgba(234,247,252,.94);
  border-color:rgba(22,115,154,.34);
  box-shadow:0 16px 48px rgba(0,0,0,.45);
}

.nav__left  { display:flex; align-items:center; gap:1rem; }
.nav__right { display:flex; align-items:center; gap:.85rem; }

/* Hamburger MENU button */
.nav__menu {
  display:flex; align-items:center; gap:8px;
  font-size:.68rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  color:var(--sand); transition:color .2s; padding:6px 4px;
}
.nav__menu:hover { color:var(--cream); }
.nav__menu-icon { display:flex; flex-direction:column; gap:4px; width:16px; }
.nav__menu-icon span {
  display:block; height:1px; background:currentColor;
  transition:transform .35s ease,opacity .35s ease;
}

.nav__brand {
  position:absolute; left:50%; transform:translateX(-50%);
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem; font-weight:400; letter-spacing:.22em;
  text-transform:uppercase; color:var(--cream);
  white-space:nowrap; transition:color .2s;
}
.nav__brand:hover { color:var(--gold); }

.nav__link {
  font-size:.68rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--sand);
  transition:color .2s; padding:4px 2px;
}
.nav__link:hover { color:var(--cream); }

.nav__cta {
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 18px; border-radius:100px;
  border:1px solid rgba(240,235,225,.22);
  font-size:.68rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  color:var(--cream); transition:all .25s var(--ease);
  white-space:nowrap;
}
.nav__cta:hover { background:var(--gold); color:var(--ink); border-color:var(--gold); }

/* ─── HERO ───────────────────────────────────── */
.hero {
  position:relative; height:100svh; min-height:500px;
  display:flex; flex-direction:column;
  /* NO justify-content:flex-end — use margin-top:auto on content instead */
  padding:max(6rem,14vh) clamp(1.5rem,5vw,5rem) clamp(3rem,5vw,5rem);
  overflow:hidden;
  --cream:#F7FCFF;
  --sand:rgba(247,252,255,.76);
  --line:rgba(247,252,255,.16);
}
.hero::before {
  content:''; position:absolute; z-index:1; inset:-20%; pointer-events:none;
  background:radial-gradient(circle at var(--hero-light-x,70%) var(--hero-light-y,25%),rgba(242,222,177,.2),transparent 22%);
  opacity:.7; mix-blend-mode:screen; transition:background-position .18s ease;
}
.hero__bg { position:absolute; inset:0; }
.hero__bg img {
  width:100%; height:100%; object-fit:cover; object-position:center;
  transform:translate3d(0,var(--hero-shift,0px),0) scale(1.08);
  transition:transform 2.2s var(--ease);
}
body.site-ready .hero__bg img { transform:translate3d(0,var(--hero-shift,0px),0) scale(1); }
.hero__bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top,
    rgba(4,31,48,.94) 0%,
    rgba(4,31,48,.46) 50%,
    rgba(4,31,48,.16) 100%);
}
.hero__content {
  position:relative; z-index:2;
  margin-top:auto; /* push to bottom, padding-top acts as hard ceiling */
}
.hero__eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  padding:5px 14px; border-radius:100px;
  border:1px solid var(--line);
  font-size:.68rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.25rem;
  backdrop-filter:blur(10px); background:rgba(14,22,15,.4);
}
.hero__eyebrow-dot { width:5px; height:5px; border-radius:50%; background:var(--gold); flex-shrink:0; }
.hero__title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.8rem,6vw,6rem);
  font-weight:300; line-height:1.02; letter-spacing:.01em;
  text-transform:uppercase; color:var(--cream);
  max-width:920px;
  opacity:0; transform:translateY(30px);
  transition:opacity 1s ease, transform 1s ease;
}
.hero__title.visible { opacity:1; transform:translateY(0); }
.hero__title .hero-word {
  display:inline-block; margin-right:.18em; opacity:0;
  transform:translateY(105%) rotate(2deg); filter:blur(8px);
  transition:opacity .7s ease,transform .9s var(--ease),filter .7s ease;
}
body.hero-words-ready .hero__title .hero-word {
  opacity:1; transform:translateY(0) rotate(0); filter:blur(0);
}

.hero__sub {
  font-size:clamp(.9rem,1.3vw,1.1rem);
  color:var(--sand); line-height:1.7;
  max-width:560px; margin-top:1.25rem;
  opacity:0; transform:translateY(20px);
  transition:opacity .9s ease .22s,transform .9s var(--ease) .22s;
}
.hero__actions {
  display:flex; align-items:center; gap:1rem;
  margin-top:2rem; flex-wrap:wrap;
  opacity:0; transform:translateY(20px);
  transition:opacity .9s ease .38s,transform .9s var(--ease) .38s;
}
.hero__details {
  position:absolute; z-index:2; top:50%; right:clamp(1.5rem,5vw,5rem);
  display:flex; flex-direction:column; gap:.55rem; align-items:flex-end;
  color:rgba(240,235,225,.62); font-size:.61rem; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase; writing-mode:vertical-rl;
  transform:translateY(-50%); opacity:0;
  transition:opacity .9s ease .7s;
}
.hero__details span:last-child { color:var(--gold); }
.hero__scroll-cue {
  position:absolute; z-index:2; right:clamp(1.5rem,5vw,5rem); bottom:clamp(2rem,5vw,4rem);
  display:flex; align-items:center; gap:.75rem; color:rgba(240,235,225,.6);
  font-size:.6rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  opacity:0; transition:opacity .9s ease .9s;
}
.hero__scroll-cue i { display:block; position:relative; width:42px; height:1px; background:rgba(240,235,225,.32); overflow:hidden; }
.hero__scroll-cue i::after { content:''; position:absolute; inset:0; background:var(--gold); animation:scroll-cue 1.8s ease-in-out infinite; }
body.site-ready .hero__details,body.site-ready .hero__scroll-cue { opacity:1; }

@keyframes scroll-cue {
  from { transform:translateX(-105%); }
  55%,to { transform:translateX(105%); }
}
body.site-ready .hero__sub,
body.site-ready .hero__actions { opacity:1; transform:translateY(0); }

/* ── Reveal on scroll ─── */
.reveal {
  opacity:0; transform:translateY(36px);
  transition:opacity .75s ease, transform .75s ease;
}
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }
.reveal-delay-5 { transition-delay:.5s; }

/* ─── PAGE MOTION ─────────────────────────────────────────── */
.intro__frames.reveal .intro__frame {
  opacity:0; transform:translateY(46px) scale(.94);
  transition:opacity 1s ease,transform 1.1s var(--ease);
}
.intro__frames.reveal .intro__frame--short { transition-delay:.08s; }
.intro__frames.reveal .intro__frame--tall { transition-delay:.2s; }
.intro__frames.reveal.visible .intro__frame {
  opacity:1; transform:translateY(0) scale(1);
}
.intro__frames.reveal.visible .intro__frame--tall { transform:translateY(-1.5rem) scale(1); }

.card.reveal {
  transform:translateY(64px) scale(.96);
  filter:blur(10px);
  transition:opacity .8s ease,transform .95s var(--ease),filter .8s ease,
    border-color .3s,box-shadow .3s;
}
.card.reveal.visible { transform:translateY(0) scale(1); filter:blur(0); }
.card.reveal.visible:hover { transform:translateY(-6px) scale(1.01); }
.card.reveal.visible .card__img img { animation:card-image-in 1.25s var(--ease) both; }

.motion-lift {
  opacity:0; transform:translateY(40px); filter:blur(6px);
  transition:opacity .85s ease,transform .95s var(--ease),filter .8s ease;
}
.motion-lift.visible { opacity:1; transform:translateY(0); filter:blur(0); }

@keyframes card-image-in {
  from { transform:scale(1.13); }
  to { transform:scale(1); }
}


/* ─── BUTTONS ────────────────────────────────── */
.btn-primary {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 28px; border-radius:100px;
  background:var(--gold); color:var(--ink);
  font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  transition:all .25s var(--ease);
}
.btn-primary { color:#fff; }
.btn-primary:hover { background:#238FBC; transform:translateY(-2px); box-shadow:0 8px 24px rgba(22,115,154,.3); }

.btn-ghost {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 28px; border-radius:100px;
  border:1px solid rgba(240,235,225,.2); color:var(--cream);
  font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  backdrop-filter:blur(8px); transition:all .25s var(--ease);
}
.btn-ghost:hover { border-color:var(--cream); background:rgba(240,235,225,.08); }

/* ─── INTRO SPLIT SECTION ────────────────────── */
.intro {
  padding:clamp(5rem,10vw,10rem) clamp(1.5rem,5vw,5rem);
  background:radial-gradient(ellipse 120% 100% at 90% 90%, var(--mid) 0%, var(--pine) 58%, #F8FDFF 100%);
  position:relative; overflow:hidden;
}
.intro::before,.systems::before,.inquiry::before {
  content:''; position:absolute; z-index:1; top:0; left:0; width:100%; height:1px;
  transform:scaleX(0); transform-origin:left;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  transition:transform 1.4s var(--ease);
}
.intro.is-in-view::before,.systems.is-in-view::before,.inquiry.is-in-view::before { transform:scaleX(1); }
.intro__leaf {
  position:absolute; top:0; right:-8%;
  width:60%; height:100%; object-fit:cover; object-position:center;
  opacity:.18; mix-blend-mode:multiply; pointer-events:none;
  filter:saturate(0);
}
.intro__grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
  position:relative; z-index:1;
}
.intro__kicker {
  font-size:.7rem; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold); margin-bottom:1rem;
}
.intro__h {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,4.5vw,4rem);
  font-weight:300; line-height:1.1; text-transform:uppercase; color:var(--cream);
}
.intro__p {
  font-size:clamp(.9rem,1.2vw,1.05rem);
  color:var(--sand); line-height:1.75; margin-top:1.25rem;
}
.stat-number {
  font-size:clamp(1.6rem,3vw,2.4rem); font-family:'Cormorant Garamond',serif;
  font-weight:300; color:var(--cream); font-variant-numeric:tabular-nums;
}
.intro__link {
  display:inline-flex; align-items:center; gap:.6rem; margin-top:1.75rem;
  font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold); transition:gap .2s;
}
.intro__link:hover { gap:.95rem; }
.intro__frames { display:flex; gap:1.5rem; align-items:flex-end; }
.intro__frame {
  border-radius:clamp(8px,2vw,20px); overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 24px 64px rgba(0,0,0,.5);
}
.intro__frame--tall {
  flex:1; aspect-ratio:.72/1;
}
.intro__frame--short {
  flex:0 0 42%; aspect-ratio:.8/1;
  margin-bottom:clamp(2rem,4vw,4rem);
}
.intro__frame img { width:100%; height:100%; object-fit:cover; }

/* ─── SYSTEMS ────────────────────────────────── */
.systems {
  padding:clamp(5rem,9vw,10rem) clamp(1.5rem,5vw,5rem);
  background:var(--pine);
  border-top:1px solid var(--line);
  position:relative;
}
.section-top {
  display:flex; justify-content:space-between; align-items:flex-end;
  flex-wrap:wrap; gap:2rem;
  padding-bottom:2.5rem; border-bottom:1px solid var(--line);
  margin-bottom:3rem;
}
.section-kicker {
  font-size:.7rem; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold); margin-bottom:.6rem;
}
.section-h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,4vw,3.8rem);
  font-weight:300; text-transform:uppercase; color:var(--cream); line-height:1;
}
.section-p { font-size:.92rem; color:var(--sand); max-width:380px; line-height:1.7; }

.card-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.card {
  background:var(--forest); border:1px solid var(--line);
  border-radius:.75rem; overflow:hidden;
  display:flex; flex-direction:column;
  transition:border-color .3s,transform .3s,box-shadow .3s;
}
.card:hover {
  border-color:rgba(200,169,110,.3);
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.card.is-tilting { transition:box-shadow .2s ease,border-color .2s ease; }
.card__img { position:relative; height:240px; overflow:hidden; }
.card__img img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .8s ease;
}
.card:hover .card__img img { transform:scale(1.05); }
.card__tag {
  position:absolute; top:.85rem; left:.85rem;
  background:rgba(14,22,15,.85); backdrop-filter:blur(8px);
  padding:4px 10px; border-radius:4px;
  font-size:.63rem; font-weight:700; letter-spacing:.15em;
  text-transform:uppercase; color:var(--gold);
  border:1px solid var(--line);
}
.card__body { padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.card__sys  { font-size:.63rem; font-weight:700; letter-spacing:.18em;
              text-transform:uppercase; color:var(--gold); margin-bottom:.4rem; }
.card__title {
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem; font-weight:400; text-transform:uppercase;
  color:var(--cream); margin-bottom:.5rem;
}
.card__desc { font-size:.86rem; color:var(--sand); line-height:1.65; flex:1; margin-bottom:1.25rem; }
.card__specs { border-top:1px solid var(--line); padding-top:.85rem; }
.card__spec  { display:flex; justify-content:space-between; padding:3px 0; font-size:.78rem; }
.card__spec span:first-child { color:rgba(240,235,225,.35); }
.card__spec span:last-child  { color:var(--cream); font-weight:600; }
.card__link {
  margin-top:1.1rem; font-size:.68rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold);
  display:inline-flex; align-items:center; gap:.45rem; transition:gap .2s;
}
.card__link:hover { gap:.75rem; }

/* ─── INQUIRY ────────────────────────────────── */
.inquiry {
  padding:clamp(5rem,9vw,10rem) clamp(1.5rem,5vw,5rem);
  background:var(--ink); border-top:1px solid var(--line);
  position:relative;
  --cream:#F7FCFF;
  --sand:rgba(247,252,255,.7);
  --line:rgba(247,252,255,.15);
}
.inquiry__box {
  background:var(--forest); border:1px solid rgba(200,169,110,.2);
  border-radius:1rem; padding:clamp(2.5rem,5vw,5rem) clamp(2rem,4vw,4rem);
  display:grid; grid-template-columns:1.2fr .8fr;
  gap:clamp(2rem,4vw,4rem); align-items:center;
}
.inquiry__h {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.8rem,3vw,3rem); font-weight:300;
  text-transform:uppercase; color:var(--cream); line-height:1.1; margin-bottom:.9rem;
}
.inquiry__p { font-size:.92rem; color:var(--sand); line-height:1.7; }
.btn-stack { display:flex; flex-direction:column; gap:.75rem; }

/* ─── FOOTER ─────────────────────────────────── */
.footer {
  background:#062638; color:var(--cream);
  --cream:#F3FBFF;
  --sand:rgba(243,251,255,.66);
  --line:rgba(243,251,255,.12);
  padding:clamp(4rem,7vw,6rem) clamp(1.5rem,5vw,5rem) 2rem;
  border-top:1px solid rgba(240,235,225,.06);
}
.footer__grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr;
  gap:clamp(2rem,4vw,4rem);
  padding-bottom:2.5rem; border-bottom:1px solid rgba(240,235,225,.06);
  margin-bottom:1.75rem;
}
.footer__name {
  font-family:'Cormorant Garamond',serif;
  font-size:1.7rem; font-weight:300; letter-spacing:.15em;
  text-transform:uppercase; color:var(--cream);
}
.footer__sub  { font-size:.65rem; font-weight:700; letter-spacing:.2em;
                text-transform:uppercase; color:var(--gold); margin-top:.2rem; }
.footer__about{ font-size:.88rem; color:var(--sand); line-height:1.7; margin-top:1rem; max-width:280px; }
.footer__tag  { font-size:.65rem; font-weight:700; letter-spacing:.2em;
                text-transform:uppercase; color:var(--gold); margin-bottom:.85rem; }
.footer__link { display:block; font-size:.88rem; color:var(--sand); padding:3px 0; transition:color .2s; }
.footer__link:hover { color:var(--cream); }
.footer__bottom {
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem;
  font-size:.7rem; color:rgba(240,235,225,.3); letter-spacing:.1em; text-transform:uppercase;
}

/* ─── RESPONSIVE ─────────────────────────────── */
/* Mobile frame: hidden by default, only shown at ≤768px */
.intro__frame--mobile { display:none; }

@media (max-width:1024px) {
  .card-grid { grid-template-columns:repeat(2,1fr); }
  .footer__grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:768px) {
  .intro__grid  { grid-template-columns:1fr; }
  .intro__frames { display:none; }
  .intro__frame--mobile {
    display:block; border-radius:12px; overflow:hidden;
    border:1px solid var(--line); margin-top:2rem;
  }
  .intro__frame--mobile img { width:100%; aspect-ratio:4/3; object-fit:cover; }
  .card-grid     { grid-template-columns:1fr; }
  .inquiry__box  { grid-template-columns:1fr; }
  .footer__grid  { grid-template-columns:1fr 1fr; }
  .nav__link     { display:none; }
  .nav           { padding:0 1rem; }
  .nav__brand    { font-size:1.1rem; }
  .hero__details { display:none; }
  .hero__scroll-cue { bottom:1.5rem; right:1.5rem; }
}

@media (max-width:480px) {
  .footer__grid  { grid-template-columns:1fr; }
  .hero__actions { flex-direction:column; align-items:flex-start; }
  .btn-primary,.btn-ghost { width:100%; justify-content:center; }
  .inquiry__box  { padding:2rem 1.5rem; }
  .btn-stack .btn-primary,
  .btn-stack .btn-ghost  { justify-content:center; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .door-reveal__panel,.door-reveal__rail,.door-reveal__caption,.door-reveal__brand,
  .hero__bg img,.hero__title,.hero__sub,.hero__actions,.nav,.reveal,.motion-lift,
  .intro__frames.reveal .intro__frame,.card.reveal {
    animation:none!important; transition-duration:.01ms!important; transition-delay:0s!important;
  }
  .hero__scroll-cue i::after { animation:none; }
}
