
    :root { --sand:#F3EDE2; --paper:#FBF8F2; --green:#204A42; --deep:#173730; --rust:#934F34; --rust-hover:#773D27; --ink:#22201C; --muted:#524E45; --line:#D8CDB8; --soft:#E9E0CF; --max:1120px; --header:88px; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header) + 20px); }
    body { margin:0; background:var(--sand); color:var(--ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:17px; line-height:1.65; }
    [hidden] { display:none !important; }
    h1,h2,h3,p,ul,figure { margin:0; }
    h1,h2,h3 { color:var(--green); line-height:1.12; font-family:Georgia,"Times New Roman",serif; font-weight:500; text-wrap:balance; }
    h1 { font-size:clamp(2.45rem,4.7vw,3.85rem); letter-spacing:-.04em; }
    h2 { font-size:clamp(1.85rem,3vw,2.65rem); letter-spacing:-.025em; }
    h3 { font-size:1.4rem; }
    a { color:var(--rust); text-decoration-thickness:1px; text-underline-offset:4px; }
    a:hover { text-decoration-thickness:2px; }
    a,button,summary { -webkit-tap-highlight-color:transparent; }
    :where(a,button,summary,[tabindex]):focus-visible { outline:3px solid var(--green); outline-offset:5px; border-radius:4px; }
    :where(.urgent,footer) :focus-visible { outline-color:#fff; }
    button { font:inherit; }
    img { max-width:100%; display:block; }
    .wrap { width:min(var(--max),calc(100% - 48px)); margin-inline:auto; }
    .section { padding:76px 0; }
    .paper { background:var(--paper); }
    .eyebrow { color:var(--rust); font-size:.79rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; margin-bottom:15px; }
    .muted { color:var(--muted); }
    .small { font-size:.9rem; }
    .section-head { max-width:680px; margin-bottom:32px; }
    .section-head p:not(.eyebrow) { margin-top:16px; color:var(--muted); }
    .btn { min-height:48px; display:inline-flex; justify-content:center; align-items:center; gap:10px; border-radius:999px; padding:13px 23px; font-size:1rem; font-weight:650; text-decoration:none; border:2px solid transparent; cursor:pointer; line-height:1.35; text-align:center; transition:background .15s,color .15s; }
    .btn:hover { text-decoration:none; }
    .btn-primary { background:var(--rust); color:#fff; }
    .btn-primary:hover { background:var(--rust-hover); }
    .btn-outline { background:transparent; border-color:var(--green); color:var(--green); }
    .btn-outline:hover { background:var(--green); color:#fff; }
    .actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
    .text-link { display:inline-flex; align-items:center; min-height:44px; font-weight:650; }
    .skip { position:fixed; z-index:100; top:8px; left:16px; padding:12px 20px; border-radius:6px; background:var(--deep); color:#fff; transform:translateY(-160%); }
    .skip:focus { transform:translateY(0); }
    header { position:sticky; top:0; z-index:40; background:var(--sand); border-bottom:1px solid var(--line); }
    .nav-wrap { display:flex; justify-content:space-between; align-items:center; min-height:var(--header); gap:28px; }
    .brand { display:flex; align-items:center; gap:10px; color:var(--green); text-decoration:none; flex-shrink:0; }
    .brand .brand-symbol { width:50px; height:50px; flex-shrink:0; }
    .brand .brand-wordmark { width:270px; height:auto; }
    .nav-links { display:flex; align-items:center; gap:24px; }
    .nav-links>a:not(.btn) { font-size:.92rem; font-weight:600; color:var(--ink); text-decoration:none; white-space:nowrap; padding-block:12px; }
    .nav-links>a:not(.btn):hover { color:var(--rust); text-decoration:underline; }
    .nav-links .btn { font-size:.92rem; padding:11px 19px; white-space:nowrap; }
    .menu-toggle { display:none; align-items:center; justify-content:center; border:1px solid var(--line); background:transparent; border-radius:9px; width:46px; height:46px; color:var(--green); cursor:pointer; flex-shrink:0; }
    .menu-toggle svg { width:24px; height:24px; }
    .hero { padding:64px 0 0; }
    .hero-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:78px; align-items:center; }
    .hero-grid>* { min-width:0; }
    .hero-intro { font-size:1.17rem; color:var(--muted); margin-top:23px; max-width:45ch; }
    .hero-location { color:var(--green); font-weight:600; font-size:.96rem; margin-top:20px; }
    .hero .actions { margin-top:28px; }
    .hero-credentials { margin-top:14px; color:var(--green); font-size:.94rem; }
    .hero-note { margin-top:17px; max-width:48ch; color:var(--muted); font-size:.9rem; }
    .portrait { position:relative; border-radius:18px; overflow:hidden; background:var(--soft); border:1px solid var(--line); }
    .portrait-media { position:relative; overflow:hidden; aspect-ratio:4/4.7; }
    .portrait img,.doctor-portrait img { position:absolute; top:0; left:-9%; width:118%; max-width:none; height:auto; margin-top:-18%; transform-origin:center 25%; transition:transform .5s ease; }
    .doctor-profile { display:grid; grid-template-columns:280px 1fr; gap:48px; align-items:center; max-width:960px; }
    .doctor-profile>* { min-width:0; }
    .doctor-portrait { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--soft); }
    .doctor-portrait .portrait-media { aspect-ratio:4/5; }
    @media(hover:hover) and (pointer:fine) { .portrait:hover img,.doctor-portrait:hover img { transform:scale(1.05); } }
    .portrait figcaption { padding:19px 24px; background:var(--paper); }
    .portrait strong { display:block; font-family:Georgia,serif; color:var(--green); font-size:1.35rem; font-weight:500; }
    .portrait span { display:block; color:var(--muted); font-size:.87rem; margin-top:2px; }
    .quick { margin-top:62px; background:var(--green); color:var(--paper); }
    .quick-grid { display:grid; grid-template-columns:1.05fr 1fr .85fr; }
    .quick-item { padding:23px 26px; border-right:1px solid #ffffff30; }
    .quick-item:first-child { padding-left:0; }
    .quick-item:last-child { border:0; }
    .quick-item strong { display:block; font-size:.91rem; }
    .quick-item span { display:block; color:#E0E9E3; font-size:.88rem; }
    .quick-item a { color:#fff; display:inline-block; margin-top:5px; font-size:.9rem; font-weight:600; }
    .split { display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:start; }
    .split>* { min-width:0; }
    .split .section-head { margin-bottom:0; }
    .card { background:var(--paper); padding:30px; border:1px solid var(--line); border-radius:16px; }
    .card p { margin-top:13px; color:var(--muted); }
    .card .actions { margin-top:23px; }
    .card h3 { margin-bottom:6px; }
    .step-label { color:var(--rust); display:block; font-size:.78rem; letter-spacing:.07em; text-transform:uppercase; font-weight:750; margin-bottom:12px; }
    .pair { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
    .soft-card { background:var(--sand); }
    .note { border-left:3px solid var(--rust); padding-left:15px; font-size:.94rem; margin-top:20px; color:var(--muted); }
    .doctor-copy { font-size:1.12rem; color:var(--muted); }
    .doctor-copy p+p { margin-top:17px; }
    .doctor-copy .text-link { font-size:.96rem; margin-top:13px; }
    .services { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
    .service { border-top:2px solid var(--line); padding-top:24px; }
    .service-number { display:block; color:var(--rust); font-size:.81rem; margin-bottom:14px; letter-spacing:.09em; }
    .service p { color:var(--muted); margin:15px 0; font-size:1rem; }
    .service ul { padding-left:21px; color:var(--muted); font-size:.95rem; }
    .service li+li { margin-top:5px; }
    .service .text-link { margin-top:12px; font-size:.94rem; }
    .faq { border-top:1px solid var(--line); }
    details { border-bottom:1px solid var(--line); }
    summary { cursor:pointer; list-style:none; display:flex; gap:16px; justify-content:space-between; align-items:center; padding:21px 2px; font-weight:650; color:var(--green); line-height:1.5; }
    summary::-webkit-details-marker { display:none; }
    summary::after { content:'+'; color:var(--rust); font-size:1.5rem; flex-shrink:0; font-weight:400; }
    details[open]>summary::after { content:'−'; }
    details[open]>summary { color:var(--rust); }
    .answer { padding:0 12px 23px 2px; color:var(--muted); font-size:1rem; }
    .answer p+p,.answer ul { margin-top:14px; }
    .answer ul { padding-left:22px; }
    .answer li+li { margin-top:7px; }
    .subdetails { margin-top:17px; border-top:1px solid var(--line); border-bottom:0; }
    .subdetails summary { padding:12px 2px; font-size:.92rem; }
    .subdetails .answer { font-size:.91rem; padding-bottom:4px; }
    .urgent { background:var(--deep); color:var(--paper); }
    .urgent h2,.urgent h3 { color:var(--paper); }
    .urgent .eyebrow { color:#E9C7B7; }
    .urgent .section-head p:not(.eyebrow) { color:#D8E3DD; }
    .urgent-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
    .urgent-card { border:1px solid #ffffff36; border-radius:14px; padding:27px; }
    .urgent-card p { color:#D8E3DD; margin-top:14px; }
    .urgent .btn { background:var(--paper); color:var(--deep); margin-top:20px; }
    .urgent .btn:hover { background:var(--soft); }
    .urgent a:not(.btn) { color:#fff; }
    .urgent-note { margin-top:25px; font-size:.96rem; color:#D8E3DD; }
    .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
    .contact-grid>* { min-width:0; }
    .contact-row { padding:19px 0; border-bottom:1px solid var(--line); }
    .contact-row:first-child { padding-top:0; }
    .contact-row h3 { font-family:inherit; font-size:1rem; font-weight:650; margin-bottom:7px; }
    .contact-row p { color:var(--muted); }
    .contact-row .small { margin-top:7px; }
    a[href^="mailto:"] { overflow-wrap:anywhere; }
    .route-card { background:var(--soft); border-radius:18px; padding:33px; display:flex; flex-direction:column; justify-content:center; }
    .route-card svg { width:45px; height:45px; color:var(--green); margin-bottom:23px; }
    .route-card h3 { font-size:1.8rem; }
    .route-card p { margin-top:12px; color:var(--muted); }
    .route-card .btn { align-self:flex-start; margin-top:25px; }
    .travel { margin-top:30px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:25px; }
    .travel h3 { font-family:inherit; font-weight:650; font-size:1rem; margin-bottom:8px; }
    .travel p { font-size:.95rem; color:var(--muted); }
    footer { background:var(--deep); color:#D8E3DD; padding:42px 0 32px; font-size:.91rem; }
    .footer-top { display:flex; flex-wrap:wrap; justify-content:space-between; gap:26px; padding-bottom:26px; }
    .footer-brand { font-family:Georgia,serif; font-size:1.3rem; color:#fff; margin-bottom:7px; }
    footer a { color:#fff; }
    .footer-links { display:flex; gap:24px; flex-wrap:wrap; align-items:center; }
    .footer-links a { padding:10px 0; }
    .footer-bottom { border-top:1px solid #ffffff30; padding-top:20px; display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; }
    .mbar { display:none; }
    @media(min-width:1101px) { .nav-links { display:flex !important; } }
    @media(max-width:1100px) {
      .menu-toggle:not([hidden]) { display:inline-flex; }
      .nav-wrap { position:relative; }
      .nav-links { position:absolute; left:-24px; right:-24px; top:100%; flex-direction:column; align-items:stretch; gap:0; padding:12px 24px 24px; background:var(--sand); border-bottom:1px solid var(--line); box-shadow:0 12px 20px #17373012; max-height:calc(100dvh - var(--header) - 90px); overflow-y:auto; }
      .nav-links>a:not(.btn) { padding:15px 2px; border-bottom:1px solid var(--line); }
      .nav-links .btn { margin-top:16px; }
      .hero-grid { gap:42px; }
      .split { gap:40px; }
    }
    @media(max-width:760px) {
      :root { --header:76px; }
      .brand { gap:7px; }
      .brand .brand-symbol { width:34px; height:34px; }
      .brand .brand-wordmark { width:min(260px,calc(100vw - 150px)); height:auto; }
      .nav-wrap { gap:12px; }
      .hero { display:flex; flex-direction:column; padding:32px 0 36px; }
      .hero-copy { width:calc(100% - 48px); margin-inline:auto; }
      .doctor-profile { grid-template-columns:1fr; gap:25px; }
      .doctor-portrait { width:min(100%,320px); justify-self:center; }
      .hero-grid,.split,.pair,.contact-grid { grid-template-columns:1fr; gap:30px; }
      .hero-grid { display:contents; }
      .hero-intro { font-size:1.08rem; margin-top:18px; }
      .hero-location { margin-top:16px; }
      .hero .actions { margin-top:23px; }
      .hero .actions .btn { width:100%; }
      .portrait { order:3; width:min(calc(100% - 48px),360px); align-self:center; border-radius:15px; }
      .portrait .portrait-media { aspect-ratio:1/1; }
      .quick { order:2; margin:26px 0; }
      .quick-grid { grid-template-columns:1fr; padding-block:6px; }
      .quick-item,.quick-item:first-child { padding:8px 0; border-right:0; border-bottom:1px solid #ffffff30; display:flex; align-items:center; justify-content:space-between; gap:12px; }
      .quick-item strong { font-size:.86rem; }
      .quick-item span { display:none; }
      .quick-item a { display:inline-flex; align-items:center; min-height:44px; margin:0; font-size:.86rem; text-align:right; }
      .section { padding:49px 0; }
      .services { grid-template-columns:1fr; gap:29px; }
      .service p { margin:10px 0; }
      .service-number { margin-bottom:10px; }
      .urgent-grid,.travel { grid-template-columns:1fr; }
      .card,.urgent-card,.route-card { padding:25px; }
      .mbar { display:flex; position:fixed; inset:auto 0 0; z-index:50; background:var(--sand); padding:10px 16px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); gap:10px; }
      .mbar .btn { flex:1; padding:12px 8px; font-size:.95rem; }
      body { padding-bottom:calc(82px + env(safe-area-inset-bottom)); }
      html { scroll-padding-bottom:110px; }
      :where(a,button,summary,[tabindex]) { scroll-margin-bottom:110px; }
      .footer-links { gap:18px; }
    }
    @media(max-width:380px) {
      .wrap { width:calc(100% - 32px); }
      .brand { gap:6px; }
      .brand .brand-symbol { width:32px; height:32px; }
      .brand .brand-wordmark { width:calc(100vw - 130px); height:auto; }
      .hero-copy { width:calc(100% - 32px); }
      .portrait { width:calc(100% - 32px); }
      .quick-item { gap:8px; }
      .nav-links { left:-16px; right:-16px; padding-inline:16px; }
      .card,.route-card,.urgent-card { padding:21px; }
      .btn { padding-inline:18px; }
    }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .portrait:hover img,.doctor-portrait:hover img { transform:none; } *,*::before,*::after { transition:none !important; animation:none !important; } }
    .booking-dialog { width:min(460px,calc(100% - 32px)); max-height:calc(100dvh - 48px); overflow-y:auto; border:1px solid var(--line); border-radius:18px; background:var(--paper); color:var(--ink); padding:32px; box-shadow:0 24px 80px #17373030; }
    .booking-dialog::backdrop { background:rgba(23,55,48,.58); }
    .booking-dialog h2 { font-size:1.85rem; margin-bottom:18px; }
    .booking-dialog p { color:var(--muted); }
    .booking-dialog p+p { margin-top:18px; }
    .booking-dialog time { font-weight:750; color:var(--green); }
    .booking-dialog form { margin-top:26px; }
    .booking-dialog .btn { width:100%; }
    @media print { .booking-dialog { display:none !important; }  header,.mbar,.skip,.actions,.footer-links { display:none !important; } body { background:#fff; padding:0; font-size:11pt; } .section,.hero { padding:20px 0; } .hero-grid { grid-template-columns:1fr 180px; gap:25px; } .wrap { width:100%; } .urgent,footer { background:#fff; color:#222; } .urgent h2,.urgent h3,.urgent p,footer p { color:#222 !important; } }

  /* ---- Disciplines ---- */
  .disc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .disc-card{background:var(--zand);border:1px solid var(--lijn);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column}
  .alt .disc-card{background:var(--zand)}
  .disc-card .cap{width:52px;height:52px;border-radius:13px;background:var(--groen);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
  .disc-card .cap svg{width:27px;height:27px;stroke:#fff}
  .disc-card h3{font-size:1.35rem;margin-bottom:10px}
  .disc-card p{color:var(--inkt-zacht);font-size:1rem;flex:1}
  .disc-card ul{list-style:none;margin:16px 0 20px;font-size:.96rem}
  .disc-card li{padding:5px 0 5px 24px;position:relative;color:var(--inkt-zacht)}
  .disc-card li::before{content:"";position:absolute;left:0;top:13px;width:9px;height:9px;border-radius:50%;background:var(--terra)}
  .disc-card .lnk{font-weight:600;font-size:.98rem;margin-top:auto}

  /* ---- Team ---- */
  .team-block{margin-bottom:46px}
  .team-block:last-child{margin-bottom:0}
  .team-block h3{font-size:1.5rem;margin-bottom:6px}
  .team-block .role{color:var(--inkt-zacht);margin-bottom:22px;font-size:1.02rem}
  /* ---- Team tabs ---- */
  .tabs{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--wit);border:1px solid var(--lijn);border-radius:999px;padding:6px;margin-bottom:34px}
  .tab-btn{border:0;background:transparent;font-family:var(--sans);font-weight:600;font-size:1rem;color:var(--inkt-zacht);padding:11px 26px;border-radius:999px;cursor:pointer;transition:.18s;white-space:nowrap}
  .tab-btn:hover{color:var(--groen)}
  .tab-btn.active{background:var(--groen);color:#fff}
  .tab-panel{display:none}
  .tab-panel.active{display:block;animation:fadein .25s ease}
  @keyframes fadein{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .tab-panel .role{color:var(--inkt-zacht);margin-bottom:22px;font-size:1.02rem}
  .people{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .person{background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);overflow:hidden;text-align:left}
  .alt .person{background:var(--zand)}
  .avatar{width:84px;height:84px;border-radius:50%;margin:0 auto 14px;background:var(--zand-diep);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:1.5rem;color:var(--groen);overflow:hidden;position:relative;border:1px solid var(--lijn)}
  .avatar img{width:100%;height:100%;object-fit:cover;display:block}
  /* Grote portretfoto in teamkaarten (huisartsen & verpleging) */
  .person .avatar{width:100%;height:auto;aspect-ratio:4/5;border-radius:0;margin:0;font-size:2.6rem;border:0;border-bottom:1px solid var(--lijn);position:relative;overflow:hidden}
  .person .avatar img{object-position:top center;transition:transform .5s ease}
  .person:hover .avatar img{transform:scale(1.05)}
  .person .avatar::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(23,55,48,.55) 0%,rgba(23,55,48,0) 45%);pointer-events:none}
  .person-body{padding:18px 20px 20px}
  .person b{display:block;font-family:var(--serif);font-size:1.2rem;color:var(--groen);font-weight:600}
  .person span{font-size:.92rem;color:var(--inkt-zacht)}

  /* ---- Modaal venster ---- */
  .modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(23,55,48,.55);backdrop-filter:blur(3px);display:none;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}
  .modal-overlay.open{display:flex}
  .modal{background:var(--zand);border-radius:var(--radius);max-width:760px;width:100%;box-shadow:0 30px 60px -25px rgba(23,55,48,.6);position:relative;margin:auto}
  .modal-head{position:sticky;top:0;background:var(--zand);border-bottom:1px solid var(--lijn);border-radius:var(--radius) var(--radius) 0 0;padding:26px 30px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;z-index:2}
  .modal-head .eyebrow{margin-bottom:6px}
  .modal-head h2{font-size:1.7rem}
  .modal-close{flex:0 0 40px;width:40px;height:40px;border-radius:50%;border:1px solid var(--lijn);background:var(--wit);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
  .modal-close:hover{background:var(--groen)}
  .modal-close svg{width:20px;height:20px;stroke:var(--groen)}
  .modal-close:hover svg{stroke:#fff}
  .modal-body{padding:24px 30px 30px}
  body.modal-active{overflow:hidden}

  /* ---- Onderzoeken cardiologie (uitvouwbaar) ---- */
  .onderzoek-list{display:grid;gap:14px}
  .onderzoek{background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);overflow:hidden}
  .onderzoek summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:20px 24px;font-family:var(--serif);font-weight:600;font-size:1.15rem;color:var(--groen)}
  .onderzoek summary::-webkit-details-marker{display:none}
  .onderzoek summary .num{width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:var(--zand-diep);display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:.95rem;color:var(--groen)}
  .onderzoek summary::after{content:"+";margin-left:auto;font-size:1.5rem;line-height:1;color:var(--terra-diep);transition:.2s}
  .onderzoek[open] summary::after{content:"–"}
  .onderzoek[open] summary{border-bottom:1px solid var(--lijn)}
  .onderzoek .body{padding:18px 24px 24px}
  .onderzoek .body p{color:var(--inkt-zacht);font-size:1rem}
  .onderzoek .verwacht{margin-top:14px;background:var(--zand);border-left:3px solid var(--terra);border-radius:8px;padding:14px 16px}
  .onderzoek .verwacht b{color:var(--groen);font-family:var(--sans);font-size:.9rem;display:block;margin-bottom:4px}
  .onderzoek .verwacht p{color:var(--inkt-zacht);font-size:.96rem}

  /* ---- Verpleegkundige zorg (modal) ---- */
  .verpl-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .verpl-item{background:var(--zand);border:1px solid var(--lijn);border-radius:10px;padding:14px 16px}
  .verpl-item b{display:block;font-family:var(--sans);color:var(--groen);font-size:.98rem;margin-bottom:3px}
  .verpl-item span{color:var(--inkt-zacht);font-size:.9rem}

  /* ---- Psychologen (uitvouwbaar) ---- */
  .psy-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .psy{background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
  .alt .psy{background:var(--zand)}
  .psy-head{display:block}
  .psy .avatar{margin:0;width:100%;height:auto;aspect-ratio:4/5;border-radius:0;border:0;border-bottom:1px solid var(--lijn);flex:none;position:relative;overflow:hidden}
  .psy .avatar img{transition:transform .5s ease}
  .psy:hover .avatar img{transform:scale(1.05)}
  .psy .avatar::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(23,55,48,.55) 0%,rgba(23,55,48,0) 45%);pointer-events:none}
  .psy-info{padding:18px 20px 8px}
  .psy-head b{display:block;font-family:var(--serif);font-size:1.2rem;color:var(--groen);font-weight:600}
  .psy-meta{font-size:.92rem;color:var(--inkt-zacht);margin-top:4px;padding:0 20px}
  .psy-info .psy-meta{padding:0}
  .psy-meta .tag{display:inline-block;background:var(--zand-diep);border-radius:999px;padding:2px 10px;margin:4px 6px 0 0;font-size:.82rem;color:var(--inkt)}
  .psy details{margin:6px 20px 20px;border-top:1px solid var(--lijn);padding-top:6px}
  .psy summary{list-style:none;cursor:pointer;font-family:var(--sans);font-weight:600;color:var(--terra-diep);font-size:.98rem;padding:8px 0;display:flex;align-items:center;gap:8px}
  .psy summary::-webkit-details-marker{display:none}
  .psy summary::after{content:"+";margin-left:auto;font-size:1.3rem;line-height:1;color:var(--terra-diep);transition:.2s}
  .psy details[open] summary::after{content:"–"}
  .psy details p{color:var(--inkt-zacht);font-size:.96rem;margin-top:8px}
  .psy-contact{margin-top:14px!important;padding-top:12px;border-top:1px solid var(--lijn);font-weight:600;color:var(--groen)}
  .psy-contact a{color:var(--terra-diep);text-decoration:none}
  .psy details .extern{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-weight:600}
  .psy details .extern svg{width:16px;height:16px;stroke:var(--terra-diep)}


/* Erasmus components share the template's colour palette. */
:root{--zand:var(--sand);--zand-diep:var(--soft);--groen:var(--green);--groen-diep:var(--deep);--terra:var(--rust);--terra-diep:var(--rust);--inkt:var(--ink);--inkt-zacht:var(--muted);--lijn:var(--line);--wit:var(--paper);--radius:14px;--serif:"Source Serif 4",Georgia,serif;--sans:"Inter",system-ui,sans-serif}
body{overflow-wrap:anywhere}
/* The root reserves the sticky header plus 20px. Subtract section padding so
   anchor navigation aligns the visible heading rather than the section edge. */
main>.section[id]{scroll-margin-top:-76px}
.brand .brand-symbol{width:50px;height:auto}
.brand .brand-wordmark{width:218px;height:auto}
.nav-links{gap:18px}
.nav-wrap{gap:22px}
.nav-links>a:not(.btn){font-size:.88rem}
.nav-links .btn{font-size:.88rem;padding-inline:16px}
.btn{max-width:100%}
.hero-grid{grid-template-columns:1.05fr .95fr;gap:56px}
.practice-overview{border:1px solid var(--line);border-radius:20px;background:var(--paper);padding:30px;min-width:0;box-shadow:0 24px 50px -30px rgba(23,55,48,.35)}
.practice-overview h2{font-family:var(--serif);font-weight:600;font-size:1.5rem;margin-bottom:16px;text-wrap:initial}
.practice-overview>a{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:20px 0;color:var(--green);text-decoration:none}
.practice-overview>a:first-of-type{border-top:0}
.practice-overview>a:last-child{padding-bottom:10px}
.overview-icon{width:44px;height:44px;flex:0 0 44px;border-radius:11px;background:var(--soft);display:flex;align-items:center;justify-content:center}
.overview-icon svg{width:24px;height:24px}
.overview-copy{min-width:0}
.overview-copy strong{display:block;color:var(--ink);font-size:1.02rem;font-weight:700;line-height:1.4;margin-bottom:4px}
.overview-copy>span{display:block;color:var(--muted);font-size:.95rem;line-height:1.55}
.practice-overview>a:hover strong{text-decoration:underline;text-underline-offset:4px}
.specialist-booking{margin-top:24px}
.sec-head{max-width:680px;margin-bottom:32px}
.sec-head>p:not(.eyebrow){margin-top:16px;color:var(--muted)}
.disc-grid,.people,.psy-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.disc-card,.person,.psy{min-width:0}
.disc-card .cap svg{stroke:#fff}
.disc-card ul{padding:0}
.disc-card .lnk{display:inline-flex;align-items:center;min-height:44px}
.disc-card .lnk+.lnk{margin-top:6px}
.discipline-action{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.discipline-action .btn{width:100%;min-height:56px;line-height:1.4;padding:13px 16px;font-weight:700}
button.lnk{background:none;border:0;padding:0;color:var(--rust);text-align:left;font-family:inherit;cursor:pointer;line-height:1.6;white-space:normal}
button.lnk:hover{text-decoration:underline}
.disc-card .lnk[style]{white-space:normal!important}
.tabs{max-width:100%;scroll-margin-top:110px}
.tab-panel .role{margin-bottom:22px}
.person .avatar img,.psy .avatar img{height:100%;object-fit:cover}
#team h2,#team h3,#team .person b,#team .psy-head b{font-family:var(--serif)}
.psy summary::after{flex-shrink:0}
.person-body .start-note{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:.9rem;line-height:1.6;color:var(--muted)}
.person-body .start-note time{font-weight:650}
.modal-close{padding:0}
.modal-overlay{z-index:100;padding-bottom:110px}
.modal-head .eyebrow{margin-bottom:6px}
.modal-body p{line-height:1.65}
.modal-head h2{font-family:var(--serif)}
.onderzoek summary{justify-content:flex-start}
.onderzoek summary::after{flex-shrink:0}
.onderzoek-list,.verpl-list{min-width:0}
.faq details[id]{scroll-margin-top:calc(var(--header) + 20px)}
@media(max-width:1100px){.nav-links{gap:0}.nav-links>a:not(.btn){font-size:1rem}.hero-grid{gap:32px}}
@media(max-width:900px){.disc-grid,.people,.psy-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  main>.section[id]{scroll-margin-top:-49px}
  .brand .brand-symbol{width:34px;height:auto}
  .brand .brand-wordmark{width:min(218px,calc(100vw - 150px));height:auto}
  .hero{padding-bottom:36px}
  .practice-overview{order:3;width:calc(100% - 48px);align-self:center;padding:25px}
  .practice-overview>a{padding:14px 0}
  .practice-overview h2{margin-bottom:18px}
  .disc-grid,.people,.psy-list{grid-template-columns:minmax(0,1fr)}
  .disc-card{padding:25px}
  .person .avatar,.psy .avatar{aspect-ratio:4/3}
  .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;border-radius:16px}
  .tab-btn{padding:12px 8px;border-radius:10px;font-size:.94rem;white-space:normal;min-height:44px}
  .modal-overlay{padding:16px 12px 100px}
  .modal-head{padding:22px 18px 18px}
  .modal-head h2{font-size:1.4rem}
  .modal-body{padding:18px}
  .onderzoek summary{padding:16px 14px;font-size:1.05rem;gap:10px}
  .onderzoek .body{padding:16px}
  .verpl-list{grid-template-columns:1fr}
  .specialist-booking .actions .btn{width:100%}
}
@media(max-width:380px){
  .brand .brand-symbol{width:32px}
  .brand .brand-wordmark{width:calc(100vw - 130px)}
  .practice-overview{width:calc(100% - 32px);padding:21px}
  .disc-card{padding:21px}
}
@media print{.modal-overlay,.practice-overview{display:none!important}.tab-panel[hidden]{display:block!important}.tabs{display:none}.people,.psy-list{grid-template-columns:repeat(3,minmax(0,1fr))}}

  
/* Booking routes, compact team contacts and responsive refinements. */
:root{--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-intro{font-size:1.1rem;max-width:48ch}
.hero-note{max-width:54ch;line-height:1.7}
.hero .actions{gap:10px}
.hero .actions .btn{font-size:.95rem;padding-inline:18px}
.booking-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.booking-card{display:flex;flex-direction:column;min-width:0;padding:20px}
.booking-card>p:not(.small){flex:1}
.booking-card .actions{display:block;margin-top:24px}
.booking-card .btn{width:100%;padding-inline:10px;font-size:.9rem;min-height:64px}
.booking-card .small{margin-top:12px}
.booking-card .lnk{font-weight:650;text-align:left;line-height:1.5;min-height:44px;color:var(--rust)}
.agenda-note{font-size:.85rem;color:var(--muted);margin-top:18px;max-width:90ch}
.visit-note{border-top:1px solid var(--line);margin-top:26px;padding-top:22px;color:var(--muted);font-size:.95rem}
.visit-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:6px}
.registration-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.registration-grid .section-head{margin:0}
.registration-grid .card{background:var(--paper)}
/* Preserve the complete original 4:5 portraits on desktop and mobile. */
.psy-actions{padding:8px 20px 14px;display:grid;gap:9px}
.psy-actions .btn{font-size:.92rem;padding-inline:10px;min-height:46px}
.psy-actions p{color:var(--muted);line-height:1.6;margin-bottom:5px}
.psy-info .patient-group{font-size:.86rem;color:var(--green);font-weight:600;margin-top:9px}
.psy details{margin-top:0}
.person-body .text-link{margin-top:14px;font-size:.95rem}
.person-appointment{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.person-appointment .text-link{margin-top:0}
.travel{grid-template-columns:repeat(2,minmax(0,1fr))}
.person-body .small{display:block;margin-top:12px;font-size:.9rem;color:var(--muted)}
.practical-by-discipline h3{font-size:1.18rem;margin:22px 0 8px}
.practical-by-discipline h3:first-child{margin-top:0}
.urgent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.urgent-card{display:flex;flex-direction:column;padding:24px}
.urgent-card h3{font-size:1.3rem}
.urgent-card p:last-of-type{flex:1}
.urgent-card .btn{font-size:.93rem;padding-inline:12px}
.route-card{justify-content:flex-start}
.route-card>.eyebrow{color:var(--rust);margin-top:0}
.route-card h3{font-size:1.65rem}
.route-steps{list-style:none;counter-reset:route;padding:0;margin:24px 0 0;display:grid;gap:22px}
.route-steps li{counter-increment:route;position:relative;padding-left:47px;line-height:1.55}
.route-steps li::before{content:counter(route);position:absolute;left:0;top:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--green);color:white;font-weight:650}
.route-steps strong,.route-steps span{display:block}
.route-steps span{color:var(--muted);font-size:.94rem;margin-top:3px}
.faq details[id]{scroll-margin-top:0}
.legal-page .wrap{max-width:800px}
.legal-page h1{font-size:clamp(2rem,5vw,3rem)}
.legal-page h2{font-size:1.5rem;margin:34px 0 14px}
.legal-page p+p{margin-top:14px}
.legal-page .btn{margin-top:28px}
body:has(.legal-page){padding-bottom:0}
@media(max-width:1100px){.registration-grid{gap:36px}.booking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booking-card{padding:23px}.urgent-card{padding:22px}}
@media(max-width:900px){.booking-grid{grid-template-columns:1fr}.booking-card .actions{max-width:380px}.urgent-grid{grid-template-columns:1fr}.urgent-card .btn{align-self:flex-start}.registration-grid{grid-template-columns:1fr}}
@media(max-width:760px){
 .person .avatar,.psy .avatar{aspect-ratio:4/5}
 .person:hover .avatar img,.psy:hover .avatar img{transform:none}
 .travel{grid-template-columns:1fr}
 .hero-copy{display:flex;flex-direction:column;align-items:stretch}
 .hero-copy>.actions{order:1}
 .hero-copy>.hero-location{order:2}
 .hero-copy>.hero-note{order:3}
 .hero-intro .intro-guide{display:none}
 .hero-intro{font-size:1rem;line-height:1.6}
 .hero .actions .btn{font-size:1rem;min-height:52px}
 .hero-note{font-size:.91rem}
 .booking-card{padding:24px}
 .booking-card .actions{max-width:none;margin-top:20px}
 .visit-links{display:grid;gap:4px}
 .visit-links .text-link{font-size:.94rem}
 .agenda-note{font-size:.85rem;line-height:1.65}
 .psy-actions .btn{min-height:48px}
 .registration-grid{gap:24px}
 .urgent-card .btn{align-self:stretch}
 .quick-item:first-child{align-items:center}
 .quick-item strong{max-width:50%}
 .quick-item a{max-width:50%}
 .legal-page{padding-top:36px}
 body:has(.legal-page) .nav-wrap{flex-wrap:wrap;padding-block:16px;gap:10px}
}
@media(max-width:380px){.booking-card{padding:21px}.mbar .btn{font-size:.9rem}.practice-overview h2{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){.person:hover .avatar img,.psy:hover .avatar img{transform:none}}
