:root{--ink:#193e43;--text:#293f42;--muted:#566b6c;--sea:#9adbc7;--mint:#e9f5ef;--pink:#e3607a;--paper:#fff;--line:#cbdcda;--serif:Georgia,'Times New Roman',serif;--sans:'Avenir Next',Avenir,'Segoe UI',Arial,sans-serif;color-scheme:light;font-family:var(--sans);color:var(--text);font-size:16px;line-height:1.7;background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0}a{color:inherit;text-underline-offset:.3em}button{font:inherit}img{display:block;max-width:100%;image-orientation:from-image}figure,p,h1,h2,h3{margin:0}p+p{margin-top:1rem}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b53753;outline-offset:5px}h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink);line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(3.1rem,5.2vw,5.4rem)}h2{font-size:clamp(2.6rem,4vw,4rem)}h3{font-size:1.65rem;letter-spacing:-.02em}em{font-weight:400;color:inherit}.eyebrow{font-size:.875rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;line-height:1.6;margin-bottom:1.5rem}.lead{font-size:1.18rem;line-height:1.7}.section{padding:6.5rem max(6vw,calc((100vw - 1200px)/2));scroll-margin-top:1rem}.section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:end;margin-bottom:3.5rem}.section-heading>p,.section-heading>div+div{max-width:30rem}.section-heading .text-link{display:inline-block;margin-top:1.1rem}.fine,.section-fine{font-size:.875rem;line-height:1.65;color:var(--muted)}.section-fine{margin-top:2rem;max-width:58rem}.text-link{font-size:.94rem;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.4rem;background:var(--ink);border:1px solid var(--ink);color:white;text-decoration:none;padding:1rem 1.5rem;line-height:1.4;font-size:.95rem;font-weight:600;transition:background .2s,color .2s;min-height:48px}.button:hover{background:#2f6267}.button.light{background:var(--sea);color:var(--ink);border-color:var(--sea)}.button.light:hover{background:white}.button.small{padding:.8rem 1.1rem}.skip{position:fixed;top:-100px;left:1rem;z-index:100;background:white;padding:1rem}.skip:focus{top:1rem}
.header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.1rem 5vw;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:block;flex-shrink:0;text-decoration:none;line-height:1}.brand>span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;margin-bottom:.25rem}.brand strong{display:block;font-family:var(--serif);font-size:2.6rem;font-weight:400;letter-spacing:-.045em;color:var(--ink)}.brand .brand-dot{color:var(--pink)}.header nav{display:flex;align-items:center;gap:1.5rem}.header nav>a{font-size:.875rem;text-decoration:none;font-weight:500}.header nav>a:hover:not(.button){text-decoration:underline}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.15fr .85fr;background:var(--mint);min-height:670px}.hero-copy{padding:5rem 4vw 3rem max(6vw,calc((100vw - 1200px)/2));align-self:center}.hero .eyebrow{font-size:.8rem;letter-spacing:.1em}.hero h1 em{color:#386a61}.intro{font-size:1.12rem;max-width:32rem;margin-top:1.8rem}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;margin-top:2rem}.hero .fine{margin-top:1rem}.hero-note{display:flex;align-items:center;gap:1rem;font-size:.9rem;margin-top:3.4rem;color:var(--muted);line-height:1.5}.note-line{height:3rem;width:2px;background:var(--pink)}.hero-portrait{position:relative;overflow:hidden;min-height:620px;background:#dddeda}.hero-portrait>img{width:100%;height:100%;max-height:810px;object-fit:cover;object-position:50% 41%}.hero-portrait figcaption{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;padding:1rem 1.3rem;background:rgba(255,255,255,.94);border-left:3px solid var(--pink);line-height:1.5}.hero-portrait figcaption span{display:block;font-size:.8rem;color:var(--muted)}.hero-portrait figcaption strong{font-family:var(--serif);font-size:1.4rem;font-weight:400}.location-bar{display:flex;justify-content:space-between;gap:1rem;background:var(--ink);color:white;padding:1.3rem 6vw;font-size:.94rem}.location-bar strong{font-weight:600}.location-bar a{white-space:nowrap;color:var(--sea)}
.about{display:grid;grid-template-columns:1fr 1.05fr;gap:3rem 5rem}.about-copy>p:not(.lead){color:var(--muted)}.background-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:2rem;gap:2rem;margin-top:1.5rem}.background-strip span{display:block;font-size:.8rem;letter-spacing:.09em;color:var(--muted);margin-bottom:.8rem}.background-strip strong{font-size:1.02rem;font-weight:500;line-height:1.5;display:block}.care{background:#f7faf9}.treatments{display:grid;grid-template-columns:1fr 1fr;column-gap:4rem}.treatments article{border-top:1px solid var(--line);padding:2rem 0;display:flex;gap:1.2rem}.number{color:#477973;font-size:.9rem;padding-top:.25rem}.treatments h3{margin-bottom:1rem}.treatments p{color:var(--muted)}.treatments .tags,.treatments article a{display:block;font-size:.875rem;margin-top:1rem}.tags{color:#426c64}.correction{background:var(--ink);color:white;display:grid;grid-template-columns:1.15fr 1fr;gap:5rem}.correction h2,.correction h3,.booking h2,.booking h3{color:white}.correction .eyebrow,.booking .eyebrow{color:var(--sea)}.correction .lead{margin:1.7rem 0 2rem;color:#dceae6}.principles article{display:flex;gap:1.5rem;padding:1.5rem 0;border-top:1px solid #507075}.principles article>span{font-size:.875rem;color:var(--sea)}.principles h3{font-size:1.45rem;margin-bottom:.6rem}.principles p{font-size:.96rem;color:#dae6e5}.principles .fine{font-size:.875rem;color:#c0d4d2;margin-top:1rem}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1020px;margin:auto}.result-grid figure{min-width:0}.result-grid img{width:100%;height:auto;border:1px solid var(--line)}.result-grid a{display:block}.result-grid figcaption{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:1.3rem 0}.result-grid figcaption h3{font-size:1.4rem}.result-grid figcaption span{font-size:.8rem;color:var(--muted)}
.learn{background:var(--mint)}.learning-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:5rem}.learning-note{border-left:2px solid var(--pink);padding-left:2rem}.large-type{font-family:var(--serif);font-size:clamp(1.8rem,2.5vw,2.7rem);line-height:1.25;letter-spacing:-.025em}.large-type em{color:#386a61}.learning-note p{max-width:24rem;margin:1.7rem 0;color:var(--muted)}details{border-top:1px solid #bbd4cc}details:last-child{border-bottom:1px solid #bbd4cc}summary{position:relative;padding:1.25rem 2rem 1.25rem 0;cursor:pointer;list-style:none;font-weight:500;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:1.4rem;top:.95rem;font-weight:400}details[open]>summary:after{content:'−'}details>p{padding:0 1rem 1.4rem 0;color:var(--muted);font-size:.96rem}
.training{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem}.training .lead{margin-top:1.5rem}.training>div>p:not(.eyebrow){max-width:33rem}.training .button{margin-top:1.8rem}.training-card{background:#f6f8f7;border-top:3px solid var(--pink);padding:2.5rem;align-self:center;min-width:0}.training-card h3{font-size:2.3rem}.training-card ul{padding-left:1.2rem;margin:1.5rem 0}.training-card li+li{margin-top:.4rem}.training-card>p:not(.eyebrow):not(.fine){font-size:.95rem}.email{display:inline-block;margin-top:1rem;overflow-wrap:anywhere}.training-card .fine{border-top:1px solid var(--line);padding-top:1.25rem;margin-top:1.5rem;font-size:.8rem}
.booking{background:var(--ink);color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:7rem}.booking h2{font-size:clamp(3rem,5vw,5rem)}.booking-title>p:not(.eyebrow){max-width:28rem;margin-top:1.5rem;color:#dce9e6}.booking .button{margin-top:2rem}.booking-title>.fine{font-size:.875rem;margin-top:1rem}.visit{border-left:1px solid #537276;padding-left:4rem;align-self:center}.visit h3{font-size:2.4rem;margin-bottom:1.5rem}.visit address{font-style:normal;margin-bottom:1.5rem;color:#e1eae8}.visit .text-link{color:var(--sea)}.visit-social{border-top:1px solid #537276;padding-top:1.7rem;margin-top:1.7rem}.visit-social p{font-size:.9rem}.visit-social a{color:var(--sea)}footer{padding:3rem 6vw 2rem}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-bottom:2rem}.footer-top>p{font-size:.9rem;color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);padding-top:1.5rem;display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;font-size:.8rem;color:var(--muted)}.footer-bottom p+p{margin:0}
@media(min-width:1600px){.hero-copy{padding-right:5rem}.hero-portrait>img{object-position:50% 40%}.hero{grid-template-columns:1.1fr .9fr}}
@media(max-width:1100px){.header nav{gap:1rem}.header{padding:1rem 4vw}.hero-copy{padding:3.5rem 5vw}.hero .eyebrow{max-width:20rem}.hero-note{margin-top:2rem}.hero-portrait{min-height:610px}.section{padding:5rem 6vw}.section-heading,.about,.correction,.learning-layout,.training{gap:3rem}.booking{gap:3rem}.visit{padding-left:2rem}.result-grid figcaption{display:block}.result-grid figcaption span{display:block;margin-top:.5rem}}
@media(max-width:900px){.menu-toggle{display:flex;gap:1rem;align-items:center;background:white;border:1px solid var(--line);padding:.55rem .8rem;color:var(--ink)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:1.5rem 6vw;flex-wrap:wrap;gap:1.2rem 1.5rem}.header nav.is-open{display:flex}.header nav>a{font-size:1rem}.hero{grid-template-columns:1.1fr .9fr;min-height:580px}.hero-portrait{min-height:580px}.hero-copy{padding:3rem 5vw}.hero h1{font-size:3.3rem}.hero-note{display:none}.actions{gap:1rem}.hero-portrait>img{object-position:50% 40%}.treatments{column-gap:2rem}.training-card{padding:1.8rem}.section-heading{gap:2rem}}
@media(max-width:680px){html{scroll-padding-top:6rem}.header{padding:.9rem 6vw}.brand strong{font-size:2.3rem}.brand>span{font-size:.75rem}.hero{grid-template-columns:1fr}.hero-copy{padding:3rem 6vw 2.5rem}.hero h1{font-size:clamp(3.1rem,11vw,4.3rem)}.hero .eyebrow{max-width:none;font-size:.8rem}.hero .intro{font-size:1.05rem}.hero-portrait{min-height:0;aspect-ratio:1/1.1;max-height:560px}.hero-portrait>img{width:100%;height:100%;object-fit:cover;object-position:50% 37%}.hero-portrait figcaption{left:1rem;right:1rem;bottom:1rem}.actions{align-items:flex-start;flex-direction:column}.location-bar{display:block;padding:1.25rem 6vw}.location-bar p{max-width:24rem}.location-bar a{display:inline-block;margin-top:.5rem;white-space:normal}.section{padding:3.8rem 6vw}.section-heading,.about,.correction,.learning-layout,.training,.booking{grid-template-columns:1fr;gap:2rem}.section-heading{margin-bottom:2.2rem}.section-heading>p{max-width:none}.background-strip{grid-template-columns:1fr;gap:1.3rem;margin-top:0;padding-top:1.5rem}.background-strip>div{display:grid;grid-template-columns:1fr 1.3fr;gap:1rem}.background-strip span{margin:0}.background-strip strong{font-size:.95rem}.treatments{grid-template-columns:1fr}.treatments article{padding:1.5rem 0}.correction .button{margin-bottom:.5rem}.result-grid{gap:2rem;grid-template-columns:1fr}.result-grid figure{max-width:500px}.learning-note{padding-left:1.4rem}.learning-note .large-type{font-size:2.3rem}.training-card{padding:1.7rem}.visit{padding:2rem 0 0;border-left:0;border-top:1px solid #537276}.booking-title .button{margin-top:1.5rem}.footer-top{flex-wrap:wrap;align-items:flex-start;gap:1.5rem}.footer-top>p{flex-basis:100%;order:3}.footer-bottom{grid-template-columns:1fr;gap:1rem}.eyebrow{margin-bottom:1rem}.principles h3{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
