@font-face{font-family:Comfortaa;src:url('fonts/Comfortaa.ttf') format('truetype');font-weight:300 700;font-display:swap}
:root{--brand:#009681;--gold:#d29328;--ink:#173d35;--muted:#5b7067;--cream:#f6f5ef;--pale:#eef5f0;--line:#d7e2db}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:white;font:15px/1.85 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:6px}img{display:block;width:100%;height:auto}figure{margin:0}h1,h2,h3,.project-name{font-family:Comfortaa,Arial,sans-serif;font-weight:400;line-height:1.3}h2{font-size:clamp(32px,3.8vw,51px);letter-spacing:-1.8px;margin:0}h3{margin:0}p{margin:0 0 18px}[hidden]{display:none!important}.wrap{width:calc(100% - 104px);max-width:1176px;margin:0 auto}.eyebrow{font-size:9px;letter-spacing:2.8px;font-weight:700;line-height:1.5;margin:0 0 27px;color:#417464}.header{position:fixed;top:0;left:0;right:0;z-index:20;color:white;transition:background .25s,color .25s,box-shadow .25s}.nav{min-height:112px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:inline-flex;flex-shrink:0;padding:8px 17px;background:#fffffff5;border-radius:2px}.logo-window{display:block;position:relative;width:128px;height:56px;overflow:hidden}.logo-window img{position:absolute;width:158px;max-width:none;left:-17px;top:-20px;height:auto}nav{display:flex;align-items:center;gap:30px;font-size:12px}nav a{padding:9px 0}nav a:hover{opacity:.75}.nav-contact{padding:9px 20px;border:1px solid #ffffff88;border-radius:30px;display:flex;gap:25px}.menu-toggle{display:none}.header.is-scrolled{background:#fffffff5;color:var(--ink);box-shadow:0 1px 0 #173d3510}.header.is-scrolled .nav{min-height:86px}.header.is-scrolled .brand{background:none;padding-top:0;padding-bottom:0}.header.is-scrolled .nav-contact{border-color:#9fc8b9}.hero{height:100svh;min-height:720px;max-height:1200px;position:relative;display:flex;align-items:center;justify-content:center;color:white;text-align:center}.hero-background,.hero-shade{position:absolute;inset:0}.hero-background img{height:100%;object-fit:cover;object-position:55% center}.hero-shade{background:linear-gradient(180deg,#0d241c50 0%,#0d241c2b 22%,#0d241c65 55%,#0d241c45 100%)}.hero-copy{position:relative;z-index:1;margin-top:45px}.hero .eyebrow{color:#f5d698;font-size:10px;letter-spacing:3.2px;margin-bottom:28px}.hero h1{font-size:clamp(50px,6.5vw,88px);letter-spacing:-4px;line-height:1.18;margin:0 0 29px;text-shadow:0 2px 30px #14282022}.hero .intro{font-size:16px;line-height:1.8;margin:0 0 29px;color:#fff}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;border:0;border-radius:30px;background:var(--ink);color:white;padding:15px 26px;font-size:11px;line-height:1.8;transition:background .2s}.button:hover{background:#006b59}.button-light{background:white;color:var(--ink)}.button-light:hover{background:#edf4eb}.hero-scroll{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:9px;font-size:9px;letter-spacing:1.2px;align-items:center}.hero-scroll>span:last-child{font-size:22px;font-weight:300}.hero-caption{position:absolute;bottom:42px;right:52px;font-size:9px;letter-spacing:1px}.section{padding:110px 0}.section-head{text-align:center;margin:0 auto 33px;max-width:700px}.what{padding-bottom:90px}.what-content{max-width:650px;text-align:center;margin:0 auto;color:var(--muted);font-size:14px}.what-content p{margin-bottom:15px}.image-stories{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:start;gap:24px;margin:58px 0 0}.image-stories figure:nth-child(2){padding-top:50px}.image-stories img{height:360px;object-fit:cover}.image-stories figure:nth-child(2) img{height:360px}.image-stories figcaption{font-size:12px;margin-top:19px;line-height:1.8}.image-stories figcaption>span{display:block;color:#007361;font-size:8px;letter-spacing:2px;margin-bottom:7px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:70px;text-align:center}.principles h3{font-size:20px;margin-bottom:13px}.principles p{font-size:12px;color:var(--muted);max-width:270px;margin:0 auto}.principles h3:before{content:"";display:block;width:25px;height:1px;background:var(--gold);margin:0 auto 21px}.projects{padding:100px 0 0;background:var(--cream)}.projects>.wrap{width:100%;max-width:none}.project-heading{max-width:700px;width:calc(100% - 50px);text-align:center;margin:0 auto 75px}.project-heading>p{max-width:470px;margin:25px auto 0;color:var(--muted);font-size:13px}.project{display:grid;grid-template-columns:1fr 1fr;min-height:650px;margin:0;background:#fff;scroll-margin-top:86px}.project-copy{padding:85px clamp(35px,6vw,110px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.project-name{font-size:13px;letter-spacing:1px;margin:30px 0 20px;color:#007765}.project h3{font-size:clamp(26px,3vw,40px);letter-spacing:-1.5px;margin-bottom:28px;line-height:1.35}.project-copy>p:not(.project-name){font-size:13px;color:var(--muted);max-width:430px}.status{font-size:8px;letter-spacing:.6px;display:inline-flex;align-items:center;gap:8px;padding:4px 0;line-height:1.5;color:#3c6658}.dot{display:inline-block;width:5px;height:5px;background:var(--gold);border-radius:50%}.haus .dot{background:var(--brand)}.project-link{display:inline-flex;align-items:center;gap:25px;font-size:11px;border:0;border-bottom:1px solid var(--brand);background:none;padding:10px 0;text-align:left;margin-top:10px;line-height:1.8}.project-link:hover{color:#007461}.project-visual{position:relative;min-height:650px;overflow:hidden}.project-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-visual:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#18332866)}.project-visual figcaption{position:absolute;bottom:36px;left:40px;right:30px;z-index:1;color:white;display:flex;flex-direction:column;gap:5px;font-size:19px;line-height:1.6}.project-visual figcaption>span:first-child{font-size:8px;letter-spacing:2px}.carbonos .project-visual{order:-1}.haus{background:#ecf3ee}.status-note{font-size:9px;color:#526c5d;max-width:800px;margin:0 auto;text-align:center;padding:25px 25px;line-height:1.8}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:55px}.step-mark{display:block;background:var(--gold);width:32px;height:1px;margin:0 0 24px}.steps h3{font-size:16px;line-height:1.55;min-height:50px;margin:0 0 14px}.steps p{font-size:12px;color:var(--muted)}.about{padding:0;background:var(--ink);color:white}.about-grid{width:100%;max-width:none;display:grid;grid-template-columns:1fr 1fr;align-items:center}.about-image{height:650px}.about-image img{height:100%;object-fit:cover;object-position:58% center}.about-grid>div{padding:65px clamp(35px,6vw,110px)}.about .eyebrow{color:#e4bf75}.about h2{font-size:clamp(28px,3vw,40px);margin-bottom:30px;letter-spacing:-1.5px}.about p:not(.eyebrow){font-size:13px;color:#d4e2d9}.about-tag{display:block;border-top:1px solid #ffffff30;padding-top:23px;margin-top:28px;font-size:10px;color:#ead1a0;letter-spacing:.5px}.contact{padding:100px 0 110px;background:var(--cream)}.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:90px;align-items:center}.contact h2{font-size:38px;letter-spacing:-1.4px}.contact-grid>div>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:460px;margin:23px 0 0}.contact-panel{padding:35px;border-left:1px solid #bfcdbf}.contact-symbol{font-size:35px;display:block;margin-bottom:20px;color:#007866}.contact-panel h3{font-size:22px;margin-bottom:15px}.contact-panel p{font-size:12px;color:var(--muted)}.contact-footnote{border-top:1px solid #d2ddcf;padding-top:18px;margin:25px 0 0!important;font-size:10px!important}.contact-panel .button{margin-top:20px}#contact-phone{display:block;margin-top:14px}footer{background:#fff;padding-top:40px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:32px}.footer-top .brand{padding:0}.footer-top p{font-size:11px;color:var(--muted);margin:0}.footer-top>a:last-child{font-size:10px}.footer-bottom{border-top:1px solid var(--line);min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted)}.plain-button{border:0;padding:8px 0;background:none;font-size:10px}.skip{position:fixed;top:-100px;left:20px;z-index:40;background:var(--ink);color:white;padding:12px}.skip:focus{top:10px}dialog{border:0;border-radius:4px;padding:36px;max-width:620px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;color:var(--ink);background:white}dialog::backdrop{background:#112f29aa;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.dialog-top .eyebrow{margin:0}.dialog-top button{width:36px;height:36px;border:1px solid #bfd4c7;background:white;border-radius:50%;font-size:23px;line-height:1}dialog h2{font-size:30px;margin-bottom:25px}dialog p,dialog li{font-size:13px;color:var(--muted)}dialog li{padding:4px 0}.dialog-note{padding:18px;background:var(--pale)}.dialog-open{overflow:hidden}
@media(min-width:1600px){.project-copy{padding-left:120px;padding-right:120px}.hero h1{font-size:92px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}nav{gap:20px}.nav{min-height:100px}.hero{min-height:680px}.hero h1{font-size:65px;letter-spacing:-3px}.hero-caption{right:32px}.project-copy{padding:60px 35px}.project,.project-visual{min-height:620px}.project h3{font-size:29px}.about-grid{width:100%}.about-grid>div{padding:50px 35px}.about h2{font-size:31px}.contact-grid{gap:45px}.contact h2{font-size:32px}.image-stories img,.image-stories figure:nth-child(2) img{height:300px}.steps{gap:25px}.steps h3{font-size:14px}}
@media(max-width:760px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 40px)}.nav{min-height:89px;gap:15px}.header.is-scrolled .nav{min-height:76px}.brand{padding:5px 10px}.logo-window{width:110px;height:49px}.logo-window img{width:140px;left:-15px;top:-18px}.menu-toggle{display:flex;gap:14px;align-items:center;font-size:11px;border:1px solid #ffffff88;color:inherit;border-radius:24px;padding:8px 16px;background:#15392d33}.header.is-scrolled .menu-toggle{border-color:#b4d0c2;background:transparent}nav{display:none;position:absolute;top:89px;left:0;right:0;padding:15px 25px 22px;background:#fff;color:var(--ink);box-shadow:0 10px 20px #173d3510}.is-scrolled nav{top:76px}nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:13px 0}.nav-contact{border:1px solid #bad8c9;margin-top:12px;padding:10px 18px;justify-content:space-between}.hero{height:94svh;min-height:660px;max-height:950px}.hero-background img{object-position:60% center}.hero-shade{background:linear-gradient(#102c2055,#102c2060 65%,#102c2050)}.hero-copy{margin-top:20px}.hero .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:28px}.hero h1{font-size:clamp(35px,8.5vw,50px);letter-spacing:-1.8px;line-height:1.3;margin-bottom:25px}.hero .intro{font-size:13px;line-height:1.9;margin-bottom:26px}.hero .button{font-size:10px;padding:14px 23px}.hero-scroll{bottom:28px;font-size:8px;letter-spacing:.7px}.hero-caption{display:none}.section{padding:70px 0}.section-head{margin-bottom:27px}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:23px}h2{font-size:31px;line-height:1.4;letter-spacing:-1.5px}.what-content{font-size:13px}.image-stories{gap:12px;margin-top:37px;grid-template-columns:1fr 1fr;align-items:start}.image-stories figure:first-child{grid-column:1/-1}.image-stories figure:nth-child(2){padding-top:0}.image-stories img,.image-stories figure:nth-child(2) img{height:220px}.image-stories figure:first-child img{height:300px}.image-stories figcaption{font-size:10px;line-height:1.7;margin:12px 0 12px}.image-stories figcaption>span{font-size:7px;letter-spacing:1.6px}.principles{margin-top:38px;gap:18px}.principles h3{font-size:12px;letter-spacing:-.4px;margin-bottom:12px}.principles p{font-size:10px;line-height:1.8}.principles h3:before{margin-bottom:17px}.projects{padding:65px 0 0}.projects>.wrap{width:100%}.project-heading{margin-bottom:40px;width:calc(100% - 40px)}.project-heading>p{font-size:12px;margin-top:23px}.project{display:flex;flex-direction:column;min-height:0}.project-visual,.carbonos .project-visual,.haus .project-visual{order:-1;height:390px;min-height:390px}.project-copy{padding:40px 28px 48px}.project h3{font-size:29px;letter-spacing:-1.2px}.project-name{margin-top:25px;margin-bottom:18px;font-size:12px}.project-copy>p:not(.project-name){font-size:13px}.project-visual figcaption{left:27px;bottom:25px;font-size:17px}.status-note{font-size:9px;padding:23px 25px}.steps{grid-template-columns:1fr 1fr;gap:30px 24px;margin-top:36px}.steps h3{min-height:44px;font-size:14px}.steps p{font-size:11px}.about-grid{width:100%;display:flex;flex-direction:column}.about-image{height:390px;width:100%}.about-grid>div{padding:50px 28px 55px;width:100%}.about h2{font-size:30px}.about p:not(.eyebrow){font-size:13px}.contact{padding:65px 0}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{font-size:29px}.contact-panel{padding:0 0 0 23px}.contact-panel h3{font-size:21px}.contact-symbol{font-size:30px;margin-bottom:15px}.footer-top{flex-wrap:wrap;gap:20px}.footer-top>a:last-child{margin-left:auto}.footer-top p{order:3;flex-basis:100%;font-size:11px}.footer-bottom{flex-wrap:wrap;padding:18px 0;gap:15px}.footer-bottom>div{flex-basis:100%;order:3}dialog{padding:27px}dialog h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Concrete projectteksten: begrens de regellengte en geef langere koppen ruimte. */
.hero .intro{max-width:780px;margin-left:auto;margin-right:auto}.principles h3{font-size:18px}.project-heading{max-width:880px}.project-heading h2{font-size:clamp(30px,3.4vw,46px)}.steps h3{min-height:55px}.about-tag{line-height:1.9}
@media(max-width:760px){.hero .intro{font-size:12px;max-width:340px}.hero h1{font-size:clamp(32px,8vw,46px)}.principles{grid-template-columns:1fr;text-align:left;gap:27px}.principles h3{font-size:17px;margin-bottom:10px}.principles h3:before{margin:0 0 15px}.principles p{font-size:12px;max-width:none;margin:0}.project-heading h2{font-size:28px}.project h3{font-size:27px}.steps h3{min-height:44px}}
/* Inhoudelijke verdieping CarbonOS */
.carbonos-research{padding:95px 0 80px;background:#fafbf7;scroll-margin-top:85px}.carbonos-research>.wrap{width:calc(100% - 104px);max-width:1176px;margin:auto}.research-intro{max-width:725px;margin:0 auto;text-align:center}.research-intro h2{font-size:39px;margin-bottom:28px}.research-intro>p:last-child{font-size:14px;color:var(--muted);margin-bottom:0}.data-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:25px;margin:55px 0 65px}.data-chain>div{position:relative;padding-top:23px;border-top:1px solid #bcd3c5}.data-chain>div:before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--brand)}.data-chain h3{font-size:15px;letter-spacing:-.5px;margin-bottom:12px}.data-chain p{font-size:11px;line-height:1.85;color:var(--muted);margin:0}.research-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding-top:10px}.research-columns h3{font-size:22px;letter-spacing:-.7px;line-height:1.45;margin-bottom:22px}.research-columns p{font-size:12px;line-height:1.9;color:var(--muted)}.research-questions{max-width:830px;margin:55px auto 0}.research-questions>h3{font-size:23px;letter-spacing:-.6px;margin-bottom:26px;text-align:center}.research-questions details{border-bottom:1px solid #d7e2d9}.research-questions details:first-of-type{border-top:1px solid #d7e2d9}.research-questions summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-size:14px;line-height:1.65;list-style:none}.research-questions summary::-webkit-details-marker{display:none}.research-questions summary>span{color:#007561;font-size:23px;line-height:1;transition:transform .15s}.research-questions details[open] summary>span{transform:rotate(45deg)}.research-questions summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.research-questions details>div{max-width:710px;padding:0 0 15px}.research-questions details p{font-size:13px;color:var(--muted);line-height:1.9}.research-close{max-width:830px;display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid #d7e2d9;margin:45px auto 0;padding-top:32px}.research-close p{font-size:12px;color:var(--muted);margin:0;max-width:490px}.research-close strong{font-weight:500;color:var(--ink);font-size:15px}.research-close .button{flex-shrink:0;gap:25px}
@media(max-width:1050px){.carbonos-research>.wrap{width:calc(100% - 64px)}.data-chain{gap:20px}.data-chain h3{font-size:13px}.research-columns{gap:28px}.research-columns h3{font-size:19px}.research-intro h2{font-size:35px}.research-close{gap:24px}.research-close p{max-width:430px}}
@media(max-width:760px){.carbonos-research{padding:60px 0}.carbonos-research>.wrap{width:calc(100% - 48px)}.research-intro h2{font-size:28px;line-height:1.45;letter-spacing:-1.2px}.research-intro>p:last-child{font-size:13px;text-align:left}.data-chain{grid-template-columns:1fr;gap:0;margin:36px 0 40px;padding-left:7px}.data-chain>div{border-top:0;border-left:1px solid #bcd3c5;padding:0 0 22px 24px}.data-chain>div:before{top:8px;left:-4px}.data-chain>div:last-child{border-left-color:transparent;padding-bottom:0}.data-chain h3{font-size:17px;margin-bottom:7px}.data-chain p{font-size:12px}.research-columns{grid-template-columns:1fr;gap:24px}.research-columns h3{font-size:23px;margin-bottom:18px}.research-columns p{font-size:13px}.research-questions{margin-top:35px}.research-questions>h3{font-size:22px;text-align:left;line-height:1.5}.research-questions summary{font-size:13px;padding:18px 0}.research-questions details p{font-size:12px}.research-close{flex-direction:column;align-items:flex-start;gap:23px;margin-top:32px;padding-top:28px}.research-close strong{font-size:15px}.research-close p{font-size:12px}.carbonos .project-copy{padding-bottom:45px}.carbonos .project-visual figcaption{font-size:15px}}
/* Aparte contactpagina */
.inline-address{font-size:15px;line-height:1.8;font-style:normal;margin:18px 0 5px;white-space:pre-line}.contact-page .header{background:#fff;color:var(--ink);box-shadow:0 1px 0 #173d3510}.contact-page .nav-contact{border-color:#9fc8b9}.contact-page .brand{background:none}.contact-page .menu-toggle{background:transparent;border-color:#b4d0c2}.contact-opening{padding:190px 0 65px;background:var(--cream)}.contact-opening h1{font-size:clamp(38px,4.5vw,61px);letter-spacing:-2px;line-height:1.3;margin:0 0 28px}.contact-opening>div>p:last-child{color:var(--muted);font-size:14px;line-height:1.9;margin:0}.contact-location{padding:75px 0 90px}.location-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:stretch}.location-details{padding:20px 0}.location-details h2{font-size:30px;letter-spacing:-1px;margin:0 0 23px}.location-details address{font-style:normal;font-size:22px;line-height:1.75;white-space:pre-line;margin-bottom:25px}.maps-note{font-size:10px;color:var(--muted);margin-top:13px}.direct-contact{border-top:1px solid var(--line);margin-top:35px;padding-top:30px;max-width:410px}.direct-contact h3{font-size:19px;margin-bottom:18px}.direct-contact p{color:var(--muted);font-size:13px}.direct-contact .contact-footnote{font-size:10px}.location-image{position:relative;min-height:560px;overflow:hidden}.location-image img{height:100%;object-fit:cover;position:absolute;inset:0}.location-image figcaption{position:absolute;bottom:16px;left:18px;right:18px;font-size:9px;line-height:1.7;background:#ffffffeb;padding:8px 12px;color:#24483d}.contact-topics{background:var(--pale);padding:75px 0 85px}.contact-topics h2{font-size:35px}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:42px}.topic-grid article{border-top:1px solid #bfd5c7;padding-top:25px}.topic-grid h3{font-size:24px;margin-bottom:17px}.topic-grid p{font-size:13px;color:var(--muted);max-width:440px}.topic-grid .project-link{margin-top:0}
@media(max-width:1050px){.location-grid{gap:50px}}
@media(max-width:760px){.contact-opening{padding:140px 0 45px}.contact-opening h1{font-size:36px;letter-spacing:-1.6px}.contact-opening>div>p:last-child{font-size:13px}.contact-location{padding:40px 0 55px}.location-grid{grid-template-columns:1fr;gap:30px}.location-details h2{font-size:27px}.location-details address{font-size:21px}.location-image{min-height:340px}.contact-topics{padding:55px 0}.contact-topics h2{font-size:29px}.topic-grid{grid-template-columns:1fr;gap:35px;margin-top:30px}.topic-grid h3{font-size:22px}.contact-page .header .nav{min-height:76px}.contact-page nav{top:76px}}
/* Echte vestiging: behoud de originele opname en toon de hele gevel. */
.location-image{min-height:0;height:auto;aspect-ratio:1360/765;align-self:start;background:#f0f2ea}.location-image img{object-fit:contain;filter:saturate(.72) contrast(.94) brightness(1.035) sepia(.09)}.location-image figcaption{left:14px;right:auto;bottom:13px;background:#ffffffed;padding:5px 11px;font-size:9px;letter-spacing:.4px}.carbonos .energy-visual img{object-position:43% center}
@media(max-width:760px){.location-image{height:auto;min-height:0;aspect-ratio:1360/765}.location-image figcaption{left:10px;bottom:10px;font-size:8px;padding:4px 9px}.carbonos .energy-visual img{object-position:43% center}}
/* Contact: compacte foto en kaart als één rustig locatieblok. */
.location-grid{grid-template-columns:.9fr 1.15fr;gap:85px}.location-media{border:1px solid #dce6dd;background:#fff;box-shadow:0 14px 45px #193e3410;align-self:start;overflow:hidden;border-radius:6px}.location-media .location-image{aspect-ratio:2.2;min-height:0;border-radius:0}.location-media .location-image img{object-fit:cover;object-position:50% 47%}.location-media .location-image figcaption{background:#fffffff0;left:17px;bottom:14px;padding:5px 12px;border-radius:2px}.map-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:16px 22px;border-bottom:1px solid #dce6dd;background:#f6f8f2}.map-heading .eyebrow{margin:0;font-size:8px;letter-spacing:1.8px}.map-heading>span:last-child{font-size:10px;color:#657b6b}.map-canvas{height:330px;background:#edf3e9;position:relative}.map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;text-align:center}.map-placeholder svg{width:28px;height:35px;color:#007a68;margin-bottom:15px}.map-placeholder p{font-size:18px;line-height:1.6;margin:0 0 19px}.map-placeholder p>span{font-size:12px;color:var(--muted)}.map-placeholder .button{font-size:10px;padding:11px 20px;gap:20px}.map-placeholder small{font-size:9px;margin-top:13px;color:#536e60}.map-canvas iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.8) saturate(.45) contrast(.94)}.map-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px;font-size:9px;color:#587062;line-height:1.8;background:#fff}.map-footer a{color:#006f5d;border-bottom:1px solid #bfd5ca;flex-shrink:0}.contact-email-link{font-size:20px;letter-spacing:-.4px;display:inline-flex;align-items:center;gap:23px;line-height:1.8;border-bottom:1px solid #8fb9a6;padding:3px 0}.contact-email-link:hover{color:#007361}.direct-contact #contact-phone{font-size:20px;display:table;border-bottom:1px solid #8fb9a6;margin:17px 0 0;padding:3px 0}.contact-page .contact-location{padding-top:60px}.contact-page .direct-contact{margin-top:32px}.contact-page .location-details{padding-top:9px}
@media(max-width:1050px){.location-grid{gap:45px}.contact-email-link{font-size:18px;gap:18px}.map-footer{flex-direction:column;align-items:flex-start;gap:5px}}
@media(max-width:760px){.location-grid{grid-template-columns:1fr;gap:35px}.location-media .location-image{aspect-ratio:1.8}.location-media .location-image figcaption{font-size:8px;bottom:10px;left:12px}.map-canvas{height:320px}.map-heading{padding:15px 17px}.map-footer{padding:13px 17px}.contact-email-link{font-size:20px}.contact-page .contact-location{padding-top:40px}.map-placeholder small{max-width:245px;line-height:1.7}}
/* Contact: brede pandfoto links, groener palet en schermbrede kaart. */
.contact-page .contact-opening{background:#e2efe5}.contact-page .contact-opening h1{color:#145746}.contact-page .contact-opening .eyebrow{color:#007461}.contact-page .contact-location{background:#f3f8f1;padding:65px 0 75px}.contact-page .location-grid{grid-template-columns:1.5fr 1fr;gap:70px;align-items:start}.location-photo-panel{min-width:0}.location-photo-panel .location-image{width:100%;aspect-ratio:1.65;min-height:0;height:auto;background:#e7eee1;border-radius:4px;overflow:hidden;box-shadow:0 12px 35px #1b4c3510}.location-photo-panel .location-image img{object-fit:cover;object-position:50% center}.location-photo-panel .location-image figcaption{background:#e8f3e9ee;color:#1d5542;left:20px;bottom:18px;font-size:10px;padding:6px 13px}.contact-page .location-details{padding:5px 0 0}.contact-page .location-details h2{font-size:28px}.contact-page .direct-contact{border-color:#bbd5bf;margin-top:29px;padding-top:25px}.contact-page .direct-contact .contact-footnote{border-color:#c8dec9}.contact-page .location-details .button{background:#17614d}.contact-page .location-details .button:hover{background:#007964}.contact-map-wide{width:100%;background:#deebdd}.contact-map-wide .location-map{max-width:none;width:100%}.contact-map-wide .map-heading{padding:22px max(32px,calc((100vw - 1176px)/2));background:#d8e9d8;border-color:#c3d9c0}.contact-map-wide .map-heading .eyebrow{color:#17614d}.contact-map-wide .map-heading>span:last-child{color:#42694e}.contact-map-wide .map-canvas{height:490px;background:#dfebd8}.contact-map-wide .map-canvas:after{content:"";position:absolute;inset:0;background:#6eaa7130;mix-blend-mode:multiply;pointer-events:none}.contact-map-wide .map-canvas iframe{filter:grayscale(.65) saturate(.55) contrast(.92) brightness(1.03)}.contact-map-wide .map-footer{padding:17px max(32px,calc((100vw - 1176px)/2));background:#e7f1e4;color:#365c43}.contact-page .contact-topics{background:#eff6ec}.contact-page .topic-grid article{border-color:#b7d3b8}.contact-page .topic-grid h3{color:#17614d}
@media(max-width:1050px){.contact-page .location-grid{grid-template-columns:1.2fr 1fr;gap:40px}.contact-email-link{font-size:17px;gap:15px}.contact-map-wide .map-canvas{height:440px}}
@media(max-width:760px){.contact-page .location-grid{grid-template-columns:1fr;gap:35px}.contact-page .contact-location{padding:35px 0 50px}.location-photo-panel .location-image{aspect-ratio:1.6}.location-photo-panel .location-image figcaption{left:12px;bottom:12px;font-size:9px}.contact-page .location-details{padding:0 5px}.contact-email-link{font-size:20px}.contact-map-wide .map-heading{padding:18px 24px}.contact-map-wide .map-canvas{height:410px}.contact-map-wide .map-footer{padding:15px 24px}.contact-page .contact-opening h1{font-size:35px}}
/* Samenhangend contactblok: foto en kaart delen dezelfde buitenlijnen. */
.contact-page .contact-location{padding:64px 0}.contact-page .location-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:0;align-items:stretch;background:#e5f0e5;border:1px solid #d4e3d2;border-radius:6px;overflow:hidden}.location-photo-panel{display:flex}.location-photo-panel .location-image{height:100%;min-height:440px;aspect-ratio:auto;width:100%;border-radius:0;box-shadow:none}.location-photo-panel .location-image img{object-fit:cover;object-position:50% center}.location-photo-panel .location-image figcaption{display:none}.contact-page .location-details.contact-card{padding:42px 40px 38px;background:#e5f0e5;display:flex;flex-direction:column;justify-content:center}.contact-card .eyebrow{margin:0 0 17px;font-size:8px;letter-spacing:2px;color:#46775a}.contact-page .contact-card h2{font-size:29px;letter-spacing:-1.1px;margin:0 0 28px;line-height:1.4}.contact-address-row,.contact-link-row{padding:15px 0;border-top:1px solid #bad2bb}.contact-label{font-size:9px;letter-spacing:.5px;color:#4f715a;display:block;margin-bottom:6px}.contact-page .contact-card address{font-size:17px;line-height:1.65;margin:0;font-style:normal}.contact-card .contact-email-link,.contact-card #contact-phone{font:16px/1.7 Arial,Helvetica,sans-serif;letter-spacing:0;border:0;padding:0;margin:0;display:flex;justify-content:space-between;align-items:center;gap:18px;text-decoration:none;color:#174c3c}.contact-card .contact-email-link:hover,.contact-card #contact-phone:hover{color:#007965}.contact-card .contact-email-link>span,.contact-card #contact-phone>span{font-size:18px;color:#4f8064}.contact-card .contact-route{margin-top:23px;align-self:flex-start;min-width:165px;padding:12px 22px;font-size:10px;background:#17614d}.contact-card .contact-route:hover{background:#007965}.contact-page .contact-opening{padding-top:165px;padding-bottom:55px}.contact-page .contact-opening h1{font-size:clamp(37px,4vw,53px);margin-bottom:22px}.contact-page .contact-opening>div>p:last-child{font-size:13px}
@media(max-width:1050px){.contact-page .location-grid{grid-template-columns:1.25fr 1fr}.contact-page .location-details.contact-card{padding:34px 29px}.contact-page .contact-card h2{font-size:25px}.contact-card .contact-email-link,.contact-card #contact-phone{font-size:15px}.location-photo-panel .location-image{min-height:435px}}
@media(max-width:760px){.contact-page .contact-location{padding:30px 0 40px}.contact-page .location-grid{grid-template-columns:1fr;gap:0;width:calc(100% - 40px)}.location-photo-panel .location-image{min-height:0;height:auto;aspect-ratio:1.65}.contact-page .location-details.contact-card{padding:29px 26px 31px}.contact-page .contact-card h2{font-size:27px;margin-bottom:23px}.contact-card .eyebrow{margin-bottom:14px}.contact-address-row,.contact-link-row{padding:13px 0}.contact-card .contact-email-link,.contact-card #contact-phone{font-size:16px}.contact-page .contact-card address{font-size:17px}.contact-page .contact-opening{padding-top:130px;padding-bottom:40px}.contact-page .contact-opening h1{font-size:34px}}
/* Contact met titel op fotografie, gevolgd door een rustige gegevensrij. */
.contact-page .header{background:transparent;color:white;box-shadow:none}.contact-page .header .brand{background:#fffffff0}.contact-page .header .nav-contact{border-color:#ffffffa0}.contact-page .header .menu-toggle{color:white;border-color:#ffffffa0;background:#15392d30}.contact-page .header.is-scrolled{background:#fffffff5;color:var(--ink);box-shadow:0 1px 0 #173d3510}.contact-page .header.is-scrolled .brand{background:none}.contact-page .header.is-scrolled .nav-contact,.contact-page .header.is-scrolled .menu-toggle{border-color:#b5d0c3;color:var(--ink);background:transparent}.contact-photo-hero{height:690px;min-height:590px;position:relative;color:white;background:#78907b;overflow:hidden}.contact-photo-hero>figure,.contact-photo-shade{position:absolute;inset:0}.contact-photo-hero>figure img{height:100%;object-fit:cover;object-position:50% 45%;filter:saturate(.7) contrast(.94) brightness(.96)}.contact-photo-shade{background:linear-gradient(180deg,#142d2445 0%,transparent 35%,#142d2440 100%)}.contact-photo-content{position:relative;height:100%;display:flex;align-items:flex-end;padding-bottom:65px;z-index:1}.contact-glass{max-width:570px;padding:34px 43px 36px;background:#143c32a8;backdrop-filter:blur(6px);border:1px solid #ffffff26;border-radius:3px}.contact-glass .eyebrow{color:#e6d2a5;margin:0 0 20px;font-size:9px;letter-spacing:2.5px}.contact-glass h1{font-size:58px;letter-spacing:-2.6px;line-height:1.2;margin:0 0 21px;font-weight:400}.contact-glass>p:last-child{font-size:13px;color:#edf4ec;max-width:320px;line-height:1.8;margin:0}.photo-location-caption{position:absolute;bottom:30px;right:52px;color:#fff;font-size:9px;letter-spacing:1px;z-index:1}.contact-info{background:#f3f7ef;padding:48px 0 50px}.contact-info-grid{display:grid;grid-template-columns:1.1fr 1.2fr 1fr;gap:45px}.contact-info-grid>div{border-left:1px solid #c3d8c3;padding-left:30px}.contact-info-grid>div:first-child{border:0;padding-left:0}.info-label{display:block;font-size:8px;letter-spacing:2px;color:#4b7259;margin-bottom:18px}.contact-info address{font-style:normal;white-space:pre-line;font-size:17px;line-height:1.65;margin:0 0 12px}.contact-info .info-contact-link{font-size:19px;line-height:1.8;display:inline-flex;align-items:center;gap:25px;border:0;margin:0;padding:0;color:#174c3c}.contact-info #contact-phone{display:inline-flex;margin:0;font-size:19px}.contact-info .info-contact-link:hover{color:#007d69}.info-contact-link>span{font-size:16px}.contact-info-grid p{font-size:11px;color:#607966;margin:10px 0 0}.info-route{font-size:10px;border-bottom:1px solid #9bbda5;padding-bottom:4px;display:inline-flex;align-items:center;gap:22px}.contact-page .contact-map-wide .map-heading{background:#deebd8}.contact-page .contact-topics{background:#f7f9f3}
@media(max-width:1050px){.contact-photo-hero{height:640px}.contact-glass h1{font-size:51px}.contact-glass{padding:31px 36px 33px}.contact-info-grid{gap:25px;grid-template-columns:1fr 1.2fr 1fr}.contact-info-grid>div{padding-left:23px}.contact-info .info-contact-link,.contact-info #contact-phone{font-size:16px;gap:15px}.photo-location-caption{right:32px}}
@media(max-width:760px){.contact-page .header .nav{min-height:89px}.contact-page .header.is-scrolled .nav{min-height:76px}.contact-page .header nav{top:89px}.contact-page .header.is-scrolled nav{top:76px}.contact-photo-hero{height:640px;min-height:0}.contact-photo-hero>figure img{object-position:49% center}.contact-photo-content{padding-bottom:45px}.contact-glass{width:100%;max-width:430px;padding:27px 27px 29px;background:#143c32b5}.contact-glass h1{font-size:43px;letter-spacing:-2px;margin-bottom:18px}.contact-glass .eyebrow{margin-bottom:17px;font-size:8px}.contact-glass>p:last-child{font-size:12px;max-width:270px}.photo-location-caption{bottom:15px;right:22px;font-size:8px}.contact-info{padding:30px 0 35px}.contact-info-grid{grid-template-columns:1fr;gap:0}.contact-info-grid>div,.contact-info-grid>div:first-child{padding:23px 0;border-left:0;border-top:1px solid #cadccb}.contact-info-grid>div:first-child{border-top:0;padding-top:0}.contact-info-grid>div:last-child{padding-bottom:0}.info-label{margin-bottom:10px}.contact-info .info-contact-link,.contact-info #contact-phone{font-size:20px}.contact-info-grid p{margin-top:5px}.contact-info address{font-size:18px}}
/* Projectpagina's met één eigen foto per onderwerp. */
.project-page-hero{position:relative;height:690px;min-height:600px;background:#24493e;color:white;display:flex;align-items:center;overflow:hidden}.project-page-hero>figure,.project-page-shade{position:absolute;inset:0}.project-page-hero>figure img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:saturate(.82)}.project-page-shade{background:linear-gradient(90deg,#0c3025b8 0%,#0d2d2260 60%,#0c30252a)}.project-page-content{position:relative;z-index:1;padding-top:85px}.project-page-content .eyebrow{color:#ead3a2;font-size:9px}.project-page-content h1{font-size:clamp(44px,5.4vw,72px);line-height:1.24;letter-spacing:-2.8px;margin:0 0 25px}.project-page-content>p:not(.eyebrow){max-width:540px;font-size:15px;line-height:1.85;color:#f2f5ed;margin-bottom:29px}.haus-page-hero>figure img{object-position:50% 45%}.haus-page-hero .project-page-shade{background:linear-gradient(90deg,#133c30c2,#133c3055 65%,#133c3022)}.home-projects{background:#eef5ee}.home-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:45px}.home-project-grid article{padding:38px 42px;background:#ffffffa8;border:1px solid #cadfcd}.home-project-grid article:first-child{border-top:3px solid #009681}.home-project-grid article:last-child{border-top:3px solid #d29328}.home-project-grid h3{font-size:34px;margin:23px 0 20px}.home-project-grid p{font-size:14px;color:var(--muted);line-height:1.9}.home-project-grid .project-link{margin-top:10px}.home-project-grid article:last-child .dot{background:var(--gold)}.haus-usecases{display:grid;grid-template-columns:1fr 1fr;gap:42px 60px;margin-top:55px}.haus-usecases article{border-top:1px solid #c7daca;padding-top:27px}.haus-usecases .eyebrow{font-size:8px;margin-bottom:19px}.haus-usecases h3{font-size:25px;line-height:1.5;letter-spacing:-.8px;margin-bottom:20px;max-width:400px}.haus-usecases p{font-size:14px;color:var(--muted)}.haus-development{padding:80px 0;background:#eaf3e9}.development-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.development-grid h2{font-size:38px;letter-spacing:-1.5px}.development-grid>div:last-child{font-size:14px;color:var(--muted)}.project-page-contact{text-align:center}.project-page-contact h2{font-size:36px}.project-page-contact p{max-width:670px;font-size:14px;color:var(--muted);margin:25px auto 30px}.contact-photo-hero>figure img{filter:saturate(.78) contrast(.92) brightness(1.02) sepia(.16)}.contact-photo-shade{background:linear-gradient(180deg,#183d2d45,transparent 40%,#34453333)}
@media(max-width:1050px){.project-page-hero{height:660px}.project-page-content h1{font-size:55px}.home-project-grid article{padding:32px}.development-grid{gap:45px}.development-grid h2{font-size:32px}}
@media(max-width:760px){.project-page-hero{height:680px;min-height:0}.project-page-content{padding-top:70px}.project-page-content h1{font-size:38px;letter-spacing:-1.7px;line-height:1.35}.project-page-content>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:340px}.project-page-content .eyebrow{font-size:8px;letter-spacing:1.6px}.project-page-hero>figure img{object-position:42% center}.haus-page-hero>figure img{object-position:58% center}.project-page-shade,.haus-page-hero .project-page-shade{background:#12372b8f}.home-project-grid{grid-template-columns:1fr;gap:20px;margin-top:30px}.home-project-grid article{padding:28px}.home-project-grid h3{font-size:30px;margin:20px 0 16px}.home-project-grid p{font-size:13px}.haus-usecases{grid-template-columns:1fr;gap:28px;margin-top:35px}.haus-usecases h3{font-size:23px}.haus-usecases p{font-size:13px}.haus-development{padding:55px 0}.development-grid{grid-template-columns:1fr;gap:26px}.development-grid h2{font-size:30px}.development-grid>div:last-child{font-size:13px}.project-page-contact h2{font-size:28px}.project-page-contact p{font-size:13px}}
nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
/* Mobiel: fotografie krijgt eigen ruimte; tekst staat op een rustige, contrastrijke ondergrond. */
:root{color-scheme:only light}
@media(max-width:760px){
 body{font-size:16px;-webkit-text-size-adjust:100%}
 .header,.contact-page .header,.header.is-scrolled,.contact-page .header.is-scrolled{background:#fff;color:#173d35;box-shadow:0 1px 0 #173d3518}
 .header .nav,.header.is-scrolled .nav,.contact-page .header .nav,.contact-page .header.is-scrolled .nav{min-height:76px;gap:16px}
 .header .brand,.contact-page .header .brand,.header.is-scrolled .brand{background:#fff;padding:0;border:0}
 .header .menu-toggle,.contact-page .header .menu-toggle,.header.is-scrolled .menu-toggle,.contact-page .header.is-scrolled .menu-toggle{min-height:44px;padding:9px 17px;border:1px solid #b8ccc2;background:#f3f7f2;color:#173d35;font-size:14px}
 .header nav,.header.is-scrolled nav,.contact-page .header nav,.contact-page .header.is-scrolled nav{top:76px;padding:12px 24px 24px;max-height:calc(100dvh - 76px);overflow:auto;font-size:16px;background:#fff;color:#173d35}
 nav a{min-height:48px}
 .hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding-top:76px;text-align:left;background:#173d35;color:#fff}
 .hero-background{position:relative;inset:auto;width:100%;height:clamp(235px,35svh,340px);flex:none}
 .hero-background img{object-position:66% 55%}
 .hero-shade{display:none}
 .hero-copy.wrap{width:100%;max-width:none;margin:0;padding:32px 24px 26px}
 .hero .eyebrow{font-size:10px;letter-spacing:2px;color:#ead3a2;margin-bottom:20px}
 .hero h1{font-size:clamp(30px,8.2vw,43px);line-height:1.25;letter-spacing:-1.35px;margin:0 0 22px;color:#fff;text-shadow:none}
 .hero h1 br{display:none}
 .hero .intro{font-size:16px;line-height:1.7;max-width:40ch;margin:0 0 25px;color:#f2f6f0}
 .hero .intro br{display:block;content:"";margin-bottom:10px}
 .hero .button{font-size:14px;min-height:48px;padding:13px 22px;background:#fff;color:#173d35}
 .hero-scroll{position:static;transform:none;align-self:flex-start;flex-direction:row;gap:18px;margin:0 24px 28px;font-size:12px;letter-spacing:0;color:#e4eadf}
 .hero-scroll>span:last-child{font-size:22px}
 .project-page-hero{display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:0;padding-top:76px;background:#173d35}
 .project-page-hero>figure{position:relative;inset:auto;height:280px;width:100%}
 .project-page-shade,.haus-page-hero .project-page-shade{display:none}
 .project-page-content{padding-top:30px;padding-bottom:36px}
 .project-page-content h1{font-size:34px;line-height:1.3;color:#fff;letter-spacing:-1.4px}
 .project-page-content>p:not(.eyebrow){font-size:16px;line-height:1.75;max-width:40ch;color:#f2f6f0}
 .project-page-content .eyebrow{font-size:10px;color:#ead3a2}
 .project-page-content .button{font-size:14px;min-height:48px}
 .contact-photo-hero{margin-top:76px;height:560px}
 .contact-photo-hero>figure img{object-position:54% center}
 .contact-photo-content{padding-bottom:25px}
 .contact-glass{padding:24px;background:#143c32e6;backdrop-filter:none}
 .contact-glass h1{font-size:36px;line-height:1.25;letter-spacing:-1.5px;color:#fff}
 .contact-glass>p:last-child{font-size:15px;line-height:1.65;color:#f2f6f0}
 .contact-glass .eyebrow{font-size:10px}
 .photo-location-caption{display:none}
 .what-content,.principles p,.steps p,.about p:not(.eyebrow),.contact-grid>div>p:not(.eyebrow),.contact-panel p,.home-project-grid p,.research-intro>p:last-child,.data-chain p,.research-columns p,.research-questions details p,.research-close p,.haus-usecases p,.development-grid>div:last-child,.project-page-contact p{font-size:16px;line-height:1.75}
 .principles h3,.steps h3,.data-chain h3{font-size:19px;line-height:1.45;min-height:0}
 .research-questions summary{font-size:16px;padding:20px 0}
 .steps{grid-template-columns:1fr;gap:24px}
 .eyebrow,.haus-usecases .eyebrow{font-size:10px}
 .button,.project-link{font-size:14px;min-height:44px}
 .contact-info .info-contact-link,.contact-info #contact-phone{font-size:20px;overflow-wrap:anywhere}
 .contact-info-grid p,.info-route{font-size:14px}
 .info-label{font-size:10px}
 .footer-top p,.footer-top>a:last-child,.footer-bottom,.plain-button{font-size:12px}
 .map-footer{font-size:12px}
}
