/* Superhost Café — site styles
   Layout: white page, one content column that widens for the clock, rating and services bands;
   teal carries the brand, orange marks only live moments (now-marker, second hands, the 4.8 line). */
/* Self-hosted fonts (SIL Open Font License), no requests to Google */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/bricolage-grotesque-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/bricolage-grotesque-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/bricolage-grotesque-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/figtree-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/figtree-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/figtree-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/figtree-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --bg:#FFFFFF;
  --bg-soft:#F5F8F8;
  --card:#FFFFFF;
  --ink:#1F2626;
  --ink-2:#484848;
  --muted:#767676;
  --line:#E2E8E7;
  --teal:#00A699;
  --teal-deep:#007A70;
  --teal-wash:#E7F6F4;
  --on-teal:#FFFFFF;
  --orange:#FC642D;
  --orange-wash:#FFF1EB;
  --shadow:0 1px 2px rgba(20,40,38,.05),0 12px 32px -12px rgba(20,40,38,.14);
  --f-display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --f-body:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --wrap:1180px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0E1313;--bg-soft:#141B1B;--card:#151D1D;--ink:#EDF3F2;--ink-2:#C6CFCE;--muted:#93A09F;--line:#243030;
  --teal:#2BC3B5;--teal-deep:#62D8CD;--teal-wash:#10302C;--on-teal:#062220;--orange:#FF7B4B;--orange-wash:#34211A;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 16px 36px -14px rgba(0,0,0,.6);color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0E1313;--bg-soft:#141B1B;--card:#151D1D;--ink:#EDF3F2;--ink-2:#C6CFCE;--muted:#93A09F;--line:#243030;
  --teal:#2BC3B5;--teal-deep:#62D8CD;--teal-wash:#10302C;--on-teal:#062220;--orange:#FF7B4B;--orange-wash:#34211A;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 16px 36px -14px rgba(0,0,0,.6);color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0px)}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal-deep);text-underline-offset:3px}
a:hover{color:var(--teal)}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--f-display);line-height:1.08;letter-spacing:-.02em;text-wrap:balance;margin:0;color:var(--ink)}
h1{font-size:clamp(2.4rem,5.6vw,4.2rem);font-weight:800;letter-spacing:-.035em}
h2{font-size:clamp(2rem,4.2vw,3.1rem);font-weight:700}
h3{font-size:1.2rem;font-weight:700;letter-spacing:-.01em}
.h-mid{font-size:clamp(1.6rem,3vw,2.3rem)}
.h-small{font-size:1.15rem;font-weight:700}
.h-card{font-size:1.25rem;font-weight:700}
p{margin:0}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:10px}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.wrap.narrow{max-width:860px}
.eyebrow{font:600 .78rem/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--teal-deep)}
.eyebrow a{color:inherit;text-decoration:none}
.lede{font-size:1.15rem;color:var(--ink-2);max-width:62ch}
.muted{color:var(--ink-2)}
.small{font-size:.88rem}
.mono{font-family:var(--f-mono);font-size:.9rem}
section{padding-block:clamp(72px,10vw,128px)}
section.tight{padding-block:clamp(40px,6vw,72px)}
.sec-head{display:grid;gap:16px;margin-bottom:clamp(36px,5vw,56px);max-width:760px}
.row-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;max-width:none}
.soft{background:var(--bg-soft)}
.num{font-variant-numeric:tabular-nums}
.sec-gap{margin-top:clamp(40px,5vw,64px)}
.sec-gap-s{margin-top:24px}
.center{text-align:center}
.center-lede{margin:12px auto 24px}
.textlink{font-weight:600;text-decoration:none;color:var(--teal-deep)}
.textlink:hover{text-decoration:underline}
.notice{background:var(--orange-wash);border:1px solid color-mix(in srgb,var(--orange) 30%,var(--line));color:var(--ink);padding:12px 16px;border-radius:12px;font-size:.92rem;margin-bottom:20px}

/* Buttons */
.btn{--h:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--h);padding:0 22px;border-radius:999px;font:600 1rem/1.1 var(--f-body);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s,color .2s,border-color .2s;text-align:center}
.btn-primary{background:var(--teal);color:var(--on-teal)}
.btn-primary:hover{background:var(--teal-deep);color:var(--on-teal);transform:translateY(-2px);box-shadow:0 10px 24px -10px var(--teal)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-2px)}
.btn-sm{--h:40px;font-size:.92rem;padding:0 16px}
.btn .arr,.btn svg{transition:transform .2s}
.btn:hover .arr{transform:translateX(4px)}
.btn[disabled]{opacity:.6;pointer-events:none}
.linkbtn{background:none;border:0;font:600 .88rem var(--f-body);color:var(--teal-deep);cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:3px}

/* Announcement + language suggestion */
.announce{background:var(--ink);color:var(--bg);font-size:.9rem;text-align:center;padding-block:9px}
.lang-suggest{background:var(--teal-wash);font-size:.92rem}
.lang-suggest .wrap{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;padding-block:10px}
.lang-suggest a{font-weight:600}
.lang-suggest button{border:0;background:none;font-size:1.3rem;line-height:1;color:var(--ink-2);cursor:pointer;padding:0 6px}

/* Header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
.top.scrolled{border-bottom-color:var(--line)}
.top .wrap{display:flex;align-items:center;gap:18px;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 1.2rem/1 var(--f-display);letter-spacing:-.02em;flex-shrink:0}
.logo:hover{color:var(--ink)}
.logo small{display:block;font:500 .66rem/1.2 var(--f-mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-top:3px}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{color:var(--ink-2);text-decoration:none;font-weight:500;font-size:.95rem;padding:8px 12px;border-radius:999px;transition:background .2s,color .2s;white-space:nowrap}
.nav a:hover,.nav a[aria-current]{background:var(--teal-wash);color:var(--teal-deep)}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}
.lang a{font:600 .75rem/1 var(--f-mono);color:var(--muted);padding:7px 9px;border-radius:999px;text-decoration:none}
.lang a:hover{color:var(--ink)}
.lang a[aria-current]{background:var(--ink);color:var(--bg)}
.top .btn{--h:42px;font-size:.92rem;padding:0 18px;white-space:nowrap}
.menu-btn{display:none;border:1px solid var(--line);background:none;width:42px;height:42px;border-radius:50%;color:var(--ink);cursor:pointer;flex-shrink:0}
@media (max-width:1120px){.nav{display:none}.lang{margin-left:auto}.menu-btn{display:inline-grid;place-items:center}}
@media (max-width:720px){.top .btn-book{display:none}}
@media (max-width:560px){.logo small{display:none}.top .wrap{gap:10px;height:64px}.logo{font-size:1.05rem;gap:8px}.logo svg{width:32px;height:32px}.lang a{padding:7px 7px}}
@media (max-width:360px){.logo span{display:none}}
.drawer{display:grid;gap:0;padding:6px clamp(16px,4vw,40px) 18px;border-bottom:1px solid var(--line);background:var(--bg)}
.drawer a{padding:13px 4px;color:var(--ink);text-decoration:none;font-weight:600;border-bottom:1px solid var(--line)}
.drawer a:last-child{border-bottom:0}

/* Breadcrumbs */
.crumbs{padding-top:22px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:.84rem;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--line)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--teal-deep)}

/* Page head (inner pages) */
.page-head{padding-block:clamp(36px,6vw,72px) clamp(28px,4vw,48px)}
.page-head .wrap{display:grid;gap:18px}
.page-head .lede{font-size:clamp(1.08rem,1.5vw,1.22rem)}
.byline{font-size:.9rem;color:var(--muted)}
.byline a{color:var(--ink-2)}
.author{display:flex;align-items:center;gap:12px}
.in-short{border-left:3px solid var(--teal);background:var(--teal-wash);padding:18px 22px;border-radius:0 14px 14px 0;display:grid;gap:8px}
.in-short p:last-child{font-size:1.05rem;color:var(--ink)}

/* Hero */
.hero{padding-block:clamp(36px,6vw,80px) clamp(56px,8vw,96px)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,72px);align-items:center}
@media (max-width:880px){.hero-grid{grid-template-columns:1fr}}
.hero h1{font-size:clamp(2.9rem,6.6vw,5.6rem);letter-spacing:-.045em;line-height:.95;margin-block:20px 26px}
.hl{position:relative;display:inline-block;color:var(--teal);white-space:nowrap}
.hl svg{position:absolute;left:-2%;bottom:-.14em;width:104%;height:.3em;overflow:visible}
.hl path{fill:none;stroke:var(--orange);stroke-width:5;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.1s .5s cubic-bezier(.6,0,.2,1) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.hero .lede{font-size:clamp(1.1rem,1.6vw,1.28rem)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;align-items:center}
.price-note{font-size:.9rem;color:var(--muted);margin-top:14px}
.price-note small{margin-right:4px}
.capacity{margin-top:10px;font-size:.9rem;font-weight:600;color:var(--orange)}
.hero-visual{position:relative}
.chip{position:absolute;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow);font-size:.85rem;line-height:1.35;display:flex;gap:10px;align-items:center;animation:float 6s ease-in-out infinite;max-width:230px}
.chip b{font-family:var(--f-display);font-size:1.05rem;display:block;font-variant-numeric:tabular-nums}
.chip .dot{width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px var(--teal-wash);flex-shrink:0}
.chip-a{left:-28px;bottom:48px}
.chip-b{right:-18px;top:28px;animation-delay:-3s}
@media (max-width:1000px){.chip-a{left:12px;bottom:14px}.chip-b{right:12px;top:14px}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.trust{display:flex;flex-wrap:wrap;margin-top:clamp(40px,6vw,64px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust div{flex:1 1 200px;padding:20px 20px 20px 0;display:grid;gap:4px}
.trust div+div{padding-left:20px;border-left:1px solid var(--line)}
@media (max-width:640px){.trust div+div{border-left:0;padding-left:0}.trust div{border-bottom:1px solid var(--line)}.trust div:last-child{border-bottom:0}}
.trust strong{font:700 1.9rem/1 var(--f-display);letter-spacing:-.03em}
.trust span{color:var(--muted);font-size:.9rem}
.results-trust{margin-top:0}

/* Image slots */
.slot{position:relative;margin:0;border-radius:22px;overflow:hidden;background:repeating-linear-gradient(135deg,var(--bg-soft) 0 14px,var(--bg) 14px 28px);border:1.5px dashed color-mix(in srgb,var(--teal) 45%,var(--line));display:grid;place-items:center;text-align:center;max-width:100%;width:100%}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot .slot-info{display:grid;gap:6px;padding:20px;justify-items:center;color:var(--muted);font-size:.85rem}
.slot .slot-info strong{color:var(--ink);font-weight:600;font-size:.95rem}
.slot .slot-info code{font:500 .72rem/1.3 var(--f-mono);color:var(--teal-deep);background:var(--teal-wash);padding:3px 7px;border-radius:6px;word-break:break-all}
.slot.filled{border:0}
.slot.quiet{border:0;background:linear-gradient(140deg,var(--teal-wash),var(--bg-soft))}
.slot.avatar{width:48px;height:48px;border-radius:50%;flex-shrink:0;border-width:1px}
.slot.avatar .slot-info{display:none}

/* First 10 stays */
.start-grid > *{min-width:0}
.start-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,64px);align-items:start}
@media (max-width:900px){.start-grid{grid-template-columns:1fr}}
.start-copy{display:grid;gap:20px}
ul.dots{margin:0;padding:0;list-style:none;display:grid;gap:12px}
ul.dots li{display:grid;grid-template-columns:auto 1fr;gap:12px;color:var(--ink-2)}
ul.dots li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal);margin-top:10px}
.rater{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:clamp(20px,3vw,32px);box-shadow:var(--shadow);display:grid;gap:22px;min-width:0}
.rater-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.avg{font:800 clamp(3.4rem,7vw,4.6rem)/.9 var(--f-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:8px}
.verdict{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;padding:8px 14px;border-radius:999px;transition:background .3s,color .3s}
.verdict.ok{background:var(--teal-wash);color:var(--teal-deep)}
.verdict.bad{background:var(--orange-wash);color:var(--orange)}
.stays{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
@media (max-width:1180px){.stays{grid-template-columns:repeat(5,minmax(0,1fr))}}
.stay{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:10px 4px 8px;display:grid;gap:4px;justify-items:center;cursor:pointer;font:inherit;color:var(--ink);transition:transform .15s,border-color .2s,background .2s}
.stay:hover{transform:translateY(-3px);border-color:var(--teal)}
.stay .n{font:600 .66rem/1 var(--f-mono);color:var(--muted)}
.stay .v{font:700 1.35rem/1 var(--f-display)}
.stay .st{font-size:.6rem;letter-spacing:0;color:var(--teal);white-space:nowrap;overflow:hidden;max-width:100%}
.stay.low{background:var(--orange-wash);border-color:color-mix(in srgb,var(--orange) 50%,var(--line))}
.stay.low .st{color:var(--orange)}
.meter{position:relative;height:56px}
.meter .track{position:absolute;left:0;right:0;top:18px;height:10px;border-radius:99px;background:linear-gradient(90deg,var(--orange-wash),var(--bg-soft) 70%,var(--teal-wash) 80%)}
.meter .zone{position:absolute;top:18px;height:10px;right:0;left:80%;border-radius:0 99px 99px 0;background:var(--teal);opacity:.25}
.meter .line{position:absolute;left:80%;top:8px;height:30px;width:2px;background:var(--orange)}
.meter .needle{position:absolute;top:12px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:var(--ink);border:4px solid var(--card);box-shadow:var(--shadow);transition:left .5s cubic-bezier(.3,1.4,.5,1)}
.meter .tick{position:absolute;top:40px;font:500 .72rem/1 var(--f-mono);color:var(--muted);transform:translateX(-50%)}
.meter .tick.req{color:var(--orange);font-weight:600}
.rater-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;font-size:.88rem;color:var(--muted)}

/* Clocks */
.clock-band{display:grid;gap:28px}
.clocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:860px){.clocks{grid-template-columns:1fr}}
.clock{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;min-width:0;transition:transform .25s,box-shadow .25s}
.clock:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.clock.prop{border-color:color-mix(in srgb,var(--teal) 55%,var(--line))}
.clock svg{width:96px;height:96px}
.clock .face{fill:var(--bg-soft);stroke:var(--line);stroke-width:1.5}
.clock .tk{stroke:var(--muted);stroke-width:1.4;stroke-linecap:round}
.clock .tk.big{stroke:var(--ink);stroke-width:2.4}
.clock .hh{stroke:var(--ink);stroke-width:4;stroke-linecap:round}
.clock .mh{stroke:var(--ink);stroke-width:2.6;stroke-linecap:round}
.clock .sh{stroke:var(--orange);stroke-width:1.4;stroke-linecap:round}
.clock .pin{fill:var(--orange)}
.clock .meta{display:grid;gap:4px;min-width:0}
.clock .role{font:600 .7rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.clock .city{font:700 1.3rem/1.1 var(--f-display)}
.clock .time{font:600 1.55rem/1 var(--f-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.clock .state{font-size:.85rem;color:var(--ink-2);display:flex;gap:7px;align-items:center;min-height:1.3em}
.clock .state i{width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0}
.clock .state i.on{background:var(--teal);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--teal) 60%,transparent)}100%{box-shadow:0 0 0 9px transparent}}
.clock select{font:600 1.1rem var(--f-display);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:4px 8px;max-width:100%}
.cover{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(18px,3vw,28px);display:grid;gap:18px;min-width:0}
.cover-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.cover-head p{color:var(--ink-2);font-size:.95rem}
.bars{position:relative;display:grid;gap:10px;overflow-x:auto;padding-top:26px}
.bar-row{display:grid;grid-template-columns:170px 1fr;gap:14px;align-items:center;min-width:580px}
.bar-row .lbl{font-size:.85rem;font-weight:600;line-height:1.25}
.bar-row .lbl span{display:block;font-weight:400;color:var(--muted);font-size:.78rem}
.lane{position:relative;height:26px;border-radius:8px;background:var(--bg-soft)}
.seg{position:absolute;top:0;bottom:0;border-radius:8px}
.seg.host{background:var(--teal)}
.seg.team{background:color-mix(in srgb,var(--teal) 40%,var(--bg-soft))}
.seg.sos{background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--orange) 45%,transparent) 0 6px,transparent 6px 12px);border:1px solid color-mix(in srgb,var(--orange) 40%,transparent)}
.hours{display:grid;grid-template-columns:170px 1fr;gap:14px;min-width:580px}
.hours .scale{position:relative;height:16px;font:500 .7rem/1 var(--f-mono);color:var(--muted)}
.hours .scale span{position:absolute;transform:translateX(-50%)}
@media (max-width:700px){.hours .scale .odd{display:none}}
.now{position:absolute;top:20px;bottom:22px;width:2px;background:var(--orange);pointer-events:none;transition:left 1s linear;left:-10px}
.now::before{content:attr(data-t);position:absolute;top:-20px;left:50%;transform:translateX(-50%);font:600 .7rem/1 var(--f-mono);color:var(--orange);background:var(--card);padding:2px 4px;border-radius:4px;white-space:nowrap}
.cover-note{font-size:.92rem;color:var(--ink-2);border-top:1px solid var(--line);padding-top:16px}
.cover-note strong{color:var(--ink)}

/* Method */
.method{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden}
@media (max-width:1000px){.method{grid-template-columns:repeat(2,minmax(0,1fr))}.method article:last-child{grid-column:1/-1}}
@media (max-width:560px){.method{grid-template-columns:1fr}}
.method article{background:var(--bg);padding:26px 22px 28px;display:grid;gap:12px;align-content:start;transition:background .25s}
.method article:hover{background:var(--teal-wash)}
.ico{width:44px;height:44px;border-radius:12px;background:var(--teal-wash);display:grid;place-items:center;color:var(--teal-deep);flex-shrink:0;transition:background .25s,color .25s}
.method article:hover .ico{background:var(--teal);color:var(--on-teal)}
.method p{color:var(--ink-2);font-size:.95rem}

/* Services */
.entry{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(20px,4vw,48px);align-items:center;background:var(--ink);color:var(--bg);border-radius:28px;padding:clamp(24px,4vw,48px);margin-bottom:20px;position:relative;overflow:hidden}
.entry::after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--teal) 55%,transparent),transparent 70%);pointer-events:none}
@media (max-width:820px){.entry{grid-template-columns:1fr}}
.entry h3{color:var(--bg);font-size:clamp(1.6rem,3vw,2.2rem)}
.entry .eyebrow{color:color-mix(in srgb,var(--teal) 70%,var(--bg))}
.entry-sub{color:color-mix(in srgb,var(--bg) 78%,var(--ink));margin-top:10px}
.entry ul{margin:14px 0 0;padding-left:18px;display:grid;gap:6px;color:color-mix(in srgb,var(--bg) 85%,var(--ink))}
.entry .buy{display:grid;gap:12px;justify-items:start;position:relative;z-index:1}
.entry .price{font:800 2.6rem/1 var(--f-display);color:var(--bg);letter-spacing:-.03em}
.entry .price small{font:500 .9rem var(--f-body);color:color-mix(in srgb,var(--bg) 70%,var(--ink));margin-right:6px;letter-spacing:0}
.entry .set{border-bottom-color:color-mix(in srgb,var(--bg) 60%,var(--ink));color:color-mix(in srgb,var(--bg) 70%,var(--ink))}
.entry-terms{font-size:.82rem;color:color-mix(in srgb,var(--bg) 65%,var(--ink))}
.pkgs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.pkgs{grid-template-columns:1fr}}
.pkg{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px;display:grid;grid-template-rows:auto auto 1fr auto;gap:16px;min-width:0;transition:transform .25s,box-shadow .25s,border-color .25s}
.pkg.main{border-color:color-mix(in srgb,var(--teal) 55%,var(--line))}
.pkg:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--teal) 50%,var(--line))}
.pkg h3 a{color:inherit;text-decoration:none}
.pkg .tag{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.pill{font:600 .72rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--bg-soft);color:var(--ink-2);display:inline-block;width:max-content;max-width:100%}
.pill.t{background:var(--teal-wash);color:var(--teal-deep)}
.pkg p.for{color:var(--ink-2);font-size:.95rem}
.pkg ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;align-content:start}
.pkg li{display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:.93rem;color:var(--ink-2)}
.pkg li svg{margin-top:4px;color:var(--teal)}
.pkg .foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px}
.from{font:700 1.4rem/1 var(--f-display);white-space:nowrap}
.from small{font:500 .8rem var(--f-body);color:var(--muted);margin-right:4px}
.set{color:var(--muted);border-bottom:1.5px dashed var(--muted)}
.guides-band{margin-top:clamp(48px,6vw,72px);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,64px);align-items:start}
.guides-band.flush{margin-top:0}
@media (max-width:900px){.guides-band{grid-template-columns:1fr}}
.guides-copy{display:grid;gap:16px}
.guide-list{display:grid;gap:14px}
.gitem{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:var(--card);transition:border-color .2s,transform .2s;text-decoration:none;color:var(--ink)}
.gitem:hover{border-color:var(--teal);transform:translateX(4px);color:var(--ink)}
@media (max-width:560px){.gitem{grid-template-columns:auto 1fr}.gitem .from{grid-column:2}}
.gitem p{color:var(--ink-2);font-size:.92rem;margin-top:4px}
.addons{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px}
.addons span{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:.9rem;color:var(--ink-2);background:var(--bg)}
.addon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:24px}
.addon{border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;gap:10px;align-content:start}
.addon p{color:var(--ink-2);font-size:.93rem}
.addon .from{font-size:1.15rem}
.limits{margin-top:22px;font-size:.9rem;color:var(--muted);max-width:80ch}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:start}
.two-col.align-center{align-items:center}
@media (max-width:820px){.two-col{grid-template-columns:1fr}}
.note-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,28px);display:grid;gap:14px;align-content:start;min-width:0}
.soft .note-card{background:var(--bg)}

/* Service detail */
.svc-grid{grid-template-columns:1.3fr .7fr!important;align-items:end;gap:clamp(24px,4vw,56px)!important}
@media (max-width:860px){.svc-grid{grid-template-columns:1fr!important}}
.svc-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow);display:grid;gap:14px}
.svc-card dl{margin:0;display:grid;gap:14px}
.svc-card dl div{display:grid;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.svc-card dt{font:600 .72rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.svc-card dd{margin:0;color:var(--ink)}
ul.checks{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}
ul.checks li{display:grid;grid-template-columns:22px 1fr;gap:10px;color:var(--ink-2)}
ul.checks svg{color:var(--teal);margin-top:3px}
ol.timeline{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:0;border-left:2px solid var(--line)}
ol.timeline li{display:grid;gap:4px;padding:0 0 18px 20px;position:relative}
ol.timeline li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--teal)}
ol.timeline .when{font:600 .78rem/1.2 var(--f-mono);color:var(--teal-deep);text-transform:uppercase;letter-spacing:.06em}
ol.numbered{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--ink-2)}

/* Pricing */
.price-list{border-top:1px solid var(--line)}
.price-row{display:grid;grid-template-columns:1fr 140px 170px;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.price-row h3 a{color:inherit;text-decoration:none}
.price-row h3 a:hover{color:var(--teal-deep)}
.price-row p{color:var(--ink-2);font-size:.93rem;margin-top:4px}
.price-row .dur{font:500 .85rem var(--f-mono);color:var(--muted)}
.price-row .from{text-align:right}
@media (max-width:640px){.price-row{grid-template-columns:1fr auto}.price-row .dur{display:none}}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:s;list-style:none;margin:0;padding:0}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.step{display:grid;gap:12px;align-content:start;padding-top:22px;border-top:2px solid var(--line);position:relative}
.step::before{counter-increment:s;content:"0" counter(s);font:600 .8rem/1 var(--f-mono);color:var(--teal-deep)}
.step::after{content:"";position:absolute;top:-2px;left:0;width:0;height:2px;background:var(--teal);transition:width .8s cubic-bezier(.6,0,.2,1)}
.step.in::after{width:100%}
.step p{color:var(--ink-2);font-size:.95rem}
.step .when{font:500 .78rem/1 var(--f-mono);color:var(--muted)}

/* Proof */
.proof{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:900px){.proof{grid-template-columns:1fr}}
.proof-imgs{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:end}
.proof-imgs .slot:nth-child(2){margin-bottom:40px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-block:28px}
.facts div{background:var(--bg);padding:18px 20px;display:grid;gap:6px}
.facts strong{font:700 1.5rem/1 var(--f-display);letter-spacing:-.02em}
.facts span{font-size:.86rem;color:var(--muted)}
.case{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:860px){.case{grid-template-columns:1fr}}
.case-imgs{display:grid;gap:14px}
.case-blocks{display:grid;gap:14px}
.case-block{border-left:3px solid var(--teal);padding:4px 0 4px 20px;display:grid;gap:8px}
.case-block p{color:var(--ink-2)}

/* Consultant */
.me{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:820px){.me{grid-template-columns:1fr}.me .slot{max-width:360px}}
.me-copy{display:grid;gap:18px}
.links{display:flex;flex-wrap:wrap;gap:12px}
.mail{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:6px 6px 6px 16px;font:500 .95rem var(--f-mono);width:max-content;max-width:100%;background:var(--bg)}
.mail span{overflow:hidden;text-overflow:ellipsis;user-select:all}
.mail button{border:0;background:var(--teal-wash);color:var(--teal-deep);font:600 .8rem var(--f-body);border-radius:999px;padding:8px 12px;cursor:pointer;flex-shrink:0}
.about-grid{grid-template-columns:1.2fr .8fr!important;align-items:center;gap:clamp(24px,5vw,64px)!important}
.about-grid > div{display:grid;gap:16px}
@media (max-width:820px){.about-grid{grid-template-columns:1fr!important}.about-grid .slot{max-width:360px}}
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px}

/* Book + forms */
.book{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(28px,5vw,64px);align-items:center;background:var(--teal-wash);border-radius:32px;padding:clamp(24px,5vw,64px)}
.book-page{background:transparent;padding:0;border-radius:0}
@media (max-width:820px){.book{grid-template-columns:1fr}.book .slot.cover{max-width:280px}}
.slot.cover{background:repeating-linear-gradient(135deg,var(--bg) 0 14px,var(--teal-wash) 14px 28px);box-shadow:18px 18px 0 -2px color-mix(in srgb,var(--teal) 30%,transparent);border-radius:14px}
.book-copy{display:grid;gap:18px}
.counter{font-weight:600;color:var(--teal-deep)}
.book-mini{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:start;background:var(--teal-wash);border-radius:28px;padding:clamp(22px,4vw,44px)}
@media (max-width:820px){.book-mini{grid-template-columns:1fr}}
.book-mini > div{display:grid;gap:12px}
form{display:grid;gap:14px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.fields{grid-template-columns:1fr}}
.field{display:grid;gap:6px;min-width:0}
.field label{font-size:.82rem;font-weight:600;color:var(--ink-2)}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;transition:border-color .2s,box-shadow .2s}
.field textarea{resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-wash)}
.field input[aria-invalid="true"]{border-color:var(--orange)}
.check{display:grid;grid-template-columns:auto 1fr;gap:10px;font-size:.86rem;color:var(--ink-2);align-items:start}
.check input{width:18px;height:18px;accent-color:var(--teal);margin-top:2px}
form .btn{justify-self:start}
.status{font-size:.92rem;padding:12px 14px;border-radius:12px;background:var(--bg);border:1px solid var(--line);color:var(--ink-2)}
.status.ok{border-color:color-mix(in srgb,var(--teal) 50%,var(--line));color:var(--ink)}
.status.err{border-color:color-mix(in srgb,var(--orange) 50%,var(--line));color:var(--ink)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Booking page */
.book-head{grid-template-columns:1fr auto!important;align-items:end;gap:24px!important}
@media (max-width:760px){.book-head{grid-template-columns:1fr!important}}
.price-badge{display:grid;gap:6px;justify-items:end;text-align:right}
@media (max-width:760px){.price-badge{justify-items:start;text-align:left}}
.price-badge .from{font-size:2.2rem}
.booking{display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:980px){.booking{grid-template-columns:1fr}}
.cal-box{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:12px;min-height:520px;box-shadow:var(--shadow);min-width:0}
.cal-inline{width:100%;min-height:600px;overflow:auto}
.cal-fallback{text-align:center;padding:10px}
.cal-missing{display:grid;gap:16px;justify-items:center;text-align:center;padding:60px 20px;color:var(--ink-2)}
.cal-missing svg{color:var(--teal)}
.book-side{display:grid;gap:16px}

/* Long-form articles */
.longform .page-head .wrap{gap:16px}
.article-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start;padding-bottom:clamp(56px,8vw,96px);max-width:1100px}
@media (max-width:980px){.article-grid{grid-template-columns:1fr}}
.toc{position:sticky;top:96px;display:grid;gap:12px;font-size:.88rem}
.toc ol{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--muted)}
.toc a{color:var(--ink-2);text-decoration:none}
.toc a:hover{color:var(--teal-deep)}
@media (max-width:980px){.toc{position:static;border:1px solid var(--line);border-radius:16px;padding:18px}}
.prose{max-width:68ch;font-size:1.06rem;line-height:1.72;color:var(--ink)}
.prose > * + *{margin-top:1.1em}
.prose h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-top:2em;scroll-margin-top:96px}
.prose h3{font-size:1.25rem;margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.3em;display:grid;gap:.5em}
.prose li::marker{color:var(--teal)}
.prose blockquote{margin:1.4em 0;border-left:3px solid var(--teal);padding:4px 0 4px 18px;color:var(--ink-2);font-style:italic}
.prose code{font-family:var(--f-mono);font-size:.9em;background:var(--bg-soft);padding:2px 6px;border-radius:6px}
.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.prose .faq{margin-top:1em}
.prose-wide{margin-block:2em;display:grid;gap:16px;max-width:none}
@media (min-width:1100px){.prose-wide .clocks{grid-template-columns:1fr}}
.prose-wide .clock{grid-template-columns:auto 1fr}
.legal-check{display:flex;gap:10px;align-items:flex-start;background:var(--orange-wash);border-radius:12px;padding:14px 16px;font-size:.95rem}
.legal-check svg{color:var(--orange);flex-shrink:0;margin-top:3px}
.sources{border-top:1px solid var(--line);padding-top:18px;margin-top:2em}
.sources ul{margin:10px 0 0;padding-left:1.2em;display:grid;gap:6px;font-size:.93rem}
.cta-box{margin-top:2.4em;background:var(--teal-wash);border-radius:20px;padding:clamp(20px,3vw,32px);display:grid;gap:12px}
.cta-box p{color:var(--ink-2)}
.cta-box .hero-ctas{margin-top:6px}
.longform .slot{margin-bottom:28px}

/* Guides */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chipbtn{border:1px solid var(--line);background:var(--bg);color:var(--ink-2);font:600 .85rem var(--f-body);padding:9px 14px;border-radius:999px;cursor:pointer}
.chipbtn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.gcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.gcard{border:1px solid var(--line);border-radius:22px;padding:26px;display:grid;gap:14px;align-content:start;text-decoration:none;color:var(--ink);background:var(--card);transition:transform .25s,box-shadow .25s,border-color .25s}
.gcard:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--teal) 50%,var(--line));color:var(--ink)}
.gcard h3,.gcard h2{font-size:1.25rem}
.gcard p{color:var(--ink-2);font-size:.95rem}
.gmeta{font:500 .78rem var(--f-mono);color:var(--muted)}
.soft .gcard{background:var(--bg)}

/* Glossary, key facts */
.glossary,.facts-list{margin:0;display:grid;border-top:1px solid var(--line)}
.glossary div,.facts-list div{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:230px 1fr;gap:20px;scroll-margin-top:96px}
@media (max-width:640px){.glossary div,.facts-list div{grid-template-columns:1fr;gap:6px}}
.glossary dt,.facts-list dt{font:700 1.05rem/1.3 var(--f-display)}
.glossary dd,.facts-list dd{margin:0;color:var(--ink-2)}
.glossary div:target{background:var(--teal-wash)}

/* Resources, contact, 404 */
.resources{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:start}
@media (max-width:820px){.resources{grid-template-columns:1fr}}
.res-list{display:grid;gap:14px}
.res-item{display:grid;grid-template-columns:auto 1fr;gap:16px;border:1px solid var(--line);border-radius:18px;padding:20px}
.res-item p{margin-top:6px}
.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(24px,4vw,48px);align-items:start}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.contact-side{display:grid;gap:16px}
.links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.linkcard{text-decoration:none;color:var(--ink);grid-template-columns:1fr auto;align-items:center}
.linkcard:hover{border-color:var(--teal);color:var(--ink)}

/* FAQ */
.faq{display:grid;border-top:1px solid var(--line);max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;font:600 1.12rem/1.35 var(--f-display);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0;transition:transform .3s,background .2s;font-family:var(--f-body)}
.faq details[open] .pm{transform:rotate(45deg);background:var(--teal);color:var(--on-teal);border-color:var(--teal)}
.faq details p{padding:0 0 22px;color:var(--ink-2);max-width:68ch}
.after-faq{margin-top:22px}

/* CTA band + footer */
.final{text-align:center;display:grid;gap:22px;justify-items:center}
.final h2{font-size:clamp(2.2rem,5.6vw,4.2rem);letter-spacing:-.035em;max-width:18ch}
.final .lede{text-align:center}
.site-foot{border-top:1px solid var(--line);padding-block:56px 40px;background:var(--bg-soft);font-size:.92rem;color:var(--ink-2)}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot-grid{grid-template-columns:1fr}}
.foot-brand{display:grid;gap:12px;align-content:start}
.foot-h{font:600 .75rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-foot a{color:var(--ink-2);text-decoration:none}
.site-foot a:hover{color:var(--teal-deep)}
.legal-row{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted);display:grid;gap:8px}
.legal-row ul{display:flex;flex-wrap:wrap;gap:6px 18px}
.legal-row .linkbtn{font-size:.8rem;color:var(--ink-2);padding:0}

/* Consent banner */
.consent{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;max-width:560px;margin-left:auto;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 50px -12px rgba(0,0,0,.3);padding:20px;display:grid;gap:14px;font-size:.92rem;color:var(--ink-2)}
.consent strong{color:var(--ink)}
.consent-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.consent .btn{--h:42px;font-size:.92rem}

/* Mobile sticky CTA */
.sticky-cta{display:none}
@media (max-width:720px){
  .sticky-cta{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:50;box-shadow:0 12px 30px -8px rgba(0,0,0,.35);transform:translateY(0);transition:transform .3s}
  .sticky-cta.away{transform:translateY(140%)}
  .site-foot{padding-bottom:110px}
  .consent{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}

/* Reveal: visible at rest; blocks below the fold only rise into place */
.reveal{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.pre{transform:translateY(28px)}

@media print{.top,.sticky-cta,.consent,.site-foot,.lang-suggest{display:none!important}}
