/* 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}}

/* 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 mockup */
.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}
.appbody{display:grid;grid-template-columns:1.25fr .9fr;min-height:400px}
@media (max-width:560px){.appbody{grid-template-columns:1fr}}
.viewport{background:radial-gradient(ellipse at 50% 45%,#FFFFFF 0%,#E9EDF2 75%);position:relative;border-right:1px solid #DCE1E8}
.viewport svg{display:block;width:100%;height:auto}
.vp-tools{position:absolute;left:.7rem;bottom:.6rem;display:flex;gap:.35rem}
.vp-tools span{font-size:.72rem;background:#FFFFFF;border:1px solid #D3DAE3;border-radius:4px;padding:.15rem .45rem;color:#4A566B}
.panel{padding:1.1rem 1.1rem 1rem;display:flex;flex-direction:column;gap:.7rem;font-size:.95rem}
.panel .region{font-weight:700;margin:0}
.panel .q{color:#4A566B;margin:0;font-size:.88rem}
.panel .ask{font-family:var(--serif);font-size:1.25rem;line-height:1.2;margin:0}
.answer{border:2px solid #4A566B;border-radius:4px;background:#FFFFFF;padding:.45rem .6rem;min-height:2.6rem;font:italic 1.15rem/1.4 var(--serif);color:#18233A;white-space:nowrap;overflow:hidden}
.answer .caret{display:inline-block;width:2px;height:1.1em;background:#18233A;vertical-align:-.15em;margin-left:1px}
.answer.correct{border-color:#1D6B3A}
.fake-btns{display:flex;gap:.4rem;flex-wrap:wrap}
.fake-btns span{font-size:.8rem;font-weight:700;border:1.5px solid #18233A;border-radius:4px;padding:.2rem .55rem}
.verdict{min-height:1.5em;font-weight:700;color:#1D6B3A;margin:0}
.scorebar{margin-top:auto}
.scorebar .lbl{display:flex;justify-content:space-between;font-size:.85rem;color:#4A566B;margin-bottom:.3rem}
.scorebar .track{height:.5rem;background:#DCE1E8;border-radius:99px;overflow:hidden}
.scorebar .fill{height:100%;background:#1D6B3A;width:80%;transition:width .5s ease}
.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}}

/* femur svg parts */
.femur{transform-box:fill-box;transform-origin:50% 50%}
.femur.turn{animation:turn 1.4s ease-in-out}
@keyframes turn{0%{transform:scaleX(1)}35%{transform:scaleX(.55)}70%{transform:scaleX(1.06)}100%{transform:scaleX(1)}}
.pin{opacity:0;transition:opacity .3s}
.pin.on{opacity:1}
.pin .halo{transform-box:fill-box;transform-origin:center}
.pin.on .halo{animation:halo 1.6s ease-out infinite}
.paused .pin.on .halo,.paused .femur.turn{animation-play-state:paused}
@keyframes halo{0%{transform:scale(.6);opacity:.7}100%{transform:scale(2.2);opacity:0}}
.leader{fill:none;stroke:#18233A;stroke-width:1.6;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset .6s ease}
.leader.on{stroke-dashoffset:0}
.tag{font:italic 15px var(--serif);fill:#18233A;opacity:0;transition:opacity .3s}
.tag.on{opacity:1}

/* 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}
.sc-body{padding:1rem;min-height:250px}
.sc-body h4{font:600 1.05rem/1.2 var(--serif);margin:0 0 .8rem}
.weak{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.weak li{display:grid;grid-template-columns:1fr 2.5rem;gap:.2rem .6rem;align-items:center}
.weak .n{font-family:var(--serif);font-style:italic}
.weak .p{text-align:right;color:#4A566B;font-variant-numeric:tabular-nums}
.weak .b{grid-column:1/-1;height:.4rem;background:#DCE1E8;border-radius:99px;overflow:hidden}
.weak .b i{display:block;height:100%;background:#A9302A}
.weak .b .w38{width:38%}.weak .b .w52{width:52%}.weak .b .w61{width:61%}.weak .b .w64{width:64%}.weak .b .w71{width:71%}
.summary{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center}
.summary h4{margin:0 0 .2rem}
.summary .sub{color:#4A566B}
.ring{width:92px;height:92px}
.ring text{font:600 22px var(--serif);fill:#18233A}
.results{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.3rem}
.results li{display:flex;justify-content:space-between;gap:.5rem;border-bottom:1px solid #E1E6ED;padding-bottom:.25rem}
.results .lat{font-size:.9rem}
.ok{color:#1D6B3A;font-weight:700}
.nok{color:#A9302A;font-weight:700}
.modes{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.modes li{border:1.5px solid #CBD3DE;border-radius:6px;padding:.55rem .7rem;background:#FFFFFF}
.modes li.sel{border-color:#18233A;box-shadow:inset 4px 0 0 #A9302A}
.modes strong{display:block}
.modes span{color:#4A566B;font-size:.8rem}
.toggles{display:flex;gap:.4rem;margin-top:.8rem;flex-wrap:wrap}
.toggles span{border:1.5px solid #18233A;border-radius:99px;padding:.15rem .6rem;font-size:.78rem;font-weight:700}
.toggles span.on{background:#18233A;color:#F7F8FA}
.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)}

/* 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}

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 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}
}
