:root{
  --paper:#f5f0e6;
  --paper-deep:#e8dfd0;
  --ink:#343846;
  --muted:#686b72;
  --hair:rgba(52,56,70,.20);
  --red:#ed3f50;
  --gold:#f2a322;
  --blue:#3ba8d3;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:"Aptos","Segoe UI",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.section-shell{width:min(1500px,calc(100% - 11vw));margin-inline:auto}
.site-header{height:155px;width:min(1500px,calc(100% - 11vw));margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}
.brand{display:block;width:710px;flex:0 0 auto}.brand img{width:100%;height:auto}
.desktop-nav{display:flex;align-items:center;gap:36px;font-size:14px;letter-spacing:.01em}.desktop-nav a{position:relative}.desktop-nav a:not(.nav-contact)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--ink);transition:right .25s ease}.desktop-nav a:not(.nav-contact):hover::after{right:0}.nav-contact{border:1px solid var(--ink);border-radius:100px;padding:11px 20px}
.menu-button{display:none;border:0;background:none;padding:10px}.menu-button span{display:block;width:26px;height:1px;background:var(--ink);margin:7px 0}
.hero{min-height:735px;display:grid;grid-template-columns:minmax(520px,1.08fr) minmax(430px,.92fr);gap:7vw;align-items:center;position:relative;padding:62px 0 105px}
.hero-copy{max-width:760px;z-index:2}.kicker{margin:0 0 24px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;color:var(--muted)}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.025em}
.hero h1{font-size:clamp(76px,7vw,118px);line-height:.92}.hero h1 em,.about h2 em{font-weight:400;color:var(--red);font-style:italic}.hero-intro{max-width:660px;font-size:20px;color:#565a64;margin:42px 0 0}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:40px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;border-radius:100px;padding:14px 28px;font-size:15px;font-weight:600}.quiet-link{font-size:14px;font-weight:600;display:inline-flex;gap:10px;align-items:center}.quiet-link span{font-size:17px}
.hero-portrait{height:585px;position:relative;display:flex;align-items:center;justify-content:center}.hero-portrait figure{position:relative;width:365px;height:475px;margin:0;overflow:hidden;border-radius:190px 190px 18px 18px;z-index:2;box-shadow:0 24px 70px rgba(52,56,70,.09)}.hero-portrait figure img{width:100%;height:100%;object-fit:cover;object-position:center 27%}.logo-circle{position:absolute;width:500px;height:500px;border:1px solid rgba(52,56,70,.47);border-radius:50%;right:-58px;top:17px}.logo-circle::after{content:"";position:absolute;width:362px;height:362px;border:1px solid rgba(52,56,70,.13);border-radius:50%;right:67px;top:68px}.portrait-label{position:absolute;z-index:3;right:1px;bottom:28px;background:var(--paper);padding:13px 4px 12px 23px;min-width:186px;border-top:1px solid var(--ink)}.portrait-label span{display:block;font-family:var(--serif);font-style:italic;font-size:19px}.portrait-label small{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:9px;margin-top:3px;color:var(--muted)}.hero-rule{position:absolute;height:1px;background:var(--hair);left:0;right:0;bottom:0}.hero-rule::before{content:"";display:block;width:120px;height:4px;background:linear-gradient(90deg,var(--red) 0 33%,var(--blue) 33% 66%,var(--gold) 66%);transform:translateY(-1.5px)}
.principles{height:112px;display:flex;align-items:center;justify-content:center;gap:27px;text-transform:uppercase;letter-spacing:.17em;font-size:11px;color:var(--muted)}.principles p{margin:0}.principles span{width:58px;height:1px;background:var(--hair)}
.services{padding-top:120px;padding-bottom:150px;display:grid;grid-template-columns:100px 1.25fr .75fr;column-gap:5vw}.section-number{font-family:var(--serif);font-size:21px;font-style:italic;color:#8b8b8c;padding-top:4px}.section-title{max-width:820px}.section-title h2{font-size:clamp(55px,5.2vw,84px);line-height:1.02}.services-intro{font-size:19px;align-self:end;color:var(--muted);max-width:420px}.services-intro p{margin:0}.service-list{grid-column:2/4;margin-top:75px;border-top:1px solid var(--hair)}.service{display:grid;grid-template-columns:.65fr 1fr 60px;gap:45px;align-items:start;padding:37px 0;border-bottom:1px solid var(--hair);transition:padding .25s ease}.service:hover{padding-left:10px}.service h3{font-size:35px;line-height:1.05}.service p{margin:0;color:var(--muted);max-width:620px}.service-index{font-family:var(--serif);font-style:italic;color:#999;text-align:right}
.method{background:var(--ink);color:var(--paper);padding:145px 0}.method-inner{display:grid;grid-template-columns:.82fr 1.18fr;gap:9vw;align-items:center}.method-art{min-height:590px;position:relative;display:flex;align-items:center;justify-content:center}.method-circle{position:absolute;width:min(39vw,545px);height:min(39vw,545px);border:1px solid rgba(245,240,230,.34);border-radius:50%}.method-line{position:absolute;height:1px;width:72%;background:rgba(245,240,230,.28);left:-12%;bottom:19%}.method-line::after{content:"";position:absolute;width:55px;height:4px;right:0;top:-2px;background:var(--blue)}.method-art>p{font-family:var(--serif);font-size:clamp(42px,4vw,65px);line-height:.92;text-align:center;margin:0;position:relative;z-index:2}.method-art em{color:var(--gold);font-style:italic}.method-copy .kicker{color:#aaaeb7}.method-copy h2{font-size:clamp(55px,5.2vw,82px);line-height:1.02}.method-lead{font-size:19px;color:#d0d1d5;max-width:720px;margin:32px 0 45px}.method-copy ol{list-style:none;margin:0;padding:0;border-top:1px solid rgba(245,240,230,.18)}.method-copy li{display:grid;grid-template-columns:65px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid rgba(245,240,230,.18)}.method-copy li>span{font-family:var(--serif);font-style:italic;color:#91949c}.method-copy strong{font-weight:600}.method-copy li p{margin:3px 0 0;color:#bfc1c7;font-size:15px}
.about{padding-top:155px;padding-bottom:155px;display:grid;grid-template-columns:1fr;gap:0;align-items:center}.about-copy{max-width:850px}.about-copy .section-number{margin-bottom:48px}.about h2{font-size:clamp(61px,5.7vw,91px);line-height:.98}.about-lead{font-family:var(--serif);font-size:27px;line-height:1.38;margin:38px 0 23px}.about-copy>p:last-child{color:var(--muted);max-width:620px}.about-image{height:620px;position:relative;margin-right:2vw}.about-image img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:saturate(.78) contrast(.97)}.image-line{position:absolute;width:185px;height:185px;border:1px solid var(--ink);border-radius:50%;left:-87px;bottom:-78px}.image-line::after{content:"";position:absolute;height:1px;width:220px;background:var(--ink);left:92px;top:91px}
.statement{padding:25px 0 150px;position:relative}.statement-line{height:1px;background:var(--hair);margin-bottom:65px}.statement-line::after{content:"";display:block;width:80px;height:4px;background:var(--gold);transform:translateY(-1.5px)}.statement p{margin:0 0 7px;text-transform:uppercase;letter-spacing:.15em;font-size:11px;color:var(--muted)}.statement h2{font-size:clamp(58px,6vw,94px);line-height:1.02;max-width:1100px}
.contact{background:var(--red);color:white;padding:95px 7vw;margin-bottom:0;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.contact .kicker{color:rgba(255,255,255,.72)}.contact h2{font-size:clamp(57px,5.5vw,86px);line-height:1.02;max-width:850px}.contact-copy>p:not(.kicker,.demo-note){max-width:720px;font-size:19px;color:rgba(255,255,255,.82);margin:30px 0 0}.demo-note{font-size:12px;color:rgba(255,255,255,.62);margin-top:32px}.contact-card{border-top:1px solid rgba(255,255,255,.55);padding-top:23px;max-width:430px}.contact-label{text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:rgba(255,255,255,.7)}.contact-card h3{font-size:32px}.contact-card>p:not(.contact-label,.contact-small){font-family:var(--serif);font-size:22px;line-height:1.4}.contact-rule{height:1px;background:rgba(255,255,255,.28);margin:28px 0}.contact-small{font-size:13px;color:rgba(255,255,255,.67)}
footer{height:145px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}footer img{width:470px}footer p{margin:0}footer a{font-weight:600;color:var(--ink)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.section-shell,.site-header{width:calc(100% - 48px)}.site-header{height:125px}.brand{width:570px}.desktop-nav{gap:22px}.hero{grid-template-columns:1fr .85fr;gap:3vw;padding-top:35px}.hero-portrait figure{width:320px;height:435px}.logo-circle{width:440px;height:440px;right:-125px}.logo-circle::after{width:318px;height:318px}.services{grid-template-columns:65px 1fr}.services-intro{grid-column:2;margin-top:30px}.service-list{grid-column:2}.method-inner{grid-template-columns:.75fr 1.25fr;gap:5vw}.about{gap:5vw}.about-image{height:550px}}
@media(max-width:820px){.site-header{height:115px}.brand{width:540px}.desktop-nav{display:none}.menu-button{display:block}.hero{grid-template-columns:1fr;padding:45px 0 80px}.hero-copy{max-width:680px}.hero-portrait{height:505px;margin-top:15px}.hero-portrait figure{width:320px;height:420px}.logo-circle{width:430px;height:430px;right:calc(50% - 265px);top:14px}.portrait-label{right:calc(50% - 230px);bottom:15px}.principles{gap:16px;height:95px}.principles span{width:30px}.services{padding-top:90px;padding-bottom:105px;grid-template-columns:48px 1fr}.service{grid-template-columns:1fr 1.25fr 36px;gap:22px}.method{padding:100px 0}.method-inner{grid-template-columns:1fr}.method-art{min-height:390px}.method-circle{width:360px;height:360px}.method-line{width:65%;left:0}.about{padding-top:110px;padding-bottom:115px;grid-template-columns:1fr}.about-copy{max-width:680px}.about-image{height:520px;max-width:560px;margin:25px 0 0 auto}.statement{padding-bottom:105px}.contact{width:calc(100% - 48px);padding:75px 35px;grid-template-columns:1fr}.contact-card{margin-top:25px}footer{height:auto;padding:38px 0;gap:25px;flex-wrap:wrap}}
@media(max-width:560px){body{font-size:16px}.section-shell,.site-header{width:calc(100% - 36px)}.site-header{height:105px}.brand{width:450px}.hero{padding-top:35px}.hero h1{font-size:64px}.hero-intro{font-size:17px;margin-top:28px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px;margin-top:30px}.hero-portrait{height:420px}.hero-portrait figure{width:255px;height:350px}.logo-circle{width:350px;height:350px;right:calc(50% - 218px)}.logo-circle::after{width:255px;height:255px;right:47px;top:47px}.portrait-label{right:0;bottom:4px}.principles{justify-content:space-between;gap:7px;font-size:9px;letter-spacing:.11em}.principles span{width:18px}.services{padding-top:75px;grid-template-columns:1fr}.services>.section-number{display:none}.section-title,.services-intro,.service-list{grid-column:1}.section-title h2{font-size:48px}.service{grid-template-columns:1fr;gap:12px;padding:28px 0}.service h3{font-size:30px}.service-index{display:none}.method-art{min-height:320px}.method-circle{width:290px;height:290px}.method-art>p{font-size:41px}.method-copy h2{font-size:48px}.method-lead{font-size:17px}.about h2{font-size:55px}.about-lead{font-size:23px}.about-image{height:430px}.image-line{width:135px;height:135px;left:-55px;bottom:-55px}.image-line::after{left:67px;top:66px;width:150px}.statement h2{font-size:51px}.contact{width:calc(100% - 36px);padding:55px 24px}.contact h2{font-size:48px}footer img{width:410px}footer p{width:100%;order:3}}

/* Leesbaarheid: kleine typografie iets groter, zonder de lay-out te wijzigen */
body{font-size:18px}
.desktop-nav{font-size:16px}
.kicker{font-size:14px}
.button{font-size:16px}
.quiet-link{font-size:16px}
.portrait-label small{font-size:11px}
.principles{font-size:13px}
.section-number{font-size:23px}
.method-copy li p{font-size:17px}
.statement p{font-size:13px}
.demo-note{font-size:14px}
.contact-label{font-size:12px}
.contact-small{font-size:15px}
footer{font-size:14px}

@media(max-width:560px){
  body{font-size:18px}
  .kicker{font-size:13px}
  .button,.quiet-link{font-size:16px}
  .principles{font-size:11px}
  .portrait-label small{font-size:11px}
  .method-copy li p{font-size:17px}
  .statement p{font-size:12px}
  .demo-note{font-size:13px}
  .contact-label{font-size:12px}
  .contact-small{font-size:15px}
  footer{font-size:14px}
}
