@font-face{font-family:"Red Hat Display";src:url("fonts/red-hat-display-latin-500-normal.woff2") format("woff2");font-display:swap;font-weight:500;font-style:normal;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}
@font-face{font-family:"Red Hat Display";src:url("fonts/red-hat-display-latin-700-normal.woff2") format("woff2");font-display:swap;font-weight:700;font-style:normal;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}
@font-face{font-family:"Red Hat Text";src:url("fonts/red-hat-text-latin-400-normal.woff2") format("woff2");font-display:swap;font-weight:400;font-style:normal;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}
@font-face{font-family:"Red Hat Text";src:url("fonts/red-hat-text-latin-500-normal.woff2") format("woff2");font-display:swap;font-weight:500;font-style:normal;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}
:root{--navy:#102d49;--blue:#17547b;--sky:#eaf4f8;--coral:#c84c45;--coral-dark:#ad3d37;--ink:#173148;--muted:#557083;--white:#fff;--line:#d6e2e8;--font-head:"Red Hat Display",sans-serif;--font-body:"Red Hat Text",sans-serif;--shadow:0 18px 50px #102d4910}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--font-body);font-size:17px;line-height:1.6}img,svg{max-width:100%}a{color:inherit}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.section{padding:92px 0}.section-soft{background:var(--sky)}.section-dark{background:var(--navy);color:var(--white)}.skip-link{position:absolute;left:-999px;top:0;background:var(--coral);padding:12px;z-index:20}.skip-link:focus{left:10px}.site-header{background:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:10}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:11px;align-items:center;min-height:44px;text-decoration:none;font-family:var(--font-head);font-weight:700;color:var(--navy);line-height:1.05}.brand-mark{width:38px;height:38px;border:2px solid var(--coral);border-radius:50%;display:grid;place-items:center;color:var(--coral)}.brand-mark svg{width:24px;height:24px}.nav{display:none;align-items:center;gap:25px;font-size:14px}.nav a{text-decoration:none;padding:8px 0;min-height:44px;display:inline-flex;align-items:center}.nav a:hover,.nav a.active{color:var(--coral-dark);border-bottom:2px solid var(--coral)}.lang-switch{display:flex;border:1px solid var(--line);border-radius:30px;padding:2px}.lang-switch button,.menu-toggle{border:0;background:none;padding:7px 10px;min-height:44px;font:500 13px var(--font-body);cursor:pointer}.lang-switch button[aria-pressed=true]{background:var(--navy);color:#fff;border-radius:20px}.menu-toggle{display:block;min-width:44px;font-size:25px}.mobile-nav{display:none;border-top:1px solid var(--line);padding:12px 20px 20px}.mobile-nav.open{display:grid;gap:8px}.mobile-nav a{text-decoration:none;padding:9px;min-height:44px;display:flex;align-items:center}.hero{padding:110px 0 96px;position:relative;overflow:hidden;background:radial-gradient(circle at 80% 30%,#286d92 0,transparent 38%),var(--navy)}.hero:after{content:"";position:absolute;width:460px;height:460px;border:1px solid #ffffff18;border-radius:50%;right:-150px;bottom:-250px}.hero-grid{display:grid;gap:55px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font:500 12px var(--font-body);color:var(--coral);margin:0 0 16px}.section-dark .eyebrow{color:#ffaaa1}.hero h1,.page-hero h1{font:700 clamp(42px,7vw,76px)/1.02 var(--font-head);letter-spacing:-.045em;max-width:700px;margin:0 0 24px}.lead{font-size:21px;line-height:1.5;color:inherit;max-width:650px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;border:2px solid transparent;border-radius:3px;font-weight:500;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-coral{background:var(--coral);color:#fff}.button-coral:hover{background:var(--coral-dark)}.button-dark{background:var(--navy);color:#fff}.button-outline{border-color:var(--blue);color:var(--blue)}.text-link{font-weight:500;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}.metric-row{display:flex;gap:35px;margin-top:60px}.metric-row div{display:grid}.metric-row strong{font:700 28px var(--font-head)}.metric-row span{font-size:13px;color:#c6d9e3}.hero-visual{min-height:300px;position:relative;display:grid;place-items:center}.ring{border-radius:50%;display:grid;place-items:center;text-align:center;border:2px solid var(--coral);position:relative}.ring span{font:700 36px var(--font-head);line-height:1}.ring small{max-width:100px;font-size:12px;line-height:1.3}.ring-large{width:250px;height:250px;box-shadow:0 0 0 28px #ffffff08,0 0 0 56px #ffffff06}.ring-small{width:110px;height:110px;position:absolute;right:0;bottom:8px;background:var(--navy)}.tooth-line{position:absolute;width:80%;height:1px;background:#b6e4ef;transform:rotate(-35deg);opacity:.5}.section-heading{margin-bottom:38px}.section-heading.split{display:grid;gap:20px}.section-heading.centered{text-align:center}.section-heading h2,.story-section h2,.team-feature h2,.section h2{font:700 clamp(32px,4vw,50px)/1.1 var(--font-head);letter-spacing:-.03em;margin:0 0 18px}.section-heading .lead{margin:0}.section-heading>p:not(.eyebrow),.section-heading.split>p{color:var(--muted);max-width:510px;margin:0}.card-grid{display:grid;gap:16px}.service-card,.info-card,.question{background:#fff;border:1px solid var(--line);padding:27px;box-shadow:var(--shadow)}.service-card{min-height:250px}.service-card h3,.info-card h3,.person h3{font:700 23px/1.15 var(--font-head);margin:22px 0 10px}.service-card p,.info-card p,.person p{color:var(--muted);margin:0 0 22px}.service-card a{font-size:14px;font-weight:500;color:var(--blue);min-height:44px;display:inline-flex;align-items:center}.icon-disc{width:52px;height:52px;border-radius:50%;background:var(--sky);display:grid;place-items:center;color:var(--blue)}.story-grid,.team-feature{display:grid;gap:35px;align-items:center}.story-section p:not(.eyebrow),.team-feature p:not(.eyebrow){color:var(--muted)}.photo-slot{margin:0;background:linear-gradient(135deg,#d8edf1,#f5f9fa);border:1px solid #b8d6df;min-height:300px;display:grid;place-items:center;overflow:hidden}.photo-placeholder{width:100%;height:100%;min-height:300px;display:grid;place-items:center;align-content:center;gap:12px;color:var(--blue);background:radial-gradient(circle at 20% 20%,#fff9 0 12%,transparent 12%),linear-gradient(145deg,transparent 45%,#b7dbe4 46%,transparent 47%)}.photo-placeholder strong{font:500 14px var(--font-body)}.portrait{min-height:280px}.portrait .photo-placeholder{min-height:280px}.people-grid{display:grid;gap:28px}.person h3{margin:17px 0 5px}.person .role{font-size:14px;color:var(--blue);margin-bottom:10px}.person p{font-size:15px}.quote-grid{display:grid;gap:25px;margin-top:35px}.quote-grid blockquote{margin:0;border-left:2px solid var(--coral);padding:0 0 0 20px}.quote-grid p{font:500 21px/1.35 var(--font-head);margin:0 0 18px}.quote-grid footer,.quotes-section small{color:#b5d2df;font-size:14px}.quotes-section small{display:block;margin-top:35px}.opening-grid{display:grid;gap:35px}.hours-table{border-top:1px solid var(--line)}.hours-table div{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}.closing-section{padding:65px 0;background:#cce9ef}.closing-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.closing-inner h2{font:700 clamp(30px,4vw,46px)/1.1 var(--font-head);margin:0 0 10px}.closing-inner p:not(.eyebrow){margin:0;color:var(--muted)}.page-hero{background:var(--sky);padding:82px 0 75px}.page-hero h1{margin-bottom:20px}.page-hero .lead{color:var(--muted)}.team-feature{grid-template-columns:1fr}.wide-photo{min-height:360px}.treatment-list{border-top:1px solid var(--line)}.treatment-list article{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.treatment-list h3{font:700 21px var(--font-head);margin:0 0 5px}.treatment-list p{margin:0;color:var(--muted);font-size:15px}.treatment-list strong{white-space:nowrap;color:var(--blue);font-size:14px}.values .info-card svg{color:var(--coral)}.contact-grid{display:grid;gap:35px}.contact-details address{font-style:normal;color:var(--muted)}.contact-details address p{margin-top:5px}.contact-details p{margin:22px 0}.map-frame{border:1px solid var(--line);background:#fff;padding:12px}.map-frame iframe{width:100%;height:330px;border:0;display:block}.map-frame p{font-size:12px;color:var(--muted);margin:10px 0 0}.contact-hours{max-width:650px;margin:auto;border-top:1px solid var(--line)}.contact-hours table{width:100%;border-collapse:collapse}.contact-hours th,.contact-hours td{padding:16px 0;border-bottom:1px solid var(--line);text-align:left}.contact-hours td{text-align:right}.narrow{max-width:720px}.form-grid{display:grid;gap:20px}.form-grid label,.form-grid fieldset{display:grid;gap:7px;font-weight:500}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #aec4cf;border-radius:3px;padding:13px;font:400 16px var(--font-body);background:#fff;color:var(--ink)}.form-grid textarea{min-height:130px;resize:vertical}.form-grid fieldset{border:1px solid var(--line);padding:16px}.check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;min-height:44px;gap:8px!important}.check input{width:44px;height:44px;flex:0 0 44px}.form-status{margin:0;min-height:24px;color:var(--coral-dark)}.form-status.success{color:#18734b}.question{margin-bottom:15px;background:var(--sky);box-shadow:none}.question h2{font-size:23px;margin:0 0 18px}.choice{display:flex;align-items:center;min-height:44px;gap:10px;padding:9px 0;cursor:pointer}.choice input{width:44px;height:44px;flex:0 0 44px;accent-color:var(--coral)}.check-intro{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:25px}.check-ring{width:150px;height:150px;max-width:100%;min-width:0;flex-shrink:1}.check-ring strong{font:700 44px var(--font-head);display:block}.check-ring span{font-size:16px}.result{margin-top:28px;background:#d9f0e4;border-left:4px solid #18734b;padding:20px}.result strong{font:700 22px var(--font-head)}.site-footer{background:var(--navy);color:#fff;padding:55px 0 25px}.footer-grid{display:grid;gap:30px}.footer-brand{font:700 23px var(--font-head)}.footer-grid h3{font:500 13px var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:#a9d1df;margin:0 0 12px}.footer-grid address,.footer-grid p{font-style:normal;color:#d3e1e7;font-size:14px;margin:0}.footer-grid a{min-height:44px;display:inline-flex;align-items:center}.footer-bottom{border-top:1px solid #ffffff22;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:15px;color:#a9c1cc;font-size:13px}.footer-bottom a{color:#fff}.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}
@media(min-width:650px){.wrap{width:min(1160px,calc(100% - 64px))}.card-grid.three{grid-template-columns:repeat(3,1fr)}.card-grid.four{grid-template-columns:repeat(2,1fr)}.card-grid.two{grid-template-columns:repeat(2,1fr)}.people-grid{grid-template-columns:repeat(3,1fr)}.quote-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid .full{grid-column:1/-1}.contact-grid{grid-template-columns:.75fr 1.25fr}.story-grid,.team-feature{grid-template-columns:1fr 1fr}.team-feature .photo-slot{order:2}}
@media(min-width:900px){.nav{display:flex}.menu-toggle{display:none}.mobile-nav{display:none!important}.hero-grid{grid-template-columns:1.15fr .85fr}.hero{padding:130px 0 120px}.card-grid.four{grid-template-columns:repeat(4,1fr)}.card-grid.three{grid-template-columns:repeat(3,1fr)}.people-grid.four{grid-template-columns:repeat(4,1fr)}.opening-grid{grid-template-columns:1fr 1fr}.metric-row{margin-top:75px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
