/* Stijl van anatomino.com. Overgenomen uit het ontwerp van de landingspagina; de lettertypes staan op de
   eigen server (fonts/ wordt bij het bouwen naar /assets/fonts/ gekopieerd) en er staan geen inline stijlen
   in de pagina's, zodat de Content-Security-Policy in _headers strikt kan blijven. */

@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/atkinson-hyperlegible-400.d64ba838ef.woff2") format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-style:italic;font-weight:400;font-display:swap;src:url("/assets/fonts/atkinson-hyperlegible-400-italic.bc8825fd43.woff2") format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/atkinson-hyperlegible-700.140e2bd25a.woff2") format("woff2")}
@font-face{font-family:"Spectral";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/spectral-400.cf8daee3b8.woff2") format("woff2")}
@font-face{font-family:"Spectral";font-style:italic;font-weight:400;font-display:swap;src:url("/assets/fonts/spectral-400-italic.db397149a9.woff2") format("woff2")}
@font-face{font-family:"Spectral";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/spectral-600.33faca8b57.woff2") format("woff2")}

:root{
  --paper:#F4F6F8; --surface:#FFFFFF; --ink:#18233A; --muted:#4A566B; --line:#D3DAE3;
  --deep:#16213A; --deep-2:#1F2C4A; --on-deep:#EEF2F7; --on-deep-muted:#B9C3D3;
  --artery:#A9302A; --artery-ink:#FFFFFF; --vein:#2B57A0; --nerve:#D9A800;
  --bone:#E3DAC6; --bone-shade:#C9BEA5; --muscle:#8E3B33; --organ:#B5677A;
  --ok:#1D6B3A; --focus:#2B57A0;
  --serif:"Spectral", Georgia, "Times New Roman", serif;
  --sans:"Atkinson Hyperlegible", "Segoe UI", system-ui, -apple-system, sans-serif;
  --measure:66ch;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0F1522; --surface:#172034; --ink:#E6EBF2; --muted:#AAB5C6; --line:#2A3549;
    --deep:#0B1120; --deep-2:#16203A;
    --artery:#C43B32; --vein:#86A9E8; --muscle:#C0574D; --organ:#D68A9B;
    --ok:#6FCF97; --focus:#9DBBF0;
  }
}
:root[data-theme="dark"]{
  --paper:#0F1522; --surface:#172034; --ink:#E6EBF2; --muted:#AAB5C6; --line:#2A3549;
  --deep:#0B1120; --deep-2:#16203A;
  --artery:#C43B32; --vein:#86A9E8; --muscle:#C0574D; --organ:#D68A9B;
  --ok:#6FCF97; --focus:#9DBBF0;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 5rem);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6}
img,svg{max-width:100%}
a{color:var(--vein);text-underline-offset:.18em}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:10}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + .5rem)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0 0 .6em}
h1{font-size:clamp(2.4rem,5.2vw,4.1rem);letter-spacing:-.012em;max-width:15ch}
h2{font-size:clamp(1.8rem,3.2vw,2.5rem);max-width:22ch}
h3{font-size:1.25rem}
p{margin:0 0 1em;max-width:var(--measure)}
.lat{font-family:var(--serif);font-style:italic}

/* nog in te vullen gegevens en aannames: zichtbaar tot ze in tools/site/gegevens.json staan */
mark.open{background:#FFF1B8;color:#4A3500;border:1px dashed #8A6100;border-radius:3px;padding:0 .3em;font:700 .85em/1.4 var(--sans);font-style:normal;white-space:normal}

/* header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--deep);color:var(--on-deep)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem}
.brand{display:inline-flex;align-items:center;flex:none;color:var(--on-deep);text-decoration:none;padding:.35rem 0}
.brand img{display:block;width:auto;height:2.4rem}
.head-right{display:flex;align-items:center;gap:1.4rem}
.nav{display:flex;gap:1.4rem;align-items:center}
.nav a{color:var(--on-deep);text-decoration:none;font-weight:700}
.nav a:hover{text-decoration:underline}
.langs ul{display:flex;gap:.15rem;list-style:none;margin:0;padding:0}
.langs a{display:inline-block;min-width:2.75rem;padding:.45rem .3rem;text-align:center;color:var(--on-deep-muted);text-decoration:none;font-weight:700;font-size:.95rem;border-radius:4px}
.langs a:hover{color:var(--on-deep);text-decoration:underline}
.langs a[aria-current]{color:var(--on-deep);box-shadow:inset 0 -3px 0 var(--artery)}
@media (max-width:1040px){.nav{display:none}}
@media (max-width:720px){.head-right{gap:.8rem}}
@media (max-width:520px){.head-right .head-cta{display:none}.brand img{height:2.1rem}.langs a{min-width:2.4rem}}
/* zeven talen passen niet naast het logo: op smalle schermen komt de taalkeuze op een eigen rij */
@media (max-width:780px){.site-head .wrap{flex-wrap:wrap;row-gap:0;padding-bottom:.35rem}.head-right{flex:1 1 100%;justify-content:space-between}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.7rem 1.3rem;border-radius:6px;font:700 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer;border:2px solid transparent;text-align:center}
.btn-buy{background:var(--artery);color:var(--artery-ink)}
.btn-buy:hover{filter:brightness(1.1)}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line:hover{background:var(--surface)}
.on-deep .btn-line{color:var(--on-deep);border-color:var(--on-deep)}
.on-deep .btn-line:hover{background:var(--deep-2)}
.btn-small{min-height:2.5rem;padding:.45rem 1rem}
.soon{display:inline-block;margin:0;padding:.55rem .9rem;border:1.5px dashed currentColor;border-radius:6px;font-weight:700;max-width:34rem}

/* hero */
.hero{background:var(--deep);color:var(--on-deep);padding:clamp(2.5rem,6vw,5rem) 0 clamp(3rem,7vw,6rem);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,4vw,4rem);align-items:center}
@media (max-width:960px){.hero .wrap{grid-template-columns:1fr}}
.hero .lead{font-size:1.2rem;color:var(--on-deep-muted)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin:1.8rem 0 .9rem}
.fine{font-size:.95rem;color:var(--muted)}
.hero .fine{color:var(--on-deep-muted)}

/* app window with real screenshots */
.demo{position:relative}
.window{background:#F7F8FA;color:#18233A;border-radius:10px;box-shadow:0 30px 60px -20px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08);overflow:hidden}
.titlebar{display:flex;align-items:center;gap:.6rem;padding:.55rem .9rem;background:#E6EAF0;font-size:.85rem;color:#4A566B}
.titlebar .dots{display:flex;gap:.35rem}
.titlebar .dots i{width:.7rem;height:.7rem;border-radius:50%;background:#C3CAD5;display:block}
.titlebar strong{color:#18233A}
.frames{display:grid;background:#1B2638}
.frames img{grid-area:1/1;display:block;width:100%;height:auto;opacity:0;transition:opacity .6s ease}
.frames img.on{opacity:1}
.frames{position:relative}
.spin{position:absolute}
.spin[hidden]{display:none}
.spin img{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:none}
.spin img.on{opacity:1}
.pause{position:absolute;right:.6rem;top:-2.9rem;font:700 .9rem var(--sans);color:var(--on-deep);background:transparent;border:2px solid var(--on-deep-muted);border-radius:6px;padding:.35rem .8rem;cursor:pointer}
.pause:hover{border-color:var(--on-deep)}
.pause[hidden]{display:none}
.demo-caption{margin:.9rem 0 0;font-size:.9rem;color:var(--on-deep-muted)}
@media (max-width:960px){.pause{position:static;margin-bottom:.7rem}}
@media (prefers-reduced-motion:reduce){.frames img{transition:none}}

/* sections */
.section{padding:clamp(3.2rem,6vw,5.5rem) 0}
.section + .section{border-top:1px solid var(--line)}
.intro{max-width:var(--measure)}

/* screens gallery */
.screens{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2.2rem}
@media (max-width:900px){.screens{grid-template-columns:1fr;max-width:520px}}
.screens figure{margin:0}
.screen{background:#F7F8FA;color:#18233A;border-radius:8px;border:1px solid var(--line);box-shadow:0 18px 36px -24px rgba(22,33,58,.45);overflow:hidden;font-size:.85rem}
.screen .titlebar{font-size:.78rem;padding:.45rem .7rem}
.screen .titlebar .dots i{width:.55rem;height:.55rem}
.screen img{display:block;width:100%;height:auto}
.credit{margin-top:1.4rem;font-size:.85rem;color:var(--muted)}
.screens figcaption{margin-top:.9rem}
.screens figcaption strong{display:block;font-family:var(--serif);font-size:1.15rem;font-weight:600}
.screens figcaption span{color:var(--muted)}
.screens-4{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.screens-4{grid-template-columns:1fr}}

/* modules: Spierwerking als animatie */
.module-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2.2rem;align-items:center;margin-top:2.2rem}
@media (max-width:900px){.module-hero{grid-template-columns:1fr}}
.module-hero .pause{position:static;margin-bottom:.7rem;color:var(--ink);border-color:var(--line)}
.module-hero .pause:hover{border-color:var(--ink)}
.module-text h3{font-family:var(--serif);font-size:1.5rem;margin:0 0 .6rem}
.module-text ul{padding-left:1.2rem}
.module-text li{margin:.3rem 0}
.pro-tag{display:inline-block;vertical-align:.25em;font:700 .7rem var(--sans);letter-spacing:.04em;padding:.1rem .55rem;border-radius:999px;background:var(--ink);color:#fff}

/* vergelijking met de alternatieven */
.compare-wrap{overflow-x:auto;margin-top:2rem;border:1px solid var(--line);border-radius:8px}
.compare{border-collapse:collapse;width:100%;min-width:760px;font-size:.92rem}
.compare th,.compare td{padding:.75rem .8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.compare thead th{font-family:var(--serif);font-size:1.02rem;background:var(--surface)}
.compare thead th small{display:block;font-family:var(--sans);font-size:.78rem;font-weight:400;color:var(--muted);margin-top:.2rem}
.compare tbody th{font-weight:600;width:22%}
.compare tbody tr:last-child th,.compare tbody tr:last-child td{border-bottom:0}
.compare .cmp-ours,.compare td:nth-child(2){background:rgba(46,125,90,.07)}
.cmp-mark{display:inline-block;width:1.1em;font-weight:700}
.cmp-ja .cmp-mark{color:var(--ok)}
.cmp-nee .cmp-mark{color:#B0473A}
.cmp-deels .cmp-mark{color:#A0761B}

/* systems */
.systems{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.systems li{padding:1.1rem 1.2rem 1.3rem 0;border-top:1px solid var(--line)}
.swatch{display:block;width:2.6rem;height:.55rem;border-radius:2px;margin-bottom:.9rem}
.sw-bone{background:var(--bone-shade)}
.sw-muscle{background:var(--muscle)}
.sw-nerve{background:var(--nerve)}
.sw-vessel{background:linear-gradient(90deg,var(--artery) 50%,var(--vein) 50%)}
.sw-organ{background:var(--organ)}
.systems h3{margin-bottom:.15rem}
.systems .lat{color:var(--muted);display:block;margin-bottom:.4rem}
.systems p{font-size:.98rem;margin:0}
.legend{font-size:.95rem;color:var(--muted);margin-top:1.4rem}

/* try + features */
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:start;margin-top:2rem}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.quiz{background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--bone-shade);border-radius:4px;padding:clamp(1.3rem,3vw,2rem)}
.quiz h3{font-family:var(--sans);font-size:1.1rem;font-weight:700;margin-bottom:.9rem}
.quiz .prompt{font-family:var(--serif);font-size:clamp(1.9rem,3.6vw,2.4rem);line-height:1.1;margin:0 0 1.1rem}
.quiz label{display:block;font-weight:700;margin-bottom:.35rem}
.quiz input{width:100%;font:italic 1.35rem/1.3 var(--serif);color:var(--ink);background:var(--paper);border:2px solid var(--muted);border-radius:4px;padding:.6rem .8rem}
.quiz .row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}
.feedback{min-height:3.2em;margin:1rem 0 0;font-weight:700}
.feedback.good{color:var(--ok)}
.feedback.bad{color:var(--artery)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .feedback.bad{color:#F08A82}}
.counter{font-size:.95rem;color:var(--muted);margin:0}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1.8rem 2.4rem;margin:0;padding:0}
.features dt{font-family:var(--serif);font-size:1.2rem;font-weight:600;margin-bottom:.3rem}
.features dd{margin:0;color:var(--muted)}
.features div{border-left:3px solid var(--line);padding-left:1rem}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
@media (max-width:900px){.plans{grid-template-columns:1fr}}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1.8rem;display:flex;flex-direction:column}
.plan.full{border:2px solid var(--ink);position:relative}
.price{font-family:var(--serif);font-size:3rem;line-height:1;margin:.3rem 0}
.price small{font-family:var(--sans);font-size:1rem;color:var(--muted)}
.plans .price small{display:block;margin-top:.45rem}
.plan ul{padding-left:1.2rem;margin:1rem 0 1.5rem}
.plan li{margin-bottom:.35rem}
.plan .btn,.plan .soon{margin-top:auto;align-self:flex-start}
.plan-notes{max-width:780px;margin-top:1.5rem}
.plan-notes p{color:var(--muted);margin:.5rem 0}
.plan-notes .mail-note{font-size:.95rem}

/* privacy en offline */
.promises{margin-top:2rem;grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.promises{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.promises{grid-template-columns:1fr}}
.promises dt::before{content:"";display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--ok);margin-right:.55rem;vertical-align:.12em}

/* faq */
.faq{margin-top:1.5rem;max-width:780px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:1rem 2rem 1rem 0;font-weight:700;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.3rem;top:.85rem;font-size:1.3rem;font-family:var(--serif)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted)}

.notice{background:var(--surface);color:var(--ink);border:2px solid var(--ok);border-radius:4px;padding:1rem 1.2rem;margin:1.5rem auto}
.notice[hidden]{display:none}
.testmode{margin:1.25rem 0;padding:.8rem 1rem;max-width:44rem;background:var(--surface);color:var(--ink);border:2px dashed var(--artery);border-radius:6px}

footer{background:var(--deep);color:var(--on-deep-muted);padding:2.8rem 0 3rem;font-size:.95rem}
footer a{color:var(--on-deep)}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem}
@media (max-width:700px){footer .wrap{grid-template-columns:1fr}}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:.4rem}
footer .socials{display:flex;gap:.9rem;margin-top:.6rem}
footer .social{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;border:1px solid currentColor;opacity:.85}
footer .social:hover,footer .social:focus-visible{opacity:1;background:rgba(255,255,255,.1)}
footer p{margin-bottom:.5rem}
footer strong{color:var(--on-deep)}

/* juridische pagina's: rustige leesopmaak */
.legal{padding:clamp(2.2rem,5vw,4rem) 0 clamp(3rem,6vw,5rem)}
.legal .wrap{max-width:46rem}
.legal h1{font-size:clamp(2.1rem,4.4vw,3rem);max-width:none;margin-bottom:.4em}
.legal .version{color:var(--muted);font-weight:700;margin-bottom:1.4rem}
.legal .ruling{background:var(--surface);border-left:4px solid var(--vein);padding:.8rem 1rem;margin:0 0 1.6rem;max-width:none}
.legal .intro-text{font-size:1.12rem;max-width:none}
.legal p,.legal li{max-width:none}
.legal h2{font-size:clamp(1.4rem,2.6vw,1.75rem);max-width:none;margin:2.4rem 0 .7rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.legal h3{font-family:var(--sans);font-size:1.05rem;font-weight:700;margin:1.4rem 0 .4rem}
.legal ul,.legal ol{padding-left:1.4rem;margin:0 0 1em}
.legal li{margin-bottom:.4rem}
.toc{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1rem 1.2rem 1rem 1.2rem;margin:1.6rem 0 0}
.toc h2{font-family:var(--sans);font-size:1rem;font-weight:700;border:0;padding:0;margin:0 0 .5rem}
.toc ol{margin:0;padding-left:1.4rem;columns:2 16rem;column-gap:2rem}
.toc li{margin-bottom:.25rem;break-inside:avoid}
.facts{display:grid;grid-template-columns:minmax(8rem,auto) 1fr;gap:.35rem 1rem;margin:1rem 0 1.2rem;padding:.9rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;font-size:.98rem}
.facts dt{font-weight:700}
.facts dd{margin:0}
@media (max-width:560px){.facts{grid-template-columns:1fr}.facts dd{margin-bottom:.4rem}}

/* taalkeuze op / en de 404-pagina */
.plain{min-height:100vh;display:flex;flex-direction:column}
.plain main{flex:1;display:flex;align-items:center;padding:clamp(2.5rem,6vw,5rem) 0}
.plain h1{font-size:clamp(1.7rem,4vw,2.6rem);max-width:none}
.choices{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem}
.choices a{display:block;height:100%;padding:1.1rem 1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--ink);text-decoration:none}
.choices a:hover{border-color:var(--ink)}
.choices strong{display:block;font-family:var(--serif);font-size:1.35rem;font-weight:600}
.choices span{color:var(--muted)}

@media (prefers-reduced-motion:reduce){
  .femur.turn,.pin.on .halo{animation:none}
  .leader,.scorebar .fill,.pin,.tag{transition:none}
}

/* downloads */
.downloads{padding:clamp(2.4rem,5vw,4rem) 0}
.downloads h1{font-family:var(--serif);margin:0 0 .6rem}
.downloads section{margin-top:2.4rem}
.downloads h2 small{font:400 .95rem var(--sans);color:var(--muted);margin-left:.5rem}
.dl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:1rem}
@media (max-width:760px){.dl-grid{grid-template-columns:1fr}}
.dl-card{border:1px solid var(--line);border-radius:10px;padding:1.3rem 1.4rem;display:flex;flex-direction:column;gap:.6rem;background:var(--surface)}
.dl-card.recommended{border-color:var(--ink);box-shadow:inset 4px 0 0 var(--artery)}
/* Microsoft Store-versie: over de volle breedte bovenaan het Windows-blok */
.dl-store{grid-column:1 / -1}
/* Smart App Control: waarschuwing op de kaarten van de GitHub-versie en uitleg eronder */
.dl-warn{border-left:4px solid var(--nerve);background:var(--paper);padding:.55rem .8rem;border-radius:0 6px 6px 0;font-size:.95rem}
.dl-sac{margin-top:1.6rem;max-width:var(--measure);border:1px solid var(--line);border-left:4px solid var(--nerve);border-radius:8px;padding:1.1rem 1.3rem;background:var(--surface)}
.dl-sac h3{margin-bottom:.5rem}
.dl-sac p:last-child{margin-bottom:0}
.dl-card h3{margin:0;font-family:var(--serif);font-size:1.25rem}
.dl-card p,.dl-card ul{margin:0}
.dl-card ul{padding-left:1.1rem;color:var(--muted)}
.dl-card .btn{align-self:flex-start;margin-top:auto}
.dl-card .file{font-size:.85rem;color:var(--muted)}
.badge{display:inline-block;align-self:flex-start;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#A9302A}
.dl-note,.dl-after{max-width:var(--measure);margin:1rem 0 0}
.specs-wrap{overflow-x:auto;margin-top:1rem;border:1px solid var(--line);border-radius:8px}
.specs{width:100%;border-collapse:collapse;font-size:.95rem}
.specs th,.specs td{padding:.65rem .8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.specs tbody tr:last-child th,.specs tbody tr:last-child td{border-bottom:0}
.specs thead th{font-family:var(--serif);font-size:1.05rem}
.specs tbody th{color:var(--muted);font-weight:700;white-space:nowrap}
@media (max-width:600px){.specs tbody th{white-space:normal}}

/* bestellen */
.order{padding:clamp(2.4rem,5vw,4rem) 0}
.order h1{font-family:var(--serif);margin:0 0 .6rem}
.order-form{max-width:900px}
.products{border:0;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.products legend{font:700 1.15rem var(--sans);margin-bottom:.8rem;padding:0}
@media (max-width:760px){.products{grid-template-columns:1fr}}
.product label{display:grid;grid-template-columns:auto 1fr;column-gap:.7rem;row-gap:.3rem;height:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:1.1rem 1.2rem;background:var(--surface);cursor:pointer}
.product label:not(:has(input)){grid-template-columns:1fr;cursor:default}
.product input{grid-row:1 / span 3;margin:.3rem 0 0;width:1.15rem;height:1.15rem;accent-color:#A9302A}
.product.is-on label{border-color:var(--ink);box-shadow:inset 4px 0 0 #A9302A}
.product.is-later label{cursor:default;border-style:dashed;background:transparent}
.product.is-later .product-name,.product.is-later .product-price{color:var(--muted)}
.product-name{font:600 1.2rem var(--serif)}
.product-price{font-weight:700}
.product-price small{font-weight:400;color:var(--muted)}
.product-text{color:var(--muted)}
.order-fields{margin-top:2rem;max-width:34rem;display:flex;flex-direction:column;gap:.45rem}
.order-fields label{font-weight:700;margin-top:.6rem}
.order-fields input,.order-fields textarea{width:100%;box-sizing:border-box;font:1.05rem/1.4 var(--sans);color:var(--ink);background:var(--surface);border:2px solid var(--muted);border-radius:4px;padding:.55rem .7rem}
.order-fields textarea{font-family:ui-monospace,Consolas,monospace;font-size:.95rem;resize:vertical}
.order-fields .hint{margin:0;font-size:.92rem;color:var(--muted)}
.order-fields .btn{align-self:flex-start;margin-top:.6rem}
.order-fields .fine{margin:.4rem 0 0}
.order-status{margin:.3rem 0 0;min-height:1.4em;font-weight:700}
.order-status.bad{color:var(--artery)}
.upgrade-only[hidden]{display:none}
.order .soon{margin-top:2rem}
.upgrade-links{color:var(--ink) !important}
.in-opbouw{margin:0;padding:.6rem 0;background:var(--nerve);color:#16213A;font-size:.95rem}
.in-opbouw .wrap{display:block}
/* melding bovenaan elke pagina zolang de GitHub-versie voor Windows ongetekend is (feiten.mjs, STORE_MELDING) */
.store-melding{max-width:none;margin:0;padding:.55rem 0;background:var(--surface);border-bottom:1px solid var(--line);color:var(--ink);font-size:.95rem}
.store-melding .wrap{display:block}
.store-melding a{font-weight:700}

/* plaats van de bewegende beelden over hun beginbeeld: gegenereerd uit tools/site/schermen/animaties.json */
.spin-draai{left:0%;top:0%;width:57.81%;height:100%}
.spin-spier{left:17.19%;top:8.75%;width:39.84%;height:60.63%}
