/* Enhancements layered on the original styles.css */

/* Scroll progress */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:0 50%;z-index:60;pointer-events:none}

/* Reveal on scroll (only when JS is running) */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* Interactive affordances */
.situation{transition:transform .2s,box-shadow .2s,border-color .2s}
.situation:hover{transform:translateY(-4px);box-shadow:0 14px 34px #142c4d1f;border-color:var(--blue)}
.review-card{transition:transform .2s,box-shadow .2s}
.review-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #142c4d17}
.faq-list summary{cursor:pointer}
.faq-list summary span{display:inline-block;transition:transform .25s}
.faq-list details[open] summary span{transform:rotate(45deg)}

/* Sticky mobile bar */
.sticky-cta{display:none}
@media (max-width:760px){
  .sticky-cta{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:42;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce4ef;box-shadow:0 -6px 24px #142c4d1f;transform:translateY(110%);transition:transform .3s ease}
  .sticky-cta.show{transform:none}
  .sticky-cta a,.sticky-cta button{min-height:48px;border-radius:4px;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center}
  .sticky-call{flex:0 0 28%;border:1px solid var(--blue);color:var(--blue)}
  .sticky-cta button{flex:1;border:0;background:var(--blue);color:#fff;cursor:pointer}
  .has-sticky .cookie-settings{bottom:74px}
}

/* Accessibility: contrast and heading semantics */
.benefit-grid h2{margin:17px 0 12px;font-size:18px}
@media (max-width:760px){.benefit-grid h2{font-size:17px}}
.review-note,.privacy-copy,.form-intro{color:#5b6a80}

/* ---------- Pre-landing quiz ---------- */
[hidden]{display:none!important}
.quiz-pending body>*:not(.quiz):not(.cookie-banner):not(.cookie-settings):not(script){visibility:hidden}
.quiz-pending body,.quiz-open body{overflow:hidden}

.quiz{position:fixed;inset:0;z-index:44;height:100dvh;overflow-y:auto;color:#fff;
  background:radial-gradient(ellipse 70% 55% at 80% 0%,#173f6a 0,transparent 60%),radial-gradient(ellipse 60% 50% at 0% 100%,#0e2a4d 0,transparent 55%),#07172c;
  display:flex;flex-direction:column}
.quiz-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px max(20px,4vw)}
.quiz-brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.06em;font-size:17px;line-height:1.1}
.quiz-brand img{display:block;height:36px;width:auto}
.quiz-brand small{display:block;margin-top:4px;font-size:10px;font-weight:400;letter-spacing:.02em;color:#a0bce0;max-width:180px;line-height:1.3}
.quiz-skip{background:none;border:0;color:#a0bce0;font-size:13px;cursor:pointer;padding:10px 4px;text-decoration:underline;text-underline-offset:3px}
.quiz-skip:hover{color:#fff}

.quiz-wrap{width:min(660px,100%);margin:auto;padding:8px max(20px,4vw) 40px;display:flex;flex-direction:column;gap:26px}
.quiz-open:has(.cookie-banner) .quiz-wrap{padding-bottom:230px}
.quiz-progress-row{display:flex;align-items:center;gap:6px;margin-bottom:12px;min-height:34px}
.quiz-back{width:34px;height:34px;margin-left:-8px;border:0;border-radius:50%;background:none;color:#a0bce0;display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s}
.quiz-back:hover{background:#ffffff14;color:#fff}
.quiz-count{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#a0bce0;font-weight:600}
.quiz-bar{height:4px;background:#ffffff1f;border-radius:4px;overflow:hidden}
.quiz-bar span{display:block;height:100%;background:linear-gradient(90deg,#315ce7,#7da4ff);border-radius:4px;transition:width .45s cubic-bezier(.4,0,.2,1)}

.quiz-step{animation:quiz-in .4s cubic-bezier(.2,.7,.2,1)}
@keyframes quiz-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.quiz-head{margin-bottom:26px}
.quiz-title{font-size:clamp(26px,4.6vw,38px);line-height:1.15;letter-spacing:-.03em;font-weight:600;outline:0}
.quiz-sub{margin-top:12px;color:#b2c1d7;font-size:15px;line-height:1.6;max-width:520px}

.quiz-options{display:grid;gap:10px}
.quiz-option{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:60px;padding:14px 18px;text-align:left;color:#fff;font-size:16px;
  background:#ffffff0a;border:1px solid #ffffff22;border-radius:10px;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.quiz-option:hover{background:#315ce726;border-color:#6a8ff0;transform:translateX(3px)}
.quiz-option:focus-visible{outline:2px solid #8ab5ff;outline-offset:2px}
.quiz-option-title{font-weight:600;line-height:1.35}
.quiz-option-icon{flex:none;display:grid;place-items:center;color:#7da4ff;transition:transform .18s}
.quiz-option:hover .quiz-option-icon{transform:translateX(2px)}
.quiz-option.is-selected{background:#315ce733;border-color:#7da4ff}

.quiz-primary{width:100%;min-height:58px;margin-top:22px;padding:0 24px;border:0;border-radius:10px;background:#315ce7;color:#fff;font-size:16px;font-weight:600;cursor:pointer;
  box-shadow:0 10px 30px #315ce744;transition:background .18s,transform .18s,box-shadow .18s}
.quiz-primary:hover:not(:disabled){background:#2a50cc;transform:translateY(-1px);box-shadow:0 14px 34px #315ce766}
.quiz-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.quiz-primary:focus-visible{outline:2px solid #fff;outline-offset:3px}

.quiz-form{display:grid;gap:16px}
.quiz-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.quiz-field label{display:block;margin:0 0 8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:#a0bce0}
.quiz-field input{width:100%;min-height:56px;padding:0 16px;font-size:16px;color:#10223a;background:#fff;border:2px solid transparent;border-radius:10px;transition:border-color .15s,box-shadow .15s}
.quiz-field input:focus{outline:0;border-color:#7da4ff;box-shadow:0 0 0 4px #315ce744}
.quiz-field input:user-invalid{border-color:#ff8f8f}
.quiz-legal{margin-top:6px;font-size:12px;line-height:1.6;color:#8fa6c6}
.quiz-legal a{color:#b8cdf5;text-decoration:underline}
.quiz-error{margin:0;border-radius:8px}

.quiz-trust{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#8fa6c6;letter-spacing:.02em}
.quiz-trust svg{flex:none}

.quiz-done{text-align:center}
.quiz-done .quiz-head{margin-bottom:22px}
.quiz-done .quiz-sub{margin-left:auto;margin-right:auto}
.quiz-done-mark{width:68px;height:68px;margin:12px auto 24px;border-radius:50%;background:#315ce733;border:1px solid #7da4ff;color:#9dbbff;display:grid;place-items:center}
.quiz-done-mark svg{width:28px;height:28px}
.quiz-tips{list-style:none;margin:0 auto;padding:0;display:grid;gap:10px;text-align:left;max-width:520px}
.quiz-tips li{padding:14px 16px;font-size:14px;line-height:1.55;color:#c9d6e8;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:10px}

@media (max-width:520px){
  .quiz-top{padding-top:14px}
  .quiz-brand small{display:none}
  .quiz-row{grid-template-columns:1fr}
  .quiz-option{padding:13px 15px}
  .quiz-wrap{gap:20px}
}
@media (prefers-reduced-motion:reduce){
  .quiz-step{animation:none}
  .quiz-option,.quiz-primary,.quiz-bar span{transition:none}
}

/* ---------- Hero enquiry form (two-step glass card) ---------- */
.hero-form-wrap{position:relative;width:100%;max-width:480px;justify-self:end;padding:30px;color:#fff;border-radius:14px;border:1px solid #ffffff2b;
  background:linear-gradient(160deg,#ffffff1f 0,#ffffff0d 55%,#ffffff12 100%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 30px 80px #00000066,inset 0 1px 0 #ffffff26}
.hf-head{display:grid;gap:10px;margin-bottom:22px}
.hero-form h3{font-size:24px;line-height:1.2;letter-spacing:-.02em}
.hf-progress{display:flex;align-items:center;gap:12px}
.hf-step{flex:none;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#a0bce0}
.hf-bar{flex:1;height:4px;border-radius:4px;background:#ffffff26;overflow:hidden}
.hf-bar span{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#315ce7,#7da4ff);transition:width .4s cubic-bezier(.4,0,.2,1)}
.hero-form .form-intro{margin:0;color:#b2c1d7;font-size:14px}
.hf-panel{animation:hf-in .35s cubic-bezier(.2,.7,.2,1)}
@keyframes hf-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hf-step-fields{display:grid;gap:16px;margin:0;padding:0;border:0;min-width:0}
.hero-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hero-form .form-field{min-width:0}
.hero-form label{display:block;margin:0 0 7px;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#a0bce0}
.hero-form label span{color:#7da4ff}
.hero-form label small{font-size:11px;font-weight:400;letter-spacing:.04em;text-transform:none;color:#8fa6c6}
.hero-form input[data-slot],.hero-form select[data-slot]{display:block;width:100%;min-height:50px;padding:0 14px;font-size:16px;color:#fff;
  background:#07172c66;border:1px solid #ffffff2e;border-radius:8px;transition:border-color .15s,background .15s,box-shadow .15s}
.hero-form input[data-slot]::placeholder{color:#8fa6c6}
.hero-form input[data-slot]:hover,.hero-form select[data-slot]:hover{border-color:#ffffff55}
.hero-form input[data-slot]:focus,.hero-form select[data-slot]:focus{outline:0;background:#07172c99;border-color:#7da4ff;box-shadow:0 0 0 3px #315ce755}
.hero-form input[data-slot]:user-invalid,.hero-form select[data-slot]:user-invalid{border-color:#ff8f8f}
.hero-form select[data-slot]{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a0bce0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center}
.hero-form select[data-slot]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.hero-form select[data-slot] option{color:#10223a;background:#fff}
.hero-form .form-error{margin:0;padding:11px 13px;border-radius:8px;font-size:13.5px;color:#ffc1c1;background:#ff6b6b26;border:1px solid #ff8f8f55}
.hf-actions{display:flex;gap:10px;margin-top:22px}
.hero-form .btn-primary{flex:1;min-height:54px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-size:15px;font-weight:600;cursor:pointer;
  box-shadow:0 10px 28px #315ce755;transition:background .2s,transform .2s,box-shadow .2s}
.hero-form .btn-primary:hover:not(:disabled){background:#2a50cc;transform:translateY(-1px);box-shadow:0 14px 34px #315ce777}
.hero-form .btn-primary:disabled{opacity:.7;cursor:progress}
.hero-form .btn-primary:focus-visible,.hero-form .btn-secondary:focus-visible{outline:2px solid #fff;outline-offset:3px}
.hero-form .btn-secondary{flex:none;min-height:54px;padding:0 20px;border:1px solid #ffffff3d;border-radius:8px;background:#ffffff0d;color:#fff;font-size:14px;cursor:pointer;transition:background .2s,border-color .2s}
.hero-form .btn-secondary:hover{background:#ffffff1f;border-color:#ffffff66}
.hf-foot{margin-top:16px;display:grid;gap:10px}
.hero-form .privacy-copy{margin:0;font-size:12px;color:#8fa6c6}
.hero-form .privacy-copy a{color:#b8cdf5;text-decoration:underline}
.hero-form .enq-alt{margin:0;color:#a0bce0;font-size:13px;text-align:center}
.hero-form .enq-alt a{color:#fff;font-weight:600}

.hero-form-wrap .form-success{padding:26px 0 8px;text-align:center}
.hero-form-wrap .form-success h3{margin-top:22px;font-size:26px}
.hero-form-wrap .form-success p{margin:14px 0 0;color:#b2c1d7;font-size:14.5px;line-height:1.6}
.hero-form-wrap .success-mark{width:60px;height:60px;margin:0 auto;border-radius:50%;background:#315ce733;border:1px solid #7da4ff;color:#9dbbff;font-size:26px;line-height:58px;font-weight:700}
.hero-form-wrap .enq-warning{margin-top:20px;padding:11px 13px;border-radius:8px;font-size:12.5px;color:#ffe3a3;background:#ffbf3a1f;border:1px solid #ffbf3a44}

@media (min-width:761px){.hero .hero-copy .cta{display:none}}
@media (max-width:760px){
  .hero-form-wrap{max-width:none;margin-top:28px;padding:22px 16px}
  .hero-form .form-row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.hf-panel{animation:none}.hf-bar span{transition:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .hero-form-wrap{background:#0e2a4dee}
}

/* Keep the headline steady while the form card changes height between steps */
@media (min-width:761px){
  .hero-grid{align-items:start}
  .hero-copy{padding-top:56px}
}

/* Footer contact */
.footer-contact{display:grid;gap:6px;justify-items:end}
.footer-contact a{color:#b3c4db;font-size:14px;transition:color .15s}
.footer-contact a:hover{color:#fff}
@media (max-width:760px){.footer-contact{justify-items:start}}

/* Footer registration link */
.footer-bottom a[href*="kvk.nl"]{text-decoration:underline;text-underline-offset:3px}
.footer-bottom a[href*="kvk.nl"]:hover{color:#fff}

/* Cookie banner: slim bar fixed to the bottom of the screen until the visitor chooses */
.cookie-banner{left:0;right:0;bottom:0;max-width:none;margin:0;border:0;border-top:1px solid #dce4ef;border-radius:0;max-height:none;overflow:visible;
  padding:14px max(20px,4vw) calc(14px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px 28px;box-shadow:0 -8px 30px #142c4d26}
.cookie-banner h2{display:none}
.cookie-banner p{flex:1;min-width:0;font-size:13px;line-height:1.5;max-width:900px}
.cookie-actions{flex:none;margin:0;gap:10px}
.cookie-actions button{flex:none;padding:10px 18px;font-size:13px;border-radius:6px;white-space:nowrap}
@media (max-width:760px){
  .cookie-banner{flex-direction:column;align-items:stretch;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  .cookie-banner p{font-size:12px;line-height:1.45}
  .cookie-actions button{flex:1;padding:10px 8px}
}
.quiz-open:has(.cookie-banner) .quiz-wrap{padding-bottom:150px}
html:has(.cookie-banner) body{padding-bottom:84px}
@media (max-width:760px){html:has(.cookie-banner) body{padding-bottom:170px}}

/* Larger brand: website 1.5x, quiz 2x */
html{scroll-padding-top:124px}
.nav-inner{height:112px}
.brand{gap:18px}
.brand>img{height:69px;width:auto}
.brand>span{font-size:39px}
.brand small{font-size:15px;margin-top:9px}
footer .brand>img{height:75px}

.quiz-top{padding-top:24px;padding-bottom:12px}
.quiz-brand{gap:24px;font-size:34px}
.quiz-brand img{height:72px}
.quiz-brand small{font-size:20px;margin-top:8px;max-width:none;line-height:1.3}

@media (max-width:760px){
  html{scroll-padding-top:104px}
  .nav-inner{height:92px}
  .brand{gap:12px}
  .brand>img{height:57px}
  .brand>span{font-size:33px}
  .brand small{font-size:13px;margin-top:6px}
  footer .brand>img{height:60px}
  .nav-links.open{top:92px}
}
@media (max-width:520px){
  .quiz-brand{gap:14px;font-size:26px}
  .quiz-brand img{height:54px}
  .quiz-brand small{display:block;font-size:11px;max-width:150px;margin-top:4px}
  .quiz-skip{font-size:12px}
}
