*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#17252a;background:#f8faf8;font-family:"Noto Sans JP",sans-serif;line-height:1.8;overflow-x:hidden}a{color:inherit;text-decoration:none}.header{position:fixed;z-index:20;top:0;left:0;width:100%;height:82px;padding:0 clamp(18px,5vw,82px);display:flex;align-items:center;gap:28px;transition:.35s}.header.scrolled{height:66px;background:rgba(248,250,248,.92);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(20,50,40,.08)}.logo{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:900;white-space:nowrap}.logo i{font-style:normal}.logo span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#ef6a3a;color:#fff}.nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:13px;font-weight:700}.nav a:hover{color:#ef6a3a}.nav-contact{padding:9px 16px;border:1px solid #173e37;border-radius:999px}.header-actions{display:flex!important;align-items:center;gap:12px;flex:none}.language-switcher{display:flex!important;visibility:visible!important;opacity:1!important;position:static!important;padding:4px;background:rgba(255,255,255,.9);border:1px solid #dce4e0;border-radius:999px;box-shadow:0 5px 18px rgba(23,62,55,.08)}.language-switcher button{display:block!important;min-width:38px;border:0;background:transparent;color:#52635e;border-radius:999px;padding:8px 9px;font:900 11px inherit;cursor:pointer}.language-switcher button.active{background:#167d68;color:#fff}.menu-button{display:none;border:0;background:none;padding:7px}.hero{min-height:100vh;padding:145px clamp(24px,8vw,130px) 90px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;position:relative;background:linear-gradient(135deg,#f2f7f0,#fff8f2);overflow:hidden}.hero-content{z-index:2}.eyebrow{margin:0 0 13px;color:#ef6a3a;font-size:12px;font-weight:900;letter-spacing:.22em}.hero h1{font-size:clamp(44px,6vw,82px);line-height:1.15;letter-spacing:-.05em;margin:0}.hero h1 em{color:#167d68;font-style:normal}.hero-copy{max-width:650px;margin:28px 0 34px;font-size:clamp(16px,1.5vw,20px);color:#52635e}.hero-actions,.contact-actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:16px 24px;border-radius:14px;font-weight:800;transition:.25s}.button:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(22,125,104,.2)}.primary{background:#167d68;color:#fff}.secondary{border:1px solid #cdd8d4;background:rgba(255,255,255,.6)}.trust{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;font-size:13px;color:#56716a}.hero-visual{position:relative;height:500px}.main-card{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%) rotate(3deg);width:315px;height:365px;padding:48px 30px;border-radius:35px;background:#173e37;color:#fff;box-shadow:0 35px 80px rgba(23,62,55,.25);display:flex;flex-direction:column;justify-content:center}.tool-icon{font-size:58px;color:#ffbe69}.main-card strong{font-size:29px;line-height:1.4}.main-card small{margin-top:20px;color:#b7cdc6}.floating-card{position:absolute;padding:13px 18px;border-radius:14px;background:#ffffffe6;box-shadow:0 14px 35px rgba(23,62,55,.12);font-weight:700;animation:float 5s ease-in-out infinite}.card-a{top:18%;left:0}.card-b{right:0;top:40%;animation-delay:-1.5s}.card-c{bottom:10%;left:5%;animation-delay:-3s}.orb{position:absolute;border-radius:50%}.orb-one{width:450px;height:450px;right:-130px;top:-100px;background:#ffbe6933}.orb-two{width:220px;height:220px;left:45%;bottom:-100px;background:#167d681f}.section{padding:105px clamp(24px,8vw,130px)}.section-heading{text-align:center;max-width:750px;margin:0 auto 55px}.section-heading h2,.about-copy h2{font-size:clamp(30px,4vw,49px);line-height:1.3;margin:0 0 12px}.section-heading>p:last-child,.about-copy>p:not(.eyebrow){color:#687772}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1200px;margin:auto}.service-card{min-height:260px;padding:30px;border-radius:22px;background:#fff;border:1px solid #e7ece9;box-shadow:0 8px 28px #1e3c320d;transition:.3s}.service-card:hover{transform:translateY(-7px);border-color:#a7d6cc}.service-icon{display:grid;place-items:center;width:56px;height:56px;background:#eef7f3;border-radius:16px;font-size:27px}.service-card h3{font-size:20px;margin:24px 0 9px}.service-card p,.strength p,.flow-list p{color:#667570;margin:0}.accent-card{background:#173e37;color:#fff}.accent-card p{color:#bed0ca}.strengths{background:#173e37;color:#fff}.strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;max-width:1100px;margin:auto}.strength span{font-size:58px;font-weight:900;color:#ef6a3a}.strength h3{font-size:23px;margin:0 0 10px}.strength p{color:#b8cac4}.about{background:#edf5f1}.about-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;max-width:1120px;margin:auto;align-items:center}.registration-badge{display:flex;align-items:center;gap:15px;margin-top:28px;padding:18px 20px;background:#fff;border-radius:18px;box-shadow:0 14px 35px #173e3714}.registration-badge>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#167d68;color:#fff;font-weight:900}.registration-badge div{display:flex;flex-direction:column}.registration-badge small{color:#687772}.company-details{margin:0;padding:12px 34px;background:#173e37;color:#fff;border-radius:28px;box-shadow:0 25px 60px #173e372e}.company-details div{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:19px 0;border-bottom:1px solid #ffffff21}.company-details div:last-child{border:0}.company-details dt{color:#a9c2ba;font-size:13px}.company-details dd{margin:0;font-weight:700}.flow-list{list-style:none;padding:0;max-width:820px;margin:auto}.flow-list li{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:29px 0;border-bottom:1px solid #dce4e0}.flow-list b{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:#167d68;color:#fff}.flow-list h3{margin:0 0 7px}.contact{padding:105px 24px;background:#ef6a3a;color:#fff;text-align:center}.contact-inner{max-width:850px;margin:auto}.contact .eyebrow{color:#ffe0ce}.contact h2{font-size:clamp(34px,5vw,62px);line-height:1.25;margin:0 0 18px}.contact-actions{justify-content:center;margin-top:32px}.light{background:#fff;color:#173e37}.phone-button{border:1px solid #ffffffb3;color:#fff}.contact-facts{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:25px;font-weight:700}.contact-facts a{text-decoration:underline;text-underline-offset:4px}footer{padding:55px clamp(24px,8vw,130px);display:grid;grid-template-columns:1fr auto;gap:30px;align-items:start}footer p,footer address{color:#687772}footer address{font-style:normal}footer address a{text-decoration:underline}footer>small{grid-column:1/-1;padding-top:25px;border-top:1px solid #dce4e0;color:#89948f}.reveal{opacity:0;transform:translateY(32px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:none}.cursor-glow{position:fixed;z-index:0;width:300px;height:300px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#167d6814,transparent 65%);transform:translate(-50%,-50%)}@keyframes float{50%{transform:translateY(-13px)}}
@media(max-width:1050px){.nav{position:fixed;inset:72px 18px auto;background:#fff;padding:24px;border-radius:18px;display:none;flex-direction:column;box-shadow:0 20px 50px #14322826}.nav.open{display:flex}.menu-button{display:flex;flex-direction:column;gap:5px}.menu-button span{width:24px;height:2px;background:#173e37}.hero{grid-template-columns:1fr}.hero-visual{height:430px}.service-grid{grid-template-columns:repeat(2,1fr)}.about-layout{grid-template-columns:1fr}.header-actions{margin-left:auto}}
@media(max-width:600px){.header{padding:0 12px;gap:8px}.logo i{display:none}.language-switcher{padding:3px}.language-switcher button{min-width:32px;padding:7px 5px;font-size:10px}.hero{padding:125px 22px 70px}.hero h1{font-size:42px}.hero-visual{height:370px}.main-card{width:245px;height:285px}.main-card strong{font-size:24px}.floating-card{font-size:12px}.service-grid{grid-template-columns:1fr}.section{padding:78px 22px}.strength-grid{grid-template-columns:1fr;gap:28px}.company-details{padding:10px 22px}.company-details div{grid-template-columns:1fr;gap:2px}.trust{flex-direction:column;gap:8px}footer{grid-template-columns:1fr}.contact-facts{flex-direction:column;gap:3px}.contact-facts>span:nth-of-type(odd){display:none}.cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Owner introduction */
.owner{background:#fff}.owner-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:70px;max-width:1120px;margin:auto;align-items:center}.owner-photo-wrap{position:relative;margin:0}.owner-photo-wrap:before{content:"";position:absolute;inset:-18px 22px 22px -18px;border-radius:30px;background:#ffbe69;z-index:0}.owner-photo{position:relative;z-index:1;display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:58% center;border-radius:26px;box-shadow:0 25px 60px rgba(23,62,55,.2)}.owner-copy h2{font-size:clamp(30px,4vw,49px);line-height:1.3;margin:0 0 20px}.owner-copy>p:not(.eyebrow){color:#5e706a}.owner-signature{display:flex;flex-direction:column;margin-top:28px;padding-left:18px;border-left:4px solid #ef6a3a}.owner-signature strong{font-size:18px}.owner-signature span{color:#687772;font-size:14px}
@media(max-width:900px){.owner-layout{grid-template-columns:1fr;gap:42px}.owner-photo-wrap{max-width:560px;margin:auto}.owner-photo{aspect-ratio:5/4;object-position:58% 32%}}
@media(max-width:600px){.owner-photo-wrap:before{inset:-10px 12px 12px -10px;border-radius:22px}.owner-photo{border-radius:20px;aspect-ratio:4/5;object-position:60% center}}

/* Five always-visible language buttons */
@media(max-width:600px){.header{padding-left:8px;padding-right:8px}.header-actions{gap:5px}.language-switcher{padding:2px}.language-switcher button{min-width:27px;padding:7px 3px;font-size:9px}.menu-button{padding:5px}.menu-button span{width:20px}}

/* Nieuwegein-only service area */
.local-focus{padding:72px clamp(24px,8vw,130px);background:linear-gradient(135deg,#167d68,#173e37);color:#fff}.local-focus-inner{display:grid;grid-template-columns:90px 1fr;gap:28px;max-width:1050px;margin:auto;align-items:center}.local-focus-mark{display:grid;place-items:center;width:82px;height:82px;border:2px solid rgba(255,255,255,.45);border-radius:50%;font-size:44px;color:#ffbe69}.local-focus .eyebrow{color:#ffcf91}.local-focus h2{font-size:clamp(30px,4vw,49px);line-height:1.25;margin:0 0 14px}.local-focus p:not(.eyebrow){max-width:850px;margin:0;color:#d7e7e2}.local-benefits{display:flex;gap:22px;flex-wrap:wrap;margin-top:24px;font-weight:800}.local-benefits span{padding:8px 13px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08)}
@media(max-width:600px){.local-focus{padding:65px 22px}.local-focus-inner{grid-template-columns:1fr}.local-focus-mark{width:65px;height:65px;font-size:34px}.local-benefits{flex-direction:column;align-items:flex-start;gap:8px}}


/* Cross-device hero stability fix */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}
.header,.hero,.hero-content,.hero-visual{min-width:0}
.hero{isolation:isolate}
.hero-content{position:relative;z-index:3}
.hero-visual{z-index:1;overflow:visible}
.orb{pointer-events:none;z-index:-1}

@media(max-width:1050px){
  .hero{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:38px;min-height:auto;padding-top:118px}
  .hero-content{order:1;width:100%;max-width:760px}
  .hero-visual{order:2;width:100%;height:390px;min-height:390px;flex:none}
  .main-card{max-width:315px;width:calc(100% - 70px)}
}

@media(max-width:600px){
  .header{height:76px;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));background:rgba(248,250,248,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .header.scrolled{height:64px}
  .hero{display:block;min-height:0;padding:108px 20px 64px;overflow:hidden}
  .hero-content{width:100%;max-width:none}
  .hero h1{font-size:clamp(38px,11vw,52px);line-height:1.12;letter-spacing:-.045em;overflow-wrap:anywhere}
  .hero-copy{margin:22px 0 28px;font-size:16px;line-height:1.75}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:12px}
  .hero-actions .button{width:100%;min-height:54px;padding:14px 18px}
  .trust{display:grid;grid-template-columns:1fr;gap:7px;margin-top:24px}
  .hero-visual{position:relative;width:100%;height:300px;min-height:300px;margin-top:46px;overflow:visible}
  .main-card{position:absolute;top:50%;left:50%;right:auto;bottom:auto;inset:auto;transform:translate(-50%,-50%) rotate(2deg);width:min(260px,78vw);height:auto;min-height:260px;padding:34px 24px;border-radius:26px}
  .main-card strong{font-size:24px;line-height:1.35}
  .main-card small{font-size:12px;line-height:1.6}
  .tool-icon{font-size:44px}
  .floating-card{display:none}
  .orb-one{width:220px;height:220px;right:-85px;top:-45px}
  .orb-two{width:135px;height:135px;left:-55px;bottom:-30px}
  .language-switcher{max-width:calc(100vw - 86px);overflow:hidden}
  .language-switcher button{flex:1 1 auto;min-width:0!important;width:29px;padding:7px 2px!important;font-size:9px!important}
  .menu-button{flex:0 0 auto}
}

@media(max-width:360px){
  .hero{padding-left:16px;padding-right:16px}
  .hero h1{font-size:36px}
  .language-switcher button{width:26px;font-size:8px!important}
  .hero-visual{height:280px;min-height:280px}
  .main-card{width:min(240px,82vw);min-height:245px}
}

@media(orientation:landscape) and (max-height:520px) and (max-width:950px){
  .hero{padding-top:96px}
  .hero-visual{height:280px;min-height:280px}
}
