/* ─────────────────────────────────────────
   TOKENS
───────────────────────────────────────── */
:root{
  --mag: #C9005F;
  --pur: #0099B3;
  --teal:#0099B3;
  --ink: #0C0C1E;
  --muted:#6C6C80;
  --surf:#F3FBFC;
  --white:#FFFFFF;
  --border:rgba(0,0,0,.07);
}

/* ─────────────────────────────────────────
   BASE
───────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}

/* ─────────────────────────────────────────
   TYPOGRAPHY
───────────────────────────────────────── */
.display{font-size:clamp(1.6rem,3.75vw,3.5rem);font-weight:900;line-height:1.0;letter-spacing:-.04em}
.h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;line-height:1.08;letter-spacing:-.035em}
.h3{font-size:clamp(1.05rem,1.8vw,1.2rem);font-weight:700;letter-spacing:-.02em}
.label{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.body-lg{font-size:clamp(1rem,1.6vw,1.125rem);line-height:1.7;color:var(--muted)}

/* ─────────────────────────────────────────
   GRADIENT HELPERS
───────────────────────────────────────── */
.gt{color:var(--teal)}
.gt-mag{color:var(--mag)}
.gt-bg{background:var(--teal)}

/* ─────────────────────────────────────────
   BUTTONS
───────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;border-radius:999px;transition:transform .25s,box-shadow .25s;cursor:pointer;white-space:nowrap}
.btn-primary{background:#C9005F;color:#fff;padding:.9rem 1.875rem;font-size:.9375rem}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{border:1.5px solid var(--border);color:var(--ink);padding:.875rem 1.75rem;font-size:.9375rem;background:#fff}
.btn-ghost:hover{border-color:rgba(201,0,95,.4);color:var(--mag)}
.btn-white{background:#fff;color:var(--mag);padding:.9rem 1.875rem;font-size:.9375rem}
.btn-white:hover{transform:translateY(-2px)}

/* ─────────────────────────────────────────
   NAVBAR
───────────────────────────────────────── */
#nav{position:fixed;top:0;inset-x:0;z-index:100;transition:background .3s,box-shadow .3s}
#nav.scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--border)}
.nav-inner{width:100%;padding:0 2rem;height:4.25rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem}
.nav-logo img{height:2rem;width:auto;display:block}
.nav-links{display:flex;align-items:center;justify-content:center;gap:2.25rem}
.nav-links a{font-size:.875rem;font-weight:500;color:var(--muted);transition:color .2s;position:relative;white-space:nowrap}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1.5px;background:var(--mag);border-radius:2px;transition:width .3s}
.nav-links a:hover{color:var(--ink)}
.nav-links a:hover::after{width:100%}

.nav-right{display:flex;align-items:center;gap:.875rem}
.nav-status{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;padding:.375rem .75rem;border-radius:999px;background:var(--surf);border:1px solid var(--border);white-space:nowrap;cursor:default;position:relative}
.nav-status-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0;transition:background .4s}
.nav-status-dot.open{background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.15)}
.nav-status-dot.closed{background:#9CA3AF}

.support-dropdown{position:absolute;top:calc(100% + .75rem);left:50%;transform:translateX(-50%) translateY(-6px);background:#fff;border:1px solid var(--border);border-radius:1.25rem;box-shadow:0 20px 60px rgba(0,0,0,.12),0 4px 16px rgba(0,0,0,.06);padding:1.375rem;min-width:268px;opacity:0;visibility:hidden;transition:opacity .22s cubic-bezier(.4,0,.2,1),visibility .22s,transform .22s cubic-bezier(.4,0,.2,1);z-index:200;pointer-events:none}
.nav-status:hover .support-dropdown,.support-dropdown:hover{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:all}
.support-dropdown::before{content:'';position:absolute;top:-.5rem;left:50%;transform:translateX(-50%);width:.875rem;height:.5rem;background:#fff;clip-path:polygon(50% 0%,100% 100%,0% 100%);filter:drop-shadow(0 -1px 0 var(--border))}
.sd-title{font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.875rem}
.sd-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem .625rem;border-radius:.625rem;font-size:.8125rem;gap:1.5rem}
.sd-row.today{background:rgba(201,0,95,.06);border:1px solid rgba(201,0,95,.14)}
.sd-day{font-weight:600;color:var(--ink)}
.sd-time{font-weight:500;color:var(--muted);white-space:nowrap}
.sd-row.today .sd-day{color:var(--mag)}
.sd-row.today .sd-time{color:var(--mag);font-weight:700}
.sd-row.closed-day .sd-time{color:#D1D5DB}
.sd-divider{height:1px;background:var(--border);margin:.875rem 0}
.sd-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.sd-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;font-size:.8125rem;font-weight:700;padding:.625rem .75rem;border-radius:.75rem;transition:all .2s;text-align:center}
.sd-btn-outline{border:1.5px solid var(--border);color:var(--ink);background:#fff}
.sd-btn-outline:hover{border-color:rgba(201,0,95,.4);color:var(--mag);background:rgba(201,0,95,.04)}
.sd-btn-fill{background:#C9005F;color:#fff;border:none}
.sd-btn-fill:hover{opacity:.9}
.nav-icon-btn{width:2.25rem;height:2.25rem;border-radius:.625rem;border:none;background:rgba(0,0,0,.05);display:grid;place-items:center;color:var(--muted);cursor:pointer;transition:background .2s;flex-shrink:0}
.nav-icon-btn:hover{background:rgba(0,0,0,.1)}

/* ─────────────────────────────────────────
   CACHE PURGE BUTTON (dev)
───────────────────────────────────────── */
.cache-purge-btn{position:fixed;bottom:1.25rem;right:1.25rem;z-index:9999;display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:var(--ink);color:rgba(255,255,255,.75);font-size:.75rem;font-weight:700;border-radius:999px;text-decoration:none;transition:background .2s,color .2s;border:1px solid rgba(255,255,255,.1)}
.cache-purge-btn:hover{background:#1a1a2e;color:#fff}

/* ─────────────────────────────────────────
   FLOATING SEARCH — fixed, onafhankelijk
───────────────────────────────────────── */
.nav-search{
  position:fixed;
  top:.9rem;
  right:1.5rem;
  z-index:500;
}
.nav-search-wrap{
  display:flex;align-items:center;gap:.5rem;
  height:2.375rem;padding:0 1rem 0 .875rem;
  border:1.5px solid rgba(0,0,0,.13);
  border-radius:999px;background:#fff;
  transition:border-color .2s,width .25s cubic-bezier(.4,0,.2,1);
  cursor:text;width:14rem;
}
.nav-search-wrap:focus-within{border-color:var(--teal);width:18rem}
.nav-search-icon{color:var(--muted);display:flex;flex-shrink:0;transition:color .2s}
.nav-search-wrap:focus-within .nav-search-icon{color:var(--teal)}
.nav-search-input{flex:1;border:none;outline:none;font-size:.875rem;font-family:inherit;color:var(--ink);background:transparent;min-width:0}
.nav-search-input::placeholder{color:var(--muted);font-weight:500}
.nav-search-results{
  position:absolute;top:calc(100% + .75rem);right:0;
  width:26rem;background:#fff;
  border:1px solid var(--border);border-radius:1rem;
  box-shadow:0 16px 48px rgba(0,0,0,.12);
  overflow:hidden;opacity:0;visibility:hidden;
  transition:opacity .18s,transform .18s cubic-bezier(.4,0,.2,1);
  transform:translateY(-6px);
}
.nav-search-results.open{opacity:1;visibility:visible;transform:translateY(0)}
.nsr-header{padding:.75rem 1rem .5rem;font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}
.nsr-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background .15s;text-decoration:none;color:var(--ink)}
.nsr-item:hover{background:var(--surf)}
.nsr-item-icon{width:1.875rem;height:1.875rem;border-radius:.5rem;background:rgba(0,153,179,.08);border:1px solid rgba(0,153,179,.15);display:grid;place-items:center;flex-shrink:0;color:var(--teal)}
.nsr-item-title{font-size:.875rem;font-weight:600;color:var(--ink);line-height:1.35}
.nsr-item-cat{font-size:.75rem;color:var(--muted);margin-top:.1rem}
.nsr-empty{padding:1.375rem 1rem;font-size:.875rem;color:var(--muted);text-align:center}
.nsr-footer{padding:.625rem 1rem;border-top:1px solid var(--border);font-size:.8125rem;color:var(--teal);font-weight:600;text-align:center;transition:background .15s;display:block;text-decoration:none}
.nsr-footer:hover{background:var(--surf)}
/* scrolled nav heeft witte bg — search zit er al bovenop, geen aanpassing nodig */
@media(max-width:768px){.nav-search{display:none}}

.mob-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.5rem;color:var(--muted)}
@media(max-width:1023px){
  .nav-links{display:none}
  .nav-right{display:none}
  .mob-toggle{display:block}
  .nav-inner{grid-template-columns:auto 1fr auto}
}

#mob-panel{position:fixed;inset:0;top:4.25rem;background:#fff;z-index:99;padding:1.5rem;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1)}
#mob-panel.open{transform:none}
.mob-nav a{display:block;font-size:1.125rem;font-weight:600;color:var(--ink);padding:1rem 0;border-bottom:1px solid var(--border)}
.mob-status{display:flex;align-items:center;gap:.625rem;font-size:.875rem;font-weight:600;padding:1rem 0;border-bottom:1px solid var(--border)}
.mob-status-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}

/* ─────────────────────────────────────────
   HERO
───────────────────────────────────────── */
.hero{min-height:100svh;display:flex;align-items:center;background:#fff;position:relative;overflow:hidden;padding-top:4.25rem}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 70% 40%,rgba(0,153,179,.06) 0%,transparent 70%),radial-gradient(ellipse 50% 40% at 20% 80%,rgba(201,0,95,.04) 0%,transparent 65%)}
.hero-bg::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,0,0,.055) 1px,transparent 1px);background-size:28px 28px;opacity:.55}
.hero-main{max-width:1280px;margin:0 auto;padding:0 1.5rem;width:100%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;min-height:calc(100svh - 4.25rem)}
.hero-copy{position:relative;z-index:1}
.hero-visual{position:relative;z-index:1;display:flex;align-items:center;justify-content:center}

.hero-wiz{background:#fff;border:1px solid var(--border);border-radius:1.5rem;padding:2rem;width:100%;max-width:420px}
.hwiz-header{margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}
.hwiz-title{font-size:1.125rem;font-weight:800;color:var(--ink);letter-spacing:-.025em;margin-bottom:.375rem}
.hwiz-subtitle{font-size:.875rem;color:var(--muted);line-height:1.5}
.hwiz-q{font-size:1.0625rem;font-weight:800;color:var(--ink);margin-bottom:1.125rem;letter-spacing:-.025em;line-height:1.35}
.hwiz-pips{justify-content:flex-start;margin-bottom:1.375rem}
.hwiz-opts{display:flex;flex-direction:column;gap:.5rem}
.hwiz-opt{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:.875rem;cursor:pointer;font-size:.9375rem;font-weight:600;color:var(--ink);background:#fff;transition:border-color .18s,background .18s;user-select:none}
.hwiz-opt span{font-size:1.25rem;line-height:1;flex-shrink:0}
.hwiz-opt:hover{border-color:rgba(201,0,95,.3);background:rgba(201,0,95,.02)}
.hwiz-opt.selected{border-color:#C9005F;background:rgba(201,0,95,.04)}
.hwiz-back{background:none;border:none;font-size:.8125rem;font-weight:600;color:var(--muted);cursor:pointer;padding:.625rem 0;margin-top:.625rem;transition:color .18s;display:block}
.hwiz-back:hover{color:var(--ink)}
.hwiz-result{padding-top:.25rem}
.hwiz-result-name{font-size:2.25rem;font-weight:900;letter-spacing:-.04em;color:var(--ink);line-height:1}
.hwiz-result-price{font-size:1.125rem;font-weight:700;color:var(--mag);margin:.375rem 0 .625rem}
.hwiz-result-desc{font-size:.875rem;line-height:1.65;color:var(--muted)}
.hwiz-reset{font-size:.8125rem;font-weight:600;color:var(--muted);background:none;border:none;cursor:pointer;transition:color .18s}
.hwiz-reset:hover{color:var(--ink)}

@media(max-width:1023px){
  .hero-main{grid-template-columns:1fr;gap:2rem;padding-top:2rem;padding-bottom:2rem;min-height:auto}
  .hero-visual{display:none}
}

/* ─────────────────────────────────────────
   PRODUCTS STRIP
───────────────────────────────────────── */
.products-section{padding:4rem 0;background:#fff;border-bottom:1px solid var(--border)}
.products-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.prod-card{border-radius:1.5rem;padding:1.75rem 2rem;border:1px solid var(--border);display:flex;align-items:center;gap:1.5rem;transition:box-shadow .3s,transform .3s;background:#fff;overflow:hidden;text-decoration:none}
.prod-card:hover{box-shadow:0 16px 48px rgba(0,0,0,.08);transform:translateY(-2px)}
.prod-icon{width:3rem;height:3rem;border-radius:.875rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.prod-icon.mag{background:rgba(201,0,95,.08);border:1px solid rgba(201,0,95,.15)}
.prod-icon.teal{background:rgba(0,153,179,.08);border:1px solid rgba(0,153,179,.15)}
.prod-icon.ink{background:rgba(12,12,30,.06);border:1px solid rgba(12,12,30,.1)}
.prod-name{font-size:1.0625rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin-bottom:.2rem}
.prod-from{font-size:.8rem;color:var(--muted);font-weight:500}
.prod-price{font-size:.9375rem;font-weight:700;color:var(--mag);margin-top:.1rem}
.prod-arrow{margin-left:auto;flex-shrink:0;color:var(--muted);transition:transform .2s,color .2s}
.prod-card:hover .prod-arrow{transform:translateX(4px);color:var(--mag)}
@media(max-width:900px){.products-inner{grid-template-columns:1fr}}

/* ─────────────────────────────────────────
   PRICING
───────────────────────────────────────── */
.pricing-section{padding:7rem 0;background:var(--surf)}
.section-header{max-width:640px;margin:0 auto;text-align:center;margin-bottom:4rem}
.pricing-grid{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:1.25rem;align-items:start}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr}}

.p-card{background:#fff;border-radius:1.5rem;padding:2.5rem;border:1px solid var(--border);transition:box-shadow .3s,transform .3s}
.p-card:hover{box-shadow:0 20px 60px rgba(0,0,0,.08);transform:translateY(-3px)}
.p-card.featured{background:#C9005F;border:none}
.p-card.featured:hover{transform:translateY(-5px)}

.price-amount{font-size:3.25rem;font-weight:900;line-height:1;letter-spacing:-.04em}
.price-period{font-size:.875rem;font-weight:500;opacity:.6;vertical-align:middle;margin-left:.25rem}
.p-divider{height:1px;background:rgba(0,0,0,.06);margin:1.5rem 0}
.p-divider-w{background:rgba(255,255,255,.15)}
.p-list{display:flex;flex-direction:column;gap:.75rem}
.p-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;line-height:1.5}
.p-list .check{width:1.125rem;height:1.125rem;flex-shrink:0;margin-top:.075rem}
.p-list .check-m{color:var(--mag)}
.p-list .check-w{color:rgba(255,255,255,.8)}

.p-badge{display:inline-flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .75rem;border-radius:999px;background:rgba(255,255,255,.2);color:#fff;margin-bottom:.75rem}
.p-tier{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.p-tier-w{color:rgba(255,255,255,.55)}

.toggle-wrap{display:flex;align-items:center;justify-content:center;gap:.875rem;margin-bottom:3rem}
.toggle-track{width:3rem;height:1.5rem;border-radius:999px;background:#E5E0F0;position:relative;cursor:pointer;transition:background .3s}
.toggle-track.on{background:#C9005F}
.toggle-thumb{position:absolute;top:2px;left:2px;width:1.25rem;height:1.25rem;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.15);transition:transform .3s}
.toggle-track.on .toggle-thumb{transform:translateX(1.5rem)}
.toggle-lbl{font-size:.875rem;font-weight:600}
.toggle-lbl.active{color:var(--ink)}
.toggle-lbl.inactive{color:var(--muted)}
.pro-tag{font-size:.6875rem;font-weight:800;background:#C9005F;color:#fff;padding:.2rem .5rem;border-radius:999px;letter-spacing:.04em;margin-left:.25rem;vertical-align:middle}
.vps-upsell{display:flex;align-items:center;gap:.75rem;justify-content:center;margin-top:3rem;padding:1rem 1.5rem;border-radius:1rem;background:rgba(0,153,179,.05);border:1px solid rgba(0,153,179,.15);font-size:.875rem;color:var(--muted)}
.vps-link{color:var(--mag);font-weight:600}
.vps-link:hover{text-decoration:underline}

/* ─────────────────────────────────────────
   DOMAINS
───────────────────────────────────────── */
.domain-section{padding:5rem 0;background:#fff}
.domain-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem}
.domain-pills{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.5rem}
.domain-pill{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#fff;border:1px solid var(--border);border-radius:1rem;padding:.875rem 1.5rem;transition:box-shadow .2s,transform .2s;text-decoration:none;color:inherit}
.domain-pill:hover{box-shadow:0 8px 24px rgba(0,0,0,.07);transform:translateY(-1px);border-color:rgba(201,0,95,.25)}
.domain-ext{font-size:1.125rem;font-weight:900;letter-spacing:-.02em;color:var(--ink)}
.domain-price{font-size:.9375rem;font-weight:800;color:var(--mag)}
.domain-period{font-size:.75rem;font-weight:500;color:var(--muted);display:block}

/* ─────────────────────────────────────────
   DARK STATEMENT / WAAROM SECTION
───────────────────────────────────────── */
.statement-section{background:var(--ink);padding:7rem 0;position:relative;overflow:hidden}
.statement-section::before{content:'';position:absolute;right:-10%;top:50%;transform:translateY(-50%);width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(0,153,179,.14),rgba(201,0,95,.08),transparent 70%);pointer-events:none}
.statement-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3.5rem}
.why-card{padding:1.75rem;border-radius:1.25rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);transition:background .25s}
.why-card:hover{background:rgba(255,255,255,.07)}
.why-card.wide{grid-column:span 2;display:flex;align-items:flex-start;gap:2rem}
.why-card.stat{display:flex;flex-direction:column;justify-content:space-between;min-height:160px}
.why-icon{width:2.75rem;height:2.75rem;border-radius:.875rem;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;flex-shrink:0}
.why-icon.mag{background:rgba(201,0,95,.18);border:1px solid rgba(201,0,95,.3)}
.why-icon.teal{background:rgba(0,153,179,.18);border:1px solid rgba(0,153,179,.3)}
.why-title{font-size:.9375rem;font-weight:800;color:#fff;margin-bottom:.375rem}
.why-desc{font-size:.8125rem;line-height:1.65;color:rgba(255,255,255,.42)}
.why-big{font-size:2.5rem;font-weight:900;letter-spacing:-.04em;line-height:1;margin-top:.5rem}
@media(max-width:900px){.why-grid{grid-template-columns:repeat(2,1fr)}.why-card.wide{grid-column:span 2}}
@media(max-width:540px){.why-grid{grid-template-columns:1fr}.why-card.wide{grid-column:span 1;flex-direction:column;gap:1rem}}

/* ─────────────────────────────────────────
   BENTO FEATURES
───────────────────────────────────────── */
.features-section{padding:7rem 0;background:var(--surf)}
.features-wrap{max-width:1280px;margin:0 auto;padding:0 1.5rem}
.features-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:.875rem}
.features-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.875rem;margin-top:.875rem}
.features-wide{grid-template-columns:1fr 1fr;margin-top:.875rem}

.b-card{border-radius:1.25rem;padding:2rem;border:1px solid var(--border);background:#fff;overflow:hidden;position:relative;transition:box-shadow .25s,transform .25s}
.b-card:hover{box-shadow:0 12px 40px rgba(0,0,0,.07);transform:translateY(-2px)}
.b-card.accent{background:#0099B3;border:none;color:#fff}
.b-card.dark{background:var(--ink);color:#fff;border:none}
.b-icon{width:2.75rem;height:2.75rem;border-radius:.875rem;background:rgba(201,0,95,.08);border:1px solid rgba(201,0,95,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:1.25rem}
.b-icon-w{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.15)}
.b-icon-teal{background:rgba(0,153,179,.08);border-color:rgba(0,153,179,.2)}
.b-num{font-size:3.5rem;font-weight:900;letter-spacing:-.05em;line-height:1}

.speed-bar{height:.5rem;border-radius:999px;margin:.5rem 0;position:relative;overflow:hidden}
.speed-bar::before{content:'';position:absolute;inset:0;background:#EBF5FB;border-radius:999px}
.speed-bar::after{content:'';position:absolute;top:0;left:0;bottom:0;border-radius:999px;background:#0099B3}
.speed-bar.s-98::after{width:98%}
.speed-bar.s-72::after{width:72%;background:#9CA3AF}

@media(max-width:1024px){
  .features-grid{grid-template-columns:1fr}
  .features-row{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .features-row,.features-wide{grid-template-columns:1fr}
}

/* ─────────────────────────────────────────
   TESTIMONIALS
───────────────────────────────────────── */
.testi-section{padding:7rem 0;background:#fff}
.testi-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem}

.t-main{margin-bottom:3rem;border-left:3px solid var(--teal);padding-left:2rem}
.t-main-quote{font-size:clamp(1.125rem,2.2vw,1.375rem);line-height:1.65;color:var(--ink);font-weight:500;margin-bottom:1.5rem}
.t-main-author{display:flex;align-items:center;gap:.75rem}
.t-avatar{width:2.75rem;height:2.75rem;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.875rem;color:#fff;flex-shrink:0}

.testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
@media(max-width:900px){.testi-grid{grid-template-columns:1fr}}

.t-card{border-radius:1.25rem;padding:2rem;background:#fff;border:1px solid var(--border);transition:box-shadow .25s}
.t-card:hover{box-shadow:0 12px 36px rgba(0,0,0,.07)}
.stars{display:flex;gap:2px;margin-bottom:1rem}
.star{width:.875rem;height:.875rem;background:#FBBF24;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.t-quote{font-size:.9375rem;line-height:1.7;color:var(--muted)}
.t-author{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}

/* ─────────────────────────────────────────
   CONTACT
───────────────────────────────────────── */
.contact-section{padding:7rem 0;background:var(--surf)}
.contact-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3.5rem}
.contact-card{padding:2.5rem;border-radius:1.5rem;border:1px solid var(--border);background:#fff;text-align:center;transition:box-shadow .3s,transform .3s;text-decoration:none;display:block}
.contact-card:hover{box-shadow:0 20px 60px rgba(0,0,0,.08);transform:translateY(-3px)}
.contact-icon{width:4rem;height:4rem;border-radius:1.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}
.contact-icon.wa{background:#25D366}
.contact-icon.em{background:#C9005F}
.contact-icon.tk{background:var(--ink)}
.contact-title{font-size:1.125rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin-bottom:.5rem}
.contact-desc{font-size:.875rem;line-height:1.65;color:var(--muted);margin-bottom:1.5rem}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr}}

/* ─────────────────────────────────────────
   CTA SECTION
───────────────────────────────────────── */
.cta-section{padding:6rem 0;background:#C9005F}
.cta-inner{max-width:760px;margin:0 auto;padding:0 1.5rem;text-align:center;position:relative;z-index:1}
.cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}

/* ─────────────────────────────────────────
   FAQ
───────────────────────────────────────── */
.faq-section{padding:7rem 0;background:#fff}
.faq-inner{max-width:860px;margin:0 auto;padding:0 1.5rem}
.faq-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:4rem;flex-wrap:wrap}
.faq-list{border-top:1px solid var(--border)}
.faq-item{border-bottom:1px solid var(--border)}
.faq-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.625rem 0;font-size:1.0625rem;font-weight:600;color:var(--ink);background:none;border:none;cursor:pointer;text-align:left;transition:color .2s;line-height:1.4}
.faq-trigger:hover{color:var(--mag)}
.faq-item.open .faq-trigger{color:var(--mag)}
.faq-chevron{width:1.375rem;height:1.375rem;flex-shrink:0;color:var(--muted);transition:transform .35s cubic-bezier(.4,0,.2,1)}
.faq-item.open .faq-chevron{transform:rotate(180deg);color:var(--mag)}
.faq-panel{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1)}
.faq-panel.open{max-height:260px}
.faq-panel p{font-size:.9375rem;line-height:1.85;color:var(--muted);padding-bottom:1.75rem;max-width:680px}

/* ─────────────────────────────────────────
   FOOTER
───────────────────────────────────────── */
.footer{background:#080814;color:rgba(255,255,255,.5);padding:5rem 0 2.5rem}
.footer-inner{max-width:1280px;margin:0 auto;padding:0 1.5rem}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3.5rem;border-bottom:1px solid rgba(255,255,255,.06)}
.footer-brand p{font-size:.875rem;line-height:1.7;max-width:26rem;margin-top:1.25rem;color:rgba(255,255,255,.38)}
.footer-col h5{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:1.25rem}
.footer-col a{display:block;font-size:.875rem;color:rgba(255,255,255,.4);margin-bottom:.625rem;transition:color .2s}
.footer-col a:hover{color:rgba(255,255,255,.85)}
.footer-bottom{padding-top:2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.footer-bottom p{font-size:.8125rem}
.footer-legal{display:flex;gap:1.5rem}
.footer-legal a{font-size:.8125rem;color:rgba(255,255,255,.3);transition:color .2s}
.footer-legal a:hover{color:rgba(255,255,255,.7)}
.footer-socials{display:flex;gap:.75rem;margin-top:1.5rem}
.social-btn{width:2.25rem;height:2.25rem;border-radius:.625rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;transition:background .2s,border-color .2s}
.social-btn:hover{background:var(--mag);border-color:var(--mag)}
@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:span 2}}
@media(max-width:600px){
  .footer-top{grid-template-columns:1fr}
  .footer-brand{grid-column:span 1}
  .footer-col{border-bottom:1px solid rgba(255,255,255,.06)}
  .footer-col h5{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;margin-bottom:0;cursor:pointer;user-select:none}
  .footer-col h5::after{content:'';display:inline-block;width:.4375rem;height:.4375rem;border-right:1.5px solid rgba(255,255,255,.3);border-bottom:1.5px solid rgba(255,255,255,.3);transform:rotate(45deg) translateY(-.1rem);flex-shrink:0;transition:transform .35s cubic-bezier(.4,0,.2,1),border-color .25s}
  .footer-col.open h5::after{transform:rotate(-135deg) translateY(.1rem);border-color:var(--teal)}
  .footer-col-body{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}
  .footer-col.open .footer-col-body{max-height:280px}
  .footer-col-body a{padding:.4rem 0;margin-bottom:0}
  .footer-col-body a:last-child{padding-bottom:.875rem}
}

/* ─────────────────────────────────────────
   SCROLL REVEAL
───────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}
.reveal.in{opacity:1;transform:none}
.rd1{transition-delay:.1s}.rd2{transition-delay:.2s}.rd3{transition-delay:.3s}.rd4{transition-delay:.4s}

/* ─────────────────────────────────────────
   INNER PAGE HERO
───────────────────────────────────────── */
.page-hero{min-height:52vh;display:flex;align-items:center;background:#fff;position:relative;overflow:hidden;padding-top:4.25rem}
.page-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 60% 40%,rgba(0,153,179,.06) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 20% 70%,rgba(201,0,95,.04) 0%,transparent 65%)}
.page-hero-bg::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,0,0,.05) 1px,transparent 1px);background-size:28px 28px;opacity:.5}
.page-hero-inner{max-width:860px;margin:0 auto;padding:0 1.5rem;width:100%;text-align:center;position:relative;z-index:1;padding-top:3rem;padding-bottom:3rem}
.page-hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.375rem .875rem;border-radius:999px;background:rgba(0,153,179,.08);border:1px solid rgba(0,153,179,.18);color:var(--teal);margin-bottom:1.5rem}
.page-hero h1{font-size:clamp(1.4rem,3.2vw,3rem);font-weight:900;line-height:1.05;letter-spacing:-.04em;margin-bottom:1.25rem}
.page-hero .sub{font-size:clamp(1rem,1.6vw,1.125rem);line-height:1.7;color:var(--muted);max-width:32rem;margin:0 auto 2rem}
.page-hero-btns{display:flex;flex-wrap:wrap;gap:.875rem;justify-content:center}

/* ─────────────────────────────────────────
   WIZARD / KEUZEHULP
───────────────────────────────────────── */
.wizard-section{padding:5rem 0;background:#fff}
.wizard-inner{max-width:780px;margin:0 auto;padding:0 1.5rem}
.wizard-head{text-align:center;margin-bottom:2.5rem}
.wiz-progress{display:flex;align-items:center;justify-content:center;gap:.375rem;margin-bottom:2rem}
.wiz-pip{width:.4375rem;height:.4375rem;border-radius:50%;background:rgba(0,0,0,.12);transition:all .3s}
.wiz-pip.done{background:var(--teal)}
.wiz-pip.active{width:1.5rem;border-radius:999px;background:#C9005F}
.wiz-step{display:none}
.wiz-step.active{display:block;animation:wiz-in .3s cubic-bezier(.4,0,.2,1)}
@keyframes wiz-in{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.wiz-q{font-size:clamp(1.1rem,2vw,1.375rem);font-weight:800;color:var(--ink);text-align:center;margin-bottom:1.75rem;letter-spacing:-.025em}
.wiz-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.875rem;margin-bottom:1.75rem}
@media(max-width:600px){.wiz-options{grid-template-columns:1fr}}
.wiz-option{border:1.5px solid var(--border);border-radius:1.25rem;padding:1.5rem 1.25rem;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;text-align:center;background:#fff;user-select:none}
.wiz-option:hover{border-color:rgba(201,0,95,.35);box-shadow:0 4px 16px rgba(201,0,95,.08)}
.wiz-option.selected{border-color:#C9005F;background:rgba(201,0,95,.04);box-shadow:0 4px 16px rgba(201,0,95,.12)}
.wiz-opt-icon{font-size:1.875rem;margin-bottom:.75rem;line-height:1}
.wiz-opt-label{font-size:.9375rem;font-weight:700;color:var(--ink);margin-bottom:.25rem}
.wiz-opt-desc{font-size:.8rem;color:var(--muted);line-height:1.5}
.wiz-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.wiz-back{font-size:.875rem;font-weight:600;color:var(--muted);background:none;border:none;cursor:pointer;padding:.5rem 0;transition:color .2s}
.wiz-back:hover{color:var(--ink)}
.wiz-result{background:var(--surf);border-radius:1.5rem;border:1px solid var(--border);padding:2.5rem;text-align:center;animation:wiz-in .35s cubic-bezier(.4,0,.2,1)}
.wiz-result-badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .875rem;border-radius:999px;background:rgba(201,0,95,.1);border:1px solid rgba(201,0,95,.2);color:#C9005F;margin-bottom:1.25rem}
.wiz-result-name{font-size:2rem;font-weight:900;letter-spacing:-.04em;color:var(--ink);margin-bottom:.375rem}
.wiz-result-price{font-size:1.125rem;font-weight:700;color:#C9005F;margin-bottom:.75rem}
.wiz-result-desc{font-size:.9375rem;line-height:1.7;color:var(--muted);max-width:28rem;margin:0 auto 1.75rem}
.wiz-result-btns{display:flex;gap:.875rem;justify-content:center;flex-wrap:wrap}
.wiz-reset{font-size:.8125rem;font-weight:600;color:var(--muted);background:none;border:none;cursor:pointer;display:block;margin:1.25rem auto 0;transition:color .2s}
.wiz-reset:hover{color:var(--mag)}

/* ─────────────────────────────────────────
   VPS CONFIGURATOR
───────────────────────────────────────── */
.vps-config-section{padding:5rem 0;background:var(--surf)}
.vps-config-inner{max-width:860px;margin:0 auto;padding:0 1.5rem}
.cfg-group{margin-bottom:2rem}
.cfg-label{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.875rem}
.cfg-opts{display:flex;flex-wrap:wrap;gap:.5rem}
.cfg-opt{padding:.5rem 1.125rem;border:1.5px solid var(--border);border-radius:999px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;background:#fff;color:var(--ink);user-select:none}
.cfg-opt:hover:not(.selected){border-color:rgba(0,153,179,.4);color:var(--teal)}
.cfg-opt.selected{border-color:#0099B3;background:#0099B3;color:#fff}
.cfg-summary{background:var(--ink);color:#fff;border-radius:1.5rem;padding:2rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2.5rem;flex-wrap:wrap}
.cfg-sum-specs{display:flex;gap:1.5rem;flex-wrap:wrap}
.cfg-sum-spec{font-size:.8125rem;color:rgba(255,255,255,.5)}
.cfg-sum-spec strong{display:block;font-size:.9375rem;font-weight:700;color:#fff;margin-bottom:.125rem}
.cfg-price-wrap{text-align:right;flex-shrink:0}
.cfg-price-label{font-size:.75rem;color:rgba(255,255,255,.4);margin-bottom:.25rem}
.cfg-price-amount{font-size:2.5rem;font-weight:900;letter-spacing:-.04em;color:#fff}
.cfg-price-period{font-size:.875rem;color:rgba(255,255,255,.45)}
@media(max-width:640px){.cfg-summary{flex-direction:column;align-items:flex-start}.cfg-price-wrap{text-align:left}}

/* ─────────────────────────────────────────
   PAGE HERO (kennisbank, subpagina's)
───────────────────────────────────────── */
.page-hero{position:relative;padding:7rem 1.5rem 4rem;text-align:center;overflow:hidden}
.page-hero--sm{padding:5.5rem 1.5rem 3rem}
.page-hero-bg{position:absolute;inset:0;background:var(--surf);z-index:0}
.page-hero-inner{position:relative;z-index:1;max-width:680px;margin:0 auto}
.page-hero-inner h1{font-size:clamp(2rem,5vw,3rem);font-weight:900;letter-spacing:-.04em;margin-bottom:.75rem}
.page-hero-inner .sub{font-size:1.0625rem;color:var(--muted);line-height:1.65;margin-bottom:1.75rem}
.breadcrumb{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--muted)}
.breadcrumb a{color:var(--muted);text-decoration:none;transition:color .2s}.breadcrumb a:hover{color:var(--teal)}

/* ─────────────────────────────────────────
   KENNISBANK — overzicht
───────────────────────────────────────── */
.kb-grid-2col{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
@media(max-width:700px){.kb-grid-2col{grid-template-columns:1fr}}
.kb-cat-block{border:1px solid var(--border);border-radius:1.25rem;padding:1.75rem 2rem;margin-bottom:1.5rem;background:#fff;transition:box-shadow .2s}
.kb-cat-block:hover{box-shadow:0 4px 24px rgba(0,0,0,.06)}
.kb-cat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}
.kb-cat-title{font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.2rem}
.kb-cat-desc{font-size:.8125rem;color:var(--muted);line-height:1.5}
.kb-cat-meer{display:inline-flex;align-items:center;gap:.3rem;font-size:.8125rem;font-weight:600;color:var(--teal);text-decoration:none;white-space:nowrap;flex-shrink:0;transition:gap .2s}
.kb-cat-meer:hover{gap:.5rem}
.kb-article-list{list-style:none;display:flex;flex-direction:column;gap:.125rem}
.kb-article-link{display:flex;align-items:center;gap:.625rem;padding:.5rem .375rem;border-radius:.625rem;font-size:.875rem;color:var(--ink);transition:background .15s,color .15s}
.kb-article-link:hover{background:var(--surf);color:var(--teal)}
.kb-popular-badge{margin-left:auto;flex-shrink:0;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(201,0,95,.08);color:var(--mag);border-radius:999px;padding:.175rem .55rem}
.kb-meer-link{display:inline-block;margin-top:.875rem;font-size:.8125rem;font-weight:600;color:var(--teal);text-decoration:none;padding:.375rem .75rem;border:1.5px solid rgba(0,153,179,.25);border-radius:999px;transition:background .2s,border-color .2s}
.kb-meer-link:hover{background:var(--surf);border-color:var(--teal)}

/* ─────────────────────────────────────────
   KENNISBANK — categoriepagina layout
───────────────────────────────────────── */
.kb-layout{display:grid;grid-template-columns:260px 1fr;gap:2.5rem;max-width:1280px;margin:0 auto;padding:3rem 1.5rem 6rem;align-items:start}
.kb-sidebar{position:sticky;top:5.5rem}
.kb-sidebar-block{background:#fff;border:1px solid var(--border);border-radius:1.25rem;padding:1.25rem 1.5rem;margin-bottom:1rem}
.kb-sidebar-title{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.875rem}
.kb-sidebar-list{list-style:none;display:flex;flex-direction:column;gap:.125rem}
.kb-sidebar-link{display:flex;align-items:center;gap:.5rem;padding:.45rem .5rem;border-radius:.625rem;font-size:.8125rem;color:var(--ink);transition:background .15s,color .15s}
.kb-sidebar-link:hover,.kb-sidebar-link.active{background:var(--surf);color:var(--teal)}
.kb-sidebar-link.active{font-weight:700}
.kb-sidebar-link--q{align-items:flex-start;gap:.4rem;line-height:1.4}
.kb-sidebar-count{margin-left:auto;font-size:.7rem;font-weight:700;color:var(--muted);background:var(--surf);border-radius:999px;padding:.1rem .45rem;flex-shrink:0}
.kb-main-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}
.kb-main-count{font-size:.8125rem;color:var(--muted)}
.kb-article-full-list{list-style:none;display:flex;flex-direction:column;gap:.375rem}
.kb-article-full-link{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:1rem;background:#fff;color:var(--ink);transition:border-color .2s,background .2s}
.kb-article-full-link:hover{border-color:rgba(0,153,179,.35);background:var(--surf)}
.kb-article-num{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--surf);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--muted)}
.kb-article-body{flex:1;display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}
.kb-article-vraag{font-size:.9375rem;font-weight:500}
.kb-article-arrow{color:var(--muted);flex-shrink:0}
/* ─────────────────────────────────────────
   KENNISBANK — artikelpagina
───────────────────────────────────────── */
.kb-article-content{font-size:1rem;line-height:1.75;color:var(--ink);padding:2rem;border:1px solid var(--border);border-radius:1.25rem;background:#fff;margin-bottom:1.5rem}
.kb-article-content p{margin-bottom:1rem}
.kb-article-content p:last-child{margin-bottom:0}
.kb-article-content ul,.kb-article-content ol{padding-left:1.375rem;margin-bottom:1rem}
.kb-article-content li{margin-bottom:.4rem}
.kb-article-content strong{font-weight:700}
.kb-article-content a{color:var(--teal);text-decoration:underline;text-underline-offset:2px}
.kb-article-content a:hover{text-decoration:none}
.kb-article-content pre{background:var(--surf);border:1px solid var(--border);border-radius:.75rem;padding:1rem 1.25rem;overflow-x:auto;margin:.75rem 0}
.kb-article-content code{font-family:'Fira Code','Courier New',monospace;font-size:.875rem;background:var(--surf);padding:.125rem .35rem;border-radius:.3rem}
.kb-article-content pre code{background:transparent;padding:0}
.kb-help-block{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;background:var(--surf);border:1px solid var(--border);border-radius:1.25rem;padding:1.5rem 2rem;margin-bottom:1.5rem}
.kb-pagination{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.kb-pag-link{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:1rem;background:#fff;color:var(--ink);transition:border-color .2s,background .2s;text-decoration:none}
.kb-pag-link:hover{border-color:rgba(0,153,179,.35);background:var(--surf)}
.kb-pag-link--right{flex-direction:row-reverse}
.kb-pag-label{display:block;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}
.kb-pag-title{display:block;font-size:.875rem;font-weight:600;line-height:1.35}

@media(max-width:900px){
  .kb-layout{grid-template-columns:1fr}
  .kb-sidebar{position:static}
  .kb-pagination{grid-template-columns:1fr}
  .kb-help-block{flex-direction:column;align-items:flex-start}
}
