/* Uitbreiding op het ongewijzigde ontwerp van homepage-v1. */
:focus-visible { outline: 3px solid #926f00; outline-offset: 5px; }
section[id], main { scroll-margin-top: 105px; }
.main-nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 7px; text-decoration-color: var(--accent); }
.page-hero { background: var(--paper); }
.page-hero h1 { font-size: clamp(3rem, 6vw, 5.6rem); line-height: 1.04; letter-spacing: -.045em; margin: 0; max-width: 990px; }
.page-hero .hero-lead { max-width: 840px; }
.page-hero-grid.with-visual { display: grid; grid-template-columns: 1.4fr .65fr; gap: 70px; align-items: center; }
.page-portrait img { aspect-ratio: .85; }
.page-logo { padding: 26px; background: var(--white); border: 1px solid var(--line); border-radius: 26px; }
.page-logo img { width: 100%; height: auto; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; color: #666159; font-size: .86rem; margin-bottom: 36px; }
.breadcrumbs a { text-underline-offset: 4px; }
.content-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: start; }
.content-grid > * { min-width: 0; overflow-wrap: break-word; }
.content-grid h2 { font-size: clamp(2.1rem, 3.5vw, 3.6rem); line-height: 1.08; }
.prose { font-size: 1.08rem; }
.prose > :first-child { margin-top: 0; }
.prose > :last-child { margin-bottom: 0; }
.prose p { color: #514e48; }
.prose a { text-underline-offset: 4px; }
.prose .plain-list { margin-top: 22px; }
.inner-cards { grid-template-columns: repeat(3, 1fr); }
.inner-cards .service-card { display: flex; flex-direction: column; }
.inner-cards .text-link { margin-top: auto; padding-top: 24px; }
.inner-cards .service-marker { margin-bottom: 28px; }
.case-logo { display: grid; place-items: center; padding: 48px; background: #e8e1d2; }
.case-logo img { width: min(100%, 360px); height: auto; min-height: 0; object-fit: contain; filter: none; }
.experience-list { display: grid; grid-template-columns: 1fr 1fr; gap: 34px 60px; }
.experience-list article { border-top: 1px solid var(--line); padding-top: 26px; }
.experience-list h3 { margin: 8px 0 14px; font-size: 1.8rem; line-height: 1.15; letter-spacing: -.03em; }
.experience-list p:last-child { color: #5c5953; }
.intake-grid { display: grid; grid-template-columns: 1.4fr .65fr; gap: 80px; align-items: start; }
.intake-aside { border: 1px solid var(--line); border-radius: 24px; padding: 32px; background: var(--paper); }
.intake-aside h2 { font-size: 2.1rem; line-height: 1.1; }
.intake-aside ol { padding-left: 21px; }
.intake-aside li { padding-bottom: 14px; }
.intake-aside a { overflow-wrap: anywhere; }
.intake-aside hr { border: 0; border-top: 1px solid var(--line); margin: 30px 0; }
fieldset { min-width: 0; border: 0; padding: 0; margin: 32px 0; }
legend { font-weight: 800; font-size: 1.35rem; letter-spacing: -.025em; margin-bottom: 18px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
.field { display: flex; flex-direction: column; gap: 7px; margin-bottom: 22px; min-width: 0; }
.field label { font-weight: 750; }
.field-hint, .small { font-size: .88rem; }
.field-hint { color: #625d54; }
input:not([type="checkbox"]), textarea, select { width: 100%; min-width: 0; padding: 13px 14px; border: 1px solid #aaa396; border-radius: 10px; color: var(--ink); background: #fff; line-height: 1.4; }
textarea { resize: vertical; }
input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"] { border: 2px solid #a02c1c; }
.field-error { color: #8c281b; font-size: .88rem; margin: 0; }
.audit-details { background: var(--paper); border: 1px solid var(--line); border-radius: 18px; padding: 24px; margin: 32px 0; }
.audit-details summary { cursor: pointer; font-weight: 750; }
.audit-details summary span { font-weight: 400; }
.audit-details[open] summary { margin-bottom: 24px; }
.checks legend { font-size: 1rem; }
.checks label { display: flex; align-items: center; gap: 10px; padding: 6px 0; }
.checks input { width: 19px; height: 19px; accent-color: #896c07; }
.privacy-note { color: #5c5953; font-size: .92rem; }
button.button { cursor: pointer; border: 0; }
button:disabled { cursor: wait; opacity: .65; }
.form-status:empty { display: none; }
.form-status:not(:empty) { padding: 18px 22px; border-radius: 12px; border: 1px solid #a02c1c; background: #fff4ed; color: #72271b; margin-bottom: 24px; }
.form-status a { font-weight: 700; }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.site-footer .footer-brand img { height: auto; }
.footer-end, .footer-brand p { color: #aaa397; }
.eyebrow:not(.eyebrow-dark), .card-kicker, .profile-facts strong, .hero-note .note-label { color: #846800; }
.section-dark .text-link { color: #f7f2e9; }
.case-copy .card-kicker, .route-freelance .card-kicker { color: var(--accent-soft); }
.hero h1 span { color: #a08008; }
.hero-note > span:last-child { color: #68645b; }
.diagnostic-foot { color: #aba498; }
.flow-index { color: #aaa398; }
.service-card h3 a { text-decoration-thickness: 1px; text-underline-offset: 5px; }
.service-card h3 a:hover { color: #846800; }
.button { text-align: center; }
@media (max-width: 1050px) { .inner-cards { grid-template-columns: 1fr 1fr; } .intake-grid { gap: 38px; grid-template-columns: 1.3fr .7fr; } .content-grid { gap: 45px; } }
@media (max-width: 860px) {
  .content-grid, .page-hero-grid.with-visual, .intake-grid { grid-template-columns: 1fr; gap: 32px; }
  .page-portrait, .page-logo { max-width: 380px; }
  .intake-aside { max-width: 650px; }
  .js .main-nav { display: none; } .js .main-nav.open { display: flex; }
  html:not(.js) .main-nav { position: static; display: flex; box-shadow: none; padding: 14px; }
  html:not(.js) .nav-wrap { flex-wrap: wrap; padding-block: 10px; }
  html:not(.js) .menu-toggle { display: none; }
  html:not(.js) .main-nav { width: 100%; }
}
@media (max-width: 620px) {
  .inner-cards, .experience-list, .form-grid { grid-template-columns: 1fr; }
  .page-hero h1 { font-size: clamp(2.5rem, 11vw, 3.8rem); overflow-wrap: anywhere; }
  .case-logo { padding: 35px; }
  .audit-details { padding: 18px; }
  .diagnostic-top { flex-wrap: wrap; }
  .page-hero .hero-lead { font-size: 1.05rem; }
  .email-link { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }
