@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans-variable.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Fraunces";src:url("assets/fonts/fraunces-variable.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Fraunces";src:url("assets/fonts/fraunces-italic-variable.ttf") format("truetype");font-style:italic;font-weight:100 900;font-display:swap}
:root{--navy:#0c4666;--ocean:#237f95;--aqua:#62bac3;--foam:#eef8f6;--sand:#eee5d5;--clay:#cbb99e;--ink:#263e43;--white:#fff;--serif:"Fraunces",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--pad:clamp(1.25rem,5vw,5.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.75;background:var(--foam)}img{display:block;max-width:100%}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:99;background:var(--navy);color:white;padding:.7rem 1rem}.skip-link:focus{top:1rem}
header{height:8rem;position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);color:var(--navy);transition:height .35s ease,background-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}header.is-scrolled{height:5.5rem;background:rgba(244,239,228,.9);box-shadow:0 1px 0 rgba(12,70,102,.1);backdrop-filter:blur(14px)}.brand{width:7.6rem;height:7.6rem;flex:0 0 auto;display:grid;place-items:center;background:white;border-radius:50%;box-shadow:0 .5rem 2rem rgba(12,70,102,.09);transition:width .35s ease,height .35s ease}.brand img{width:5.15rem;height:4.65rem;object-fit:contain;transition:width .35s ease,height .35s ease}header.is-scrolled .brand{width:4.8rem;height:4.8rem}header.is-scrolled .brand img{width:3.8rem;height:3.45rem}header nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.5rem)}header nav a{position:relative;text-decoration:none;text-transform:uppercase;font-size:.72rem;letter-spacing:.12em;font-weight:600}header nav a:not(.pill)::after{content:"";position:absolute;left:0;right:.12em;bottom:-.4rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .28s ease}header nav a:not(.pill):hover::after,header nav a:not(.pill):focus-visible::after{transform:scaleX(1)}.pill{border-radius:999px;background:var(--navy);color:white;padding:.7rem 1.25rem;transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease}.pill:hover,.pill:focus-visible{background:var(--ocean);transform:translateY(-2px);box-shadow:0 .55rem 1.2rem rgba(12,70,102,.16)}.menu-toggle{display:none;background:transparent;border:0;padding:.6rem}.menu-toggle i{display:block;width:1.6rem;height:1px;background:var(--navy);margin:.4rem}
.hero{min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;padding:8rem var(--pad) 6rem;background:#f4efe4}.hero-bg{position:absolute;top:0;right:0;left:50%;width:50%;height:100%;max-width:none;object-fit:cover;object-position:center 45%;filter:saturate(.68) contrast(.94)}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,#f4efe4 0%,#f4efe4 30%,rgba(244,239,228,.98) 40%,rgba(244,239,228,.82) 52%,rgba(244,239,228,.38) 64%,rgba(244,239,228,.06) 72%)}.hero-card{position:relative;z-index:2;max-width:48rem}.overline{font-size:.7rem;text-transform:uppercase;letter-spacing:.19em;color:var(--ocean);font-weight:600;margin:0 0 1rem}.hero h1,.section h2{font-family:var(--serif);font-weight:400;color:var(--navy);line-height:1;margin:0}.hero h1{font-size:clamp(4.2rem,8vw,8.4rem);letter-spacing:-.045em}.hero h1 span{font-style:italic;color:var(--ocean)}.hero-card>p:not(.overline){font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.5;max-width:40rem}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2rem}.hero-actions a{position:relative;font-size:.86rem;font-weight:600}.hero-actions>a:not(.button){text-decoration:none}.hero-actions>a:not(.button)::after{content:"";position:absolute;left:0;right:0;bottom:-.18rem;height:1px;background:currentColor;transform-origin:right;transition:transform .25s ease}.hero-actions>a:not(.button):hover::after,.hero-actions>a:not(.button):focus-visible::after{transform:scaleX(.35)}.button{background:var(--navy);color:white;text-decoration:none;border-radius:999px;padding:.9rem 1.5rem;transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease}.button:hover,.button:focus-visible{background:var(--ocean);transform:translateY(-3px);box-shadow:0 .7rem 1.5rem rgba(12,70,102,.18)}.scroll{position:absolute;z-index:2;right:var(--pad);bottom:3rem;text-decoration:none;display:flex;align-items:center;gap:1rem;color:var(--navy);text-transform:uppercase;font-size:.68rem;letter-spacing:.16em;opacity:1;transition:opacity .35s ease,transform .35s ease}.scroll.is-hidden{opacity:0;transform:translateY(.6rem);pointer-events:none}.scroll b{width:2.8rem;height:2.8rem;border:1px solid rgba(12,70,102,.45);border-radius:50%;display:grid;place-items:center;transition:background-color .25s ease,color .25s ease,transform .25s ease}.scroll:hover b,.scroll:focus-visible b{background:var(--navy);color:white;transform:translateY(.2rem)}
.section{padding:clamp(5rem,10vw,10rem) var(--pad);scroll-margin-top:5.5rem}.aqueous{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(4rem,10vw,12rem);background:white;align-items:center}.logo-panel{background:var(--foam);min-height:34rem;display:grid;place-items:center;padding:4rem;border-radius:50% 50% .5rem .5rem}.logo-panel img{mix-blend-mode:multiply;width:min(100%,25rem)}.aqueous h2{font-size:clamp(3.5rem,5.5vw,6rem)}.aqueous-copy>p:not(.overline){max-width:42rem;font-size:1.05rem}.aqueous-copy strong{color:var(--navy)}
.therapy{background:#dcefed;color:var(--ink);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(4rem,10vw,12rem)}.therapy .overline{color:var(--ocean)}.therapy h2{font-size:clamp(3.5rem,5.5vw,6rem);color:var(--navy);position:sticky;top:7rem}.therapy h2 em{font-weight:400;color:var(--ocean)}.therapy-text{max-width:44rem}.therapy-text>p:first-child{margin-top:0}.therapy-text p{color:#3f5f64}.therapy-text aside{margin-top:3rem;padding:2rem 0;border-top:1px solid rgba(12,70,102,.22);font-family:var(--serif);font-size:clamp(1.6rem,2.5vw,2.4rem);line-height:1.25;color:var(--navy)}.therapy-text aside strong{display:block;color:var(--ocean);font-weight:400;font-style:italic}
.offer{background:var(--sand);display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,10rem)}.section-head h2{font-size:clamp(3.6rem,5.5vw,6rem)}.offer-list{border-top:1px solid rgba(38,62,67,.25)}details{border-bottom:1px solid rgba(38,62,67,.25)}summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:3rem 1fr 2rem;align-items:center;gap:1rem;padding:2rem 0}summary::-webkit-details-marker{display:none}summary span{font-size:.7rem;color:var(--ocean);letter-spacing:.12em}summary h3{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.3rem);font-weight:400;color:var(--navy);margin:0}summary b{font-size:1.6rem;font-weight:400;color:var(--ocean);transition:transform .25s}details[open] summary b{transform:rotate(45deg)}details>div{padding:0 3rem 2rem 4rem;max-width:45rem}details>div p{margin-top:0}
.about{background:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(4rem,9vw,10rem);align-items:start}.portrait-wrap{position:sticky;top:7rem}.portrait{aspect-ratio:.76;overflow:hidden;border-radius:50% 50% .3rem .3rem;background:var(--sand)}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.portrait-wrap>p{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--ocean);text-align:center}.about h2{font-size:clamp(4rem,6vw,6.5rem)}.character{font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.75rem);color:#526c70;max-width:39rem}.about h3{font-family:var(--serif);font-weight:400;color:var(--navy);font-size:2rem;margin-top:4rem}.timeline{list-style:none;padding:0;margin:0;border-top:1px solid #d7e1df}.timeline li{display:grid;grid-template-columns:8rem 1fr;gap:1.5rem;padding:1.7rem 0;border-bottom:1px solid #d7e1df}.timeline time{font-size:.72rem;color:var(--ocean);font-weight:600}.timeline strong{color:var(--navy)}.timeline p{margin:.25rem 0;line-height:1.6}.timeline a{font-size:.76rem;color:var(--ocean);text-underline-offset:.25rem}.learning{font-style:italic;color:#657a7e}
.rates{background:var(--foam);display:grid;grid-template-columns:.8fr 1fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:stretch}.rate{padding:2.5rem;background:white;border-radius:50% 50% .4rem .4rem;min-height:25rem;display:flex;flex-direction:column;justify-content:center;text-align:center}.rate.accent{background:var(--sand)}.rate span{text-transform:uppercase;font-size:.7rem;letter-spacing:.15em;color:var(--ocean)}.rate strong{font-family:var(--serif);font-size:4.5rem;font-weight:400;color:var(--navy);line-height:1.2;margin:1.2rem 0}.rate p{font-size:.88rem;margin:0}.insurance{grid-column:2/4;text-align:center;font-size:.82rem;color:#687d81;margin:0}
.contact{padding-bottom:2rem;background:var(--sand);text-align:center}.contact h2{font-size:clamp(4rem,8vw,8rem)}.contact h2 em{font-weight:400;color:var(--ocean)}.contact>p:not(.overline){max-width:35rem;margin:2rem auto}.contact-links{max-width:48rem;margin:3rem auto 8rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-links a{display:grid;grid-template-columns:3rem 1fr 2rem;align-items:center;text-align:left;text-decoration:none;padding:1.4rem;background:white;border-radius:.3rem;color:var(--navy)}.contact-links b{width:2.5rem;height:2.5rem;border:1px solid var(--aqua);border-radius:50%;display:grid;place-items:center;font-weight:400;color:var(--ocean)}.contact-links small{display:block;text-transform:uppercase;font-family:var(--sans);font-size:.64rem;letter-spacing:.14em;color:#698084}.contact-links span{font-family:var(--serif);font-size:1.2rem}.contact-links i{font-style:normal;color:var(--ocean)}footer{border-top:1px solid rgba(38,62,67,.2);padding:2rem 0 0;display:flex;align-items:center;justify-content:space-between;text-align:left;color:#667a7e;font-size:.75rem}footer img{width:7rem;height:4rem;object-fit:contain;mix-blend-mode:multiply}footer a{text-underline-offset:.25rem}
@media(max-width:900px){header{height:5.2rem;position:fixed;background:rgba(238,248,246,.94);backdrop-filter:blur(10px)}.brand{width:4.4rem;height:4.4rem}.brand img{width:3.65rem;height:3.25rem}.menu-toggle{display:block;z-index:3}header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--foam);padding:1.5rem var(--pad) 2rem;border-bottom:1px solid #cadbd8}header nav.is-open{display:flex}header nav a{padding:.5rem 0}.pill{background:transparent;color:var(--navy);padding:.5rem 0}.aqueous,.therapy,.offer,.about{grid-template-columns:1fr}.logo-panel{max-width:34rem;width:85%;justify-self:center}.therapy h2,.portrait-wrap{position:static}.portrait-wrap{max-width:32rem;width:82%;justify-self:center}.rates{grid-template-columns:1fr 1fr}.rates .section-head{grid-column:1/3}.insurance{grid-column:1/3}.hero-bg{max-width:54vw}.hero-wash{background:linear-gradient(90deg,#f4efe4 0%,rgba(244,239,228,.97) 55%,rgba(244,239,228,.58) 82%,rgba(244,239,228,.08))}.scroll{display:none}}
@media(max-width:620px){.hero{min-height:52rem;align-items:flex-start;padding-top:8rem;padding-bottom:20rem}.hero-bg{top:auto;right:0;bottom:0;left:0;width:100%;height:44%;max-width:none;object-fit:cover;object-position:center 55%}.hero-wash{background:linear-gradient(180deg,#f4efe4 0%,#f4efe4 54%,rgba(244,239,228,.9) 64%,rgba(244,239,228,.12) 88%)}.hero h1{font-size:clamp(3.7rem,18vw,5.4rem)}.hero-card>p:not(.overline){font-size:1.2rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.section{padding-top:4.5rem;padding-bottom:4.5rem}.logo-panel{width:100%;min-height:25rem;padding:2rem}.therapy,.offer,.about{gap:3rem}.offer-list{margin-top:1rem}summary{grid-template-columns:2rem 1fr 1.5rem;gap:.5rem;padding:1.5rem 0}details>div{padding:0 0 1.5rem 2.5rem}.portrait-wrap{width:100%}.timeline li{grid-template-columns:1fr;gap:.5rem}.rates{grid-template-columns:1fr}.rates .section-head,.insurance{grid-column:1}.rate{min-height:21rem}.contact-links{grid-template-columns:1fr;margin-bottom:5rem}.contact-links span{font-size:1.05rem}footer{align-items:flex-start;flex-direction:column;gap:1rem}footer img{width:6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}summary b{transition:none}}

/* Interactie en rustige scroll-reveals */
.contact-links a{transition:background-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
.contact-links a:hover,.contact-links a:focus-visible{background:var(--foam);color:var(--ocean);transform:translateY(-4px);box-shadow:0 .8rem 1.8rem rgba(12,70,102,.1)}
.contact-links b,.contact-links span,.contact-links i{transition:transform .25s ease,background-color .25s ease,color .25s ease}
.contact-links a:hover b,.contact-links a:focus-visible b{background:var(--ocean);color:white}
.contact-links a:hover span,.contact-links a:focus-visible span{transform:translateX(.25rem)}
.contact-links a:hover i,.contact-links a:focus-visible i{transform:translate(.18rem,-.18rem) rotate(-45deg)}
footer a{transition:color .25s ease,text-decoration-color .25s ease,transform .25s ease}
footer a:hover,footer a:focus-visible{color:var(--navy);text-decoration-color:transparent;transform:translateY(-2px)}
.motion-ready .reveal{opacity:0;transform:translateY(1.5rem);transition:opacity .65s ease,transform .65s ease}
.motion-ready .reveal.is-visible{opacity:1;transform:none}

@media(max-width:900px){header.is-scrolled{height:5.2rem}.brand,header.is-scrolled .brand{width:4.4rem;height:4.4rem}.brand img,header.is-scrolled .brand img{width:3.65rem;height:3.25rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.motion-ready .reveal{opacity:1;transform:none}}

@media (max-width: 620px) {
    .section h2 {
        font-size: clamp(2.75rem, 13.5vw, 4rem);
    }
}