/*
Theme Name: BS Lab
Author: BS Lab
Description: Het BS Lab-ontwerp met bewerkbare WordPress-blokken. Inclusief startpagina, eigen logo en mobiele navigatie.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: bs-lab
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(assets/manrope-latin-wght-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;src:url(assets/dm-sans-latin-wght-normal.woff2) format("woff2")}
:root{--navy:#10233c;--blue:#225dec;--ink:#172638;--muted:#74808e;--line:#dce2e8;--paper:#f6f7f9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #6692ff;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,'DM Sans',Arial,sans-serif}header,.section,.sectors,footer{padding-left:6.2%;padding-right:6.2%}.header{height:96px;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{width:110px;display:block}.logo-crop{position:relative;display:block;width:102px;height:76px;overflow:hidden}.logo-crop img{position:absolute;width:200px;max-width:none;left:-51px;top:-27px}.header nav{display:flex;gap:30px;font-size:13px;font-weight:550}.header nav a:hover,.dark-link:hover{color:var(--blue)}.nav-contact{font-size:13px;font-weight:600;border-bottom:1px solid var(--ink);padding:10px 0}.nav-contact span{margin-left:23px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.hero{background:var(--navy);color:white;padding:0 6.2%;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;min-height:665px;gap:30px;align-items:center}.hero-copy{padding:65px 0}.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.8px;font-weight:600;line-height:1.6}.tiny-square{display:inline-block;flex-shrink:0;width:6px;height:6px;background:#6f9aff}.hero .eyebrow{color:#b4c2d6;font-size:9px}.hero h1{font-size:clamp(48px,4.9vw,76px);font-weight:500;line-height:1.11;letter-spacing:-3.4px;margin:28px 0 25px}.hero h1 em{font-style:normal;color:#91b0ff}.hero-copy>p{color:#b7c3d3;font-size:16px;line-height:1.85;max-width:420px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:52px;padding:16px 22px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button.light{color:var(--navy);background:#fff}.text-link{display:inline-flex;align-items:center;gap:17px;font-size:12px;font-weight:500;line-height:2}.text-link:hover span{transform:translate(2px,-2px)}.text-link span{transition:transform .2s}.hero-art{position:relative;height:490px;background:radial-gradient(ellipse at 50% 50%,#214b7d55,transparent 65%)}.art-grid{position:absolute;inset:15px;background-image:linear-gradient(#7195bf12 1px,transparent 1px),linear-gradient(90deg,#7195bf12 1px,transparent 1px);background-size:45px 45px;mask-image:radial-gradient(ellipse,#000 25%,transparent 72%)}.orbit{position:absolute;width:340px;height:340px;border:1px solid #7c9dc449;top:70px;left:50%;border-radius:50%;transform:translateX(-50%) rotate(-30deg)}.orbit-one:before,.orbit-two:before{content:'';position:absolute;width:9px;height:9px;border-radius:50%;background:#83aaff;left:25px;top:65px;box-shadow:0 0 20px #83aaff80}.orbit-two{width:250px;height:250px;top:115px;transform:translateX(-50%) rotate(145deg);border-color:#7c9dc47a}.orbit-three{width:430px;height:430px;top:25px;border-style:dashed;border-color:#7195bf24}.axis{height:1px;background:linear-gradient(90deg,transparent,#7598c250,transparent);width:100%;position:absolute;top:240px;transform:rotate(-35deg)}.axis-two{transform:rotate(55deg)}.core{position:absolute;top:50%;left:50%;width:140px;height:140px;transform:translate(-50%,-50%);background:linear-gradient(145deg,#2b5d92,#142d4b);border:1px solid #83abdb88;box-shadow:0 0 70px #306fe531;display:flex;flex-direction:column;justify-content:center;align-items:center}.core span{font:600 64px/1 Manrope,Arial;letter-spacing:-7px;padding-right:7px;color:#d5e3f8}.core small{font-size:15px;letter-spacing:9px;margin:10px 0 0 9px;color:#9ab8de}.art-tag{position:absolute;font-size:8px;letter-spacing:1.3px;color:#b3c6e2;border:1px solid #5a7faa66;background:#142c49;padding:13px 15px}.tag-top{top:65px;right:8px}.tag-top i{display:inline-block;width:5px;height:5px;background:#7ba6ff;margin-right:9px}.tag-bottom{bottom:63px;left:0}.tag-bottom span{margin-left:20px;color:#91b0ff}.coordinate{font-size:8px;color:#6f8bad;position:absolute;right:0;bottom:5px;letter-spacing:1px}.hero-bottom{border-top:1px solid #ffffff20;display:flex;justify-content:space-between;padding:24px 0;color:#9cacc0;font-size:8px;letter-spacing:1.4px}.hero-bottom a span{margin-left:22px;color:white}.sectors{display:flex;align-items:center;gap:55px;padding-top:38px;padding-bottom:38px;border-bottom:1px solid var(--line);background:#f8f9fa}.sectors>p{font-size:9px;letter-spacing:1.5px;max-width:115px;line-height:1.8;color:var(--muted)}.sectors>.wp-block-group{display:flex;flex:1;justify-content:space-between;gap:20px;font:600 20px Manrope,Arial;letter-spacing:-.5px;color:#5a6776}.section{padding-top:100px;padding-bottom:100px}.section-intro{display:grid;grid-template-columns:1fr 2.1fr;gap:40px;margin-bottom:48px}.dark{color:#63738a}.dark .tiny-square{background:var(--blue)}h2{font-size:clamp(32px,3.2vw,46px);font-weight:500;line-height:1.23;letter-spacing:-1.7px}.section-intro p{font-size:15px;line-height:1.8;color:#6b7888;max-width:495px;margin-top:20px}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.expertise-card{padding:35px 38px;background:#f2f4f7;display:flex;flex-direction:column;min-height:365px}.card-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#788696;margin-bottom:35px}.card-top svg{width:55px;height:55px;color:#4772b3}.expertise-card h3{font-size:28px;font-weight:500;letter-spacing:-1px;margin-bottom:18px}.expertise-card p{font-size:14px;color:#637183;line-height:1.85;max-width:430px}.expertise-card.blue{background:#e9eef8}.role-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.role-tags p{font-size:10px;border:1px solid #bac9df;padding:7px 10px;color:#48617e}.card-footer{margin-top:auto;padding-top:30px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.3px;font-weight:600;color:#536a85}.card-footer span{font-size:18px;line-height:10px}.approach{background:var(--paper)}.approach-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:end}.approach-heading h2{margin-top:25px}.muted{color:#8090a3}.approach-heading>p{font-size:16px;color:#687789;line-height:1.8;max-width:390px;padding-bottom:7px}.steps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:42px;margin-top:65px}.steps article{border-top:1px solid #bfcbd9;padding-top:25px}.steps article>.inline-text{font-size:9px;font-weight:600;letter-spacing:1.4px;color:#5277ac}.steps h3{font-size:19px;font-weight:550;letter-spacing:-.5px;margin:24px 0 15px}.steps p{font-size:13px;line-height:1.85;color:#6d7a8a}.constructions .section-intro{margin-bottom:45px}.construction-row{display:grid;grid-template-columns:.2fr 1fr 1.6fr 40px;gap:25px;align-items:start;border-top:1px solid var(--line);padding:34px 0}.construction-row:last-child{border-bottom:1px solid var(--line)}.number{font-size:11px;color:#73859d;padding-top:6px}.construction-row h3{font-size:22px;font-weight:500;letter-spacing:-.6px}.construction-row p{font-size:13px;color:#6b7888;line-height:1.85;max-width:450px}.construction-row a{font-size:22px;border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;transition:background .2s}.construction-row a:hover{background:#e9eef8}.about{display:grid;grid-template-columns:1fr 1.3fr;margin:0 6.2%;background:var(--paper)}.about-visual{min-height:460px;position:relative;overflow:hidden;background:linear-gradient(135deg,#1c3654,#10233c);padding:40px;color:#fff}.about-visual>.eyebrow{font-size:8px;color:#a4b9d4}.large-initials{font:500 175px/1 Manrope,Arial;letter-spacing:-15px;margin:40px 0 25px;color:#7a9fc6}.large-initials span{font-size:80px;color:#a2bdde;position:absolute;right:45px;top:100px}.about-signature{display:flex;flex-direction:column;gap:7px}.about-signature strong{font-size:16px;font-weight:500}.about-signature>p:last-child{font-size:11px;color:#93aac6}.corner-line{position:absolute;width:140px;height:140px;bottom:-20px;right:-20px;border:1px solid #90b2d73a;transform:rotate(45deg)}.about-copy{padding:50px 55px}.about-copy h2{font-size:32px;margin:25px 0}.about-copy p{font-size:14px;line-height:1.9;color:#657486;margin-bottom:16px}.about-copy .text-link{margin-top:10px}.professionals{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.professionals h2{margin-top:25px}.professionals p{font-size:14px;line-height:1.85;color:#6b7888;margin-bottom:15px}.button.navy{background:var(--navy);color:#fff;margin-top:14px}.contact{background:var(--navy);color:#fff;padding:65px 6.2% 25px}.contact>.eyebrow{color:#9bb1ce}.contact-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:65px;margin:30px 0 65px}.contact h2{font-size:clamp(32px,3.5vw,49px);font-weight:500}.contact h2 span{color:#85a8ff}.contact-grid p{font-size:14px;line-height:1.85;color:#b4c1d2;padding-top:8px;max-width:340px}.contact-pending{font-size:11px;line-height:1.8;color:#9caec7;border-top:1px solid #ffffff25;padding-top:18px;margin-top:25px;display:flex;gap:10px;align-items:center}.contact-bottom{border-top:1px solid #ffffff25;padding-top:25px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.2px;color:#93a8c2}footer{display:flex;align-items:center;gap:30px;min-height:110px;font-size:10px;color:#7a8797}.footer-brand{font:800 22px Manrope,Arial;letter-spacing:-1px;color:#193653}.footer-brand span{font:400 8px Arial;vertical-align:top;margin-left:3px}footer p{flex:1}.back-top{color:#394f6b}.menu-toggle{border:0;background:transparent;padding:12px}.menu-toggle span{display:block;width:22px;height:1px;background:var(--ink);margin:5px 0}@media(min-width:1500px){body{max-width:1800px;margin:auto}.hero-grid{min-height:740px}}@media(max-width:1050px){.header nav{gap:18px;font-size:11px}.hero-actions{gap:16px}.hero h1{font-size:58px}.hero-art{transform:scale(.9);transform-origin:center}.about-copy{padding:40px 35px}.about-copy h2{font-size:28px}.large-initials{font-size:140px}.large-initials span{font-size:60px;right:25px}.approach-heading,.professionals{gap:40px}.contact-grid{gap:35px}}@media(max-width:760px){html{scroll-padding-top:20px}.header{height:80px;padding-left:6%;padding-right:6%}.header nav,.nav-contact{display:none}.menu-toggle{display:block}.mobile-nav{position:absolute;z-index:30;top:80px;left:0;right:0;background:white;box-shadow:0 12px 20px #10233c12;padding:20px 6%;display:flex;flex-direction:column;gap:0}.mobile-nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}.hero{padding:0 6%}.hero-grid{grid-template-columns:1fr;gap:0;min-height:0}.hero-copy{padding:48px 0 0}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}.hero h1{font-size:clamp(44px,9.5vw,64px);letter-spacing:-2.4px;margin-top:25px}.hero-copy>p{font-size:14px;max-width:440px}.hero-actions{gap:22px;margin-top:27px;align-items:flex-start}.button{font-size:11px;padding:15px 18px;min-height:49px}.hero-actions .text-link{font-size:11px;padding:11px 0}.hero-art{height:370px;max-width:440px;width:100%;margin:8px auto 0;transform:scale(.82);margin-top:-15px;margin-bottom:-30px;transform-origin:center}.orbit-one{top:15px}.orbit-two{top:60px}.orbit-three{top:-30px}.axis{top:185px}.tag-top{top:5px;right:-10px}.tag-bottom{bottom:0}.hero-bottom{font-size:7px;letter-spacing:.8px;gap:20px;line-height:1.8;padding:20px 0}.hero-bottom>.inline-text{max-width:180px}.hero-bottom a{white-space:nowrap}.hero-bottom a span{margin-left:10px}.sectors{padding-top:27px;padding-bottom:27px;display:block}.sectors>p{max-width:none;font-size:8px}.sectors>.wp-block-group{margin-top:17px;gap:15px;font-size:15px;flex-wrap:wrap}.section{padding-top:65px;padding-bottom:65px}.section-intro{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.eyebrow{font-size:8px;letter-spacing:1.5px}h2{font-size:32px;letter-spacing:-1.3px}.section-intro p{font-size:14px;margin-top:17px}.expertise-grid{grid-template-columns:1fr;gap:15px}.expertise-card{padding:28px;min-height:320px}.card-top{margin-bottom:23px}.card-top svg{width:47px;height:47px}.expertise-card h3{font-size:25px}.expertise-card p{font-size:13px}.approach-heading{grid-template-columns:1fr;gap:23px}.approach-heading>p{font-size:14px}.approach-heading h2{margin-top:20px}.steps{grid-template-columns:1fr;gap:28px;margin-top:30px}.steps article{padding-top:20px}.steps h3{margin:15px 0 10px}.steps p{max-width:450px}.construction-row{grid-template-columns:25px 1fr 35px;gap:12px;padding:27px 0}.construction-row h3{font-size:21px}.construction-row p{grid-column:2;grid-row:2;font-size:13px}.construction-row a{grid-column:3;grid-row:1;width:35px;height:35px;font-size:20px}.about{grid-template-columns:1fr;margin:0 6.2%}.about-visual{min-height:320px;padding:30px}.large-initials{font-size:125px;margin:25px 0 20px}.large-initials span{top:75px;right:50px;font-size:65px}.about-copy{padding:32px 26px}.about-copy h2{font-size:27px;margin:20px 0}.about-copy p{font-size:13px}.professionals{grid-template-columns:1fr;gap:25px}.professionals h2{margin-top:20px}.professionals p{font-size:13px}.contact{padding-top:45px}.contact-grid{grid-template-columns:1fr;gap:23px;margin:25px 0 40px}.contact h2{font-size:34px}.contact-grid p{font-size:13px;max-width:400px}.contact-bottom{font-size:7px;line-height:1.8;gap:25px}footer{flex-wrap:wrap;gap:20px;padding-top:30px;padding-bottom:30px}footer p{flex-basis:60%;font-size:9px}.footer-brand{font-size:20px}.back-top{margin-left:auto}footer>span{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.arrow-icon{display:inline-block;width:14px;height:14px;flex-shrink:0;vertical-align:middle}.large-initials .arrow-icon{width:65px;height:65px}.construction-row .arrow-icon{width:17px;height:17px}.art-tag .arrow-icon{width:10px;height:10px}

/* WordPress integration: retain the original BS Lab composition. */
:where(.bslab-home) :where(.is-layout-flow)>*{margin-block-start:0;margin-block-end:0}
.bslab-home .link-wrap{display:contents}
.bslab-home .eyebrow:before{content:"";display:inline-block;flex-shrink:0;width:6px;height:6px;background:#6f9aff}
.bslab-home .eyebrow.dark:before{background:#225dec}
.bslab-home .hero-art .eyebrow:before{display:none}
.bslab-home .hero-copy>p{margin-top:0}
.bslab-home .hero-copy>.eyebrow{max-width:none;line-height:1.6;font-size:9px}
.bslab-home .section-intro p:not(.eyebrow){margin-top:20px}
.bslab-home .section-intro .eyebrow{margin:0}
.bslab-home .expertise-card h3{margin-bottom:18px}
.bslab-home .role-tags p{margin:0}
.bslab-home .card-footer{margin-top:auto;max-width:none}
.bslab-home .about-copy p:not(.eyebrow):not(.link-wrap){margin-bottom:16px}
.bslab-home .professionals p:not(.eyebrow):not(.link-wrap){margin-bottom:15px}
.bslab-home .about-signature p{margin:0}
.bslab-home .sectors>.wp-block-group p{margin:0}
.bslab-home .contact-pending{margin-top:25px}
.header .primary-menu{list-style:none;display:flex;gap:30px;padding:0;margin:0;align-items:center}
.header .mobile-contact{display:none}
.header .custom-logo-link{display:flex;align-items:center}
.header .custom-logo{width:auto;max-width:110px;max-height:74px;object-fit:contain}
.has-arrow:after{content:"";display:inline-block;width:10px;height:10px;background:linear-gradient(currentColor,currentColor) right top/100% 1px no-repeat,linear-gradient(currentColor,currentColor) right top/1px 100% no-repeat,linear-gradient(135deg,transparent 46%,currentColor 47%,currentColor 53%,transparent 54%) center/100% 100% no-repeat;flex-shrink:0;margin-left:15px}
.button.has-arrow:after{margin-left:0}
.construction-row a.has-arrow:after{margin:0}
.nav-contact.has-arrow{display:inline-flex;align-items:center;gap:16px}
.bslab-contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin-top:25px}
.contact-mail{font-size:clamp(16px,1.5vw,23px);border-bottom:1px solid #7694bd80;padding-bottom:12px;overflow-wrap:anywhere;max-width:100%}
.bslab-contact-links a:hover{color:#91b0ff}
.bslab-contact-links>a:not(.contact-mail){font-size:13px;color:#b4c1d2}
.content-page{max-width:1100px;margin:0 auto;min-height:65vh;padding:70px 6%}
.content-page h1{font-size:clamp(32px,4vw,54px);line-height:1.2;margin-bottom:30px}
.content-page p{line-height:1.85;margin-bottom:20px}
.content-page h2,.content-page h3{margin-top:35px;margin-bottom:20px}
.content-page article+article{margin-top:60px}
.content-page ul,.content-page ol{padding-left:25px;line-height:1.85}
.content-page a:not(.button){text-decoration:underline}
.content-page img{max-width:100%;height:auto}
.screen-reader-text{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}
.skip-link:focus{clip-path:none;width:auto;height:auto;left:15px;top:15px;z-index:99999;background:#fff;color:#10233c;padding:14px}
@media(max-width:1050px){.header .primary-menu{gap:18px}}
@media(max-width:760px){
 .header .nav-contact{display:none}
 .header .primary-nav.is-open{display:block;position:absolute;top:80px;left:0;right:0;padding:14px 6%;background:#fff;box-shadow:0 12px 20px #10233c12}
 .header .primary-menu{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .header .primary-menu a{display:block;padding:14px 0;border-bottom:1px solid #dce2e8;font-size:15px}
 .header .mobile-contact{display:block}
 .bslab-home .hero-copy>.eyebrow{font-size:8px}
 .bslab-home .hero-copy>p:not(.eyebrow){font-size:14px}
 .bslab-home .section-intro p:not(.eyebrow){font-size:14px;margin-top:17px}
 .bslab-home .about-copy p:not(.eyebrow):not(.link-wrap){font-size:13px}
 .bslab-home .professionals p:not(.eyebrow):not(.link-wrap){font-size:13px}
}

.bslab-home .eyebrow{font-size:10px;line-height:1.6;margin:0}
.bslab-home .hero-copy>.eyebrow{font-size:9px}
.bslab-home .card-footer{font-size:8px;color:#536a85;line-height:1.6}
@media(max-width:760px){.bslab-home .eyebrow,.bslab-home .hero-copy>.eyebrow{font-size:8px}}

.logo-crop img{height:auto}

.core>span,.core>small{position:relative;z-index:1}
