:root{--ivoor:#F3EDE2;--choc:#3B2418;--bord:#5A1F27;--taupe:#A08D7B;--ivoor85:#E4D3C9;--lijn:rgba(59,36,24,.18);--serif:"Spectral",Georgia,"Times New Roman",serif;--sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivoor);color:var(--choc);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.65;text-align:left;text-wrap:pretty}
img{max-width:100%;display:block}
a{color:var(--choc);text-decoration:none}
a:hover{color:var(--bord)}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--serif);font-weight:300;margin:0;line-height:1.15}
h1{font-size:40px;letter-spacing:-.005em}
h2{font-size:28px}
h3{font-size:22px}
.wrap{max-width:1200px;margin:0 auto;padding-inline:24px}
.label{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--taupe);margin:0 0 20px}
.intro{font-family:var(--serif);font-weight:400;font-size:18px;line-height:1.55;max-width:34em}
.small{font-size:14px;line-height:1.6;color:var(--taupe)}
/* header */
.site-header{border-bottom:2px solid var(--bord)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:80px;position:relative}
.brand{display:flex;flex-direction:column;line-height:1;padding:14px 0}
.brand:hover{color:var(--choc)}
.brand-top{font-weight:500;font-size:10px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:3px}
.brand-name{font-family:var(--serif);font-style:italic;font-weight:300;font-size:28px}
.menu-btn{background:none;border:0;padding:12px 0;font:inherit;font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--choc);cursor:pointer}
.nav{display:none}
.nav.open{display:block;position:absolute;left:0;right:0;top:100%;background:var(--ivoor);border-bottom:2px solid var(--bord);padding:8px 24px 24px;z-index:10}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.nav a{display:inline-block;padding:10px 0;font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;border-bottom:1px solid transparent}
.nav a[aria-current="page"]{border-bottom-color:var(--choc)}
/* knoppen */
.btn{display:inline-block;background:var(--choc);color:var(--ivoor);font-weight:500;font-size:12px;letter-spacing:.24em;text-transform:uppercase;padding:18px 28px;border:0;border-radius:0;cursor:pointer;font-family:var(--sans)}
.btn:hover{background:var(--bord);color:var(--ivoor)}
.link{font-weight:500;font-size:14px;letter-spacing:.24em;text-transform:uppercase;color:var(--bord);border-bottom:1px solid var(--bord);padding-bottom:4px}
.link:hover{color:var(--choc);border-bottom-color:var(--choc)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 36px;margin-top:36px}
/* secties */
.section{padding:64px 0}
.section + .section{padding-top:0}
.hero{padding-block:56px 64px;display:grid;gap:40px}
.hero h1{margin-bottom:24px}
.page-head{padding-block:56px 48px}
.page-head h1{margin-bottom:20px}
.cols{display:grid;gap:40px 48px}
.cols h3{margin-bottom:12px}
.cols p{margin:0}
/* fotoplaceholder */
.photo{position:relative;background:repeating-linear-gradient(135deg,#E9E1D3 0 8px,#EFE8DB 8px 16px);aspect-ratio:4/5;display:flex;align-items:flex-end;padding:16px}
.photo span{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.06em;color:var(--taupe)}
/* citaat */
.quote{background:var(--choc);color:var(--ivoor85);padding:72px 0}
.quote blockquote{margin:0;font-family:var(--serif);font-style:italic;font-weight:300;font-size:30px;line-height:1.3;max-width:24em}
.quote .label{color:var(--taupe);margin:28px 0 0}
/* stappen */
.steps{list-style:none;margin:0;padding:28px 0 0;display:grid;gap:32px 40px;border-top:2px solid var(--bord)}
.steps .num{display:block;font-family:var(--serif);font-weight:300;font-size:30px;line-height:1;margin-bottom:14px}
.steps h3{font-size:20px;margin-bottom:8px}
.steps p{margin:0}
.section-title{margin-bottom:36px}
.cta{padding:72px 0 88px}
.cta h2{margin-bottom:28px}
/* rijen op subpagina's */
.rows{margin:0;padding:0;list-style:none}
.rows li{display:grid;gap:8px 48px;padding:32px 0;border-top:1px solid var(--lijn)}
.rows li:last-child{border-bottom:1px solid var(--lijn)}
.rows h3{font-size:24px}
.rows p{margin:0}
.rows .prijs{font-weight:400;font-size:15px;color:var(--taupe);margin-top:8px}
.prijs{font-weight:400;font-size:15px;color:var(--taupe)}
.blocks{display:grid;gap:40px 48px}
.blocks h2{font-size:24px;margin-bottom:14px}
.blocks h3{margin-bottom:10px}
.blocks p:last-child{margin-bottom:0}
.prose{max-width:38em}
.two{display:grid;gap:48px}
/* formulier */
.form-grid{display:grid;gap:48px}
.field{margin-bottom:28px}
.field label{display:block;font-weight:500;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--taupe);margin-bottom:8px}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea{width:100%;border:0;border-bottom:1px solid var(--choc);background:transparent;padding:10px 0;font:inherit;font-weight:400;font-size:17px;color:var(--choc);border-radius:0}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-bottom:2px solid var(--bord)}
.field input[type=file]{font:inherit;font-size:15px;color:var(--choc);padding:8px 0}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;margin:8px 0 32px}
.check input{margin:5px 0 0;accent-color:var(--bord);width:16px;height:16px}
.check a{border-bottom:1px solid var(--choc)}
.aside p{margin-bottom:20px}
/* footer */
.site-footer{border-top:1px solid var(--lijn);padding:48px 0 56px;margin-top:24px}
.site-footer .wrap{display:grid;gap:28px}
.disc{position:relative;width:72px;height:72px;border-radius:50%;background:var(--bord);color:var(--ivoor);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;flex:none}
.disc-ring{position:absolute;inset:6%;border:1px solid var(--ivoor);border-radius:50%}
.disc-top{font-weight:500;font-size:6px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:2px;margin-left:.3em}
.disc-name{font-family:var(--serif);font-style:italic;font-weight:300;font-size:21px}
.foot-text{font-size:14px;line-height:1.7}
.foot-text p{margin:0}
.foot-text a{border-bottom:1px solid var(--lijn)}
@media (min-width:720px){
  .wrap{padding-inline:40px}
  h1{font-size:48px}
  .cols{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rows li{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
  .rows .prijs{grid-column:2}
  .blocks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer .wrap{grid-template-columns:auto 1fr;align-items:start}
  .nav.open{padding:8px 40px 24px}
}
@media (min-width:960px){
  .wrap{padding-inline:56px}
  h1{font-size:56px}
  .menu-btn{display:none}
  .nav{display:block;position:static;border:0;padding:0;background:none}
  .nav ul{flex-direction:row;gap:36px}
  .hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:72px;padding-block:80px 96px}
  .section{padding:96px 0}
  .quote{padding:104px 0}
  .quote blockquote{font-size:38px}
  .steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .form-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:96px;align-items:start}
  .page-head{padding-block:80px 64px}
  .cta{padding:104px 0 128px}
  .two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}
}
