:root{--navy:#082f64;--deep:#052552;--blue:#0e5ba8;--blue2:#2587cc;--ice:#edf7fd;--ice2:#dceffc;--gold:#c6954e;--ink:#173552;--muted:#5d7185;--shell:min(1280px,calc(100% - 64px));--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--shadow:0 12px 34px rgba(6,48,94,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.55}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,textarea,select{font:inherit}.site-shell{width:var(--shell);margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;top:8px;left:8px;padding:12px 16px;background:#fff;color:#000;z-index:99999}.eyebrow{display:block;color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:12px}.eyebrow.light{color:#f2c37c}.gold-rule{display:block;width:42px;height:2px;background:var(--gold);margin:16px 0 22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 20px;border:0;border-radius:3px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:11px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.button:hover{transform:translateY(-2px)}.button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #ffcf73;outline-offset:3px}.button-primary{background:#0755a2;color:#fff;box-shadow:0 10px 22px rgba(0,69,140,.22)}.button-primary:hover{background:#064b91}.button-gold{background:linear-gradient(135deg,#d5aa6b,#bd8841);color:#fff;box-shadow:0 10px 25px rgba(151,96,23,.2)}
.site-header{height:92px;display:flex;align-items:center;background:rgba(255,255,255,.98);position:relative;z-index:50}.header-inner{display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;text-decoration:none;min-width:310px}.brand-mark{width:64px;height:64px;position:relative;display:block;margin-right:14px}.brand-mark span{position:absolute;font-family:var(--serif);font-size:52px;line-height:1;color:var(--navy);font-style:italic}.brand-mark span:first-child{left:1px;top:2px;color:var(--gold)}.brand-mark span:last-child{right:2px;bottom:0}.brand-copy{border-left:1px solid #d9c7a9;padding-left:13px;display:flex;flex-direction:column;line-height:1.08}.brand-copy strong{font-family:var(--serif);font-size:14px;letter-spacing:.035em;color:var(--navy)}.brand-copy small{font-size:9px;letter-spacing:.24em;color:var(--gold);font-weight:800;margin-top:6px}.brand-copy em{font-style:normal;font-size:8px;letter-spacing:.26em;color:#6f7f90;font-weight:700;margin-top:4px}.desktop-nav{margin-left:auto}.desktop-nav .menu{list-style:none;display:flex;gap:26px;padding:0;margin:0}.desktop-nav .menu a{text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--navy);position:relative;padding:34px 0}.desktop-nav .menu a:after{content:"";position:absolute;left:0;right:100%;bottom:24px;height:2px;background:var(--gold);transition:right .2s ease}.desktop-nav .menu a:hover:after,.desktop-nav .current-menu-item>a:after{right:0}.header-cta{margin-left:12px;white-space:nowrap}.menu-toggle{display:none;width:48px;height:48px;border:0;background:transparent;cursor:pointer;padding:11px}.menu-toggle span:not(.screen-reader-text){display:block;height:2px;background:var(--navy);margin:5px 0}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:#fff;padding:14px 24px 24px;box-shadow:0 18px 30px rgba(4,42,85,.16)}.mobile-nav a{display:flex;min-height:46px;align-items:center;padding:0 10px;text-decoration:none;border-bottom:1px solid #edf1f5;font-weight:700;color:var(--navy)}.mobile-nav .button{margin-top:14px;color:#fff;border-bottom:0}
.hero-section{position:relative;min-height:480px;overflow:hidden;background:linear-gradient(180deg,#f6fbff 0%,#fff 48%,#edf7fd 100%)}.hero-grid{display:grid;grid-template-columns:42% 58%;min-height:435px;align-items:center;position:relative;z-index:4}.hero-copy{padding:30px 24px 58px 6px}.hero-copy h1,.section-heading h2,.doctor-copy h2,.footer-contact h2,.appointment-card h2,.entry h1,.page-hero h1,.archive-header h1,.profile-grid h1{font-family:var(--serif);font-weight:400;color:var(--navy);line-height:1.02;margin:10px 0 0}.hero-copy h1{font-size:clamp(50px,5vw,70px);letter-spacing:-.035em;white-space:nowrap}.hero-copy p{max-width:430px;margin:0 0 28px;font-size:14px;color:#405d77}.hero-visual{height:390px;position:relative;align-self:center}.hero-photo-frame{position:absolute;inset:18px 0 0 4%;overflow:hidden;border-radius:49% 0 0 48%/38% 0 0 62%;box-shadow:0 16px 50px rgba(3,53,104,.11);background:linear-gradient(135deg,#0d3c70,#f8fbfd)}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center}.hero-monogram{position:absolute;left:12%;top:27%;width:88px;height:88px;display:grid;place-items:center;color:#d2a35f;z-index:3;text-shadow:0 2px 12px #05244e}.hero-monogram span{position:absolute;font-family:var(--serif);font-size:54px;font-style:italic}.hero-monogram span:last-child{transform:translate(15px,9px);color:#fff;opacity:.88}.quality-badge{position:absolute;right:7%;bottom:-19px;width:126px;height:126px;border-radius:50%;background:var(--navy);color:#e1b574;border:3px solid #d1a15a;box-shadow:0 0 0 4px rgba(8,47,100,.94),0 12px 24px rgba(5,37,82,.22);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.11em;line-height:1.35}.quality-badge i{font-style:normal;margin-top:6px}.hero-sky{position:absolute;inset:0;background:radial-gradient(circle at 62% 12%,rgba(160,211,245,.35),transparent 30%)}.hero-wave-back{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.hero-wave-front{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:116px;z-index:6;pointer-events:none}
.trust-strip{background:#fff;border-bottom:1px solid #dbeaf5}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);min-height:95px;align-items:center}.trust-item{display:flex;align-items:center;gap:18px;padding:18px 28px;border-right:1px solid #dde8ef}.trust-item:last-child{border-right:0}.trust-icon{width:38px;height:38px;color:#2f78b9;flex:0 0 auto}.trust-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4}.trust-item span:last-child{display:flex;flex-direction:column}.trust-item strong{font-size:10px;color:var(--navy);text-transform:uppercase;letter-spacing:.05em}.trust-item small{font-size:9px;color:#61798e;margin-top:5px;line-height:1.4}
.services-section{background:linear-gradient(180deg,#dff1fd 0%,#eaf7ff 100%);padding:52px 0 70px;position:relative;overflow:hidden}.services-section:before{content:"";position:absolute;width:280px;height:280px;border:28px solid rgba(255,255,255,.45);border-radius:50%;left:-150px;top:75px}.section-heading{position:relative;z-index:2}.section-heading h2{font-size:38px}.section-heading .gold-rule{margin:10px 0 28px}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;position:relative;z-index:2}.service-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 5px 20px rgba(19,75,122,.08);min-width:0;transition:transform .25s ease,box-shadow .25s ease}.service-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(19,75,122,.14)}.service-card>a{display:flex;flex-direction:column;height:100%;text-decoration:none}.service-card figure{height:175px;margin:0;background:#dbeaf4;overflow:hidden}.service-card figure img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.service-card:hover figure img{transform:scale(1.035)}.service-body{padding:16px 15px 21px;min-height:166px;display:flex;flex-direction:column;position:relative}.service-body h3,.service-body h2{font-family:var(--serif);font-size:15px;line-height:1.15;color:var(--navy);margin:0 0 12px}.service-body p{font-size:9.5px;line-height:1.5;color:#5c7185;margin:auto 0 13px}.card-arrow{position:absolute;right:13px;bottom:-15px;width:32px;height:32px;background:#fff;border-radius:50%;display:grid;place-items:center;box-shadow:0 4px 12px rgba(10,63,111,.14);color:var(--blue)}.card-arrow svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.doctor-section{position:relative;overflow:hidden;background:linear-gradient(90deg,#cfe9f8 0 42%,#fff 42%)}.doctor-grid{display:grid;grid-template-columns:43% 57%;min-height:405px;position:relative;z-index:2}.doctor-photo-wrap{overflow:hidden;position:relative}.doctor-photo{width:100%;height:405px;object-fit:cover;object-position:center top}.doctor-copy{padding:50px 7% 42px 10%;position:relative;background:#fff;clip-path:ellipse(115% 95% at 100% 50%)}.doctor-copy h2{font-size:38px}.doctor-copy .gold-rule{margin:10px 0 18px}.doctor-copy p{font-size:11px;line-height:1.55;color:#4d687f;max-width:700px}.doctor-copy .lead{font-size:12px;color:#365870}.check-list{list-style:none;margin:17px 0 0;padding:0}.check-list li{font-size:10px;margin:7px 0;padding-left:20px;position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:#c9974c;font-weight:900}.doctor-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:18px}.signature{font-family:cursive;color:#2d5d8b;font-size:20px;font-style:italic}.doctor-watermark{position:absolute;left:1.5%;top:16%;font-family:var(--serif);font-size:158px;color:rgba(255,255,255,.55);z-index:3;pointer-events:none}.doctor-watermark span:last-child{margin-left:-35px}
.reviews-section{position:relative;min-height:245px;background:#eef8fe;overflow:hidden}.reviews-wave{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.review-inner{position:relative;z-index:2;text-align:center;padding:38px 0 30px}.review-stage{max-width:760px;min-height:118px;margin:15px auto 0;position:relative;display:grid;place-items:center}.review{grid-area:1/1}.review blockquote{font-family:var(--serif);font-size:21px;line-height:1.35;color:#48677f;font-style:italic;margin:0 auto 10px;max-width:690px}.stars{color:#c9984d;letter-spacing:.16em;font-size:13px}.review cite{display:block;text-transform:uppercase;font-style:normal;font-weight:800;color:#6e8395;font-size:8px;letter-spacing:.11em;margin-top:7px}.carousel-button{position:absolute;top:35%;width:44px;height:44px;border-radius:50%;border:1px solid #d2e5f2;background:rgba(255,255,255,.84);color:#3d709c;font-size:25px;cursor:pointer}.carousel-button.prev{left:-60px}.carousel-button.next{right:-60px}.carousel-dots{display:flex;gap:7px;justify-content:center}.carousel-dots button{width:8px;height:8px;border-radius:50%;border:1px solid #9ebbd0;background:transparent;padding:0;cursor:pointer}.carousel-dots button.is-active{background:#0d5ca9;border-color:#0d5ca9}
.footer-contact{background:linear-gradient(115deg,#1876c1 0%,#0960ad 58%,#083b79 100%);color:#fff;position:relative;overflow:hidden}.footer-wave{position:absolute;inset:auto 0 0;width:100%;height:100%;pointer-events:none}.contact-grid{min-height:270px;display:grid;grid-template-columns:1.05fr .85fr 1.3fr;gap:54px;align-items:center;position:relative;z-index:2}.footer-contact h2{color:#fff;font-size:31px;margin-top:8px}.contact-list{list-style:none;padding:0;margin:18px 0 0}.contact-list li{display:flex;align-items:flex-start;gap:11px;font-size:11px;margin:9px 0}.contact-list svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.contact-list a{text-decoration:none}.hours-grid{display:grid;grid-template-columns:30px 1fr 1fr;gap:7px 12px;font-size:10px;margin:16px 0 10px}.hours-grid b{font-weight:500}.text-link{font-size:9px;color:#fff}.appointment-card{background:#fff;color:var(--ink);border-radius:8px;padding:30px 32px;position:relative;min-height:175px;box-shadow:var(--shadow);overflow:hidden}.appointment-card h2{font-size:31px}.appointment-card p{font-size:10px;margin:8px 0 18px;color:#667b8e}.calendar-art{position:absolute;right:22px;bottom:-14px;color:#dfe7ee;transform:rotate(8deg)}.calendar-art svg{width:82px;height:82px;fill:none;stroke:currentColor;stroke-width:1}.footer-main{background:linear-gradient(180deg,#073970 0%,#052b5c 100%);color:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr .9fr;gap:38px;padding:38px 0 28px}.footer-main .brand{min-width:0}.footer-main .brand-copy strong{color:#fff}.footer-main .brand-mark span:last-child{color:#fff}.footer-grid>div>strong{text-transform:uppercase;font-size:9px;letter-spacing:.13em;color:#dce9f4}.footer-links{list-style:none;padding:9px 0 0;margin:0}.footer-links li{line-height:1.35}.footer-links a{font-size:9px;text-decoration:none;color:#dbe8f4}.footer-motto{display:flex;flex-direction:column}.footer-motto span{font-family:cursive;color:#d5a252;font-size:19px;margin-top:14px}.footer-motto em{font-family:var(--serif);font-size:13px;letter-spacing:.08em;font-style:normal}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);min-height:48px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#bcd0e2}.footer-bottom span:last-child{display:flex;gap:15px}.footer-bottom a{text-decoration:none}
.page-main{min-height:60vh;padding:82px 0;background:linear-gradient(180deg,#f6fbff,#fff 320px)}.content-shell{max-width:1080px}.entry>header,.page-hero,.archive-header{max-width:820px;margin-bottom:38px}.entry h1,.page-hero h1,.archive-header h1,.profile-grid h1{font-size:clamp(42px,5vw,62px)}.entry-content{font-size:16px;line-height:1.75}.entry-content h2,.entry-content h3{font-family:var(--serif);color:var(--navy)}.entry-content a{color:#0755a2}.page-hero p{max-width:680px;color:#5f7486}.inner-services{grid-template-columns:repeat(3,1fr)}.profile-page{padding:80px 0}.profile-grid{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:60px;align-items:center}.profile-photo{width:100%;max-height:620px;object-fit:cover;border-radius:16px}.practice-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;margin-top:50px;background:#edf7fd;padding:28px;border-radius:14px}.practice-feature img{border-radius:10px}.info-grid,.contact-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.contact-page-grid{grid-template-columns:1fr 1fr}.info-card{border:1px solid #dbe8f1;border-radius:12px;padding:26px;background:#fff;box-shadow:0 6px 22px rgba(15,62,101,.05)}.info-card h2{font-family:var(--serif);color:var(--navy)}.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.post-card{border:1px solid #dbe8f1;border-radius:12px;overflow:hidden;background:#fff}.post-card>a{text-decoration:none}.post-card figure{margin:0;height:220px;overflow:hidden}.post-card img{width:100%;height:100%;object-fit:cover}.post-card>a>div{padding:22px}.post-card h2{font-family:var(--serif);color:var(--navy);font-size:26px}.search-form{display:flex;gap:12px;max-width:600px}.search-field{width:100%;min-height:46px;border:1px solid #bacbd8;border-radius:4px;padding:0 14px}.comments-area{margin-top:60px}
@media(max-width:1180px){:root{--shell:min(1100px,calc(100% - 40px))}.desktop-nav .menu{gap:16px}.desktop-nav .menu a{font-size:9px}.brand{min-width:270px}.header-cta{padding-inline:14px}.service-grid{gap:10px}.service-card figure{height:155px}}
@media(max-width:860px){:root{--shell:calc(100% - 36px)}.site-header{height:78px}.desktop-nav,.header-cta{display:none}.brand{min-width:0}.brand-mark{width:52px;height:52px}.brand-mark span{font-size:42px}.brand-copy strong{font-size:12px}.menu-toggle{display:block;margin-left:auto}.hero-section{min-height:0;padding-bottom:60px}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding:52px 0 30px}.hero-copy h1{white-space:normal;font-size:56px}.hero-copy p{font-size:14px}.hero-visual{height:380px}.hero-photo-frame{inset:0;border-radius:60px 0 0 60px}.quality-badge{right:6%;bottom:-25px}.hero-wave-front{height:95px}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid #e0ebf2;padding-inline:4px}.services-section{padding-top:45px}.service-grid{grid-template-columns:repeat(2,1fr);gap:16px}.service-card figure{height:240px}.doctor-section{background:#e2f1fa}.doctor-grid{grid-template-columns:1fr}.doctor-photo{height:auto;max-height:560px}.doctor-copy{clip-path:none;padding:42px 30px;margin-inline:auto;width:100%;background:#fff}.doctor-watermark{font-size:120px}.carousel-button.prev{left:-10px}.carousel-button.next{right:-10px}.contact-grid{grid-template-columns:1fr 1fr;gap:30px;padding:38px 0}.appointment-card{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}.profile-grid,.practice-feature{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){:root{--shell:calc(100% - 28px)}body{font-size:15px}.brand-copy strong{font-size:10px}.brand-copy small,.brand-copy em{font-size:7px}.hero-copy{padding-top:38px}.hero-copy h1{font-size:46px}.hero-visual{height:310px}.hero-photo-frame{border-radius:34px 0 0 34px}.hero-monogram{width:62px;height:62px;top:19%;left:9%}.hero-monogram span{font-size:40px}.quality-badge{width:98px;height:98px;font-size:8px;right:4%;bottom:-17px}.trust-item{min-height:82px}.section-heading h2,.doctor-copy h2{font-size:32px}.service-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 4px 28px;margin-inline:-4px;gap:14px}.service-card{min-width:78vw;scroll-snap-align:start}.service-card figure{height:220px}.service-body{min-height:150px}.doctor-copy{padding:34px 20px}.doctor-actions{align-items:stretch;flex-direction:column}.doctor-actions .button{align-self:flex-start}.review-stage{padding-inline:36px}.review blockquote{font-size:18px}.carousel-button.prev{left:0}.carousel-button.next{right:0}.contact-grid{grid-template-columns:1fr;gap:26px;padding:34px 0}.appointment-card{grid-column:auto;padding:25px}.footer-grid{grid-template-columns:1fr;padding:32px 0 20px}.footer-main .brand{max-width:300px}.footer-links a,.footer-grid>div>strong{min-height:44px;display:flex;align-items:center}.contact-list a,.contact-list li{min-height:44px;align-items:center}.footer-bottom{padding:14px 0;gap:12px;flex-direction:column;align-items:flex-start}.page-main{padding:52px 0}.entry h1,.page-hero h1,.archive-header h1,.profile-grid h1{font-size:40px}.inner-services{display:grid;grid-template-columns:1fr}.contact-page-grid,.info-grid,.post-grid{grid-template-columns:1fr}.search-form{flex-direction:column}.button{min-height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.site-header{transition:box-shadow .2s ease,background .2s ease}.site-header.is-scrolled{position:relative;top:auto;box-shadow:none;background:rgba(255,255,255,.98)}body.admin-bar .site-header.is-scrolled{top:auto}.route-link{display:inline-flex;margin-top:10px;color:#fff;font-size:10px;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5)}.appointment-actions{display:flex;align-items:center;gap:15px;position:relative;z-index:2}.appointment-phone{font-size:11px;color:var(--navy);font-weight:800;text-decoration:none}.service-controls{display:none}.service-detail{padding:10px 0 10px}.service-detail-grid{display:grid;grid-template-columns:minmax(0,56fr) minmax(0,44fr);align-items:center;gap:55px}.service-detail-copy h1{font-family:var(--serif);font-size:clamp(44px,5vw,66px);font-weight:400;color:var(--navy);line-height:1.02;margin:12px 0 0}.service-detail-copy .lead{font-size:18px;color:#46677f;max-width:680px}.service-detail-media{margin:0;overflow:hidden;border-radius:18px;min-height:430px;background:#e2f0f8}.service-detail-media img{width:100%;height:100%;min-height:430px;object-fit:cover}.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:10px;color:#718599;margin-bottom:26px}.breadcrumbs a{color:#316b99;text-decoration:none}.service-detail-actions{display:flex;gap:18px;align-items:center;margin-top:28px}.text-button{font-weight:800;color:var(--navy);text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:782px){body.admin-bar .site-header.is-scrolled{top:46px}}
@media(max-width:860px){.service-detail-grid{grid-template-columns:1fr}.service-detail-media{order:-1;min-height:300px}.service-detail-media img{min-height:300px}.service-detail-copy{padding-bottom:20px}}
@media(max-width:620px){.service-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:-8px}.service-controls button{width:44px;height:44px;border-radius:50%;border:1px solid #bed4e4;background:#fff;color:var(--navy);font-size:24px;box-shadow:0 5px 14px rgba(12,72,118,.08)}.service-controls button:disabled{opacity:.35}.service-controls span{min-width:48px;text-align:center;font-size:11px;font-weight:800;color:#58738a}.appointment-actions{align-items:flex-start;flex-direction:column}.appointment-phone{min-height:44px;display:flex;align-items:center}.route-link{min-height:44px;align-items:center}.service-detail-actions{align-items:stretch;flex-direction:column}.service-detail-actions .button{align-self:flex-start}}
.service-detail-copy,.service-detail-media{min-width:0}.breadcrumbs{min-width:0}.breadcrumbs>*{min-width:0;overflow-wrap:anywhere}.service-detail-copy h1{overflow-wrap:anywhere}

/* === RC3 precision desktop geometry pass: reference-locked proportions, real DOM === */
@media (min-width:861px){
  :root{--shell:min(1180px,calc(100% - 120px))}
  .site-header{height:90px}
  .header-inner{gap:24px}
  .brand{min-width:290px}
  .brand-mark{width:58px;height:58px;margin-right:12px}
  .brand-mark span{font-size:47px}
  .brand-copy strong{font-size:13px}
  .brand-copy small{font-size:8px;margin-top:5px}
  .brand-copy em{font-size:7px}
  .desktop-nav .menu{gap:24px}
  .desktop-nav .menu a{font-size:9px;padding:34px 0 32px}
  .desktop-nav .menu a:after{bottom:22px}
  .header-cta{min-height:42px;padding-inline:18px;font-size:9px}

  .hero-section{height:345px;min-height:345px}
  .hero-grid{grid-template-columns:40% 60%;height:315px;min-height:315px}
  .hero-copy{padding:16px 18px 34px 4px}
  .hero-copy h1{font-size:52px;line-height:.98;letter-spacing:-.035em}
  .hero-copy p{max-width:330px;font-size:11px;line-height:1.55;margin-bottom:22px}
  .hero-copy .gold-rule{width:36px;margin:13px 0 18px}
  .hero-copy .button{min-height:40px;padding-inline:17px;font-size:9px}
  .hero-visual{height:290px}
  .hero-photo-frame{inset:8px -1.5% 0 2%;border-radius:54% 0 0 52%/44% 0 0 56%}
  .hero-monogram{left:15%;top:23%;width:66px;height:66px}
  .hero-monogram span{font-size:44px}
  .quality-badge{right:8%;bottom:-18px;width:104px;height:104px;font-size:8px;border-width:2px;box-shadow:0 0 0 3px rgba(8,47,100,.94),0 10px 20px rgba(5,37,82,.2)}
  .hero-wave-front{height:92px}

  .trust-grid{min-height:87px;height:87px}
  .trust-item{padding:13px 26px;gap:15px}
  .trust-icon{width:31px;height:31px}
  .trust-item strong{font-size:8px}
  .trust-item small{font-size:7.5px;margin-top:3px;line-height:1.35}

  .services-section{height:385px;padding:28px 0 26px}
  .services-section:before{width:220px;height:220px;border-width:23px;left:-125px;top:64px}
  .section-heading h2{font-size:31px}
  .section-heading .gold-rule{width:34px;margin:8px 0 16px}
  .section-heading .eyebrow{font-size:9px}
  .service-grid{gap:10px}
  .service-card{border-radius:8px}
  .service-card figure{height:132px}
  .service-body{padding:12px 12px 15px;min-height:105px}
  .service-body h3,.service-body h2{font-size:12px;line-height:1.12;margin:0 0 7px}
  .service-body p{font-size:7.5px;line-height:1.38;margin:auto 0 6px}
  .card-arrow{right:12px;bottom:-13px;width:28px;height:28px}

  .doctor-section{height:283px;background:linear-gradient(90deg,#cfe9f8 0 41%,#fff 41%)}
  .doctor-grid{grid-template-columns:41% 59%;height:283px;min-height:283px}
  .doctor-photo{height:283px}
  .doctor-copy{height:283px;padding:28px 7% 23px 8%;clip-path:ellipse(115% 105% at 100% 50%)}
  .doctor-copy h2{font-size:31px}
  .doctor-copy .gold-rule{width:34px;margin:8px 0 12px}
  .doctor-copy p{font-size:8px;line-height:1.45;margin:8px 0}
  .doctor-copy .lead{font-size:9px}
  .check-list{margin:9px 0 0}
  .check-list li{font-size:7.5px;margin:4px 0;padding-left:15px}
  .doctor-actions{margin-top:9px;gap:20px;align-items:center}
  .signature{font-size:15px}
  .doctor-actions .button{min-height:38px;font-size:8px;padding-inline:18px}
  .doctor-watermark{font-size:116px;top:18%;left:1%}

  .reviews-section{height:170px;min-height:170px}
  .review-inner{padding:24px 0 17px}
  .review-inner>.eyebrow{font-size:9px}
  .review-stage{max-width:620px;min-height:82px;margin-top:8px}
  .review blockquote{font-size:17px;line-height:1.28;max-width:550px;margin-bottom:6px}
  .stars{font-size:10px}
  .review cite{font-size:6.5px;margin-top:4px}
  .carousel-button{width:34px;height:34px;font-size:20px;top:34%}
  .carousel-button.prev{left:-48px}.carousel-button.next{right:-48px}
  .carousel-dots{gap:6px}.carousel-dots button{width:6px;height:6px}

  .contact-grid{height:155px;min-height:155px;grid-template-columns:1.05fr .82fr 1.25fr;gap:42px}
  .footer-contact h2{font-size:23px;margin-top:5px}
  .footer-contact .eyebrow{font-size:8px}
  .contact-list{margin-top:10px}
  .contact-list li{font-size:8px;margin:5px 0;gap:8px}
  .contact-list svg{width:13px;height:13px}
  .hours-grid{grid-template-columns:22px 1fr 1fr;gap:4px 8px;font-size:7.5px;margin:9px 0 6px}
  .text-link,.route-link{font-size:7px;margin-top:5px}
  .appointment-card{min-height:118px;height:118px;padding:17px 24px;border-radius:7px}
  .appointment-card h2{font-size:23px;margin-top:0}
  .appointment-card p{font-size:8px;margin:5px 0 10px}
  .appointment-card .button{min-height:36px;font-size:8px;padding-inline:15px}
  .appointment-phone{font-size:8px}
  .calendar-art{right:16px;bottom:-12px}.calendar-art svg{width:60px;height:60px}

  .footer-main{height:157px;overflow:hidden}
  .footer-grid{height:119px;grid-template-columns:1.35fr .7fr 1fr .9fr;gap:28px;padding:22px 0 12px}
  .footer-main .brand-mark{width:50px;height:50px}.footer-main .brand-mark span{font-size:40px}
  .footer-main .brand-copy strong{font-size:10px}.footer-main .brand-copy small{font-size:6.5px}.footer-main .brand-copy em{font-size:6px}
  .footer-grid>div>strong{font-size:7px}
  .footer-links{padding-top:5px}
  .footer-links li{line-height:1.12}
  .footer-links a{font-size:6.5px}
  .footer-motto span{font-size:14px;margin-top:8px}.footer-motto em{font-size:9px}
  .footer-bottom{height:38px;min-height:38px;font-size:6px}
}

/* === RC3 stage 2: header fit + hero full-bleed composition === */
@media (min-width:861px){
  .site-header .header-inner{width:min(1760px,calc(100% - 64px));margin-inline:auto}
  .site-header .brand{min-width:225px;width:225px}
  .site-header .brand-mark{width:52px;height:52px;margin-right:10px}
  .site-header .brand-mark span{font-size:43px}
  .site-header .brand-copy{padding-left:10px}
  .site-header .brand-copy strong{font-size:11px;white-space:nowrap}
  .site-header .brand-copy small{font-size:7px;letter-spacing:.22em}
  .site-header .brand-copy em{font-size:6px}
  .desktop-nav .menu{gap:20px}
  .desktop-nav .menu a{font-size:8px;letter-spacing:.07em}
  .header-cta{margin-left:8px;min-height:40px;padding-inline:14px;font-size:8px}
  .header-cta svg{width:14px;height:14px}

  .hero-grid{grid-template-columns:41% 59%}
  .hero-copy{padding-top:38px}
  .hero-visual{height:300px;--hero-edge:max(60px,calc((100vw - 1760px)/2));width:calc(100% + var(--hero-edge));margin-right:calc(-1 * var(--hero-edge))}
  .hero-photo-frame{inset:4px 0 0 2%;border-radius:56% 0 0 51%/45% 0 0 55%;box-shadow:none}
  .hero-photo{object-position:center center}
  .hero-monogram{left:23%;top:20%;width:62px;height:62px}
  .hero-monogram span{font-size:39px}
  .quality-badge{right:15%;bottom:-20px}
}

/* === RC3 stage 3: visual composition refinements === */
@media (min-width:861px){
  .hero-copy p{max-width:255px;line-height:1.58;margin-bottom:20px}
  .hero-wave-front{height:112px}
  .trust-item{transform:translateY(4px)}

  .doctor-copy{padding-right:6%;padding-bottom:22px}
  .doctor-copy p{max-width:520px}
  .check-list{max-width:56%}
  .doctor-actions{position:absolute;right:6%;bottom:24px;display:flex;flex-direction:column;align-items:flex-end;gap:9px;margin:0}
  .signature{font-size:15px;white-space:nowrap}
  .doctor-actions .button{min-width:138px}

  .review-inner{padding-top:27px}
  .review-stage{margin-top:9px}

  .footer-contact::before{content:"";position:absolute;z-index:1;left:-34px;top:-89px;width:196px;height:123px;border-radius:50%;background:#eef8fe;transform:rotate(-8deg)}
  .contact-grid{position:relative;z-index:2}
  .appointment-card{height:132px;min-height:132px;padding-top:19px}
  .appointment-card h2{font-size:22px}
  .footer-grid{padding-top:19px}
  .footer-main .brand{transform:scale(1.08);transform-origin:left center}
  .footer-motto{gap:0}
  .social-links{display:flex;gap:7px;margin-top:8px}
  .social-links a{width:24px;height:24px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;color:#fff}
  .social-links svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.4}
  .social-links svg path{fill:currentColor;stroke:none}
  .footer-motto span{font-family:cursive;color:#d5a252;font-size:14px;margin-top:7px}
  .footer-motto em{font-family:var(--serif);font-size:9px;letter-spacing:.08em}
}

/* === RC3 stage 4: palette + typography + micro-alignment === */
@media (min-width:861px){
  .site-header{background:#fff}
  .site-header .brand-copy strong{font-family:Georgia,'Times New Roman',serif;font-size:10.5px;letter-spacing:.02em}
  .desktop-nav .menu a{font-size:7.5px;letter-spacing:.08em}
  .header-cta{width:142px;min-height:36px;padding:0 10px;font-size:7.3px;border-radius:2px}
  .header-cta svg{width:13px;height:13px}

  .hero-section{background:#f7fbff}
  .hero-copy{padding-top:49px;padding-left:6px}
  .hero-copy h1{font-size:50px}
  .hero-copy .eyebrow{font-size:9px}
  .hero-copy p{font-size:10px;max-width:244px;line-height:1.62;margin-bottom:18px}
  .hero-copy .button{min-height:36px;font-size:7.7px;padding-inline:15px}
  .hero-copy .button svg{width:13px;height:13px}
  .quality-badge{width:102px;height:102px;font-size:7.5px}

  .trust-strip{background:#f6f9fd;border-color:#dbe8f2}
  .trust-grid{width:min(1600px,calc(100% - 130px))}
  .trust-item strong{font-size:7.5px}
  .trust-item small{font-size:7px}

  .services-section{background:linear-gradient(180deg,#d9ecfb 0%,#e7f4fd 100%)}
  .section-heading{padding-left:5px}
  .service-grid{padding-inline:5px}
  .service-card figure{height:134px}
  .service-body{min-height:103px;padding:11px 12px 14px}
  .service-body h3{font-size:11.5px}
  .service-body p{font-size:7.1px}

  .doctor-section{background:linear-gradient(90deg,#c5e1f5 0 41%,#fff 41%)}
  .doctor-copy{padding-left:7.2%}
  .doctor-copy h2{font-size:30px}
  .doctor-copy .lead{font-size:8.5px}
  .doctor-copy p{font-size:7.5px}
  .check-list li{font-size:7px}
  .doctor-actions{bottom:26px}
  .doctor-actions .button{min-height:36px;font-size:7.3px}

  .reviews-section{background:#eaf5fc}
  .review blockquote{font-size:16px;line-height:1.3}
  .review-inner>.eyebrow{font-size:8px}

  .footer-contact{background:linear-gradient(115deg,#2d7fc1 0%,#1166ad 48%,#073b78 100%)}
  .contact-grid{transform:translateY(4px)}
  .footer-contact h2{font-size:22px}
  .contact-list li{font-size:7.5px}
  .appointment-card{height:126px;min-height:126px}
  .appointment-card h2{font-size:21px}
  .appointment-card p{font-size:7.5px}
  .appointment-card .button{min-height:34px;font-size:7.3px}
  .appointment-phone{font-size:7.2px}

  .footer-grid>div>strong{font-size:6.8px}
  .footer-links a{font-size:6.2px}
  .footer-bottom{font-size:5.7px}
}

/* === RC3 stage 5: vector brand system + final desktop micro-pass === */
.brand-mark{display:grid;place-items:center}
.brand-symbol,.hero-symbol,.doctor-symbol{width:100%;height:100%;overflow:visible}
.brand-tooth{fill:none;stroke:#0b376c;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.brand-k,.brand-a{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;fill:#c6954e}
.brand-k{font-size:43px}.brand-a{font-size:42px;fill:#0b376c}
.hero-symbol .brand-tooth{stroke:rgba(255,255,255,.65);stroke-width:1.7}.hero-symbol .brand-k{fill:#d7ab6a}.hero-symbol .brand-a{fill:#fff}
.doctor-symbol .brand-tooth{stroke:rgba(255,255,255,.62);stroke-width:1}.doctor-symbol .brand-k,.doctor-symbol .brand-a{fill:rgba(255,255,255,.56)}
@media (min-width:861px){
  .brand-mark span{display:none}
  .site-header .brand-mark{width:54px;height:54px}
  .site-header .brand{width:228px;min-width:228px}
  .hero-copy{padding-top:56px}
  .hero-copy p{margin-top:0}
  .hero-monogram{left:20%;top:20%;width:68px;height:68px;text-shadow:none}
  .doctor-watermark{width:145px;height:145px;top:12%;left:1%;font-size:0}
  .doctor-actions{bottom:18px}
  .services-section .section-heading .gold-rule{margin-bottom:12px}
  .service-grid{transform:translateY(-3px)}
  .footer-contact::before{left:-48px;top:-104px;width:225px;height:148px}
  .footer-main .brand{transform:scale(1.02);transform-origin:left center}
}

/* === RC3 stage 6: contact-card bug fix + reference footer details === */
.brand-copy small{display:flex;align-items:center;gap:6px;white-space:nowrap}
.brand-copy small:before,.brand-copy small:after{content:"";width:13px;height:1px;background:#c6954e;opacity:.9}
.appointment-card h2{color:var(--navy)!important}
@media (min-width:861px){
  .contact-list{margin-top:8px}
  .contact-list li{margin:4px 0}
  .contact-list svg{width:12px;height:12px}
  .appointment-card{padding-left:24px;padding-right:24px}
  .appointment-card h2{font-size:21px;line-height:1.05;margin:0 0 4px}
  .appointment-card p{margin:0 0 10px}
  .footer-main .brand-copy small:before,.footer-main .brand-copy small:after{width:10px}
}


/* === RC3 stage 7: reference geometry lock + vector wave refinement === */
@media (min-width:861px){
  .site-header .header-cta{margin-right:20px}
  .site-header .brand-mark{width:58px;height:58px}
  .brand-tooth{stroke-width:1.55}
  .brand-k{font-size:46px}.brand-a{font-size:44px}

  .hero-wave-front{height:126px}
  .quality-badge{z-index:9;right:12%;bottom:-28px}
  .hero-monogram{left:20.5%;top:20%;width:64px;height:64px}
  .hero-symbol .brand-k{font-size:43px}.hero-symbol .brand-a{font-size:41px}

  .trust-item{transform:none}

  .service-body{min-height:115px}

  .doctor-section{height:273px}
  .doctor-grid{height:273px;min-height:273px}
  .doctor-photo{height:273px}
  .doctor-copy{height:273px;padding-left:9.25%;padding-top:26px;padding-bottom:21px}
  .doctor-copy h2{font-size:29px}
  .doctor-actions{right:9.5%;bottom:29px}
  .signature{font-size:14.5px}
  .doctor-watermark{width:138px;height:138px;top:13%}

  .reviews-section{height:178px;min-height:178px}
  .review-inner{padding-top:27px}
  .review-stage{margin-top:7px}
  .carousel-button.prev{left:50px}
  .carousel-button.next{right:80px}

  .footer-contact{border-radius:0 76px 0 0}
  .contact-grid{padding-left:15px;padding-right:15px;transform:none}
  .footer-main{height:158px}
  .footer-grid{height:120px;padding-left:15px;padding-right:15px}
  .footer-bottom{padding-left:15px;padding-right:15px}
  .footer-main .brand{transform:scale(1.07);transform-origin:left center}
  .footer-main .brand-mark{width:54px;height:54px}
  .footer-main .brand-copy strong{font-size:10.5px}
}


/* === RC3 stage 8: measured internal-coordinate pass === */
@media (min-width:861px){
  .site-header .brand{width:215px;min-width:215px}
  .site-header .brand-mark{margin-right:6px}
  .site-header .brand-copy{padding-left:8px}
  .site-header .header-cta{margin-left:22px}

  .hero-copy p{margin-bottom:36px}
  .hero-copy .button{min-height:32px;height:32px;width:183px;padding:0 12px;font-size:7.6px}
  .quality-badge{position:absolute;left:73.47%;top:257px;right:auto;bottom:auto;width:104px;height:104px;z-index:12}

  .service-body{min-height:103px}

  .doctor-actions{position:static;margin:0;display:block}
  .signature{position:absolute;right:13.2%;bottom:77px;font-size:14px;white-space:nowrap}
  .doctor-actions .button{position:absolute;right:13.2%;bottom:17px;width:140px;min-width:140px;height:26px;min-height:26px;padding:0 12px;font-size:6.7px}

  .review-stage{margin-top:4px}

  .appointment-card p{margin-bottom:21px}
  .appointment-card .button{width:155px;min-height:31px;height:31px;padding:0 10px;font-size:7px}
  .footer-main .brand-a{fill:#fff}
  .footer-main .brand-tooth{stroke:rgba(255,255,255,.72)}
}


/* === RC3 stage 9: typography + line-break precision pass === */
@media (min-width:861px){
  .hero-copy{transform:translateY(6px)}
  .hero-copy h1{letter-spacing:-.005em}
  .hero-copy .gold-rule{margin-bottom:24px}
  .hero-copy p{margin-bottom:32px}
  .hero-copy .eyebrow{font-size:10px;letter-spacing:.28em}

  .section-heading{transform:translateY(8px)}
  .section-heading h2{font-size:30px;margin-top:5px}
  .section-heading .eyebrow{font-size:9px;letter-spacing:.2em}

  .doctor-copy{padding-top:33px}
  .doctor-copy h2{font-size:27px}
  .doctor-copy .eyebrow{font-size:8px;letter-spacing:.2em}
  .doctor-copy .gold-rule{margin-top:7px}

  .review blockquote{max-width:430px;font-size:16.5px;line-height:1.28}
  .review-inner>.eyebrow{letter-spacing:.19em}
}


/* === RC3 stage 10: trust-wave continuation + contact geometry correction === */
@media (min-width:861px){
  .hero-section{overflow:visible}

  .trust-strip{position:relative;overflow:hidden;background:#ebf3fd}
  .trust-strip:before{content:"";position:absolute;z-index:0;right:-118px;top:-38px;width:360px;height:82px;border-radius:50%;background:linear-gradient(90deg,rgba(127,181,229,.15),rgba(70,134,200,.72));transform:rotate(-4deg)}
  .trust-grid{position:relative;z-index:2}

  .section-heading{transform:none}
  .section-heading h2{font-size:31px;margin-top:10px}
  .section-heading .eyebrow{font-size:9px;letter-spacing:.18em}

  .site-footer{background:#eaf5fc}
  .footer-contact{border-radius:0 135px 0 0}
  .footer-contact::before{left:-40px;top:-88px;width:190px;height:110px}
}


/* === RC3 stage 11: measured contact-band silhouette === */
@media (min-width:861px){
  .footer-contact{border-radius:86px 82px 0 0 / 102px 82px 0 0}
  .footer-contact::before{display:none}
}

/* === RC3 stage 12: contact color calibration + header CTA measurement lock === */
@media (min-width:861px){
  .footer-contact{background:linear-gradient(115deg,#1d68aa 0%,#0e579d 48%,#07356c 100%)}
  .header-cta{width:140px;min-width:140px;height:28px;min-height:28px;transform:translateY(-2px)}
}

/* === RC3 stage 13: measured header/review/contact calibration === */
@media (min-width:861px){
  .site-header .header-cta{margin-right:22px}
  .review blockquote{max-width:390px;font-size:15.5px}
  .footer-contact{background:linear-gradient(115deg,#285d8c 0%,#174f87 48%,#07356c 100%)}
}

/* === RC3 stage 14: contact-band sampled color field === */
@media (min-width:861px){
  .footer-contact{background:linear-gradient(90deg,#0b376e 0%,#12487f 12%,#2d7fc1 27%,#1c61a5 45%,#0e477f 58%,#07356c 100%)}
}

/* === RC3 stage 15: footer column geometry + readable lockup === */
@media (min-width:861px){
  .footer-grid{grid-template-columns:34% 15% 22% 29%;gap:0;padding:20px 0 10px}
  .footer-grid>div{min-width:0}
  .footer-grid>div:nth-child(n+2){border-left:1px solid rgba(255,255,255,.18);padding-left:26px}
  .footer-grid>div:nth-child(3){padding-left:30px}
  .footer-grid>div:nth-child(4){padding-left:34px}
  .footer-brand{padding-left:15px;padding-top:3px}
  .footer-main .brand{transform:none;width:245px;min-width:0}
  .footer-main .brand-mark{width:62px;height:62px;margin-right:6px}
  .footer-main .brand-copy{padding-left:5px}
  .footer-main .brand-copy strong{font-size:10.8px}
  .footer-main .brand-copy small{font-size:6.8px}
  .footer-main .brand-copy em{font-size:6.3px}
  .footer-grid>div>strong{font-size:7.2px}
  .footer-links{padding-top:6px}
  .footer-links li{line-height:1.28}
  .footer-links a{font-size:7.1px}
  .social-links{margin-top:7px}
  .footer-motto span{font-size:15px;margin-top:7px}
  .footer-motto em{font-size:9.5px}
}

/* === RC3 stage 16: footer line-box correction === */
@media (min-width:861px){
  .footer-links li{font-size:7.1px;line-height:1.45}
}


/* === RC3 stage 17: reference section-boundary + side-wave + brand scale pass === */
@media (min-width:861px){
  /* reference services/doctor boundary is lower; doctor portrait intentionally overlaps upward */
  .services-section{height:397px}
  .doctor-section{height:278px;overflow:visible}
  .doctor-grid{height:278px;min-height:278px}
  .doctor-photo-wrap{height:278px;overflow:visible;z-index:4}
  .doctor-photo{height:314px;transform:translateY(-36px);object-position:center top}
  .doctor-copy{height:278px;padding-top:27px;padding-bottom:22px;overflow:hidden}
  .doctor-copy h2{font-size:29px}
  .doctor-copy .lead{font-size:9px}
  .doctor-copy p{font-size:8px}
  .check-list li{font-size:7.4px}
  .doctor-actions .button{bottom:34px}
  .signature{bottom:88px}
  .doctor-watermark{top:4%}

  .reviews-section{height:160px;min-height:160px;background:#eaf5fc}
  .review-inner{padding-top:26px;padding-bottom:10px}
  .review-stage{min-height:78px;margin-top:5px}
  .reviews-wave{height:100%}

  /* keep layout measurements while making the vector mark visually closer to the reference */
  .site-header .brand-mark{transform:scale(1.12);transform-origin:center}
  .footer-main .brand-mark{width:72px;height:72px;transform:translateY(-4px) scale(1.04);transform-origin:center}
  .footer-main .brand-copy strong{font-size:11.2px}
  .footer-main .brand-copy small{font-size:7.1px}
  .footer-main .brand-copy em{font-size:6.5px}
}


/* === RC3 stage 18: media-backed header logo + review translucency calibration === */
.brand.brand-image{display:flex;align-items:center;min-width:0}
.brand-logo-image{display:block;width:100%;height:auto;object-fit:contain}
@media (min-width:861px){
  .site-header .brand.brand-image{width:225px;min-width:225px;height:70px}
  .site-header .brand-logo-image{width:225px;height:auto;max-height:70px;object-fit:contain;object-position:left center}
  .reviews-section{background:#e9f4fc}
  /* stage 17 footer vector was oversized against the reference; restore measured scale */
  .footer-main .brand-mark{width:62px;height:62px;transform:none}
  .footer-main .brand-copy strong{font-size:10.8px}
  .footer-main .brand-copy small{font-size:6.8px}
  .footer-main .brand-copy em{font-size:6.3px}
}


/* === RC3 stage 19: sampled hero/contact/footer color-field calibration === */
@media (min-width:861px){
  .footer-contact{background:linear-gradient(90deg,#0d376f 0%,#1c4f8c 15%,#367aca 31%,#1b508f 48%,#0e477f 65%,#07305d 100%)}
  .footer-main{background:#092e5e}
}


/* === RC3 stage 20: faithful open-tooth monogram + contact de-duplication === */
.brand-tooth{stroke-width:2.25}
.brand-k{font-size:52px}.brand-a{font-size:50px}
@media (min-width:861px){
  .hero-symbol .brand-tooth{stroke-width:2.2}
  .hero-symbol .brand-k{font-size:50px}
  .hero-symbol .brand-a{font-size:48px}
  .footer-main .brand-tooth{stroke-width:2.15}
  .footer-main .brand-k{font-size:51px}
  .footer-main .brand-a{font-size:49px}
  .appointment-phone{display:none}
}


/* === RC3 stage 21: font-independent A path for the KA mark === */
.brand-a-path{fill:none;stroke:#0b376c;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.hero-symbol .brand-a-path{stroke:#fff;stroke-width:3.7}
.doctor-symbol .brand-a-path{stroke:rgba(255,255,255,.56);stroke-width:3}
.footer-main .brand-a-path{stroke:#fff;stroke-width:3.8}

/* === RC3 stage 22: measured header background sweep === */
@media (min-width:861px){
  .site-header{overflow:hidden}
  .site-header:before{content:"";position:absolute;right:-45px;bottom:-20px;width:390px;height:95px;background:linear-gradient(150deg,transparent 0 28%,#eef7fe 29% 48%,#d8ebfb 49% 68%,#bdd9f3 69% 100%);clip-path:ellipse(75% 55% at 72% 70%);z-index:0}
  .header-inner{position:relative;z-index:2}
}

/* === RC3 stage 23: doctor-copy reference fade === */
@media (min-width:861px){
  .doctor-copy{background:linear-gradient(90deg,#dff1fb 0%,#f1f9fe 28%,#fff 52%)}
}


/* === RC3 stage 24: hero frame silhouette + sky-band calibration === */
@media (min-width:861px){
  .hero-photo-frame{inset:4px 0 0 -1%;border-radius:44% 0 0 46%/40% 0 0 60%}
}

/* === RC3 stage 25: measured contact silhouette + appointment-card lock === */
@media (min-width:861px){
  .footer-wave{display:none}
  .footer-contact{border-radius:112px 106px 0 0 / 130px 95px 0 0}
  .footer-contact h2{font-size:21px}
  .appointment-card{height:137px;min-height:137px;align-self:end;padding-top:14px;padding-bottom:16px}
}

/* === RC3 stage 26: services sampled-color calibration === */
@media (min-width:861px){
  .services-section{background:linear-gradient(180deg,#cfe5f8 0%,#dceefb 100%)}
  .service-body{background:linear-gradient(180deg,#fff 0%,#eaf3fb 100%)}
}

/* === RC3 stage 27: contact/footer boundary measured from reference === */
@media (min-width:861px){
  .footer-contact{padding-bottom:22px}
  .footer-main{height:136px}
  .footer-grid{height:103px;padding-top:12px;padding-bottom:5px}
  .footer-bottom{height:33px;min-height:33px}
}

/* === RC3 stage 30: optimized hero Bézier field + frame top alignment === */
@media (min-width:861px){
  .hero-wave-front{transform:scaleY(.9);transform-origin:bottom}
  .hero-photo-frame{inset:0 0 0 -1%;border-radius:44% 0 0 46%/40% 0 0 60%}
}

/* === RC3 stage 31: measured compact trust-strip geometry === */
@media (min-width:861px){
  .trust-grid{width:604px;margin-left:40px;margin-right:0}
  .trust-item{padding:13px 24px;gap:11px;transform:translateY(2px)}
  .trust-icon{width:27px;height:27px}
  .trust-item strong{font-size:7.8px}
  .trust-item small{font-size:7.5px}
}

/* === RC3 stage 32: image-independent hero ribbon calibration === */
@media (min-width:861px){
  .hero-wave-front{
    opacity:.38;
    transform:scaleY(1.14);
    transform-origin:bottom;
  }
  .hero-copy h1{
    transform:scaleX(.94);
    transform-origin:left center;
  }
}

/* === RC3 stage 33: doctor copy field + readable line-length calibration === */
@media (min-width:861px){
  .doctor-copy{
    background:linear-gradient(90deg,#dceffb 0%,#edf7fc 100%);
  }
  .doctor-copy p{
    font-size:9.2px;
    max-width:365px;
    line-height:1.48;
  }
  .doctor-copy .lead{
    font-size:10px;
    max-width:380px;
  }
  .check-list{max-width:68%}
  .check-list li{font-size:8.4px;margin:5px 0}
}

/* === RC3 stage 34: hero copy wrapping + ribbon baseline micro-lock === */
@media (min-width:861px){
  .hero-copy p{max-width:220px}
  .hero-wave-front{
    transform:translateY(3px) scaleY(1.14);
    transform-origin:bottom;
  }
}

/* === RC3 stage 35: responsive footer/social hardening === */
.social-links{display:flex;gap:8px;margin-top:8px}
.social-links a,.social-links>span{width:28px;height:28px;border:1px solid rgba(255,255,255,.45);border-radius:50%;display:grid;place-items:center;color:#fff;flex:0 0 auto}
.social-links svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4}
.social-links svg path{fill:currentColor;stroke:none}
@media (max-width:860px){
  .footer-wave{display:none}
  .site-header .brand.brand-image{width:190px;max-width:calc(100% - 64px);height:auto}
  .site-header .brand-logo-image{width:100%;height:auto;max-height:58px;object-fit:contain;object-position:left center}
}
@media (max-width:620px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px 18px;padding:32px 0 20px}
  .footer-brand,.footer-motto{grid-column:1/-1}
  .footer-main .brand{max-width:280px}
  .footer-links{padding-top:4px}
  .footer-links li{line-height:1.2}
  .footer-links a{min-height:44px;display:flex;align-items:center;font-size:10px}
  .footer-grid>div>strong{min-height:36px;display:flex;align-items:center;font-size:9px}
  .footer-motto{padding-top:4px}
  .footer-motto span{margin-top:10px}
}

/* === RC3 stage 36: mobile interaction target hardening === */
@media (max-width:620px){
  .carousel-dots{gap:2px}
  .carousel-dots button{width:44px;height:44px;background:transparent;border-radius:0;position:relative}
  .carousel-dots button::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#a8bfd1;transform:translate(-50%,-50%)}
  .carousel-dots button.is-active::after{background:#0b5aa4}
  .social-links a,.social-links>span{width:44px;height:44px}
  .social-links svg{width:15px;height:15px}
  .text-link{min-height:44px;display:inline-flex;align-items:center}
  .footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
}

/* === RC3 stage 37: final mobile legal-link hit area === */
@media (max-width:620px){
  .footer-bottom a{min-width:44px;justify-content:center}
}

/* === RC4 reference-delta refinement — consolidated desktop pass === */
@media (min-width:861px){
  /* Header artwork: earlier start and deeper blue sweep, without moving nav/CTA. */
  .site-header:before{
    right:-42px;
    bottom:-20px;
    width:450px;
    height:96px;
    background:linear-gradient(150deg,transparent 0 27%,#eef6fd 28% 45%,#cfe2f5 46% 64%,#9fc4e7 65% 82%,#86b2de 83% 100%);
    clip-path:ellipse(76% 56% at 73% 70%);
  }
  .site-header .brand.brand-image{overflow:visible}
  .site-header .brand-logo-image{
    transform:translateX(-8px) scale(1.10);
    transform-origin:left center;
  }

  /* Hero photograph silhouette and rebuilt SVG ribbon. */
  .hero-photo-frame{
    inset:6px 0 0 3.6%;
    border-radius:50% 0 0 48%/43% 0 0 57%;
  }
  .hero-wave-front{
    opacity:1;
    transform:translateY(2px) scaleY(1.08);
    transform-origin:bottom;
  }
  /* SVG owns ribbon fills; do not couple path order to CSS gradient IDs. */

  /* Services: match card depth and replace circular ornament with layered side ribbons. */
  .services-section:before{
    width:260px;
    height:325px;
    left:-190px;
    top:55px;
    border:22px solid rgba(255,255,255,.34);
    border-radius:48% 52% 47% 53%/60% 56% 44% 40%;
    transform:rotate(-10deg);
  }
  .services-section:after{
    content:"";
    position:absolute;
    left:-164px;
    top:76px;
    width:230px;
    height:285px;
    border:15px solid rgba(255,255,255,.24);
    border-radius:50% 50% 45% 55%/62% 54% 46% 38%;
    transform:rotate(-8deg);
    pointer-events:none;
  }
  .service-body{min-height:113px}
  .service-card{box-shadow:0 5px 16px rgba(19,75,122,.065)}

  /* Doctor: reference-like curved split while preserving measured copy coordinates. */
  .doctor-copy{
    margin-left:-34px;
    padding-left:calc(9.25% + 34px);
    background:linear-gradient(90deg,#d9ecf9 0%,#edf7fd 28%,#ffffff 70%,#fbfdff 100%);
    clip-path:ellipse(112% 160% at 112% 50%);
  }
  .doctor-copy p{color:#47647c}

  /* Testimonials: sampled central field, narrower quote measure, stronger side ribbons. */
  .reviews-section{background:#dfecf9}
  .review-stage{margin-top:11px}
  .review blockquote{max-width:290px;font-size:15.5px;line-height:1.28}
  .reviews-wave path:nth-of-type(1),.reviews-wave path:nth-of-type(4){fill:#dfedf8}
  .reviews-wave path:nth-of-type(2),.reviews-wave path:nth-of-type(5){fill:#d2e5f6}
  .reviews-wave path:nth-of-type(3),.reviews-wave path:nth-of-type(6){fill:#bfd9f2}

  /* Footer background was sampled and verified; keep RC3's already-close flat navy. */
  .footer-main{background:#092e5e}
  .footer-main .brand{transform:scale(1.06);transform-origin:left center}
  .footer-grid>div:nth-child(n+2){border-left-color:rgba(255,255,255,.22)}
}

/* Historical desktop refinement block retained for non-home compatibility. */
@media (min-width:861px){
  /* The reference uses a slightly wider headline and a photo mask beginning earlier. */
  .hero-copy h1{transform:scaleX(.98);transform-origin:left center}
  .hero-copy p{max-width:205px}
  .hero-photo-frame{inset:0 0 0 2%;border-radius:49% 0 0 48%/43% 0 0 57%}

  /* Cards keep the same baseline, while the image block starts lower and the copy is compact. */
  .service-grid{transform:translateY(7px)}
  .service-body{min-height:105px;padding:15px 12px 13px}
  .service-body h3,.service-body h2{margin-bottom:6px}
  .service-body p{margin:0 0 7px;line-height:1.42}

  /* Preserve the section boundary while matching the reference portrait overhang. */
  .doctor-photo{height:325px;transform:translateY(-47px);object-position:center top}
  .doctor-copy p{max-width:325px}
  .doctor-copy .lead{max-width:330px}
  .check-list{max-width:56%;margin-top:10px}

  /* Contact copy sits a touch lower in the supplied composition. */
  .contact-grid{transform:translateY(5px)}
  .appointment-card{transform:translateY(-5px)}
}

/* === RC5 pass 2: remove photo-logo duplication + finish small-scale type/brand fidelity === */
@media (min-width:861px){
  .service-body p{font-size:8px}
  .footer-main .brand-symbol{transform:scale(1.28);transform-origin:center center}
}

/* === RC5 pass 3: header lockup and final Hero ribbon placement === */
@media (min-width:861px){
  .site-header .brand-logo-image{transform:none}
  .hero-wave-front{transform:translateY(8px) scaleY(1.08);transform-origin:bottom}
}


/* Corrective desktop geometry safeguards. */
@media (min-width:861px){
  /* The reference was authored around a ~941px composition. Keep desktop content from stretching to 1760px. */
  :root{--shell:min(1180px,calc(100% - 120px))}

  /* Keep the public header non-sticky to avoid duplicate capture artifacts. */
  .site-header,.site-header.is-scrolled{position:relative;top:auto!important;box-shadow:none}
  body.admin-bar .site-header,body.admin-bar .site-header.is-scrolled{top:auto!important}

  /* Hero copy stays inside the capped composition; the photo is allowed to bleed to the viewport edge like the reference. */
  .hero-grid{grid-template-columns:40% 60%}
  .hero-visual{margin-right:calc((100vw - var(--shell)) / -2)}
  .hero-photo-frame{right:0}
  .hero-photo{object-position:center center}

  /* Service cards must not become poster-sized on wide desktop screens. */
  .service-grid{gap:10px}
  .service-card figure{height:132px}
  .service-body{min-height:105px}

  /* Keep the doctor composition at reference-like proportions on large monitors. */
  .doctor-grid{width:min(1180px,100%);margin-inline:auto;grid-template-columns:41% 59%;overflow:visible}
  .doctor-section{background:#d8edf9}
  .doctor-photo-wrap{background:linear-gradient(115deg,#b8d8ee 0%,#dceefa 100%)}
  .doctor-photo{object-fit:cover;object-position:center top}
  .doctor-copy{min-width:0}

  /* Contact/footer content follows the same capped composition as the reference. */
  .contact-grid,.footer-grid,.footer-bottom{width:var(--shell);margin-inline:auto}
}

@media (min-width:1400px){
  /* On very wide monitors preserve the reference scale instead of stretching every section. */
  .hero-copy h1{font-size:52px}
  .section-heading h2{font-size:31px}
  .doctor-copy h2{font-size:31px}
  .footer-contact h2{font-size:21px}
  .service-body h3,.service-body h2{font-size:12px}
  .service-body p{font-size:8px}
}
