@font-face{font-family:Cabinet;src:local('Aptos'),local('Segoe UI');font-display:swap}
:root{--ink:#233d44;--blue:#28566a;--blue-dark:#193f50;--muted:#5a6b6c;--cream:#f8f3eb;--paper:#fffdf9;--sand:#e9d3b7;--honey:#c79754;--line:#d8dfda;--radius:22px;--serif:Georgia,'Times New Roman',serif;--sans:Cabinet,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}button,a:focus-visible,summary:focus-visible{outline-color:var(--blue)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--honey);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;font-weight:400}h2{font-size:clamp(2.25rem,4vw,4rem);letter-spacing:-.045em}h3{font-size:clamp(1.65rem,2.7vw,2.65rem);letter-spacing:-.035em}p+p{margin-top:18px}.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}.sr-only,.hero-copy{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:8px;left:16px;z-index:100;background:white;padding:10px 18px;transform:translateY(-150%)}.skip-link:focus{transform:none}.eyebrow{text-transform:uppercase;font-size:.78rem;letter-spacing:.18em;font-weight:600;color:var(--blue);margin-bottom:20px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 25px;border-radius:99px;background:var(--blue);color:white;border:1px solid var(--blue);font-size:1rem;line-height:1.4;transition:background .25s,transform .25s;cursor:pointer}.button:hover{background:var(--blue-dark);transform:translateY(-2px)}.button-outline{background:transparent;color:var(--blue)}.button-outline:hover{background:#e4eded}.button-small{min-height:45px;padding:11px 18px;font-size:.84rem}.button-group{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.text-link{display:inline-block;border-bottom:1px solid currentColor;font-size:1rem;padding:3px 0}.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px;padding:12px 4%;background:#fffdf9f5;border-bottom:1px solid #e2ded5;backdrop-filter:blur(16px);transform:translateY(-110%);transition:transform .3s}.site-header.visible,.site-header:focus-within{transform:none}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand-symbol{font-family:var(--serif);font-size:39px;border:1px solid #99aeb4;border-radius:50%;width:45px;height:45px;text-align:center;line-height:42px;color:var(--blue)}.brand small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;line-height:1.6}.brand strong{display:block;font-size:21px;letter-spacing:.25em;font-weight:500;line-height:1.3}.desktop-nav{display:flex;gap:23px;align-items:center}.desktop-nav a{font-size:1rem;white-space:nowrap}.desktop-nav a:hover{color:#a97935}.menu-toggle{display:none;background:none;border:0;padding:12px;cursor:pointer}.menu-toggle>span:not(.sr-only){display:block;width:25px;height:1.5px;background:var(--ink);margin:6px 0}.mobile-nav{position:absolute;top:100%;left:0;right:0;padding:20px 28px 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 20px 30px #233d4410}.mobile-nav:not([hidden]){display:grid;gap:13px}.hero-art{position:relative}.hero-art>img{width:100%;height:auto}.art-links a{position:absolute;border-radius:80px;transition:background .2s}.art-links a:hover{background:#ffffff25}.art-links a:focus-visible{outline:3px solid #244d5a;outline-offset:2px}
@media(max-width:1100px){.desktop-nav{gap:14px}.desktop-nav a{font-size:.78rem}.brand{gap:7px}.header-call{padding:10px 14px}.container{width:calc(100% - 64px)}}
@media(max-width:800px){html{scroll-padding-top:90px}.container{width:calc(100% - 40px)}.site-header{transform:none;min-height:72px;padding:10px 20px}.desktop-nav,.header-call{display:none}.menu-toggle{display:block}.hero{padding-top:72px}.hero-copy{position:static;clip:auto;width:calc(100% - 40px);height:auto;overflow:visible;white-space:normal;padding:38px 0 45px}.hero-copy h1{font-size:clamp(2.1rem,7.7vw,3.5rem);letter-spacing:-.04em;margin-bottom:22px}.hero-copy p{font-size:1rem}.hero-copy .button-group{margin-top:25px}.hero-copy .eyebrow{font-size:.75rem}.art-links{display:none}.hero-art{border-bottom:1px solid #eedac4}.hero-copy .text-link{margin:8px 0 0}.brand small{font-size:9px}.brand strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Page rhythm and the warm, curved identity */
.section-pad{padding:110px 0;position:relative;overflow:hidden}em{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;color:var(--blue)}.lead{font-size:1.2rem;line-height:1.6;color:var(--ink)}.intro-bar{background:var(--blue-dark);color:#f9f1e3;padding:22px 0}.intro-bar .container{display:flex;justify-content:space-between;align-items:center;gap:25px}.intro-bar span{font-size:1rem}.intro-bar span+span{border-left:1px solid #ffffff40;padding-left:7%}.intro-bar .text-link{font-size:.85rem}.cabinet{background:var(--cream)}.cabinet-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px;position:relative}.cabinet-images{position:relative;padding:0 0 65px}.waiting-room{width:100%;height:515px;object-fit:cover;border-radius:180px 24px 24px 24px}.photo-note{position:absolute;right:-25px;bottom:20px;padding:24px 32px;background:var(--blue);color:white;font-size:1.15rem;line-height:1.6;border-radius:4px 24px 24px 24px;box-shadow:0 10px 40px #244d5a15}.photo-note span{font-family:var(--serif);font-style:italic;font-size:1.4rem}.cabinet-copy h2{font-size:clamp(2.1rem,3.5vw,3.3rem);margin-bottom:28px}.cabinet-copy>p:not(.eyebrow){color:var(--muted)}.cabinet-copy>.lead{color:var(--ink)}.care-values{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.care-values span{font-size:.78rem;border:1px solid #d9d4ca;padding:7px 11px;border-radius:30px}.curve{position:absolute;pointer-events:none;border:1px solid #b99d7430;width:1200px;height:650px;border-radius:50%;transform:rotate(-25deg);will-change:translate}.curve-sand{left:-850px;top:130px;box-shadow:0 0 0 70px #c7975408,0 0 0 140px #c7975407}.treatments-heading{padding:95px 0 50px;display:flex;justify-content:space-between;align-items:flex-end;gap:60px}.treatments-heading h2{font-size:clamp(2.3rem,3.8vw,3.75rem)}.treatments-heading>p{max-width:325px;color:var(--muted);padding-bottom:7px}.treatment-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:65px}.treatment-nav>a{display:flex;align-items:center;gap:18px;padding:24px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s}.treatment-nav>a:hover{background:var(--cream)}.treatment-icon{width:46px;min-width:46px;height:46px;color:var(--blue)}.treatment-icon svg{width:100%;height:100%}.treatment-nav small{display:block;font-size:.75rem;color:#89795f;margin-bottom:4px}.treatment-nav a>span:nth-child(2){font-size:1rem;line-height:1.35}.nav-plus{margin-left:auto;font-size:1.5rem;color:var(--blue);font-weight:300}.treatment-row{display:grid;grid-template-columns:1fr 1fr;scroll-margin-top:80px;background:#f3eee7;min-height:700px;max-width:1800px;margin:auto}.treatment-row.reverse{background:#eaf0f0}.treatment-row.reverse .treatment-visual{order:2}.treatment-row.reverse .treatment-copy{order:1}.treatment-visual{position:relative;overflow:hidden;min-height:650px}.treatment-visual>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1s ease}.treatment-visual:hover>img{transform:scale(1.025)}.visual-label{position:absolute;left:35px;bottom:35px;background:#fffaf0ee;backdrop-filter:blur(8px);border-radius:60px;font-size:.78rem;letter-spacing:.04em;padding:10px 18px}.treatment-copy{position:relative;padding:85px clamp(35px,5vw,90px);overflow:hidden}.treatment-copy>p,.treatment-copy>h3,.treatment-copy>details,.treatment-copy>a{position:relative;z-index:1}.treatment-copy .eyebrow{font-size:.75rem;margin-bottom:20px}.treatment-copy h3{margin-bottom:26px}.treatment-copy p:not(.eyebrow){font-size:1rem;color:#4e6266;line-height:1.75}.treatment-copy .lead{font-size:1.13rem!important;color:var(--ink)!important;margin-bottom:20px}.treatment-copy .text-link{margin-top:28px}.large-number{position:absolute;right:30px;top:6px;font-size:9rem;line-height:1;font-weight:300;color:#d4c1a746;letter-spacing:-.08em}.reverse .large-number{color:#c0d4d455}.care-detail{margin-top:25px;border-block:1px solid #c3c6c1}.care-detail summary{display:flex;justify-content:space-between;gap:15px;align-items:center;list-style:none;padding:16px 0;cursor:pointer;font-size:1rem;font-weight:500;line-height:1.5}.care-detail summary::-webkit-details-marker{display:none}.care-detail summary>span{font-size:1.5rem;transition:transform .2s}.care-detail[open] summary>span{transform:rotate(45deg)}.care-detail>div{padding-bottom:20px}.care-detail p{font-size:1rem!important}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;margin-bottom:55px;position:relative}.section-heading>p{max-width:390px;color:var(--muted)}.technologies{background:var(--blue-dark);color:var(--paper)}.technologies .eyebrow{color:#c9dada}.technologies .section-heading>p{color:#c2d5da}.curve-blue{left:auto;right:-750px;top:30px;border-color:#a3bfb322;box-shadow:0 0 0 90px #fff9eb04,0 0 0 180px #fff9eb03}.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;position:relative}.tech-card{background:#f9f6ee;color:var(--ink);border-radius:24px;overflow:hidden}.tech-art{height:265px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.imaging-art{background:radial-gradient(ellipse at 35% 20%,#6295a5,#254f65 75%);color:#e4f0ee}.scan-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(#e5efed 1px,transparent 1px),linear-gradient(90deg,#e5efed 1px,transparent 1px);background-size:35px 35px;transform:perspective(400px) rotateY(-20deg) scale(1.2)}.scan-frame{display:flex;align-items:center;gap:30px;z-index:1}.scan-frame span{font-size:2.5rem;font-weight:200;opacity:.65}.scan-frame strong{font-size:6rem;line-height:1;font-weight:300;letter-spacing:-.09em}.scan-frame .dimension-line{width:70px;height:1px;background:currentColor}.scan-beam{position:absolute;left:0;right:0;height:1px;top:25%;background:linear-gradient(90deg,transparent,#a9e7e7,transparent);box-shadow:0 0 20px #b7f5ee;animation:scan 7s ease-in-out infinite}.tech-art-label{position:absolute;bottom:18px;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem}.optical-art{background:linear-gradient(120deg,#e9d8b8,#f8edda 65%,#d1e2e0);color:var(--blue)}.optical-rings{position:absolute;inset:0}.optical-rings i{position:absolute;border:1px solid #4b7a8530;border-radius:50%;width:280px;height:280px;top:-70px;right:40px;transform:rotate(-30deg) scaleX(1.7)}.optical-rings i:nth-child(2){top:-30px;right:15px}.optical-rings i:nth-child(3){top:10px;right:-10px}.optical-focus{position:relative;width:280px;padding:20px 10px;text-align:center}.optical-focus strong{font-weight:300;font-size:2.2rem;line-height:1.2}.optical-focus em{font-size:2.5rem}.optical-focus>span{position:absolute;width:20px;height:20px;border-color:#49777e;border-style:solid}.optical-focus>span:nth-child(1){top:0;left:0;border-width:1px 0 0 1px}.optical-focus>span:nth-child(2){top:0;right:0;border-width:1px 1px 0 0}.optical-focus>span:nth-child(3){bottom:0;right:0;border-width:0 1px 1px 0}.optical-focus>span:nth-child(4){bottom:0;left:0;border-width:0 0 1px 1px}.tech-content{padding:36px 38px 38px}.mini-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:#687c7d;margin-bottom:12px}.tech-content h3{font-size:1.75rem;line-height:1.25;margin-bottom:20px}.tech-content p{font-size:1rem;color:var(--muted)}.tech-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.tech-tags span{font-size:.75rem;border:1px solid #cbd9d5;border-radius:30px;padding:5px 11px}.team{background:#f7f7f2}.team-wave{position:absolute;width:150%;height:480px;left:-25%;top:-270px;border-radius:45% 65%;background:#a3c4cb55;transform:rotate(8deg);box-shadow:0 45px 0 #d2e1e133,0 100px 0 #dce6e533;will-change:translate}.team .container{position:relative}.doctors-grid{display:grid;grid-template-columns:repeat(2,minmax(0,390px));justify-content:center;gap:100px}.doctor-photo{position:relative;border-radius:22px;overflow:hidden;background:#f0f0ef}.portrait{position:relative;overflow:hidden;background:#e8eae9;aspect-ratio:4/5}.portrait img{position:absolute;inset:0;max-width:none;width:100%;height:100%;object-fit:cover;object-position:var(--portrait-position,50% 31%);scale:var(--portrait-zoom,1);transform-origin:var(--portrait-origin,50% 31%);transition:filter .45s,transform .7s}.portrait-samir{--portrait-zoom:1}.portrait-blin{--portrait-zoom:1.5;--portrait-origin:50% 8%}.doctor-overlay{position:absolute;inset:0;background:#174f6ac9;backdrop-filter:blur(5px);color:white;padding:45px 32px;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s;pointer-events:none}.doctor-overlay .eyebrow{color:#e2edef;font-size:.75rem;margin-bottom:18px}.doctor-overlay ul{list-style:none;padding:0;margin:0;line-height:2.1;font-size:1.08rem}.doctor-toggle{position:absolute;right:20px;bottom:20px;width:44px;height:44px;border-radius:50%;background:#fffdf5ed;color:var(--blue);border:0;cursor:pointer;font-size:1.6rem;z-index:2;display:grid;place-items:center}.doctor-toggle{padding:0;line-height:1}.doctor-toggle span{position:relative;display:block;width:14px;height:14px;font-size:0;transition:transform .3s}.doctor-toggle span::before,.doctor-toggle span::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}.doctor-toggle span::after{transform:translate(-50%,-50%) rotate(90deg)}.doctor-photo.is-open .doctor-overlay{opacity:1;transform:none}.doctor-photo.is-open .portrait img{filter:blur(3px)}.doctor-photo.is-open .doctor-toggle span{transform:rotate(45deg)}.doctor-info{padding:26px 0 0}.doctor-info h3{font-size:1.8rem;line-height:1.25;margin-bottom:18px;color:var(--blue)}.doctor-info h3 strong{font-weight:550}.doctor-info>p{font-size:1rem;color:var(--muted);line-height:1.75}.assistants-intro{text-align:center;max-width:580px;margin:65px auto 35px}.assistants-intro .eyebrow{margin-bottom:12px}.assistants-intro>p:last-child{color:var(--muted);font-size:1rem}.assistants-grid{display:grid;grid-template-columns:repeat(3,minmax(0,285px));justify-content:center;gap:48px}.assistant-card{text-align:center}.assistant-card .portrait{border-radius:18px}.portrait-stephanie{--portrait-zoom:1.065;--portrait-origin:50% 0%}.portrait-jessica{--portrait-zoom:1}.portrait-fanny{--portrait-zoom:1.1;--portrait-origin:58% 31%}.assistant-card h3{font-size:1.55rem;color:var(--blue);margin-top:22px}.assistant-card>p{font-size:1rem;color:var(--muted);margin-top:8px}.contact{background:var(--cream)}.contact-intro{max-width:420px}.contact-intro>p{color:var(--muted)}.contact-phone{display:block;font-size:2rem;letter-spacing:-.04em;color:var(--blue);margin-top:14px}.contact-intro>span{font-size:.77rem;color:var(--muted)}.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.hours-card{background:var(--paper);border:1px solid #e6ded1;padding:30px;border-radius:20px}.hours-title{display:flex;align-items:center;gap:16px;margin-bottom:22px}.hours-title h3{font-size:1.3rem;letter-spacing:-.025em}.hour-icon{font-size:2rem;line-height:1;color:var(--blue)}table{width:100%;border-collapse:collapse;text-align:left;font-size:.84rem;font-variant-numeric:tabular-nums}thead{color:#778282;text-transform:uppercase;font-size:.75rem;letter-spacing:.12em}th,td{padding:11px 0;border-bottom:1px solid #e9e8e1}tbody th{font-weight:500}thead th{font-weight:500}td{white-space:nowrap}td+td,th+th{padding-left:10px}tr.closed{color:#87918d}tr:last-child th,tr:last-child td{border:0}.location{display:grid;grid-template-columns:.85fr 1.35fr;background:#e3e9e4;margin-top:38px;border-radius:23px;overflow:hidden}.location-copy{padding:45px}.location-copy h3{font-size:2rem;margin-bottom:26px}.location-copy address{font-style:normal;font-size:1.13rem;line-height:1.7;margin-bottom:20px}.location-copy>p:not(.eyebrow){font-size:1rem;color:var(--muted);max-width:300px}.location-copy .button{margin-top:26px;font-size:1rem}.map-container{min-height:450px;background:#dde5e3}.map-container iframe{display:block;width:100%;height:100%;min-height:450px}.site-footer{background:var(--blue-dark);color:var(--paper);padding:55px 0 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:38px}.footer-top .brand img{filter:brightness(0) invert(1);object-fit:contain}.footer-top .brand small{font-size:.75rem}.footer-top>p{font-family:var(--serif);font-style:italic;font-size:1.45rem;line-height:1.45;color:#d4e1de}.footer-call{background:transparent;border-color:#95b0b6}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff20;padding-top:22px;font-size:.75rem;color:#b6cbcf}.footer-bottom nav{display:flex;gap:25px}.mobile-appointment{display:none}.reveal{opacity:1;transform:none}html.motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}html.motion .reveal.is-visible{opacity:1;transform:none}
@keyframes scan{0%,100%{top:20%;opacity:.3}50%{top:80%;opacity:.8}}
@media(hover:hover) and (pointer:fine){.doctor-photo:hover .doctor-overlay{opacity:1;transform:none}.doctor-photo:hover .portrait img{filter:blur(3px);transform:scale(1.015)}}
@media(min-width:801px){.hero-copy a{visibility:hidden}.hero-copy:focus-within{position:relative;clip:auto;width:100%;height:auto;overflow:visible;padding:30px;white-space:normal}.hero-copy:focus-within a{visibility:visible}}
@media(max-width:1100px){.cabinet-grid{gap:50px}.waiting-room{height:470px}.treatment-copy{padding:70px 38px}.treatment-visual{min-height:710px}.doctors-grid{gap:60px;grid-template-columns:repeat(2,minmax(0,350px))}.hours-card{padding:25px 20px}.hours-title h3{font-size:1.2rem}table{font-size:.875rem}.assistants-grid{gap:32px}.treatment-nav>a{padding:20px 12px;gap:12px}.section-heading{gap:40px}}
@media(max-width:800px){.section-pad{padding:70px 0}.intro-bar .container{justify-content:center;flex-wrap:wrap;gap:8px 20px;text-align:center}.intro-bar span{font-size:.76rem}.intro-bar span+span{padding-left:20px}.intro-bar .text-link{display:none}.cabinet-grid{grid-template-columns:1fr;gap:20px}.cabinet-images{max-width:560px;padding-bottom:45px}.waiting-room{height:auto;min-height:290px;max-height:430px;aspect-ratio:4/3;border-radius:95px 18px 18px 18px}.photo-note{right:12px;bottom:10px;padding:16px 22px;font-size:1rem}.photo-note span{font-size:1.1rem}.cabinet-copy h2{font-size:2.5rem}.cabinet-copy>p{font-size:1rem}.care-values{gap:7px}.care-values span{font-size:.75rem}.treatments-heading{padding:65px 0 35px;display:block}.treatments-heading>p{max-width:none;margin-top:25px;font-size:1rem}.treatment-nav{grid-template-columns:1fr;gap:0;padding-bottom:40px}.treatment-nav>a{padding:17px 6px;border-top:0;gap:20px}.treatment-nav>a:first-child{border-top:1px solid var(--line)}.treatment-icon{width:38px;height:38px;min-width:38px}.treatment-nav a>span:nth-child(2){font-size:1rem}.treatment-nav small{display:inline-block;margin:0 13px 0 0}.treatment-row{grid-template-columns:1fr;min-height:0}.treatment-row.reverse .treatment-visual{order:0}.treatment-row.reverse .treatment-copy{order:0}.treatment-visual{min-height:0;aspect-ratio:4/3}.visual-label{left:20px;bottom:20px;font-size:.75rem}.treatment-copy{padding:45px 24px 50px}.treatment-copy h3{font-size:2.2rem}.treatment-copy p:not(.eyebrow){font-size:1rem}.large-number{font-size:7rem;right:22px;top:10px}.treatment-copy .eyebrow{max-width:70%;font-size:.75rem}.section-heading{display:block;margin-bottom:35px}.section-heading>p,.contact-intro{max-width:none;margin-top:25px;font-size:1rem}.tech-grid{grid-template-columns:1fr;gap:25px}.tech-art{height:230px}.tech-content{padding:28px 24px}.tech-content h3{font-size:1.6rem}.doctors-grid{gap:35px;grid-template-columns:1fr 1fr}.doctor-overlay{position:static;opacity:1;transform:none;backdrop-filter:none;padding:21px 20px;background:var(--blue);min-height:220px}.doctor-overlay .eyebrow{font-size:.75rem;margin-bottom:10px}.doctor-overlay ul{font-size:1rem;line-height:1.8}.doctor-toggle{display:none}.doctor-info h3{font-size:1.4rem}.doctor-info>p{font-size:1rem}.doctor-photo.is-open .portrait img{filter:none}.assistants-grid{gap:22px;grid-template-columns:repeat(3,1fr)}.assistant-card h3{font-size:1.2rem}.assistant-card>p{font-size:.75rem;line-height:1.5}.assistants-intro{margin-top:50px}.hours-grid{grid-template-columns:1fr;gap:20px}.hours-card{padding:25px}.hours-title h3{font-size:1.35rem}table{font-size:.875rem}.location{grid-template-columns:1fr}.location-copy{padding:32px}.location-copy h3{font-size:2rem}.map-container,.map-container iframe{min-height:330px}.footer-top{flex-wrap:wrap;gap:28px}.footer-top>p{font-size:1.2rem}.footer-top .footer-call{width:100%}.footer-bottom{display:block;line-height:1.7}.footer-bottom nav{flex-wrap:wrap;gap:10px 25px;margin-top:15px}.site-footer{padding-bottom:95px}.mobile-appointment{display:block;position:fixed;bottom:0;inset-inline:0;background:#fffdf9f5;border-top:1px solid #e2ded5;padding:10px 20px max(10px,env(safe-area-inset-bottom));z-index:40;backdrop-filter:blur(10px)}.mobile-appointment a{display:flex;justify-content:center;gap:12px;align-items:center;color:white;background:var(--blue);border-radius:30px;min-height:45px;font-size:.85rem}.mobile-appointment span{font-size:.75rem;opacity:.85}.curve{display:none}}
@media(max-width:520px){h2{font-size:2.35rem}.cabinet-copy h2{font-size:2.25rem}.doctors-grid{grid-template-columns:1fr;gap:36px;width:min(350px,100%);margin:auto}.doctor-overlay{min-height:0;padding:22px 25px}.doctor-overlay ul{font-size:1rem;line-height:1.85}.doctor-overlay .eyebrow{font-size:.75rem}.doctor-info h3{font-size:1.7rem}.doctor-info>p{font-size:1rem}.assistants-grid{grid-template-columns:1fr;width:230px;margin:auto;gap:34px}.assistant-card h3{font-size:1.5rem}.assistant-card>p{font-size:1rem}.hours-card{padding:22px 15px}.hours-title h3{font-size:1.16rem}.hours-title{gap:10px}table{font-size:.875rem}thead{font-size:.75rem}.footer-top .brand{gap:8px}.footer-top>p{font-size:1rem}.footer-top .brand strong{font-size:19px}.hero-copy .button-group .button{width:100%}.hero-copy .text-link{margin-inline:auto}.intro-bar span+span{border:0;padding-left:0}.intro-bar .container{flex-direction:column;gap:2px}}
@media(prefers-reduced-motion:reduce){html.motion .reveal{opacity:1;transform:none}.curve,.team-wave{translate:none!important}.scan-beam{animation:none}.doctor-overlay{transition:none}}

/* Assistant portraits: the practitioners' blue, with a soft lower veil. */
.assistant-card .portrait::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:55%;
  border-radius:50% 50% 0 0 / 18% 18% 0 0;
  background:linear-gradient(180deg,#174f6a00 0%,#174f6a22 30%,#174f6ac9 100%);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .4s,transform .4s;
  pointer-events:none;
}
@media(hover:hover) and (pointer:fine){
  .assistant-card:hover .portrait::after{opacity:1;transform:translateY(0)}
  .assistant-card:hover .portrait img{transform:scale(1.015)}
}
@media(hover:none),(pointer:coarse){
  .assistant-card .portrait::after{opacity:.22;transform:none}
}
@media(prefers-reduced-motion:reduce){
  .assistant-card .portrait::after{transition:none;transform:none}
  .assistant-card .portrait img{transition:none}
  .assistant-card:hover .portrait img{transform:none}
}

/* Large, quiet curves continue the existing palette behind the content. */
.assistants-grid,.location-copy{position:relative;isolation:isolate}
.contact{isolation:isolate}
.ambient-wave{
  position:absolute;
  z-index:-1;
  pointer-events:none;
  border-radius:45% 65%;
  border:1px solid #a3c4cb24;
}
.wave-assistants{
  width:155%;
  height:110%;
  min-height:440px;
  left:-30%;
  top:30%;
  background:#d2e1e138;
  box-shadow:0 -48px 0 #d2e1e120,0 -96px 0 #e9d3b714;
  transform:rotate(-8deg);
}
.wave-hours{
  width:1450px;
  height:760px;
  right:-520px;
  top:190px;
  border-color:#c7975419;
  background:#e9d3b70c;
  box-shadow:0 0 0 65px #e9d3b71a,0 0 0 130px #e9d3b712;
  transform:rotate(-22deg);
}
.location-copy{overflow:hidden}
.wave-location{
  width:950px;
  height:640px;
  right:-180px;
  bottom:-455px;
  border-color:#28566a16;
  background:#fffdf924;
  box-shadow:0 -36px 0 #d2e1e126,0 -74px 0 #28566a06;
  transform:rotate(16deg);
}
[data-parallax]{--drift-from:-6px;--drift-to:6px;will-change:auto}
@media(max-width:800px){
  [data-parallax]{--drift-from:-3px;--drift-to:3px}
  .wave-assistants{width:200%;left:-65%;opacity:.7}
  .wave-hours{right:-1050px;top:360px;opacity:.75}
  .wave-location{right:-390px;bottom:-450px;opacity:.75}
}
/* Scroll-linked motion stays on the compositor; unsupported browsers use app.js. */
@supports(animation-timeline:view()){
  .cabinet,.technologies,.team,.contact{
    view-timeline-name:--ambient-scroll;
    view-timeline-axis:block;
  }
  @media(prefers-reduced-motion:no-preference){
    [data-parallax]{
      animation:ambient-drift 1s linear both;
      animation-timeline:--ambient-scroll;
      animation-range:entry 0% exit 100%;
    }
  }
}
@keyframes ambient-drift{
  from{translate:0 var(--drift-from)}
  to{translate:0 var(--drift-to)}
}
@media(prefers-reduced-motion:reduce){
  [data-parallax]{animation:none!important;translate:none!important}
}
/* A quiet accent for the main contact number; no change to surrounding layout. */
.contact-phone{position:relative;width:fit-content;transition:color .22s ease,transform .22s ease}
.contact-phone::after{content:"";position:absolute;inset:auto 0 -3px;height:1px;background:currentColor;opacity:0;transform:scaleX(.2);transform-origin:left;transition:transform .25s ease,opacity .25s ease}
.contact-phone:focus-visible{color:#367185;transform:translateX(2px)}
.contact-phone:focus-visible::after{opacity:.6;transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){.contact-phone:hover{color:#367185;transform:translateX(2px)}.contact-phone:hover::after{opacity:.6;transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.contact-phone,.contact-phone::after{transition:none}.contact-phone:hover,.contact-phone:focus-visible{transform:none}}

.doctor-info>.doctor-qualifications{list-style:disc;margin:0;padding-left:1.2em;font-size:1rem;color:var(--muted);line-height:1.75}.doctor-qualifications>li+li{margin-top:.35em}
