@font-face{font-family:"Newsreader";src:url("../fonts/newsreader-latin-wght-normal.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:"Newsreader";src:url("../fonts/newsreader-latin-wght-italic.woff2") format("woff2");font-weight:200 800;font-style:italic;font-display:swap}@font-face{font-family:"Jost";src:url("../fonts/jost-latin-wght-normal.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
/* Shared base for the UNIDEX concept sites. Theme variables and flavor rules follow below. */
:root{--pad:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--fb);font-size:.96rem;line-height:1.7;font-weight:var(--bw,400);background:var(--dark);color:var(--on-dark)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{margin:0;font-family:var(--fd);font-weight:var(--tw);text-transform:var(--tt);letter-spacing:var(--ls);line-height:1.04}
h1 em,h2 em,h3 em,.em em{font-style:var(--em-style,italic);text-transform:var(--em-tt,none);color:var(--em);font-family:var(--em-font,var(--fd));font-weight:var(--em-w,inherit)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--acc);color:var(--acc-ink);padding:8px 14px;z-index:300}
.skip:focus{left:8px}
:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.wrap{width:min(1180px,100%);margin:0 auto}
.eyebrow{display:block;font-family:var(--fb);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--mu);margin:0 0 16px}
.muted{color:var(--mu)}

/* tones */
.tone-dark{background:var(--dark);color:var(--on-dark);--ln:var(--ln-d);--mu:var(--mute-d);--em:var(--em-d)}
.tone-dark2{background:var(--dark2);color:var(--on-dark);--ln:var(--ln-d);--mu:var(--mute-d);--em:var(--em-d)}
.tone-light{background:var(--light);color:var(--on-light);--ln:var(--ln-l);--mu:var(--mute-l);--em:var(--em-l)}
.tone-mid{background:var(--mid);color:var(--on-mid);--ln:var(--ln-m);--mu:var(--mute-m);--em:var(--em-m)}
body{--ln:var(--ln-d);--mu:var(--mute-d);--em:var(--em-d)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:.6em 1.6em;border:1px solid var(--acc);background:var(--acc);color:var(--acc-ink);border-radius:var(--btn-r);font:inherit;font-family:var(--fb);font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.btn:hover{background:transparent;color:currentColor;border-color:currentColor}
.btn-line{background:transparent;color:inherit;border-color:var(--ln-strong,currentColor)}
.btn-line:hover{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.btns{display:flex;flex-wrap:wrap;gap:12px}

/* header */
.hdr{position:absolute;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;gap:16px;padding:16px var(--pad);color:var(--hdr-c,var(--on-dark));border-bottom:1px solid var(--hdr-ln,var(--ln-d))}
.logo{display:flex;flex-direction:column;line-height:1;text-decoration:none;margin-right:auto}
.logo b{font-family:var(--fd);font-weight:var(--logo-w,400);font-size:var(--logo-s,1.4rem);letter-spacing:var(--logo-ls,.12em);text-transform:var(--logo-tt,uppercase)}
.logo small{font-family:var(--fb);font-size:.56rem;letter-spacing:.28em;text-transform:uppercase;opacity:.7;margin-top:6px}
.hdr nav{display:none}
.hdr .btn{display:none;min-height:40px;padding:.45em 1.1em;font-size:.64rem}
.menu-btn{width:44px;height:44px;display:grid;place-items:center;background:none;border:1px solid var(--hdr-ln,var(--ln-d));border-radius:var(--btn-r);color:inherit;cursor:pointer}
.menu-btn i{display:block;width:20px;height:8px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.overlay{position:fixed;inset:0;z-index:30;background:var(--dark2);color:var(--on-dark);display:flex;flex-direction:column;justify-content:center;padding:100px var(--pad) 40px}
.overlay[hidden]{display:none}
.overlay a{font-family:var(--fd);text-transform:var(--tt);font-size:clamp(2.2rem,10vw,4.2rem);line-height:1.15;text-decoration:none;padding:6px 0;border-bottom:1px solid var(--ln-d);display:flex;align-items:baseline;gap:16px}
.overlay a small{font-family:var(--fb);font-size:.68rem;letter-spacing:.16em;opacity:.6}
.overlay p{margin-top:24px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
body.menu-open{overflow:hidden}
body.menu-open .hdr{position:fixed}

/* hero */
.hero{position:relative;min-height:min(100svh,880px);display:flex;align-items:flex-end;padding:130px var(--pad) 52px;overflow:hidden;background:var(--dark);color:var(--on-dark);--mu:var(--mute-d);--em:var(--em-d)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:var(--hero-shade)}
.hero-in{position:relative;z-index:1;width:100%}
.hero h1{font-size:clamp(2.9rem,12.5vw,var(--h1-max,6.6rem));line-height:.98;margin-bottom:22px}
.hero .lead{max-width:32em;opacity:.88}
.hero .btns{margin-top:26px}
.hero-center{align-items:center;text-align:center}
.hero-center .hero-in{max-width:1000px;margin:0 auto}
.hero-center .lead{margin:0 auto}
.hero-center .btns{justify-content:center}
.hero-left .hero-in{max-width:720px}
.scroll{margin:34px 0 0;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;opacity:.65;display:flex;flex-direction:column;gap:4px}
.hero-center .scroll{align-items:center}
.counter-mini{position:absolute;right:var(--pad);bottom:48px;z-index:1;font-family:var(--fd);font-size:1.1rem;display:none;align-items:center;gap:14px}
.counter-mini span{width:60px;height:1px;background:currentColor;opacity:.5}

/* split hero (presentation style) */
.hero-split{display:grid;align-items:stretch;padding:0;min-height:0;background:var(--light);color:var(--on-light);--mu:var(--mute-l);--em:var(--em-l)}
.hero-split::after{display:none}
.hs-panel{padding:120px var(--pad) 36px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.hs-panel .tag{font-family:var(--fd);text-transform:uppercase;font-size:1rem;line-height:1.15;letter-spacing:.04em}
.hs-media{position:relative;min-height:440px;overflow:hidden;background:var(--dark);color:var(--on-dark);--em:var(--em-d)}
.hs-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hs-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.35))}
.hs-media h1{position:absolute;left:var(--pad);right:var(--pad);top:40px;z-index:1;font-size:clamp(2.8rem,12vw,6.4rem);line-height:.92}
.hs-strip{position:absolute;left:0;right:0;bottom:0;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:16px var(--pad);background:rgba(255,255,255,.12);backdrop-filter:blur(10px);font-size:.72rem;line-height:1.4}
.hs-strip b{display:block;font-weight:600}
.hs-panel .lead{color:var(--mu);font-size:.88rem;max-width:26em}

/* framed hero (thin sans, green) */
.hero-framed{padding:110px var(--pad) 40px;align-items:stretch;background:var(--dark2)}
.hero-framed::after{display:none}
.hero-framed>img{display:none}
.hf{position:relative;width:100%;display:grid;align-content:end;min-height:560px;overflow:hidden}
.hf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hf::after{content:"";position:absolute;inset:0;background:var(--hero-shade)}
.hf .hero-in{padding:36px 22px}
.rail{display:none}

/* booking bar */
.bookbar{display:grid;gap:14px;max-width:860px;margin:30px auto 0;text-align:left}
.bookbar label{display:grid;gap:2px}
.bookbar label span{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.bookbar select{appearance:none;-webkit-appearance:none;background:transparent var(--caret) no-repeat right 2px center;border:0;border-bottom:1px solid var(--ln-d);color:inherit;font:inherit;font-size:.9rem;padding:8px 18px 8px 0;border-radius:0;cursor:pointer}
.bookbar select option{color:#111}

/* sections */
.sec{position:relative;padding:76px var(--pad)}
.meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:44px}
.title-wrap{position:relative;margin-bottom:34px}
.title-wrap h2{position:relative}
.ghost{position:absolute;left:-4px;top:-.55em;font-family:var(--fd);font-size:clamp(4rem,19vw,10rem);line-height:1;white-space:nowrap;pointer-events:none;user-select:none;color:currentColor;opacity:.06;text-transform:var(--tt)}
h2{font-size:clamp(2.2rem,8.6vw,var(--h2-max,4rem))}
.intro-text{max-width:36em;color:var(--mu)}
.head-row{display:grid;gap:18px;margin-bottom:36px}

/* features strip */
.features{list-style:none;margin:0;padding:26px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:22px 0;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln)}
.features li{text-align:center;padding:0 10px;display:grid;gap:4px;justify-items:center}
.features li:nth-child(odd){border-right:1px solid var(--ln)}
.features .n{font-family:var(--fd);font-size:1.1rem;color:var(--em)}
.features b{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.features span{font-size:.76rem;color:var(--mu);line-height:1.4}

/* intro split with tiles */
.intro{display:grid;gap:40px}
.intro .tx p{color:var(--mu);max-width:32em}
.tiles{display:grid;gap:12px}
.tile{position:relative;margin:0;overflow:hidden}
.tile img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .8s}
.tile:hover img{transform:scale(1.04)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.7))}
.tile figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;color:#fff;font-size:.8rem}
.tile figcaption b{display:block;font-family:var(--fd);font-weight:var(--tw);text-transform:var(--tt);font-size:1.5rem;line-height:1.1;letter-spacing:var(--ls)}
.principles{display:grid;gap:0;margin-top:26px;border-top:1px solid var(--ln)}
.principles div{padding:14px 0;border-bottom:1px solid var(--ln)}
.principles b{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase}
.principles span{font-size:.86rem;color:var(--mu)}
.collage{position:relative;padding-bottom:60px}
.collage .c1{width:82%;aspect-ratio:4/3.5;object-fit:cover}
.collage .c2{position:absolute;right:0;bottom:0;width:54%;aspect-ratio:4/3;object-fit:cover;border:6px solid var(--frame-c,var(--light))}

/* numbered list */
.list{list-style:none;padding:0;margin:0;display:grid;border-top:1px solid var(--ln)}
.list li{display:grid;grid-template-columns:46px 1fr;column-gap:12px;padding:22px 0;border-bottom:1px solid var(--ln)}
.list .n{font-family:var(--fd);font-style:var(--n-style,normal);color:var(--em);font-size:1rem;grid-row:span 3;padding-top:4px}
.list h3{font-size:clamp(1.2rem,5.4vw,1.7rem);margin-bottom:6px;overflow-wrap:break-word}
.list p{color:var(--mu);font-size:.88rem;margin:0}
.list .meta-s{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-top:8px}

/* card slider */
.slider{position:relative}
.track{list-style:none;padding:0 var(--pad);margin:0 calc(var(--pad) * -1);display:grid;grid-auto-flow:column;grid-auto-columns:80%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative}
.track::-webkit-scrollbar{display:none}
.track li{scroll-snap-align:start}
.card{position:relative;display:block;width:100%;padding:0;border:0;background:var(--dark2);overflow:hidden;text-align:left;color:#fff;font:inherit;cursor:pointer;text-decoration:none}
.card img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .7s}
.card:hover img{transform:scale(1.05)}
.card .cap{position:absolute;left:0;right:0;bottom:0;padding:70px 18px 18px;background:linear-gradient(transparent,rgba(0,0,0,.85));display:grid;gap:2px}
.card .cap b{font-family:var(--fd);font-weight:var(--tw);text-transform:var(--tt);letter-spacing:var(--ls);font-size:1.45rem;line-height:1.1}
.card .cap span{font-size:.78rem;opacity:.85}
.card .cap em{font-style:normal;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;margin-top:6px;color:var(--acc)}
.card .no{position:absolute;top:16px;left:18px;font-family:var(--fd);font-size:.9rem;color:#fff;opacity:.85}
.counter{display:flex;align-items:center;gap:14px;font-family:var(--fd);font-size:1.05rem;margin:26px 0 0}
.counter .bar{width:120px;height:1px;background:var(--ln);position:relative}
.counter .bar span{position:absolute;left:0;top:0;height:1px;width:20%;background:currentColor;transition:width .3s}
.note{font-size:.76rem;color:var(--mu);margin:10px 0 0}

/* band */
.band{position:relative;min-height:440px;display:grid;place-items:center;text-align:center;overflow:hidden;padding:70px var(--pad);color:#fff;--em:var(--em-d)}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band::after{content:"";position:absolute;inset:0;background:var(--band-shade,rgba(0,0,0,.55))}
.band p{position:relative;z-index:1;font-family:var(--fd);text-transform:var(--tt);letter-spacing:var(--ls);font-weight:var(--tw);font-size:clamp(1.9rem,7vw,4.2rem);line-height:1.1;margin:0;max-width:18em}
.band small{position:relative;z-index:1;display:block;margin-top:18px;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;opacity:.8}

/* spotlight */
.spot{display:grid}
.spot figure{margin:0}
.spot figure img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.spot .tx{padding:56px var(--pad)}
.spot .tx>p{color:var(--mu);max-width:30em}
.specs{display:flex;flex-wrap:wrap;gap:16px 0;margin:26px 0}
.specs div{padding:0 18px;border-left:1px solid var(--ln)}
.specs div:first-child{padding-left:0;border:0}
.specs dt{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mu)}
.specs dd{margin:4px 0 0;font-size:.88rem}
.spot-foot{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center}
.price{font-family:var(--fd);font-size:1.7rem;margin:0}

/* tabs (menus, price lists, timetables) */
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--ln);margin:0 0 30px}
.tabs button{flex:none;background:none;border:0;border-bottom:1px solid transparent;margin-bottom:-1px;color:inherit;opacity:.6;font:inherit;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;padding:12px 14px;cursor:pointer}
.tabs button[aria-selected="true"]{opacity:1;border-color:var(--em)}
.panel[hidden]{display:none}
.panel-note{font-family:var(--fd);font-style:italic;color:var(--em);margin-bottom:18px}
.items{list-style:none;padding:0;margin:0;display:grid;column-gap:64px}
.items li{display:grid;grid-template-columns:1fr auto;column-gap:16px;padding:16px 0;border-bottom:1px solid var(--ln)}
.items h3{font-size:1.15rem;line-height:1.3;letter-spacing:.02em}
.items p{grid-column:1/-1;margin:4px 0 0;font-size:.85rem;color:var(--mu)}
.items .pr{font-family:var(--fd);font-size:1.15rem;color:var(--em);white-space:nowrap}

/* prices */
.prices{display:grid;gap:14px}
.plan{border:1px solid var(--ln);padding:30px 26px;display:flex;flex-direction:column;gap:10px}
.plan.hi{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);--mu:currentColor;--ln:rgba(0,0,0,.18)}
.plan h3{font-size:1.6rem}
.plan .amt{font-family:var(--fd);font-size:2.4rem;line-height:1}
.plan .amt small{font-family:var(--fb);font-size:.72rem;letter-spacing:.1em;opacity:.8;margin-left:6px}
.plan ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px;font-size:.88rem}
.plan li{padding-top:8px;border-top:1px solid var(--ln)}

/* steps */
.steps{list-style:none;padding:0;margin:0;display:grid;counter-reset:s}
.steps li{display:grid;grid-template-columns:56px 1fr;column-gap:12px;padding:22px 0;border-top:1px solid var(--ln)}
.steps li::before{counter-increment:s;content:"0" counter(s);font-family:var(--fd);font-size:1.7rem;line-height:1;color:var(--em);grid-row:span 2}
.steps h3{font-family:var(--fb);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:6px}
.steps p{font-size:.88rem;color:var(--mu);margin:0}

/* team */
.team{display:grid;border-top:1px solid var(--ln)}
.team article{padding:24px 0;border-bottom:1px solid var(--ln)}
.mono{width:72px;height:72px;border:1px solid var(--ln);border-radius:50%;display:grid;place-items:center;font-family:var(--fd);font-size:1.5rem;margin-bottom:16px}
.team h3{font-size:1.7rem;margin:4px 0 8px}
.team p{color:var(--mu);font-size:.86rem;margin:0}

/* quote */
.quote{margin:0 auto;max-width:860px;text-align:center}
.quote::before{content:"“";display:block;font-family:var(--fd);font-size:4.4rem;line-height:.6;color:var(--em);margin-bottom:16px}
.quote p{font-family:var(--fd);font-size:clamp(1.3rem,4.6vw,2rem);line-height:1.4;text-transform:none;letter-spacing:0}
.quote footer{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mu)}

/* faq */
.faq-grid{display:grid;gap:30px}
.faq details{border-top:1px solid var(--ln);padding:18px 0}
.faq details:last-child{border-bottom:1px solid var(--ln)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font-family:var(--fd);font-size:1.25rem;line-height:1.25;text-transform:var(--tt);letter-spacing:var(--ls)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--fb);font-weight:300;font-size:1.5rem;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:12px 0 0;color:var(--mu);font-size:.88rem;max-width:40em}

/* gallery grid */
.grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid li:first-child{grid-column:1/-1}
.grid .card img{aspect-ratio:1/1.15}
.grid li:first-child .card img{aspect-ratio:16/10}

/* big word (law deck style) */
.bigword{display:grid;gap:28px}
.bigword .word{font-family:var(--fd);font-weight:var(--tw);font-size:clamp(5rem,26vw,13rem);line-height:.85;letter-spacing:-.02em;text-transform:none}
.bigword .phon{font-size:.72rem;letter-spacing:.06em;color:var(--mu);margin-top:10px}
.bigword .cols{display:grid;gap:18px;font-size:.88rem;color:var(--mu);align-self:end}

/* compare (two option matrix) */
.compare{position:relative;display:grid;border-top:1px solid var(--ln)}
.compare>div{padding:28px 0;border-bottom:1px solid var(--ln)}
.compare h3{font-family:var(--fd);font-style:italic;text-transform:none;font-size:1.6rem;margin-bottom:8px}
.compare p{color:var(--mu);font-size:.88rem;margin:0 0 12px}
.compare ul{margin:0;padding-left:1.1em;font-size:.86rem}
.compare .vlabel{font-family:var(--fd);font-size:2.2rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}

/* triptych with blend title */
.trip{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 calc(var(--pad) * -1) 34px}
.trip figure{margin:0}
.trip img{width:100%;object-fit:cover;filter:brightness(.62) saturate(.85)}
.trip .main{grid-column:1/-1;order:-1;padding:0 var(--pad)}
.trip .main img{aspect-ratio:1/1.05}
.trip .side img{aspect-ratio:1}
.blend{position:absolute;left:0;right:0;top:26%;text-align:center;color:var(--light);mix-blend-mode:difference;pointer-events:none;display:flex;flex-direction:column;line-height:.9}
.blend span:first-child{font-family:var(--fb);font-weight:300;font-size:clamp(2.4rem,11vw,6.6rem);text-transform:uppercase}
.blend span:last-child{font-family:var(--fd);font-size:clamp(2.8rem,13vw,8rem);text-transform:uppercase}

/* card over image */
.over{position:relative;padding:64px var(--pad);overflow:hidden}
.over>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.over::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.3)}
.over-card{position:relative;z-index:1;background:var(--acc2);color:var(--acc2-ink);padding:36px 26px;max-width:480px;--ln:rgba(0,0,0,.15);--em:var(--acc2-ink)}
.over-card h2{font-size:clamp(2rem,8vw,3rem);margin-bottom:20px}
.over-card dl{margin:0 0 24px}
.over-card dl div{padding:12px 0;border-top:1px solid var(--ln)}
.over-card dt{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.over-card dd{margin:2px 0 0;font-size:.88rem}

/* contact */
.contact{display:grid;gap:48px}
.contact address{font-style:normal;margin:24px 0}
.contact address p{font-family:var(--fd);font-size:1.3rem;line-height:1.45;margin-bottom:16px;text-transform:none;letter-spacing:0}
.contact address a{text-decoration:none;border-bottom:1px solid var(--ln)}
.hours{width:100%;max-width:440px;border-collapse:collapse;margin-top:8px}
.hours caption{text-align:left;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mu);padding-bottom:6px}
.hours th,.hours td{padding:9px 0;border-bottom:1px solid var(--ln);font-weight:400;text-align:left;font-size:.86rem}
.hours td{text-align:right}
.form{display:grid;gap:22px;align-content:start}
.form .row{display:grid;gap:22px}
.form label{display:grid;gap:4px}
.form label>span,.chipset legend{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mu)}
.form input,.form select,.form textarea{font:inherit;background:transparent;border:0;border-bottom:1px solid var(--ln);color:inherit;padding:10px 0;border-radius:0;width:100%;min-height:44px}
.form select{appearance:none;-webkit-appearance:none;background:var(--caret) no-repeat right 2px center}
.form select option{color:#111}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:currentColor}
.chipset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.chipset legend{margin-bottom:10px;width:100%}
.chipset label{position:relative;display:block;padding:8px 14px;border:1px solid var(--ln);border-radius:var(--chip-r,var(--btn-r));cursor:pointer;font-size:.84rem}
.chipset input{position:absolute;opacity:0;min-height:0}
.chipset label:has(input:checked){border-color:currentColor;background:var(--chip-on,transparent)}
.chipset label:has(input:focus-visible){outline:1px solid currentColor;outline-offset:3px}
.form .check{display:flex;gap:12px;align-items:flex-start}
.form .check input{width:18px;height:18px;min-height:0;flex:none;margin-top:3px;accent-color:var(--acc)}
.form .check>span{font-size:.84rem;letter-spacing:0;text-transform:none;color:inherit}
.form .btn{justify-self:start}
.form-note{border:1px solid currentColor;padding:12px 16px;font-size:.84rem;margin:0}

/* lightbox */
.lightbox{border:0;padding:0;background:transparent;max-width:min(1200px,96vw);max-height:92vh;color:#fff}
.lightbox::backdrop{background:rgba(10,10,10,.9)}
.lightbox img{max-height:80vh;width:auto;margin:auto}
.lightbox p{margin:12px 0 0;text-align:center;font-family:var(--fd)}
.lb-close{position:fixed;top:14px;right:14px;width:46px;height:46px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#111;color:#fff;font-size:1.4rem;cursor:pointer}

/* footer */
.ftr{padding:48px var(--pad) 40px;display:grid;gap:20px;background:var(--dark2);color:var(--on-dark);border-top:1px solid var(--ln-d)}
.ftr nav{display:flex;flex-wrap:wrap;gap:12px 26px}
.ftr nav a{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;opacity:.85}
.ftr p{margin:0;font-size:.82rem;opacity:.8}
.ftr .concept{padding-top:18px;border-top:1px solid var(--ln-d);opacity:1;color:var(--em-d)}

/* legal */
body:has(.legal) .hdr{position:relative;background:var(--dark2)}
.legal{padding:56px var(--pad) 80px;background:var(--light);color:var(--on-light);--mu:var(--mute-l)}
.legal .wrap{max-width:760px}
.legal h1{font-size:clamp(2.6rem,10vw,4.4rem);margin-bottom:28px}
.legal h2{font-size:1.45rem;margin:1.6em 0 .4em}
.legal .ph{border:1px dashed currentColor;padding:14px 16px;font-size:.86rem}

@media (min-width:640px){
  :root{--pad:32px}
  .features{grid-template-columns:repeat(4,1fr)}
  .features li:nth-child(odd){border-right:0}
  .features li+li{border-left:1px solid var(--ln)}
  .list{grid-template-columns:1fr 1fr;column-gap:48px}
  .track{grid-auto-columns:44%}
  .prices{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:1fr 1fr;column-gap:40px}
  .team{grid-template-columns:repeat(3,1fr);column-gap:32px}
  .form .row{grid-template-columns:1fr 1fr}
  .form .row.r3{grid-template-columns:1.3fr 1fr 1fr}
  .grid{grid-template-columns:repeat(3,1fr)}
  .grid li:first-child{grid-column:span 2;grid-row:span 2}
  .grid li:first-child .card,.grid li:first-child .card img{height:100%}
  .bookbar{grid-template-columns:repeat(3,1fr) auto;gap:24px;align-items:end}
  .bigword .cols{grid-template-columns:1fr 1fr}
  .tiles{grid-template-columns:1fr 1fr}
}
@media (min-width:960px){
  :root{--pad:56px}
  .hdr nav{display:flex;gap:30px}
  .hdr nav a{font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;text-decoration:none}
  .hdr nav a:hover{color:var(--acc)}
  .hdr .btn{display:inline-flex}
  .hdr-center .btn{display:none}
  .menu-btn{display:none}
  .hdr-center{display:grid;grid-template-columns:1fr auto 1fr}
  .hdr-center .logo{grid-column:2;grid-row:1;margin:0;align-items:center;text-align:center}
  .hdr-center nav.nl{grid-column:1;grid-row:1;justify-content:flex-start}
  .hdr-center nav.nr{grid-column:3;grid-row:1;justify-content:flex-end}
  .hdr-left nav.nl{margin-right:24px}
  .hdr-left nav.nr{display:none}
  .counter-mini{display:flex}
  .sec{padding:116px var(--pad)}
  .head-row{grid-template-columns:1fr 1fr;align-items:end;gap:64px;margin-bottom:56px}
  .intro{grid-template-columns:1fr 1fr;gap:88px;align-items:center}
  .intro.rev>.tx{order:2}
  .list{grid-template-columns:repeat(3,1fr)}
  .list.two{grid-template-columns:1fr 1fr}
  .track{grid-auto-columns:calc((100% - 3 * 14px - 2 * var(--pad)) / 3.3)}
  .spot{grid-template-columns:1.15fr 1fr;align-items:center}
  .spot figure img{aspect-ratio:auto;min-height:620px}
  .spot.rev figure{order:2}
  .spot .tx{padding:72px var(--pad)}
  .items{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(4,1fr);column-gap:0}
  .steps li{display:block;padding:6px 26px;border-top:0;border-left:1px solid var(--ln)}
  .steps li:first-child{border-left:0;padding-left:0}
  .steps li::before{display:block;margin-bottom:16px}
  .faq-grid{grid-template-columns:.9fr 1.1fr;gap:80px}
  .contact{grid-template-columns:1fr 1.1fr;gap:96px}
  .hero-split{grid-template-columns:.42fr 1fr;min-height:min(100svh,820px)}
  .hs-panel{padding:130px 40px 40px var(--pad)}
  .hs-media{min-height:0}
  .hs-media h1{top:110px;left:48px;font-size:clamp(4rem,8vw,8rem)}
  .hs-strip{padding:20px 48px}
  .hero-framed{padding:96px var(--pad) 48px 0}
  .rail{display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:var(--pad);padding:20px 0;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;opacity:.7}
  .rail span{writing-mode:vertical-rl;transform:rotate(180deg)}
  .hf{min-height:640px}
  .hf .hero-in{padding:64px}
  .trip{grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:0;margin:0 calc(var(--pad) * -1) 40px}
  .trip .main{grid-column:auto;order:0;padding:0}
  .trip .side img{aspect-ratio:1/1.08}
  .blend{top:50%;transform:translateY(-50%)}
  .over{padding:96px var(--pad);min-height:640px;display:flex;align-items:center}
  .over-card{padding:48px 44px}
  .bigword{grid-template-columns:1.2fr 1fr;align-items:end;gap:64px}
  .compare{grid-template-columns:1fr 1fr;column-gap:0}
  .compare>div{padding:36px 40px 36px 0}
  .compare>div+div{padding-left:40px;border-left:1px solid var(--ln)}
  .ftr{grid-template-columns:auto 1fr;align-items:center}
  .ftr nav{justify-content:flex-end}
  .ftr .concept{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* ===== v2 sections from the other inspo images ===== */
.ic{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.link{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-block;margin-top:18px}

/* icon row (Aurora, Novaire) */
.iconrow{list-style:none;margin:0;padding:30px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:26px 0;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln)}
.iconrow li{display:grid;justify-items:center;text-align:center;gap:6px;padding:0 12px}
.iconrow li:nth-child(odd){border-right:1px solid var(--ln)}
.iconrow .ic{color:var(--em);width:30px;height:30px;margin-bottom:4px}
.iconrow b{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.iconrow span{font-size:.76rem;color:var(--mu);line-height:1.4}

/* deck hero (Law deck) */
.hero-deck{padding:96px var(--pad) 40px;align-items:stretch;background:var(--dark2)}
.hero-deck::after{display:none}
.deck-card{position:relative;width:100%;min-height:560px;display:grid;place-items:center;text-align:center;overflow:hidden;border:1px solid var(--ln-d)}
.deck-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.deck-card::after{content:"";position:absolute;inset:0;background:var(--hero-shade)}
.deck-card .hero-in{padding:40px 20px;max-width:900px}
.deck-card .lead,.deck-card .btns{margin-left:auto;margin-right:auto;justify-content:center}
.corner{position:absolute;z-index:1;top:50%;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;opacity:.75;display:none}
.corner.l{left:22px}.corner.r{right:22px}

/* aurora hero */
.hero-aurora .hero-in{max-width:640px}
.slides{display:flex;gap:22px;align-items:center;margin:40px 0 0;font-size:.72rem;letter-spacing:.1em}
.slides b{font-weight:500;border-bottom:1px solid currentColor;padding-bottom:4px}
.slides span{opacity:.6}
.slides span:first-of-type::before{content:"";display:inline-block;width:40px;height:1px;background:currentColor;opacity:.6;vertical-align:middle;margin-right:14px}
.play{position:absolute;z-index:1;right:var(--pad);bottom:52px;display:none;align-items:center;gap:14px;text-decoration:none;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase}
.play i{width:52px;height:52px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:.8rem}

/* panel hero (La Mica) */
.hero-panel{display:grid;padding:0;min-height:0;align-items:stretch}
.hero-panel::after{display:none}
.pn-text{position:relative;z-index:2;padding:120px var(--pad) 40px;overflow:visible}
.pn-text .ghost{top:90px;opacity:.07}
.pn-text h1{font-size:clamp(3.4rem,16vw,8.4rem);line-height:.92;position:relative}
.pn-media{position:relative;min-height:420px;overflow:hidden}
.pn-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pn-count{position:absolute;left:24px;top:24px;z-index:1;font-family:var(--fd);font-size:1.2rem;margin:0;color:#fff}
.pn-strip{position:absolute;left:0;right:0;bottom:0;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:18px 22px;background:rgba(40,40,40,.45);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:.72rem;line-height:1.45}
.pn-strip b,.hs-strip b{display:block;font-weight:600}

/* concept hero (Concept and Mood slide) */
.hero-concept{display:grid;padding:0;min-height:0;align-items:stretch;background:var(--light);color:var(--on-light);--mu:var(--mute-l);--em:var(--em-l)}
.hero-concept::after{display:none}
.cc-text{padding:120px var(--pad) 36px;display:flex;flex-direction:column;justify-content:space-between;gap:36px}
.cc-text h1{font-size:clamp(3rem,13vw,6.4rem);line-height:.92}
.cc-text .tag{font-family:var(--fd);text-transform:uppercase;font-size:1rem;letter-spacing:.04em;margin-bottom:12px}
.cc-text .lead{color:var(--mu);font-size:.88rem;max-width:28em}
.cc-main{position:relative;min-height:380px;overflow:hidden}
.cc-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cc-side{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px var(--pad) 30px;align-content:center}
.cc-side img{width:100%;aspect-ratio:4/3;object-fit:cover}
.cc-side p{grid-column:1/-1;font-size:.78rem;color:var(--mu);margin:8px 0 0}

/* dots hero (brown deck slide) */
.hero-dots .hero-in{display:grid;gap:30px}
.dotlist{list-style:none;padding:0 0 0 18px;margin:0;border-left:1px solid var(--ln-d);display:grid;gap:12px;font-size:.74rem}
.dotlist li{position:relative}
.dotlist li::before{content:"";position:absolute;left:-22px;top:.55em;width:7px;height:7px;border-radius:50%;background:currentColor}
.dotlist a{text-decoration:none;opacity:.85}
.hero-dots .bookbar{margin:26px 0 0;padding:18px;background:rgba(255,255,255,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);max-width:none}

/* light hero */
.hero-light{display:grid;padding:0;min-height:0;align-items:stretch;background:var(--light);color:var(--on-light);--mu:var(--mute-l);--em:var(--em-l)}
.hero-light::after{display:none}
.hero-light .hero-in{padding:120px var(--pad) 40px;display:flex;flex-direction:column;justify-content:flex-end}
.hero-light figure{margin:0;position:relative;min-height:420px;overflow:hidden}
.hero-light figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* wordmark hero with arch */
.hero-wordmark{display:block;text-align:center;padding:120px var(--pad) 0;min-height:0;background:var(--light);color:var(--on-light);--mu:var(--mute-l);--em:var(--em-l)}
.hero-wordmark::after{display:none}
.hero-wordmark .hero-in{max-width:900px;margin:0 auto 40px}
.hero-wordmark .lead{margin:0 auto}
.hero-wordmark .btns{justify-content:center}
.arch{margin:0 auto;max-width:980px;position:relative;height:420px;border-radius:999px 999px 0 0;overflow:hidden}
.arch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* glass card on image (La Mica) */
.glass{position:relative;min-height:560px;overflow:hidden;display:flex;align-items:flex-end;padding:40px var(--pad);color:#fff}
.glass>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.glass::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 60%)}
.hot{position:absolute;z-index:1;width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.hot::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}
.gcard{position:relative;z-index:2;max-width:380px;padding:26px;background:rgba(255,255,255,.14);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.25);--mu:rgba(255,255,255,.75);--em:#fff}
.gcard h2{font-size:1.7rem;margin-bottom:10px}
.gcard p{font-size:.86rem;opacity:.9}
.gprice{font-family:var(--fd);font-size:1.6rem;text-align:right}

/* deck panel (brown slide with agenda) */
.deckpanel{position:relative;min-height:600px;overflow:hidden;display:flex;color:#fff;--mu:rgba(255,255,255,.75);--em:#fff}
.deckpanel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.deckpanel::after{content:"";position:absolute;inset:0;background:var(--deck-shade,rgba(30,18,10,.55))}
.dp-in{position:relative;z-index:1;width:100%;display:grid;gap:36px;padding:64px var(--pad)}
.dp-side{display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.agenda{list-style:none;margin:0;padding:0 0 0 18px;border-left:1px solid rgba(255,255,255,.4);display:grid;gap:12px;font-size:.76rem}
.agenda li{position:relative}
.agenda li::before{content:"";position:absolute;left:-22px;top:.55em;width:7px;height:7px;border-radius:50%;background:#fff}
.dp-main{display:flex;flex-direction:column;justify-content:center}
.dp-main h2{font-size:clamp(2.6rem,10vw,6rem);line-height:.95;margin-bottom:28px}
.dp-cols{display:grid;gap:16px;font-size:.84rem;max-width:720px;opacity:.9}

/* trio (Color and Materials) */
.trio{display:grid;gap:28px}
.trio h2{text-align:right;font-size:clamp(2.6rem,10vw,6rem);line-height:.92}
.tr-side .tag{font-family:var(--fd);text-transform:uppercase;font-size:1rem;letter-spacing:.04em;margin-bottom:10px}
.tr-imgs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tr-imgs figure{margin:0;position:relative}
.tr-imgs img{width:100%;aspect-ratio:3/4.2;object-fit:cover}
.tr-imgs figcaption{position:absolute;left:10px;right:10px;bottom:10px;color:#fff;font-size:.66rem;line-height:1.35;text-shadow:0 1px 8px rgba(0,0,0,.6)}

/* category cards (Aurora) */
.cats{display:grid;gap:30px}
.cats ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cat{position:relative;display:block;overflow:hidden;color:#fff;text-decoration:none}
.cat img{width:100%;aspect-ratio:1/1.05;object-fit:cover;transition:transform .7s}
.cat:hover img{transform:scale(1.05)}
.cat::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(0,0,0,.6))}
.cat span{position:absolute;left:14px;right:14px;bottom:14px;z-index:1;display:flex;align-items:center;gap:10px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase}
.cat .ic{width:22px;height:22px;flex:none}

/* quote split (Aurora) */
.qsplit{display:grid}
.qs-a{padding:56px var(--pad)}
.qs-a h2{font-size:clamp(2rem,8vw,3rem)}
.qs-b{margin:0;min-height:320px;position:relative;overflow:hidden}
.qs-b img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qs-c{margin:0;padding:56px var(--pad);display:flex;flex-direction:column;justify-content:center}
.qs-c::before{content:"“";font-family:var(--fd);font-size:4rem;line-height:.6;color:var(--em);margin-bottom:14px}
.qs-c p{font-family:var(--fd);font-size:1.35rem;line-height:1.45;text-transform:none;letter-spacing:0}
.qs-c footer{display:grid;gap:2px;margin-top:8px;padding-top:16px;border-top:1px solid var(--ln);width:max-content}
.qs-c footer b{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.qs-c footer span{font-size:.76rem;color:var(--mu)}
.qdots{display:flex;gap:10px;margin:22px 0 0}
.qdots i{width:8px;height:8px;border-radius:50%;border:1px solid currentColor}
.qdots i.on{background:currentColor}

/* newsletter strip (Aurora) */
.news{padding:36px var(--pad)}
.news-in{display:grid;gap:18px;align-items:center}
.news-in>.ic{width:48px;height:48px;padding:12px;border-radius:50%;background:var(--on-light);color:var(--light);box-sizing:content-box}
.news-in b{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}
.news-in p{margin:4px 0 0;font-size:.86rem;color:var(--mu)}
.news-form{display:flex;flex-wrap:wrap;gap:0}
.news-form input{flex:1 1 220px;min-height:48px;padding:0 16px;border:1px solid var(--ln);background:transparent;color:inherit;font:inherit;border-radius:0}
.news-form .btn{background:var(--on-light);color:var(--light);border-color:var(--on-light)}
.news-form .form-note{flex-basis:100%;margin-top:10px}

/* material tiles (Novaire) */
.mats{display:grid;gap:30px;align-items:center}
.mats ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mats li{position:relative;overflow:hidden}
.mats img{width:100%;aspect-ratio:1/1.2;object-fit:cover;transition:transform .7s}
.mats li:hover img{transform:scale(1.05)}
.mats li span{position:absolute;left:12px;bottom:10px;color:#fff;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.mats .btn{margin-top:22px}

/* colour dots in spotlight (Novaire) */
.cdots{display:flex;gap:8px;margin-top:6px!important}
.cdots i{width:14px;height:14px;border-radius:50%;border:1px solid var(--ln)}

/* ellipse matrix (Law deck) */
.compare.has-ell{position:relative}
.ellipse{display:none}

@media (min-width:640px){
  .iconrow{grid-template-columns:repeat(4,1fr)}
  .iconrow li:nth-child(odd){border-right:0}
  .iconrow li+li{border-left:1px solid var(--ln)}
  .cats ul{grid-template-columns:repeat(4,1fr)}
  .mats ul{grid-template-columns:repeat(4,1fr)}
  .news-in{grid-template-columns:auto 1fr 1.2fr}
}
@media (min-width:960px){
  .corner{display:block}
  .deck-card{min-height:660px}
  .play{display:flex}
  .hero-panel{grid-template-columns:.9fr 1.1fr;min-height:min(100svh,860px)}
  .pn-text{padding:150px 0 56px var(--pad);display:flex;flex-direction:column;justify-content:center}
  .pn-text h1{margin-right:-30%;font-size:clamp(5rem,9vw,9rem)}
  .pn-media{min-height:0;margin-top:90px}
  .hero-concept{grid-template-columns:1fr 1.15fr .6fr;min-height:min(100svh,820px)}
  .cc-text{padding:130px 40px 44px var(--pad)}
  .cc-main{min-height:0}
  .cc-side{grid-template-columns:1fr;padding:130px var(--pad) 44px 28px;align-content:end}
  .hero-dots .hero-in{grid-template-columns:200px 1fr;gap:56px;align-items:end}
  .hero-light{grid-template-columns:1fr 1fr;min-height:min(100svh,820px)}
  .hero-light .hero-in{padding:140px 56px 64px var(--pad)}
  .hero-light figure{min-height:0}
  .arch{height:520px}
  .glass{min-height:680px;padding:64px var(--pad);justify-content:flex-end}
  .gcard{max-width:420px;padding:34px}
  .deckpanel{min-height:680px}
  .dp-in{grid-template-columns:220px 1fr;gap:72px;padding:80px var(--pad)}
  .dp-cols{grid-template-columns:1fr 1fr;gap:40px}
  .trio{grid-template-columns:260px 1fr;grid-template-rows:auto auto;column-gap:56px}
  .trio .tr-side{grid-row:1 / span 2;align-self:end}
  .tr-imgs{gap:14px}
  .cats{grid-template-columns:.8fr 2.2fr;gap:56px;align-items:center}
  .qsplit{grid-template-columns:1fr 1.15fr 1.4fr}
  .qs-a,.qs-c{padding:72px var(--pad)}
  .mats{grid-template-columns:.8fr 2fr;gap:56px}
  .ellipse{display:block;position:absolute;inset:-10px -20px;width:calc(100% + 40px);height:calc(100% + 20px);pointer-events:none}
  .ellipse ellipse,.ellipse path{fill:none;stroke:currentColor;stroke-opacity:.35;stroke-width:1;vector-effect:non-scaling-stroke}
  .ellipse circle{fill:currentColor}
  .compare.has-ell>div{position:relative;border-bottom:0}
  .compare.has-ell{border-top:0}
}
.curve{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.curve path{fill:none;stroke:currentColor;stroke-opacity:.22;stroke-width:1;vector-effect:non-scaling-stroke}
.sec>*:not(.curve):not(.vtag){position:relative}

/* theme */
:root{--fd:"Newsreader",Georgia,serif;--fb:"Jost",system-ui,sans-serif;--bw:350;--tw:350;--tt:none;--ls:-.01em;--dark:#0e0d0c;--dark2:#161412;--light:#ebe4d8;--mid:#d9cfbf;--on-dark:#f1ebe1;--on-light:#1a1714;--on-mid:#1a1714;--mute-d:rgba(241,235,225,.66);--mute-l:#5e564c;--mute-m:#4f483f;--ln-d:rgba(241,235,225,.16);--ln-l:rgba(26,23,20,.14);--ln-m:rgba(26,23,20,.16);--em-d:#d8c7ad;--em-l:#7d6a52;--em-m:#7d6a52;--acc:#ebe4d8;--acc-ink:#1a1714;--acc2:#ebe4d8;--acc2-ink:#1a1714;--btn-r:0;--hero-shade:linear-gradient(90deg,rgba(14,13,12,.8),rgba(14,13,12,.25) 65%),linear-gradient(0deg,rgba(14,13,12,.6),transparent 40%);--caret:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0h10L5 6z' fill='%23d8c7ad'/%3E%3C/svg%3E");--h1-max:6.4rem;--logo-tt:uppercase;--logo-ls:.16em;--logo-w:400;}
h1 em,h2 em{color:var(--em)}
.hero h1{font-weight:300}
.btn::after{content:"\2197";font-size:.9em}
.tone-light .btn{background:var(--on-light);color:var(--light);border-color:var(--on-light)}
.tone-light{--caret:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0h10L5 6z' fill='%237d6a52'/%3E%3C/svg%3E")}
