/* ============ fonts (self-hosted: no request leaves for a third party) ============ */
@font-face{font-family:"Heebo";font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/heebo-hebrew-400-normal.woff2) format("woff2");
  unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:"Heebo";font-style:normal;font-weight:500;font-display:swap;
  src:url(fonts/heebo-hebrew-500-normal.woff2) format("woff2");
  unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:"Heebo";font-style:normal;font-weight:700;font-display:swap;
  src:url(fonts/heebo-hebrew-700-normal.woff2) format("woff2");
  unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:"Heebo";font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/heebo-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+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Heebo";font-style:normal;font-weight:500;font-display:swap;
  src:url(fonts/heebo-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+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Heebo";font-style:normal;font-weight:700;font-display:swap;
  src:url(fonts/heebo-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+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Frank Ruhl Libre";font-style:normal;font-weight:700;font-display:swap;
  src:url(fonts/frank-ruhl-libre-hebrew-700-normal.woff2) format("woff2");
  unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:"Frank Ruhl Libre";font-style:normal;font-weight:700;font-display:swap;
  src:url(fonts/frank-ruhl-libre-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+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ============ tokens ============ */
:root{
  --ground:#F4F6F7;
  --surface:#FFFFFF;
  --surface-2:#EDF1F2;
  --ink:#13232E;
  --ink-soft:#3F4F59;
  --muted:#56666F;
  --line:#D7DFE2;
  --line-strong:#B9C6CB;
  --control:#6B7C85;
  --accent:#0B6B72;
  --accent-ink:#FFFFFF;
  --accent-soft:#E0EFEF;
  --stone:#CFC3A8;
  --stone-2:#B9AC8E;
  --high:#9C2F26;
  --high-soft:#F8E6E3;
  --mid:#8A5208;
  --mid-soft:#FBEEDC;
  --ok:#2F6B43;
  --ok-soft:#E3F0E7;
  --focus:#C2410C;
  --display:"Frank Ruhl Libre","Times New Roman",serif;
  --body:"Heebo","Arial Hebrew","Segoe UI",Arial,sans-serif;
  --radius:4px;
  --wrap:1080px;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#0E1719; --surface:#16232A; --surface-2:#1C2C33;
    --ink:#E8EFF0; --ink-soft:#B6C5CA; --muted:#93A5AC;
    --line:#26383F; --line-strong:#3A525C; --control:#62808A;
    --accent:#5FBFC4; --accent-ink:#0B1A1D; --accent-soft:#163336;
    --stone:#5E5747; --stone-2:#4C4639;
    --high:#F0968C; --high-soft:#3A1E1A;
    --mid:#E6AE66; --mid-soft:#35270F;
    --ok:#8BCBA2; --ok-soft:#14301F;
    --focus:#FDBA74;
  }
}
:root[data-theme="dark"]{
  --ground:#0E1719; --surface:#16232A; --surface-2:#1C2C33;
  --ink:#E8EFF0; --ink-soft:#B6C5CA; --muted:#93A5AC;
  --line:#26383F; --line-strong:#3A525C; --control:#62808A;
  --accent:#5FBFC4; --accent-ink:#0B1A1D; --accent-soft:#163336;
  --stone:#5E5747; --stone-2:#4C4639;
  --high:#F0968C; --high-soft:#3A1E1A;
  --mid:#E6AE66; --mid-soft:#35270F;
  --ok:#8BCBA2; --ok-soft:#14301F;
  --focus:#FDBA74;
}

/* ============ base ============ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--body);font-size:1.0625rem;line-height:1.7;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg{max-width:100%;height:auto}
a{color:var(--accent);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
h1,h2,h3{text-wrap:balance;margin:0}
p{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:20px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.skip{
  position:absolute;inset-inline-start:12px;top:-60px;z-index:100;
  background:var(--ink);color:var(--ground);padding:10px 16px;font-weight:700;
  border-radius:var(--radius);text-decoration:none;
}
.skip:focus{top:12px}

/* ============ header ============ */
.site-head{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--ground) 92%,transparent);
  backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px);
  border-bottom:1px solid var(--line);
}
.site-head .wrap{display:flex;align-items:center;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.brand svg{width:34px;height:26px;flex-shrink:0}
.brand b{font-family:var(--display);font-size:1.6rem;line-height:1;letter-spacing:.01em}
.nav{margin-inline-start:auto;display:flex;align-items:center;gap:4px}
.nav a{color:var(--ink-soft);text-decoration:none;font-size:.95rem;padding:10px 10px;border-radius:var(--radius)}
.nav a:hover{color:var(--ink);background:var(--surface-2)}
.nav .btn{margin-inline-start:6px}
.nav a.btn{color:var(--accent-ink);background:var(--accent)}
.nav a.btn:hover{color:var(--accent-ink);background:var(--accent)}
.nav a.btn.ghost,.nav a.btn.ghost:hover{color:var(--accent);background:transparent}

/* ============ buttons ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:12px 22px;border-radius:var(--radius);
  background:var(--accent);color:var(--accent-ink);border:2px solid var(--accent);
  font:inherit;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;
  transition:transform .15s ease,background .15s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--accent)}
.btn.small{min-height:40px;padding:8px 16px;font-size:.95rem}
.btn[aria-disabled="true"]{opacity:.55;pointer-events:none}

/* ============ hero ============ */
.hero{padding-block:56px 0;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}
.eyebrow{font-size:.85rem;font-weight:700;letter-spacing:.12em;color:var(--accent);margin-bottom:14px}
.hero h1{
  font-family:var(--display);font-weight:700;
  font-size:clamp(2.1rem,5.2vw,3.5rem);line-height:1.12;letter-spacing:-.01em;
}
.hero .lede{margin-top:20px;font-size:1.2rem;color:var(--ink-soft);max-width:34ch}
.hero .facts{margin:28px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.hero .facts li{display:flex;gap:10px;align-items:baseline;color:var(--ink-soft)}
.hero .facts li::before{content:"";width:10px;height:10px;flex-shrink:0;background:var(--stone-2);transform:translateY(-1px)}
.hero-actions{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}

/* wall band */
.wallband{margin-top:56px;height:64px;display:grid;grid-template-rows:repeat(3,1fr);gap:4px;opacity:.9}
.course{display:flex;gap:4px}
.course span{flex:1;background:var(--stone);border-radius:2px}
.course:nth-child(2){margin-inline-start:-3%}
.course:nth-child(2) span:nth-child(3n){background:var(--stone-2)}
.course:nth-child(1) span:nth-child(4n+2),.course:nth-child(3) span:nth-child(5n+1){background:var(--stone-2)}

/* ============ self-check card ============ */
.check{
  background:var(--surface);border:1px solid var(--line);border-radius:6px;
  box-shadow:0 1px 0 var(--line),0 18px 40px -24px rgba(19,35,46,.35);
  padding:24px;
}
.check h2{font-family:var(--display);font-size:1.45rem;line-height:1.3}
.check .sub{margin-top:6px;color:var(--muted);font-size:.95rem}
.check form{margin-top:18px;display:grid;gap:18px}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font-weight:700;font-size:1rem;margin-bottom:10px;padding:0}
legend .n{display:inline-grid;place-items:center;width:24px;height:24px;margin-inline-end:8px;
  background:var(--accent-soft);color:var(--accent);border-radius:50%;font-size:.8rem}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt span{
  display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;
  border:1.5px solid var(--control);border-radius:var(--radius);
  background:var(--surface);color:var(--ink-soft);font-size:.97rem;cursor:pointer;
  transition:border-color .12s ease,background .12s ease;
}
.opt input:hover+span{border-color:var(--accent)}
.opt input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);font-weight:700}
.opt input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.check .privacy-note{font-size:.85rem;color:var(--muted);display:flex;gap:8px;align-items:flex-start}
.check .privacy-note svg{width:16px;height:16px;flex-shrink:0;margin-top:4px}

.result{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}
.result[hidden]{display:none}
.result .lvl-label{font-size:.85rem;color:var(--muted)}
.result .lvl{font-family:var(--display);font-size:2rem;color:var(--accent);line-height:1.15}
.result p{margin-top:8px;color:var(--ink-soft)}
.result ul{margin:12px 0 0;padding-inline-start:20px;display:grid;gap:4px;color:var(--ink-soft)}
.result .fine{margin-top:12px;font-size:.82rem;color:var(--muted)}
.result .btn{margin-top:16px;width:100%}

/* ============ sections ============ */
section{padding-block:88px}
.sec-head{max-width:720px;margin-bottom:36px}
.sec-kicker{font-size:.85rem;font-weight:700;letter-spacing:.12em;color:var(--accent);margin-bottom:10px}
section h2{font-family:var(--display);font-size:clamp(1.75rem,3.6vw,2.5rem);line-height:1.2}
.sec-head p{margin-top:14px;color:var(--ink-soft);font-size:1.12rem}
.alt{background:var(--surface);border-block:1px solid var(--line)}

/* what changed */
.changed{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.changed div{background:var(--surface);padding:24px}
.changed b{display:block;font-family:var(--display);font-size:1.9rem;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}
.changed span{display:block;margin-top:8px;color:var(--ink-soft);font-size:.98rem}

/* portal demo */
.demo{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.demo-copy ul{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:14px}
.demo-copy li{display:grid;grid-template-columns:28px 1fr;gap:10px;color:var(--ink-soft)}
.demo-copy li b{color:var(--ink);display:block}
.demo-copy .ic{width:28px;height:28px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:50%}
.demo-copy .ic svg{width:15px;height:15px}

.device{background:var(--ink);border-radius:14px;padding:10px;box-shadow:0 30px 60px -30px rgba(19,35,46,.55)}
.device .bar{display:flex;align-items:center;gap:6px;padding:4px 8px 10px}
.device .bar i{width:9px;height:9px;border-radius:50%;background:#3b4b55}
.device .bar span{margin-inline-start:10px;font-size:.78rem;color:#9fb0b8;direction:ltr;font-family:ui-monospace,Menlo,monospace}
.screen{background:var(--ground);border-radius:8px;padding:18px;color:var(--ink)}
.demo-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--mid);background:var(--mid-soft);padding:2px 8px;border-radius:3px}
.screen h3{font-size:1.1rem;margin-top:8px}
.screen .meta{font-size:.8rem;color:var(--muted)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:10px}
.tile b{display:block;font-size:1.35rem;font-variant-numeric:tabular-nums;line-height:1.2}
.tile span{font-size:.75rem;color:var(--muted)}
.meter{margin-top:12px;height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.meter i{display:block;height:100%;width:69%;background:var(--accent);border-radius:99px;transition:width .6s ease}
.tasks{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
.tasks li{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:9px 10px;font-size:.88rem}
.tasks .box{width:18px;height:18px;border:1.5px solid var(--control);border-radius:3px;flex-shrink:0;display:grid;place-items:center}
.tasks .box svg{width:12px;height:12px;opacity:0;color:var(--accent-ink)}
.tasks li.done .box{background:var(--ok);border-color:var(--ok)}
.tasks li.done .box svg{opacity:1}
.tasks li.done .t{color:var(--muted);text-decoration:line-through}
.tasks .due{margin-inline-start:auto;font-size:.75rem;color:var(--muted);white-space:nowrap}
.incident{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--high-soft);border:1px solid color-mix(in srgb,var(--high) 35%,transparent);border-radius:4px;padding:10px}
.incident span{font-size:.82rem;color:var(--high);font-weight:700}
.incident em{font-style:normal;font-size:.75rem;color:var(--ink-soft)}
.demo-ctrl{margin-top:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.demo-ctrl p{font-size:.85rem;color:var(--muted)}

/* how */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.steps li{counter-increment:s;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:26px 24px;position:relative}
.steps li::before{content:counter(s);font-family:var(--display);font-size:2.4rem;line-height:1;color:var(--stone-2);display:block;margin-bottom:12px}
.steps h3{font-size:1.2rem}
.steps .time{display:inline-block;margin-top:6px;font-size:.85rem;color:var(--accent);font-weight:700}
.steps p{margin-top:10px;color:var(--ink-soft)}

/* stories */
.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.story{border-top:3px solid var(--stone-2);padding-top:18px}
.story h3{font-size:1.2rem;line-height:1.35}
.story p{margin-top:10px;color:var(--ink-soft)}
.story .fix{margin-top:14px;font-size:.95rem;background:var(--ok-soft);color:var(--ink);padding:12px 14px;border-radius:4px}
.story .fix b{color:var(--ok)}
.stories-note{margin-top:22px;font-size:.88rem;color:var(--muted)}

/* about */
.about{display:grid;grid-template-columns:260px 1fr;gap:44px;align-items:start}
.portrait{aspect-ratio:4/5;max-width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;overflow:hidden}
.portrait span{font-family:var(--display);font-size:3.5rem;color:var(--stone-2)}
.portrait picture{display:block;width:100%;height:100%}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.about h2{font-family:var(--display)}
.about p{margin-top:14px;color:var(--ink-soft);max-width:62ch}
.about .creds{margin:22px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.about .creds li{border:1px solid var(--line-strong);border-radius:99px;padding:6px 14px;font-size:.9rem;color:var(--ink-soft)}
.about .honest{margin-top:22px;border-inline-start:3px solid var(--accent);padding:4px 16px;color:var(--ink)}

/* faq */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;padding:20px 0;font-weight:700;font-size:1.08rem;
  display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:44px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--accent);line-height:1;flex-shrink:0}
.faq details[open] summary::after{content:"−"}
.faq .ans{padding:0 0 22px;color:var(--ink-soft);max-width:68ch}
.faq .ans p+p{margin-top:10px}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact .ways{margin-top:24px;display:grid;gap:12px}
.contact .ways a{display:flex;align-items:center;gap:12px;min-height:48px;color:var(--ink);text-decoration:none;font-weight:500}
.contact .ways a:hover span{text-decoration:underline}
.contact .ways svg{width:22px;height:22px;color:var(--accent);flex-shrink:0}
.form{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:26px;display:grid;gap:16px}
.field{display:grid;gap:6px}
.field label{font-weight:700;font-size:.97rem}
.field .hint{font-size:.85rem;color:var(--muted)}
.field input,.field textarea{
  font:inherit;font-size:1rem;color:var(--ink);background:var(--ground);
  border:1.5px solid var(--control);border-radius:var(--radius);padding:11px 12px;min-height:48px;width:100%;
}
.field textarea{min-height:96px;resize:vertical}
.field input:focus-visible,.field textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--accent)}
.consent{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;font-size:.92rem;color:var(--ink-soft)}
.consent input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--accent)}
.req{color:var(--high)}
.form .btn{width:100%}
.form .fine{font-size:.82rem;color:var(--muted)}
.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* footer */
.site-foot{background:var(--ink);color:#c9d4d8;padding-block:44px 32px;margin-top:0}
:root[data-theme="dark"] .site-foot{background:#081013}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .site-foot{background:#081013}}
.site-foot .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}
.site-foot b{color:#fff;font-family:var(--display);font-size:1.4rem}
.site-foot p,.site-foot li{font-size:.92rem}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-foot a{color:#e7eef0}
.site-foot .legal{grid-column:1/-1;border-top:1px solid #2a3a44;padding-top:18px;font-size:.82rem;color:#9fb0b8}

/* mobile sticky CTA */
.m-cta{display:none}

/* ============ inner pages (privacy / accessibility / thanks) ============ */
.page{padding-block:56px 88px}
.page article{max-width:760px}
.page h1{font-family:var(--display);font-size:clamp(2rem,5vw,2.8rem);line-height:1.15}
.page .updated{margin-top:10px;color:var(--muted);font-size:.92rem}
.page h2{font-family:var(--display);font-size:1.45rem;margin-top:36px}
.page p,.page li{color:var(--ink-soft)}
.page p{margin-top:12px}
.page ul{margin-top:10px;padding-inline-start:22px;display:grid;gap:6px}
.page .box{margin-top:18px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:18px 20px}


/* ============ year demo ============ */
.demo-lede{margin-top:14px;color:var(--ink-soft);font-size:1.08rem}
.year{margin:0}
.scr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.scr-head h3{font-size:1.1rem;margin-top:8px}
.month{font-family:var(--display);font-size:1.35rem;color:var(--accent);white-space:nowrap;line-height:1.2;margin-top:4px}
.months{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:3px;margin-top:12px;height:8px}
.months i{background:var(--surface-2);border-radius:2px}
.months .fill{position:absolute;inset-block:0;inset-inline-start:0;width:8.33%;background:var(--accent);border-radius:2px;opacity:.85;transition:width .5s ease}
.event{margin-top:12px;background:var(--surface);border:1px solid var(--line);border-inline-start:3px solid var(--accent);border-radius:4px;padding:12px 14px}
.event.pop{animation:pop .45s ease}
@keyframes pop{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}
.ev-kind{font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--accent)}
.ev-title{font-weight:700;font-size:1rem;margin-top:2px;line-height:1.4}
.ev-rows{margin:8px 0 0;display:grid;gap:6px}
.ev-rows div{display:grid;grid-template-columns:44px 1fr;gap:8px;font-size:.86rem;line-height:1.5}
.ev-rows dt{font-weight:700;color:var(--ink)}
.ev-rows dd{margin:0;color:var(--ink-soft)}
.ev-without{margin-top:9px;font-size:.8rem;color:var(--high);background:var(--high-soft);padding:6px 9px;border-radius:3px;line-height:1.5}
.ev-without b{font-weight:700}
.log{margin-top:12px}
.log-h{font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.06em}
.log ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}
.log li{display:flex;align-items:center;gap:8px;font-size:.82rem;background:var(--surface);border:1px solid var(--line);border-radius:3px;padding:6px 9px}
.log li em{margin-inline-start:auto;font-style:normal;font-size:.72rem;color:var(--muted);white-space:nowrap}
.log .ck{width:16px;height:16px;border-radius:50%;background:var(--ok);color:var(--accent-ink);display:grid;place-items:center;font-size:.65rem;flex-shrink:0}
:root[data-theme="dark"] .log .ck{color:#0B1A1D}
.log li.new{animation:pop .45s ease;border-color:var(--ok)}
.log li.more{background:transparent;border-style:dashed;color:var(--muted);justify-content:center}
.y-ctrl{margin-top:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.y-ctrl .btn.small{min-height:44px;min-width:44px;padding:8px 14px}
.y-ctrl .btn[disabled]{opacity:.4;cursor:default;transform:none}
#y-play{margin-inline-start:auto}
.y-dots{display:flex;gap:6px}
.y-dot{appearance:none;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--control);background:var(--surface);color:var(--ink-soft);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}
.y-dot.past{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.y-dot[aria-current="step"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
@media (max-width:720px){
  .y-dots{order:3;width:100%;justify-content:space-between}
  #y-play{margin-inline-start:0;flex:1}
  .ev-rows div{grid-template-columns:40px 1fr}
}

/* ============ responsive ============ */
@media (max-width:920px){
  .hero .wrap,.demo,.contact{grid-template-columns:1fr;gap:36px}
  .hero .lede{max-width:none}
  .steps,.stories{grid-template-columns:1fr}
  .changed{grid-template-columns:1fr}
  .about{grid-template-columns:1fr;gap:24px}
  .portrait{max-width:220px}
  .site-foot .wrap{grid-template-columns:1fr}
}
@media (max-width:720px){
  body{font-size:1rem}
  .nav a:not(.btn){display:none}
  section{padding-block:60px}
  .hero{padding-block:32px 0}
  .hero h1{font-size:clamp(1.9rem,8.2vw,2.4rem)}
  .hero .lede{font-size:1.08rem}
  .check{padding:18px}
  .tiles{grid-template-columns:repeat(3,1fr)}
  .tile{padding:8px}
  .tile b{font-size:1.1rem}
  .m-cta{
    display:flex;position:fixed;inset-inline:0;bottom:0;z-index:60;gap:8px;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
    background:color-mix(in srgb,var(--ground) 94%,transparent);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    border-top:1px solid var(--line);
  }
  .m-cta .btn{flex:1;min-height:48px}
  body.has-mcta{padding-bottom:76px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
@media print{
  .site-head,.m-cta,.wallband,.demo-ctrl{display:none}
}

/* ============ site menu ============ */
.menu-btn{
  appearance:none;display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;margin-inline-start:6px;padding:0;
  border:1.5px solid var(--control);border-radius:var(--radius);
  background:transparent;color:var(--ink);cursor:pointer;
}
.menu-btn:hover{background:var(--surface-2)}
.menu-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.menu-btn path{transition:transform .2s ease,opacity .2s ease;transform-origin:12px 12px}
.menu-btn[aria-expanded="true"] .l1{transform:translateY(5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .l2{opacity:0}
.menu-btn[aria-expanded="true"] .l3{transform:translateY(-5px) rotate(-45deg)}
.menu-panel{
  position:absolute;inset-inline:0;top:100%;
  background:var(--surface);border-bottom:1px solid var(--line);
  box-shadow:0 18px 30px -18px rgba(0,0,0,.35);
  max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;
}
.menu-panel[hidden]{display:none}
.site-head .menu-panel .wrap{display:block;min-height:0}
.menu-panel ul{list-style:none;margin:0;padding:8px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px 16px}
.menu-panel li a{
  display:flex;align-items:center;min-height:48px;padding:0 12px;
  color:var(--ink);text-decoration:none;font-size:1.05rem;border-radius:var(--radius);
}
.menu-panel li a:hover{background:var(--surface-2)}
.menu-contact{margin:0;padding:12px 12px 18px;border-top:1px solid var(--line);color:var(--muted)}
.menu-contact a{color:var(--accent);font-weight:700;white-space:nowrap}
@media (max-width:920px){
  .menu-panel ul{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .menu-panel ul{grid-template-columns:1fr;padding:6px 0}
  .menu-panel li + li a{border-top:1px solid var(--line);border-radius:0}
  .hero-actions{display:none}
}
@media print{.menu-btn,.menu-panel{display:none!important}}
