/* ==========================================================================
   Recover at Monarch — design system
   Pearl / Ivory / Champagne / Coral / Ocean Teal / Midnight / Sage / Monarch
   ========================================================================== */
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Manrope";src:url(../fonts/manrope.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}

:root{
  --pearl:#FAF8F3;--ivory:#F2EDE3;--gold:#C5A46D;--gold-deep:#9C7C45;--coral:#DFAD9F;
  --teal:#3F777C;--teal-deep:#2E5C61;--midnight:#142C36;--midnight-2:#0D1F27;--sage:#A3AF9C;--orange:#D78342;
  --ink:#1B2B32;--ink-soft:#4A5A60;--line:rgba(20,44,54,.12);--line-light:rgba(250,248,243,.18);
  --serif:"Cormorant","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(20px,5vw,72px);--max:1320px;--radius:2px;
  --nav-h:84px;
  color-scheme:light;
}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s;animation-timing-function:var(--ease)}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}
body{margin:0;background:var(--pearl);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
p a,.prose a,li a{color:var(--teal-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(63,119,124,.4);transition:text-decoration-color .3s}
p a:hover,.prose a:hover,li a:hover{text-decoration-color:var(--teal)}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
::selection{background:var(--coral);color:var(--midnight)}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:2px}
.dark :focus-visible,.on-dark :focus-visible{outline-color:var(--gold)}
.skip-link{position:fixed;left:16px;top:-60px;z-index:200;background:var(--midnight);color:var(--pearl);padding:10px 16px;font-size:14px;transition:top .2s}
.skip-link:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- Type ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.01em;margin:0;color:inherit}
.display,.h1,.h2,.h3,.h4{font-family:var(--serif);font-weight:400}
.display{font-size:clamp(52px,9.4vw,152px);line-height:.9;letter-spacing:-.02em;text-transform:uppercase;font-weight:400}
.h1{font-size:clamp(46px,7vw,112px);line-height:.94;text-transform:uppercase;letter-spacing:-.015em}
.h2{font-size:clamp(38px,5.2vw,82px);line-height:.98;text-transform:uppercase;letter-spacing:-.01em}
.h3{font-size:clamp(28px,3vw,42px);line-height:1.08}
.h4{font-size:clamp(22px,2vw,28px);line-height:1.2}
.h1 em,.h2 em,.display em,.h3 em{font-style:italic;text-transform:none;color:var(--teal);font-weight:400}
.dark .h1 em,.dark .h2 em,.dark .display em,.dark .h3 em,.on-dark .h1 em,.on-dark .h2 em,.on-dark .display em,.on-dark .h3 em,.page-hero:not(.plain) .h1 em{color:var(--coral)}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-family:var(--sans);font-size:11.5px;letter-spacing:.32em;text-transform:uppercase;font-weight:600;color:var(--teal-deep)}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor;opacity:.6}
.dark .eyebrow,.on-dark .eyebrow{color:var(--gold)}
.eyebrow.plain::before{display:none}
.lede{font-family:var(--serif);font-size:clamp(22px,2.1vw,30px);line-height:1.38;font-weight:400;color:var(--ink)}
.dark .lede{color:var(--pearl)}
.lede em{font-style:italic;color:var(--teal)}
.dark .lede em{color:var(--coral)}
.muted{color:var(--ink-soft)}
.dark .muted,.on-dark .muted{color:rgba(250,248,243,.72)}
.verify-only{display:none}
.show-verify .verify-only{display:block}
.small{font-size:14px;line-height:1.6}
.tiny{font-size:12px;letter-spacing:.06em}
.prose{max-width:68ch}
.prose p{margin:0 0 1.15em}
.prose h2{font-size:clamp(30px,3.2vw,44px);line-height:1.08;margin:1.6em 0 .55em;text-transform:none}
.prose h3{font-size:clamp(24px,2.3vw,30px);margin:1.4em 0 .45em}
.prose ul,.prose ol{padding-left:1.15em;margin:0 0 1.3em}
.prose li{margin:.35em 0;padding-left:.2em}
.prose ul li::marker{color:var(--gold)}
.prose blockquote{margin:1.6em 0;padding:0 0 0 1.4em;border-left:1px solid var(--gold);font-family:var(--serif);font-size:clamp(22px,2vw,28px);line-height:1.4;font-style:italic;color:var(--teal-deep)}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.wrap-narrow{max-width:900px;margin:0 auto;padding:0 var(--gutter)}
.section{padding:clamp(96px,13vw,190px) 0;position:relative}
.section.tight{padding:clamp(72px,9vw,130px) 0}
.ivory{background:var(--ivory)}
.dark{background:var(--midnight);color:var(--pearl)}
.dark.deeper{background:var(--midnight-2)}
.grid-2{display:grid;grid-template-columns:1fr;gap:clamp(40px,6vw,96px);align-items:center}
@media(min-width:900px){.grid-2{grid-template-columns:1fr 1fr}.grid-2.wide-left{grid-template-columns:1.15fr .85fr}.grid-2.wide-right{grid-template-columns:.85fr 1.15fr}}
.stack>*+*{margin-top:28px}
.stack-sm>*+*{margin-top:16px}
.center{text-align:center}
.center .eyebrow{justify-content:center}
.mx-auto{margin-left:auto;margin-right:auto}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:0 30px;font-family:var(--sans);font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;border:1px solid currentColor;border-radius:var(--radius);overflow:hidden;isolation:isolate;transition:color .5s var(--ease),border-color .5s var(--ease),background-color .5s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--midnight);transform:scaleY(0);transform-origin:50% 100%;transition:transform .55s var(--ease-out)}
.btn:hover::before{transform:scaleY(1)}
.btn:hover{color:var(--pearl);border-color:var(--midnight)}
.btn .arr{display:inline-block;transition:transform .5s var(--ease-out)}
.btn:hover .arr{transform:translateX(5px)}
.btn-solid{background:var(--midnight);color:var(--pearl);border-color:var(--midnight)}
.btn-solid::before{background:var(--teal)}
.btn-solid:hover{border-color:var(--teal)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--midnight)}
.btn-gold::before{background:var(--pearl)}
.btn-gold:hover{color:var(--midnight);border-color:var(--pearl)}
.on-dark .btn:not(.btn-gold),.dark .btn:not(.btn-gold):not(.btn-solid){color:var(--pearl);border-color:rgba(250,248,243,.55)}
.on-dark .btn:not(.btn-gold)::before,.dark .btn:not(.btn-gold):not(.btn-solid)::before{background:var(--pearl)}
.on-dark .btn:not(.btn-gold):hover,.dark .btn:not(.btn-gold):not(.btn-solid):hover{color:var(--midnight);border-color:var(--pearl)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.center .btn-row{justify-content:center}
.link-line{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;padding:6px 0;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .5s var(--ease-out)}
.link-line:hover{background-size:30% 1px}
.link-line .arr{transition:transform .5s var(--ease-out)}
.link-line:hover .arr{transform:translateX(5px)}

/* ---------- Navigation ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:90;height:var(--nav-h);display:flex;align-items:center;color:var(--pearl);transition:background-color .5s var(--ease),color .5s var(--ease),height .5s var(--ease),box-shadow .5s var(--ease),transform .5s var(--ease)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1520px}
.nav.solid,.nav.light-page{background:rgba(250,248,243,.9);-webkit-backdrop-filter:saturate(1.4) blur(16px);backdrop-filter:saturate(1.4) blur(16px);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.nav.solid{height:70px}
.nav.hide{transform:translateY(-100%)}
.brand{display:flex;align-items:center;gap:12px;line-height:1}
.brand .mark{width:46px;height:auto;color:var(--gold);flex:none}
.brand .word{display:flex;flex-direction:column;gap:3px}
.brand .word small{font-family:var(--sans);font-size:8.5px;letter-spacing:.42em;font-weight:600;opacity:.8}
.brand .word b{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:.28em}
.nav-links{display:none;gap:clamp(18px,2vw,34px);align-items:center}
.nav-links a{position:relative;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;padding:8px 0;opacity:.9}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease-out)}
.nav-links a:hover::after,.nav-links a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}
.nav-cta{display:none}
.nav .btn{min-height:44px;padding:0 20px;font-size:11px}
.nav:not(.solid):not(.light-page) .btn{color:var(--pearl);border-color:rgba(250,248,243,.6)}
.nav:not(.solid):not(.light-page) .btn::before{background:var(--pearl)}
.nav:not(.solid):not(.light-page) .btn:hover{color:var(--midnight)}
.menu-btn{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;min-height:44px;padding:0 4px}
.menu-btn .bars{width:26px;height:10px;position:relative}
.menu-btn .bars::before,.menu-btn .bars::after{content:"";position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .45s var(--ease-out),top .45s var(--ease-out)}
.menu-btn .bars::before{top:0}.menu-btn .bars::after{top:9px}
@media(min-width:1180px){.nav-links,.nav-cta{display:flex}.menu-btn{display:none}}

.menu{position:fixed;inset:0;z-index:95;background:var(--midnight);color:var(--pearl);display:flex;flex-direction:column;padding:calc(var(--nav-h) + 24px) var(--gutter) 40px;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease-out),visibility 0s .8s;overflow-y:auto}
.menu.open{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path .8s var(--ease-out),visibility 0s}
.menu-close{position:absolute;top:20px;right:var(--gutter);display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;min-height:44px}
.menu-close span{font-size:26px;font-weight:300;line-height:1}
.menu nav{display:flex;flex-direction:column;gap:2px;margin-top:10px}
.menu nav a{font-family:var(--serif);font-size:clamp(34px,8vw,58px);line-height:1.15;display:flex;align-items:baseline;gap:16px;opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .7s var(--ease-out),color .3s}
.menu nav a small{font-family:var(--sans);font-size:11px;letter-spacing:.2em;color:var(--gold)}
.menu nav a:hover{color:var(--coral)}
.menu.open nav a{opacity:1;transform:none}
.menu.open nav a:nth-child(1){transition-delay:.18s}.menu.open nav a:nth-child(2){transition-delay:.22s}.menu.open nav a:nth-child(3){transition-delay:.26s}.menu.open nav a:nth-child(4){transition-delay:.3s}.menu.open nav a:nth-child(5){transition-delay:.34s}.menu.open nav a:nth-child(6){transition-delay:.38s}.menu.open nav a:nth-child(7){transition-delay:.42s}.menu.open nav a:nth-child(8){transition-delay:.46s}.menu.open nav a:nth-child(9){transition-delay:.5s}.menu.open nav a:nth-child(10){transition-delay:.54s}
.menu-foot{margin-top:auto;padding-top:40px;display:flex;flex-direction:column;gap:20px}
.menu .bf-deco{position:absolute;right:8%;bottom:14%;width:120px;opacity:.14;color:var(--gold)}

/* ---------- Intro ---------- */
.intro{position:fixed;inset:0;z-index:150;background:var(--midnight-2);color:var(--pearl);display:grid;place-items:center;overflow:hidden;transition:opacity 1.2s var(--ease),visibility 0s 1.2s}
.intro.done{opacity:0;visibility:hidden;pointer-events:none}
.intro video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2.4s var(--ease)}
.intro.play video{opacity:.55}
.intro::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 70%,rgba(197,164,109,.18),transparent 60%),linear-gradient(180deg,rgba(13,31,39,.55),rgba(13,31,39,.2) 50%,rgba(13,31,39,.75))}
.intro-text{position:relative;z-index:2;text-align:center;padding:0 24px}
.intro-text .t1{font-family:var(--serif);font-size:clamp(34px,6vw,86px);letter-spacing:.24em;line-height:1;text-indent:.24em;opacity:0;filter:blur(10px);transition:opacity 1.6s var(--ease) .9s,filter 1.8s var(--ease) .9s;color:#F6E7C8;text-shadow:0 0 40px rgba(197,164,109,.35)}
.intro-text .t2{margin-top:22px;font-size:clamp(11px,1.1vw,13px);letter-spacing:.42em;text-indent:.42em;font-weight:600;color:var(--gold);opacity:0;transition:opacity 1.4s var(--ease) 2.5s}
.intro.play .t1{opacity:1;filter:blur(0)}
.intro.play .t2{opacity:1}
.intro-skip,.intro-begin{position:absolute;z-index:3;bottom:28px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:600;min-height:44px;display:flex;align-items:center;gap:10px;color:rgba(250,248,243,.82)}
.intro-skip{right:var(--gutter)}
.intro-begin{left:var(--gutter)}
.intro-skip:hover,.intro-begin:hover{color:var(--gold)}
.intro .bf-fly{position:absolute;z-index:2;width:64px;left:-80px;top:62%;color:var(--orange);offset-path:path("M -40 520 C 260 380, 420 600, 700 360 S 1180 120, 1600 40");offset-rotate:auto 90deg;opacity:0}
.intro.play .bf-fly{animation:introFly 5.2s var(--ease) .3s forwards}
@keyframes introFly{0%{offset-distance:0%;opacity:0}8%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}

/* ---------- Butterfly (symbol + cursor) ---------- */
.bf-svg .wing-l,.bf-svg .wing-r{transform-box:view-box;transform-origin:50% 50%}
.bf-flap .wing-l,.bf-flap .wing-r{animation:flap .42s ease-in-out infinite alternate}
.bf-flap.slow .wing-l,.bf-flap.slow .wing-r{animation-duration:.9s}
@keyframes flap{from{transform:scaleX(1)}to{transform:scaleX(.28)}}
.bf-silhouette path,.bf-silhouette ellipse,.bf-silhouette circle{fill:currentColor}

.cursor-on,.cursor-on *{cursor:none!important}
.cursor-on input:not([type=checkbox]):not([type=radio]):not([type=submit]),.cursor-on textarea,.cursor-on select{cursor:text!important}
.cursor-on select{cursor:pointer!important}
.bf-cursor{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;width:46px;height:46px;margin:-23px 0 0 -23px;opacity:0;transition:opacity .35s var(--ease)}
.bf-cursor.ready{opacity:1}
.bf-cursor.over-text{opacity:.0}
.bf-cursor svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 4px 6px rgba(13,31,39,.22))}
.bf-cursor .halo{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;border:1px solid var(--gold);opacity:0;transform:scale(.5);transition:opacity .35s var(--ease),transform .5s var(--ease-out)}
.bf-cursor.link .halo{opacity:.9;transform:scale(1);box-shadow:0 0 18px rgba(197,164,109,.45),inset 0 0 12px rgba(197,164,109,.25)}
.bf-dot{position:fixed;left:0;top:0;z-index:10000;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--midnight);box-shadow:0 0 0 1.5px rgba(250,248,243,.9);pointer-events:none;opacity:0;transition:opacity .3s,background .3s}
.bf-dot.ready{opacity:1}
.bf-dot.link{background:var(--gold);box-shadow:0 0 0 1.5px rgba(250,248,243,.9),0 0 10px rgba(197,164,109,.9)}
.bf-dot.over-text{opacity:0}

/* ---------- Hero (home) ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;color:var(--pearl);display:flex;align-items:flex-end;overflow:hidden;background:var(--midnight-2)}
.hero .scenes{position:absolute;inset:0}
.hero .scene{position:absolute;inset:0;opacity:0;transition:opacity 1.8s var(--ease)}
.hero .scene.on{opacity:1}
.hero .scene video,.hero .scene img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 9s linear}
.hero .scene.on video,.hero .scene.on img{transform:scale(1)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,31,39,.55) 0%,rgba(13,31,39,.05) 30%,rgba(13,31,39,.15) 55%,rgba(13,31,39,.82) 100%),radial-gradient(ellipse at 20% 80%,rgba(13,31,39,.45),transparent 60%);pointer-events:none}
.hero-inner{position:relative;z-index:2;width:100%;padding-bottom:clamp(56px,9vh,110px);padding-top:140px}
.hero h1{max-width:12ch;font-size:clamp(50px,7.2vw,116px)}
@media(max-height:820px) and (min-width:900px){.hero h1{font-size:clamp(48px,6.2vw,96px)}}
.hero .sub{max-width:560px;margin-top:30px;font-size:clamp(16px,1.3vw,18px);line-height:1.7;color:rgba(250,248,243,.88)}
.hero .btn-row{margin-top:40px}
.hero-meta{position:absolute;z-index:2;right:var(--gutter);bottom:clamp(56px,9vh,110px);display:none;flex-direction:column;align-items:flex-end;gap:14px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:rgba(250,248,243,.75)}
.hero-meta .clock{font-family:var(--serif);font-size:44px;letter-spacing:0;text-transform:none;color:var(--pearl);line-height:1}
.hero-meta .scene-dots{display:flex;gap:8px}
.hero-meta .scene-dots i{width:22px;height:1px;background:rgba(250,248,243,.35);overflow:hidden;position:relative}
.hero-meta .scene-dots i.on::after{content:"";position:absolute;inset:0;background:var(--gold);animation:dot 6.4s linear forwards}
@keyframes dot{from{transform:translateX(-100%)}to{transform:none}}
@media(min-width:1100px){.hero-meta{display:flex}}
.hero .eyebrow{color:var(--pearl);text-shadow:0 1px 12px rgba(13,31,39,.5)}
.hero .eyebrow::before{background:var(--gold);opacity:1}
.scroll-cue{position:absolute;z-index:2;left:calc(var(--gutter) - 8px);bottom:clamp(56px,9vh,110px);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:rgba(250,248,243,.7)}
.scroll-cue{display:none}
@media(min-width:1500px){.scroll-cue{display:flex}.hero-inner .wrap{padding-left:calc(var(--gutter) + 40px)}}
.scroll-cue i{width:1px;height:48px;background:rgba(250,248,243,.25);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--gold);animation:cue 2.4s var(--ease) infinite}
@keyframes cue{to{top:100%}}
.media-note{position:absolute;z-index:2;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(250,248,243,.55);left:var(--gutter);bottom:18px}
.media-note.r{left:auto;right:var(--gutter)}
.media-note.dark-t{color:rgba(20,44,54,.55)}

/* Split-line reveal */
.split .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.split .ln>span{display:block;transform:translateY(105%);transition:transform 1.25s var(--ease-out)}
.split.in .ln>span{transform:none}
.split.in .ln:nth-child(2)>span{transition-delay:.1s}.split.in .ln:nth-child(3)>span{transition-delay:.2s}.split.in .ln:nth-child(4)>span{transition-delay:.3s}

/* Reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity 1.1s var(--ease),transform 1.3s var(--ease-out)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}.rv.d4{transition-delay:.4s}
.rv-img{clip-path:inset(12% 0 12% 0);transition:clip-path 1.6s var(--ease-out)}
.rv-img.in{clip-path:inset(0 0 0 0)}
.rv-img img,.rv-img video{transform:scale(1.15);transition:transform 2s var(--ease-out)}
.rv-img.in img,.rv-img.in video{transform:scale(1)}

/* ---------- Page hero (inner) ---------- */
.page-hero{position:relative;min-height:78vh;min-height:78svh;display:flex;align-items:flex-end;color:var(--pearl);overflow:hidden;background:var(--midnight-2)}
.page-hero.short{min-height:62vh;min-height:62svh}
.page-hero .bg{position:absolute;inset:-6% 0;}
.page-hero .eyebrow{color:var(--pearl);text-shadow:0 1px 12px rgba(13,31,39,.55)}
.page-hero .eyebrow::before{background:var(--gold);opacity:1}
.page-hero .crumbs{text-shadow:0 1px 10px rgba(13,31,39,.5)}
.page-hero.plain .eyebrow{color:var(--teal-deep)}
.page-hero .bg img,.page-hero .bg video{width:100%;height:100%;object-fit:cover}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,31,39,.55) 0%,rgba(13,31,39,.12) 35%,rgba(13,31,39,.78) 100%)}
.page-hero .wrap{position:relative;z-index:2;padding-top:150px;padding-bottom:clamp(54px,8vw,100px)}
.page-hero .h1{max-width:14ch;margin-top:22px}
.page-hero .lede{color:rgba(250,248,243,.92);max-width:640px;margin-top:26px;font-size:clamp(20px,1.8vw,26px)}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(250,248,243,.7)}
.crumbs a:hover{color:var(--gold)}
.crumbs span[aria-hidden]{opacity:.5}
.page-hero.plain{background:var(--ivory);color:var(--ink);min-height:auto}
.page-hero.plain::after{display:none}
.page-hero.plain .crumbs{color:var(--ink-soft)}
.page-hero.plain .lede{color:var(--ink)}

/* ---------- Media frames ---------- */
.frame{position:relative;overflow:hidden;background:var(--ivory)}
.frame img,.frame video{width:100%;height:100%;object-fit:cover}
.ar-portrait{aspect-ratio:4/5}.ar-tall{aspect-ratio:3/4}.ar-land{aspect-ratio:16/10}.ar-wide{aspect-ratio:21/9}.ar-sq{aspect-ratio:1}
.caption{display:flex;justify-content:space-between;gap:16px;margin-top:14px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
.dark .caption{color:rgba(250,248,243,.6)}
.caption .tag{color:var(--teal-deep)}
.dark .caption .tag{color:var(--gold)}
.frame .label{position:absolute;left:14px;bottom:12px;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(250,248,243,.85);background:rgba(13,31,39,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:5px 9px;border-radius:2px}

/* ---------- Welcome split ---------- */
.welcome .collage{position:relative;min-height:620px}
.welcome .collage .a{position:absolute;left:0;top:0;width:68%}
.welcome .collage .b{position:absolute;right:0;bottom:0;width:52%;box-shadow:0 30px 80px rgba(20,44,54,.18)}
.welcome .pill-list{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.welcome .pill-list li{border:1px solid var(--line);padding:9px 16px;font-size:12px;letter-spacing:.1em;border-radius:40px;background:rgba(250,248,243,.6)}
@media(max-width:899px){.welcome .collage{min-height:0;display:grid;grid-template-columns:1fr .7fr;gap:14px}.welcome .collage .a,.welcome .collage .b{position:relative;width:auto}.welcome .collage .b{margin-top:30%}}

/* ---------- Transformation ---------- */
.transform{background:var(--midnight);color:var(--pearl);position:relative}
.transform .pin{position:relative}
.transform .chapters{display:grid;gap:56px;padding:0}
.transform .chap{list-style:none;position:relative;padding-top:28px;border-top:1px solid var(--line-light)}
.transform .chap .num{font-family:var(--serif);font-size:16px;color:var(--gold);letter-spacing:.2em}
.transform .chap h3{font-size:clamp(46px,5vw,84px);text-transform:uppercase;letter-spacing:.02em;margin-top:14px}
.transform .chap p{margin-top:16px;color:rgba(250,248,243,.78);max-width:34ch}
.transform .chap .mini-bf{width:34px;color:var(--orange);margin-top:22px;opacity:.9}
.transform .bg-vid{position:absolute;inset:0;opacity:.18;overflow:hidden}
.transform .bg-vid video{width:100%;height:100%;object-fit:cover}
.transform .head{position:relative;z-index:2}
.transform .note{margin-top:28px;font-size:13px;color:rgba(250,248,243,.6);max-width:60ch}
@media(min-width:1000px) and (prefers-reduced-motion:no-preference){
  .transform.scrolly{height:290vh}
  .transform.scrolly .chap h3{font-size:clamp(34px,3.5vw,60px)}
  .transform.scrolly .pin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
  .transform.scrolly .chapters{grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.4vw,40px);margin-top:70px;position:relative;z-index:2}
  .transform.scrolly .chap{opacity:.28;transition:opacity .8s var(--ease),transform .9s var(--ease-out);transform:translateY(18px)}
  .transform.scrolly .chap.active,.transform.scrolly .chap.past{opacity:1;transform:none}
  .transform.scrolly .chap.past{opacity:.55}
  .transform.scrolly .chap .mini-bf{display:none}
  .transform .track{position:absolute;left:0;right:0;top:0;height:100%;pointer-events:none;z-index:3}
  .transform .traveller{position:absolute;width:58px;color:var(--orange);left:0;top:0;will-change:transform}
  .transform .progress{position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--gold);transform-origin:left;transform:scaleX(0)}
}
@media(max-width:999px),(prefers-reduced-motion:reduce){.transform .track{display:none}.transform .chapters{margin-top:56px}}
@media(min-width:640px) and (max-width:999px){.transform .chapters{grid-template-columns:1fr 1fr}}

/* ---------- Florida lifestyle ---------- */
.florida{position:relative;overflow:hidden}
.florida .mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(10px,1.4vw,22px);margin-top:clamp(56px,7vw,100px)}
.florida .m1{grid-column:1/8;aspect-ratio:16/11}
.florida .m2{grid-column:8/13;aspect-ratio:4/5;margin-top:22%}
.florida .m3{grid-column:2/6;aspect-ratio:3/4;margin-top:-14%}
.florida .m4{grid-column:6/12;aspect-ratio:16/10}
.florida .notice{margin-top:40px;font-size:13px;color:var(--ink-soft);max-width:70ch}
@media(max-width:700px){.florida .m1,.florida .m4{grid-column:1/13}.florida .m2{grid-column:1/8;margin-top:0}.florida .m3{grid-column:8/13;margin-top:30%}}

/* ---------- Day timeline ---------- */
.day{position:relative;background:var(--pearl)}
.day .day-grid{display:grid;gap:56px}
.day .clock-col{display:none}
.day .steps{list-style:none;margin:0;padding:0;position:relative}
.day .steps::before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:1px;background:var(--line)}
.day .steps .fill{position:absolute;left:7px;top:10px;width:1px;height:0;background:linear-gradient(var(--coral),var(--gold),var(--teal));transition:height .2s linear}
.day .step{position:relative;padding:0 0 clamp(64px,9vw,120px) 52px}
.day .step:last-child{padding-bottom:0}
.day .step .dot{position:absolute;left:0;top:10px;width:15px;height:15px;border-radius:50%;border:1px solid var(--gold);background:var(--pearl);transition:background .6s,box-shadow .6s}
.day .step.lit .dot{background:var(--gold);box-shadow:0 0 0 6px rgba(197,164,109,.16),0 0 22px rgba(197,164,109,.6)}
.day .step .time{font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;color:var(--teal-deep)}
.day .step h3{font-size:clamp(44px,5.2vw,86px);text-transform:uppercase;margin-top:8px;letter-spacing:.02em}
.day .step p{margin-top:12px;max-width:44ch;color:var(--ink-soft);font-size:18px}
.day .step .frame{margin-top:28px;aspect-ratio:16/10;max-width:560px}
@media(min-width:1000px){
  .day .day-grid{grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,110px)}
  .day .clock-col{display:block}
  .day .sticky{position:sticky;top:110px;height:calc(100vh - 160px);display:flex;flex-direction:column;justify-content:center}
  .day .sky{position:relative;aspect-ratio:4/5;max-height:62vh;overflow:hidden;border-radius:2px}
  .day .sky .layer{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--ease)}
  .day .sky .layer.on{opacity:1}
  .day .sky img{width:100%;height:100%;object-fit:cover}
  .day .sky .readout{position:absolute;left:24px;bottom:22px;z-index:2;color:var(--pearl)}
  .day .sky .readout .t{font-family:var(--serif);font-size:64px;line-height:1}
  .day .sky .readout .l{font-size:11px;letter-spacing:.3em;text-transform:uppercase;margin-top:6px}
  .day .sky::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(13,31,39,.6))}
  .day .step .frame{display:none}
}
.day .closing{margin-top:clamp(70px,9vw,120px);text-align:center}
.day .closing .h2{font-size:clamp(34px,4.4vw,68px)}
.day .disclaimer{margin-top:20px;font-size:13px;color:var(--ink-soft)}

/* ---------- Gallery ---------- */
.gallery-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px}
.gallery-tabs{display:flex;flex-wrap:wrap;gap:8px}
.gallery-tabs button{min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:30px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;transition:all .4s var(--ease)}
.dark .gallery-tabs button{border-color:var(--line-light)}
.gallery-tabs button[aria-pressed=true]{background:var(--midnight);color:var(--pearl);border-color:var(--midnight)}
.dark .gallery-tabs button[aria-pressed=true]{background:var(--gold);color:var(--midnight);border-color:var(--gold)}
.rail{margin-top:50px;display:flex;gap:clamp(12px,1.6vw,24px);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gutter) 22px;scrollbar-width:thin;scroll-padding-inline:var(--gutter);scrollbar-color:var(--gold) transparent;-webkit-overflow-scrolling:touch}
.rail::-webkit-scrollbar{height:3px}.rail::-webkit-scrollbar-thumb{background:var(--gold)}
.rail .tile{flex:0 0 auto;width:min(78vw,520px);scroll-snap-align:start;text-align:left}
.rail .tile:nth-child(3n+2){width:min(62vw,380px)}
.rail .tile .frame{aspect-ratio:4/5}
.rail .tile:nth-child(3n+1) .frame{aspect-ratio:16/12}
.rail .tile .frame img{transition:transform 1.4s var(--ease-out)}
.rail .tile:hover .frame img{transform:scale(1.05)}
.rail .tile[hidden]{display:none}
.rail-ctrl{display:flex;gap:10px}
.rail-ctrl button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:18px;transition:all .4s}
.dark .rail-ctrl button{border-color:var(--line-light)}
.rail-ctrl button:hover{background:var(--midnight);color:var(--pearl)}
.dark .rail-ctrl button:hover{background:var(--pearl);color:var(--midnight)}
.photo-note{margin-top:26px;display:flex;gap:14px;align-items:flex-start;font-size:13px;line-height:1.6;color:var(--ink-soft);max-width:760px}
.dark .photo-note{color:rgba(250,248,243,.66)}
.photo-note svg{flex:none;width:22px;color:var(--gold);margin-top:2px}

.lightbox{position:fixed;inset:0;z-index:180;background:rgba(9,20,26,.96);display:none;align-items:center;justify-content:center;color:var(--pearl);touch-action:pan-y}
.lightbox.open{display:flex}
.lightbox figure{margin:0;max-width:min(92vw,1400px);max-height:84vh;display:flex;flex-direction:column;align-items:center}
.lightbox img{max-height:76vh;width:auto;object-fit:contain;animation:lbIn .6s var(--ease-out)}
@keyframes lbIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.lightbox figcaption{margin-top:16px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(250,248,243,.75);text-align:center}
.lightbox .lb-btn{position:absolute;width:56px;height:56px;display:grid;place-items:center;border:1px solid rgba(250,248,243,.3);border-radius:50%;font-size:20px;transition:all .3s}
.lightbox .lb-btn:hover{background:var(--pearl);color:var(--midnight)}
.lightbox .lb-close{top:20px;right:20px}
.lightbox .lb-prev{left:20px;top:50%;margin-top:-28px}
.lightbox .lb-next{right:20px;top:50%;margin-top:-28px}
@media(max-width:700px){.lightbox .lb-prev,.lightbox .lb-next{top:auto;bottom:20px;margin:0}.lightbox .lb-prev{left:calc(50% - 66px)}.lightbox .lb-next{right:calc(50% - 66px)}}

/* ---------- Community ---------- */
.community .values{padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));border-top:1px solid var(--line);margin-top:60px}
.community .values li{list-style:none;padding:26px 20px 26px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:24px;display:flex;align-items:baseline;gap:12px}
.community .values li small{font-family:var(--sans);font-size:10px;letter-spacing:.2em;color:var(--gold-deep)}
.community .stagger{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.community .stagger .frame:nth-child(2){margin-top:22%}

/* ---------- Founder ---------- */
.founder{position:relative;overflow:hidden}
.founder .portrait{position:relative}
.founder .portrait .frame{aspect-ratio:4/5;background:var(--midnight-2)}
.founder .portrait::before{content:"";position:absolute;inset:-22px 22px 22px -22px;border:1px solid rgba(197,164,109,.5);z-index:0}
.founder .portrait .frame{z-index:1}
.founder .sig{font-family:var(--serif);font-style:italic;font-size:44px;color:var(--gold);line-height:1}
.founder .role{font-size:11px;letter-spacing:.3em;text-transform:uppercase;margin-top:8px}
.founder .quote{font-family:var(--serif);font-size:clamp(26px,2.6vw,38px);line-height:1.3;font-style:italic}

/* ---------- Why cards ---------- */
.why-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:70px}
@media(min-width:640px){.why-grid{grid-template-columns:1fr 1fr}.why-card{min-height:290px;padding:38px 30px 34px}}
@media(min-width:1100px){.why-grid{grid-template-columns:repeat(4,1fr)}}
.why-card{position:relative;background:var(--pearl);text-align:left;padding:30px 24px 26px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;gap:30px;overflow:hidden;transition:color .6s var(--ease)}
.why-card::before{content:"";position:absolute;inset:0;background:var(--midnight);transform:translateY(101%);transition:transform .7s var(--ease-out);z-index:0}
.why-card>*{position:relative;z-index:1}
.why-card:hover::before,.why-card:focus-visible::before{transform:none}
.why-card:hover,.why-card:focus-visible{color:var(--pearl)}
.why-card .n{font-family:var(--serif);font-size:15px;letter-spacing:.2em;color:var(--gold-deep)}
.why-card:hover .n{color:var(--gold)}
.why-card h3{font-size:clamp(28px,2.4vw,34px);line-height:1.08}
.why-card .short{font-size:15px;color:var(--ink-soft);margin-top:12px;transition:color .6s}
.why-card:hover .short{color:rgba(250,248,243,.75)}
.why-card .more{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600}
.why-card .plus{width:38px;height:38px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:18px;opacity:.6;transition:transform .5s var(--ease-out),opacity .5s}
.why-card:hover .plus{transform:rotate(90deg);opacity:1}

dialog.panel{border:0;padding:0;margin:0 0 0 auto;height:100%;max-height:100%;width:min(620px,100vw);background:var(--pearl);color:var(--ink);box-shadow:-40px 0 120px rgba(13,31,39,.3)}
dialog.panel[open]{animation:panelIn .7s var(--ease-out)}
@keyframes panelIn{from{transform:translateX(100%)}to{transform:none}}
dialog.panel::backdrop{background:rgba(13,31,39,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
dialog.panel .inner{padding:clamp(28px,5vw,64px);padding-top:90px;position:relative;min-height:100%}
dialog.panel .close{position:absolute;top:24px;right:24px;min-height:44px;display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600}
dialog.panel .close span{font-size:24px;font-weight:300}
dialog.panel h3{font-size:clamp(38px,4vw,56px);margin:16px 0 26px}
dialog.panel .bf-deco{width:60px;color:var(--orange);margin-bottom:10px}

/* ---------- Final CTA ---------- */
.final{position:relative;min-height:92vh;min-height:92svh;display:grid;place-items:center;text-align:center;color:var(--pearl);overflow:hidden;background:var(--midnight-2)}
.final video,.final .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.final::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,rgba(13,31,39,.15),rgba(13,31,39,.72)),linear-gradient(180deg,rgba(13,31,39,.5),transparent 40%,rgba(13,31,39,.6))}
.final .wrap{position:relative;z-index:2}
.final .h2{font-size:clamp(46px,7.6vw,124px)}
.final p.sec{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.2vw,32px);margin-top:26px;color:rgba(250,248,243,.92)}
.final .btn-row{margin-top:44px;justify-content:center}
.final .bf-cross{position:absolute;z-index:3;width:54px;color:var(--orange);left:-70px;top:30%;offset-path:path("M -60 300 C 300 120, 520 420, 900 200 S 1500 60, 2200 160");offset-rotate:auto 90deg;opacity:0;pointer-events:none}
.final.in .bf-cross{animation:introFly 9s var(--ease) .4s forwards}

/* ---------- Divider ---------- */
.divider{display:flex;align-items:center;justify-content:center;gap:22px;padding:0 var(--gutter);color:var(--gold)}
.divider::before,.divider::after{content:"";height:1px;flex:1;max-width:280px;background:linear-gradient(90deg,transparent,rgba(197,164,109,.7))}
.divider::after{transform:scaleX(-1)}
.divider svg{width:34px;flex:none}
.section-divider{padding:46px 0;background:inherit}

/* ---------- Cards / features ---------- */
.cards{display:grid;gap:clamp(18px,2vw,30px);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{border-top:1px solid var(--line);padding-top:26px}
.dark .card{border-color:var(--line-light)}
.card .n{font-family:var(--serif);font-size:15px;letter-spacing:.2em;color:var(--gold-deep)}
.dark .card .n{color:var(--gold)}
.card h3{font-size:clamp(26px,2.2vw,32px);margin:12px 0 12px;line-height:1.1}
.card p{margin:0;color:var(--ink-soft)}
.dark .card p{color:rgba(250,248,243,.72)}
.quote-band{padding:clamp(90px,12vw,170px) 0;text-align:center}
.quote-band blockquote{margin:0 auto;max-width:22ch;font-family:var(--serif);font-size:clamp(36px,4.6vw,72px);line-height:1.08}
.quote-band blockquote em{color:var(--teal)}
.dark.quote-band blockquote em{color:var(--coral)}
.quote-band cite{display:block;margin-top:28px;font-style:normal;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep)}
.dark.quote-band cite{color:var(--gold)}

/* ---------- FAQ ---------- */
.faq-group{margin-top:60px}
.faq-group h2{font-size:clamp(30px,3vw,44px);margin-bottom:18px;text-transform:none}
details.qa{border-top:1px solid var(--line)}
details.qa:last-of-type{border-bottom:1px solid var(--line)}
details.qa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-family:var(--serif);font-size:clamp(22px,2vw,28px);line-height:1.25;min-height:44px}
details.qa summary::-webkit-details-marker{display:none}
details.qa summary .pm{flex:none;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;position:relative;transition:transform .5s var(--ease-out),background .4s}
details.qa summary .pm::before,details.qa summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:currentColor;margin:-.5px 0 0 -6px}
details.qa summary .pm::after{transform:rotate(90deg);transition:transform .5s var(--ease-out)}
details.qa[open] summary .pm{background:var(--midnight);color:var(--pearl);border-color:var(--midnight)}
details.qa[open] summary .pm::after{transform:rotate(0)}
details.qa .a{padding:0 0 30px;max-width:72ch;color:var(--ink-soft)}
details.qa .a p{margin:0 0 1em}
.verify-tag{display:none}
.show-verify [data-verify]{outline:2px dashed var(--coral);outline-offset:6px;position:relative}
.show-verify .verify-tag{display:inline-block;background:var(--coral);color:var(--midnight);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:3px 8px;margin:0 0 10px;border-radius:2px}

/* ---------- Form ---------- */
.form-shell{background:var(--pearl);color:var(--ink);padding:clamp(28px,4.5vw,64px);box-shadow:0 40px 120px rgba(13,31,39,.12);position:relative}
.dark .form-shell{box-shadow:0 40px 120px rgba(0,0,0,.35)}
.form-grid{display:grid;grid-template-columns:1fr;gap:26px 28px}
@media(min-width:700px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}}
.field{position:relative}
.field label,.field legend{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;margin-bottom:10px;color:var(--ink)}
.field .opt{text-transform:none;letter-spacing:.02em;font-weight:400;color:var(--ink-soft)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea,.field select{width:100%;font:inherit;font-size:17px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid rgba(20,44,54,.28);border-radius:0;padding:10px 0 12px;min-height:48px;transition:border-color .4s;-webkit-appearance:none;appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 12px) 22px,calc(100% - 7px) 22px;background-size:5px 5px;background-repeat:no-repeat}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-bottom-color:var(--teal);box-shadow:0 1px 0 var(--teal)}
.field .err{display:none;font-size:13px;color:#A2452F;margin-top:8px}
.field.invalid .err{display:block}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-bottom-color:#A2452F}
fieldset.field{border:0;padding:0;margin:0}
.choices{display:flex;flex-wrap:wrap;gap:10px}
.choice{position:relative}
.choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid rgba(20,44,54,.22);border-radius:40px;font-size:14px;transition:all .35s var(--ease)}
.choice input:checked+span{background:var(--midnight);color:var(--pearl);border-color:var(--midnight)}
.choice input:focus-visible+span{outline:2px solid var(--teal);outline-offset:3px}
.consent{display:flex;gap:14px;align-items:flex-start;font-size:14px;line-height:1.6;color:var(--ink-soft)}
.consent input{margin-top:5px;width:18px;height:18px;accent-color:var(--teal);flex:none}
.privacy-box{display:flex;gap:14px;font-size:13px;line-height:1.6;color:var(--ink-soft);background:var(--ivory);padding:18px 20px;border-left:2px solid var(--gold)}
.privacy-box svg{flex:none;width:18px;color:var(--teal);margin-top:2px}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;justify-content:space-between}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-status{display:none;font-size:15px;padding:16px 18px;border-radius:2px}
.form-status.err{display:block;background:#F7E3DD;color:#7C2F1E}
.form-success{display:none;text-align:center;padding:30px 0}
.form-success .bf-deco{width:80px;color:var(--orange);margin:0 auto 20px}
.form-success h3{font-size:clamp(34px,3.6vw,50px)}
form.sent .form-grid,form.sent .form-actions,form.sent .privacy-box{display:none}
form.sent .form-success{display:block}
.btn[disabled]{opacity:.6;pointer-events:none}

.crisis{display:flex;gap:16px;align-items:flex-start;font-size:14px;line-height:1.6;padding:20px 22px;border:1px solid rgba(197,164,109,.45);background:rgba(197,164,109,.08)}
.dark .crisis{color:rgba(250,248,243,.85)}
.crisis strong{font-weight:700}
.crisis a{color:inherit}

.contact-lines{display:grid;gap:22px}
.contact-lines .row{display:flex;flex-direction:column;gap:4px;padding-bottom:20px;border-bottom:1px solid var(--line-light)}
.contact-lines .row small{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.contact-lines .row a,.contact-lines .row span{font-family:var(--serif);font-size:28px;line-height:1.2}
[data-config-show]{display:none}
[data-config-show].has{display:flex}

/* ---------- Journal ---------- */
.journal-grid{display:grid;gap:clamp(36px,4vw,60px) clamp(20px,3vw,44px);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.post-card{display:flex;flex-direction:column;gap:18px}
.post-card .frame{aspect-ratio:4/3}
.post-card .frame img{transition:transform 1.4s var(--ease-out)}
.post-card:hover .frame img{transform:scale(1.05)}
.post-card .meta{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-deep);font-weight:600;display:flex;gap:14px}
.post-card h3{font-size:clamp(26px,2.2vw,32px);line-height:1.12;transition:color .4s}
.post-card:hover h3{color:var(--teal)}
.post-card p{margin:0;color:var(--ink-soft);font-size:15.5px}
.post-feature{display:grid;gap:clamp(30px,4vw,70px);align-items:center;margin-bottom:clamp(70px,8vw,120px)}
@media(min-width:900px){.post-feature{grid-template-columns:1.2fr .8fr}}
.post-feature .frame{aspect-ratio:16/11}
.article-head{padding-top:170px;padding-bottom:50px;background:var(--ivory)}
.article-head .h1{font-size:clamp(40px,5.4vw,84px);text-transform:none;max-width:18ch;margin-top:26px;line-height:1}
.article-head .meta{margin-top:28px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:18px}
.article-hero{margin-top:-1px;background:linear-gradient(var(--ivory) 50%,var(--pearl) 50%)}
.article-hero .frame{aspect-ratio:21/9}
.article-body{padding:clamp(60px,7vw,100px) 0 clamp(80px,9vw,140px)}
.article-body .prose{font-size:18.5px;line-height:1.8;margin:0 auto}
.article-body .prose>p:first-of-type::first-letter{font-family:var(--serif);float:left;font-size:5.2em;line-height:.82;padding:.06em .1em 0 0;color:var(--teal)}
.article-note{margin:50px auto 0;max-width:68ch;font-size:14px;line-height:1.65;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:24px}
.toc{margin:0 auto 46px;max-width:68ch;padding:22px 26px;background:var(--ivory);border-left:2px solid var(--gold)}
.toc strong{font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.toc ol{margin:12px 0 0;padding-left:1.2em;font-size:15.5px}
.toc li{margin:.3em 0}

/* ---------- Footer ---------- */
.footer{background:var(--midnight-2);color:rgba(250,248,243,.78);padding:clamp(80px,10vw,140px) 0 34px;position:relative;overflow:hidden}
.footer .big{font-family:var(--serif);color:var(--pearl);font-size:clamp(46px,8vw,128px);line-height:.92;text-transform:uppercase;letter-spacing:-.01em}
.footer .big em{font-style:italic;text-transform:none;color:var(--coral)}
.footer .top{display:grid;gap:50px;align-items:end}
@media(min-width:900px){.footer .top{grid-template-columns:1.4fr .6fr}}
.footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:40px;margin-top:clamp(70px,8vw,110px);padding-top:50px;border-top:1px solid var(--line-light)}
.footer h4{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:18px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px}
.footer ul a{color:rgba(250,248,243,.78);text-decoration:none;transition:color .3s}
.footer ul a:hover{color:var(--pearl)}
.footer .bottom{margin-top:70px;padding-top:26px;border-top:1px solid var(--line-light);display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;font-size:12.5px;color:rgba(250,248,243,.55)}
.footer .bottom a{color:rgba(250,248,243,.75);text-decoration:none}
.footer .bottom a:hover{color:var(--gold)}
.footer .bf-big{position:absolute;right:-60px;top:40px;width:clamp(240px,30vw,460px);color:rgba(197,164,109,.07);pointer-events:none}
.footer .brand{color:var(--pearl)}
.footer .crisis{margin-top:40px}

/* ---------- 404 ---------- */
.nf{min-height:100vh;display:grid;place-items:center;text-align:center;padding:120px var(--gutter)}

/* ---------- Mobile tune ---------- */
@media(max-width:699px){
  body{font-size:16.5px}
  :root{--nav-h:70px}
  .brand .mark{width:38px}
  .brand .word b{font-size:19px}
  .hero .btn-row .btn{width:100%}
  .btn{min-height:52px}
  .section{padding:84px 0}
  .media-note{bottom:10px}
}

/* ---------- Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv,.split .ln>span{opacity:1!important;transform:none!important}
  .rv-img{clip-path:none!important}
  .hero .scene video,.hero .scene img{transform:none!important}
  .bf-fly,.bf-cross{display:none}
}
/* form inside dark sections keeps light-surface colours */
.form-shell .muted,.dark .form-shell .muted{color:var(--ink-soft)}
.dark .form-shell .eyebrow{color:var(--teal-deep)}
.dark .form-shell .h3{color:var(--ink)}
.contact-lines .row[data-config-show]:not(.has){display:none}
.footer li[data-config-show].has{display:list-item}
.field label.choice{display:inline-block;margin:0;font-size:14px;letter-spacing:.01em;text-transform:none;font-weight:500}

/* Normal system cursor (butterfly cursor removed Oct 2026) */
html,html.cursor-on,html.cursor-on *{cursor:auto}
html.cursor-on a,html.cursor-on button,html.cursor-on .btn,html.cursor-on [role=button],html.cursor-on label.choice,html.cursor-on select{cursor:pointer}
.bf-cursor,.bf-dot{display:none!important}
