@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500 800;font-display:swap;src:url(assets/fonts/bricolage-grotesque-latin.d4322f56a7.woff2) format('woff2')}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/instrument-sans-latin.d6eefe7443.woff2) format('woff2')}
[hidden]{display:none!important}
/* iOS 26 glass bar (zelfde aanpak als neurendal.com): het document scrollt niet,
   .page is de scrollcontainer, hardwarematig geclipt op een eigen GPU-laag.
   Content kan zo nooit in de strook achter Safari's werkbalken tekenen. */
html,body{height:100%;overflow:hidden;background:#5FD3C4}
.page{height:100vh;height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scroll-padding-top:88px;background:#FFFFFF;clip-path:inset(0 0 0 0);-webkit-clip-path:inset(0 0 0 0);transform:translateZ(0);will-change:transform}
/* Sticky header. De zichtbare achtergrond zit op het absolute .header-bg-kind,
   omdat Safari 26 background en backdrop-filter van het sticky element zelf
   gebruikt om de werkbalk te kleuren. */
.lb .nav{position:sticky;top:0;z-index:40;padding-top:env(safe-area-inset-top,0px);background:transparent;will-change:transform}
.lb .header-bg{position:absolute;inset:0;z-index:-1;background:rgba(95,211,196,.86);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-bottom:3px solid transparent}
.lb .nav .wrap{position:relative}
/* Onder het glas ligt bovenaan de pagina aqua, zodat de header naadloos op de hero aansluit. */
.page>.lb{background:linear-gradient(#5FD3C4 0 240px,#FFFFFF 240px)}
@supports (animation-timeline:scroll()){
/* Geen beweging, alleen een randkleur die met de scrollpositie meeloopt; mag ook bij reduced motion. */
.lb .nav .header-bg{animation:navline linear both!important;animation-timeline:scroll(nearest block)!important;animation-range:0 120px!important}
@keyframes navline{to{border-bottom-color:#1A2B4E}}
}
.lb.lb-fixed{overflow:visible;background:transparent}
body{margin:0}
a{color:#1A2B4E}a:hover{color:#0E1320}
.lb{font-family:'Instrument Sans',system-ui,sans-serif;color:#1A2B4E;background:#FFFFFF;overflow:hidden;overflow:clip}
.lb *{box-sizing:border-box}
.lb .wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.lb h1,.lb h2,.lb h3,.lb .disp{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;margin:0;letter-spacing:-.03em;text-wrap:balance}
.lb h1{font-size:clamp(52px,8.4vw,124px);line-height:.9}
.lb h2{font-size:clamp(40px,5.6vw,76px);line-height:.95}
.lb h3{font-size:26px;line-height:1.05;letter-spacing:-.02em}
.lb p{margin:0;text-wrap:pretty}
.lb .lead{font-size:21px;line-height:1.5}
.lb .body{font-size:16px;line-height:1.55}
.lb .vh{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.lb .tag{width:fit-content;justify-self:start;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;background:#1A2B4E;color:#FFFFFF;border-radius:999px;padding:8px 16px;align-self:flex-start}
.lb .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 30px;border-radius:16px;background:#FFC94D;color:#1A2B4E;text-decoration:none;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:19px;border:3px solid #1A2B4E;box-shadow:5px 5px 0 #1A2B4E;transition:transform .15s,box-shadow .15s;cursor:pointer}
.lb .btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #1A2B4E;color:#1A2B4E}
.lb .btn:active{transform:translate(4px,4px);box-shadow:1px 1px 0 #1A2B4E}
.lb .btn.navy{background:#1A2B4E;color:#FFFFFF;box-shadow:5px 5px 0 #FF7A5C}
.lb .btn.navy:hover{box-shadow:7px 7px 0 #FF7A5C;color:#FFFFFF}
.lb .nav a.l{font-weight:700;text-decoration:none;font-size:16px;padding:10px 0;color:#1A2B4E;border-bottom:3px solid transparent;transition:border-color .2s}
.lb .nav a.l:hover{border-color:#FF7A5C}
.lb .logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:#1A2B4E}
.lb .logo img{width:52px;height:52px;border-radius:14px;border:3px solid #1A2B4E;display:block;transition:transform .25s}
.lb .logo:hover img{transform:rotate(-6deg)}
.lb .logo span{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:25px;line-height:.86;letter-spacing:-.03em}
.lb .otter{display:block;animation:bob 4.5s ease-in-out infinite;transition:transform .3s}
.lb .otter:hover{animation-play-state:paused;transform:rotate(6deg) scale(1.04)}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(-2deg)}}
.lb .sway{display:block;transform-origin:50% 100%;animation:sway 6s ease-in-out infinite}
@keyframes sway{0%,100%{transform:translateY(4px) rotate(0)}50%{transform:translateY(8px) rotate(-3deg)}}
.lb .clip{display:block;overflow:hidden;line-height:0}
.lb .nod{display:block;transform-origin:50% 100%;animation:nod 7s ease-in-out infinite}
@keyframes nod{0%,78%,100%{transform:translateY(0) rotate(0)}84%{transform:translateY(12px) rotate(-3deg)}90%{transform:translateY(3px) rotate(1deg)}95%{transform:translateY(6px) rotate(0)}}
.lb .wink-box{position:relative;display:block;line-height:0}
.lb .wink{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;transform:scale(0);pointer-events:none}
.lb .wink.loop{animation:wink 7s ease-in-out infinite 2s}
@keyframes wink{0%,88%,100%{transform:scale(0) rotate(0)}92%{transform:scale(1.15) rotate(45deg)}96%{transform:scale(0) rotate(90deg)}}
@keyframes winkonce{0%{transform:scale(0) rotate(0)}40%{transform:scale(1.2) rotate(45deg)}100%{transform:scale(0) rotate(90deg)}}
@keyframes tiltonce{0%,100%{transform:rotate(0)}40%{transform:rotate(-8deg)}70%{transform:rotate(3deg)}}
.lb #tidy:checked ~ .stage .one .wink{animation:winkonce .7s ease-out 1 .9s}
.lb #tidy:checked ~ .stage .one .wink-box{animation:tiltonce .8s ease-in-out 1 .8s}
.lb .mcta{display:none}
.lb #top h1{font-size:clamp(52px,7vw,100px)}
.lb .hdr-end{display:flex;align-items:center;gap:14px}
.lb details.lang{position:relative;border:0;border-radius:0;background:none;box-shadow:none}
.lb details.lang summary{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 10px 0 8px;border:3px solid #1A2B4E;border-radius:999px;background:#FFFFFF;font-size:16px;box-shadow:3px 3px 0 #1A2B4E;transition:transform .15s,box-shadow .15s}
.lb details.lang summary:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #1A2B4E}
.lb details.lang summary::after{content:none}
.lb details.lang summary:focus-visible{outline:3px solid #FF7A5C;outline-offset:3px}
.lb .lang img{width:26px;height:26px;border-radius:50%;border:2px solid #1A2B4E;display:block;object-fit:cover;flex:none;background:#FFFFFF}
.lb .lang .chev{width:18px;height:18px;stroke:#1A2B4E;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.lb details.lang[open] .chev{transform:rotate(180deg)}
.lb .lang-menu{position:absolute;right:0;top:calc(100% + 12px);z-index:60;margin:0;padding:8px;list-style:none;min-width:210px;background:#FFFFFF;border:3px solid #1A2B4E;border-radius:22px;box-shadow:5px 5px 0 #1A2B4E;display:flex;flex-direction:column;gap:2px}
.lb .lang-menu a{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 12px;border-radius:14px;text-decoration:none;font-weight:700;font-size:17px;color:#1A2B4E}
.lb .lang-menu a:hover{background:#FFF6DD}
.lb .lang-menu a[aria-current]{background:#5FD3C4}
.lb .lang-menu img{width:28px;height:28px}
@media (max-width:1100px){.lb .nav .links{display:none!important}}
.lb .wave{animation:slide 9s linear infinite}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-240px)}}
.lb .peek{transition:transform .35s cubic-bezier(.3,1.6,.5,1);animation:peekidle 8s ease-in-out infinite}
@keyframes peekidle{0%,70%,100%{transform:translateY(0)}78%{transform:translateY(-12px)}86%{transform:translateY(-12px)}}
.lb .peek-wrap:hover .peek{animation:none;transform:translateY(-26px) rotate(-4deg)}
.lb .say{position:relative;background:#FFFFFF;border:3px solid #1A2B4E;border-radius:22px;padding:14px 18px;font-weight:600;font-size:17px;line-height:1.35;box-shadow:5px 5px 0 #1A2B4E}
.lb .tile{border:3px solid #1A2B4E;border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:12px;transition:transform .2s,box-shadow .2s;background:#FFFFFF}
.lb .tile:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 #1A2B4E}
.lb .ico{width:40px;height:40px;stroke:#1A2B4E;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lb .stage{position:relative;height:460px;border:3px solid #1A2B4E;border-radius:32px;background:#FFF6DD;overflow:hidden}
.lb .remote{position:absolute;border:3px solid #1A2B4E;border-radius:20px;background:#FFFFFF;padding:16px 18px;font-weight:800;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-size:19px;box-shadow:5px 5px 0 #1A2B4E;transition:transform .6s cubic-bezier(.5,-.4,.3,1.4),opacity .5s;display:flex;flex-direction:column;gap:4px;width:220px}
.lb .remote small{font-family:'Instrument Sans',system-ui,sans-serif;font-weight:500;font-size:14px}
.lb .one{transition:opacity .5s .25s,transform .6s .2s cubic-bezier(.3,1.5,.5,1);opacity:0;transform:scale(.6);pointer-events:none}
.lb #tidy:checked ~ .stage .remote{transform:translate(0,0) rotate(0) scale(.2)!important;opacity:0}
.lb #tidy:checked ~ .stage .one{opacity:1;transform:scale(1)}
.lb .switch{display:inline-flex;align-items:center;gap:14px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:20px;cursor:pointer;min-height:48px}
.lb .track{width:64px;height:36px;border-radius:999px;border:3px solid #1A2B4E;background:#FFFFFF;position:relative;transition:background .2s;flex:none}
.lb .track::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#1A2B4E;transition:left .2s}
.lb #tidy:checked + .switch .track{background:#5FD3C4}
.lb #tidy:checked + .switch .track::after{left:31px}
.lb #tidy:focus-visible + .switch .track{outline:3px solid #FF7A5C;outline-offset:3px}
.lb .chip{border:3px solid #1A2B4E;border-radius:999px;padding:14px 24px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:22px;background:#FFFFFF;transition:transform .2s,background .2s}
.lb .chip:hover{transform:rotate(-3deg);background:#5FD3C4}
.lb .chip.ph{font-family:'Instrument Sans',system-ui,sans-serif;font-weight:600;font-size:15px;color:#4A5672;border-style:dashed}
.lb .phone{width:320px;height:660px;border-radius:52px;background:#1A2B4E;padding:10px;box-shadow:10px 10px 0 #FF7A5C;flex:none}
.lb .scr{width:100%;height:100%;border-radius:42px;background:#FFFFFF;overflow:hidden;display:flex;flex-direction:column}
.lb .scr .in{flex:1;padding:46px 14px 10px;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.lb .sc{display:none;flex:1;flex-direction:column;gap:10px}
.lb #t1:checked ~ .demo .s1,.lb #t2:checked ~ .demo .s2,.lb #t3:checked ~ .demo .s3,.lb #t4:checked ~ .demo .s4{display:flex}
.lb .ab{border:2px solid #1A2B4E;border-radius:16px;padding:12px;background:#FFFFFF}
.lb .tb{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:8px 10px 22px;border-top:3px solid #1A2B4E;background:#FFF6DD}
.lb .tb label{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:700;min-height:48px;justify-content:center;border-radius:14px;cursor:pointer;border:2px solid transparent}
.lb .tb svg{width:22px;height:22px;stroke:#1A2B4E;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.lb #t1:checked ~ .demo label[for=t1],.lb #t2:checked ~ .demo label[for=t2],.lb #t3:checked ~ .demo label[for=t3],.lb #t4:checked ~ .demo label[for=t4]{background:#5FD3C4;border-color:#1A2B4E}
.lb .pick{display:flex;gap:10px;flex-wrap:wrap}
.lb .pick label{border:3px solid #1A2B4E;border-radius:999px;padding:10px 18px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:17px;cursor:pointer;background:#FFFFFF;min-height:48px;display:inline-flex;align-items:center;transition:transform .15s}
.lb .pick label:hover{transform:translateY(-2px)}
.lb #t1:checked ~ .demo .pick label[for=t1],.lb #t2:checked ~ .demo .pick label[for=t2],.lb #t3:checked ~ .demo .pick label[for=t3],.lb #t4:checked ~ .demo .pick label[for=t4]{background:#FFC94D}
.lb #t1:focus-visible ~ .demo .pick label[for=t1],.lb #t2:focus-visible ~ .demo .pick label[for=t2],.lb #t3:focus-visible ~ .demo .pick label[for=t3],.lb #t4:focus-visible ~ .demo .pick label[for=t4]{outline:3px solid #FF7A5C;outline-offset:3px}
.lb .day{display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:start;padding:20px 0;border-top:3px dashed #1A2B4E}
.lb .time{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:28px}
.lb .field{display:flex;flex-direction:column;gap:8px}
.lb .field label,.lb .legend{font-weight:700;font-size:15px}
.lb .field input,.lb .field textarea{font-family:inherit;font-size:17px;padding:14px 16px;border:3px solid #1A2B4E;border-radius:14px;background:#FFFFFF;color:#1A2B4E;min-height:56px}
.lb .field input:focus,.lb .field textarea:focus{outline:none;box-shadow:4px 4px 0 #FF7A5C}
.lb .choice{display:flex;align-items:center;gap:10px;min-height:56px;padding:0 18px;border:3px solid #1A2B4E;border-radius:14px;background:#FFFFFF;font-weight:600;cursor:pointer}
.lb .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lb .btn[disabled]{opacity:.6;cursor:progress}
.lb .choice input{accent-color:#1A2B4E;width:20px;height:20px}
.lb .polaroid{background:#FFFFFF;border:3px solid #1A2B4E;border-radius:10px;padding:12px 12px 40px;box-shadow:6px 6px 0 #1A2B4E;transition:transform .3s;position:relative}
.lb .polaroid:hover{transform:rotate(0) scale(1.03)!important}
.lb .polaroid span.c{position:absolute;left:14px;bottom:10px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:14px}
.lb .ph-img{background:repeating-linear-gradient(45deg,#BDEFE8 0 12px,#A8E7DE 12px 24px);border-radius:4px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#1A2B4E}
.lb .bubble{border:3px solid #1A2B4E;border-radius:22px;padding:16px 20px;font-size:18px;line-height:1.4;max-width:420px}
.lb details{border:3px solid #1A2B4E;border-radius:22px;background:#FFFFFF;transition:box-shadow .2s}
.lb details[open]{box-shadow:6px 6px 0 #1A2B4E}
.lb summary{list-style:none;cursor:pointer;padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:22px;min-height:56px}
.lb summary::-webkit-details-marker{display:none}
.lb summary::after{content:"+";flex:none;width:40px;height:40px;border-radius:50%;border:3px solid #1A2B4E;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;background:#FFC94D;transition:transform .25s}
.lb details[open] summary::after{transform:rotate(45deg)}
.lb details p{padding:0 26px 24px;font-size:17px;line-height:1.55;max-width:760px}
/* Chinees: geen CJK-glyphs in de webfonts, dus systeemfonts voor de tekens;
   Latijnse namen blijven in de huisletter. Geen negatieve spatiëring, iets
   ruimere regelafstand. */
:lang(zh) .lb{font-family:'Instrument Sans','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',system-ui,sans-serif}
:lang(zh) .lb h1,:lang(zh) .lb h2,:lang(zh) .lb h3,:lang(zh) .lb .disp,:lang(zh) .lb .time,:lang(zh) .lb .btn,:lang(zh) .lb .chip,:lang(zh) .lb .switch,:lang(zh) .lb .remote,:lang(zh) .lb summary,:lang(zh) .lb .pick label,:lang(zh) .lb .logo span{font-family:'Bricolage Grotesque','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',system-ui,sans-serif;letter-spacing:0}
:lang(zh) .lb h1{line-height:1.08}
:lang(zh) .lb h2{line-height:1.12}
:lang(zh) .lb .lead,:lang(zh) .lb .body{line-height:1.7}
@media (max-width:760px){
.lb .wrap{padding:0 20px}
.lb .nav .links{display:none!important}
.lb .nav .btn{display:none!important}
.lb .nav .wrap{min-height:72px!important}
.lb .logo img{width:44px;height:44px;border-radius:12px}
.lb .logo span{font-size:22px}
.lb h2{font-size:31px;hyphens:auto;overflow-wrap:anywhere}
.lb .hero-text{padding-bottom:24px!important;gap:22px!important}
.lb section{padding-top:72px!important;padding-bottom:72px!important}
.lb #top{padding-top:32px!important;padding-bottom:0!important}
.lb .flush{margin-bottom:-72px!important}
.lb .col-contents{display:contents!important}
.lb .last{order:3}
.lb .split{gap:22px!important}
.lb .split .last{margin-top:24px!important}
.lb .split .say{margin-bottom:96px!important;font-size:15px;padding:10px 14px;min-width:130px}
.lb .split .nod{width:200px!important}
.lb .mcta{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:50;justify-content:center;min-height:56px}
.page{scroll-padding-top:72px}
.lb footer{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}
.lb .lead{font-size:18px}
.lb .stage{height:auto!important;display:flex;flex-wrap:wrap;gap:14px;padding:20px;align-content:flex-start;min-height:420px}
.lb .remote{position:static!important;width:calc(50% - 7px);font-size:16px;padding:12px}
.lb .one{position:absolute!important}
.lb .hero-otter{max-width:340px!important;margin:0 auto}
.lb .hero-art{flex-direction:column;align-items:center}
.lb .hero-say{position:relative!important;left:0!important;top:0!important;align-self:flex-start;margin:8px 0 16px;font-size:15px;order:-1}
.lb .devs p{font-size:14px!important;padding:12px 2px!important;letter-spacing:-.02em}
.lb .day{grid-template-columns:72px 1fr}
.lb .time{font-size:22px}
.lb .phone{transform:scale(.92);transform-origin:top center}
}
@media (max-width:359px){.lb .devs p{font-size:12.5px!important}}
@media (prefers-reduced-motion:reduce){.page{scroll-behavior:auto}.lb *{animation:none!important;transition:none!important}}
