/* LIMEHOUSE — Where city meets jungle. Draft preview stylesheet. */
@font-face{font-family:"Ultra";src:url(fonts/ultra.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --paper:#f4efe6; --paper-2:#ebe4d6; --ink:#1a2620; --ink-soft:#4a564f;
  --forest:#13261d; --forest-2:#1d3a2c; --moss:#5b7656; --line:rgba(26,38,32,.14);
  --sunset:#e0875a; --blush:#f2c3a1; --ember:#b8562f;
  --gold-1:#f0d28a; --gold-2:#d4a648; --gold-3:#a8782c; --gold-4:#7a5419;
  --serif:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --western:"Ultra","Rockwell Extra Bold","Rockwell","Clarendon","Georgia",serif;
  --pad:clamp(1.25rem,5vw,3rem); --max:72rem;
  --ease:cubic-bezier(.2,.7,.2,1);
  --header-h:3.75rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--sunset);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;z-index:100;background:var(--forest);color:var(--paper);padding:.75rem 1rem}
.skip:focus{left:.5rem;top:.5rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}

/* ---------- Wordmark: Yellowstone-inspired weathered gold western serif ---------- */
.wordmark{
  font-family:var(--western);font-weight:400;letter-spacing:.05em;line-height:.95;text-transform:uppercase;
  color:var(--gold-2);
  filter:drop-shadow(0 2px 0 rgba(40,24,6,.55)) drop-shadow(0 10px 28px rgba(0,0,0,.35));
}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
.wordmark{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .25 0 0 0 0 .16 0 0 0 0 .05 0 0 0 1.6 -.75'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),
    linear-gradient(176deg,var(--gold-1) 0%,var(--gold-2) 38%,var(--gold-3) 62%,var(--gold-2) 78%,var(--gold-4) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}}
.wordmark--sm{font-size:1.18rem;letter-spacing:.07em;filter:drop-shadow(0 1px 0 rgba(40,24,6,.6))}

/* ---------- Header ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--header-h);display:flex;align-items:center;
  transition:background .35s var(--ease),box-shadow .35s var(--ease),backdrop-filter .35s}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;width:100%}
.site-header.is-solid{background:rgba(19,38,29,.92);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.brand{text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.nav{display:none}
.nav a{color:var(--paper);text-decoration:none;font:500 .8rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:0 .9rem;min-height:44px;display:inline-flex;align-items:center;opacity:.86}
.nav a:hover{opacity:1}
.nav a.nav-cta{border:1px solid rgba(244,239,230,.45);border-radius:999px;margin-left:.5rem;opacity:1}
.nav a.nav-cta:hover{background:var(--paper);color:var(--forest)}
.menu-btn{width:44px;height:44px;display:inline-grid;place-items:center;background:none;border:0;color:var(--paper);cursor:pointer;margin-right:-10px}
.menu-btn span{display:block;width:22px;height:1.5px;background:currentColor;position:relative;transition:transform .3s var(--ease)}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:22px;height:1.5px;background:currentColor;transition:transform .3s var(--ease)}
.menu-btn span::before{top:-7px}.menu-btn span::after{top:7px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg)}
.sheet{position:fixed;inset:var(--header-h) 0 auto 0;z-index:49;background:var(--forest);padding:.5rem var(--pad) 1.5rem;
  transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s}
.sheet.is-open{opacity:1;transform:none;visibility:visible}
.sheet a{display:flex;align-items:center;justify-content:space-between;min-height:56px;border-bottom:1px solid rgba(244,239,230,.12);
  color:var(--paper);text-decoration:none;font:500 1.6rem/1 var(--serif)}
.sheet a small{font:500 .7rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;opacity:.55}
@media (min-width:860px){.nav{display:flex;align-items:center}.menu-btn,.sheet{display:none}}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;min-height:100vh;display:flex;align-items:flex-end;color:var(--paper);overflow:hidden;background:var(--forest)}
@supports (min-height:100svh){.hero{min-height:100svh}}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 45%);transform:scale(1.06);animation:heroIn 2.4s var(--ease) forwards}
@keyframes heroIn{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(10,20,15,.5) 0%,rgba(10,20,15,0) 20%,rgba(10,20,15,0) 40%,rgba(10,20,15,.55) 60%,rgba(10,20,15,.82) 78%,rgba(10,20,15,.94) 100%)}
.hero__content{position:relative;z-index:1;width:100%;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}
.eyebrow{font:600 .72rem/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase}
.hero .eyebrow{color:var(--blush);display:flex;gap:.75rem;align-items:center;margin:0 0 1.1rem}
.hero .eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.hero h1{margin:0;font-size:clamp(2.3rem,11vw,7.5rem)}
.hero__tag{font:italic 500 clamp(1.65rem,7vw,3.2rem)/1.08 var(--serif);margin:.65rem 0 0;color:var(--paper)}
.hero__lede{max-width:32rem;margin:1.1rem 0 1.6rem;font-size:1rem;color:rgba(244,239,230,.86)}
.btns{display:flex;flex-wrap:wrap;gap:.75rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:0 1.4rem;border-radius:999px;
  font:600 .82rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:1px solid transparent;
  transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease)}
.btn:active{transform:scale(.98)}
.btn--light{background:var(--paper);color:var(--forest)}
.btn--light:hover{background:#fff}
.btn--ghost{border-color:rgba(244,239,230,.5);color:var(--paper);background:rgba(10,20,15,.15)}
.btn--ghost:hover{border-color:var(--paper)}
.btn--forest{background:var(--forest);color:var(--paper)}
.btn--forest:hover{background:var(--forest-2)}
.btn--line{border-color:var(--line);color:var(--ink);background:transparent}
.btn--line:hover{border-color:var(--ink)}
.scroll-cue{position:absolute;z-index:1;left:50%;bottom:calc(1.25rem + env(safe-area-inset-bottom));transform:translateX(-50%);width:44px;height:44px;display:grid;place-items:center;color:var(--paper);opacity:.7;text-decoration:none}
.scroll-cue span{width:1px;height:26px;background:currentColor;animation:cue 2.2s var(--ease) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.photo-credit{position:absolute;z-index:1;right:var(--pad);bottom:calc(1.6rem + env(safe-area-inset-bottom));font:500 .62rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(244,239,230,.6);display:none}
@media (min-width:860px){.photo-credit{display:block}.hero__content{padding-bottom:6.5rem}}

/* ---------- Intro ---------- */
.section{padding:clamp(4.5rem,12vw,8.5rem) 0}
.intro .kicker{color:var(--moss)}
.display{font:500 clamp(1.95rem,7.4vw,3.9rem)/1.07 var(--serif);letter-spacing:-.01em;margin:.9rem 0 0;max-width:20ch}
.display em{font-style:italic;color:var(--ember)}
.prose{max-width:36rem;color:var(--ink-soft);margin-top:1.5rem}
.prose p{margin:0 0 1.1rem}
.intro__grid{display:grid;gap:2.5rem}
@media (min-width:900px){.intro__grid{grid-template-columns:1.25fr 1fr;align-items:end;gap:5rem}.intro .prose{margin-top:0}}

/* Figures strip */
.figures{margin-top:clamp(3rem,8vw,5rem);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}
.fig{padding:1.4rem 1rem 1.4rem 0;border-bottom:1px solid var(--line)}
.fig:nth-child(odd){padding-right:1rem;border-right:1px solid var(--line)}
.fig:nth-child(even){padding-left:1rem}
.fig b{display:block;font:500 clamp(2.2rem,9vw,3.6rem)/1 var(--serif);color:var(--forest)}
.fig b sup{font-size:.42em;vertical-align:.95em;margin-left:.08em;font-family:var(--sans);font-weight:600;letter-spacing:.06em}
.fig span{display:block;margin-top:.55rem;font-size:.82rem;line-height:1.45;color:var(--ink-soft)}
.fig i{font-style:normal;display:block;font-size:.7rem;color:var(--moss);margin-top:.35rem;letter-spacing:.02em}
@media (min-width:900px){.figures{grid-template-columns:repeat(4,1fr)}.fig,.fig:nth-child(odd),.fig:nth-child(even){padding:1.6rem 1.5rem;border-right:1px solid var(--line)}.fig:first-child{padding-left:0}.fig:last-child{border-right:0}}

/* ---------- Full-bleed photo feature ---------- */
.bleed{position:relative;color:var(--paper);background:var(--forest);overflow:hidden}
.bleed__media{position:relative;height:min(118vw,88vh);min-height:26rem}
.bleed__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.bleed__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,38,29,0) 40%,rgba(19,38,29,.92) 100%)}
.bleed__caption{position:relative;z-index:1;margin-top:-9rem;padding-bottom:clamp(3.5rem,10vw,6rem)}
.bleed__caption h2{font:500 clamp(2rem,8vw,4.2rem)/1.04 var(--serif);margin:.75rem 0 0;max-width:16ch}
.bleed__caption h2 em{color:var(--blush)}
.bleed__caption p{max-width:34rem;color:rgba(244,239,230,.82);margin:1.1rem 0 0}
.bleed .eyebrow{color:var(--blush)}
.quote-block{background:var(--forest);color:var(--paper);padding:clamp(4.5rem,14vw,8rem) 0}
.quote-block blockquote{margin:0;font:italic 500 clamp(1.9rem,7.5vw,3.8rem)/1.1 var(--serif);max-width:20ch}
.quote-block p{color:rgba(244,239,230,.75);max-width:34rem;margin:1.4rem 0 0}

/* ---------- Land ---------- */
.land{background:var(--paper)}
.land__head{display:grid;gap:1.25rem;margin-bottom:clamp(2.5rem,7vw,4rem)}
@media (min-width:900px){.land__head{grid-template-columns:1fr 1fr;align-items:end;gap:5rem}}
.scales{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.scale{display:grid;grid-template-columns:2.6rem 1fr;gap:0 1rem;padding:1.6rem 0;border-bottom:1px solid var(--line)}
.scale__n{font:600 .75rem/2.4 var(--sans);letter-spacing:.14em;color:var(--moss)}
.scale h3{margin:0;font:500 clamp(1.7rem,6.4vw,2.6rem)/1.1 var(--serif);color:var(--forest)}
.scale__size{display:inline-block;margin-top:.5rem;font:600 .72rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}
.scale p{grid-column:2;margin:.75rem 0 0;color:var(--ink-soft);max-width:34rem}
@media (min-width:900px){.scale{grid-template-columns:4rem 1.1fr 1fr;align-items:baseline;padding:2.1rem 0}.scale p{grid-column:3;margin:0}}
.note{display:flex;gap:.75rem;margin-top:2rem;padding:1.1rem 1.2rem;background:var(--paper-2);border-left:2px solid var(--sunset);font-size:.86rem;color:var(--ink-soft);line-height:1.55}
.note strong{color:var(--ink)}
.hermosa{margin-top:1rem;font-size:.86rem;color:var(--ink-soft)}

/* ---------- For scale (split) ---------- */
.split{display:grid;gap:2rem;align-items:center}
.split__media{position:relative;margin:0 calc(var(--pad) * -1)}
.split__media button{all:unset;display:block;cursor:zoom-in;width:100%}
.split__media img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:var(--pos,50% 50%)}
.split__media figcaption{padding:.6rem var(--pad) 0;font-size:.75rem;color:var(--ink-soft)}
/*ring removed*/.x-ring{position:absolute;width:23%;aspect-ratio:1;border:1.5px solid var(--paper);border-radius:50%;left:var(--rx,46%);top:var(--ry,52%);transform:translate(-50%,-50%);box-shadow:0 0 0 999px rgba(10,20,15,0);pointer-events:none;animation:ring 3s var(--ease) infinite}
@keyframes ring{0%,100%{opacity:.95}50%{opacity:.35}}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;gap:5rem}.split__media{margin:0}.split__media figcaption{padding-left:0}}

/* ---------- Location ---------- */
.location{background:var(--paper-2)}
.loc-grid{display:grid;gap:2.5rem}
@media (min-width:960px){.loc-grid{grid-template-columns:1fr 1.15fr;gap:5rem;align-items:start}}
.pairs{margin:2rem 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.pairs li{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.92rem;color:var(--ink-soft)}
.pairs li b{font:600 .7rem/1.9 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--forest)}
.map{margin:0;background:var(--forest);color:var(--paper);border-radius:4px;overflow:hidden}
.map__btn{all:unset;display:block;position:relative;cursor:zoom-in;width:100%}
.map__btn img{width:100%}
.map__badge{position:absolute;left:.75rem;top:.75rem;background:rgba(19,38,29,.88);color:var(--paper);font:600 .64rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:.55rem .7rem;border-radius:999px}
.map__zoom{position:absolute;right:.75rem;bottom:.75rem;width:44px;height:44px;border-radius:50%;background:var(--paper);color:var(--forest);display:grid;place-items:center}
.map__placeholder{aspect-ratio:4/3;display:grid;place-items:center;text-align:center;padding:2rem;
  background:
   radial-gradient(circle at 30% 40%,rgba(91,118,86,.5),transparent 55%),
   radial-gradient(circle at 75% 70%,rgba(224,135,90,.25),transparent 50%),
   repeating-linear-gradient(135deg,rgba(244,239,230,.05) 0 1px,transparent 1px 14px),var(--forest)}
.map__placeholder b{display:block;font:500 1.6rem/1.15 var(--serif)}
.map__placeholder span{display:block;margin-top:.5rem;font-size:.8rem;opacity:.7}
.map figcaption{padding:1rem 1.1rem 1.15rem;font-size:.76rem;line-height:1.55;color:rgba(244,239,230,.78)}
.map figcaption strong{color:var(--blush);font-weight:600}
.map__actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.1rem 1.1rem}
.map__actions .btn{min-height:44px;font-size:.72rem;padding:0 1rem}
.acc{margin-top:1.25rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:1rem;font:500 1.25rem/1.2 var(--serif);color:var(--forest)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font:300 1.6rem/1 var(--sans);transition:transform .3s var(--ease)}
.acc[open] summary::after{transform:rotate(45deg)}
.acc__body{padding:0 0 1.25rem;font-size:.84rem;color:var(--ink-soft)}
.ids{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.4rem;margin:.9rem 0 0;padding:0;list-style:none}
.ids li{font:500 .78rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:.6rem .55rem;background:var(--paper);border:1px solid var(--line);border-radius:3px;display:flex;justify-content:space-between;gap:.4rem}
.ids li em{font:600 .56rem/1 var(--sans);letter-spacing:.12em;color:var(--ember);font-style:normal;align-self:center}

@media (min-width:960px){.loc-grid--text{grid-template-columns:1.1fr 1fr;align-items:end}}
.loc-grid--text .acc{margin-top:0}
/* ---------- Highlights ---------- */
.highlights{background:var(--forest);color:var(--paper);padding:2.5rem 0 2.25rem}
.highlights .eyebrow{color:var(--gold-2);margin:0 0 1rem}
.hl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0}
.hl li{padding:1rem .9rem 1rem 0;border-top:1px solid rgba(244,239,230,.14);min-width:0}
.hl li:nth-child(even){padding-left:.9rem;border-left:1px solid rgba(244,239,230,.14)}
.hl li:last-child{grid-column:1/-1;padding-left:0;border-left:0}
.hl b{display:block;font:500 1.45rem/1.1 var(--serif);color:var(--paper)}
.hl span{display:block;margin-top:.3rem;font-size:.78rem;line-height:1.4;color:rgba(244,239,230,.7)}
.hl__fine{margin:1rem 0 0;font-size:.7rem;line-height:1.5;color:rgba(244,239,230,.55)}
@media (min-width:900px){.hl{grid-template-columns:repeat(5,1fr)}.hl li,.hl li:nth-child(even),.hl li:last-child{grid-column:auto;padding:1.1rem 1.2rem;border-left:1px solid rgba(244,239,230,.14)}.hl li:first-child{border-left:0;padding-left:0}}
/* ---------- Surf ---------- */
.surf{background:var(--paper);border-top:1px solid var(--line)}
.surf__grid{display:grid;gap:1.75rem}
.surf .prose em{font-family:var(--serif);font-size:1.15em;color:var(--forest)}
.surf__fine{font-size:.76rem;color:var(--moss);letter-spacing:.02em}
.surf__photo{margin:0}
.surf__photo button{all:unset;display:block;cursor:zoom-in;width:100%;border-radius:4px;overflow:hidden}
.surf__photo img{width:100%;aspect-ratio:1/1;object-fit:cover}
.surf__photo figcaption{margin-top:.6rem;font:italic 500 1.05rem/1.3 var(--serif);color:var(--ink-soft)}
@media (min-width:900px){.surf__grid{grid-template-columns:1fr 1fr;gap:1.5rem 5rem;align-items:start}
  .surf__photo{grid-column:1;grid-row:1 / span 2;max-width:560px}
  .surf__head{grid-column:2}.surf__grid>.prose{grid-column:2}}
/* ---------- River ---------- */
.river .bleed__media{height:min(125vw,92vh)}

/* ---------- Gallery ---------- */
.gallery{background:var(--forest);color:var(--paper)}
.gallery .display{color:var(--paper)}
.gallery .eyebrow{color:var(--blush)}
.gal-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}
.gal-count{font:500 .75rem/1 var(--sans);letter-spacing:.14em;color:rgba(244,239,230,.6);white-space:nowrap}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--pad) 1rem;scroll-padding:0 var(--pad);
  -webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain}
.rail::-webkit-scrollbar{display:none}
.tile{all:unset;scroll-snap-align:start;cursor:zoom-in;display:block;position:relative;border-radius:3px;overflow:hidden;background:#0c1712}
.tile img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .8s var(--ease)}
.tile:hover img{transform:scale(1.03)}
.tile:focus-visible{outline:2px solid var(--sunset);outline-offset:3px}
.tile span{position:absolute;left:0;right:0;bottom:0;padding:2.5rem .9rem .8rem;font:500 .74rem/1.35 var(--sans);letter-spacing:.04em;background:linear-gradient(180deg,transparent,rgba(10,20,15,.8))}
.rail-hint{padding:0 var(--pad);font-size:.72rem;color:rgba(244,239,230,.55);letter-spacing:.06em}
@media (min-width:860px){
  .rail{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(12,1fr);overflow:visible;max-width:var(--max);margin:0 auto;gap:1rem}
  .tile{grid-column:span 4}.tile:nth-child(5n+1){grid-column:span 7}.tile:nth-child(5n+2){grid-column:span 5}
  .tile:nth-child(5n+1) img,.tile:nth-child(5n+2) img{aspect-ratio:auto;height:30rem}
  .rail-hint{display:none}
}

/* ---------- Closing + Inquire ---------- */
.closing{position:relative;color:var(--paper);background:var(--forest);overflow:hidden}
.closing__media{position:absolute;inset:0}
.closing__media img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 40%)}
.closing__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,38,29,.15) 0%,rgba(19,38,29,.35) 30%,rgba(19,38,29,.9) 62%,var(--forest) 100%)}
.closing__inner{position:relative;z-index:1;padding-top:min(70vw,30rem);padding-bottom:clamp(4rem,10vw,7rem)}
.closing h2{font:500 clamp(2.1rem,8.4vw,4.4rem)/1.03 var(--serif);margin:.8rem 0 0;max-width:15ch}
.closing h2 em{color:var(--blush)}
.closing .eyebrow{color:var(--blush)}
.closing__lede{max-width:34rem;color:rgba(244,239,230,.82);margin:1rem 0 0}

.panel{margin-top:2.5rem;background:var(--paper);color:var(--ink);border-radius:6px;padding:clamp(1.25rem,5vw,2.5rem);box-shadow:0 30px 80px rgba(0,0,0,.35);max-width:46rem;scroll-margin-top:calc(var(--header-h) + 1rem)}
.panel.is-flash{animation:flash 1.2s var(--ease)}
@keyframes flash{0%{box-shadow:0 0 0 0 rgba(224,135,90,.7),0 30px 80px rgba(0,0,0,.35)}100%{box-shadow:0 0 0 14px rgba(224,135,90,0),0 30px 80px rgba(0,0,0,.35)}}
.panel__top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.panel h3{margin:0;font:500 1.9rem/1.1 var(--serif);color:var(--forest)}
.pending{display:inline-flex;align-items:center;gap:.45rem;font:600 .62rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ember);border:1px dashed rgba(184,86,47,.55);border-radius:999px;padding:.45rem .7rem}
.pending::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sunset)}
.panel fieldset{border:0;padding:0;margin:1.6rem 0 0;min-width:0}
.panel legend{font:600 .7rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--moss);margin-bottom:.8rem;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip label{display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;border:1px solid var(--line);border-radius:999px;font-size:.88rem;cursor:pointer;background:#fff;transition:background .2s,color .2s,border-color .2s}
.chip input:checked+label{background:var(--forest);color:var(--paper);border-color:var(--forest)}
.chip input:focus-visible+label{outline:2px solid var(--sunset);outline-offset:2px}
.field{display:grid;gap:.4rem;margin-top:1.1rem}
.field label{font:600 .7rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--moss)}
.field label i{font-style:normal;text-transform:none;letter-spacing:0;color:var(--ink-soft);font-weight:400}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:.75rem .9rem;border:1px solid var(--line);border-radius:4px;background:#fff;font-size:1rem}
.field textarea{min-height:6rem;resize:vertical}
.two{display:grid;gap:0 1rem}
@media (min-width:640px){.two{grid-template-columns:1fr 1fr}}
.draft{margin-top:1.6rem;border-top:1px solid var(--line);padding-top:1.25rem}
.draft__label{display:flex;justify-content:space-between;align-items:center;gap:1rem;font:600 .7rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--moss)}
.draft pre{white-space:pre-wrap;word-wrap:break-word;margin:.8rem 0 0;padding:1rem 1.1rem;background:var(--paper-2);border-radius:4px;font:500 1.05rem/1.5 var(--serif);color:var(--ink);max-height:22rem;overflow:auto}
.draft__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.status{min-height:1.4em;margin:.75rem 0 0;font-size:.84rem;color:var(--moss)}
.fine{margin-top:1rem;font-size:.75rem;line-height:1.5;color:var(--ink-soft)}

/* ---------- Footer ---------- */
.footer{background:#0d1a14;color:rgba(244,239,230,.7);padding:3.5rem 0 calc(6.5rem + env(safe-area-inset-bottom));font-size:.8rem}
.footer .wordmark{font-size:clamp(2rem,10vw,3.4rem)}
.footer__tag{font:italic 500 1.35rem/1.2 var(--serif);color:var(--paper);margin:.5rem 0 2rem}
.footer__grid{display:grid;gap:1.5rem;border-top:1px solid rgba(244,239,230,.12);padding-top:1.75rem}
@media (min-width:860px){.footer__grid{grid-template-columns:1fr 2fr;gap:4rem}.footer{padding-bottom:3.5rem}}
.footer h4{margin:0 0 .5rem;font:600 .66rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--blush)}
.footer p{margin:0 0 .7rem;line-height:1.6}

/* ---------- Mobile sticky CTA ---------- */
.dock{position:fixed;z-index:45;left:0;right:0;bottom:0;padding:.65rem var(--pad) calc(.65rem + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(244,239,230,0),rgba(244,239,230,.96) 35%);display:flex;gap:.6rem;
  transform:translateY(110%);transition:transform .4s var(--ease)}
.dock.is-on{transform:none}
.dock .btn{flex:1;min-height:52px;box-shadow:0 10px 30px rgba(19,38,29,.28)}
.dock .btn--line{flex:0 0 auto;background:var(--paper);padding:0 1.1rem}
@media (min-width:860px){.dock{display:none}}

/* ---------- Lightbox ---------- */
.lb{position:fixed;inset:0;z-index:100;background:rgba(8,14,11,.96);display:none;flex-direction:column;color:var(--paper)}
.lb.is-open{display:flex}
.lb__bar{display:flex;justify-content:space-between;align-items:center;padding:calc(.5rem + env(safe-area-inset-top)) .5rem .5rem 1rem;gap:1rem}
.lb__count{font:500 .75rem/1 var(--sans);letter-spacing:.14em}
.lb__tools{display:flex;gap:.25rem}
.lb__btn{width:48px;height:48px;display:grid;place-items:center;background:none;border:0;color:var(--paper);cursor:pointer;border-radius:50%;text-decoration:none}
.lb__btn:hover{background:rgba(244,239,230,.1)}
.lb__stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y pinch-zoom}
.lb__stage img{max-width:100%;max-height:100%;object-fit:contain;transition:opacity .25s,transform .3s var(--ease)}
.lb__stage.is-zoom{overflow:auto;display:block;touch-action:auto}
.lb__stage.is-zoom img{max-width:none;max-height:none;width:200%;margin:0 auto}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(8,14,11,.55);border:1px solid rgba(244,239,230,.25);color:var(--paper);cursor:pointer;display:grid;place-items:center}
.lb__prev{left:.6rem}.lb__next{right:.6rem}
.lb__cap{padding:.9rem 1rem calc(1rem + env(safe-area-inset-bottom));font-size:.86rem;color:rgba(244,239,230,.8);text-align:center;max-width:44rem;margin:0 auto}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  .hero__img{transform:none}
}

/* ---------- WhatsApp ---------- */
.wa-ico{flex:0 0 auto;display:inline-block}
.btn--wa{background:#1f8f4e;color:#fff}
.btn--wa:hover{background:#18793f}
.btn--wa .wa-ico{width:20px;height:20px}
.wa-num{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 .9rem;border-radius:999px;border:1px solid rgba(31,143,78,.35);color:#1a6e3c;text-decoration:none;font:600 .9rem/1 var(--sans);letter-spacing:.02em;white-space:nowrap}
.wa-num:hover{background:rgba(31,143,78,.08)}
.wa-num .wa-ico{color:#25d366;width:22px;height:22px}
.fine a{color:var(--forest);font-weight:600}
.foot-wa,.foot-tel{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;color:var(--paper);text-decoration:none}
.foot-wa .wa-ico{color:#25d366}
.foot-wa:hover,.foot-tel:hover{text-decoration:underline}

.mail-num{border-color:var(--line);color:var(--forest)}
.mail-num:hover{background:rgba(19,38,29,.06)}
.panel__top .wa-num+.wa-num{margin-left:.35rem}
.panel__contacts{display:flex;flex-wrap:wrap;gap:.4rem}
.mail-num span{overflow-wrap:anywhere;white-space:normal}
.foot-tel .mail-ico{margin-right:.1rem}

/* ---------- Portrait phones (360x800, 390x844) ---------- */
@media (max-width:480px) and (orientation:portrait){
  .hero__content{padding-bottom:calc(4.75rem + env(safe-area-inset-bottom))}
  .hero .eyebrow{margin-bottom:.8rem}
  .hero__lede{font-size:.95rem;margin:.9rem 0 1.25rem}
  .hero .btns .btn{flex:1 1 auto}
  .hero::after{background:linear-gradient(180deg,rgba(10,20,15,.5) 0%,rgba(10,20,15,0) 16%,rgba(10,20,15,0) 38%,rgba(10,20,15,.6) 58%,rgba(10,20,15,.88) 76%,rgba(10,20,15,.95) 100%)}
  .lb__nav{top:auto;bottom:.75rem;transform:none}
  .lb__stage img{max-height:calc(100% - 4.5rem)}
}
html,body{max-width:100%}

/* ---------- Map section ---------- */
.mapsec{background:var(--paper)}
.mapsec__head{margin-bottom:1.75rem}
.map--wide{max-width:68rem;margin:0 auto}
@media (max-width:640px){.map--wide{margin:0 calc(var(--pad) * -1);border-radius:0}}
.map--wide .map__btn img{width:100%;height:auto}
