:root{--accent:#c5a059;--accent-dark:#a8863f;--text-main:#1a1a1a;--text-sub:#5a5a5a;--section-bg:#faf9f7;--border-color:#e5e2dc;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Montserrat',sans-serif;color:var(--text-main);background:#fff;line-height:1.75;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
.wrap{max-width:1100px;margin:0 auto;padding:0 1.5rem;}
.smal{max-width:780px;}
/* topbar */
.topbar{position:fixed;top:0;left:0;right:0;z-index:1100;background:#1a1a1a;color:#fff;font-size:0.78rem;letter-spacing:0.04em;padding:0.55rem 1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;text-align:center;gap:0.2rem 0.9rem;line-height:1.5;}
.topbar-spacer{height:var(--tb-h,37px);}
.topbar-check{color:var(--accent);font-weight:700;margin-right:0.35rem;}
.topbar-sep{color:var(--accent);margin:0 0.3rem;}
.topbar-link{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(197,160,89,0.5);transition:0.3s;white-space:nowrap;}
.topbar-link:hover{color:#fff;border-color:#fff;}
/* nav */
nav.hoofd{position:sticky;top:var(--tb-h,37px);z-index:1000;background:rgba(255,255,255,0.98);border-bottom:1px solid var(--border-color);backdrop-filter:blur(6px);}
nav.hoofd .inner{max-width:1100px;margin:0 auto;padding:0.9rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.merk{font-family:'Playfair Display',serif;font-size:1.05rem;letter-spacing:0.02em;text-decoration:none;color:var(--text-main);white-space:nowrap;}
.merk span{color:var(--accent);}
.navlinks{display:flex;gap:1.6rem;align-items:center;}
.navlinks a{font-size:0.76rem;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;color:var(--text-sub);transition:0.3s;white-space:nowrap;}
.navlinks a:hover{color:var(--accent);}
.navlinks a.wissel{color:var(--text-main);border-bottom:1px solid var(--accent);}
/* typografie */
h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,4.6vw,3.2rem);font-weight:700;line-height:1.15;letter-spacing:-0.01em;}
h2{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;line-height:1.25;}
h3{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;}
p{font-weight:300;}
.lead{color:var(--text-sub);font-size:1.05rem;font-weight:300;}
.kicker{font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent);font-weight:600;}
.streep{width:56px;height:2px;background:var(--accent);margin:1.1rem 0;}
.streep.mid{margin:1.1rem auto;}
/* secties */
section{padding:4.5rem 0;}
section.bg{background:var(--section-bg);}
section.hero{padding:5rem 0 4rem;}
.mid{text-align:center;}
.mid .streep{margin-left:auto;margin-right:auto;}
/* knoppen */
.btn{display:inline-block;padding:1rem 2.1rem;font-size:0.78rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:600;text-decoration:none;transition:0.3s;border:1px solid var(--text-main);cursor:pointer;}
.btn-primary{background:var(--text-main);color:#fff;}
.btn-primary:hover{background:var(--accent);border-color:var(--accent);}
.btn-ghost{background:transparent;color:var(--text-main);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
/* grid en kaarten */
.grid{display:grid;gap:1.5rem;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.kaart{background:#fff;border:1px solid var(--border-color);padding:2rem;transition:0.35s;}
.kaart:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 16px 36px rgba(26,26,26,0.07);}
.kaart h3{margin-bottom:0.6rem;}
.kaart p{font-size:0.93rem;color:var(--text-sub);}
a.kaart{text-decoration:none;color:inherit;display:block;}
.stap{display:flex;gap:1.2rem;margin-bottom:1.8rem;}
.stap .nr{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--accent);line-height:1;min-width:2.2rem;}
ul.vink{list-style:none;}
ul.vink li{padding-left:1.5rem;position:relative;margin-bottom:0.6rem;font-weight:300;}
ul.vink li:before{content:"\2713";position:absolute;left:0;color:var(--accent);font-weight:600;}
.infobox{background:var(--section-bg);border-left:3px solid var(--accent);padding:1.6rem 1.8rem;margin:2rem 0;}
.infobox h3{margin-bottom:0.6rem;}
.infobox p{font-size:0.94rem;}
/* persoonlijk blok */
.persoon{display:grid;grid-template-columns:300px 1fr;gap:3rem;align-items:center;}
.persoon img{width:100%;height:auto;filter:grayscale(100%);}
.persoon .hand{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--text-main);margin-top:1.6rem;}
.persoon .hand small{display:block;font-family:'Montserrat',sans-serif;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-sub);margin-top:0.3rem;}
.persoon p + p{margin-top:1rem;}
@media(max-width:820px){.persoon{grid-template-columns:1fr;gap:1.8rem;}.persoon .foto{max-width:220px;}}
/* tarieven */
.prijs{border:1px solid var(--border-color);padding:1.8rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:flex-start;justify-content:space-between;transition:0.3s;background:#fff;}
.prijs:hover{border-color:var(--accent);}
.prijs + .prijs{margin-top:1rem;}
.prijs .kop{flex:1 1 340px;}
.prijs .letter{font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent);font-weight:600;}
.prijs h3{margin:0.35rem 0 0.5rem;}
.prijs p{font-size:0.93rem;color:var(--text-sub);}
.prijs .bedrag{flex:0 0 auto;text-align:right;min-width:170px;}
.prijs .bedrag .ex{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;line-height:1.2;white-space:nowrap;}
.prijs .bedrag .in{font-size:0.78rem;color:var(--text-sub);letter-spacing:0.04em;white-space:nowrap;}
.prijs .bedrag .los{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;line-height:1.3;}
@media(max-width:820px){.prijs{flex-direction:column;padding:1.4rem;}.prijs .bedrag{text-align:left;min-width:0;}}
/* blog */
.blogkaart{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--border-color);transition:0.35s;overflow:hidden;}
.blogkaart:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 16px 36px rgba(26,26,26,0.07);}
.blogkaart .beeld{height:200px;overflow:hidden;background:var(--section-bg);}
.blogkaart .beeld img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:0.5s;}
.blogkaart:hover .beeld img{filter:grayscale(0);transform:scale(1.04);}
.blogkaart .tekst{padding:1.6rem;}
.blogkaart h3{font-size:1.12rem;line-height:1.35;margin:0.5rem 0 0.6rem;}
.blogkaart p{font-size:0.9rem;color:var(--text-sub);}
.blogkaart .lees{margin-top:1.1rem;font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:600;color:var(--accent);}
.artikelbeeld{width:100%;height:340px;object-fit:cover;filter:grayscale(100%);}
.artikel p{margin-bottom:1.2rem;}
.artikel h2{margin:2.6rem 0 0.4rem;}
.artikel ul.vink{margin:1.2rem 0;}
.meta{font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-sub);}
@media(max-width:820px){.artikelbeeld{height:210px;}.blogkaart .beeld{height:170px;}}
/* kantoorgegevens */
.kantoor-sectie{background:#faf8f2;padding:5rem 0;}
.kantoor-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.kantoor-grid h2{margin-bottom:1.2rem;}
.kantoor-grid p{margin-bottom:0.5rem;font-weight:300;}
.kantoor-grid a{color:var(--text-main);text-decoration:none;border-bottom:1px solid rgba(197,160,89,0.5);transition:0.3s;}
.kantoor-grid a:hover{color:var(--accent);border-color:var(--accent);}
.map-wrapper{height:300px;border:1px solid #eaeaea;overflow:hidden;background:#fff;}
.map-wrapper iframe{width:100%;height:100%;border:0;display:block;}
@media(max-width:820px){.kantoor-grid{grid-template-columns:1fr;gap:2rem;}.kantoor-sectie{padding:3rem 0;}.map-wrapper{height:240px;}}
/* faq */
details.faq{border-bottom:1px solid var(--border-color);padding:1.2rem 0;}
details.faq summary{cursor:pointer;font-weight:500;font-size:1rem;list-style:none;display:flex;justify-content:space-between;gap:1rem;}
details.faq summary::-webkit-details-marker{display:none;}
details.faq summary:after{content:"+";color:var(--accent);font-size:1.3rem;line-height:1;}
details.faq[open] summary:after{content:"\2013";}
details.faq p{margin-top:0.9rem;color:var(--text-sub);font-size:0.95rem;}
/* formulier */
.form{background:#fff;border:1px solid var(--border-color);padding:2.2rem;}
.veld{margin-bottom:1.3rem;}
.veld label{display:block;font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-sub);margin-bottom:0.5rem;font-weight:500;}
.veld input[type=text],.veld input[type=email],.veld input[type=tel],.veld textarea,.veld select{width:100%;padding:0.85rem 1rem;border:1px solid var(--border-color);font-family:inherit;font-size:0.95rem;font-weight:300;background:#fff;transition:0.3s;}
.veld input:focus,.veld textarea:focus,.veld select:focus{outline:none;border-color:var(--accent);}
.veld textarea{min-height:150px;resize:vertical;}
.opties{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;}
.optie{position:relative;}
.optie input{position:absolute;opacity:0;width:0;height:0;}
.optie span{text-transform:none;letter-spacing:normal;font-weight:300;}
.veld label.akkoord{text-transform:none;letter-spacing:normal;font-weight:300;font-size:0.85rem;}
.optie input:checked + span{font-weight:500;}
.optie span{display:block;border:1px solid var(--border-color);padding:0.9rem 1rem;font-size:0.9rem;font-weight:300;cursor:pointer;transition:0.25s;line-height:1.45;}
.optie span:hover{border-color:var(--accent);}
.optie input:checked + span{border-color:var(--accent);background:var(--section-bg);font-weight:500;}
.optie input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px;}
.akkoord{display:flex;gap:0.7rem;align-items:flex-start;font-size:0.85rem;color:var(--text-sub);font-weight:300;}
.akkoord input{margin-top:0.35rem;}
.hint{font-size:0.82rem;color:var(--text-sub);font-weight:300;margin-top:0.4rem;}
/* footer */
footer.site{border-top:1px solid #eee;padding:3.75rem 0 2.5rem;text-align:center;font-size:0.7rem;color:#999;background:#fff;}
footer.site p{font-weight:300;line-height:2;color:#999;font-size:0.7rem;}
footer.site .fl{margin-top:2rem;display:flex;flex-wrap:wrap;gap:0.3rem 0.55rem;justify-content:center;color:#c9c9c9;}
footer.site .fl.intern{margin-top:0;margin-bottom:2rem;}
footer.site a{color:var(--text-main);text-decoration:none;letter-spacing:0.05em;font-weight:300;transition:0.3s;}
footer.site a:hover{color:var(--accent);}
@media(max-width:820px){.g2,.g3,.opties{grid-template-columns:1fr;}nav.hoofd .inner{flex-wrap:wrap;gap:0.5rem;}.navlinks{gap:1rem;}.navlinks a{font-size:0.68rem;letter-spacing:0.08em;}section{padding:3rem 0;}.topbar{font-size:0.64rem;padding:0.45rem 0.6rem;gap:0.1rem 0.55rem;letter-spacing:0.02em;line-height:1.45;}.topbar-sep{margin:0 0.12rem;}.form{padding:1.4rem;}}