/* Blog Studio — landingspagina in het visuele systeem van Buildr (aibuildr.nl).
   Plain CSS, geen build-stap. Kleuren: achtergrond #0e111b / #161a26, accent
   blauw #5B8CFF, productaccent teal #2dd4bf, violet #8b5cf6, amber #fbbf24,
   groen #4ade80 voor "alles groen". */

/* ─── Lettertype: zelf-gehost Inter (variabel), nul externe verzoeken ─── */
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('/assets/fonts/inter.woff2') format('woff2');
}

:root{
  --bg:#0e111b;
  --wrap:#161a26;
  --blue:#5B8CFF;
  --blue-soft:#a8c8ff;
  --teal:#2dd4bf;
  --teal-soft:#7ee8da;
  --violet:#8b5cf6;
  --violet-soft:#c4b5fd;
  --amber:#fbbf24;
  --green:#4ade80;
  /* Gedempt wit: minimaal 4.5:1 ook op de lichtste plek van de aurora (blauwe gloed links boven) */
  --ink-82:rgba(255,255,255,.82);
  --ink-70:rgba(255,255,255,.72);
  --ink-60:rgba(255,255,255,.66);
  --ink-55:rgba(255,255,255,.6);
  --ink-50:rgba(255,255,255,.6);
  --ink-45:rgba(255,255,255,.56);
  --line:rgba(255,255,255,.1);
  --line-15:rgba(255,255,255,.15);
  --fs-xs:.8125rem; /* 13px: ondergrens voor leesbare tekst op telefoons */
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{margin:0;font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg);color:#fff}
body{font-size:16px;line-height:1.6;overflow-x:hidden;overflow-x:clip}
::selection{background:rgba(45,212,191,.3)}
a{color:inherit;text-decoration:none}
img,svg,video{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
:focus-visible{outline:2px solid #8fb2ff;outline-offset:3px;border-radius:6px}
h1,h2,h3,h4,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
section{scroll-margin-top:1rem}

/* ─── Paginaschil ─── */
.page{position:relative;min-height:100vh;background:var(--wrap);color:#fff}
.page-in{position:relative;z-index:10}

/* ═══ Achtergrond "aurora" (overgenomen van Buildr) — geen filter:blur, ook vloeiend op telefoons ═══ */
.bg-aurora{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:radial-gradient(120% 80% at 50% -10%, #1d2742 0%, #151a2b 42%, #0e111b 100%)}
.bg-aurora::before{
  content:'';position:absolute;inset:-8%;
  background:
    radial-gradient(52% 44% at 16% 12%, rgba(91,140,255,.62) 0%, rgba(91,140,255,.18) 40%, rgba(91,140,255,0) 70%),
    radial-gradient(48% 42% at 88% 22%, rgba(139,92,246,.56) 0%, rgba(139,92,246,.16) 40%, rgba(139,92,246,0) 68%),
    radial-gradient(54% 46% at 70% 92%, rgba(45,212,191,.46) 0%, rgba(45,212,191,.13) 42%, rgba(45,212,191,0) 70%),
    radial-gradient(44% 38% at 4% 74%, rgba(56,189,248,.40) 0%, rgba(56,189,248,0) 68%);
  animation:auroraDrift 34s ease-in-out infinite alternate;
  will-change:transform;
}
.bg-aurora::after{
  content:'';position:absolute;inset:-6%;
  background:
    radial-gradient(24% 20% at 76% 8%, rgba(251,191,36,.24) 0%, rgba(251,191,36,0) 62%),
    radial-gradient(28% 22% at 34% 50%, rgba(129,140,248,.30) 0%, rgba(129,140,248,0) 64%),
    radial-gradient(22% 18% at 92% 62%, rgba(236,72,153,.20) 0%, rgba(236,72,153,0) 62%);
  animation:auroraDrift2 46s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes auroraDrift{from{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(3%,2%,0) scale(1.1)}}
@keyframes auroraDrift2{from{transform:translate3d(3%,2%,0) scale(1.05)}to{transform:translate3d(-4%,-3%,0) scale(1)}}
.bg-horizon{position:absolute;left:50%;top:-16rem;width:min(120rem,180vw);height:34rem;transform:translateX(-50%);
  background:radial-gradient(50% 50% at 50% 50%, rgba(147,180,255,.30) 0%, rgba(120,150,255,.10) 45%, rgba(120,150,255,0) 72%)}
.bg-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 80% 64% at 50% 32%,#000 26%,transparent 76%);
  mask-image:radial-gradient(ellipse 80% 64% at 50% 32%,#000 26%,transparent 76%);
}
.bg-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 92% 72% at 50% 38%,transparent 38%,rgba(7,9,14,.42) 100%)}
@media (max-width:768px){
  .bg-grid{background-size:46px 46px}
  .bg-aurora::before{animation-duration:56s}
  .bg-aurora::after{animation:none}
  .bg-horizon{top:-11rem;height:26rem}
}
@media (prefers-reduced-motion:reduce){.bg-aurora::before,.bg-aurora::after{animation:none}}

/* ─── Deeltjesveld (js/particles.js) ─── */
#fx-canvas{position:fixed;left:0;top:0;width:100%;height:100vh;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.6s ease}
#fx-canvas.on{opacity:1}
@media (prefers-reduced-motion:reduce){#fx-canvas{display:none}}
.fx-wordmark{height:0;pointer-events:none}
html.fx-on .fx-wordmark{height:52vh}
@media (max-width:768px){html.fx-on .fx-wordmark{height:30vh}}

/* ═══ Glas (overgenomen van Buildr) ═══ */
.liquid-glass{
  background:rgba(255,255,255,0.01);
  background-blend-mode:luminosity;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  border:none;
  box-shadow:inset 0 1px 1px rgba(255,255,255,0.1);
  position:relative;overflow:hidden;
}
.liquid-glass::before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  padding:1.4px;
  background:linear-gradient(180deg,
    rgba(255,255,255,0.45) 0%, rgba(255,255,255,0.15) 20%,
    rgba(255,255,255,0) 40%, rgba(255,255,255,0) 60%,
    rgba(255,255,255,0.15) 80%, rgba(255,255,255,0.45) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;
}
@media (hover:hover) and (pointer:fine){
  .liquid-glass{--mx:50%;--my:50%;isolation:isolate}
  .liquid-glass::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
    background:radial-gradient(460px circle at var(--mx) var(--my),rgba(91,140,255,.15),rgba(45,212,191,.05) 45%,transparent 65%);
    opacity:0;transition:opacity .4s ease;z-index:-1}
  .liquid-glass:hover::after{opacity:1}
}
.card-hover{transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease}
.card-hover:hover{transform:translateY(-6px);box-shadow:0 24px 60px -18px rgba(91,140,255,.45),inset 0 1px 1px rgba(255,255,255,.16)}
.sheen{position:relative}
.sheen::after{content:'';position:absolute;top:0;left:-150%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.12),transparent);transform:skewX(-18deg);transition:none;pointer-events:none}
.sheen:hover::after{animation:sheenSweep .9s ease}
@keyframes sheenSweep{from{left:-150%}to{left:150%}}
.grow-icon{transition:transform .4s cubic-bezier(.22,1,.36,1)}
.card-hover:hover .grow-icon{transform:scale(1.12) rotate(-3deg)}

/* ─── Keyframes ─── */
@keyframes shiny{0%{background-position:-200% center}100%{background-position:200% center}}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes blinkSoft{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes rvSafety{to{opacity:1;transform:none}}

/* ─── Layout-bouwstenen ─── */
.wrap{max-width:80rem;margin:0 auto;padding:0 1.5rem}
@media (max-width:400px){.wrap{padding:0 1rem}}
.section{padding:5rem 0;position:relative}
@media (min-width:768px){.section{padding:7rem 0}}
.section--line{border-top:1px solid var(--line)}
.section--tight{padding-top:3rem}
.center{text-align:center}
.center .sub{margin-left:auto;margin-right:auto}

/* De stip staat op de eerste regel (ook als de tekst op telefoons omloopt): bovenaan uitlijnen en
   naar het midden van de eerste regel schuiven (regelhoogte 1.6 → (1.6em − .375rem)/2 ≈ .6em). */
.eyebrow{display:inline-flex;align-items:flex-start;gap:.5rem;text-transform:uppercase;letter-spacing:.06em;font-size:var(--fs-xs);line-height:1.6;color:var(--ink-50);font-weight:500;text-wrap:balance}
.eyebrow::before{content:'';width:.375rem;height:.375rem;border-radius:999px;background:var(--blue);flex-shrink:0;margin-top:.6em}
.eyebrow--teal::before{background:var(--teal)}
.eyebrow--violet::before{background:var(--violet)}
.eyebrow--amber::before{background:var(--amber)}
.eyebrow--green::before{background:var(--green)}

.h2{margin-top:1.25rem;font-size:1.875rem;line-height:1.12;font-weight:600;letter-spacing:-.025em}
@media (min-width:768px){.h2{font-size:3rem;line-height:1.05}}
.sub{margin-top:1.25rem;color:var(--ink-55);max-width:36rem;line-height:1.7}

/* ─── Knoppen ─── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;font-size:.875rem;font-weight:500;padding:.75rem 1.25rem;min-height:44px;white-space:nowrap;
  transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease,background-color .2s ease,border-color .2s ease}
.btn svg{width:1rem;height:1rem;flex-shrink:0;transition:transform .2s ease}
.btn-primary{background:#fff;color:#000}
.btn-primary:hover{background:rgba(255,255,255,.92);transform:translateY(-2px);box-shadow:0 14px 34px -12px rgba(255,255,255,.35)}
.btn-primary:hover svg{transform:translateX(1px)}
.btn-primary:active{transform:translateY(0) scale(.98)}
.btn-secondary{border:1px solid var(--line-15);color:#fff}
.btn-secondary:hover{background:rgba(255,255,255,.05);border-color:rgba(91,140,255,.5)}
.btn-block{width:100%}

/* ─── Navigatie ─── */
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 0;animation:fadeDown .6s ease-out both}
.brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.05rem;letter-spacing:-.01em;min-height:44px;color:#fff}
.brand i{width:1.75rem;height:1.75rem;border-radius:.55rem;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;font-size:.95rem;color:#fff;
  background:linear-gradient(140deg,#2dd4bf,#1e2f6b);box-shadow:inset 0 1px 1px rgba(255,255,255,.3)}
.brand em{font-style:normal;color:var(--teal)}
.nav-links{display:none;gap:1.5rem}
.nav-links a{color:var(--ink-70);font-size:.875rem;font-weight:500;transition:color .2s}
.nav-links a:hover{color:#fff}
.nav-right{display:none;align-items:center;gap:1rem}
.nav-mobile{display:flex;align-items:center;gap:.5rem}
@media (min-width:1024px){
  .nav{padding:1.5rem 0}
  .nav-links{display:flex}
  .nav-right{display:flex}
  .nav-mobile{display:none}
}
.lang{display:inline-flex;align-items:center;border:1px solid var(--line-15);background:rgba(255,255,255,.04);border-radius:999px;padding:2px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em}
.lang button{padding:.25rem .625rem;border-radius:999px;color:var(--ink-45);min-height:30px;min-width:40px;transition:color .2s,background-color .2s}
.lang button:hover{color:#fff}
.lang button[aria-pressed="true"]{color:#fff;background:rgba(255,255,255,.12)}
@media (max-width:1023px){.lang button{min-height:44px;min-width:44px}}
.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8);margin-right:-.5rem;border-radius:999px}
.icon-btn:hover{color:#fff}
.icon-btn svg{width:1.5rem;height:1.5rem}

/* Mobiel menu: volledig scherm, zelfde achtergrond als de pagina */
.mmenu{position:fixed;inset:0;z-index:50;background:var(--wrap);display:none;flex-direction:column;padding:0 1.5rem 2rem;overflow-y:auto;overscroll-behavior:contain}
@media (max-width:400px){.mmenu{padding:0 1rem 2rem}}
.mmenu.open{display:flex;animation:fadeIn .2s ease-out both}
.mmenu-top{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0}
.mmenu-links{display:flex;flex-direction:column;gap:.25rem;margin-top:1.5rem}
.mmenu-links a{font-size:1.5rem;font-weight:600;letter-spacing:-.025em;padding:.75rem 0;border-bottom:1px solid var(--line);min-height:44px;display:flex;align-items:center}
.mmenu-foot{margin-top:2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}

/* ─── Hero ─── */
.hero{position:relative;padding:2.5rem 0 4rem}
@media (min-width:768px){.hero{padding:4.5rem 0 5rem}}
.hero-grid{display:grid;gap:3rem;align-items:center}
@media (min-width:1024px){.hero-grid{grid-template-columns:1.05fr .95fr;gap:3.5rem}}
.hero h1{margin-top:1.5rem;font-size:2.45rem;line-height:1.02;font-weight:600;letter-spacing:-.03em;animation:fadeUp .8s ease-out both;animation-delay:.1s}
@media (max-width:360px){.hero h1{font-size:2.15rem}}
@media (min-width:768px){.hero h1{font-size:3.6rem}}
@media (min-width:1280px){.hero h1{font-size:4.1rem;letter-spacing:-.04em}}
.hero h1 .ln{display:block}
.hero h1 .ln-dim{color:rgba(255,255,255,.5)}
.shiny{background-image:linear-gradient(to right,#2dd4bf 0%,#7ee8da 12.5%,#e6fffb 32.5%,#8fb2ff 50%,#7ee8da 67.5%,#2dd4bf 87.5%,#2dd4bf 100%);
  background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:shiny 6s linear infinite;
  padding-bottom:.06em;margin-bottom:-.06em}
.lead{margin-top:1.75rem;color:var(--ink-60);max-width:32rem;line-height:1.65;animation:fadeUp .8s ease-out both;animation-delay:.35s}
.ctas{margin-top:2.25rem;display:flex;gap:.75rem;flex-wrap:wrap;animation:fadeUp .8s ease-out both;animation-delay:.5s}
@media (max-width:480px){.ctas .btn{width:100%}}
.trust{margin-top:2rem;display:flex;gap:.75rem 1.5rem;flex-wrap:wrap;font-size:var(--fs-xs);color:var(--ink-50);animation:fadeUp .8s ease-out both;animation-delay:.65s}
.trust b{color:var(--teal);font-weight:600}

/* Terminal (hero-demo) */
.terminal{border-radius:1.25rem;background:rgba(12,14,21,.55);animation:fadeUp .9s ease-out both;animation-delay:.3s}
.t-bar{display:flex;align-items:center;gap:6px;padding:.8rem 1rem;border-bottom:1px solid var(--line)}
.dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.dot-r{background:#ff5f57}.dot-y{background:#febc2e}.dot-g{background:#28c840}
.t-file{margin-left:8px;font-size:var(--fs-xs);color:var(--ink-45);letter-spacing:.02em;font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-status{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);color:var(--teal);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0}
.t-status i{width:6px;height:6px;border-radius:50%;background:var(--teal);animation:blinkSoft 1.6s ease-in-out infinite}
.t-body{padding:1.4rem 1.25rem 1.6rem;min-height:330px}
@media (max-width:400px){.t-body{padding:1.2rem 1rem 1.4rem}}
.t-row{display:flex;align-items:baseline;gap:9px;min-height:1.6rem}
.t-prompt{color:var(--teal);font-family:var(--mono);font-size:.85rem;flex-shrink:0;user-select:none}
.t-topic{font-family:var(--mono);font-size:.9rem;font-weight:600;color:#fff;overflow-wrap:anywhere}
.t-cur{display:inline-block;width:7px;height:15px;background:var(--teal);margin-left:2px;vertical-align:-2px;animation:blinkSoft .85s steps(1) infinite}
.t-steps{margin-top:1.3rem;display:flex;flex-direction:column;gap:12px}
.t-step{display:flex;gap:11px;align-items:flex-start;opacity:0;transform:translateY(5px);transition:opacity .5s ease,transform .5s ease}
.t-step.on{opacity:1;transform:none}
.t-step-icon{width:20px;height:20px;border-radius:6px;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;background:rgba(74,222,128,.12);border:1px solid rgba(74,222,128,.35);color:var(--green)}
.t-step-icon svg{width:11px;height:11px}
.t-step-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.t-step-label{font-size:var(--fs-xs);color:var(--ink-45);letter-spacing:.06em;text-transform:uppercase;font-family:var(--mono)}
.t-step-val{font-size:.875rem;font-weight:500;color:#fff}
.t-result{margin-top:1.5rem;padding:12px 15px;border-radius:12px;background:rgba(45,212,191,.08);border:1px solid rgba(45,212,191,.25);display:flex;align-items:center;gap:12px;
  opacity:0;transform:translateY(6px) scale(.97);transition:opacity .5s ease,transform .5s ease}
.t-result.on{opacity:1;transform:none}
.t-ring{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:conic-gradient(var(--teal) calc(var(--p,0)*1%),rgba(255,255,255,.08) 0);display:flex;align-items:center;justify-content:center}
.t-ring div{width:30px;height:30px;border-radius:50%;background:#131722;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;color:var(--teal);font-family:var(--mono)}
.t-result-text{min-width:0}
.t-result-title{font-size:.85rem;font-weight:600}
.t-result-sub{font-size:var(--fs-xs);color:var(--ink-45);font-family:var(--mono)}

/* ─── Cijfers ─── */
.stats{padding:0 0 1rem}
.stats-bar{display:grid;gap:.75rem;grid-template-columns:1fr}
@media (min-width:540px){.stats-bar{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.stats-bar{grid-template-columns:repeat(4,1fr)}}
.stat{border-radius:1rem;padding:1.5rem 1.25rem;text-align:center}
.stat-num{display:block;font-size:2.4rem;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--teal);margin-bottom:.45rem;font-variant-numeric:tabular-nums}
.stat-label{font-size:var(--fs-xs);color:var(--ink-55);line-height:1.45}
.engines{margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center}
.engines-label{font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45)}
.engines-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;justify-content:center;font-weight:600;font-size:.95rem;color:rgba(255,255,255,.72)}
.engines-row i{width:4px;height:4px;border-radius:50%;background:var(--teal);opacity:.7}

/* ─── Scroll-reveal (op telefoons uit: content nooit achter JS verstoppen) ─── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1);animation:rvSafety .6s ease 4s forwards}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}
.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}
.reveal[data-d="4"]{transition-delay:.32s}
@media (max-width:768px){.reveal{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}}

/* ─── Hoe het werkt ─── */
.flow{margin-top:3rem;display:grid;gap:1.25rem}
@media (min-width:900px){.flow{grid-template-columns:repeat(3,1fr);gap:1.5rem}}
.step{border-radius:1rem;padding:1.75rem 1.5rem}
.step-k{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--blue-soft);font-weight:700;font-family:var(--mono)}
.step--2 .step-k{color:var(--violet-soft)}
.step--3 .step-k{color:var(--teal-soft)}
.step-ic{margin-top:1rem;width:2.6rem;height:2.6rem;border-radius:.85rem;display:flex;align-items:center;justify-content:center;color:var(--blue-soft);
  background:linear-gradient(140deg,rgba(91,140,255,.22),rgba(91,140,255,.05));border:1px solid rgba(91,140,255,.3);box-shadow:inset 0 1px 1px rgba(255,255,255,.14)}
.step--2 .step-ic{color:var(--violet-soft);background:linear-gradient(140deg,rgba(139,92,246,.22),rgba(139,92,246,.05));border-color:rgba(139,92,246,.3)}
.step--3 .step-ic{color:var(--teal-soft);background:linear-gradient(140deg,rgba(45,212,191,.22),rgba(45,212,191,.05));border-color:rgba(45,212,191,.3)}
.step-ic svg{width:1.3rem;height:1.3rem}
.step h3{margin-top:1.1rem;font-size:1.15rem;font-weight:600;letter-spacing:-.01em}
.step > p{margin-top:.6rem;font-size:.875rem;color:var(--ink-60);line-height:1.6}
.step ul{margin-top:1.1rem;display:flex;flex-direction:column;gap:.6rem}
.step li{display:flex;gap:.65rem;font-size:.85rem;color:var(--ink-60);line-height:1.55}
.step li::before{content:'';flex-shrink:0;margin-top:.5rem;width:.4rem;height:.4rem;border-radius:999px;background:var(--blue)}
.step--2 li::before{background:var(--violet)}
.step--3 li::before{background:var(--teal)}
.badge{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.25rem;padding:.3rem .75rem;border-radius:999px;font-size:var(--fs-xs);font-weight:600;
  border:1px solid rgba(91,140,255,.3);color:var(--blue-soft);background:rgba(91,140,255,.08)}
.badge::before{content:'';width:.375rem;height:.375rem;border-radius:999px;background:currentColor}
.badge--violet{border-color:rgba(139,92,246,.35);color:var(--violet-soft);background:rgba(139,92,246,.08)}
.badge--teal{border-color:rgba(45,212,191,.35);color:var(--teal);background:rgba(45,212,191,.08)}
.badge--amber{border-color:rgba(251,191,36,.3);color:var(--amber);background:rgba(251,191,36,.08)}

/* ─── Gesplitste secties (GEO / Optimizer) ─── */
.split{display:grid;gap:2.5rem;align-items:center}
@media (min-width:960px){.split{grid-template-columns:1fr 1fr;gap:4rem}.split--rev .mock{order:-1}}
.checks{margin-top:1.75rem;display:grid;gap:.85rem}
.checks li{display:flex;gap:.75rem;font-size:.9rem;color:var(--ink-60);line-height:1.6}
.checks b{color:#fff;font-weight:600}
.ck{flex-shrink:0;width:22px;height:22px;border-radius:7px;background:rgba(74,222,128,.12);border:1px solid rgba(74,222,128,.35);color:var(--green);display:flex;align-items:center;justify-content:center;margin-top:2px}
.ck svg{width:12px;height:12px}
.fine{margin-top:1.4rem;font-size:var(--fs-xs);color:var(--ink-45);line-height:1.6}

.mock{border-radius:1.25rem;padding:1.5rem}
@media (max-width:600px){.mock{padding:1.1rem}}
.mock-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:1.2rem}
.mock-title{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-45);font-family:var(--mono)}
.ex-tag{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(251,191,36,.35);background:rgba(251,191,36,.08);padding:2px 9px;border-radius:999px;white-space:nowrap}

/* AI-antwoord */
.ask{display:flex;justify-content:flex-end;margin-bottom:1rem}
.ask span{background:rgba(255,255,255,.07);border:1px solid var(--line);padding:10px 14px;border-radius:14px 14px 4px 14px;font-size:.875rem;max-width:85%}
.ans{display:flex;gap:12px}
.ans-ic{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#7ee8da,#1e2f6b);box-shadow:0 0 18px rgba(45,212,191,.45)}
.ans-body{flex:1;min-width:0}
.ans-body p{font-size:.875rem;color:var(--ink-82);line-height:1.65;margin-bottom:.7rem}
.ans-body mark{background:rgba(45,212,191,.18);color:#fff;padding:0 3px;border-radius:4px}
.srcs{display:flex;flex-wrap:wrap;gap:8px;margin-top:.4rem}
.src{font-family:var(--mono);font-size:var(--fs-xs);padding:6px 10px;border-radius:8px;border:1px solid var(--line);color:var(--ink-45);display:inline-block;max-width:100%;min-width:0;overflow-wrap:anywhere;line-height:1.5}
.src b{font-weight:600;color:var(--ink-60)}
.src.you{border-color:rgba(45,212,191,.6);color:var(--teal);background:rgba(45,212,191,.1);box-shadow:0 0 22px rgba(45,212,191,.25)}
.src.you b{color:var(--teal)}
.geo-mock .ans-body p,.geo-mock .srcs{opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease;animation:rvSafety .6s ease 4s forwards}
.geo-mock.in .ans-body p,.geo-mock.in .srcs{opacity:1;transform:none}
.geo-mock.in .ans-body p:nth-of-type(1){transition-delay:.5s}
.geo-mock.in .ans-body p:nth-of-type(2){transition-delay:.9s}
.geo-mock.in .srcs{transition-delay:1.3s}
.geo-mock.in .src.you{animation:youpulse 2.6s ease-in-out 2s 3}
@keyframes youpulse{0%,100%{box-shadow:0 0 22px rgba(45,212,191,.25)}50%{box-shadow:0 0 34px rgba(45,212,191,.55)}}

/* Optimizer */
.url-bar{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:1.2rem;font-family:var(--mono);font-size:var(--fs-xs);color:var(--ink-60)}
.url-bar svg{width:14px;height:14px;flex-shrink:0}
.url-bar > span:first-of-type{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.url-bar .go{flex-shrink:0;margin-left:auto;background:var(--teal);color:#0b1020;font-weight:600;border-radius:7px;padding:4px 10px;font-family:'Inter',system-ui,sans-serif}
.opt-grid{display:grid;grid-template-columns:1fr;gap:1rem;align-items:center}
@media (min-width:600px){.opt-grid{grid-template-columns:150px 1fr}}
.scores{display:grid;gap:12px;grid-template-columns:1fr 1fr}
@media (min-width:600px){.scores{grid-template-columns:1fr}}
.sc{display:flex;align-items:center;gap:12px}
.ring{--p:0;--c:var(--teal);width:64px;height:64px;border-radius:50%;flex-shrink:0;background:conic-gradient(var(--c) calc(var(--p)*1%),rgba(255,255,255,.08) 0);display:flex;align-items:center;justify-content:center}
.ring::after{content:attr(data-v);width:50px;height:50px;border-radius:50%;background:#171b27;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:#fff;font-variant-numeric:tabular-nums}
.ring.before{--c:var(--amber)}
.sc small{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-45)}
.radar{width:100%;height:auto;overflow:visible}
@media (max-width:599px){.radar{max-width:260px;margin:0 auto}}
.radar .rg{fill:none;stroke:rgba(255,255,255,.08)}
.radar .ra{stroke:rgba(255,255,255,.08)}
.radar .rb{fill:rgba(251,191,36,.12);stroke:rgba(251,191,36,.7);stroke-width:1.5;stroke-dasharray:4 3}
.radar .rn{fill:rgba(45,212,191,.22);stroke:var(--teal);stroke-width:2;transform-origin:160px 150px;transform:scale(.4);opacity:0;
  transition:transform 1.3s cubic-bezier(.2,.8,.2,1) .4s,opacity .8s ease .4s;filter:drop-shadow(0 0 10px rgba(45,212,191,.45));animation:rvSafety .6s ease 4s forwards}
.opt-mock.in .radar .rn{transform:none;opacity:1}
.radar text{font-family:var(--mono);font-size:13px;fill:rgba(255,255,255,.62)}
.radar-legend{display:none;flex-wrap:wrap;gap:.4rem .5rem;margin-top:.5rem}
.radar-legend span{font-size:var(--fs-xs);font-family:var(--mono);color:var(--ink-60);border:1px solid var(--line);border-radius:999px;padding:3px 9px}
@media (max-width:599px){.radar text{display:none}.radar-legend{display:flex}}
.diff{margin-top:1.1rem;border-top:1px solid var(--line);padding-top:1rem;display:grid;gap:6px;font-size:var(--fs-xs);line-height:1.55}
.diff .del{color:rgba(252,165,165,.85);text-decoration:line-through;text-decoration-color:rgba(252,165,165,.6)}
.diff .add{color:#86efac}
.diff .del::before,.diff .add::before{font-family:var(--mono);margin-right:8px;text-decoration:none;display:inline-block}
.diff .del::before{content:'−'}
.diff .add::before{content:'+'}

/* ─── Zes tegels ─── */
.bento{margin-top:3rem;display:grid;gap:1rem}
@media (min-width:640px){.bento{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.bento{grid-template-columns:repeat(3,1fr)}}
.tile{border-radius:1rem;padding:1.5rem}
.tile-k{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--teal-soft);font-weight:700;display:flex;align-items:center;gap:8px;font-family:var(--mono)}
.tile h3{margin-top:.8rem;font-size:1.1rem;font-weight:600;letter-spacing:-.01em}
.tile p{margin-top:.5rem;font-size:.875rem;color:var(--ink-60);line-height:1.65}
.lights{display:inline-flex;gap:4px}
.lights i{width:8px;height:8px;border-radius:50%}
.lights i:nth-child(1){background:var(--green)}
.lights i:nth-child(2){background:var(--amber)}
.lights i:nth-child(3){background:#f87171}

/* ─── Video ─── */
.vtabs{margin-top:2.5rem;display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}
.vtab{font-size:.85rem;font-weight:600;padding:.55rem 1rem;min-height:44px;border-radius:999px;border:1px solid var(--line-15);color:var(--ink-60);transition:color .2s,background-color .2s,border-color .2s}
.vtab:hover{color:#fff}
.vtab[aria-selected="true"]{background:rgba(45,212,191,.14);border-color:rgba(45,212,191,.5);color:var(--teal)}
.video-wrap{max-width:60rem;margin:1.25rem auto 0}
.vpanel[hidden]{display:none}
.videoframe{position:relative;border-radius:18px;overflow:hidden;background:#0c0e15;box-shadow:0 40px 90px -30px rgba(0,0,0,.7),inset 0 1px 1px rgba(255,255,255,.08)}
.videoframe video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#0c0e15}
.vbar{display:flex;align-items:center;gap:8px;padding:11px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.03)}
.vbar .dot{width:11px;height:11px}
.vbar-label{margin-left:8px;font-size:var(--fs-xs);color:var(--ink-45);font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vbar-live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--teal);flex-shrink:0}
.vbar-live i{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal);animation:blinkSoft 2s ease-in-out infinite}
.vcap{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;padding:.8rem 1rem;font-size:var(--fs-xs);color:var(--ink-55);text-align:center}
.vc-pill{display:inline-flex;align-items:center;padding:.15rem .6rem;border-radius:999px;border:1px solid rgba(45,212,191,.35);background:rgba(45,212,191,.08);color:var(--teal);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.demo-cta{margin-top:2.5rem;display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center}
.demo-note{font-size:var(--fs-xs);color:var(--ink-45)}
.demo-note b{color:var(--teal);font-weight:600}

/* ─── Op maat ─── */
.custom{margin-top:3rem;display:grid;gap:1.25rem}
@media (min-width:760px){.custom{grid-template-columns:1fr 1fr}}
.custom-card{border-radius:1rem;padding:1.6rem}
.custom-card h3{margin-top:1rem;font-size:1.05rem;font-weight:600}
.custom-card p{margin-top:.4rem;font-size:.875rem;color:var(--ink-60);line-height:1.6}
.custom-feature{display:inline-block;margin-top:.8rem;font-size:var(--fs-xs);letter-spacing:.04em;color:var(--teal-soft);font-family:var(--mono)}
.callout{grid-column:1/-1;border-radius:1.25rem;padding:1.75rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.callout p{font-size:.95rem;color:var(--ink-60);max-width:34rem;line-height:1.7}
.callout b{color:#fff}
@media (max-width:600px){.callout .btn{width:100%}}

/* ─── Over ons ─── */
.people{margin-top:3rem;display:grid;gap:1.5rem}
@media (min-width:760px){.people{grid-template-columns:1fr 1fr}}
.person{border-radius:1.25rem;padding:2rem 1.75rem}
@media (max-width:400px){.person{padding:1.5rem 1.25rem}}
.ava{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem;color:#0b1020}
.ava-w{background:linear-gradient(135deg,#2dd4bf,#0d9488);box-shadow:0 0 20px rgba(45,212,191,.35)}
.ava-l{background:linear-gradient(135deg,#fbbf24,#fde68a);box-shadow:0 0 20px rgba(251,191,36,.3)}
.person h3{margin-top:1.2rem;font-size:1.2rem;font-weight:600}
.person-role{display:block;margin-top:.2rem;font-size:var(--fs-xs);letter-spacing:.08em;color:var(--teal-soft);font-family:var(--mono);text-transform:uppercase}
.person p{margin-top:1rem;font-size:.875rem;color:var(--ink-60);line-height:1.7}

/* ─── Van het blog ─── */
.posts{margin-top:3rem;display:grid;gap:1.25rem}
@media (min-width:640px){.posts{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.posts{grid-template-columns:repeat(4,1fr)}}
.post{border-radius:1rem;padding:1.5rem;display:flex;flex-direction:column;color:#fff}
.post-k{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--blue-soft);font-weight:700;font-family:var(--mono)}
.post h3{margin-top:.8rem;font-size:1.05rem;font-weight:600;line-height:1.35;letter-spacing:-.01em}
.post p{margin-top:.6rem;font-size:.85rem;color:var(--ink-60);line-height:1.6;flex:1}
.post-cta{margin-top:1.25rem;display:inline-flex;align-items:center;gap:.5rem;font-size:var(--fs-xs);font-weight:600;color:var(--blue-soft)}
.post-cta svg{width:.9rem;height:.9rem;transition:transform .28s ease}
.post:hover .post-cta svg{transform:translateX(3px)}

/* ─── FAQ ─── */
.faq-list{margin-top:3rem;max-width:48rem;display:flex;flex-direction:column;gap:.75rem}
.faq-list details{border-radius:1rem;padding:.6rem 1.5rem}
@media (max-width:400px){.faq-list details{padding:.5rem 1.1rem}}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;min-height:44px;padding:.5rem 0}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list h3{font-size:1rem;font-weight:600;line-height:1.4}
@media (min-width:768px){.faq-list h3{font-size:1.1rem}}
.faq-list summary svg{width:1.25rem;height:1.25rem;flex-shrink:0;color:var(--teal);transition:transform .25s ease}
.faq-list details[open] summary svg{transform:rotate(45deg)}
.faq-list details p{margin:.5rem 0 1rem;font-size:.875rem;color:var(--ink-60);line-height:1.7}

/* ─── Contact ─── */
.contact-panel{border-radius:1.5rem;padding:2.5rem 1.25rem}
@media (min-width:768px){.contact-panel{padding:4rem 3.5rem}}
.contact-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px circle at 50% 0%,rgba(45,212,191,.16),transparent 70%);opacity:.5}
.contact-grid{position:relative;display:grid;gap:2.5rem;align-items:start}
@media (min-width:960px){.contact-grid{grid-template-columns:1fr 1.1fr;gap:3.5rem}}
.trial-pill{display:inline-flex;align-items:center;gap:7px;margin-top:1.1rem;padding:5px 13px;border-radius:999px;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);font-size:var(--fs-xs);color:var(--amber);letter-spacing:.04em;font-family:var(--mono)}
.trial-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--amber);animation:blinkSoft 1.6s ease-in-out infinite}
.contact-grid .h2{font-size:1.9rem;line-height:1.1}
@media (min-width:768px){.contact-grid .h2{font-size:2.7rem}}
.promise{margin-top:1.75rem;display:flex;flex-direction:column;gap:.8rem}
.promise li{display:flex;gap:.65rem;font-size:.875rem;color:var(--ink-60);line-height:1.5}
.promise li::before{content:'';flex-shrink:0;margin-top:.5rem;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.form-card{border-radius:1.25rem;padding:1.5rem 1.25rem}
@media (min-width:768px){.form-card{padding:1.75rem}}
.form-row{display:grid;gap:0 .75rem}
@media (min-width:560px){.form-row{grid-template-columns:1fr 1fr}}
.fld{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.9rem;min-width:0}
.fld label{font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-50)}
.req{color:var(--teal)}
.fld input,.fld select,.fld textarea{width:100%;border-radius:.75rem;background:rgba(255,255,255,.05);border:1px solid var(--line);padding:.7rem 1rem;font:inherit;font-size:.9rem;color:#fff;outline:none;min-height:44px;
  -webkit-appearance:none;appearance:none;transition:border-color .2s ease,background-color .2s ease}
.fld input::placeholder,.fld textarea::placeholder{color:var(--ink-45)}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:rgba(45,212,191,.6);background:rgba(45,212,191,.04)}
.fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.45)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;cursor:pointer}
.fld select option{background:#161a26;color:#fff}
.fld textarea{min-height:96px;resize:vertical;line-height:1.55}
.form-note{margin-top:.8rem;font-size:var(--fs-xs);color:var(--ink-45);text-align:center;line-height:1.5;overflow-wrap:anywhere}
.form-success{display:none;text-align:center;padding:1.5rem .5rem}
.form-success.show{display:block}
.form-fields.hide{display:none}
.success-ic{width:3rem;height:3rem;border-radius:50%;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:rgba(74,222,128,.15);color:var(--green)}
.success-ic svg{width:1.5rem;height:1.5rem}
.form-success h3{font-size:1.25rem;font-weight:600}
.form-success p{margin-top:.5rem;font-size:.875rem;color:var(--ink-60);line-height:1.6}

/* ─── Footer ─── */
.footer{border-top:1px solid var(--line);padding:2.5rem 0 2rem}
.footer-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}
.footer-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1.5rem;font-size:var(--fs-xs);color:var(--ink-55)}
.footer-meta a{min-height:44px;display:inline-flex;align-items:center;transition:color .2s}
.footer-meta a:hover{color:#fff}
.powered{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--fs-xs);font-weight:600;color:var(--ink-70);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:.4rem .9rem .4rem .5rem;min-height:44px;transition:border-color .2s ease,color .2s ease}
.powered:hover{border-color:var(--blue);color:#fff}
.powered i{width:1.3rem;height:1.3rem;border-radius:.4rem;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;font-size:.72rem;color:#fff;background:linear-gradient(140deg,#5B8CFF,#1e2f6b);box-shadow:inset 0 1px 1px rgba(255,255,255,.3)}

/* ─── Zwevende CTA ─── */
#sticky-cta{position:fixed;z-index:40;bottom:1.25rem;right:1.25rem;left:1.25rem;box-shadow:0 10px 40px -10px rgba(0,0,0,.7);
  opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;transition:transform .3s ease,opacity .3s ease,visibility .3s}
@media (min-width:640px){#sticky-cta{left:auto}}
#sticky-cta.is-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}
@supports (padding:env(safe-area-inset-bottom)){#sticky-cta{bottom:calc(1.25rem + env(safe-area-inset-bottom))}}

/* ─── Telefoons: goedkoper renderen, grotere tikvlakken, nooit horizontaal scrollen ─── */
@media (max-width:768px){
  /* zonder blur schemert het deeltjesveld door het glas; een licht donkere vulling houdt de tekst leesbaar */
  .liquid-glass{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(14,17,27,.46)}
  input,textarea,select{font-size:16px!important}
  html,body{overflow-x:hidden;overflow-x:clip}
  .step,.tile,.custom-card,.post,.person,.stat{transform:none!important}
}

/* ─── 'Minder beweging': alles stil, terminal en deeltjes staan dan ook uit (JS) ─── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
  .reveal,.geo-mock .ans-body p,.geo-mock .srcs,.radar .rn,.t-step,.t-result{opacity:1!important;transform:none!important}
}
