
/* Layout: one long scroll in alternating night / sand bands, with an ember gradient reserved for actions and the heat scale. */
:root{
  --night:#141d1b; --night-2:#1c2826; --night-line:#2d3b38;
  --sand:#f3eee6; --sand-2:#e9e1d5; --sand-line:#d9cfc0;
  --ink:#1b2321; --ink-soft:#4e5a57;
  --cream:#efe8dc; --cream-soft:#b9b2a6;
  --ember:#e5603f; --ember-2:#f0904a; --ember-ink:#c4462a;
  --low:#e9b26b; --med:#ec8a4c; --high:#e0513a;
  --display:Optima,"Optima nova","Optima LT Pro","Tenor Sans",Candara,"Segoe UI",sans-serif;
  --body:Optima,"Optima nova","Optima LT Pro","Tenor Sans",Candara,"Segoe UI","Noto Sans",sans-serif;
  --wrap:1180px;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--night);color:var(--cream);font:17px/1.6 var(--body);margin:0;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--night)}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--ember-2);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.band{padding-block:clamp(64px,9vw,120px)}
.sand{background:var(--sand);color:var(--ink)}
.sand-2{background:var(--sand-2);color:var(--ink)}
.night-2{background:var(--night-2)}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;margin:0;text-wrap:balance;line-height:1.1}
h2{font-size:clamp(34px,5vw,58px);text-transform:uppercase;letter-spacing:.01em}
h2 em,h1 em{font-style:normal;color:var(--ember)}
h3{font-size:24px;letter-spacing:.01em}
p{margin:0}
.eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--ember-2)}
.sand .eyebrow,.sand-2 .eyebrow{color:var(--ember-ink)}
.lede{font-size:clamp(18px,2vw,21px);max-width:58ch;color:var(--cream-soft)}
.sand .lede,.sand-2 .lede{color:var(--ink-soft)}
.head{display:grid;gap:18px;margin-bottom:clamp(36px,5vw,56px);max-width:760px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:999px;border:0;font:15px/1.2 var(--body);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn-ember{background:linear-gradient(100deg,var(--ember),var(--ember-2));color:#fff;box-shadow:0 8px 28px -10px rgba(229,96,63,.7)}
.btn-ember:hover{transform:translateY(-1px);box-shadow:0 12px 30px -10px rgba(229,96,63,.9)}
.btn-ghost{background:transparent;color:inherit;border:1px solid currentColor}
.btn-ghost:hover{background:rgba(255,255,255,.06)}
.sand .btn-ghost:hover{background:rgba(0,0,0,.04)}
.link{color:var(--ember-2);text-underline-offset:4px}
.sand .link,.sand-2 .link{color:var(--ember-ink)}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(20,29,27,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--night-line)}
.top .wrap{display:flex;align-items:center;gap:24px;height:72px}
.logo img{height:34px;width:auto}
.nav{display:flex;gap:22px;margin-left:auto;font-size:15px}
.nav a{text-decoration:none;color:var(--cream-soft)}
.nav a:hover{color:var(--cream)}
.top .btn{min-height:42px;padding:10px 18px;font-size:13px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--night-line);color:var(--cream);border-radius:999px;padding:9px 16px;font:14px var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.drawer{border-top:1px solid var(--night-line);padding-block:12px 20px}
.drawer a{display:block;padding:12px 0;text-decoration:none;font-size:20px;border-bottom:1px solid var(--night-line)}
@media (max-width:1020px){.nav,.top .btn{display:none}.menu-btn{display:inline-block}}

/* hero */
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero-img{position:absolute;inset:0;z-index:-1}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:70% 30%}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,29,27,.96) 0%,rgba(20,29,27,.82) 45%,rgba(20,29,27,.25) 100%),linear-gradient(0deg,var(--night) 0%,transparent 30%)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:48px;align-items:end;padding-block:clamp(72px,10vw,140px) clamp(48px,6vw,80px)}
.hero h1{font-size:clamp(44px,7.4vw,92px);text-transform:uppercase;letter-spacing:-.005em;line-height:.98;margin-block:18px 22px}
.hero .lede{color:var(--cream)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.offer{background:rgba(20,29,27,.78);border:1px solid rgba(240,144,74,.45);border-radius:18px;padding:26px;display:grid;gap:14px;backdrop-filter:blur(6px)}
.offer .price{font-family:var(--display);font-size:64px;line-height:1}
.offer .price small{font-size:20px;color:var(--cream-soft);margin-left:6px}
.offer ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;color:var(--cream-soft);font-size:16px}
.offer li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ember-2);margin:0 10px 2px 0}
.facts{border-top:1px solid var(--night-line);border-bottom:1px solid var(--night-line)}
.facts .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.fact{padding:22px 18px;border-left:1px solid var(--night-line);display:grid;gap:2px}
.fact:first-child{border-left:0;padding-left:0}
.fact b{font-weight:400;font-family:var(--display);font-size:20px}
.fact span{color:var(--cream-soft);font-size:14px}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.facts .wrap{grid-template-columns:1fr 1fr}.fact:nth-child(3){border-left:0;padding-left:0}.fact:nth-child(n+3){border-top:1px solid var(--night-line)}}

/* about */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
.about-text{display:grid;gap:18px;max-width:58ch}
.about-text strong{font-weight:400;color:var(--ember-ink)}
.about img{border-radius:6px;aspect-ratio:4/5;object-fit:cover;width:100%}
@media (max-width:860px){.about{grid-template-columns:1fr}.about img{aspect-ratio:3/2}}

/* heat scale */
.heat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:14px;overflow:hidden;margin-bottom:48px}
.heat div{padding:22px 22px 20px;color:#1b1410;display:grid;gap:4px}
.heat div:nth-child(1){background:var(--low)}
.heat div:nth-child(2){background:var(--med)}
.heat div:nth-child(3){background:var(--high);color:#fff}
.heat b{font-family:var(--display);font-weight:400;font-size:clamp(22px,3vw,30px);font-variant-numeric:tabular-nums}
.heat span{font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.heat p{font-size:15px;opacity:.85}
@media (max-width:640px){.heat{grid-template-columns:1fr}}

/* classes */
.classes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.class{background:var(--night-2);border:1px solid var(--night-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.class img{aspect-ratio:4/3;object-fit:cover;width:100%}
.class .body{padding:22px;display:grid;gap:12px;align-content:start;flex:1}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid var(--night-line);color:var(--cream-soft)}
.tag.h-low{border-color:var(--low);color:var(--low)}
.tag.h-med{border-color:var(--med);color:var(--med)}
.tag.h-high{border-color:var(--high);color:#ff8a72}
.class p{color:var(--cream-soft);font-size:16px}
details.more summary{cursor:pointer;color:var(--ember-2);font-size:15px;list-style:none;display:flex;align-items:center;gap:8px}
details.more summary::-webkit-details-marker{display:none}
details.more summary::after{content:"+";font-size:18px}
details.more[open] summary::after{content:"–"}
details.more p{margin-top:10px}

/* finder */
.finder{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;margin-top:64px;padding:clamp(22px,4vw,40px);border-radius:18px;background:linear-gradient(160deg,#1f2c29,#141d1b);border:1px solid var(--night-line)}
.finder fieldset{border:0;padding:0;margin:0 0 22px}
.finder legend{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-soft);margin-bottom:10px}
.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0}
.opt label{display:grid;gap:2px;padding:12px 14px;border-radius:10px;border:1px solid var(--night-line);cursor:pointer;min-height:64px;font-size:16px}
.opt label small{color:var(--cream-soft);font-size:13px}
.opt input:checked+label{border-color:var(--ember-2);background:rgba(240,144,74,.12)}
.opt input:focus-visible+label{outline:2px solid var(--ember-2);outline-offset:2px}
.opt input:disabled+label{opacity:.35;cursor:not-allowed}
.result{background:rgba(0,0,0,.25);border:1px solid var(--night-line);border-radius:14px;padding:24px;display:grid;gap:14px;align-content:start}
.result h3{font-size:28px}
.result .note{color:var(--cream-soft);font-size:15px}
.mini{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.mini li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--night-line);font-size:15px}
.mini li span:last-child{color:var(--cream-soft);text-align:right}
@media (max-width:900px){.finder{grid-template-columns:1fr}}
@media (max-width:420px){.opts{grid-template-columns:1fr}}

/* new to yoga */
.new{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,64px)}
.paths{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.paths button{font:15px var(--body);padding:10px 16px;border-radius:999px;border:1px solid var(--sand-line);background:transparent;color:var(--ink);cursor:pointer}
.paths button[aria-pressed="true"]{background:var(--ink);color:var(--sand);border-color:var(--ink)}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid var(--sand-line)}
.steps li::before{content:counter(s);width:36px;height:36px;border-radius:50%;background:var(--ember);color:#fff;display:grid;place-items:center;font-family:var(--display)}
.steps h4{font-size:20px;margin-bottom:4px}
.steps p{color:var(--ink-soft);font-size:16px}
.steps h4 a{color:inherit;text-decoration:underline;text-decoration-color:var(--sand-line);text-underline-offset:5px;text-decoration-thickness:1px}
.steps h4 a:hover{text-decoration-color:var(--ember-ink)}
.steps .steptimes{display:inline-block;margin-top:6px;font-size:15px}
.essentials{background:var(--sand-2);border-radius:14px;padding:26px;display:grid;gap:14px;align-content:start}
.essentials ul{margin:0;padding-left:20px;display:grid;gap:8px}
.essentials .warn{font-size:15px;color:var(--ink-soft);border-top:1px solid var(--sand-line);padding-top:14px}
@media (max-width:860px){.new{grid-template-columns:1fr}}

/* timetable */
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:18px}
.days button{font:inherit;background:transparent;border:1px solid var(--sand-line);border-radius:12px;padding:10px 4px;cursor:pointer;color:var(--ink);display:grid;gap:0;text-align:center}
.days button small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.days button b{font-family:var(--display);font-weight:400;font-size:22px}
.days button em{font-style:normal;font-size:12px;color:var(--ink-soft)}
.days button[aria-pressed="true"]{background:var(--ink);color:var(--sand);border-color:var(--ink)}
.days button[aria-pressed="true"] small,.days button[aria-pressed="true"] em{color:var(--cream-soft)}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.filters select{font:15px var(--body);padding:10px 36px 10px 14px;border-radius:999px;border:1px solid var(--sand-line);background:var(--sand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231b2321' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center;color:var(--ink);appearance:none;color-scheme:light}
.sessions{list-style:none;margin:0;padding:0}
.session{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 0;border-top:1px solid var(--sand-line)}
.session time{font-family:var(--display);font-size:22px;font-variant-numeric:tabular-nums}
.session time small{display:block;font-size:13px;color:var(--ink-soft);font-family:var(--body)}
.session h4{font-size:20px;text-transform:uppercase;letter-spacing:.03em}
.session p{color:var(--ink-soft);font-size:15px}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:1px}
.session .btn{min-height:42px;padding:10px 20px;font-size:13px}
.tt-note{font-size:14px;color:var(--ink-soft);margin-top:16px}
.empty{padding:28px 0;border-top:1px solid var(--sand-line);color:var(--ink-soft)}
@media (max-width:640px){.session{grid-template-columns:72px minmax(0,1fr)}.session .btn{grid-column:2;justify-self:start}.days{gap:4px}.days button b{font-size:18px}.days button em{display:none}}

/* infrared */
.ir{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ir article{display:grid;gap:14px;align-content:start}
.ir img{aspect-ratio:16/10;object-fit:cover;width:100%;border-radius:10px}
.ir p{color:var(--cream-soft);font-size:16px}
@media (max-width:860px){.ir{grid-template-columns:1fr}}

/* videos */
.vid{position:relative;display:block;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;cursor:pointer;background:#000;color:#fff;font:inherit;text-align:left}
.vid img,.vid iframe{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block;border:0}
.vid iframe{background:#000}
.vid::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6) 0%,transparent 45%);pointer-events:none}
.vid .play{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:linear-gradient(100deg,var(--ember),var(--ember-2));box-shadow:0 10px 30px -8px rgba(229,96,63,.8);z-index:1;transition:transform .15s}
.vid .play::before{content:"";position:absolute;left:29px;top:23px;border-style:solid;border-width:13px 0 13px 21px;border-color:transparent transparent transparent #fff}
.vid:hover .play{transform:scale(1.06)}
.vid .cap{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;display:grid;gap:2px}
.vid .cap b{font-family:var(--display);font-weight:400;font-size:20px}
.vid .cap span{font-size:13px;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.vid.playing::after,.vid.playing .play,.vid.playing .cap{display:none}
.stories{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(28px,6vw,72px);align-items:center}
.stories .vid{background:var(--night)}
.stories .v916{aspect-ratio:1280/2276}
.stories .v45{aspect-ratio:4/5}
.stories-cta{display:grid;gap:16px;align-content:end;padding-bottom:8px}
.stories-cta p{color:var(--cream-soft)}
@media (max-width:700px){.stories{grid-template-columns:1fr}.stories .vid{max-width:340px;justify-self:center}}

.feature{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(24px,5vw,56px);align-items:center;margin-bottom:56px;padding-bottom:56px;border-bottom:1px solid var(--night-line)}
.feature .vid{aspect-ratio:1280/2276;background:var(--night-2)}
.feature-text{display:grid;gap:16px;max-width:52ch}
.feature-text h3{font-size:clamp(28px,3.4vw,40px)}
.feature-text p{color:var(--cream-soft)}
.feature-text .btn{justify-self:start}
@media (max-width:700px){.feature{grid-template-columns:1fr}.feature .vid{max-width:300px;justify-self:center}}
.pop{border:0;padding:0;background:transparent;width:min(420px,92vw);max-height:92vh;overflow:visible}
.pop::backdrop{background:rgba(10,14,13,.82);backdrop-filter:blur(4px)}
.pop .frame{aspect-ratio:4/5;width:100%;max-height:82vh;border-radius:14px;overflow:hidden;background:#000}
.pop iframe{width:100%;height:100%;border:0;display:block}
.pop .close{position:absolute;top:-48px;right:0;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:8px 16px;font:14px var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.community .vid{aspect-ratio:4/5;max-width:460px;justify-self:center}

/* socials */
.socials{display:flex;flex-wrap:wrap;gap:10px}
.social{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid var(--night-line);color:var(--cream);text-decoration:none;font-size:15px;transition:border-color .15s,background .15s}
.social:hover{border-color:var(--ember-2);background:rgba(240,144,74,.1)}
.sand .social,.sand-2 .social{border-color:var(--sand-line);color:var(--ink)}
.sand .social:hover,.sand-2 .social:hover{border-color:var(--ember-ink);background:rgba(196,70,42,.06)}
.foot .socials{flex-basis:100%}

/* prices */
.intro-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;background:var(--night);color:var(--cream);border-radius:18px;padding:clamp(24px,4vw,40px);margin-bottom:40px;position:relative;overflow:hidden}
.intro-card::after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(240,144,74,.35),transparent 70%);pointer-events:none}
.intro-card .big{font-family:var(--display);font-size:clamp(56px,8vw,88px);line-height:1}
.intro-card p{color:var(--cream-soft)}
.price-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pcol{background:var(--sand);border:1px solid var(--sand-line);border-radius:14px;padding:24px;display:grid;gap:4px;align-content:start}
.pcol h3{margin-bottom:6px}
.pcol .sub{font-size:14px;color:var(--ink-soft);margin-bottom:6px}
.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:14px 0;border-top:1px solid var(--sand-line);text-decoration:none;align-items:baseline}
a.row:hover .amt{color:var(--ember-ink)}
.row .name{font-size:17px}
.row .amt{font-family:var(--display);font-size:22px;font-variant-numeric:tabular-nums;white-space:nowrap}
.row .meta{grid-column:1/-1;font-size:14px;color:var(--ink-soft)}
.row .best{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ember-ink);margin-left:6px}
.mnote{margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--sand-2);font-size:14px;line-height:1.5;color:var(--ink-soft)}
.mnote b{font-weight:400;color:var(--ink);display:block;margin-bottom:2px}
.pfoot{font-size:15px;color:var(--ink-soft);margin-top:24px}
@media (max-width:900px){.price-cols{grid-template-columns:1fr}.intro-card{grid-template-columns:1fr}}

/* teachers */
.teachers{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px}
.teacher{display:grid;gap:12px;align-content:start}
.teacher img{aspect-ratio:1;object-fit:cover;width:100%;border-radius:10px;filter:saturate(.9)}
.teacher p{color:var(--cream-soft);font-size:16px}
.teacher details p{margin-top:10px}
.teacher .vlink{justify-self:start;display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 7px;border-radius:999px;border:1px solid rgba(240,144,74,.5);color:var(--cream);text-decoration:none;font-size:14px;letter-spacing:.04em;transition:background .15s,border-color .15s}
.teacher .vlink::before{content:"";width:28px;height:28px;border-radius:50%;flex:none;background:linear-gradient(100deg,var(--ember),var(--ember-2)) ;-webkit-mask:none;box-shadow:0 4px 14px -6px rgba(229,96,63,.8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M11 8.5v11l9-5.5z' fill='%23fff'/%3E%3C/svg%3E"),linear-gradient(100deg,var(--ember),var(--ember-2))}
.teacher .vlink:hover{background:rgba(240,144,74,.12);border-color:var(--ember-2)}

/* challenge */
.challenge{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:start}
.challenge img{border-radius:10px;aspect-ratio:4/5;object-fit:cover;width:100%}
.ch-steps{list-style:none;margin:20px 0;padding:0;display:grid;gap:0}
.ch-steps li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid var(--night-line);font-size:16px}
.ch-steps li b{font-weight:400;color:var(--ember-2);font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.guarantee{border:1px solid rgba(240,144,74,.45);border-radius:14px;padding:20px;color:var(--cream-soft);font-size:15px;margin-block:20px}
.guarantee strong{color:var(--cream);font-weight:400;display:block;font-size:19px;margin-bottom:4px}
@media (max-width:860px){.challenge{grid-template-columns:1fr}.challenge img{aspect-ratio:3/2}.ch-steps li{grid-template-columns:1fr;gap:2px}}

/* community */
.community{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center}
.community img{border-radius:10px;aspect-ratio:3/2;object-fit:cover;width:100%}
@media (max-width:860px){.community{grid-template-columns:1fr}}

/* faq */
.faq{max-width:820px}
.faq details{border-top:1px solid var(--sand-line);padding:18px 0}
.faq details:last-child{border-bottom:1px solid var(--sand-line)}
.faq summary{cursor:pointer;font-size:20px;font-family:var(--display);list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--ember-ink)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:10px;color:var(--ink-soft);max-width:65ch}

/* visit + footer */
.visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end}
.visit address{font-style:normal;font-size:22px;line-height:1.5;display:grid;gap:14px}
.visit address a{text-decoration-color:rgba(255,255,255,.3);text-underline-offset:5px}
.foot{border-top:1px solid var(--night-line);padding-block:40px calc(110px + env(safe-area-inset-bottom,0px));color:var(--cream-soft);font-size:15px}
.foot .wrap{display:flex;flex-wrap:wrap;gap:24px 48px;justify-content:space-between}
.foot nav{display:flex;flex-wrap:wrap;gap:10px 22px}
.foot a{text-decoration:none}
.foot a:hover{color:var(--cream)}
@media (max-width:860px){.visit{grid-template-columns:1fr}}
@media (min-width:1021px){.foot{padding-bottom:40px}}

/* mobile action bar */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;gap:10px;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(20,29,27,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--night-line)}
.bar .btn{flex:1;min-height:46px;padding:10px 12px;font-size:13px}
@media (max-width:1020px){.bar{display:flex}}
