/* Basisstijl: alle kleuren en maten zijn hier centraal aanpasbaar. */
:root{--bg:#f4f3ef;--surface:#fbfaf7;--muted:#e8e9e5;--ink:#202522;--secondary:#525c57;--accent:#365c59;--accent-dark:#274945;--line:#cbd0ca;--max:1160px;--reading:760px;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Atkinson Hyperlegible',Arial,sans-serif;font-size:18px;line-height:1.66}img{display:block;max-width:100%}a{color:var(--accent);text-underline-offset:4px}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}p{margin:0 0 1.15em}h1,h2,h3{line-height:1.12;letter-spacing:-.025em;margin:0 0 .65em;font-weight:700}h1{font-size:clamp(3rem,5.5vw,5.8rem);letter-spacing:-.048em}h1 em{font-style:normal;color:var(--accent)}h2{font-size:clamp(2.2rem,3.7vw,3.7rem)}h3{font-size:clamp(1.5rem,2.2vw,2rem)}.wrap{width:min(var(--max),calc(100% - 3.5rem));margin-inline:auto}.narrow{max-width:var(--reading)}.eyebrow{font-size:.77rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:1.5rem}.skip{position:absolute;left:1rem;top:-5rem;background:white;padding:.6rem;z-index:10}.skip:focus{top:1rem}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:100px}.brand{color:var(--ink);text-decoration:none;line-height:1.3}.brand strong{display:block;font-size:1.2rem}.brand span{display:block;color:var(--secondary);font-size:.76rem;margin-top:.2rem}.site-header nav{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(.8rem,1.9vw,1.9rem)}.site-header nav a{font-size:.88rem;color:var(--ink);text-decoration:none;font-weight:700}.site-header nav a:hover{color:var(--accent)}.site-header nav .nav-contact{border:1px solid var(--accent);padding:.55rem .85rem}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2.5rem,6vw,6.5rem);align-items:center;padding-block:clamp(4rem,8vw,8.5rem)}.hero-copy{max-width:680px}.hero .lead{font-size:1.22rem;line-height:1.55}.hero-photo{margin:0;align-self:stretch;min-height:570px;overflow:hidden;background:#d5d8d3}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}.button{display:inline-flex;gap:2.2rem;align-items:center;background:var(--accent);color:white;text-decoration:none;font-weight:700;font-size:.95rem;padding:1rem 1.3rem;margin-top:1rem;border:2px solid var(--accent)}.button:hover{background:var(--accent-dark)}.section{padding-block:clamp(4.5rem,8vw,8rem)}.section-muted{background:var(--muted)}.section-intro{max-width:790px;margin-bottom:3.5rem}.section-intro>p:last-child{font-size:1.12rem}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 4rem;border-top:1px solid var(--line)}.service{padding:2.3rem 0 2rem;border-bottom:1px solid var(--line)}.service-number{display:block;font-size:.75rem;letter-spacing:.12em;color:var(--accent);margin-bottom:1.5rem;font-weight:700}.service h3{margin-bottom:.7em}.service p:last-child,.theme-text p:last-child{margin-bottom:0}.prose-block{border-top:1px solid var(--line);padding:2.7rem 0 2.1rem}.prose-block h3{max-width:700px;font-size:clamp(1.8rem,3vw,2.75rem)}.landscape-band{height:clamp(280px,35vw,480px);position:relative;overflow:hidden;background:#56636b}.landscape-band img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:brightness(.77)}.band-caption{position:absolute;bottom:2rem;left:max(1.75rem,calc((100% - var(--max))/2));color:white;font-size:clamp(1.3rem,2.6vw,2.4rem);font-weight:700;text-shadow:0 2px 10px #0007}.theme{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem);align-items:center;padding-block:3.5rem;border-top:1px solid var(--line)}.theme-reverse .theme-text{order:2}.theme-reverse .theme-image{order:1}.theme-image{margin:0;height:clamp(380px,46vw,650px);overflow:hidden;background:#d5d8d3}.theme-image img{width:100%;height:100%;object-fit:cover}.theme h3{font-size:clamp(2rem,3vw,3.1rem)}.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,6vw,7rem);align-items:start}.about-photo{margin:5rem 0 0;min-height:500px;height:65%;overflow:hidden}.about-photo img{width:100%;height:100%;object-fit:cover}.practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem)}.practical-grid h3{font-size:1.65rem}.rate{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:1.2rem 0}.rate:last-of-type{border-bottom:1px solid var(--line);margin-bottom:1.6rem}.rate small{display:block;color:var(--secondary);font-size:.85rem}.rate strong{font-size:1.45rem;white-space:nowrap}.placeholder{color:var(--secondary);font-style:italic}.contact-section{background:var(--accent);color:#fff;padding-block:clamp(4rem,7vw,7rem)}.contact-section .eyebrow{color:#d4e6df}.contact-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:4rem;align-items:end}.contact-inner h2{max-width:650px}.contact-details{border-top:1px solid #ffffff80;padding-top:1.5rem}.contact-details strong,.contact-details span{display:block}.contact-section .placeholder{color:#e1eae6}.footer{padding:1.5rem 0;border-top:1px solid var(--line)}.footer-inner{display:flex;gap:1.5rem;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--secondary)}@media(max-width:900px){.header-inner{align-items:flex-start;flex-direction:column;padding:1.3rem 0;gap:1.1rem}.hero{grid-template-columns:1fr 40%;gap:2rem}.hero-photo{min-height:440px}.about-grid{grid-template-columns:1fr}.about-photo{height:320px;min-height:0;margin:0}.theme{gap:2rem}}@media(max-width:680px){body{font-size:17px}.wrap{width:calc(100% - 2.4rem)}.site-header nav{gap:.65rem 1.1rem}.site-header nav a{font-size:.83rem}.hero{grid-template-columns:1fr;padding-block:3.5rem}.hero-photo{min-height:0;height:440px;max-width:450px}.hero h1{font-size:clamp(2.8rem,12vw,4.3rem)}.service-grid,.theme,.practical-grid,.contact-inner{grid-template-columns:1fr}.theme-reverse .theme-text,.theme-reverse .theme-image{order:initial}.theme-image{height:330px}.theme{padding-block:2.5rem}.section{padding-block:4rem}.section-intro{margin-bottom:2rem}.footer-inner{align-items:flex-start;flex-direction:column;gap:.6rem}.landscape-band{height:300px}.band-caption{left:1.2rem;right:1.2rem}.contact-inner{gap:2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Attribution beneath the homepage quotation */
.quote-credit { margin-top: -0.35rem; margin-bottom: 1.5rem; font-size: .92rem; color: var(--text-soft, #59605c); }
/* Leesbare contactlinks op donkere achtergrond, inclusief bezochte links */
.contact-section a,
.contact-section a:link,
.contact-section a:visited {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  overflow-wrap: anywhere;
}
.contact-section a:hover { color: #e1f0e9; }
.contact-section a:focus-visible { outline: 3px solid #ffffff; outline-offset: 4px; }

/* Navigatie en terug-naar-boven-links */
.section-top-link { margin-top: 2.25rem; text-align: right; }
.section-top-link a { display: inline-block; font-size: .85rem; font-weight: 700; color: var(--accent); text-underline-offset: .25em; }
.contact-section .section-top-link a, .contact-section .section-top-link a:visited { color: #fff; }
.hero .section-top-link { grid-column: 1 / -1; margin-top: 0; }
.availability-note { font-weight: 700; color: var(--accent); }
@media(max-width:680px){ .section-top-link { margin-top: 1.5rem; } }

/* Juridische pagina’s en voettekst */
.footer-links{display:flex;flex-wrap:wrap;gap:.7rem 1.5rem}
.legal-content{max-width:760px}
.legal-content h1{font-size:clamp(2.6rem,5vw,4.3rem);margin-bottom:1rem}
.legal-content h2{font-size:clamp(1.5rem,2.5vw,2rem);margin-top:2.4rem}
.legal-content h3{font-size:1.3rem;margin-top:1.8rem}
.legal-back{margin-top:3rem;border-top:1px solid var(--line);padding-top:1.5rem}

/* Versie 7: smartphone-foto's: portretten volledig, landschappen compact. */
@media (max-width:680px) {
  /* Portretten tonen zonder uitsnijden of vaste hoge beeldkaders. */
  .hero-photo, .about-photo {
    width:100%; height:auto; min-height:0; max-width:390px;
    margin-inline:auto; overflow:visible; background:transparent;
  }
  .hero-photo img, .about-photo img {
    display:block; width:100%; height:auto; max-height:370px;
    object-fit:contain; object-position:center;
  }
  .about-photo {max-width:420px; margin-top:1.5rem;}
  .about-photo img {max-height:350px;}
  /* Beperkte uitsnijding in compacte, brede landschapskaders. */
  .theme-image {height:clamp(160px,52vw,220px); width:100%;}
  .theme-image img {height:100%;width:100%;object-fit:cover;object-position:center;}
  .landscape-band {height:clamp(190px,57vw,250px);}
  .landscape-band img {height:100%;object-fit:cover;object-position:center 55%;}
  .band-caption {bottom:1rem;font-size:clamp(1.2rem,5vw,1.65rem);}
  .hero {gap:1.8rem;}
  .theme {gap:1.5rem;}
}
