/* =========================================================
   LILOPEL AI BEDRIJFSSCAN — huisstijl van lilopel.nl
   Tokens, typografie, knoppen en intake-componenten zijn overgenomen
   uit lilopel-nl/site/assets/css/style.css. Niet afwijken.
   ========================================================= */
:root{
  --bg:#F8F9FB;--white:#FFFFFF;--ink:#0B0B0C;--ink-2:#16171B;--line:#E4E6EC;--line-dark:#2A2C33;
  --text:#3D414B;--muted:#6B7080;--blue:#2A5EF5;--blue-dark:#1D47C9;--blue-soft:#5C86FF;--blue-tint:#E7EDFF;
  --error:#C2410C;--error-bg:#FFF4ED;--error-line:#FED7AA;--ok:#15803D;
  --radius:32px;--wrap:1280px;--ease:cubic-bezier(.22,1,.36,1);
  --f:'Archivo',system-ui,sans-serif;--hand:'Caveat',cursive;
}
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-latin-var.woff2) format('woff2')}
@font-face{font-family:'Caveat';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-latin-var.woff2) format('woff2')}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,textarea,select{font:inherit}
::selection{background:var(--blue);color:#fff}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 32px}
@media (max-width:640px){.wrap{padding:0 16px}}
.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px}
.skip:focus{top:16px}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.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}
.dots-bg{background-image:radial-gradient(circle,rgba(146,156,178,.42) 0 1px,rgba(146,156,178,0) 1.6px);background-size:28px 28px;background-position:14px 14px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.stack{display:flex;flex-direction:column;gap:18px;align-items:flex-start}

/* ---------- Typografie ---------- */
.display{font-weight:900;font-stretch:86%;text-transform:uppercase;letter-spacing:-.04em;line-height:.88;margin:0}
.h-xl{font-size:clamp(46px,8.4vw,128px)}
.h-lg{font-size:clamp(38px,6vw,88px)}
.h-md{font-size:clamp(32px,4.4vw,64px)}
.h-sm{font-size:clamp(26px,3vw,40px)}
.blue{color:var(--blue)}
.label{display:inline-block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:800}
.label--blue{color:var(--blue)}
.lead{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--text);max-width:620px;margin:0}
.hand{font-family:var(--hand);font-weight:700;font-size:clamp(28px,2.6vw,38px);line-height:1;display:inline-block;transform:rotate(-7deg);color:var(--blue)}
.hand svg{display:block;width:100%;max-width:220px;height:22px;margin-top:4px}
.hand path{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}

/* ---------- Knoppen (pil, blauw, papieren vliegtuigje) ---------- */
.btn{--h:56px;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:var(--h);padding:0 28px;border-radius:999px;border:2px solid transparent;font-weight:900;font-size:16px;text-decoration:none;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease);white-space:nowrap}
.btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.btn--blue{background:var(--blue);color:#fff}
.btn--blue:hover{background:var(--blue-dark);box-shadow:0 14px 40px rgba(42,94,245,.35)}
.btn--ghost{background:#fff;border-color:var(--ink);color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff}
.btn--white{background:#fff;color:var(--ink)}
.btn--white:hover{background:var(--ink);color:#fff}
.btn--sm{--h:46px;padding:0 20px;font-size:15px;font-weight:800}
.btn--lg{--h:64px;padding:0 34px;font-size:18px;text-transform:uppercase}
.btn[aria-busy="true"]{opacity:.7;cursor:progress}
.btn[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none}
@media (max-width:420px){.btn{white-space:normal;text-align:center}.btn--lg{padding:0 22px;font-size:16px}}

/* ---------- Header / footer ---------- */
.mini-mascot{position:relative;display:inline-block;width:24px;height:42px;border:2.5px solid var(--ink);border-radius:6px;background:#fff;flex:none}
.mini-mascot i{position:absolute;top:13px;width:4px;height:9px;border-radius:2px;background:var(--ink);animation:blink 5s infinite}
.mini-mascot i:first-child{left:5px}.mini-mascot i:last-child{right:5px}
@keyframes blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.site-header{position:sticky;top:0;z-index:50;background:rgba(248,249,251,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.logo__svg{height:30px;width:auto;display:block}
.logo__tag{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);padding-left:12px;border-left:2px solid var(--line)}
.site-header__back{font-weight:700;font-size:15px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px}
.site-header__back:hover{background:rgba(11,11,12,.06)}
@media (max-width:560px){.logo__tag{display:none}.site-header__back span{display:none}}
main{display:block;flex:1}
.site-footer{background:var(--ink);color:#F3F4F7;padding:48px 0 32px;margin-top:auto}
.site-footer a{color:#F3F4F7;text-decoration:none}
.site-footer a:hover{color:var(--blue-soft)}
.site-footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:flex-end}
.site-footer__slogan{font-size:clamp(28px,4vw,48px)}
.site-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#7E8391;border-top:1px solid var(--line-dark);margin-top:28px;padding-top:20px}
.site-footer__bottom a{color:#A6AAB5}

/* ---------- Hero ---------- */
.page-hero{padding:clamp(48px,9vh,96px) 0 clamp(28px,5vh,56px)}
.scan-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.scan-head .hand{margin-right:clamp(0px,4vw,48px)}
.facts{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:6px 0 0;padding:0}
.facts li{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700;font-size:14px}
.facts svg{width:18px;height:18px;stroke:var(--blue);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Landing ---------- */
.section{padding:clamp(48px,7vw,96px) 0}
.section--dark{background:var(--ink);color:#F3F4F7}
.section--dark .lead{color:#B8BCC6}
.deliver{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:36px}
.deliver__item{padding:26px;border-radius:24px;background:var(--ink-2);border:1px solid var(--line-dark);display:flex;flex-direction:column;gap:10px}
.deliver__n{font-weight:900;font-stretch:86%;font-size:56px;line-height:.8;color:var(--blue-soft)}
.deliver__item h3{margin:0;font-size:22px;font-weight:900;font-stretch:88%;letter-spacing:-.01em}
.deliver__item p{margin:0;color:#A6AAB5;font-size:16px}
.honest{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:32px}
.honest .card{padding:26px;display:flex;flex-direction:column;gap:10px}
.honest h3{margin:0;font-size:20px;font-weight:900}
.honest p{margin:0;color:var(--text)}
.cta{border-radius:40px;background:var(--blue);color:#fff;padding:clamp(32px,6vw,72px) clamp(24px,5vw,56px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.cta .lead{color:#E3EAFF}
.start-card{display:flex;flex-wrap:wrap;gap:28px;align-items:center;padding:clamp(24px,4vw,44px);box-shadow:0 30px 80px rgba(42,94,245,.10)}
.start-card img{width:96px;flex:none}
.start-card__text{flex:1 1 320px;display:flex;flex-direction:column;gap:12px}
.start-card__text p{margin:0;color:var(--text)}
.notice{padding:16px 20px;border-radius:16px;background:var(--blue-tint);color:var(--blue-dark);font-weight:700;font-size:15px}
.notice--warn{background:var(--error-bg);border:1px solid var(--error-line);color:#9A3412}

/* ---------- Intake (scan) ---------- */
.intake-page{padding:0 0 110px}
.intake{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.intake__side{flex:1 1 260px;max-width:320px;min-width:0;display:flex;flex-direction:column;gap:18px;position:sticky;top:96px}
.intake__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.intake__steps li{display:flex;align-items:center;gap:14px;min-height:44px;padding:0 14px;border-radius:14px;font-weight:800;color:var(--muted)}
.intake__steps li span{width:30px;height:30px;border-radius:50%;border:2px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex:none}
.intake__steps li.is-done{color:var(--ink)}
.intake__steps li.is-done span{background:var(--ink);border-color:var(--ink);color:#fff}
.intake__steps li.is-current{background:#fff;color:var(--blue);box-shadow:0 8px 24px rgba(42,94,245,.12)}
.intake__steps li.is-current span{border-color:var(--blue);background:var(--blue);color:#fff}
.intake__tip{display:flex;gap:12px;align-items:flex-end;padding:16px 16px 0;overflow:hidden}
.intake__tip img{width:70px;flex:none;margin-bottom:-4px}
.intake__tip p{margin:0 0 16px;font-size:14px;line-height:1.5;color:var(--text);display:flex;flex-direction:column;gap:4px}
.intake__tip b{color:var(--ink)}
.intake__form{flex:3 1 560px;min-width:0;padding:clamp(20px,4vw,48px);display:flex;flex-direction:column;gap:22px;position:relative;overflow:hidden;box-shadow:0 30px 80px rgba(42,94,245,.10)}
.intake__bar{position:absolute;left:0;right:0;top:0;height:6px;background:var(--line)}
.intake__bar i{display:block;height:100%;background:var(--blue);transform:scaleX(.2);transform-origin:left;transition:transform .5s var(--ease)}
.intake__count{margin:0;font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.06em}
.intake__step{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:26px}
.intake__step[hidden]{display:none!important}
.intake__q{font-weight:900;font-stretch:88%;font-size:clamp(28px,3vw,40px);line-height:1.05;letter-spacing:-.02em;margin:0;padding:0;outline:none}
.intake__intro{margin:-14px 0 0;color:var(--muted)}
.intake__nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}
.intake__nav [data-next],.intake__nav [data-submit]{margin-left:auto}
.intake__nav [hidden]{display:none!important}
.form-note{font-size:13px;color:#5B606B;text-align:center;margin:0}
@media (max-width:900px){.intake__side{position:static;max-width:none;flex-basis:100%}.intake__steps{flex-direction:row;flex-wrap:wrap}.intake__steps li{padding:0 8px;gap:8px;min-height:40px}.intake__steps li b{display:none}.intake__steps li.is-current b{display:inline}.intake__tip{display:none}}
@media (max-width:420px){.intake__nav{flex-direction:column-reverse;align-items:stretch}.intake__nav .btn{width:100%;margin-left:0}}

/* Vraagblok */
.q{display:flex;flex-direction:column;gap:12px;min-width:0;border:0;margin:0;padding:0}
.q[hidden]{display:none!important}
.q__label{font-weight:800;font-size:18px;line-height:1.35;padding:0;margin:0;color:var(--ink)}
legend.q__label{float:left;width:100%;margin-bottom:12px}
legend.q__label+*{clear:both}
.q__help{margin:-4px 0 0;color:var(--muted);font-size:15px;line-height:1.5}
.q__error{margin:0;color:var(--error);font-weight:700;font-size:15px;display:flex;gap:8px;align-items:flex-start}
.q__error::before{content:"!";flex:none;width:20px;height:20px;border-radius:50%;background:var(--error);color:#fff;font-size:13px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}
.q__error[hidden]{display:none}
.q.has-error .input,.q.has-error textarea,.q.has-error .chips label{border-color:var(--error)}
.q__count{font-size:13px;color:var(--muted);align-self:flex-end;margin-top:-6px}

.input{min-height:52px;width:100%;padding:12px 16px;border-radius:14px;border:1.5px solid #CDD1DA;background:var(--bg);font-size:16px;color:var(--ink);transition:border-color .2s,box-shadow .2s}
textarea.input{min-height:120px;resize:vertical;line-height:1.5}
.input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(42,94,245,.15);background:#fff}
.input[disabled]{opacity:.5;background:#EEF0F4}
.with-prefix{position:relative;display:flex;align-items:center}
.with-prefix>span{position:absolute;left:16px;font-weight:800;color:var(--muted);pointer-events:none}
.with-prefix .input{padding-left:36px}
.num-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.num-row .input,.num-row .with-prefix{flex:1 1 160px;max-width:240px}
.num-row__unit{color:var(--muted);font-weight:700;font-size:15px}
.url-hint{font-size:14px;color:var(--muted);margin:-4px 0 0}
.url-hint b{color:var(--ink);word-break:break-all}

/* Keuzes (zoals .chips op lilopel.nl) */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.chips label{position:relative;min-height:48px;padding:10px 16px;border-radius:14px;border:2px solid var(--line);background:#fff;display:inline-flex;align-items:center;font-weight:700;font-size:15px;line-height:1.3;cursor:pointer;transition:border-color .2s,background .2s,color .2s;user-select:none}
.chips label:hover{border-color:#B9C6EE}
.chips input:checked+label{border-color:var(--blue);background:#EEF3FF;color:var(--blue-dark)}
.chips input:checked+label::before{content:"✓";margin-right:8px;font-weight:900}
.chips input:focus-visible+label{outline:3px solid var(--blue);outline-offset:2px}
.chips input:disabled+label{opacity:.45;cursor:not-allowed}
.chips--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
@media (max-width:480px){.chips--grid{grid-template-columns:1fr}}
.chip-unknown{display:inline-flex}
.chip-unknown input{position:absolute;opacity:0;width:1px;height:1px}
.chip-unknown label{min-height:48px;padding:0 16px;border-radius:999px;border:2px dashed #B9C6EE;color:var(--blue-dark);background:transparent;display:inline-flex;align-items:center;font-weight:700;font-size:14px;cursor:pointer}
.chip-unknown input:checked+label{border-style:solid;border-color:var(--blue);background:#EEF3FF}
.chip-unknown input:checked+label::before{content:"✓";margin-right:8px;font-weight:900}
.chip-unknown input:focus-visible+label{outline:3px solid var(--blue);outline-offset:2px}
.list-inputs{display:flex;flex-direction:column;gap:10px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5;cursor:pointer;min-height:44px}
.check input{width:24px;height:24px;accent-color:var(--blue);flex:none;margin-top:1px}
.check a{font-weight:800;color:var(--blue-dark)}

/* Controle-overzicht */
.summary{margin:0;display:flex;flex-direction:column;gap:10px}
.summary__step{border:1px solid var(--line);border-radius:16px;padding:14px 18px;background:var(--bg)}
.summary__head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.summary__head h3{margin:0;font-size:16px;font-weight:900}
.summary__head button{background:none;border:0;padding:8px 4px;min-height:44px;font:inherit;font-size:14px;font-weight:800;color:var(--blue);text-decoration:underline;cursor:pointer}
.summary dl{margin:6px 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:4px 16px;font-size:15px}
.summary dt{color:var(--muted)}
.summary dd{margin:0;color:var(--ink);font-weight:600;overflow-wrap:anywhere}
@media (max-width:520px){.summary dl{grid-template-columns:1fr}.summary dd{margin-bottom:6px}}
.send-error{padding:14px 18px;border-radius:14px;background:var(--error-bg);border:1px solid var(--error-line);color:#9A3412;font-weight:700;margin:0}
.send-error[hidden]{display:none}
.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.ts-box:empty{display:none}

/* Bedankt */
.form-done{border-radius:var(--radius);background:var(--blue);color:#fff;padding:clamp(32px,6vw,64px);display:flex;flex-direction:column;justify-content:center;gap:18px;min-height:420px;position:relative;overflow:hidden}
.form-done .hand{color:#fff}
.form-done p{margin:0;color:#E3EAFF;font-size:18px;max-width:620px}
.form-done__ref{display:inline-flex;align-self:flex-start;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.14);font-weight:800;letter-spacing:.06em}
.form-done img{position:absolute;right:clamp(16px,6vw,80px);bottom:-6px;width:clamp(90px,14vw,170px)}
@media (max-width:640px){.form-done img{display:none}}

/* Neutrale pagina's (rapport, afmelden, privacy) */
.plain{max-width:760px}
.plain h2{font-size:22px;font-weight:900;margin:32px 0 8px}
.plain p,.plain li{color:var(--text)}
.plain-card{padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;gap:18px;max-width:680px}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Rotated handwriting inside a flex column must not stretch to full width, or its left end drops onto the heading. */
.form-done .hand,.plain-card .hand{align-self:flex-start;transform-origin:left center;margin-bottom:4px}
