:root{--ink:#173c3a;--deep:#103230;--cream:#f8f3e9;--paper:#fffdf8;--sage:#dce9df;--mint:#e3f1e8;--peach:#f8e6d7;--blue:#dfebf3;--yellow:#f4edcf;--lilac:#ebe4f1;--coral:#f4ddd7;--line:rgba(23,60,58,.15);--serif:"Newsreader",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.7rem 1rem}.emergency{background:var(--deep);color:#fff;text-align:center;padding:.45rem 1rem;font-size:.76rem;letter-spacing:.02em}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,5vw,5rem);border-bottom:1px solid var(--line);background:rgba(255,253,248,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;gap:.8rem;align-items:center;color:var(--ink);text-decoration:none}.brand-mark{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-family:var(--serif);font-size:1.05rem}.brand strong,.brand small{display:block;line-height:1.25}.brand strong{font-family:var(--serif);font-size:1.25rem}.brand small{font-size:.66rem;letter-spacing:.045em;text-transform:uppercase;opacity:.72}.site-header nav{display:flex;align-items:center;gap:1.65rem}.site-header nav>a:not(.button){font-size:.86rem;color:var(--ink);text-decoration:none;font-weight:600}.menu{display:none;background:transparent;border:0;font:600 .9rem var(--sans);color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;text-decoration:none;padding:.9rem 1.3rem;border-radius:999px;font-weight:700;font-size:.88rem;border:0;cursor:pointer}.button.small{padding:.68rem 1rem}.button.cream{background:var(--cream);color:var(--deep)}.hero{min-height:680px;display:grid;grid-template-columns:1.15fr .85fr;gap:4vw;align-items:center;padding:clamp(4rem,8vw,7.5rem) clamp(1.2rem,7vw,7rem);background:radial-gradient(circle at 82% 20%,#dae9df 0,transparent 26%),linear-gradient(145deg,#fffdf8 45%,#f1eadc)}.hero-copy{max-width:760px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:#4f7771;margin-bottom:1rem}.eyebrow.light{color:#b7d0ca}h1,h2,h3{font-family:var(--serif);line-height:1.08;margin:0}h1{font-size:clamp(3rem,6.5vw,6rem);letter-spacing:-.045em;font-weight:500}h2{font-size:clamp(2.25rem,4.2vw,4rem);letter-spacing:-.035em;font-weight:500}h3{font-size:1.5rem;font-weight:600}.lead{font-size:clamp(1rem,1.6vw,1.25rem);max-width:620px;color:#45615f}.actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:2rem}.text-link{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding:.2rem 0}.text-link.light{color:#fff}.locations{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-top:2rem}.locations i{display:inline-block;width:4px;height:4px;background:#c78065;border-radius:50%;margin:0 .7rem;vertical-align:middle}.hero-card{background:var(--ink);color:#fff;border-radius:180px 180px 1.5rem 1.5rem;padding:1.25rem 1.25rem 2rem;max-width:480px;justify-self:end;box-shadow:0 30px 80px rgba(16,50,48,.18)}.doctor-portrait{display:block;width:100%;aspect-ratio:1/1.05;object-fit:cover;object-position:50% 22%;border-radius:160px 160px 1rem 1rem}.hero-card blockquote{font:500 1.25rem/1.35 var(--serif);margin:1.5rem .8rem .3rem}.hero-card>p{margin:.5rem .8rem;font-size:.78rem;opacity:.72}.trust{display:grid;grid-template-columns:repeat(4,1fr);padding:1.5rem clamp(1.2rem,7vw,7rem);background:var(--cream);border-block:1px solid var(--line)}.trust div{display:flex;gap:.7rem;align-items:center;padding:1rem 1.5rem;border-right:1px solid var(--line)}.trust div:last-child{border:0}.trust strong{font:600 1.5rem var(--serif);white-space:nowrap}.trust span{font-size:.73rem;line-height:1.3;color:#58716e}.section{padding:clamp(5rem,9vw,9rem) clamp(1.2rem,7vw,7rem)}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,8vw,8rem);align-items:start}.intro p{font-size:1.05rem;color:#496461}.section-heading{text-align:center;max-width:760px;margin:0 auto 3rem}.section-heading>p{color:#57716e}.section-heading.left{text-align:left;margin:0}.concerns{background:#f5f0e6}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.concern-card{min-height:310px;padding:2rem;border-radius:1.2rem;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;transition:transform .2s}.concern-card:hover{transform:translateY(-4px)}.concern-card>span{font-size:.72rem;font-weight:700;opacity:.55}.concern-card h3{margin:2rem 0 .8rem;font-size:1.65rem}.concern-card p{font-size:.9rem;color:#4f6966}.concern-card b{margin-top:auto;font-size:.78rem}.mint{background:var(--mint)}.peach{background:var(--peach)}.blue{background:var(--blue)}.yellow{background:var(--yellow)}.lilac{background:var(--lilac)}.coral{background:var(--coral)}.practice{background:var(--ink);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.practice ol{list-style:none;padding:0;margin:0}.practice li{display:grid;grid-template-columns:50px 1fr;gap:1rem;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.2)}.practice li>span{color:#a9c9c2;font-size:.75rem}.practice h3{font-size:1.45rem}.practice p{color:#c2d4d0;margin:.4rem 0}.answer-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.answer-list a{padding:2rem 1rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}.answer-list a:nth-child(odd){border-right:1px solid var(--line);padding-right:3rem}.answer-list a:nth-child(even){padding-left:3rem}.answer-list span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#65817d}.answer-list h3{margin:.65rem 0 1.5rem}.answer-list b{font-size:.78rem}.clinic-preview{background:var(--sage);display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.clinic-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.clinic-cards article{background:var(--paper);padding:2rem;border-radius:1rem}.clinic-cards small{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#65817d}.clinic-cards h3{margin:.8rem 0 2rem}.appointment-band{background:#c7795d;color:#fff;padding:clamp(3rem,6vw,5.5rem) clamp(1.2rem,7vw,7rem);display:flex;justify-content:space-between;align-items:center;gap:2rem}.appointment-band h2{font-size:clamp(2.3rem,4vw,4rem)}.appointment-band p{margin:.6rem 0 0}.appointment-band .actions{margin:0}footer{background:#0b2928;color:#d7e5e1;padding:4rem clamp(1.2rem,7vw,7rem) 2rem;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;font-size:.82rem}footer a{color:inherit}.footer-brand{color:#fff}.footer-brand .brand-mark{background:#f1e7d9;color:var(--deep)}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;color:#91aca7}.mobile-actions{display:none}.page-hero{padding:clamp(5rem,10vw,9rem) clamp(1.2rem,12vw,12rem);background:linear-gradient(145deg,#f6f0e4,#e5eee7);text-align:center}.page-hero h1{max-width:1000px;margin:auto;font-size:clamp(3rem,6vw,5.7rem)}.page-hero p{max-width:700px;margin:1.5rem auto 0;font-size:1.15rem;color:#4f6966}.profile-intro{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,650px);gap:clamp(2rem,7vw,7rem);align-items:center;padding:clamp(4rem,8vw,8rem) clamp(1.2rem,12vw,12rem);background:var(--deep);color:#fff}.profile-intro img{width:100%;height:min(620px,75vw);object-fit:cover;object-position:50% 22%;border-radius:180px 180px 1rem 1rem}.profile-intro blockquote{font:500 clamp(2.1rem,4vw,4rem)/1.08 var(--serif);margin:0}.content-layout,.answer-page{padding:clamp(4rem,8vw,8rem) clamp(1.2rem,12vw,12rem);display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(3rem,8vw,8rem);align-items:start}.prose{max-width:760px}.prose h2{font-size:clamp(2rem,3.3vw,3rem);margin:2.8rem 0 1rem}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:#415f5c;font-size:1.02rem}.prose li{margin:.65rem 0}.prose blockquote{font:500 1.8rem/1.35 var(--serif);border-left:3px solid #c7795d;margin:2.5rem 0;padding-left:1.5rem}.side-card{position:sticky;top:120px;background:var(--cream);padding:2rem;border-radius:1rem;border:1px solid var(--line)}.side-card h3{margin:.7rem 0 1rem}.side-card hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.note{background:var(--peach);padding:1.5rem;border-left:4px solid #c7795d;margin:2.5rem 0}.note p{margin-bottom:0}.timeline{border-left:1px solid var(--line);padding-left:1.7rem}.timeline p{position:relative;margin:0 0 2rem}.timeline p:before{content:"";position:absolute;left:-2.06rem;top:.55rem;width:.65rem;height:.65rem;border-radius:50%;background:#c7795d}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.resource-card{padding:2rem;min-height:280px;border:1px solid var(--line);border-radius:1rem;color:var(--ink);text-decoration:none;display:flex;flex-direction:column}.resource-card>span{font-size:.72rem;color:#718984}.resource-card h3{margin:1.2rem 0 .7rem}.resource-card p{color:#516b68;font-size:.9rem}.resource-card b{margin-top:auto;font-size:.78rem}.location-grid{padding:clamp(4rem,8vw,8rem) clamp(1.2rem,8vw,8rem);display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.location-grid article{background:var(--cream);padding:clamp(2rem,5vw,4rem);border-radius:1.3rem}.location-grid h2{font-size:clamp(2.2rem,4vw,3.6rem)}dl{margin:2rem 0}dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:.8rem 0}dt{color:#68817d}dd{margin:0;font-weight:700}.narrow{max-width:930px;margin:auto}.booking-wrap{padding:clamp(4rem,8vw,8rem) clamp(1.2rem,10vw,10rem);display:grid;grid-template-columns:1fr 300px;gap:4rem}.booking-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;background:var(--cream);padding:clamp(1.5rem,4vw,3rem);border-radius:1rem}.booking-form .full{grid-column:1/-1}.booking-form label{display:block;font-size:.8rem;font-weight:700;margin-bottom:.4rem}.booking-form input,.booking-form select,.booking-form textarea,.resource-search>input{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid rgba(23,60,58,.25);border-radius:.55rem;padding:.85rem}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus,.resource-search>input:focus{outline:3px solid rgba(199,121,93,.25);border-color:#c7795d}.form-note{font-size:.75rem;color:#637a77}.booking-aside{padding-top:1rem}.booking-aside>a{font:600 2rem var(--serif);color:var(--ink)}.booking-aside hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.resource-search{max-width:1100px;margin:auto}.resource-search>label{display:block;font:600 1.6rem var(--serif);margin-bottom:.6rem}.resource-search>input{font-size:1.05rem;padding:1rem}.resource-search>#search-count{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:#64807c}.search-results{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.search-results>a{display:block;color:var(--ink);text-decoration:none;border:1px solid var(--line);padding:1.6rem;border-radius:.8rem}.search-results>a[hidden]{display:none}.search-results span,.insight-grid span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#65817d}.search-results h3{margin:.6rem 0}.search-results p{font-size:.86rem;color:#58716e}.answer-callout{background:var(--sage);padding:clamp(1.5rem,4vw,3rem);border-radius:1rem}.answer-callout span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.answer-callout p{font:500 clamp(1.5rem,2.5vw,2.1rem)/1.35 var(--serif);color:var(--ink);margin:.7rem 0 0}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.insight-grid article{background:var(--cream);padding:2rem;border-radius:1rem;min-height:270px}.insight-grid h3{margin:1.2rem 0 .8rem}.insight-grid p{color:#58716e}.insight-grid small{display:block;margin-top:1.5rem;color:#78908c}@media(max-width:1000px){.site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr}.hero-card{justify-self:start;width:min(100%,440px)}.trust{grid-template-columns:repeat(2,1fr)}.trust div:nth-child(2){border-right:0}.card-grid,.resource-grid,.insight-grid{grid-template-columns:repeat(2,1fr)}.practice,.clinic-preview{grid-template-columns:1fr}.content-layout,.answer-page{grid-template-columns:1fr}.side-card{position:static}.booking-wrap{grid-template-columns:1fr}}@media(max-width:650px){body{padding-bottom:58px}.emergency{font-size:.66rem}.site-header{height:74px}.brand small{display:none}.hero{padding-top:3.5rem}.hero-card{border-radius:100px 100px 1rem 1rem}.trust{grid-template-columns:1fr}.trust div{border-right:0;border-bottom:1px solid var(--line);padding-inline:.3rem}.intro{grid-template-columns:1fr}.profile-intro{grid-template-columns:1fr}.profile-intro img{max-width:340px;height:460px}.card-grid,.answer-list,.clinic-cards,.resource-grid,.location-grid,.search-results,.insight-grid{grid-template-columns:1fr}.concern-card{min-height:260px}.answer-list a,.answer-list a:nth-child(odd),.answer-list a:nth-child(even){border-right:0;padding:1.5rem 0}.practice{padding-bottom:5rem}.appointment-band{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr;padding-bottom:3rem}.mobile-actions{position:fixed;display:grid;grid-template-columns:repeat(3,1fr);bottom:0;left:0;right:0;background:#fff;z-index:50;box-shadow:0 -5px 25px rgba(0,0,0,.1)}.mobile-actions a{text-align:center;padding:.85rem .2rem;color:var(--ink);text-decoration:none;font-weight:700;font-size:.78rem;border-right:1px solid var(--line)}h1{font-size:clamp(2.8rem,13vw,4rem)}.booking-form{grid-template-columns:1fr}.booking-form .full{grid-column:auto}}
/* Accessibility color tokens: WCAG AA for eyebrow labels and the closing CTA. */
.eyebrow{font-size:.75rem;color:#365f5a}
.eyebrow.light{color:#d7e5e1}
.appointment-band{background:#9b4f3b}
/* Appointment-field guidance is visually secondary but remains WCAG-readable. */
.field-help{margin:.45rem 0 0;font-size:.75rem;color:#536d69}
