/* =====================================================================================================
   05 ESTATE · Martinez & Son Pools & Spa Inc.
   Quiet luxury: ivory paper, navy ink, and the tan rules of her lockup ("& SON" between two rules) drawn as
   hairlines around every chapter. Cormorant Garamond for display (500/600, never italic), Montserrat spaced caps
   for labels, Figtree for text. Teal only where her logo and her water already have it.
   Motion rules: every one-shot entrance is gated by html.js:not(.shot):not(.motion-paused), so screenshots and the
   Pause button show the finished page; every loop is a CSS animation, which the kit pauses. No reduced-motion
   off-switch (her Mac preview runs with Reduce Motion on; Pause motion is the control).
   ===================================================================================================== */

:root{
  --ivory:#fbf9f5; --paper:#f6f1e9; --stone:#e6ddd0; --linen:#efe7da;
  --ink:#1f2a33; --ink-2:#2f3d49; --mute:#5d6b74; --quiet:#776f64;
  --gold:#c79f6b; --gold-ink:#876333; --gold-lt:#e2c79c; --gold-pale:#f1e4cc;
  --rule:rgba(199,159,107,.62); --rule-soft:rgba(199,159,107,.34); --line:rgba(31,42,51,.12);
  --night:#16202a; --night-2:#10181f; --night-3:#1b2731; --mist:#e7f1ed; --sage:#93aba5; --cream:#f4ede1;
  --serif:"Cormorant Garamond",Cormorant,Garamond,"Times New Roman",serif;
  --caps:var(--b-font-brand); --sans:var(--b-font-body);
  --gut:clamp(16px,5vw,56px); --max:1240px;
  --ease:cubic-bezier(.2,.7,.2,1); --ease-calm:cubic-bezier(.45,0,.2,1);
  --kit-dur:1.4s; --kit-ease:cubic-bezier(.22,.61,.36,1);
  --kit-dialog-bg:rgba(16,24,31,.97); --kit-dialog-fg:#f4ede1; --kit-dialog-muted:#b7c2bf; --kit-accent:#c79f6b;
  --kit-btn-bg:rgba(244,237,225,.08); --kit-btn-fg:#f4ede1;
}

/* ---------------------------------------------------------------- base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html.nav-open{overflow:hidden}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 17px/1.7 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
p,h1,h2,h3,figure,dl,dd,ol,ul{margin:0}
h1,h2,h3{font-weight:500}
button{font:inherit}
:focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px}
.night :focus-visible,.is-night :focus-visible,.foot :focus-visible,.stage :focus-visible{outline-color:var(--gold)}
::selection{background:var(--gold-pale);color:var(--ink)}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.sec{position:relative;padding-block:clamp(96px,11vw,164px)}
.band-paper{background:var(--paper)}
.more{margin-top:clamp(44px,5vw,64px);text-align:center}
.more-l{margin-top:28px}

/* ---------------------------------------------------------------- type */
.head{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:900px;margin:0 auto}
.head .lede{margin-top:26px}
.h1{font:500 clamp(48px,6.4vw,100px)/1 var(--serif);letter-spacing:-.016em;text-wrap:balance}
.h2{font:500 clamp(42px,5.4vw,78px)/1.03 var(--serif);letter-spacing:-.014em;text-wrap:balance}
.h2-m{font-size:clamp(38px,4.2vw,60px)}
.h2-s{font-size:clamp(34px,4vw,58px);max-width:20ch}
.acc{color:var(--gold-ink);white-space:nowrap}
.night .acc,.is-night .acc{color:var(--gold)}
.lede{max-width:40rem;font-size:clamp(16.5px,1.2vw,18.5px);line-height:1.75;color:var(--mute);text-wrap:pretty}
.night .lede,.is-night .lede{color:var(--sage)}

/* eyebrow: her label between two tan rules, like "& SON" in her lockup */
.eb{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 26px;font:500 11px/1.5 var(--caps);letter-spacing:.32em;text-transform:uppercase;color:var(--gold-ink)}
.eb-r{flex:none;display:block;width:clamp(30px,4.4vw,60px);height:1px;background:var(--gold)}
.eb-r:first-child{transform-origin:100% 50%}
.eb-r:last-child{transform-origin:0 50%}
.eb-n{flex:none;font:600 16px/1 var(--serif);letter-spacing:.14em;color:var(--ink)}
.eb-d{flex:none;display:block;width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
.eb-t{min-width:0;text-align:center;padding-left:.32em}
.eb-l{justify-content:flex-start}
.eb-l .eb-t{text-align:left;padding-left:0}
.eb-l .eb-r{width:44px;transform-origin:0 50%}
.night .eb,.is-night .eb{color:var(--gold)}
.night .eb-n,.is-night .eb-n{color:var(--cream)}
.engraved{display:flex;align-items:center;justify-content:center;gap:18px;margin:clamp(48px,6vw,72px) auto 0;font:500 11px/1.5 var(--caps);letter-spacing:.32em;text-transform:uppercase;color:var(--ink);text-align:center}
.engraved .eb-r{width:clamp(36px,6vw,88px)}

/* ---------------------------------------------------------------- buttons + text links */
.btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 14px}
.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;border-radius:999px;border:1px solid transparent;font:600 11px/1 var(--caps);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .6s var(--ease),color .6s var(--ease),border-color .6s var(--ease),box-shadow .6s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.32) 50%,transparent 70%);transform:translateX(-120%);transition:transform 1.2s var(--ease)}
.btn:hover::before{transform:translateX(120%)}
.btn-navy{background:var(--ink);color:var(--cream)}
.btn-navy:hover{background:var(--ink-2);box-shadow:0 16px 34px -18px rgba(31,42,51,.7)}
.btn-gold{background:var(--gold);color:var(--night)}
.btn-gold:hover{background:var(--gold-lt);box-shadow:0 0 34px rgba(199,159,107,.35)}
.btn-light{background:var(--cream);color:var(--ink)}
.btn-light:hover{background:#fff;box-shadow:0 0 40px rgba(244,237,225,.35)}
.btn-ghost{border-color:rgba(31,42,51,.28);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-ghost-l{border-color:rgba(244,237,225,.5);color:var(--cream)}
.btn-ghost-l:hover{border-color:var(--cream);background:rgba(244,237,225,.08)}
.tlink{position:relative;display:inline-flex;align-items:center;gap:14px;min-height:44px;font:600 11px/1 var(--caps);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.tlink::after{content:"";position:absolute;left:0;right:38px;bottom:10px;height:1px;background:var(--gold);transform-origin:0 50%;transition:transform .9s var(--ease)}
.tlink:hover::after{transform:scaleX(0);transform-origin:100% 50%}
.arw{flex:none;width:24px;height:10px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .8s var(--ease)}
.tlink:hover .arw{transform:translateX(6px)}
.night .tlink,.is-night .tlink{color:var(--cream)}
.copy{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--rule);background:transparent;color:var(--gold-ink);font:600 10px/1 var(--caps);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background-color .5s,color .5s}
.copy:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.copy-l{color:var(--gold);border-color:rgba(199,159,107,.5)}
.copy-l:hover{background:var(--gold);border-color:var(--gold);color:var(--night)}

/* ---------------------------------------------------------------- reveals of this style (kit adds .is-in) */
/* curtain: the kit watches the unclipped wrapper; only its .fm lifts top to bottom (a fully clipped element never
   reports as intersecting, so the clip must not sit on the observed element). The end state keeps a wide inset so
   soft shadows are never cut. */
[data-reveal="curtain"] .fm{clip-path:inset(-120px -120px -120px -120px)}
html.js:not(.shot):not(.motion-paused) [data-reveal="curtain"]:not(.is-in){opacity:1}
html.js:not(.shot):not(.motion-paused) [data-reveal="curtain"] .fm{transition:clip-path 2s var(--ease-calm);transition-delay:calc(var(--reveal-i,0) * 150ms)}
html.js:not(.shot):not(.motion-paused) [data-reveal="curtain"]:not(.is-in) .fm{clip-path:inset(0 0 100% 0)}
html.js:not(.shot):not(.motion-paused) [data-reveal="curtain"] .fz{transition:transform 2.7s var(--ease-calm);transition-delay:calc(var(--reveal-i,0) * 150ms)}
html.js:not(.shot):not(.motion-paused) [data-reveal="curtain"]:not(.is-in) .fz{transform:scale(1.16)}
html.js:not(.shot):not(.motion-paused) [data-reveal="curtain"] figcaption{transition:opacity 1.4s var(--ease) .9s,transform 1.4s var(--ease) .9s}
html.js:not(.shot):not(.motion-paused) [data-reveal="curtain"]:not(.is-in) figcaption{opacity:0;transform:translateY(10px)}
html.js:not(.shot):not(.motion-paused) [data-reveal="curtain"]:not(.is-in) .ltag{opacity:0}
html.js:not(.shot):not(.motion-paused) [data-reveal="eb"] .eb-r{transition:transform 1.9s var(--ease-calm) .2s}
html.js:not(.shot):not(.motion-paused) [data-reveal="eb"]:not(.is-in) .eb-r{transform:scaleX(0)}
html.js:not(.shot):not(.motion-paused) [data-reveal="eb"] .eb-t{transition:letter-spacing 2.4s var(--ease-calm)}
html.js:not(.shot):not(.motion-paused) [data-reveal="eb"]:not(.is-in) .eb-t{letter-spacing:.62em}
html.js:not(.shot):not(.motion-paused) [data-reveal-stagger]>[data-reveal]{transition-delay:calc(var(--reveal-i,0) * 130ms)}

/* her lockup: the two tan rules draw outward from "& SON" */
.lockup>rect{transform-box:fill-box}
.lockup>rect:first-of-type{transform-origin:100% 50%}
.lockup>rect:last-of-type{transform-origin:0 50%}
html.js:not(.shot):not(.motion-paused) .hero-lockup>g,html.js:not(.shot):not(.motion-paused) .lk-on .lockup>g{animation:lk-rise 1.6s var(--ease) .1s both}
html.js:not(.shot):not(.motion-paused) .hero-lockup>path:nth-of-type(1),html.js:not(.shot):not(.motion-paused) .lk-on .lockup>path:nth-of-type(1){animation:lk-fade 1.5s var(--ease) .35s both}
html.js:not(.shot):not(.motion-paused) .hero-lockup>rect,html.js:not(.shot):not(.motion-paused) .lk-on .lockup>rect{animation:lk-draw 1.9s var(--ease-calm) .6s both}
html.js:not(.shot):not(.motion-paused) .hero-lockup>path:nth-of-type(2),html.js:not(.shot):not(.motion-paused) .lk-on .lockup>path:nth-of-type(2){animation:lk-fade 1.5s var(--ease) .7s both}
html.js:not(.shot):not(.motion-paused) .hero-lockup>path:nth-of-type(3),html.js:not(.shot):not(.motion-paused) .lk-on .lockup>path:nth-of-type(3){animation:lk-fade 1.6s var(--ease) 1s both}
html.js:not(.shot):not(.motion-paused) .lk[data-reveal] .lockup>rect{transition:transform 1.9s var(--ease-calm) .45s}
html.js:not(.shot):not(.motion-paused) .lk[data-reveal]:not(.is-in) .lockup>rect{transform:scaleX(0)}
@keyframes lk-rise{from{opacity:0;translate:0 10px}}
@keyframes lk-fade{from{opacity:0}}
@keyframes lk-draw{from{transform:scaleX(0)}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}}
@keyframes fade{from{opacity:0}}

/* ---------------------------------------------------------------- nav: ivory glass pill */
.top{position:fixed;left:0;right:0;top:max(12px,env(safe-area-inset-top));z-index:80;display:flex;justify-content:center;padding-inline:16px;pointer-events:none}
.pill{pointer-events:auto;position:relative;display:flex;align-items:center;gap:clamp(12px,2vw,28px);width:min(1200px,100%);min-height:64px;padding:7px 7px 7px clamp(18px,2vw,26px);border-radius:999px;background:rgba(251,249,245,.84);-webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35);border:1px solid rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 18px 44px -30px rgba(16,24,31,.6);transition:background-color .9s var(--ease),border-color .9s var(--ease),box-shadow .9s var(--ease)}
html.scrolled .pill{background:rgba(251,249,245,.92);border-color:rgba(31,42,51,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 22px 50px -30px rgba(16,24,31,.6)}
.brand{display:flex;align-items:center;flex:none;min-height:44px;border-radius:8px}
.brand-logo{height:31px;width:auto;--logo-sub:var(--mute)}
.links{display:flex;align-items:center;gap:clamp(16px,2.3vw,36px);margin:0 auto;padding:0;list-style:none}
.links a{position:relative;display:block;padding:15px 0;font:500 10.5px/1 var(--caps);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);text-decoration:none;white-space:nowrap;transition:color .5s}
.links a::after{content:"";position:absolute;left:0;right:.2em;bottom:7px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:100% 50%;transition:transform .9s var(--ease)}
.links a:hover::after,.links a[aria-current="page"]::after{transform:scaleX(1);transform-origin:0 50%}
.links a[aria-current="page"]{color:var(--gold-ink)}
.pill-cta{flex:none;min-height:50px;padding:0 26px}
.menu-btn{display:none;align-items:center;justify-content:center;gap:10px;flex:none;min-width:50px;min-height:50px;padding:0 18px;border:1px solid rgba(31,42,51,.18);border-radius:999px;background:transparent;color:var(--ink);font:600 10.5px/1 var(--caps);letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.mb-ic{position:relative;flex:none;width:18px;height:8px}
.mb-ic i{position:absolute;left:0;right:0;height:1.5px;border-radius:2px;background:currentColor;transition:transform .7s var(--ease)}
.mb-ic i:first-child{top:0}
.mb-ic i:last-child{bottom:0}
.menu-btn[aria-expanded="true"] .mb-ic i:first-child{transform:translateY(3.25px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .mb-ic i:last-child{transform:translateY(-3.25px) rotate(-45deg)}
.mb-close,.menu-btn[aria-expanded="true"] .mb-open{display:none}
.menu-btn[aria-expanded="true"] .mb-close{display:inline}
.pill-prog{position:absolute;left:30px;right:30px;bottom:-1px;height:1px;pointer-events:none;overflow:hidden}
.pill-prog i{position:absolute;inset:0;background:linear-gradient(90deg,rgba(199,159,107,0),var(--gold) 14%,var(--gold) 86%,rgba(199,159,107,0));transform-origin:0 50%;transform:scaleX(var(--scroll,0))}
.sheet{display:none}
.is-night .pill{background:rgba(16,24,31,.62);border-color:rgba(244,237,225,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 44px -26px rgba(0,0,0,.8)}
html.scrolled body.is-night .pill{background:rgba(16,24,31,.86);border-color:rgba(244,237,225,.12)}
.is-night .brand-logo{--logo-ink:#f6efe3;--logo-text:#f6efe3;--logo-sub:var(--sage)}
.is-night .links a{color:var(--cream)}
.is-night .links a[aria-current="page"]{color:var(--gold)}
.is-night .pill-cta{background:var(--gold);color:var(--night)}
.is-night .pill-cta:hover{background:var(--gold-lt)}
.is-night .menu-btn{color:var(--cream);border-color:rgba(244,237,225,.26)}

/* ---------------------------------------------------------------- HOME hero */
.hero{position:relative}
.stage{position:relative;isolation:isolate;min-height:max(640px,100svh);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:118px var(--gut) 140px;color:var(--cream);overflow:hidden;background:#2a2826}
.stage-media{position:absolute;inset:0;z-index:-2}
.slide{position:absolute;inset:0}
.slide img{width:100%;height:100%;object-fit:cover;animation:kb 30s var(--ease-calm) infinite alternate;transform-origin:50% 62%}
.s1 img{object-position:46% 60%}
.s2 img{object-position:64% 55%;transform-origin:66% 52%;animation-delay:-9s}
.s3 img{object-position:54% 62%;transform-origin:42% 58%;animation-delay:-18s}
.s2,.s3{opacity:0}
.s2{animation:s2 27s ease-in-out infinite}
.s3{animation:s3 27s ease-in-out infinite}
@keyframes s2{0%,28%{opacity:0}34%,73%{opacity:1}74%,100%{opacity:0}}
@keyframes s3{0%,61.5%{opacity:0}67.5%,94%{opacity:1}100%{opacity:0}}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.13)}}
.stage-scrim{position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(66% 60% at 50% 48%,rgba(12,18,24,.64),rgba(12,18,24,.16) 76%),
  linear-gradient(180deg,rgba(12,18,24,.6) 0%,rgba(12,18,24,.08) 24%,rgba(12,18,24,.12) 58%,rgba(12,18,24,.8) 100%)}
.stage-in{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:1160px}
.hero-lockup{height:clamp(108px,16vh,160px);width:auto;margin-bottom:clamp(22px,3.6vh,40px);--logo-ink:#f6efe3;--logo-text:#f6efe3;--logo-tan:var(--gold);--logo-wave1:var(--b-teal-deep);--logo-wave2:var(--b-teal);--logo-son:var(--b-teal);--logo-rule:var(--gold);--logo-sub:rgba(231,241,237,.86);filter:drop-shadow(0 2px 20px rgba(0,0,0,.38))}
.hero-eb{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 16px;margin:0 0 clamp(18px,2.6vh,26px);font:500 11.5px/1.6 var(--caps);letter-spacing:.32em;text-transform:uppercase;color:#f8f2e8;text-shadow:0 1px 3px rgba(0,0,0,.55),0 1px 16px rgba(0,0,0,.5)}
.hero-eb-d{flex:none;display:block;width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
.hero-h1{font:500 clamp(50px,6.6vw,106px)/.98 var(--serif);letter-spacing:-.018em;color:#fbf6ec;text-shadow:0 2px 34px rgba(0,0,0,.38)}
.hero-h1 .l1,.hero-h1 .l2{display:block;text-wrap:balance}
.gilt{background:linear-gradient(100deg,#c79f6b 0%,#e9cf9f 20%,#fff3d8 31%,#e3c28c 42%,#c79f6b 58%,#b48a55 78%,#d6b27c 100%);background-size:260% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 2px 18px rgba(0,0,0,.35));animation:gilt 10s var(--ease-calm) infinite alternate}
@keyframes gilt{to{background-position:0 0}}
.hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 14px;margin-top:clamp(28px,4.6vh,46px)}
.stage-foot{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(22px,3.6vh,36px);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:24px;pointer-events:none}
.showing{display:flex;align-items:flex-end;gap:24px}
.nums{display:flex;gap:16px;margin:0;padding:0;list-style:none}
.nums li{position:relative;min-width:22px;padding-bottom:11px;font:600 14px/1 var(--serif);letter-spacing:.12em;color:var(--cream);text-align:center;opacity:.45;animation:numx 27s linear infinite}
.nums li::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(244,237,225,.28)}
.nums li i{position:absolute;left:0;right:0;bottom:0;z-index:1;height:1px;background:var(--gold);transform-origin:0 50%;transform:scaleX(0);animation:numr 27s linear infinite}
.nums li:nth-child(2),.nums li:nth-child(2) i{animation-delay:-18s}
.nums li:nth-child(3),.nums li:nth-child(3) i{animation-delay:-9s}
@keyframes numx{0%,28%{opacity:1}32%,96%{opacity:.45}100%{opacity:1}}
@keyframes numr{0%{transform:scaleX(.1);opacity:1}28%{transform:scaleX(1);opacity:1}32%{transform:scaleX(1);opacity:0}96%{transform:scaleX(0);opacity:0}97%{transform:scaleX(0);opacity:1}100%{transform:scaleX(.1);opacity:1}}
.capts{position:relative;width:18ch;height:1.3em;font:500 21px/1.3 var(--serif);color:var(--cream);text-shadow:0 1px 12px rgba(0,0,0,.5)}
.capts span{position:absolute;left:0;bottom:0;white-space:nowrap;opacity:0;animation:capx 27s ease-in-out infinite}
.capts span:nth-child(1){opacity:1}
.capts span:nth-child(2){animation-delay:-18s}
.capts span:nth-child(3){animation-delay:-9s}
@keyframes capx{0%,28%{opacity:1;transform:none}32%,96%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:none}}
.cue{display:flex;flex-direction:column;align-items:center;gap:12px;font:600 9.5px/1 var(--caps);letter-spacing:.34em;text-transform:uppercase;color:rgba(244,237,225,.82);padding-left:.34em}
.cue i{position:relative;display:block;width:1px;height:48px;background:rgba(244,237,225,.26);overflow:hidden}
.cue i::after{content:"";position:absolute;left:0;top:0;width:1px;height:18px;background:var(--gold);animation:cue 3.2s var(--ease-calm) infinite}
@keyframes cue{from{transform:translateY(-18px)}to{transform:translateY(48px)}}
html.js:not(.shot):not(.motion-paused) .hero-eb{animation:rise 1.6s var(--ease) .8s both}
html.js:not(.shot):not(.motion-paused) .hero-h1 .l1{animation:rise 1.7s var(--ease) 1s both}
html.js:not(.shot):not(.motion-paused) .hero-h1 .l2{animation:rise 1.7s var(--ease) 1.18s both}
html.js:not(.shot):not(.motion-paused) .hero-ctas{animation:rise 1.6s var(--ease) 1.45s both}
html.js:not(.shot):not(.motion-paused) .stage-foot{animation:fade 1.8s var(--ease) 1.8s both}

/* overture: her lede as a statement, her six specs on an engraved rule */
.overture{padding:clamp(92px,11vw,160px) var(--gut) clamp(84px,9vw,132px);text-align:center;background:var(--ivory)}
.orn{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto clamp(30px,3.4vw,44px)}
.orn .eb-r{width:clamp(48px,7vw,84px)}
.orn b{width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
.ov-lede{max-width:25em;margin:0 auto;font:500 clamp(25px,2.7vw,39px)/1.3 var(--serif);letter-spacing:-.006em;color:var(--ink);text-wrap:pretty}
.specs{display:flex;justify-content:center;margin:clamp(46px,5vw,68px) auto 0;padding:0;list-style:none}
.specs li{padding:6px clamp(14px,1.7vw,26px);font:500 10.5px/1.5 var(--caps);letter-spacing:.24em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.specs li+li{border-left:1px solid var(--rule)}

/* ---------------------------------------------------------------- frames: arches and soft rectangles */
.frame{position:relative;min-width:0}
.fm{position:relative;overflow:hidden;background:var(--stone);border-radius:14px}
.night .fm,.is-night .fm{background:var(--night-3)}
.fz{position:relative;display:block;width:100%;height:100%}
.fi{width:100%;height:100%;object-fit:cover;scale:1.12;translate:0 calc((var(--p,.5) - .5) * -7%);transition:scale 1.6s var(--ease)}
.fm:hover .fi{scale:1.16}
html.motion-paused .fi{translate:none}
.a34{aspect-ratio:3/4;border-radius:50% 50% 10px 10px/37.5% 37.5% 10px 10px}
.a45{aspect-ratio:4/5;border-radius:50% 50% 10px 10px/40% 40% 10px 10px}
.r32{aspect-ratio:3/2;border-radius:16px}
.mat::after{content:"";position:absolute;inset:10px;z-index:2;border:1px solid rgba(251,249,245,.6);border-radius:inherit;pointer-events:none}
.frame figcaption{margin-top:16px;text-align:center;font-size:14.5px;line-height:1.55;color:var(--mute)}
.frame figcaption b{display:block;margin-bottom:3px;font:500 21px/1.25 var(--serif);color:var(--ink)}
.night .frame figcaption,.is-night .frame figcaption{color:var(--sage)}
.night .frame figcaption b,.is-night .frame figcaption b{color:var(--cream)}
.kb-i{animation:kb 30s var(--ease-calm) infinite alternate}

/* ---------------------------------------------------------------- I signature: three arches + spec plate */
.trip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.34fr) minmax(0,1fr);gap:clamp(18px,3.2vw,52px);align-items:start;margin-top:clamp(56px,7vw,100px)}
.trip>.frame:nth-child(1),.trip>.frame:nth-child(3){margin-top:clamp(72px,10vw,150px)}
.plate{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1000px;margin:clamp(56px,6vw,88px) auto 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.plate div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:10px;padding:28px 14px;text-align:center}
.plate div+div{border-left:1px solid var(--rule-soft)}
.plate dt{font:500 10px/1.3 var(--caps);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink)}
.plate dd{margin:0;font:500 clamp(22px,2.1vw,30px)/1.12 var(--serif);color:var(--ink)}

/* ---------------------------------------------------------------- II piers: text + drawing on a plate */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,104px);align-items:center}
.split-top{align-items:start}
.split-text .lede{margin-top:24px}
.sticky{position:sticky;top:124px}
.acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 30px;margin-top:38px}
.dplate{position:relative;padding:clamp(16px,2.4vw,34px) clamp(16px,2.4vw,34px) clamp(16px,2vw,26px);background:var(--ivory);border:1px solid var(--rule);box-shadow:0 50px 90px -70px rgba(31,42,51,.55)}
.dplate::before{content:"";position:absolute;inset:7px;border:1px solid var(--rule-soft);pointer-events:none}
.dplate figcaption{margin-top:16px;font-size:13.5px;line-height:1.6;color:var(--mute);text-align:center;text-wrap:pretty}
.dg{width:100%;height:auto;--d-soil:#ece4d6;--d-soil-dot:#c8b79c;--d-rock:#d8ccb9;--d-rock-line:#b2a083;--d-grade:#876333;--d-pier:#1f2a33;--d-beam:#5d6b74;--d-shell:#d0c8bb;--d-water:#5bb8b8;--d-waterline:#ffffff;--d-label:#1f2a33;--d-label-quiet:#5d6b74;--d-shell-label:#11202a;--d-font:var(--b-font-brand)}
.dg [data-part],.dg [data-pier],.dg [data-part] rect{transform-box:fill-box}
.dg [data-pier]{transform-origin:50% 0}
.dg [data-part="beam"] rect{transform-origin:50% 50%}
.dg [data-part="water"] rect{transform-origin:50% 100%}
.dg [data-part="grade"]{transform-origin:0 50%}
.dg [data-part="water"] path{animation:wl 4.8s ease-in-out infinite}
@keyframes wl{0%,100%{opacity:.5}50%{opacity:1}}
html.js:not(.shot):not(.motion-paused) .dplate .dg [data-part="soil"],html.js:not(.shot):not(.motion-paused) .dplate .dg [data-part="rock"]{transition:opacity 1.3s var(--ease) .15s}
html.js:not(.shot):not(.motion-paused) .dplate .dg [data-part="grade"]{transition:transform 1.5s var(--ease-calm) .45s}
html.js:not(.shot):not(.motion-paused) .dplate .dg [data-pier]{transition:transform 1.3s var(--ease-calm) 1s}
html.js:not(.shot):not(.motion-paused) .dplate .dg [data-pier="2"]{transition-delay:1.25s}
html.js:not(.shot):not(.motion-paused) .dplate .dg [data-pier="3"]{transition-delay:1.5s}
html.js:not(.shot):not(.motion-paused) .dplate .dg [data-pier="4"]{transition-delay:1.75s}
html.js:not(.shot):not(.motion-paused) .dplate .dg [data-part="beam"] rect{transition:transform 1.2s var(--ease) 2.5s}
html.js:not(.shot):not(.motion-paused) .dplate .dg [data-part="shell"]{transition:opacity 1.1s var(--ease) 3s,transform 1.3s var(--ease) 3s}
html.js:not(.shot):not(.motion-paused) .dplate .dg [data-part="water"] rect{transition:transform 1.7s var(--ease-calm) 3.5s}
html.js:not(.shot):not(.motion-paused) .dplate .dg [data-part="labels"]{transition:opacity 1.4s var(--ease) 4.3s}
html.js:not(.shot):not(.motion-paused) .dplate:not(.is-in) .dg [data-part="soil"],html.js:not(.shot):not(.motion-paused) .dplate:not(.is-in) .dg [data-part="rock"],html.js:not(.shot):not(.motion-paused) .dplate:not(.is-in) .dg [data-part="labels"]{opacity:0}
html.js:not(.shot):not(.motion-paused) .dplate:not(.is-in) .dg [data-part="grade"]{transform:scaleX(0)}
html.js:not(.shot):not(.motion-paused) .dplate:not(.is-in) .dg [data-pier]{transform:scaleY(0)}
html.js:not(.shot):not(.motion-paused) .dplate:not(.is-in) .dg [data-part="beam"] rect{transform:scaleX(0)}
html.js:not(.shot):not(.motion-paused) .dplate:not(.is-in) .dg [data-part="shell"]{opacity:0;transform:translateY(-16px)}
html.js:not(.shot):not(.motion-paused) .dplate:not(.is-in) .dg [data-part="water"] rect{transform:scaleY(0)}

.drawing{padding-top:clamp(84px,9vw,132px)}
.dplate-xl{max-width:1060px;margin:0 auto}
.facts{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1160px;margin:clamp(56px,6vw,88px) auto 0;padding:0;border-top:1px solid var(--rule)}
.fact{padding:30px clamp(14px,1.8vw,28px) 8px;text-align:center}
.fact+.fact{border-left:1px solid var(--rule-soft)}
.fact-n{display:block;font:600 16px/1 var(--serif);letter-spacing:.14em;color:var(--gold-ink)}
.fact-k{margin-top:14px;font:500 clamp(24px,2.1vw,30px)/1.15 var(--serif);letter-spacing:-.005em;color:var(--ink)}
.fact-v{margin-top:12px;font-size:15.5px;line-height:1.7;color:var(--mute)}

/* ---------------------------------------------------------------- III recent projects: preview + index */
.cat-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,104px);align-items:start;margin-top:clamp(56px,7vw,92px)}
.cat-pv{position:sticky;top:112px}
.cat-pv .fm{background:var(--stone)}
.cat-pv .kbw{animation:kb 26s var(--ease-calm) infinite alternate}
.cat-pv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s var(--ease-calm)}
.cat-pv img:first-child{opacity:1}
.cat-grid[data-active-step] .cat-pv img{opacity:0}
.cat-grid[data-active-step="0"] .cat-pv img:nth-child(1),.cat-grid[data-active-step="1"] .cat-pv img:nth-child(2),.cat-grid[data-active-step="2"] .cat-pv img:nth-child(3),.cat-grid[data-active-step="3"] .cat-pv img:nth-child(4),.cat-grid[data-active-step="4"] .cat-pv img:nth-child(5),.cat-grid[data-active-step="5"] .cat-pv img:nth-child(6){opacity:1}
.cat-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-soft)}
.cat-it{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;column-gap:clamp(12px,2vw,28px);padding:clamp(20px,2.4vw,30px) 4px;border-bottom:1px solid var(--rule-soft);text-decoration:none;color:inherit}
.ci-th{display:none}
.ci-n{font:600 15px/1 var(--serif);letter-spacing:.12em;color:var(--gold-ink)}
.ci-tx{display:block;min-width:0}
.ci-t{display:block;font:500 clamp(30px,3.3vw,48px)/1.04 var(--serif);letter-spacing:-.01em;color:var(--quiet);transition:color .8s var(--ease),transform 1.1s var(--ease)}
.ci-c{display:block;margin-top:8px;font-size:15px;line-height:1.5;color:var(--mute)}
.ci-go{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--rule);color:var(--gold-ink);transition:background-color .7s var(--ease),color .7s,border-color .7s,transform 1s var(--ease)}
.ci-go .arw{width:18px}
.cat-list li.is-active .ci-t,.cat-it:hover .ci-t,.cat-it:focus-visible .ci-t{color:var(--ink);transform:translateX(12px)}
.cat-list li.is-active .ci-go,.cat-it:hover .ci-go,.cat-it:focus-visible .ci-go{background:var(--ink);border-color:var(--ink);color:var(--cream);transform:rotate(-45deg)}

/* ---------------------------------------------------------------- IV services: an engraved menu of six */
.svc-grid{list-style:none;margin:clamp(56px,6vw,88px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule)}
.svc-i{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:clamp(30px,3.2vw,46px) clamp(20px,2.6vw,40px) clamp(30px,3vw,40px);border-bottom:1px solid var(--rule-soft)}
.svc-i:not(:nth-child(3n+1)){border-left:1px solid var(--rule-soft)}
.svc-i::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--gold-ink);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.2s var(--ease)}
.svc-i:hover::before{transform:scaleX(1)}
.svc-top{display:flex;align-items:baseline;gap:14px}
.svc-n{font:500 28px/1 var(--serif);color:var(--gold-ink)}
.svc-tag{font:500 10px/1.3 var(--caps);letter-spacing:.26em;text-transform:uppercase;color:var(--mute)}
.svc-t{margin-top:4px;font:500 clamp(28px,2.4vw,36px)/1.1 var(--serif);letter-spacing:-.006em}
.svc-b{font-size:16px;line-height:1.7;color:var(--mute)}
.svc-i .tlink{margin-top:auto}

/* ---------------------------------------------------------------- V process: elegant accordion */
.accord{border-top:1px solid var(--rule)}
.acc-i{border-bottom:1px solid var(--rule-soft)}
.acc-i summary{display:grid;grid-template-columns:52px minmax(0,1fr) 48px;align-items:center;gap:16px;padding:clamp(22px,2.4vw,30px) 2px;cursor:pointer;list-style:none}
.acc-i summary::-webkit-details-marker{display:none}
.acc-n{font:600 18px/1 var(--serif);letter-spacing:.12em;color:var(--gold-ink)}
.acc-t{font:500 clamp(27px,2.7vw,40px)/1.1 var(--serif);letter-spacing:-.006em;color:var(--ink);transition:color .6s}
.acc-i summary:hover .acc-t{color:var(--gold-ink)}
.acc-ic{position:relative;width:48px;height:48px;border-radius:50%;border:1px solid var(--rule);transition:background-color .6s,border-color .6s}
.acc-ic::before,.acc-ic::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;margin:-.75px 0 0 -7px;background:var(--ink);transition:transform .8s var(--ease),background-color .6s}
.acc-ic::after{transform:rotate(90deg)}
.acc-i[open] .acc-ic{background:var(--ink);border-color:var(--ink)}
.acc-i[open] .acc-ic::before,.acc-i[open] .acc-ic::after{background:var(--cream)}
.acc-i[open] .acc-ic::after{transform:rotate(0deg)}
.acc-b{padding:0 64px clamp(26px,2.6vw,34px) 70px;font-size:17px;line-height:1.75;color:var(--mute);max-width:44rem}
html.js:not(.shot):not(.motion-paused) .acc-i[open] .acc-b{animation:acc-in 1.1s var(--ease) both}
@keyframes acc-in{from{opacity:0;transform:translateY(-10px)}}

/* ---------------------------------------------------------------- VI service area: two columns of estates */
.cities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,6vw,104px);max-width:980px;margin:clamp(56px,6vw,80px) auto 0}
.reg+.reg{margin-top:clamp(30px,3.4vw,44px)}
.reg-n{display:flex;align-items:center;gap:12px;margin:0 0 6px;font:500 10.5px/1.4 var(--caps);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-ink)}
.reg-n::before{content:"";flex:none;width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
.reg ul{list-style:none;margin:0;padding:0}
.reg li{position:relative;padding:12px 0 11px;border-bottom:1px solid var(--rule-soft);font:500 clamp(26px,2.6vw,36px)/1.15 var(--serif);letter-spacing:-.006em;color:var(--ink);transition:color .6s,transform .9s var(--ease)}
.reg li:hover{transform:translateX(8px);color:var(--gold-ink)}

/* ---------------------------------------------------------------- dusk, night, stars */
.dusk{display:block;height:clamp(140px,16vw,240px);background:linear-gradient(180deg,var(--paper) 0%,#f2e6d4 18%,#ecd2b0 36%,#d9a988 52%,#9a7f78 68%,#4d5058 84%,var(--night) 100%)}
.dawn{display:block;height:clamp(140px,16vw,240px);background:linear-gradient(0deg,var(--ivory) 0%,#f2e6d4 18%,#ecd2b0 36%,#d9a988 52%,#9a7f78 68%,#4d5058 84%,var(--night) 100%)}   /* the dusk band upside down: after chapter I the sun comes back up */
.night{position:relative;isolation:isolate;background:var(--night);color:var(--mist)}
.night .h2,.is-night .h2,.is-night .h1{color:#f7f1e6}
.stars{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.stars::before,.stars::after{content:"";position:absolute;inset:0;background-repeat:repeat-y}
.stars::before{background-size:100% 780px;background-image:
  radial-gradient(1.1px 1.1px at 5% 9%,rgba(255,250,240,.5),transparent),radial-gradient(1px 1px at 12% 34%,rgba(255,250,240,.38),transparent),
  radial-gradient(1.2px 1.2px at 19% 66%,rgba(255,250,240,.46),transparent),radial-gradient(1px 1px at 27% 16%,rgba(255,250,240,.32),transparent),
  radial-gradient(1.2px 1.2px at 34% 49%,rgba(255,250,240,.5),transparent),radial-gradient(1px 1px at 41% 82%,rgba(255,250,240,.34),transparent),
  radial-gradient(1.1px 1.1px at 49% 26%,rgba(255,250,240,.42),transparent),radial-gradient(1px 1px at 56% 61%,rgba(255,250,240,.3),transparent),
  radial-gradient(1.3px 1.3px at 63% 7%,rgba(255,250,240,.55),transparent),radial-gradient(1px 1px at 70% 41%,rgba(255,250,240,.36),transparent),
  radial-gradient(1.2px 1.2px at 77% 74%,rgba(255,250,240,.44),transparent),radial-gradient(1px 1px at 84% 21%,rgba(255,250,240,.36),transparent),
  radial-gradient(1.2px 1.2px at 91% 55%,rgba(255,250,240,.5),transparent),radial-gradient(1px 1px at 97% 88%,rgba(255,250,240,.32),transparent)}
.stars::after{background-size:100% 1160px;animation:tw 8s ease-in-out infinite;background-image:
  radial-gradient(1.6px 1.6px at 9% 23%,rgba(255,248,232,.95),transparent),radial-gradient(1.4px 1.4px at 31% 71%,rgba(255,248,232,.8),transparent),
  radial-gradient(1.7px 1.7px at 57% 36%,rgba(255,248,232,.92),transparent),radial-gradient(1.4px 1.4px at 79% 13%,rgba(255,248,232,.85),transparent),
  radial-gradient(1.5px 1.5px at 92% 79%,rgba(255,248,232,.8),transparent),radial-gradient(1.3px 1.3px at 22% 93%,rgba(255,248,232,.7),transparent)}
.est .stars::after{animation-delay:-2.7s}
.foot .stars::after{animation-delay:-5.3s}
@keyframes tw{0%,100%{opacity:.22}50%{opacity:1}}

/* I after dark: her four colors + her three lighting clips, first chapter under the hero (full .sec padding) */
.lt{background:radial-gradient(52% 34% at 50% 64%,rgba(91,184,184,.11),rgba(91,184,184,0) 72%),var(--night)}
.swatches{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px;list-style:none;margin:clamp(34px,4vw,48px) 0 0;padding:0}
.swatches li{display:inline-flex;align-items:center;gap:14px;font:500 10.5px/1 var(--caps);letter-spacing:.24em;text-transform:uppercase;color:var(--mist)}
.orb{position:relative;flex:none;display:block;width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:0 0 12px 1px var(--c)}
.orb::after{content:"";position:absolute;inset:-9px;border-radius:50%;background:radial-gradient(circle,var(--c) 0%,rgba(0,0,0,0) 68%);opacity:.5;animation:orb 5.2s ease-in-out infinite;animation-delay:calc(var(--i,0) * -1.3s)}
@keyframes orb{0%,100%{opacity:.18;transform:scale(.75)}50%{opacity:.75;transform:scale(1.18)}}

/* reels (LL "Social Media Reels"): arched 9:16 frames, Watch pill + round preview button, caption below */
.reels{list-style:none;margin:clamp(56px,7vw,92px) auto 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3.2vw,52px);max-width:1020px}
.reels-5{grid-template-columns:repeat(5,minmax(0,1fr));max-width:none;gap:clamp(14px,2vw,28px)}
.reel{min-width:0}
.reel-m{position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:50% 50% 16px 16px/28.125% 28.125% 16px 16px;background:#0c141a center/cover no-repeat;box-shadow:0 46px 80px -50px rgba(0,0,0,.95)}
.reel-m::after{content:"";position:absolute;inset:9px;z-index:1;border:1px solid rgba(199,159,107,.5);border-radius:inherit;pointer-events:none}
.reel-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale 1.6s var(--ease)}
.reel-m:hover .reel-v{scale:1.05}
.reel-w{position:absolute;z-index:2;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px 0 13px;border:0;border-radius:999px;background:rgba(251,249,245,.95);color:var(--ink);font:600 10px/1 var(--caps);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 26px -12px rgba(0,0,0,.7);transition:background-color .5s,color .5s}
.reel-w svg{width:10px;height:10px;fill:var(--gold-ink);transition:fill .5s}
.reel-w:hover{background:var(--gold);color:var(--night)}
.reel-w:hover svg{fill:var(--night)}
.reel-t{position:absolute;z-index:2;right:14px;bottom:14px;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.62);background:rgba(10,14,18,.42);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background-color .5s}
.reel-t:hover{background:rgba(10,14,18,.7)}
.reel-t svg{width:13px;height:13px;fill:currentColor}
.reel-t .i-play{display:none}
.reel-t[data-state="paused"] .i-play{display:block}
.reel-t[data-state="paused"] .i-pause{display:none}
.reel-c{margin:20px auto 0;max-width:30ch;text-align:center}
.reel-c b{display:block;font:500 21px/1.25 var(--serif);color:var(--ink)}
.reel-c span{display:block;margin-top:6px;font-size:14px;line-height:1.55;color:var(--mute)}
.night .reel-c b,.is-night .reel-c b{color:var(--cream)}
.night .reel-c span,.is-night .reel-c span{color:var(--sage)}
.reels-5 .reel-w{left:10px;bottom:10px;padding:0 13px 0 11px}
.reels-5 .reel-t{right:10px;bottom:10px}

/* the free estimate, at night, with her lockup as on her own contact block */
.est{position:relative;isolation:isolate;overflow:hidden;padding:clamp(110px,12vw,176px) 0 clamp(96px,10vw,140px);text-align:center;background:var(--night)}
.est-bg{position:absolute;inset:0;z-index:-2}
.est-bg img{width:100%;height:100%;object-fit:cover;opacity:.72;animation:kb 34s var(--ease-calm) infinite alternate}
.est::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(48% 58% at 50% 50%,rgba(16,24,31,.7),rgba(16,24,31,.45) 100%),linear-gradient(180deg,var(--night) 0%,rgba(22,32,42,.2) 26%,rgba(22,32,42,.2) 72%,var(--night) 100%)}
.est-in{display:flex;flex-direction:column;align-items:center}
.est-lockup{height:clamp(124px,13vw,168px);width:auto;margin-bottom:clamp(30px,4vw,48px);--logo-ink:#f6efe3;--logo-text:#f6efe3;--logo-tan:var(--gold);--logo-wave1:var(--b-teal-deep);--logo-wave2:var(--b-teal);--logo-son:var(--b-teal);--logo-rule:var(--gold);--logo-sub:var(--sage)}
.est .lede{margin-top:24px}
.est .btns{margin-top:40px}
.est-mail{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 16px;margin-top:28px;font-size:16px}
.est-mail a{color:var(--mist);text-decoration:none;border-bottom:1px solid rgba(199,159,107,.55);padding-bottom:2px}
.est-mail a:hover{color:var(--gold)}

/* ---------------------------------------------------------------- inner pages: title page + arched doorway */
.ph{position:relative;padding-top:clamp(134px,14vw,200px);text-align:center}
.ph-in{display:flex;flex-direction:column;align-items:center;max-width:1040px;margin:0 auto;padding-inline:var(--gut)}
.ph .lede{margin-top:28px}
.ph .h1{max-width:21ch}
.ph-bio{margin-top:clamp(30px,3.6vw,44px)}
.door{width:calc(100% - 2 * var(--gut));max-width:1180px;margin:clamp(56px,7vw,92px) auto 0}
.door-m{aspect-ratio:16/8;border-radius:50% 50% 12px 12px/36% 36% 12px 12px}
.door .fi{scale:1;translate:none}
.door .fm:hover .fi{scale:1}
.plaque{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 18px;margin-top:clamp(28px,3.4vw,40px)}
.pq-a{font:500 clamp(23px,2.2vw,30px)/1.2 var(--serif);color:var(--ink)}
.pq-b{font:500 10.5px/1.4 var(--caps);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-ink)}
.plaque .eb-r{width:clamp(28px,4vw,56px)}

/* ---------------------------------------------------------------- work: filters, collection, films layout */
.coll{padding-top:clamp(64px,7vw,104px)}
.coll-bar{position:sticky;top:92px;z-index:5;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:10px 0 12px;margin:0 auto clamp(30px,4vw,48px)}
.fbtn{min-height:46px;padding:0 20px;border-radius:999px;border:1px solid rgba(31,42,51,.22);background:rgba(251,249,245,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);font:600 10px/1 var(--caps);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background-color .6s var(--ease),color .6s,border-color .6s}
.fbtn:hover{border-color:var(--ink)}
.fbtn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.grid{columns:3 280px;column-gap:clamp(18px,2.4vw,34px)}
.gi{break-inside:avoid;margin:0 0 clamp(28px,3vw,44px)}
.gi .fm{border-radius:12px}
.gi.port .fm{border-radius:50% 50% 12px 12px/var(--archv,40%) var(--archv,40%) 12px 12px}
.gi .fi{scale:1}
.gi .fm:hover .fi{scale:1.05}
.gi figcaption{margin-top:14px;font-size:14.5px;line-height:1.55;color:var(--mute)}
.gi figcaption b{display:block;margin-bottom:2px;font:500 21px/1.25 var(--serif);color:var(--ink)}
.film{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,5vw,96px);align-items:start}
.film-text{position:sticky;top:122px}
.film-idx{margin:0 0 26px;font:600 15px/1 var(--serif);letter-spacing:.22em;color:var(--gold-ink)}
.film-idx .cur::before{content:"I"}
.film[data-active-step="1"] .film-idx .cur::before{content:"II"}
.film[data-active-step="2"] .film-idx .cur::before{content:"III"}
.film[data-active-step="3"] .film-idx .cur::before{content:"IV"}
.film[data-active-step="4"] .film-idx .cur::before{content:"V"}
.film[data-active-step="5"] .film-idx .cur::before{content:"VI"}
.film .lede{margin-top:22px}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 30px;margin-top:34px;max-width:30rem}
.stats div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--rule)}
.stats dt{font:500 10px/1.3 var(--caps);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink)}
.stats dd{margin:0;font:500 clamp(22px,1.9vw,28px)/1.12 var(--serif);color:var(--ink)}
.dots{display:flex;align-items:center;gap:8px;margin-top:36px}
.dots i{display:block;width:8px;height:8px;border-radius:99px;background:rgba(135,99,51,.24);transition:width .7s var(--ease),background-color .7s}
.dots i:first-child,.film[data-active-step="0"] .dots i:nth-child(1),.film[data-active-step="1"] .dots i:nth-child(2),.film[data-active-step="2"] .dots i:nth-child(3),.film[data-active-step="3"] .dots i:nth-child(4),.film[data-active-step="4"] .dots i:nth-child(5),.film[data-active-step="5"] .dots i:nth-child(6){width:30px;background:var(--gold-ink)}
.film[data-active-step]:not([data-active-step="0"]) .dots i:first-child{width:8px;background:rgba(135,99,51,.24)}
.film-media{display:flex;flex-direction:column;gap:clamp(30px,6vh,64px)}
.fp{position:relative}
.fp .fm{border-radius:20px;box-shadow:0 40px 80px -56px rgba(31,42,51,.7)}
.fp .fm::after{content:"";position:absolute;inset:auto 0 0 0;z-index:1;height:44%;background:linear-gradient(rgba(12,18,24,0),rgba(12,18,24,.55));pointer-events:none}
.fp figcaption{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;display:flex;align-items:baseline;gap:14px;color:#fbf6ec;font-size:15px;line-height:1.45;text-shadow:0 1px 10px rgba(0,0,0,.5);pointer-events:none}
.fp-n{flex:none;font:600 15px/1 var(--serif);letter-spacing:.16em;color:var(--gold-lt)}
.clips .head{max-width:980px}
.ig-handle{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:2px;font-weight:500}
.ig-handle:hover{color:var(--gold-ink)}

/* ---------------------------------------------------------------- lighting page (night) */
body.is-night{background:var(--night);color:var(--mist)}
.ph-night{isolation:isolate;padding-bottom:clamp(96px,11vw,150px);background:radial-gradient(50% 42% at 50% 100%,rgba(91,184,184,.13),rgba(91,184,184,0) 72%)}
.sw-cards{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);max-width:1040px;margin:clamp(48px,5vw,64px) auto 0;padding:0;text-align:left}
.sw-card{position:relative;overflow:hidden;isolation:isolate;min-height:168px;padding:26px 22px 24px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.02));border:1px solid rgba(231,241,237,.13)}
.sw-card::before{content:"";position:absolute;left:-40%;right:-40%;top:-70%;height:130%;z-index:-1;background:radial-gradient(closest-side,var(--c),rgba(0,0,0,0));opacity:.16;animation:swg 7s ease-in-out infinite;animation-delay:calc(var(--i,0) * -1.75s)}
@keyframes swg{0%,100%{opacity:.08;transform:translateY(6%)}50%{opacity:.26;transform:none}}
.sw-name{display:block;margin-top:20px;font:500 28px/1.1 var(--serif);color:var(--cream)}
.sw-use{display:block;margin-top:8px;font-size:14px;line-height:1.5;color:var(--sage)}
.reels-lt{margin-top:clamp(64px,7vw,104px)}
.lights{background:var(--night-3)}
.lights-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(36px,5vw,96px);align-items:center}
.lfig{position:relative}
.lfm{aspect-ratio:4/3;border-radius:50% 50% 14px 14px/34% 34% 14px 14px;background:#0c141a;box-shadow:0 -1px 0 rgba(143,217,196,.35),0 50px 90px -50px rgba(0,0,0,.9)}
.lfig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1.9s var(--ease-calm)}
.lfig .l-night{opacity:0}
.lights-on .lfig .l-night{opacity:1}
.ltag{position:absolute;left:50%;bottom:18px;z-index:2;transform:translateX(-50%);padding:11px 18px;border-radius:999px;background:rgba(10,14,18,.66);color:var(--cream);font:600 10px/1 var(--caps);letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.t-night,.lights-on .t-day{display:none}
.lights-on .t-night{display:inline}
.lights-copy .lede{margin-top:22px}
.lsw-row{margin-top:34px}
.lswitch{display:inline-flex;align-items:center;gap:16px;min-height:56px;padding:0 26px 0 9px;border-radius:999px;border:1px solid rgba(231,241,237,.2);background:rgba(255,255,255,.06);color:var(--cream);font:600 10.5px/1 var(--caps);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:border-color .6s,background-color .6s}
.lswitch:hover{border-color:rgba(231,241,237,.4);background:rgba(255,255,255,.09)}
.knob{position:relative;flex:none;width:58px;height:36px;border-radius:99px;background:rgba(231,241,237,.18);transition:background .7s,box-shadow .7s}
.knob::after{content:"";position:absolute;left:4px;top:4px;width:28px;height:28px;border-radius:50%;background:var(--cream);box-shadow:0 2px 6px rgba(0,0,0,.4);transition:transform .7s var(--ease)}
.lswitch[aria-checked="true"] .knob{background:linear-gradient(90deg,var(--gold),var(--b-led-seafoam));animation:knob 3.6s ease-in-out infinite}
.lswitch[aria-checked="true"] .knob::after{transform:translateX(22px)}
@keyframes knob{0%,100%{box-shadow:0 0 14px rgba(143,217,196,.3)}50%{box-shadow:0 0 30px rgba(143,217,196,.6)}}
.lcap{margin-top:22px;font-size:14.5px;line-height:1.55;color:var(--sage)}
.ng{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,4.6vw,68px) clamp(18px,2.4vw,36px);align-items:start;margin-top:clamp(56px,6vw,88px)}
.ng-w{grid-column:span 2}
.rw{aspect-ratio:33/20;border-radius:16px}

/* ---------------------------------------------------------------- services page: brochure spreads */
.svcs{padding-top:clamp(88px,10vw,140px)}
.srow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,112px);align-items:center}
.srow+.srow{margin-top:clamp(88px,10vw,150px)}
.srow.rev .srow-fig{order:2}
.srow-fig .fm{max-width:500px;margin-inline:auto}
.srow-n{margin-bottom:8px;font:500 clamp(64px,7vw,108px)/.9 var(--serif);color:var(--gold);letter-spacing:.02em}
.srow-tx .eb{margin-bottom:16px}
.srow-tx .lede{margin-top:20px}
.srow-go{margin-top:26px}

/* ---------------------------------------------------------------- contact: an engraved invitation */
.inv{position:relative;isolation:isolate;min-height:max(720px,100svh);display:grid;place-items:center;padding:clamp(122px,13vw,172px) var(--gut) clamp(64px,8vw,112px);overflow:hidden;background:var(--night)}
.inv-bg{position:absolute;inset:0;z-index:-2}
.inv-bg img{width:100%;height:100%;object-fit:cover}
.inv::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,24,31,.58),rgba(16,24,31,.3) 40%,rgba(16,24,31,.72))}
.inv-card{position:relative;width:min(780px,100%);padding:clamp(40px,5.4vw,76px) clamp(22px,5.4vw,76px) clamp(36px,4.6vw,62px);background:rgba(251,249,245,.97);text-align:center;box-shadow:0 70px 120px -60px rgba(0,0,0,.85)}
.inv-card::before,.inv-card::after{content:"";position:absolute;pointer-events:none}
.inv-card::before{inset:10px;border:1px solid var(--rule)}
.inv-card::after{inset:15px;border:1px solid var(--rule-soft)}
.inv-lockup{height:clamp(116px,13vw,156px);width:auto;margin:0 auto clamp(26px,3.4vw,40px)}
.inv-h{max-width:14ch;margin-inline:auto;font-size:clamp(46px,5.6vw,84px)}
.inv-card .lede{margin:24px auto 0}
.inv-card .btns{margin-top:34px}
.inv-dl{max-width:540px;margin:38px auto 0;border-top:1px solid var(--rule-soft);text-align:left}
.inv-dl div{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:6px 14px;padding:12px 0;border-bottom:1px solid var(--rule-soft)}
.inv-dl dt{font:500 10px/1.3 var(--caps);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-ink)}
.inv-dl dd{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;font-size:16px;overflow-wrap:anywhere}
.inv-dl dd a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule-soft);padding-bottom:1px}
.inv-dl dd a:hover{color:var(--gold-ink)}
html.js:not(.shot):not(.motion-paused) .inv-card{animation:rise 1.6s var(--ease) .1s both}
.inv-bg img{animation:kb 32s var(--ease-calm) infinite alternate}

/* ---------------------------------------------------------------- coda + footer */
.coda{position:relative;isolation:isolate;padding:clamp(96px,10vw,150px) 0 clamp(88px,9vw,130px);background:var(--night);color:var(--mist);text-align:center}
.coda .h2{color:#f7f1e6}
.coda .acc{color:var(--gold)}
.coda .lede{margin-top:24px;color:var(--sage)}
.coda .eb{color:var(--gold)}
.coda-in{display:flex;flex-direction:column;align-items:center}
.coda .btns{margin-top:38px}
.coda .stars::after{animation-delay:-3.9s}
.is-night .coda{background:linear-gradient(180deg,var(--night-3) 45%,var(--night) 100%)}
.dusk-s{height:clamp(110px,11vw,170px)}
.dusk-ivory{background:linear-gradient(180deg,var(--ivory) 0%,#f2e6d4 18%,#ecd2b0 36%,#d9a988 52%,#9a7f78 68%,#4d5058 84%,var(--night) 100%)}
.foot{position:relative;isolation:isolate;padding:clamp(56px,6vw,88px) 0 clamp(96px,9vw,120px);background:linear-gradient(180deg,var(--night) 0,var(--night-2) 280px);color:var(--sage);text-align:center}
.foot-in{display:flex;flex-direction:column;align-items:center;gap:24px}
.foot-brand{display:block;border-radius:8px}
.foot-logo{height:44px;width:auto;--logo-ink:#f6efe3;--logo-text:#f6efe3;--logo-tan:var(--gold);--logo-wave1:var(--b-teal-deep);--logo-wave2:var(--b-teal);--logo-son:var(--b-teal);--logo-rule:var(--gold);--logo-sub:var(--sage)}
.foot-rule{display:flex;align-items:center;gap:12px}
.foot-rule i{display:block;width:60px;height:1px;background:rgba(199,159,107,.6)}
.foot-rule b{display:block;width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
.foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 30px;list-style:none;margin:0;padding:0}
.foot-nav a{display:inline-block;padding:13px 0;font:500 10.5px/1 var(--caps);letter-spacing:.22em;text-transform:uppercase;color:var(--cream);text-decoration:none;transition:color .5s}
.foot-nav a:hover,.foot-nav a[aria-current="page"]{color:var(--gold)}
.foot-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 30px;font-size:15.5px}
.foot-contact a{color:var(--mist);text-decoration:none;border-bottom:1px solid rgba(199,159,107,.45);padding-bottom:2px;overflow-wrap:anywhere}
.foot-contact a:hover{color:var(--gold)}
.foot-area{max-width:64ch;font-size:13.5px;line-height:1.75}
.foot-legal{font-size:12.5px;line-height:1.7;color:#8aa29c}

/* ---------------------------------------------------------------- kit overrides */
.kit-motion{left:auto;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));min-height:44px;padding:0 18px 0 14px;background:rgba(251,249,245,.86);color:var(--ink);border:1px solid rgba(31,42,51,.14);font:600 10px/1 var(--caps);letter-spacing:.18em;text-transform:uppercase;box-shadow:0 12px 30px -18px rgba(16,24,31,.6)}
.kit-motion svg{width:13px;height:13px}
.kit-motion:focus-visible{outline-color:var(--gold-ink)}
.kit-skip{font-family:var(--caps);font-size:12px;letter-spacing:.12em}
.kit-viewer__title{font-family:var(--serif);font-size:20px;font-weight:500}
.kit-player__cap{font-family:var(--serif);font-size:19px}

/* ---------------------------------------------------------------- responsive */
@media (max-width:1099px){
  .specs{display:grid;grid-template-columns:repeat(3,auto);justify-content:center}
  .specs li{padding:12px clamp(14px,2.4vw,26px)}
  .specs li+li{border-left:0}
  .specs li:not(:nth-child(3n+1)){border-left:1px solid var(--rule)}
  .specs li:nth-child(n+4){border-top:1px solid var(--rule-soft)}
  .reels-5{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:999px){
  .links{display:none}
  .menu-btn{display:inline-flex}
  .pill{gap:8px;padding-left:18px}
  .pill-cta{margin-left:auto}
  .sheet{display:block;position:fixed;inset:0;z-index:-1;pointer-events:auto;background:var(--ivory);visibility:hidden;clip-path:inset(0 0 100% 0);overflow-y:auto;overscroll-behavior:contain;transition:clip-path 1.1s var(--ease-calm),visibility 0s linear 1.1s}
  .sheet.is-open{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path 1.1s var(--ease-calm),visibility 0s}
  html.motion-paused .sheet{transition:none}
  .sheet-in{min-height:100%;display:flex;flex-direction:column;padding:108px 24px 40px;max-width:640px;margin:0 auto}
  .sheet-links{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-soft)}
  .sheet-links a{display:flex;align-items:baseline;gap:18px;padding:15px 4px;border-bottom:1px solid var(--rule-soft);text-decoration:none;color:var(--ink)}
  .sl-n{flex:none;width:34px;font:600 14px/1 var(--serif);letter-spacing:.12em;color:var(--gold-ink)}
  .sl-t{font:500 clamp(32px,9vw,46px)/1.05 var(--serif);letter-spacing:-.01em}
  .sheet-links a[aria-current="page"] .sl-t{color:var(--gold-ink)}
  .sheet-foot{margin-top:auto;padding-top:36px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
  .sheet-mail{font-size:16px;color:var(--mute);text-decoration:none;border-bottom:1px solid var(--rule-soft)}
  html.js:not(.shot):not(.motion-paused) .sheet .sheet-links li{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
  html.js:not(.shot):not(.motion-paused) .sheet.is-open .sheet-links li{opacity:1;transform:none;transition-delay:calc(.2s + var(--i,0) * 80ms)}
}
@media (max-width:899px){
  .split,.cat-grid,.film,.lights-grid{grid-template-columns:minmax(0,1fr)}
  .sticky,.film-text{position:static}
  .dplate{margin-top:8px}
  .trip{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}
  .trip>.frame:nth-child(2){grid-column:1/-1;order:-1;width:min(100%,520px);justify-self:center}
  .trip>.frame:nth-child(1),.trip>.frame:nth-child(3){margin-top:0}
  .trip .frame figcaption{font-size:13.5px}
  .cat-pv{display:none}
  .cat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px;border-top:0}
  .cat-it{display:flex;flex-direction:column;align-items:stretch;padding:0;border:0}
  .ci-th{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:50% 50% 8px 8px/40% 40% 8px 8px;margin-bottom:14px;background:var(--stone)}
  .ci-th img{width:100%;height:100%;object-fit:cover;transition:scale 1.4s var(--ease)}
  .cat-it:hover .ci-th img{scale:1.05}
  .ci-n,.ci-go{display:none}
  .ci-t{font-size:clamp(22px,5.6vw,30px);color:var(--ink);transform:none!important}
  .ci-c{margin-top:6px;font-size:13.5px}
  .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc-i:not(:nth-child(3n+1)){border-left:0}
  .svc-i:nth-child(even){border-left:1px solid var(--rule-soft)}
  .reels,.reels-5{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:16px;max-width:none;margin-inline:calc(-1 * var(--gut));padding:6px var(--gut) 18px;scrollbar-width:none}
  .reels::-webkit-scrollbar{display:none}
  .reel{flex:0 0 min(66vw,290px);scroll-snap-align:center}
  .film-media{margin-top:40px}
  .film-idx,.dots{display:none}
  .fp figcaption{left:16px;right:16px;bottom:14px;font-size:14px}
  .lfm{border-radius:50% 50% 12px 12px/30% 30% 12px 12px}
  .sw-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ng{grid-template-columns:minmax(0,1fr)}
  .ng-w{grid-column:auto}
  .ng .a45{max-width:440px;margin-inline:auto}
  .rw{aspect-ratio:3/2}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fact:nth-child(3){border-left:0}
  .fact:nth-child(n+3){border-top:1px solid var(--rule-soft)}
  .fact{padding-bottom:28px}
  .srow{grid-template-columns:minmax(0,1fr);gap:30px}
  .srow.rev .srow-fig{order:0}
  .srow-fig .fm{max-width:440px}
  .srow-n{font-size:64px}
  .acc-b{padding:0 8px 28px 70px}
}
@media (max-width:699px){
  .specs{grid-template-columns:repeat(2,minmax(0,1fr));max-width:440px;width:100%;border-top:1px solid var(--rule-soft)}
  .specs li{padding:15px 6px;white-space:normal;border-bottom:1px solid var(--rule-soft)}
  .specs li:not(:nth-child(3n+1)){border-left:0}
  .specs li:nth-child(n+4){border-top:0}
  .specs li:nth-child(even){border-left:1px solid var(--rule-soft)}
  .plate{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plate div:nth-child(3){border-left:0}
  .plate div:nth-child(n+3){border-top:1px solid var(--rule-soft)}
  .svc-grid{grid-template-columns:minmax(0,1fr)}
  .facts{grid-template-columns:minmax(0,1fr)}
  .fact{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;padding:24px 4px 22px;text-align:left}
  .fact+.fact{border-left:0;border-top:1px solid var(--rule-soft)}
  .fact-n{grid-row:1/span 2;padding-top:8px}
  .fact-k{margin-top:0}
  .fact-v{margin-top:8px}
  .svc-i:nth-child(even){border-left:0}
  .svc-i{padding-inline:4px}
  .cities{gap:0 16px}
  .reg li{font-size:clamp(19px,5.6vw,23px);padding:9px 0 8px}
  .reg-n{font-size:9.5px;letter-spacing:.2em;gap:8px}
  .reg+.reg{margin-top:26px}
  .door-m{aspect-ratio:4/5;border-radius:50% 50% 10px 10px/40% 40% 10px 10px}
  .grid{columns:2 150px;column-gap:14px}
  .coll-bar{flex-wrap:nowrap;justify-content:flex-start;top:76px;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gut));padding:10px var(--gut) 12px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 26px),transparent)}
  .coll-bar::-webkit-scrollbar{display:none}
  .fbtn{flex:none}
  .sw-card{min-height:0;padding:22px 18px 20px}
  .sw-name{margin-top:14px;font-size:25px}
  .gi figcaption{font-size:13px}
  .gi figcaption b{font-size:18px}
  .inv-dl div{grid-template-columns:minmax(0,1fr)}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stage-foot{justify-content:center}
  .cue{display:none}
  .showing{flex-direction:column;align-items:center;gap:12px}
  .capts{width:min(78vw,22ch);text-align:center}
  .capts span{left:0;right:0;white-space:normal}
  .acc-i summary{grid-template-columns:34px minmax(0,1fr) 44px;gap:12px}
  .acc-ic{width:44px;height:44px}
  .acc-b{padding:0 4px 26px 46px;font-size:16px}
  .engraved{gap:10px;font-size:9.5px;letter-spacing:.18em}
  .plaque{flex-direction:column;gap:10px}
  .plaque .eb-r,.plaque .eb-d{display:none}
  .engraved .eb-r{width:22px}
  .swatches{display:grid;grid-template-columns:repeat(2,auto);justify-content:center;gap:18px 34px}
  .kit-motion{width:44px;padding:0;justify-content:center}
  .kit-motion [data-motion-label]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media (max-width:479px){
  .pill{min-height:58px;padding:5px 5px 5px 14px}
  .brand-logo{height:24px}
  .pill-cta{min-height:44px;padding:0 15px;font-size:10px;letter-spacing:.14em}
  .menu-btn{min-width:46px;min-height:46px;padding:0}
  .mb-l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .hero-eb{flex-direction:column;gap:8px;letter-spacing:.26em}
  .hero-eb-d{display:none}
  .btn{padding:0 24px}
  .hero-ctas{flex-direction:column;align-items:stretch;width:min(100%,320px)}
  .reels-5 .reel-w,.reel-w{left:12px;bottom:12px}
}
@media (max-width:379px){
  .brand-logo{height:21px}
  .pill-cta{padding:0 13px;letter-spacing:.1em}
}
