:root{--navy:#0d283f;--ink:#152c3f;--muted:#5c6d78;--light:#f5f7f8;--line:#dce5e8;--accent:#e6b56d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.7 system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--ink)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.18;letter-spacing:-.025em}h1{font-size:clamp(2.65rem,5vw,4.6rem)}h2{font-size:clamp(1.95rem,3.25vw,3rem)}h3{font-size:1.46rem}p{max-width:70ch}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1200px;width:calc(100% - 56px);margin:auto}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:1000;background:white;padding:12px}.header{position:sticky;top:0;background:white;z-index:50;box-shadow:0 1px 12px #0d283f12}.nav{height:82px;display:flex;justify-content:space-between;align-items:center;gap:20px}.logo img{width:175px;height:65px;object-fit:contain;display:block}.nav nav{display:flex;gap:25px;align-items:center;font-size:13px;font-weight:650}.nav nav a[aria-current="page"]:not(.nav-cta){border-bottom:2px solid var(--navy);padding:8px 0}.nav-cta,.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;background:var(--navy);color:white;padding:13px 20px;font-size:14px;font-weight:650;border:1px solid var(--navy);border-radius:2px;text-decoration:none}.button:hover,.nav-cta:hover{background:#244961;text-decoration:none}.button-outline{background:transparent;border-color:#fff8;color:white}.button-outline:hover{background:#ffffff19}.nav-toggle{display:none}.hero{background:linear-gradient(90deg,#061b2bed 0%,#0d283fc2 42%,#0d283f2b 100%),url('/assets/hero-amsterdam.jpg') center 48%/cover no-repeat;min-height:530px;display:flex;align-items:center;color:white}.hero-content{max-width:790px;padding:70px 0 80px}.hero h1{margin:25px 0}.hero p{font-size:18px;max-width:640px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:800;margin-bottom:18px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero .button{background:#fff;color:var(--navy);border-color:#fff}.hero .button-outline{background:transparent;color:white;border-color:#fff}.section{padding:78px 0}.section-muted{background:var(--light)}.navy,.bottom-cta{background:var(--navy);color:white}.section h2{margin:0 0 18px}.section .eyebrow+h2{margin-top:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.visual-photo{margin:0;position:relative;overflow:hidden}.visual-photo img{display:block;width:100%;height:440px;object-fit:cover;object-position:center 42%}.visual-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#061b2bbd;color:white;padding:8px 15px;font-size:12px}.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:36px}.pillar{padding:9px 24px;border-left:1px solid var(--line);display:flex;flex-direction:column}.pillar:first-child{padding-left:0;border-left:0}.pillar .index{font:27px Georgia}.pillar h3{min-height:2.7em;margin:10px 0 0}.pillar p{font-size:14px;color:var(--muted);margin:0}.facts{border-left:1px solid #ffffff5a;padding-left:35px}.facts>div{margin:0 0 22px}.facts small{display:block;text-transform:uppercase;letter-spacing:.12em;color:#c0d3df;font-size:11px}.facts strong{font:25px Georgia;display:block;margin:4px 0}.facts p{font-size:13px;margin:0;color:#d7e2ea}.focus{display:grid;grid-template-columns:1.3fr .7fr;gap:65px;align-items:center}.navy .button{background:white;color:var(--navy);border-color:white}.steps,.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:33px 0}.steps article,.partner-grid article{border-top:1px solid #bccdd6;padding:20px 0}.steps strong{font:29px Georgia}.steps h3,.partner-grid h3{margin:10px 0}.steps p,.partner-grid p{font-size:14px;color:var(--muted)}.bottom-cta{padding:48px 0}.bottom-cta h2{margin:0}.bottom-cta .button{background:white;color:var(--navy);border-color:white}.subhero{background:linear-gradient(90deg,#071e33f2,#0d283fae),url('/assets/hero-amsterdam.jpg') center/cover;color:white;padding:95px 0}.subhero.small{padding:64px 0}.subhero p,.contact-hero p{font-size:18px;max-width:690px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.service{border:1px solid var(--line);overflow:hidden}.service-visual{height:270px;background:#e5ecef}.service-visual img{width:100%;height:100%;object-fit:cover;display:block}.service-copy{padding:24px}.service-copy h2{font-size:28px}.subtle{color:var(--muted);font-size:13px}.service-copy .subtle{font-size:12px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.project-card{border:1px solid var(--line);background:white;overflow:hidden}.project-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1.05fr 1fr}.project-card img{display:block;width:100%;height:320px;object-fit:cover}.project-card.featured img{height:100%;min-height:460px;object-position:center 50%}.project-copy{padding:27px}.project-copy h2{margin:17px 0}.flag{display:inline-flex;padding:7px 10px;font-size:11px;letter-spacing:.04em;color:white;background:var(--navy)}.outlineflag{background:#e5ebef;color:#31485a}.project-card dl{border-top:1px solid var(--line);padding-top:12px;font-size:13px}.project-card dl div{display:flex;gap:10px}.project-card dt{font-weight:700}.project-card dd{margin:0}.form-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:75px;align-items:start}.form-card{border:1px solid var(--line);box-shadow:0 12px 32px #0d283f08;padding:35px;background:#fff}.form-card h2{font-size:29px}.form{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650}.field input,.field select,.field textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid #c5d2da;border-radius:2px;background:#fff;color:var(--ink);font-size:15px}.field small{font-weight:400;color:var(--muted)}.field textarea{resize:vertical}.full,.consent,.submit,.form-status{grid-column:1/-1}.consent{font-size:13px;display:flex;gap:10px;align-items:flex-start}.consent a{text-decoration:underline}.choice{margin:0;border:0;padding:0;display:flex;gap:16px;flex-wrap:wrap}.choice legend{font-weight:650;margin-bottom:7px}.choice label{font-weight:450}.submit{width:100%}.form-status{font-size:12px;color:var(--muted);margin:0}.trap{position:absolute!important;left:-99999px!important;opacity:0!important}.side-facts>div{border-top:1px solid var(--line);padding:17px 0}.side-facts p{margin:4px 0}.contact-box{padding:22px;background:var(--light)}.contact-hero{padding:105px 0;background:linear-gradient(90deg,#081e33fa,#0d283f8a),url('/assets/hero-amsterdam.jpg') center/cover;color:#fff}.contact-choices{display:grid;grid-template-columns:1fr 1fr;gap:24px}.choice-card{border:1px solid var(--line);padding:28px;transition:background .2s}.choice-card:hover{background:var(--light);text-decoration:none}.choice-card>span{font-size:35px}.choice-card h2{font-size:28px}.choice-card strong{font-size:13px}.contact-row{border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;padding:16px 0}.contact-row a{text-decoration:underline}.narrow{max-width:790px}.narrow h2{margin-top:34px;font-size:27px}.footer{background:#081e31;color:#e6edf2;padding:60px 0 25px}.footcols{display:grid;grid-template-columns:2fr 1fr 1.1fr;gap:55px}.footcols strong{display:block;margin-bottom:15px}.footcols a,.footcols span:not(.footname span){display:block;font-size:14px;margin:7px 0}.footname{font:32px Georgia;letter-spacing:.11em}.footname span{font:11px sans-serif;letter-spacing:.3em;display:block}.footcols p{font-size:14px;color:#c8d5df}.footbottom{margin-top:38px;border-top:1px solid #ffffff36;padding-top:18px;display:flex;justify-content:space-between;gap:18px;font-size:12px}.wa{position:fixed;bottom:20px;right:20px;z-index:100;background:#176b47;color:white;padding:10px 15px;border-radius:30px;font-size:13px;font-weight:700;box-shadow:0 4px 17px #0004}.wa:hover{background:#0d5835;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bc8633;outline-offset:2px}@media(max-width:950px){.nav nav{display:none;position:absolute;top:82px;left:0;right:0;padding:22px;background:#fff;flex-direction:column;align-items:flex-start;box-shadow:0 12px 15px #0002}.nav nav.open{display:flex}.nav-toggle{display:block;background:transparent;border:0;font-size:28px}.split,.focus,.form-layout{grid-template-columns:1fr;gap:36px}.facts{padding-left:0;border-left:0;border-top:1px solid #ffffff77;padding-top:18px}.pillars{grid-template-columns:1fr 1fr;gap:22px}.pillar:nth-child(odd){border:0;padding-left:0}}@media(max-width:640px){.wrap{width:calc(100% - 36px)}.section{padding:54px 0}.hero{min-height:570px;background-position:57% center}.hero-content{padding:55px 0}.hero h1{font-size:clamp(2.2rem,10vw,3.3rem)}.hero p{font-size:16px}.pillars,.service-grid,.project-grid,.contact-choices,.form,.steps,.partner-grid,.footcols{grid-template-columns:1fr}.pillar{border-left:0;border-top:1px solid var(--line);padding:18px 0}.pillar h3{min-height:0}.project-card.featured{grid-column:auto;display:block}.project-card.featured img{height:330px;min-height:0}.form-card{padding:21px}.full,.consent,.submit,.form-status{grid-column:auto}.actions{flex-direction:column;align-items:flex-start}.contact-row{flex-direction:column;gap:0}.footer .footbottom{flex-direction:column}.service-visual{height:235px}.subhero,.contact-hero{padding:65px 0}.logo img{width:155px}.nav{height:70px}.nav nav{top:70px}}

/* HALF: nette keuzevelden stille verkoop en discretie */
.form fieldset.choice.field { display:block; min-width:0; border:0; padding:0; margin:0; }
.form fieldset.choice.field legend { display:block; margin:0 0 10px; padding:0; font-weight:650; font-size:13px; }
.form .radio-options { display:flex; flex-wrap:wrap; align-items:center; gap:22px; }
.form .radio-options label { display:inline-flex; align-items:center; gap:8px; margin:0; white-space:nowrap; font-size:14px; font-weight:450; cursor:pointer; }
.form .radio-options input[type="radio"] { appearance:auto; width:16px; height:16px; min-width:16px; margin:0; padding:0; accent-color:#0d283f; }

/* Validatie en euro-indicatie */
input[data-price-eur]{font-variant-numeric:tabular-nums}
input[data-phone-ten]:user-invalid{border-color:#ad4242}

/* Half Development positionering */
.hero-slogan{margin:1.1rem 0 1.25rem;font-size:clamp(1rem,1.5vw,1.3rem);font-weight:600;letter-spacing:.012em;color:#fff;line-height:1.4}


/* Extra pagina's Over Half / Onze visie */
.about-editorial{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,84px);align-items:center}
.about-editorial.reverse{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.about-editorial h2{margin:14px 0 25px}.about-editorial p{max-width:61ch}
.about-visual{margin:0}.about-visual img{display:block;width:100%;height:440px;object-fit:cover;border-radius:2px}.about-visual figcaption{font-size:12px;color:var(--muted);margin-top:10px}
.values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:36px}.values-grid article{border-left:1px solid var(--line);padding-left:22px}.values-grid h3{font-size:1.35rem;margin:7px 0 10px}.values-grid p{font-size:14px;color:var(--muted)}
.statement-band{background:#0d283f;color:white;padding:78px 0}.statement-band h2{font-size:clamp(2.4rem,4.4vw,4.7rem);margin:14px 0}.statement-band p{color:#e3ebf2;max-width:680px}
.about-more-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:20px}.text-link{display:inline-flex;gap:7px;align-items:center;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
@media(max-width:950px){.about-editorial,.about-editorial.reverse{grid-template-columns:1fr}.values-grid{grid-template-columns:1fr 1fr}.about-visual img{height:360px}}
@media(max-width:640px){.values-grid{grid-template-columns:1fr}.about-visual img{height:260px}.statement-band{padding:55px 0}.header .nav nav{max-height:calc(100vh - 70px);overflow-y:auto}}
