@font-face{font-family:'Cormorant';font-style:normal;font-weight:300 700;font-display:swap;src:url(https://villion-media.sites.tab.bot/assets/fonts/Cormorant.woff2) format('woff2')}
@font-face{font-family:'Geist';font-style:normal;font-weight:300 600;font-display:swap;src:url(https://villion-media.sites.tab.bot/assets/fonts/Geist.woff2) format('woff2')}
:root{--ink:#050505;--ink-2:#4a504e;--ink-3:#707674;--paper:#fff;--ivory:#f6f4ef;--stone:#ebe8e1;--line:#E5E5E5;--line-2:#cfcac0;
--brand:#015737;--brand-2:#00422a;--brand-tint:#e8f0ec;--em:#015737;
--sans:'Geist',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;--serif:'Cormorant','Cormorant Garamond',Georgia,serif;
--gut:clamp(20px,4vw,48px);--max:1280px;--gap:24px;--r:6px;--ease:cubic-bezier(.2,.7,.2,1)}
[hidden]{display:none!important}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
html,body{overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0;color:var(--ink)}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;line-height:1.04}
h1{font-size:clamp(44px,5.4vw,76px)}
h2{font-size:clamp(34px,3.4vw,50px)}
h3{font-family:var(--sans);font-size:19px;font-weight:500;letter-spacing:-.01em;line-height:1.3}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px}.skip:focus{left:10px;z-index:99}
.lede{font-size:clamp(18px,1.45vw,21px);color:var(--ink-2);max-width:36em;line-height:1.6}
.small{font-size:13px;color:var(--ink-3)}
/* utility + header */
.util{background:var(--ivory);border-bottom:1px solid var(--line);font-size:13px;color:var(--ink-2)}
.util .wrap{display:flex;justify-content:space-between;align-items:center;height:38px}
.util a{text-decoration:none}.util a:hover{color:var(--ink);text-decoration:underline}
.util nav{display:flex;gap:22px}
.hdr{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);flex:none}
.brand .v{height:34px;width:auto}
.brand .wm{height:15px;width:auto}
.menu{display:flex;gap:28px;align-items:center}
.menu a{text-decoration:none;font-size:15px;font-weight:450;color:var(--ink);padding:27px 0;border-bottom:2px solid transparent}
.menu a:hover,.menu a[aria-current]{border-bottom-color:var(--brand)}
.hdr-cta{display:flex;gap:12px;align-items:center}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0}
.mnav{display:none;border-top:1px solid var(--line);background:#fff}
.mnav a{display:block;padding:15px var(--gut);text-decoration:none;border-bottom:1px solid var(--line)}
.mnav.open{display:block}
/* buttons + links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 28px;border-radius:4px;font:500 15px/1 var(--sans);text-decoration:none;cursor:pointer;border:1px solid var(--brand);background:var(--brand);color:#fff;transition:background .2s}
.btn:hover{background:var(--brand-2)}
.btn.sm{height:40px;padding:0 18px;font-size:14px}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}.btn.light:hover{background:var(--stone)}
.tlink{color:var(--brand);font-weight:500;text-decoration:none;font-size:15px}
.tlink::after{content:" \203A"}
.tlink:hover{text-decoration:underline}
/* page hero: stacked, text then wide photo */
.phero{background:linear-gradient(var(--ivory) 0,var(--ivory) calc(100% - clamp(120px,14vw,220px)),#fff calc(100% - clamp(120px,14vw,220px)))}
.phero .wrap{padding-top:clamp(56px,7vw,104px)}
.phero .crest{height:72px;width:auto;margin-bottom:26px}
.phero h1{max-width:15em;margin-bottom:22px}
.phero .lede{margin-bottom:34px}
.phero .wide{margin-top:clamp(48px,5vw,72px);border-radius:var(--r);overflow:hidden;aspect-ratio:21/9;background:var(--stone)}
.phero .wide img{width:100%;height:100%;object-fit:cover}
.phero .cap{margin-top:12px;font-size:13px;color:var(--ink-3)}
/* sections */
.sec{padding:clamp(72px,8vw,120px) 0}
.sec.ivory{background:var(--ivory)}
.sec+.sec:not(.ivory){border-top:1px solid var(--line)}
.ivory+.sec,.sec+.ivory{border-top:0}
.sec-head{max-width:46em;margin-bottom:clamp(40px,4.4vw,60px)}
.sec-head h2{margin-bottom:16px}
.sec-head p{color:var(--ink-2);font-size:18px;margin:0}
.sec-head .tlink{display:inline-block;margin-top:18px}
.prose{max-width:46em}
.prose p{font-size:clamp(18px,1.4vw,20px);color:var(--ink-2);line-height:1.65}
.prose p:last-child{margin-bottom:0}
.prose a{color:var(--brand)}
/* facts strip */
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:clamp(40px,4vw,56px);border-top:1px solid var(--line)}
.facts .f{padding:28px 0 0}
.facts b{display:block;font-weight:500;font-size:18px;margin-bottom:6px}
.facts span{color:var(--ink-2);font-size:15.5px}
/* doors: image, then title, line, link */
.doors{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.door{text-decoration:none;display:flex;flex-direction:column}
.door .im{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--stone);margin-bottom:20px}
.door img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.door:hover img{transform:scale(1.03)}
.door h3{margin-bottom:8px}
.door p{color:var(--ink-2);font-size:15.5px;margin-bottom:14px}
.door .tlink{margin-top:auto}
/* tiles: 4:3 image, title, text */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:48px var(--gap)}
.tiles.four{grid-template-columns:repeat(4,1fr)}
.tile{display:flex;flex-direction:column;text-decoration:none}
.tile .im{aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--stone);margin-bottom:18px}
.tile .im img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.tile .im.mark{background:#060807;display:flex;align-items:center;justify-content:center}
.tile .im.mark img{width:auto;height:100%;object-fit:contain}
a.tile:hover .im img{transform:scale(1.03)}
.tile h3{margin-bottom:6px}
.tile p{color:var(--ink-2);font-size:15.5px;margin:0 0 12px}
.tile .meta{font-size:13px;color:var(--ink-3);margin:0 0 8px}
.tile .tlink{margin-top:auto}
.tile .use{font-size:13px;color:var(--ink-3);margin:0;padding-top:12px;border-top:1px solid var(--line)}
/* case studies */
.cases{display:grid;grid-template-columns:repeat(2,1fr);gap:56px var(--gap)}
.case .im{aspect-ratio:3/2;border-radius:var(--r);overflow:hidden;background:var(--stone);margin-bottom:22px}
.case .im img{width:100%;height:100%;object-fit:cover}
.case .meta{font-size:13px;color:var(--ink-3);margin:0 0 8px}
.case h3{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:-.005em;line-height:1.1;margin-bottom:12px}
.case p{color:var(--ink-2);font-size:16px}
.ticks{list-style:none;margin:0;padding:0}
.ticks li{position:relative;padding:11px 0 11px 28px;border-top:1px solid var(--line);font-size:15.5px;color:var(--ink)}
.ticks li:last-child{border-bottom:1px solid var(--line)}
.ticks li::before{content:"";position:absolute;left:3px;top:18px;width:11px;height:6px;border-left:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(-45deg)}
/* rows: 2px rule, title, text */
.rows{display:grid;grid-template-columns:repeat(3,1fr);gap:0 var(--gap)}
.rows.two{grid-template-columns:repeat(2,1fr)}
.rows.four{grid-template-columns:repeat(4,1fr)}
.row{border-top:2px solid var(--ink);padding:22px 0 40px}
.row h3{margin-bottom:10px}
.row p{color:var(--ink-2);font-size:16px;margin:0}
/* steps */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.steps.four{grid-template-columns:repeat(4,1fr)}
.step{counter-increment:s;padding-right:16px}
.step::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--brand);color:var(--brand);font-weight:500;margin-bottom:20px}
.step h3{margin-bottom:8px}
.step p{color:var(--ink-2);font-size:15.5px;margin:0}
/* cards deck */
.deck{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);margin-bottom:clamp(48px,5vw,72px)}
.deck .cap{margin-top:12px;font-size:13px;color:var(--ink-3)}
/* hotels list */
.hl{display:grid;grid-template-columns:repeat(4,1fr);column-gap:var(--gap);list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.hl li{padding:18px 0;border-bottom:1px solid var(--line)}
.hl b{display:block;font-weight:500;font-size:16px}
.hl span{display:block;font-size:13.5px;color:var(--ink-3);margin-top:2px}
.after{margin-top:28px}
/* places */
.places{display:flex;flex-wrap:wrap;gap:12px 32px;font-family:var(--serif);font-size:clamp(24px,2.2vw,32px);color:var(--ink)}
/* faq */
.faq{border-top:1px solid var(--line);max-width:58em}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:18px;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:11px;height:11px;border-right:1.5px solid var(--brand);border-bottom:1.5px solid var(--brand);transform:rotate(45deg) translate(-3px,-3px);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(225deg)}
.faq details p{color:var(--ink-2);font-size:16px;max-width:46em;margin:-6px 0 26px}
/* CTA band */
.band{background:var(--brand);color:#fff}
.band .wrap{display:flex;align-items:center;gap:clamp(24px,3vw,40px);padding-top:clamp(56px,6vw,80px);padding-bottom:clamp(56px,6vw,80px)}
.band .v{height:64px;width:auto;flex:none}
.band .t{flex:1}
.band h2{color:#fff;font-size:clamp(32px,3vw,44px)}
.band p{color:rgba(255,255,255,.82);margin:10px 0 0;font-size:17px}
.band .btn{flex:none}
/* footer */
.foot{background:var(--ivory);border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.foot .cols{display:grid;grid-template-columns:repeat(12,1fr);gap:40px var(--gap);padding-top:72px;padding-bottom:56px}
.foot .fb{grid-column:span 5}
.foot .fc{grid-column:span 2}
.foot .fc:last-child{grid-column:span 3}
.foot .fb .brand .v{height:40px}.foot .fb .brand .wm{height:17px}
.foot .fb p{margin-top:20px;max-width:26em}
.foot h4{font-size:14px;font-weight:500;color:var(--ink);margin-bottom:16px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:0 0 10px}
.foot a{text-decoration:none}.foot a:hover{text-decoration:underline;color:var(--ink)}
.foot .legal{border-top:1px solid var(--line);padding-top:24px;padding-bottom:36px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:13px;color:var(--ink-3)}
/* inquire */
.iqwrap{max-width:880px}
.formbox{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3.4vw,48px);margin-top:clamp(40px,4vw,56px)}
.types{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px;padding:0;border:0}
.types legend{font-size:15px;font-weight:500;color:var(--ink);margin-bottom:14px;padding:0}
.types label{position:relative;cursor:pointer}
.types input{position:absolute;opacity:0;pointer-events:none}
.types span{display:inline-block;padding:10px 18px;border:1px solid var(--line-2);border-radius:999px;font-size:14.5px;color:var(--ink-2)}
.types label:hover span{border-color:var(--ink-3);color:var(--ink)}
.types input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}
.types input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:20px var(--gap)}
.fd{display:flex;flex-direction:column;gap:7px}
.fd.full{grid-column:1/-1}
.fd label{font-size:14px;font-weight:500;color:var(--ink)}
.fd label i{font-style:normal;font-weight:400;color:var(--ink-3)}
.fd input,.fd select,.fd textarea{font:400 16px/1.4 var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:4px;padding:12px 14px;width:100%;appearance:none;-webkit-appearance:none}
.fd select{background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 15px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}
.fd textarea{min-height:120px;resize:vertical}
.fd input:focus,.fd select:focus,.fd textarea:focus{outline:2px solid var(--brand);outline-offset:0;border-color:var(--brand)}
.fd.bad input,.fd.bad textarea{border-color:#b3261e}
.fd .em{display:none;font-size:13px;color:#b3261e}
.fd.bad .em{display:block}
.tb[hidden]{display:none}
.fsub{margin-top:32px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.fsub small{font-size:13px;color:var(--ink-3)}
.fsub small a{color:var(--brand)}
.ferr{color:#b3261e;font-size:14px;margin:16px 0 0}
.ferr:empty{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sent{display:none}
.sent.show{display:block}
.sent h2{margin-bottom:14px}
.sent p{color:var(--ink-2);font-size:18px}
.sent .ref{color:var(--ink);font-weight:500;letter-spacing:.03em}
.aside-rows{margin-top:clamp(56px,6vw,80px)}
/* simple page */
.page{padding:clamp(64px,7vw,104px) 0}
.page .prose h1{margin-bottom:20px}
.page .prose h2{font-size:28px;margin:44px 0 10px}
.page .prose p{font-size:17px}
.nf{padding:clamp(96px,12vw,160px) 0}
.nf h1{margin-bottom:18px}
.nf p{color:var(--ink-2);margin-bottom:32px}
/* cards (rebuilt from the gala film) */
.vc{container-type:inline-size;width:100%;perspective:1400px}
.vc .face{position:relative;aspect-ratio:1.586;border-radius:4.6cqw;overflow:hidden;color:#f4f2ee;transform-style:preserve-3d;transition:transform .6s var(--ease);background:radial-gradient(130% 100% at 16% 0%,#2b2d2d 0%,#161717 44%,#0a0a0a 100%);box-shadow:0 4cqw 9cqw rgba(0,0,0,.34),0 1cqw 2cqw rgba(0,0,0,.2)}
.vc .face::before{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.09) 48%,rgba(255,255,255,.02) 54%,rgba(255,255,255,0) 62%);transform:translateX(var(--sx,0%));transition:transform .8s var(--ease);pointer-events:none}
.vc .face::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 max(1px,.2cqw) rgba(255,255,255,.2),inset 0 max(1px,.3cqw) 0 rgba(255,255,255,.07);pointer-events:none}
.vc .vm{position:absolute;left:7.2cqw;top:6.6cqw;width:8.6cqw;aspect-ratio:303/320;background:linear-gradient(160deg,#fff 0%,#d9dadb 28%,#8e9193 52%,#e6e7e8 72%,#a9acae 100%);-webkit-mask:url(https://villion-media.sites.tab.bot/assets/brand/villion-mark-white.png) center/contain no-repeat;mask:url(https://villion-media.sites.tab.bot/assets/brand/villion-mark-white.png) center/contain no-repeat}
.vc .wmk{position:absolute;right:6.6cqw;top:8.2cqw;display:flex;align-items:center;gap:1.6cqw}
.vc .wmk i{display:block;width:22cqw;aspect-ratio:4276/660;background:#f4f2ee;-webkit-mask:url(https://villion-media.sites.tab.bot/assets/brand/wordmark-white.svg) center/contain no-repeat;mask:url(https://villion-media.sites.tab.bot/assets/brand/wordmark-white.svg) center/contain no-repeat}
.vc .wmk b{font-family:var(--sans);font-weight:200;font-size:3.8cqw;line-height:1;color:rgba(255,255,255,.62);margin-top:-.3cqw}
.vc .bl{position:absolute;left:7cqw;bottom:6.6cqw}
.vc .br{position:absolute;right:6.6cqw;bottom:6.6cqw;text-align:right}
.vc .lb{font-family:var(--sans);font-weight:500;font-size:1.65cqw;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:1.4cqw}
.vc .nm{font-family:var(--serif);font-weight:500;font-size:6cqw;line-height:1.02;color:#f6f4f0}
.vc .nb{font-family:var(--sans);font-weight:400;font-size:1.9cqw;letter-spacing:.24em;color:rgba(255,255,255,.45);margin-top:2.6cqw;font-variant-numeric:tabular-nums}
.vc .r2{font-family:var(--serif);font-weight:500;font-size:6.4cqw;line-height:1;color:#f6f4f0;font-variant-numeric:lining-nums}
.vc.seat .wmk i{width:30cqw}.vc.seat .wmk b{font-size:5cqw}
.vc.seat .vm{width:11cqw}
.vc.seat .nm{font-size:13cqw;letter-spacing:.02em}
.vc.seat .r2{font-size:13cqw}
.vc.seat .lb{display:none}
.vc.seat .nb{display:none}

/* responsive */
@media (max-width:1100px){
 .menu{display:none}.burger{display:block}
 .doors,.tiles.four,.deck{grid-template-columns:repeat(2,1fr)}
 .rows.four,.steps.four,.hl{grid-template-columns:repeat(2,1fr)}
 .foot .fb{grid-column:1/-1}.foot .fc,.foot .fc:last-child{grid-column:span 4}
}
@media (max-width:820px){
 body{font-size:16px}
 .util{display:none}
 .hdr .wrap{height:64px}.brand .v{height:28px}.brand .wm{height:13px}
 .hdr-cta .btn{display:none}
 .phero .wide{aspect-ratio:4/3}
 .tiles,.rows,.rows.two,.steps,.cases,.facts{grid-template-columns:1fr}
 .tiles{gap:40px}
 .band .wrap{flex-direction:column;align-items:flex-start}
 .band .v{height:52px}
 .f2{grid-template-columns:1fr}
 .foot .fc,.foot .fc:last-child{grid-column:span 6}
}
@media (max-width:520px){
 .doors,.tiles.four{grid-template-columns:1fr}
 .door .im{aspect-ratio:4/3}
 .rows.four,.steps.four{grid-template-columns:1fr}
 .deck{grid-template-columns:1fr 1fr;gap:12px}
 .deck .vc.office{grid-column:1/-1}
 .hl{grid-template-columns:1fr 1fr}
 .foot .fc,.foot .fc:last-child{grid-column:1/-1}
}

.rows+.sec-head{margin-top:clamp(40px,4vw,64px)}
.rows+.rows .row{padding-top:22px}

/* ===== Atlas layer: pills, card stage, spec rows, quick reveals ===== */
.btn{border-radius:999px;padding:0 30px}
.btn.sm{padding:0 20px}
.stage{background:#050505;color:#f2f0ec;padding:clamp(88px,10vw,140px) 0;overflow:hidden;position:relative}
.stage::before{content:"";position:absolute;left:50%;top:38%;width:min(1100px,120vw);height:640px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(1,87,55,.28),rgba(1,87,55,0));pointer-events:none}
.stage .wrap{position:relative;text-align:center}
.stage h2{color:#fff;font-size:clamp(40px,4.6vw,66px);margin-bottom:16px}
.stage .lede{color:rgba(242,240,236,.72);margin:0 auto}
.stage .hero-card{max-width:620px;margin:clamp(48px,5vw,72px) auto 0}
.stage .seats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);max-width:760px;margin:var(--gap) auto 0}
.stage .note{margin-top:36px;font-size:13px;color:rgba(242,240,236,.5)}
.stage .tlink{color:#fff;display:inline-block;margin-top:28px}
.stage .vc .face{box-shadow:0 5cqw 12cqw rgba(0,0,0,.6),0 1cqw 3cqw rgba(0,0,0,.4)}
.stage .hero-card .vc .face{animation:sheen 1.6s var(--ease) .3s both}
@keyframes sheen{from{--sx:-60%}to{--sx:0%}}
.spec{border-top:1px solid var(--line)}
.spec>div{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap);padding:30px 0;border-bottom:1px solid var(--line);align-items:baseline}
.spec h3{grid-column:1/5;font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:-.005em;line-height:1.15}
.spec p{grid-column:5/12;margin:0;color:var(--ink-2);font-size:17px}
.case .sub{font-size:14px;color:var(--ink-3);margin:-4px 0 14px}
.door .im,.tile .im,.case .im,.phero .wide{will-change:transform}
html.js .rv{opacity:0;transform:translateY(12px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
html.js .rv.in{opacity:1;transform:none}
html.js .rv .im img{transform:scale(1.04);transition:transform .4s var(--ease)}
html.js .rv.in .im img{transform:none}
html.js a.tile.rv.in:hover .im img,html.js .door.rv.in:hover .im img{transform:scale(1.03)}
.phero .wide img{animation:settle .9s var(--ease) both}
@keyframes settle{from{transform:scale(1.035)}to{transform:none}}
.btn{transition:background .2s,transform .2s}.btn:hover{transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){html.js .rv,html.js .rv .im img{opacity:1;transform:none;transition:none}.phero .wide img,.stage .hero-card .vc .face{animation:none}}
@media (max-width:820px){.spec>div{grid-template-columns:1fr;gap:8px}.spec h3,.spec p{grid-column:1/-1}.spec h3{font-size:24px}.stage .seats{gap:10px}}

@property --sx{syntax:'<percentage>';inherits:true;initial-value:0%}

.faqs h3{font-family:var(--sans);font-size:18px;font-weight:500;letter-spacing:-.01em;line-height:1.4}
.faqs p{font-size:16px}

h1,h2,.case h3,.spec h3,.places{font-variant-numeric:lining-nums}

/* ===== iOS-premium layer ===== */
:root{--r:20px;--ease:cubic-bezier(.2,.8,.2,1)}
body{letter-spacing:-.006em}
.hdr{background:rgba(255,255,255,.72);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(5,5,5,.07)}
.mnav{background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
.phero .wide{border-radius:24px;box-shadow:0 1px 2px rgba(5,5,5,.04),0 12px 40px rgba(5,5,5,.08)}
.door .im,.tile .im,.case .im{border-radius:var(--r)}
.tile .im.mark{border-radius:var(--r)}
.formbox{border-radius:24px;border:1px solid rgba(5,5,5,.06);box-shadow:0 1px 2px rgba(5,5,5,.04),0 18px 50px rgba(5,5,5,.07)}
.btn{box-shadow:0 1px 2px rgba(1,87,55,.18),0 6px 18px rgba(1,87,55,.16)}
.btn.light{box-shadow:0 1px 2px rgba(0,0,0,.12),0 8px 24px rgba(0,0,0,.18)}
.btn,.door,a.tile,.tlink,.types span{transition:transform .25s var(--ease),background .2s,box-shadow .25s var(--ease),color .2s}
.btn:active,.door:active,a.tile:active,.types label:active span{transform:scale(.98)}
.hdr .btn.sm{box-shadow:none}
/* segmented control */
.types{background:#efede8;border-radius:16px;padding:5px;gap:4px;display:flex;flex-wrap:wrap}
.types legend{float:left;width:100%;margin:0 0 12px;padding:0}
.types span{border:0;border-radius:12px;padding:10px 16px;background:transparent;color:var(--ink-2);font-weight:450}
.types label:hover span{color:var(--ink);border:0}
.types input:checked+span{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(5,5,5,.08),0 3px 10px rgba(5,5,5,.08)}
.fd input,.fd select,.fd textarea{border-radius:12px;border-color:#dedad2;background:#fbfaf8;transition:border-color .2s,box-shadow .2s,background .2s}
.fd input:focus,.fd select:focus,.fd textarea:focus{outline:none;background:#fff;border-color:var(--brand);box-shadow:0 0 0 4px rgba(1,87,55,.12)}
.spec>div{transition:background .25s var(--ease)}

.types{background:none;padding:0;display:block}
.types legend{float:none;font-size:15px;font-weight:500;margin-bottom:12px}
.seg{background:#efede8;border-radius:16px;padding:5px;display:flex;flex-wrap:wrap;gap:4px}

/* ===== Atlas chapter system: centered chapters, narrow spec columns, icon pills ===== */
.phero .wrap{text-align:center}
.phero h1{margin-left:auto;margin-right:auto;max-width:13em;font-size:clamp(48px,6.2vw,92px);font-weight:500;letter-spacing:-.018em;line-height:1}
.phero .lede{margin-left:auto;margin-right:auto;max-width:34em}
.phero .crest{margin:0 auto 26px}
.phero .wide{text-align:left}
.sec{padding:clamp(88px,9.5vw,148px) 0}
.sec-head{text-align:center;margin-left:auto;margin-right:auto;max-width:40em;margin-bottom:clamp(48px,5vw,72px)}
.sec-head h2{font-size:clamp(40px,4.4vw,64px);letter-spacing:-.015em;line-height:1.02;margin-bottom:18px}
.sec-head p{max-width:34em;margin-left:auto;margin-right:auto}
.sec-head .tlink{margin-top:26px}
.prose{margin:0 auto;text-align:center;max-width:38em}
.facts{text-align:center}
.spec{max-width:920px;margin-left:auto;margin-right:auto}
.places{justify-content:center}
.after{text-align:center}
.rows+.sec-head{margin-top:clamp(64px,6vw,96px)}
/* icon pill links (section CTAs) */
.sec-head .tlink,.stage .tlink{display:inline-flex;align-items:center;gap:12px;height:46px;padding:0 8px 0 22px;border-radius:999px;background:#fff;border:1px solid rgba(5,5,5,.1);color:var(--ink);font-size:14.5px;box-shadow:0 1px 2px rgba(5,5,5,.04),0 6px 18px rgba(5,5,5,.06);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.sec-head .tlink::after,.stage .tlink::after{content:"";width:30px;height:30px;border-radius:50%;background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9M8.5 4.5 12 8l-3.5 3.5' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.sec-head .tlink:hover,.stage .tlink:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 2px 4px rgba(5,5,5,.06),0 12px 28px rgba(5,5,5,.1)}
.sec-head .tlink:active,.stage .tlink:active{transform:scale(.98)}
.ivory .sec-head .tlink{background:#fff}
.stage .tlink{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff;box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.stage .tlink::after{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9M8.5 4.5 12 8l-3.5 3.5' fill='none' stroke='%23050505' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.stage h2{font-size:clamp(44px,5.2vw,76px)}
.band .wrap{justify-content:center}
@media (max-width:820px){.phero h1{font-size:clamp(42px,11vw,56px)}.sec-head h2{font-size:clamp(34px,9vw,44px)}.band .wrap{align-items:center;text-align:center}}

.band .wrap{flex-direction:column;text-align:center;gap:22px}
.band .v{height:72px}
.band h2{font-size:clamp(40px,4.4vw,64px)}
.band p{margin-top:12px}
.band .t{flex:none}

/* ===== v11: content additions, built only from v6 tokens and patterns ===== */
.door .im video,.tile .im video,.case .im video,.phero .wide video{display:block;width:100%;height:100%;object-fit:cover}
.row .tlink{display:inline-block;margin-top:14px}
.sec[id]{scroll-margin-top:90px}
@media (max-width:1280px) and (min-width:1101px){.menu{gap:20px}.menu a{font-size:14.5px}}
/* inquiry forms: v6 formbox, v6 fields, v6 segmented pills */
.formbox{text-align:left}
.iq-head .back{display:inline-block;margin-bottom:22px;font-size:14px;color:var(--ink-3);text-decoration:none}
.iq-head .back:hover{color:var(--ink);text-decoration:underline}
.iqwrap{margin:0 auto}
.iqform .fstep{border:0;margin:0;padding:0;min-width:0}
.iqform .st{font-family:var(--serif);font-size:30px;font-weight:500;line-height:1.1;margin:0 0 24px;padding:0}
.prog{margin:0 0 30px}
.prog .pl{display:flex;gap:10px;font-size:13px;color:var(--ink-3);margin:0 0 10px}
.prog .pb{height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.prog .pb b{display:block;height:100%;background:var(--brand);transition:width .35s var(--ease)}
.fd.types{display:block;grid-column:1/-1;margin:0}
.fd.types legend i{font-style:normal;font-weight:400;color:var(--ink-3)}
.fd.types.bad .seg{box-shadow:0 0 0 1px #b3261e}
.fd.types .em{margin-top:8px}
.fnav{margin-top:32px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--line-2)}.btn.ghost:hover{background:var(--stone)}
.iqform .fine{font-size:13px;color:var(--ink-3);margin:20px 0 0}.iqform .fine a{color:var(--brand)}
.sent[hidden]{display:none!important}
.sent:not([hidden]){display:block}
.sent .meta{font-size:15px;color:var(--ink-3)}
/* audience chooser: v6 door rows inside the formbox */
.choose{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.choose li{border-bottom:1px solid var(--line)}
.choose a{display:grid;grid-template-columns:1fr auto;gap:4px 24px;align-items:center;padding:20px 4px;text-decoration:none}
.choose .lt{font-weight:500;font-size:17px;color:var(--ink)}
.choose .ll{grid-row:2;color:var(--ink-2);font-size:15px}
.choose .la{grid-row:1/3;grid-column:2;width:30px;height:30px;border-radius:50%;background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9M8.5 4.5 12 8l-3.5 3.5' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.choose a:hover .lt{color:var(--brand)}

/* v12: App pill beside Inquire (v6 button, ghost variant), two hero CTAs */
.hdr-cta .btn.app{display:inline-flex;align-items:center;gap:7px;margin-right:8px}
.hdr-cta .btn.app img{display:block;width:12px;height:auto}
.phero .hero-ctas{margin:0}.phero .hero-ctas .btn{margin:6px 5px 0}
@media (max-width:600px){.hdr-cta .btn.app{display:none}}

/* v13: family row, five across */
.tiles.five{grid-template-columns:repeat(5,1fr);gap:40px 20px}
.tiles.five .tile p{font-size:15px}
@media (max-width:1100px){.tiles.five{grid-template-columns:repeat(6,1fr)}.tiles.five>.tile{grid-column:span 2}.tiles.five>.tile:nth-child(4){grid-column:2/span 2}}
@media (max-width:820px){.tiles.five{grid-template-columns:1fr}.tiles.five>.tile,.tiles.five>.tile:nth-child(4){grid-column:auto}}

/* v13: a heading that follows content inside a section gets a full section gap */
.sec .wrap>:not(.sec-head)+.sec-head,.sec .wrap>.rows+.sec-head{margin-top:clamp(88px,9.5vw,148px)}
/* v13: heroes without an image */
.phero.noimg{background:var(--ivory)}
.phero.noimg .wrap{padding-bottom:clamp(64px,7vw,104px)}

/* v13: Eminence lockup */
.tile .im.lock{position:relative}
.tile .im.lock::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.5));pointer-events:none}
.tile .im.lock img.ovl{position:absolute;z-index:1;left:50%;top:50%;width:62%;max-width:240px;height:auto;object-fit:contain;transform:translate(-50%,-50%)!important;transition:none;animation:none!important}
a.tile:hover .im.lock img.ovl{transform:translate(-50%,-50%)}
.em-lock{display:block;width:240px;max-width:60%;height:auto;margin:0 auto clamp(28px,3vw,40px)}
.sec .wrap>.em-lock+.sec-head{margin-top:0}

/* v13: full-bleed feature bands (Home) */
.feat{position:relative;overflow:hidden;background:#111;color:#fff;text-align:center;padding:clamp(120px,13vw,190px) 0}
.feat .fbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.55),rgba(10,10,10,.72))}
.feat .wrap{position:relative;z-index:1}
.feat h2{color:#fff;max-width:18em;margin:0 auto 18px}
.feat p{color:rgba(255,255,255,.86);max-width:38em;margin:0 auto 32px}
.feat .flock{display:block;width:220px;max-width:60%;height:auto;margin:0 auto 30px}
.tiles.duo{grid-template-columns:repeat(2,1fr)}
@media (max-width:820px){.tiles.duo{grid-template-columns:1fr}}
.appvid{margin-top:clamp(40px,5vw,64px);border-radius:var(--r);overflow:hidden;background:#050505;aspect-ratio:960/412}
.appvid video{display:block;width:100%;height:100%;object-fit:cover}


/* v13e home hero: clean, text only, tight */
.phero.hometight .wrap{padding-top:clamp(72px,8vw,120px)!important;padding-bottom:clamp(40px,4vw,56px)!important}
.phero.hometight + .sec{padding-top:clamp(40px,4vw,64px)!important}

/* v13g merged hero + family */
.phero.merged .lede{margin-bottom:clamp(40px,5vw,64px)}
.phero.merged .tiles.five{text-align:left;margin-top:0}
.phero.merged .tile h3{font-size:clamp(22px,1.8vw,26px)}
.phero.merged .tile p{margin-bottom:0}
.phero.merged .wrap{padding-bottom:clamp(64px,7vw,104px)!important}
h2{text-wrap:balance}
/* v14: text-card system — ruled grid: hairline outer frame, hairline cell dividers, contrasting surface (text-only grids, steps, dated rows, name lists) */
.tcards{counter-reset:tc;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(5,5,5,.11);border:1px solid rgba(5,5,5,.11);border-radius:calc(var(--r)*.6);overflow:hidden;text-align:left}
.tcards.c2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1040px;margin:0 auto}
.tcards.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tcards.c5{grid-template-columns:repeat(5,minmax(0,1fr))}
.tcard{counter-increment:tc;display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;align-content:start;padding:clamp(28px,2.8vw,40px);background:var(--ivory);color:var(--ink);text-decoration:none}
.ivory .tcard{background:var(--paper)}
.tcards.c5 .tcard{padding:clamp(24px,2.2vw,32px)}
.tcard::before,.tcard .when{display:block;font:500 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brand);padding-bottom:18px;margin-bottom:26px;border-bottom:1px solid rgba(5,5,5,.1);font-variant-numeric:tabular-nums}
.tcard::before{content:counter(tc,decimal-leading-zero)}
.tcards.dated .tcard::before{content:none;display:none}
.tcard h3{font-family:var(--serif);font-size:clamp(24px,2vw,29px);font-weight:500;letter-spacing:-.005em;line-height:1.12;margin:0 0 14px;font-variant-numeric:lining-nums;text-wrap:balance}
.tcards.c5 h3{font-size:clamp(22px,1.7vw,25px)}
.tcard p{max-width:60ch;margin:0 0 28px;color:var(--ink-2);font-size:15.5px;line-height:1.65}
.tcard p:last-child{margin-bottom:0}
.tcard .tlink,a.tcard.go::after{align-self:end;padding-top:18px;border-top:1px solid rgba(5,5,5,.1)}
.tcard .tlink{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14.5px}
.tcard .tlink::after,a.tcard.go::after{content:"";flex:none;width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9M8.5 4.5 12 8l-3.5 3.5' fill='none' stroke='%23015737' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
a.tcard.go::after{display:block;width:100%;height:34px;background-position:right bottom}
a.tcard{transition:background-color .25s var(--ease)}
a.tcard:hover{background-color:var(--brand-tint)}
a.tcard:hover .tlink{text-decoration:none;color:var(--brand-2)}
.namelist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--gap);list-style:none;margin:0;padding:0;border-top:1px solid rgba(5,5,5,.12);text-align:left}
.namelist li{padding:20px 0 19px;border-bottom:1px solid rgba(5,5,5,.1);font-family:var(--serif);font-size:clamp(22px,1.8vw,26px);font-weight:500;line-height:1.2;color:var(--ink);font-variant-numeric:lining-nums}
.namelist b{display:block;font-weight:500}
.namelist span{display:block;margin-top:8px;font:500 11.5px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
@media (max-width:1100px){.tcards.c4,.tcards.c5{grid-template-columns:repeat(2,minmax(0,1fr))}.tcards.c5>:last-child:nth-child(odd){grid-column:1/-1}.namelist{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.tcards,.tcards.c2,.tcards.c4,.tcards.c5{grid-template-columns:1fr;max-width:none}.tcards.c5>:last-child:nth-child(odd){grid-column:auto}.tcard,.tcards.c5 .tcard{padding:28px 24px}.tcard::before,.tcard .when{margin-bottom:22px}.tcard h3{font-size:25px}.namelist{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.namelist li{padding:16px 0 15px;font-size:21px}}

/* go-cards that carry their own link row: one rule, one arrow */
a.tcard.go:has(.tlink)::after{display:none}
.tcard .tlink{white-space:nowrap}

.vc .bl,.vc .bl .lb,.vc .bl .nm,.vc .bl .nb{text-align:left}.vc .br,.vc .br .lb,.vc .br .r2{text-align:right}

.tcard .plinks{margin-top:auto;padding-top:14px}.tcard .plinks .tlink{display:inline;white-space:nowrap}

/* balanced two-column cases */
.cases{align-items:stretch}.case{display:flex;flex-direction:column}.case>p:not(.sub){flex:1 0 auto}.case .ticks{margin-top:8px}.case>.tlink{margin-top:18px}
/* family cards v2 */
.tiles.five{gap:20px}
.tiles.five .tile{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:10px 10px 22px;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease)}
.tiles.five .tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(10,20,15,.35);border-color:transparent}
.tiles.five .tile .im{aspect-ratio:4/5;border-radius:14px;margin-bottom:20px}
.tiles.five .tile:hover .im img{transform:scale(1.04)}
.tiles.five .tile h3{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.05;letter-spacing:-.01em;margin:0 12px 8px}
.tiles.five .tile p{font-size:14.5px;line-height:1.55;margin:0 12px 18px}
.tiles.five .tile .fx{position:absolute;top:22px;left:22px;font-size:11px;letter-spacing:.18em;color:#fff;background:rgba(0,0,0,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:5px 9px;border-radius:999px}
.tiles.five .tile .tlink{margin:auto 12px 0;padding-top:14px;border-top:1px solid var(--line);font-size:14px}

/* family cards v3: wider, shorter, names only */
.fam-wrap,.tiles.five{max-width:none}
section:has(.tiles.five) .wrap{max-width:1500px}
.tiles.five{gap:16px}
.tiles.five .tile{padding:8px 8px 16px}
.tiles.five .tile .im{aspect-ratio:4/3;margin-bottom:14px}
.tiles.five .tile h3{font-size:24px;margin:0 10px 10px}
.tiles.five .tile .tlink{margin:auto 10px 0;padding-top:10px}

.foot .social{display:flex;gap:18px;margin-top:22px;flex-wrap:wrap}.foot .social a{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);text-decoration:none;font-size:14px}.foot .social a:hover{color:var(--ink)}
.foot .legal a{color:inherit;text-decoration:none}.foot .legal a:hover{text-decoration:underline}
.prose h3{font-family:inherit;font-size:17px;font-weight:600;margin:26px 0 8px}.prose ul{padding-left:20px;margin:0 0 16px}.prose li{margin:6px 0;color:var(--ink-2)}

.prose.legaldoc,.prose.legaldoc h2,.prose.legaldoc h3,.prose.legaldoc p{text-align:left}.prose.legaldoc h2{margin-top:40px}

.foot .social{display:grid;grid-template-columns:repeat(2,max-content);gap:10px 22px}

/* Oct 23: keep App button visible in mobile header */
@media (max-width:820px){.hdr-cta .btn.app{display:inline-flex!important;padding:7px 12px;font-size:13px;margin-right:10px}}
@media (max-width:360px){.hdr-cta .btn.app img{display:none}}
