/* =====================================================================
   THE GLENDORA OASIS — single-property site
   Palette: twilight navy + pool aqua + warm sand + terracotta CTA
   Type: Fraunces (display) · Inter (UI) · JetBrains Mono (eyebrow)
   No italics anywhere.
   ===================================================================== */

:root{
  /* ink / night */
  --night:#0A141C;
  --ink:#0E1E29;
  --ink-2:#153244;
  /* water */
  --aqua:#3AA9B6;
  --aqua-600:#1F818E;
  --aqua-700:#166470;
  /* warmth */
  --sand:#E6D5B6;
  --terra:#C8794A;      /* CTA */
  --terra-600:#B26235;
  /* neutrals */
  --bone:#F6F1E8;
  --bone-2:#EEE5D6;
  --paper:#FBF8F2;
  --text:#132029;       /* body on light */
  --text-soft:#41525C;
  --line:rgba(19,32,41,.14);
  --line-light:rgba(246,241,232,.18);

  --maxw:1680px;
  --gutter:clamp(22px,6.5vw,120px);
  --measure:min(70ch,720px);
  --nav-h:74px;

  --f-display:"Fraunces",Georgia,"Times New Roman",serif;
  --f-ui:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--paper);color:var(--text);
  font-family:var(--f-ui);font-size:17px;line-height:1.7;
  font-weight:400;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:400;line-height:1.02;
  letter-spacing:-.015em;margin:0}
em,i,cite,address,figcaption{font-style:normal}   /* no italics, ever */
::selection{background:var(--aqua);color:#fff}

/* ---------- shared type helpers ---------- */
.eyebrow{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.32em;
  text-transform:uppercase;font-weight:500}
.accent{color:var(--terra)}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.measure{max-width:var(--measure)}

/* full-bleed helper */
.bleed{width:100vw;margin-left:calc(50% - 50vw)}

/* =====================================================================
   NAV
   ===================================================================== */
.nav{position:fixed;inset:0 0 auto 0;z-index:60;height:var(--nav-h);
  display:flex;align-items:center;transition:background .4s var(--ease),
  backdrop-filter .4s,box-shadow .4s;mix-blend-mode:normal}
.nav__inner{width:100%;max-width:var(--maxw);margin-inline:auto;
  padding-inline:var(--gutter);display:flex;align-items:center;
  justify-content:space-between;gap:2rem}
.nav__brand{font-family:var(--f-display);font-size:1.28rem;letter-spacing:.01em;
  color:var(--bone);display:flex;align-items:baseline;gap:.55rem;line-height:1}
.nav__brand b{font-weight:500}
.nav__brand span{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.28em;
  text-transform:uppercase;opacity:.7}
.nav__links{display:flex;gap:2.1rem;align-items:center}
.nav__links a{color:var(--bone);font-size:.82rem;letter-spacing:.04em;
  opacity:.86;transition:opacity .25s}
.nav__links a:hover{opacity:1}
.nav__cta{border:1px solid var(--line-light);border-radius:999px;
  padding:.5rem 1.15rem !important;transition:background .3s,color .3s,border-color .3s}
.nav__cta:hover{background:var(--terra);border-color:var(--terra);color:#fff !important;opacity:1}
.nav__burger{display:none;background:none;border:0;cursor:pointer;
  width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px}
.nav__burger span{display:block;height:1.5px;width:26px;background:var(--bone);
  transition:transform .3s,opacity .3s}

/* scrolled state (solid) */
.nav.is-solid{background:rgba(10,20,28,.82);backdrop-filter:blur(14px) saturate(1.4);
  box-shadow:0 1px 0 rgba(246,241,232,.08)}
/* on light sections (nav over non-hero) */
.nav.is-hidden{transform:translateY(-100%)}
.nav{transition:transform .45s var(--ease),background .4s var(--ease),box-shadow .4s}

/* fullscreen menu */
.menu{position:fixed;inset:0;z-index:70;background:var(--night);
  display:flex;flex-direction:column;justify-content:center;
  padding:var(--nav-h) var(--gutter);gap:.2rem;
  opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s}
.menu.is-open{opacity:1;visibility:visible}
.menu__close{position:absolute;top:22px;right:var(--gutter);background:none;
  border:0;color:var(--bone);font-size:2rem;cursor:pointer;line-height:1;width:44px;height:44px}
.menu a{font-family:var(--f-display);color:var(--bone);font-size:clamp(2.4rem,8vw,5rem);
  line-height:1.08;letter-spacing:-.02em;padding:.15em 0;
  display:inline-block;width:max-content;transition:color .3s,transform .3s}
.menu a:hover{color:var(--terra);transform:translateX(14px)}
.menu__meta{margin-top:2.4rem;display:flex;gap:2rem;flex-wrap:wrap;
  font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(246,241,232,.5)}
body.nav-open{overflow:hidden}

/* =====================================================================
   HERO
   ===================================================================== */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;
  display:flex;align-items:flex-end;color:var(--bone)}
.hero__media{position:absolute;inset:-8% 0 -8% 0;z-index:0;will-change:transform}
.hero__media img{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(10,20,28,.44) 0%,rgba(10,20,28,.06) 30%,
    rgba(10,20,28,.20) 60%,rgba(10,20,28,.82) 100%)}
.hero__inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);
  margin-inline:auto;padding:0 var(--gutter) clamp(38px,7vh,86px)}
.hero__eyebrow{color:rgba(246,241,232,.85);margin-bottom:1.4rem}
.hero__title{font-size:clamp(3rem,8.4vw,8.2rem);line-height:.98;
  letter-spacing:-.025em;max-width:16ch;font-weight:340}
.hero__sub{margin-top:1.5rem;max-width:46ch;font-size:1.06rem;
  color:rgba(246,241,232,.9);line-height:1.6}
.hero__scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);
  z-index:2;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.3em;
  text-transform:uppercase;color:rgba(246,241,232,.7);display:flex;
  flex-direction:column;align-items:center;gap:.5rem}
.hero__scroll::after{content:"";width:1px;height:38px;
  background:linear-gradient(rgba(246,241,232,.7),transparent);animation:drop 2.2s var(--ease) infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}
  50.1%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* hero rotating slideshow — Ken Burns crossfade of 3 images (video-like) */
.hero{background:#0A141C}                 /* dark base under the fade-in */
.hero__slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;will-change:opacity,transform;
  animation:heroKen 18s ease-in-out infinite}
.hero__slide:nth-child(1){animation-delay:0s;transform-origin:50% 50%}
.hero__slide:nth-child(2){animation-delay:6s;transform-origin:28% 24%}
.hero__slide:nth-child(3){animation-delay:12s;transform-origin:72% 76%}
@keyframes heroKen{
  0%    {opacity:0;transform:scale(1.02)}
  8%    {opacity:1}
  31%   {opacity:1}
  40%   {opacity:0;transform:scale(1.18)}
  40.5% {opacity:0;transform:scale(1.02)}
  100%  {opacity:0;transform:scale(1.02)}
}
@media (prefers-reduced-motion:reduce){
  .hero__slide{animation:none;opacity:0;transform:none}
  .hero__slide:nth-child(1){opacity:1}
}
.cap .hero__slide{animation:none;opacity:0;transform:none}
.cap .hero__slide:nth-child(1){opacity:1}

/* spec strip */
.specs{background:var(--ink);color:var(--bone)}
.specs__row{display:grid;grid-template-columns:repeat(4,1fr);
  max-width:var(--maxw);margin-inline:auto}
.spec{padding:clamp(24px,3.4vw,44px) var(--gutter);border-left:1px solid var(--line-light)}
.spec:first-child{border-left:0}
.spec__k{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.24em;
  text-transform:uppercase;color:rgba(246,241,232,.55);margin-bottom:.6rem}
.spec__v{font-family:var(--f-display);font-size:clamp(1.3rem,2.2vw,1.9rem);line-height:1.08}
.spec__v small{display:block;font-family:var(--f-ui);font-size:.8rem;
  letter-spacing:.02em;color:rgba(246,241,232,.6);margin-top:.35rem;font-weight:400}

/* =====================================================================
   SECTION scaffolding
   ===================================================================== */
section{position:relative}
.pad{padding-block:clamp(72px,11vh,150px)}
.pad-sm{padding-block:clamp(48px,7vh,92px)}
.center{text-align:center}
.kicker{display:block;margin-bottom:1.1rem;color:var(--aqua-700)}
.h2{font-size:clamp(2.1rem,5vw,4rem);line-height:1.02;letter-spacing:-.02em;
  max-width:20ch}
.center .h2{margin-inline:auto}
.lede{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.55;color:var(--text);
  font-family:var(--f-display);font-weight:340;max-width:30ch}
.body p{color:var(--text-soft);max-width:var(--measure)}
.body.center p{margin-inline:auto}

/* intro / standfirst */
.intro{background:var(--paper)}
.intro__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,84px);
  align-items:center}
.intro__lede{font-family:var(--f-display);font-weight:340;
  font-size:clamp(1.5rem,2.7vw,2.35rem);line-height:1.28;letter-spacing:-.01em}
.intro__body p{color:var(--text-soft);margin:0 0 1.1rem}
.intro__body p:last-child{margin-bottom:0}

/* =====================================================================
   CHAPTER SPREADS (alternating image / copy)
   ===================================================================== */
.chapter{display:grid;grid-template-columns:1fr 1fr;min-height:82vh}
.chapter__media{position:relative;overflow:hidden;min-height:52vh}
.chapter__media img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;will-change:transform}
.chapter__copy{display:flex;flex-direction:column;justify-content:center;
  padding:clamp(40px,6vw,110px) clamp(28px,5vw,92px)}
.chapter__no{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.24em;
  color:var(--aqua-700);margin-bottom:1.3rem}
.chapter__copy h3{font-size:clamp(1.9rem,3.4vw,3rem);margin-bottom:1.3rem;max-width:14ch}
.chapter__copy p{color:var(--text-soft);max-width:44ch}
.chapter--dark{background:var(--ink);color:var(--bone)}
.chapter--dark .chapter__copy p{color:rgba(246,241,232,.75)}
.chapter--dark .chapter__no{color:var(--aqua)}
.chapter--flip .chapter__media{order:2}
.chapter--flip .chapter__copy{order:1}

/* full-bleed cinematic band */
.band{position:relative;height:88vh;min-height:560px;overflow:hidden;
  display:flex;align-items:flex-end;color:var(--bone)}
.band__media{position:absolute;inset:-8% 0;z-index:0}
.band__media img{width:100%;height:100%;object-fit:cover;will-change:transform}
.band::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(10,20,28,.15),rgba(10,20,28,.72))}
.band__inner{position:relative;z-index:2;width:100%;max-width:var(--maxw);
  margin-inline:auto;padding:0 var(--gutter) clamp(46px,8vh,110px)}
.band__inner h2{font-size:clamp(2.2rem,6vw,5.4rem);max-width:18ch;line-height:1}
.band__inner p{max-width:44ch;margin-top:1.3rem;color:rgba(246,241,232,.88)}

/* =====================================================================
   AMENITIES (de-boxed editorial rows)
   ===================================================================== */
.amen{background:var(--bone)}
.amen__grid{display:grid;grid-template-columns:repeat(3,1fr);
  gap:0 clamp(28px,4vw,64px);margin-top:clamp(30px,5vh,58px)}
.amen__item{padding:1.5rem 0;border-top:1px solid var(--line);
  display:flex;gap:1rem;align-items:flex-start}
.amen__item .n{font-family:var(--f-mono);font-size:.7rem;color:var(--aqua-700);
  padding-top:.35rem;min-width:2.2ch}
.amen__item h4{font-family:var(--f-display);font-size:1.18rem;margin:0 0 .25rem}
.amen__item p{margin:0;font-size:.92rem;color:var(--text-soft)}

/* =====================================================================
   LOCATION
   ===================================================================== */
.loc{background:var(--ink);color:var(--bone)}
.loc__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,5vw,80px);
  align-items:center}
.loc__list{list-style:none;margin:1.8rem 0 0;padding:0}
.loc__list li{display:flex;justify-content:space-between;gap:1.5rem;
  padding:.95rem 0;border-top:1px solid var(--line-light);font-size:.98rem}
.loc__list li span:first-child{color:rgba(246,241,232,.9)}
.loc__list li span:last-child{font-family:var(--f-mono);font-size:.82rem;
  letter-spacing:.06em;color:var(--aqua);white-space:nowrap}
.loc__map{border-radius:4px;overflow:hidden;border:1px solid var(--line-light);
  min-height:340px;height:100%}
.loc__map iframe{width:100%;height:100%;min-height:340px;border:0;filter:grayscale(.2) contrast(1.05)}

/* =====================================================================
   GALLERY PREVIEW  +  full gallery page
   ===================================================================== */
.gprev{background:var(--paper)}
.gprev__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;
  margin-top:clamp(28px,4vh,52px)}
.gprev__grid a{overflow:hidden;position:relative;display:block}
.gprev__grid img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gprev__grid a:hover img{transform:scale(1.05)}
.gp-a{grid-column:span 6;aspect-ratio:3/2}
.gp-b{grid-column:span 3;aspect-ratio:3/4}
.gp-c{grid-column:span 3;aspect-ratio:3/4}
.gp-d{grid-column:span 4;aspect-ratio:1/1}
.gp-e{grid-column:span 4;aspect-ratio:1/1}
.gp-f{grid-column:span 4;aspect-ratio:1/1}

.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.gallery figure{margin:0;overflow:hidden;position:relative;background:var(--bone-2)}
.gallery img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;
  transition:transform .8s var(--ease)}
.gallery figure:hover img{transform:scale(1.045)}
.g-wide{grid-column:span 8;aspect-ratio:16/9}
.g-tall{grid-column:span 4;aspect-ratio:3/4}
.g-sq{grid-column:span 4;aspect-ratio:1/1}
.g-half{grid-column:span 6;aspect-ratio:4/3}
.g-pan{grid-column:span 12;aspect-ratio:21/9}

/* lightbox */
.lb{position:fixed;inset:0;z-index:90;background:rgba(8,14,20,.94);
  display:none;align-items:center;justify-content:center;padding:4vw}
.lb.is-open{display:flex}
.lb img{max-width:94vw;max-height:88vh;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lb__close,.lb__nav{position:absolute;background:none;border:0;color:#fff;
  cursor:pointer;font-size:2rem;opacity:.8;width:56px;height:56px}
.lb__close{top:18px;right:22px}
.lb__nav{top:50%;transform:translateY(-50%);font-size:2.6rem}
.lb__nav--prev{left:12px}.lb__nav--next{right:12px}
.lb__count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  font-family:var(--f-mono);font-size:.75rem;letter-spacing:.2em;color:rgba(255,255,255,.7)}

/* =====================================================================
   BOOK / INQUIRE
   ===================================================================== */
.book{background:var(--night);color:var(--bone)}
.book__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,90px)}
.book__intro p{color:rgba(246,241,232,.75);max-width:42ch}
.book__note{margin-top:1.8rem;display:flex;flex-direction:column;gap:1rem}
.book__note a{color:var(--aqua);border-bottom:1px solid var(--aqua-700);
  width:max-content;padding-bottom:2px;font-size:.95rem}
.form{display:grid;gap:1rem}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:flex;flex-direction:column;gap:.4rem}
.field label{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(246,241,232,.6)}
.field input,.field textarea,.field select{background:rgba(246,241,232,.05);
  border:1px solid var(--line-light);border-radius:3px;padding:.85rem 1rem;
  color:var(--bone);font-family:var(--f-ui);font-size:.95rem;width:100%}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--aqua);
  outline-offset:1px;border-color:transparent}
.field textarea{min-height:104px;resize:vertical}
.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.82rem;
  color:rgba(246,241,232,.7)}
.consent input{margin-top:.25rem;width:16px;height:16px;accent-color:var(--aqua)}
.consent a{color:var(--aqua);text-decoration:underline}
.btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--terra);
  color:#fff;border:0;border-radius:999px;padding:.95rem 1.9rem;font-size:.95rem;
  letter-spacing:.02em;cursor:pointer;transition:background .3s,transform .2s;
  width:max-content;font-weight:500}
.btn:hover{background:var(--terra-600);transform:translateY(-2px)}
.btn--ghost{background:transparent;border:1px solid var(--line-light);color:var(--bone)}
.btn--ghost:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.form__ok{padding:1rem 1.2rem;border:1px solid var(--aqua-700);border-radius:4px;
  background:rgba(58,169,182,.08);color:var(--bone);font-size:.9rem;display:none}
.form__ok.show{display:block}

/* =====================================================================
   FOOTER
   ===================================================================== */
.footer{background:var(--night);color:rgba(246,241,232,.7);
  border-top:1px solid var(--line-light)}
.footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.4rem;
  padding-block:clamp(48px,7vh,84px)}
.footer__brand{font-family:var(--f-display);font-size:1.7rem;color:var(--bone);margin-bottom:.8rem}
.footer h5{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(246,241,232,.45);margin:0 0 1.1rem}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.footer a:hover{color:var(--bone)}
.footer__bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding-block:1.6rem;border-top:1px solid var(--line-light);font-size:.78rem}
.footer__credit a{color:var(--aqua)}
.footer__credit a:hover{color:var(--bone)}

/* =====================================================================
   CONSENT BANNER
   ===================================================================== */
.consentbar{position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:rgba(10,20,28,.94);backdrop-filter:blur(12px);
  border-top:1px solid var(--line-light);color:var(--bone);
  padding:1.1rem var(--gutter);display:none}
.consentbar.show{display:block}
.consentbar__in{max-width:var(--maxw);margin-inline:auto;display:flex;
  align-items:center;gap:1.4rem;flex-wrap:wrap;justify-content:space-between}
.consentbar__text{font-size:.85rem;color:rgba(246,241,232,.8);
  flex-basis:auto;max-width:70ch}
.consentbar__text a{color:var(--aqua);text-decoration:underline}
.consentbar__btns{display:flex;gap:.7rem}
.consentbar__btns button{border-radius:999px;padding:.55rem 1.3rem;font-size:.82rem;
  cursor:pointer;border:1px solid var(--line-light);background:transparent;color:var(--bone)}
.consentbar__btns .accept{background:var(--terra);border-color:var(--terra);color:#fff}

/* =====================================================================
   REVEAL animations
   ===================================================================== */
.reveal{opacity:0;transform:translateY(28px);
  transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .hero__scroll::after{animation:none}
}

/* =====================================================================
   LEGAL / PRIVACY page
   ===================================================================== */
.legal{background:var(--paper)}
.legal__head{background:var(--ink);color:var(--bone);padding-top:calc(var(--nav-h) + 60px)}
.legal__body{max-width:var(--measure);margin-inline:auto}
.legal__body h2{font-size:1.5rem;margin:2.4rem 0 .9rem}
.legal__body h3{font-family:var(--f-display);font-size:1.15rem;margin:1.6rem 0 .5rem}
.legal__body p,.legal__body li{color:var(--text-soft);font-size:.98rem}
.legal__body ul{padding-left:1.2rem}
.legal__body a{color:var(--aqua-700);text-decoration:underline}

/* page top (interior) */
.pagetop{position:relative;min-height:56vh;display:flex;align-items:flex-end;
  color:var(--bone);overflow:hidden}
.pagetop__media{position:absolute;inset:-8% 0;z-index:0}
.pagetop__media img{width:100%;height:100%;object-fit:cover}
.pagetop::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,20,28,.4),rgba(10,20,28,.72))}
.pagetop__in{position:relative;z-index:2;width:100%;max-width:var(--maxw);
  margin-inline:auto;padding:0 var(--gutter) clamp(34px,6vh,72px)}
.pagetop__in h1{font-size:clamp(2.4rem,6vw,5rem);max-width:16ch}

/* =====================================================================
   CAPTURE MODE (?cap=1) — pins viewport-height sections for headless
   full-page screenshots; not used by real visitors.
   ===================================================================== */
.cap .hero{height:760px;min-height:0}
.cap .band{height:600px;min-height:0}
.cap .chapter{min-height:0}
.cap .chapter__media{min-height:0;height:560px}
.cap .pagetop{min-height:0;height:520px}
.cap .hero__scroll{display:none}
.cap .reveal{opacity:1 !important;transform:none !important}
.cap .hero__media,.cap .band__media,.cap [data-parallax]{transform:none !important}
.cap .consentbar{display:none !important}
.cap .nav{position:absolute}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:900px){
  .intro__grid,.chapter,.loc__grid,.book__grid,.footer__top{grid-template-columns:1fr}
  .chapter{min-height:0}
  .chapter__media{min-height:64vh}
  .chapter--flip .chapter__media{order:0}
  .chapter--flip .chapter__copy{order:0}
  .specs__row{grid-template-columns:repeat(2,1fr)}
  .spec:nth-child(3){border-left:0}
  .spec:nth-child(-n+2){border-bottom:1px solid var(--line-light)}
  .amen__grid{grid-template-columns:1fr 1fr}
  .g-wide,.g-half,.g-pan{grid-column:span 12}
  .g-tall,.g-sq{grid-column:span 6}
  .gp-a{grid-column:span 12}
  .gp-b,.gp-c,.gp-d,.gp-e,.gp-f{grid-column:span 6}
}
@media (max-width:640px){
  body{font-size:16px}
  .nav__links{display:none}
  .nav__burger{display:flex}
  .amen__grid{grid-template-columns:1fr}
  .form .row{grid-template-columns:1fr}
  .footer__top{gap:2rem}
  .spec{padding-block:20px}
  .hero__title{font-size:clamp(2.6rem,12vw,4rem)}
}

/* =====================================================================
   INTERIOR PAGES — guide, journal, articles, faq
   (added for the deeper, SEO-ready build)
   ===================================================================== */

/* breadcrumb + article meta over the pagetop hero */
.crumbs{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(246,241,232,.7);margin-bottom:1.1rem;
  display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.crumbs a{color:rgba(246,241,232,.9)}
.crumbs a:hover{color:var(--aqua)}
.crumbs span{opacity:.5}
.artmeta{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:1.4rem;
  font-family:var(--f-mono);font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(246,241,232,.72)}
.artmeta b{color:var(--aqua);font-weight:500}
.pagetop__in .lede-sub{margin-top:1.3rem;max-width:52ch;font-size:1.05rem;
  color:rgba(246,241,232,.9);line-height:1.6}

/* long-form prose column */
.prose{max-width:74ch;margin-inline:auto}
.prose > p{color:var(--text-soft);margin:0 0 1.3rem;font-size:1.06rem}
.prose > .lead{font-family:var(--f-display);font-weight:340;
  font-size:clamp(1.3rem,2.4vw,1.85rem);line-height:1.34;color:var(--ink);
  margin:0 0 2rem;max-width:34ch;letter-spacing:-.01em}
.prose h2{font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.06;
  letter-spacing:-.018em;margin:2.8rem 0 1rem}
.prose h3{font-family:var(--f-display);font-size:1.35rem;margin:2rem 0 .6rem;color:var(--ink)}
.prose ul,.prose ol{color:var(--text-soft);padding-left:1.2rem;margin:0 0 1.4rem}
.prose li{margin:.45rem 0}
.prose a{color:var(--aqua-700);text-decoration:underline;text-underline-offset:2px}
.prose strong{color:var(--text);font-weight:600}
.prose blockquote{margin:2.2rem 0;padding:.2rem 0 .2rem 1.5rem;
  border-left:2px solid var(--terra);font-family:var(--f-display);font-weight:340;
  font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.32;color:var(--ink)}
.prose figure{margin:2.6rem 0}
.prose figure img{border-radius:4px;width:100%}
.prose figcaption{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-soft);margin-top:.7rem}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.6rem 0}

/* section eyebrow blocks reused on guide */
.sechead{max-width:34ch}
.sechead p.intro-lede{font-family:var(--f-display);font-weight:340;
  font-size:clamp(1.3rem,2.3vw,1.9rem);line-height:1.3;color:var(--ink);
  margin:1rem 0 0;letter-spacing:-.01em}
.sechead.on-dark p.intro-lede{color:var(--bone)}
.sechead.on-dark .kicker{color:var(--aqua)}

/* editorial "listing" rows (village spots, trails, day trips) */
.listing{margin-top:clamp(24px,4vh,44px);border-top:1px solid var(--line)}
.on-ink .listing{border-top-color:var(--line-light)}
.listing__item{padding:1.4rem 0;border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:1fr auto;gap:.35rem 1.6rem;align-items:baseline}
.on-ink .listing__item{border-bottom-color:var(--line-light)}
.listing__name{font-family:var(--f-display);font-size:1.24rem;color:var(--ink);line-height:1.15}
.on-ink .listing__name{color:var(--bone)}
.listing__tag{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--terra);white-space:nowrap;padding-top:.25rem}
.on-ink .listing__tag{color:var(--aqua)}
.listing__desc{grid-column:1/-1;color:var(--text-soft);font-size:.98rem;margin:.15rem 0 0;max-width:64ch}
.on-ink .listing__desc{color:rgba(246,241,232,.72)}

/* two-column feature grid (guide highlight cards, de-boxed) */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.cols--3{grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}

/* journal index cards */
.jgrid{display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(22px,2.6vw,36px);margin-top:clamp(30px,5vh,58px)}
.jcard{display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--line);border-radius:7px;overflow:hidden;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.jcard:hover{transform:translateY(-5px);box-shadow:0 26px 54px -34px rgba(10,20,28,.5)}
.jcard__img{aspect-ratio:3/2;overflow:hidden;background:var(--bone-2)}
.jcard__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.jcard:hover .jcard__img img{transform:scale(1.06)}
.jcard__body{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.jcard__cat{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--aqua-700)}
.jcard__title{font-family:var(--f-display);font-size:1.4rem;line-height:1.12;
  letter-spacing:-.012em;color:var(--ink)}
.jcard__excerpt{font-size:.92rem;color:var(--text-soft);margin:0;flex:1}
.jcard__more{margin-top:.4rem;font-family:var(--f-mono);font-size:.66rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--terra)}
.jcard:hover .jcard__more{color:var(--terra-600)}

/* FAQ (native details) */
.faqs{max-width:82ch;margin-inline:auto;border-top:1px solid var(--line)}
.faq{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.35rem 0;
  display:flex;justify-content:space-between;gap:1.6rem;align-items:center;
  font-family:var(--f-display);font-size:clamp(1.1rem,1.7vw,1.3rem);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-ui);font-size:1.5rem;
  line-height:1;color:var(--aqua-700);transition:transform .3s var(--ease)}
.faq[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--aqua-700)}
.faq__a{padding:0 0 1.5rem;color:var(--text-soft);max-width:72ch}
.faq__a p{margin:0 0 .8rem}
.faq__a p:last-child{margin-bottom:0}
.faq__a a{color:var(--aqua-700);text-decoration:underline}

/* reusable dark CTA band */
.cta{background:var(--ink);color:var(--bone);text-align:center}
.cta .kicker{color:var(--aqua)}
.cta h2{font-size:clamp(2rem,4.4vw,3.4rem);max-width:18ch;margin-inline:auto}
.cta p{color:rgba(246,241,232,.75);max-width:46ch;margin:1.1rem auto 1.9rem}
.cta .btn{margin-inline:auto}

/* "keep reading" / related links */
.reads{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;
  margin-top:clamp(28px,4vh,48px)}
.read{display:block;padding:1.5rem 1.6rem;border:1px solid var(--line);border-radius:6px;
  transition:border-color .3s,transform .3s var(--ease)}
.read:hover{border-color:var(--aqua-700);transform:translateY(-3px)}
.read span{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--aqua-700);display:block;margin-bottom:.5rem}
.read b{font-family:var(--f-display);font-weight:400;font-size:1.2rem;color:var(--ink);line-height:1.15}

/* light-section wrapper on ink background */
.on-ink{background:var(--ink);color:var(--bone)}
.on-ink .h2,.on-ink h2,.on-ink h3{color:var(--bone)}
.on-paper{background:var(--paper)}
.on-bone{background:var(--bone)}

/* directions / getting-here quick facts */
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);
  margin-top:clamp(24px,4vh,44px)}
.fact{padding:1.6rem 1.4rem 1.6rem 0;border-right:1px solid var(--line)}
.fact:last-child{border-right:0}
.fact__k{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--aqua-700);margin-bottom:.6rem}
.fact__v{font-family:var(--f-display);font-size:1.6rem;line-height:1.05;color:var(--ink)}
.fact__v small{display:block;font-family:var(--f-ui);font-size:.82rem;color:var(--text-soft);margin-top:.4rem}

@media (max-width:900px){
  .cols,.cols--3{grid-template-columns:1fr;gap:clamp(24px,4vw,40px)}
  .jgrid{grid-template-columns:1fr 1fr}
  .reads{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr 1fr}
  .fact:nth-child(2){border-right:0}
  .fact:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:640px){
  .jgrid{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr}
  .fact{border-right:0;border-bottom:1px solid var(--line);padding-right:0}
  .listing__item{grid-template-columns:1fr}
  .listing__tag{padding-top:0}
}
