/* Homepage Atoom Bijles */
.h-hero,.v-sec,.reis,.een,.p-sec,.st-sec,.c-sec{position:relative}
main>.h-hero{background:linear-gradient(180deg,#D9EAFC 0%,#C6DEF7 100%)}
.h-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(16px,4vw,64px);align-items:center;max-width:1280px;margin-inline:auto;padding:clamp(36px,6vw,84px) clamp(20px,4vw,48px);box-sizing:border-box}
.h-hero h1{font-size:clamp(2.3rem,4.9vw,4.2rem);line-height:1.04;letter-spacing:-.045em;font-weight:800;color:#0B2447;margin:0 0 1.3rem;max-width:14em}
.h-lead{font-size:clamp(1.2rem,1.9vw,1.55rem);line-height:1.35;color:#0B2447;font-weight:500;margin:0 0 .8rem;max-width:24em}
.h-sub{font-size:1.05rem;line-height:1.55;color:#2E4468;margin:0 0 1.8rem;max-width:32em}
.h-cta{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center;margin:0}
.hbtn{display:inline-block;background:#2175D9;color:#fff;font-weight:700;padding:.95rem 1.7rem;border-radius:10px;text-decoration:none;transition:background .2s,transform .2s}
.hbtn:hover{background:#1760B8;color:#fff;transform:translateY(-2px)}
.hlink{color:#0B2447;font-weight:600;text-decoration:underline;text-decoration-color:#2175D9;text-decoration-thickness:2px;text-underline-offset:5px}
.h-scene{display:grid;place-items:center}
.hero-atom{width:min(100%,600px);height:auto;overflow:visible;display:block}
.hero-atom .pl{transition:transform .5s ease-out}
@media(max-width:820px){.h-in{grid-template-columns:1fr}.hero-atom{max-width:440px;margin:0 auto}}

/* vakken */
main>.v-sec{background:#F6F9FE;padding:clamp(48px,7vw,96px) 0 clamp(40px,6vw,80px);overflow:hidden}
.v-sec h2{font-size:clamp(1.9rem,3.6vw,3rem);letter-spacing:-.035em;font-weight:800;margin:0 0 .6rem;color:#0B2447}
.v-p{font-size:1.1rem;line-height:1.6;color:#2E4468;margin:0 0 clamp(16px,3vw,32px);max-width:38em}
.v-p a{color:#1760B8;text-decoration:underline;text-underline-offset:3px}
.vk-rail{overflow:hidden}
.vk-track{display:flex;gap:clamp(18px,2.4vw,30px);width:max-content;padding:22px 24px 34px;animation:rail 60s linear infinite;will-change:transform}
.vk-rail:hover .vk-track,.vk-rail:focus-within .vk-track{animation-play-state:paused}
@keyframes rail{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.vk-track .vk{flex:0 0 clamp(240px,22vw,290px)}
.vk-track .vk:nth-child(odd){transform:rotate(-2.4deg)}.vk-track .vk:nth-child(even){transform:rotate(2deg) translateY(10px)}
.vk-track .vk:hover,.vk-track .vk:focus-visible{transform:rotate(0) translateY(-6px);box-shadow:0 22px 44px rgba(11,36,71,.24)}
@media(prefers-reduced-motion:reduce){.vk-track{animation:none;width:auto;overflow-x:auto}.vk[aria-hidden]{display:none}}

/* zoomreis */
main>.reis{background:#D3E5F9;height:480vh;padding:0}
.reis-pin{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}
.reis-in{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,5vw,80px);align-items:center;max-width:1280px;margin-inline:auto;padding-inline:clamp(20px,4vw,48px);box-sizing:border-box;width:100%}
.reis h2{font-size:clamp(1.7rem,3.2vw,2.7rem);letter-spacing:-.04em;line-height:1.05;font-weight:800;color:#0B2447;margin:0 0 1.8rem;max-width:12em}
.rts{position:relative;min-height:13rem}
.rt{position:absolute;inset:0 0 auto 0;opacity:0;transform:translateY(12px);transition:opacity .35s,transform .35s}
.rt.is-on{opacity:1;transform:none}
.rt b{display:block;font-size:clamp(1.5rem,2.6vw,2.2rem);letter-spacing:-.03em;font-weight:800;color:#0B2447;margin-bottom:.2rem}
.rt i{display:block;font:400 .9rem "IBM Plex Mono",ui-monospace,monospace;font-style:normal;color:#1760B8;margin-bottom:.9rem}
.rt p{font-size:1.1rem;line-height:1.6;max-width:30em;margin:0;color:#1D3558}
.reis-lens{position:relative;width:min(100%,64vh,540px);aspect-ratio:1;justify-self:center}
.reis-lens svg{width:100%;height:100%;display:block;border-radius:50%;background:#04070F;box-shadow:0 0 0 6px #0B2447,0 24px 60px rgba(11,36,71,.35)}
.reis-lens .hud{position:absolute;inset:0;pointer-events:none;box-shadow:none;background:none;filter:drop-shadow(0 0 1px rgba(4,7,15,.9))}
.reis-lens .lv{transform-box:view-box}
.hud-bar{position:absolute;left:0;right:0;bottom:11%;display:grid;justify-items:center;gap:.25rem;font:400 .78rem "IBM Plex Mono",monospace;color:#fff}
.hud-bar .bar{display:block;height:6px;border:1.5px solid #fff;border-top:0;box-sizing:border-box;width:22%}
.reis-lens.lt .hud-bar,.reis-lens.lt .hud-bar .bar-l{color:#0B2447}.reis-lens.lt .hud-bar .bar{border-color:#0B2447}
.hud-r{position:absolute;left:0;right:0;top:100%;margin:1.4rem 0 0;font:400 .85rem "IBM Plex Mono",monospace;color:#0B2447;text-align:center}
.hud-r span{color:#1760B8}
.el{animation:orb 14s linear infinite}.e2{animation-duration:26s}
@keyframes orb{to{transform:rotate(360deg)}}
main>.reis.rm{height:auto}.reis.rm .reis-pin{position:static;height:auto;padding:64px 0}.reis.rm .rts{min-height:0}.reis.rm .rt{position:static;opacity:1;transform:none;margin-bottom:1.4rem}
@media(max-width:820px){.reis-in{grid-template-columns:1fr;gap:18px}.reis-pin{align-items:flex-start;padding-top:76px;box-sizing:border-box}.reis-lens{order:-1;width:min(62vw,34vh)}.reis h2{font-size:1.4rem;margin-bottom:1rem}.rts{min-height:11rem}.rt p{font-size:1rem}}

/* alles op één plek */
main>.een{background:#fff;padding:clamp(56px,8vw,112px) 0}
.een-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,6vw,96px);align-items:center;max-width:1280px;margin-inline:auto;padding-inline:clamp(20px,4vw,48px);box-sizing:border-box}
.een h2{font-size:clamp(1.9rem,3.6vw,3rem);letter-spacing:-.035em;line-height:1.05;font-weight:800;margin:0 0 1.2rem;color:#0B2447}
.een-txt p{font-size:1.1rem;line-height:1.65;max-width:34em;margin:0 0 1rem;color:#2E4468}
.een .more{color:#1760B8}
.een-fig{position:relative;height:clamp(280px,32vw,400px)}
.chaos .n{position:absolute;background:#E8F1FC;color:#0B2447;font:600 1rem "DM Sans",sans-serif;padding:.7rem 1.1rem;border-radius:8px;border:1px dashed #8DB2E6}
.n1{left:0;top:6%;transform:rotate(-5deg)}.n2{left:26%;top:38%;transform:rotate(4deg)}.n3{left:2%;top:66%;transform:rotate(-3deg)}
.een-kaart{position:absolute;right:0;top:10%;width:46%;background:#2175D9;color:#fff;padding:1.4rem;border-radius:12px;transform:rotate(2deg);box-shadow:0 18px 36px rgba(33,117,217,.3);display:grid;gap:.55rem}
.een-kaart b{font-size:1.15rem;margin-bottom:.4rem}.een-kaart span{border-top:1.5px solid rgba(255,255,255,.45);padding-top:.5rem}
@media(max-width:820px){.een-in{grid-template-columns:1fr}.een-fig{height:280px}.een-kaart{width:54%}}

/* prijs */
main>.p-sec{background:#fff;padding:0 clamp(12px,2vw,24px) clamp(40px,6vw,72px)}
.p-band{max-width:1232px;margin:0 auto;background:#2175D9;color:#fff;border-radius:clamp(24px,3vw,40px);padding:clamp(28px,4vw,48px) clamp(24px,5vw,64px)}
.p-band p{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.3;letter-spacing:-.02em;font-weight:700;margin:0 0 .7rem;max-width:30em;color:#fff}
.p-band .p-s{font-size:.95rem;font-weight:400;letter-spacing:0;line-height:1.55;max-width:34em;color:#E3F0FD;margin-bottom:1.6rem}
.tel{color:#fff;background:linear-gradient(#FFC94A,#FFC94A) 0 100%/100% .12em no-repeat}
.pbtn{display:inline-block;background:#fff;color:#0B2447;font-weight:700;padding:.9rem 1.5rem;border-radius:10px;text-decoration:none}
.pbtn:hover{background:#FFC94A;color:#0B2447}

/* stappen */
main>.st-sec{background:#F6F9FE;padding:clamp(48px,7vw,96px) 0}
.st-sec h2{font-size:clamp(1.9rem,3.6vw,3rem);letter-spacing:-.035em;font-weight:800;margin:0 0 clamp(24px,4vw,44px);color:#0B2447}
.st-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,32px)}
.st{background:#fff;border:1px solid #D3E2F5;border-radius:14px;padding:1.6rem}
.st b{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:#DCEBFB;color:#1760B8;font-size:1.1rem;margin-bottom:1rem}
.st h3{font-size:1.3rem;letter-spacing:-.02em;margin:0 0 .5rem;color:#0B2447}.st p{margin:0;line-height:1.6;color:#2E4468}
@media(max-width:820px){.st-grid{grid-template-columns:1fr}}

/* afsluiter */
main>.c-sec{background:#DCEBFB;padding:clamp(40px,6vw,72px) 0}
.c-in{display:flex;justify-content:space-between;align-items:center;gap:1.5rem 3rem;flex-wrap:wrap;max-width:1280px;margin-inline:auto;padding-inline:clamp(20px,4vw,48px);box-sizing:border-box}
.c-sec h2{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.035em;font-weight:800;margin:0 0 .4rem;color:#0B2447}.c-sec p{margin:0;font-size:1.1rem;color:#2E4468}
@media(max-width:820px){.reis-lens{margin-bottom:2.2rem}}
