:root{--paper:#f4f1ea;--paper-deep:#e9e5db;--ink:#202b27;--muted:#6d7169;--green:#38564a;--green-dark:#243c33;--rust:#ba7255;--line:#d4d0c6;--white:#fcfbf8;--serif:"Newsreader",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--wrap:min(1200px,calc(100% - 72px))}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.section-wrap{width:var(--wrap);max-width:1200px;margin-inline:auto}.skip-link{position:absolute;left:16px;top:-80px;background:var(--ink);color:#fff;padding:10px 16px;z-index:20}.skip-link:focus{top:12px}.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}.site-header{height:86px;border-bottom:1px solid rgba(32,43,39,.12);position:sticky;top:0;z-index:10;background:rgba(244,241,234,.96);backdrop-filter:blur(12px)}.header-inner{width:var(--wrap);height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--green);color:#fff;font-family:var(--serif);font-size:27px;line-height:1;border-radius:50%}.brand-words{display:flex;flex-direction:column;line-height:1.1}.brand-words strong{font-size:13px;font-weight:700;letter-spacing:.01em}.brand-words small{margin-top:4px;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.primary-nav{display:flex;align-items:center;gap:37px;font-size:12px;color:#474f49}.primary-nav a:not(.nav-cta):hover,.footer-bottom a:hover{color:var(--rust)}.nav-cta{padding:11px 15px;background:var(--green);color:white;border-radius:2px;transition:background .2s}.nav-cta:hover,.button-dark:hover{background:var(--green-dark)}.nav-cta span{margin-left:15px}.menu-toggle{display:none}.hero{min-height:670px;padding-block:73px 82px;display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:7.5%;position:relative}.hero-copy{padding:0 0 24px 3%}.eyebrow{margin:0 0 21px;font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--green);line-height:1.3}.eyebrow-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--rust);margin:0 9px 1px 0}.hero h1,.section-heading h2,.visit-copy h2,.location-head h2,.closing-inner h2,.appointment-copy h2{font-size:clamp(48px,5.2vw,76px);font-weight:400;font-family:var(--serif);letter-spacing:-.045em;line-height:.99;margin:0}.hero h1 em,.section-heading h2 em,.visit-copy h2 em,.location-head h2 em,.closing-inner h2 em,.appointment-copy h2 em{font-weight:400;color:var(--green);font-style:italic}.hero-lede{max-width:400px;margin:27px 0 28px;color:#5d655e;font-size:15px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:14px 19px;font-size:11px;letter-spacing:.035em;transition:background .2s,color .2s,border-color .2s}.button-dark{color:#fff;background:var(--green)}.text-link{font-size:11px;border-bottom:1px solid var(--rust);padding-bottom:5px}.text-link span{padding-left:8px;color:var(--rust)}.hero-note{display:flex;align-items:center;gap:10px;margin-top:49px;font-size:10px;color:#71766e}.note-line{width:25px;height:1px;background:var(--rust)}.hero-image-wrap{position:relative;padding:0 0 30px 20px}.hero-image-wrap::before{content:"";position:absolute;left:0;top:-20px;width:40%;height:80%;border:1px solid #c9c6bc;z-index:-1}.hero-image{display:block;width:100%;height:464px;object-fit:cover;object-position:50% 50%;filter:saturate(.68)}.image-caption{display:flex;align-items:center;gap:12px;margin-top:15px;color:#58635b;font-family:var(--serif);font-style:italic;font-size:17px}.caption-mark{font:700 9px var(--sans);color:var(--rust);font-style:normal}.caption-rule{height:1px;flex:1;background:var(--line);margin-left:6px}.photo-note{position:absolute;bottom:3px;right:0;font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#74766f}.hero-index{position:absolute;bottom:39px;left:2%;font-size:9px;letter-spacing:.15em;color:#96968c}.intro-band{background:var(--green);color:#f8f5ec;padding:48px 0}.intro-grid{display:grid;grid-template-columns:1fr 3fr auto;align-items:center;gap:30px}.intro-grid .eyebrow{color:#c8d1c9;margin:0}.intro-copy{font:400 clamp(21px,2.25vw,31px)/1.35 var(--serif);max-width:770px;margin:0;letter-spacing:-.015em}.circle-link{width:43px;height:43px;display:grid;place-items:center;border:1px solid #aab6aa;border-radius:50%;font-size:18px;transition:background .2s}.circle-link:hover{background:rgba(255,255,255,.12)}.care-section{padding-block:112px 105px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:51px}.section-heading h2,.visit-copy h2,.location-head h2{font-size:clamp(43px,4.4vw,62px)}.section-aside{max-width:290px;margin:0 3% 6px 25px;color:var(--muted);font-size:12px;line-height:1.8}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.care-card{min-height:300px;padding:27px 30px 30px;position:relative;border-right:1px solid var(--line);display:flex;flex-direction:column}.care-card:first-child{padding-left:0}.care-card:last-child{border-right:0}.card-number{font-size:9px;letter-spacing:.12em;color:var(--rust)}.care-icon{height:66px;display:flex;align-items:center;color:var(--green);font-size:34px}.icon-tooth{font-size:28px}.icon-implant{font-size:35px}.icon-plan{font:36px var(--serif)}.care-card h3{margin:0 0 10px;font:500 23px/1.2 var(--serif);letter-spacing:-.02em}.care-card p{margin:0 0 24px;max-width:310px;font-size:12px;line-height:1.8;color:var(--muted)}.card-link{font-size:10px;letter-spacing:.03em;margin-top:auto;display:flex;gap:13px;align-items:center;color:var(--green);font-weight:700}.card-link span{font-size:15px;color:var(--rust)}.care-footnote{margin:16px 0 0;color:#82847c;font-size:9px}.visit-section{background:var(--paper-deep);padding-block:96px}.visit-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}.visit-photo{position:relative;padding:0 24px 24px 0}.visit-photo img{width:100%;height:510px;object-fit:cover;filter:saturate(.62)}.visit-photo::after{content:"";position:absolute;right:0;bottom:0;width:74%;height:74%;border:1px solid #c5c1b5;z-index:0;pointer-events:none}.visit-photo>*{position:relative;z-index:1}.photo-stamp{position:absolute;left:-18px;bottom:64px;background:#f4f1ea;color:var(--green);border:1px solid #d1cdc2;border-radius:50%;width:95px;height:95px;display:grid;place-items:center;text-align:center;font:italic 15px/1.2 var(--serif);transform:rotate(-8deg)}.visit-photo .photo-note{bottom:8px;right:10px}.visit-copy{padding:0 3%}.visit-copy h2{margin-bottom:22px}.visit-lede{max-width:440px;color:var(--muted);font-size:13px;line-height:1.8}.visit-steps{list-style:none;padding:0;margin:30px 0 30px;border-top:1px solid #c9c5ba}.visit-steps li{display:grid;grid-template-columns:36px 1fr;gap:13px;padding:16px 0;border-bottom:1px solid #c9c5ba}.visit-steps li>span{font-size:9px;letter-spacing:.08em;color:var(--rust);padding-top:4px}.visit-steps strong{font-size:12px;font-weight:600}.visit-steps p{margin:4px 0 0;font-size:11px;color:var(--muted)}.quote-section{text-align:center;padding-block:102px 109px;position:relative}.quote-section .eyebrow{margin-bottom:28px}.quote-section blockquote{max-width:790px;margin:0 auto;font:400 clamp(27px,3.5vw,46px)/1.24 var(--serif);letter-spacing:-.03em}.quote-note{font-size:10px;color:#777a72;margin-top:22px}.quote-flower{position:absolute;right:11%;top:34%;font-size:30px;color:var(--rust)}.appointment-section{background:var(--green-dark);color:#f4f1ea;padding-block:92px}.appointment-layout{display:grid;grid-template-columns:.85fr 1fr;gap:13%;align-items:start}.appointment-copy{padding:28px 0 0 5%}.appointment-copy .eyebrow{color:#b9c5ba}.appointment-copy h2{font-size:clamp(45px,4.6vw,65px)}.appointment-copy h2 em{color:#d2b59c}.appointment-copy>p:not(.eyebrow):not(.privacy-mini){max-width:375px;color:#ccd3c9;font-size:12px;line-height:1.9;margin:26px 0 28px}.appointment-location{display:flex;gap:14px;align-items:flex-start;color:#e1e5df;font-size:11px;line-height:1.8}.pin-icon{color:#d2a07d;font-size:23px;line-height:1}.privacy-mini{font-size:9px;color:#abb9ad;margin-top:35px;max-width:310px}.appointment-form{background:#f4f1ea;color:var(--ink);padding:30px 36px 27px;max-width:480px;width:100%;justify-self:end}.form-top{display:flex;justify-content:space-between;color:var(--green);font-size:9px;letter-spacing:.14em;font-weight:700;margin-bottom:23px}.appointment-form>label:not(.consent-row){display:block;font-size:10px;font-weight:600;margin:15px 0 4px}.appointment-form label span:not(.optional){color:var(--rust)}.optional{font-size:9px;color:#85867e;font-weight:400}.appointment-form input:not([type=checkbox]),.appointment-form select{width:100%;height:40px;border:0;border-bottom:1px solid #c9c5b9;border-radius:0;background:transparent;color:var(--ink);outline:none;font-size:12px}.appointment-form input:focus,.appointment-form select:focus{border-bottom:2px solid var(--green)}.appointment-form input::placeholder{color:#aaa99f}.consent-row{display:flex;gap:10px;align-items:flex-start;margin-top:19px;color:#646960;font-size:9px;line-height:1.55}.consent-row input{accent-color:var(--green);margin:3px 0 0}.button-light{background:#e5d8c8;color:var(--ink);border:0}.button-light:hover{background:#fff}.form-submit{width:100%;margin-top:20px;cursor:pointer}.form-disclaimer{margin:12px 0 0;font-size:9px;line-height:1.5;color:#777a72}.location-section{padding-block:103px 110px}.location-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.location-head .eyebrow{margin-bottom:17px}.button-outline{border:1px solid #9e9f94;color:var(--ink);background:transparent}.button-outline:hover{border-color:var(--green);background:var(--green);color:white}.location-card{display:grid;grid-template-columns:1.45fr .8fr;border:1px solid var(--line);min-height:395px}.map-art{position:relative;overflow:hidden;background-color:#e6e6db;background-image:linear-gradient(45deg,transparent 49%,#f9f7ef 49%,#f9f7ef 54%,transparent 54%),linear-gradient(135deg,transparent 42%,#c7d4c8 42%,#c7d4c8 59%,transparent 59%),linear-gradient(8deg,transparent 45%,#f9f7ef 45%,#f9f7ef 50%,transparent 50%);background-size:320px 240px,400px 300px,370px 280px;background-position:-20px 20px,90px 0,-20px 80px}.map-street{position:absolute;background:#f9f7ef;box-shadow:0 0 0 1px rgba(172,175,162,.12)}.street-a{width:120%;height:18px;transform:rotate(-24deg);top:55%;left:-8%}.street-b{height:160%;width:15px;transform:rotate(25deg);top:-25%;left:39%}.street-c{width:90%;height:12px;transform:rotate(31deg);top:22%;left:13%}.map-block{position:absolute;background:#d6ddd0;border:1px solid rgba(127,148,127,.15)}.block-a{width:90px;height:70px;top:16%;left:11%}.block-b{width:118px;height:80px;top:66%;left:62%}.block-c{width:68px;height:64px;top:13%;left:72%}.map-label{position:absolute;color:#727b6e;font-size:10px;letter-spacing:.16em}.label-sector{right:9%;top:13%;font-weight:700}.label-gejha{left:16%;bottom:16%;font-size:12px}.label-clinic{left:48%;top:67%;font-size:8px;color:#4f6152}.map-pin{position:absolute;left:57%;top:37%;width:38px;height:38px;border:2px solid var(--paper);border-radius:50% 50% 50% 0;background:var(--rust);transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 3px 9px #394b4055}.map-pin span{transform:rotate(45deg);color:#fff;font:20px var(--serif)}.map-compass{position:absolute;right:20px;bottom:18px;color:#71796d;font-size:8px;letter-spacing:.12em}.address-panel{padding:42px 42px 35px;background:#eeebe3}.address-panel .eyebrow{margin-bottom:13px}.address-panel h3{font:500 25px/1.1 var(--serif);margin:0 0 20px;letter-spacing:-.02em}.address-panel address{font-style:normal;color:#686e66;font-size:11px;line-height:1.85}.address-divider{height:1px;background:#d0ccc2;margin:23px 0 17px}.hours-note{font-size:9px;color:#73786f;display:flex;gap:9px;align-items:flex-start;line-height:1.5;margin-bottom:21px}.hours-dot{display:block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--rust);margin-top:4px}.closing-section{background:#a95f49;color:#f8f3e9;text-align:center;padding:74px 0 81px}.closing-inner{position:relative}.closing-inner .eyebrow{color:#ecd3c6;margin-bottom:20px}.closing-inner h2{font-size:clamp(40px,4.8vw,66px);margin-bottom:28px}.closing-inner h2 em{color:#f1cdb9}.closing-inner .button{background:#f2e6d8}.closing-star{position:absolute;top:4px;right:19%;font-size:24px;color:#e9b89d}.site-footer{background:#202b27;color:#eeeee5}.footer-main{min-height:145px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff24}.footer-brand .brand-mark{background:#e8e0d4;color:var(--green)}.footer-brand .brand-words strong{color:#f2f0e7}.footer-brand .brand-words small{color:#b4b9ae}.footer-main>p{font-size:10px;line-height:1.8;color:#c3c8bd}.footer-main>a:last-child{font-size:10px;color:#e7bda6;border-bottom:1px solid #8e766a;padding-bottom:5px}.footer-bottom{min-height:62px;display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#aeb4aa}.footer-bottom nav{display:flex;gap:20px}.footer-bottom a{color:#e2e4da}.footer-credit{letter-spacing:.04em}
@media(max-width:800px){:root{--wrap:min(100% - 44px,660px)}.site-header{height:74px}.menu-toggle{display:flex;background:transparent;border:0;width:38px;height:38px;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}.menu-toggle>span:not(.sr-only){width:22px;height:1px;background:var(--ink)}.primary-nav{display:none;position:absolute;left:0;right:0;top:73px;padding:21px 22px 25px;background:var(--paper);border-bottom:1px solid var(--line);align-items:stretch;gap:0;flex-direction:column}.primary-nav.is-open{display:flex}.primary-nav a{padding:12px 3px}.primary-nav .nav-cta{margin-top:8px;padding:12px 15px}.hero{min-height:auto;padding-block:57px 65px;grid-template-columns:1fr;gap:39px}.hero-copy{padding:0}.hero h1{font-size:clamp(51px,11vw,75px)}.hero-lede{max-width:460px}.hero-note{margin-top:31px}.hero-image-wrap{margin-left:12px;padding-left:13px}.hero-image{height:min(63vw,440px)}.hero-index{bottom:23px;left:auto;right:0}.intro-grid{grid-template-columns:1fr auto;gap:19px}.intro-grid .eyebrow{grid-column:1/-1}.intro-copy{font-size:24px}.care-section{padding-block:76px}.section-heading{display:block;margin-bottom:34px}.section-heading h2,.visit-copy h2,.location-head h2{font-size:53px}.section-aside{margin:22px 0 0;max-width:420px}.care-grid{grid-template-columns:1fr}.care-card,.care-card:first-child{min-height:auto;padding:24px 0 25px;border-right:0;border-bottom:1px solid var(--line)}.care-card:last-child{border-bottom:0}.care-icon{height:50px}.care-card p{max-width:490px;margin-bottom:19px}.visit-section{padding-block:70px}.visit-layout{grid-template-columns:1fr;gap:38px}.visit-photo{max-width:540px}.visit-photo img{height:min(90vw,490px)}.visit-copy{padding:0}.quote-section{padding-block:77px}.quote-flower{right:5%;top:17%;font-size:19px}.appointment-section{padding-block:66px}.appointment-layout{grid-template-columns:1fr;gap:35px}.appointment-copy{padding:0}.appointment-copy>p:not(.eyebrow):not(.privacy-mini){margin:21px 0}.privacy-mini{margin-top:19px}.appointment-form{justify-self:stretch;max-width:none}.location-section{padding-block:76px}.location-head{align-items:start;gap:20px;flex-direction:column;margin-bottom:28px}.location-card{grid-template-columns:1fr}.map-art{min-height:300px}.address-panel{padding:30px}.closing-section{padding-block:63px}.closing-star{right:8%;top:-12px}.footer-main{padding-block:26px;gap:20px;align-items:flex-start;flex-wrap:wrap}.footer-main>p{width:calc(100% - 190px);margin:0}.footer-main>a:last-child{margin-left:auto}.footer-bottom{padding-block:18px;flex-wrap:wrap;gap:15px}.footer-credit{margin-left:auto}}
@media(max-width:480px){:root{--wrap:calc(100% - 38px)}body{font-size:14px}.brand-mark{width:33px;height:33px}.brand-words strong{font-size:12px}.hero{padding-top:47px}.hero h1{font-size:51px}.hero-actions{gap:19px;flex-wrap:wrap}.button{padding:13px 15px}.hero-image{height:300px}.intro-band{padding-block:34px}.intro-copy{font-size:21px}.section-heading h2,.visit-copy h2,.location-head h2{font-size:47px}.care-section{padding-block:64px}.care-card h3{font-size:22px}.visit-photo{padding-right:15px;padding-bottom:15px}.visit-photo img{height:340px}.photo-stamp{width:78px;height:78px;font-size:13px;left:-10px;bottom:50px}.quote-section blockquote{font-size:29px}.quote-note{max-width:240px;margin-inline:auto;line-height:1.6}.appointment-copy h2{font-size:51px}.appointment-form{padding:25px 22px 23px}.map-art{min-height:250px}.address-panel{padding:27px 24px}.closing-inner h2{font-size:43px}.footer-main{display:grid;grid-template-columns:1fr}.footer-main>p{width:auto}.footer-main>a:last-child{margin-left:0;justify-self:start}.footer-bottom{display:grid;grid-template-columns:1fr auto}.footer-bottom nav{grid-row:2;grid-column:1/-1;gap:16px;flex-wrap:wrap}.footer-credit{margin:0;justify-self:end}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.legal-page{max-width:780px;padding-block:85px 110px}.legal-page h1{font:400 clamp(48px,6vw,72px)/1 var(--serif);letter-spacing:-.04em;margin:0 0 13px}.legal-page h1 em{color:var(--green);font-weight:400}.legal-updated{font-size:10px;color:#82847c;margin:0 0 30px}.legal-page>p:not(.eyebrow):not(.legal-updated){font-size:13px;color:#626960;line-height:1.9}.legal-page h2{font:500 25px/1.2 var(--serif);letter-spacing:-.02em;margin:37px 0 9px}.legal-page address{font-style:normal;font-size:13px;line-height:1.9;color:#626960;margin:12px 0 30px}.legal-page .text-link{display:inline-block;margin-top:12px}.legal-page+.site-footer{margin-top:0}
.draft-panel{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.draft-panel>label{display:block;font-size:10px;font-weight:700;margin-bottom:6px}.draft-panel textarea{display:block;width:100%;resize:vertical;border:1px solid #c9c5b9;background:#fffdf8;color:var(--ink);padding:10px;font:11px/1.6 var(--sans)}.draft-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.draft-actions .button{cursor:pointer;gap:8px;padding:10px 12px;font-size:10px}.draft-actions .button-outline{background:transparent}.draft-panel[hidden]{display:none}
.faq-section{padding-block:85px 97px;display:grid;grid-template-columns:.78fr 1.22fr;gap:12%;align-items:start}.faq-heading h2{font:400 clamp(39px,4vw,54px)/1.05 var(--serif);letter-spacing:-.035em;margin:0 0 15px}.faq-heading h2 em{font-weight:400;color:var(--green)}.faq-heading>p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.8;max-width:260px}.faq-heading .text-link{display:inline-block;margin-top:11px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;font:500 18px/1.3 var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--rust);font:20px var(--sans);transition:transform .15s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:11px;line-height:1.8;color:var(--muted);margin:0;padding:0 35px 18px 0}
@media(max-width:800px){.faq-section{grid-template-columns:1fr;gap:29px;padding-block:65px 75px}.faq-heading>p:not(.eyebrow){max-width:420px}.faq-list summary{font-size:17px}}

:focus-visible{outline:3px solid var(--rust);outline-offset:3px}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--rust);outline-offset:2px}

/* Expanded patient-information and interaction layer */
.scroll-progress{position:fixed;inset:0 0 auto;z-index:30;height:3px;background:transparent;pointer-events:none}.scroll-progress span{display:block;width:100%;height:100%;background:var(--rust);transform:scaleX(0);transform-origin:left}
.reveal-on-scroll,.care-card,.visit-layout,.quote-section,.appointment-layout,.faq-section,.location-section{transition:opacity .65s ease,transform .65s ease}.reveal-on-scroll:not(.is-visible),.care-card:not(.is-visible),.visit-layout:not(.is-visible),.quote-section:not(.is-visible),.appointment-layout:not(.is-visible),.faq-section:not(.is-visible),.location-section:not(.is-visible){opacity:0;transform:translateY(22px)}
.care-card{transition:background .25s ease,transform .25s ease,opacity .65s ease}.care-card:hover{background:#ece8de;transform:translateY(-4px)}.care-card:focus-within{background:#ece8de}
.journey-section{padding-block:104px;background:#f7f5ef;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.journey-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:10%;align-items:start}.journey-intro h2{font:400 clamp(42px,4.3vw,61px)/1 var(--serif);letter-spacing:-.045em;margin:0 0 21px}.journey-intro h2 em{color:var(--green);font-weight:400}.journey-intro>p:not(.eyebrow){max-width:360px;font-size:13px;color:var(--muted);line-height:1.85}.journey-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.journey-card{min-height:200px;padding:23px;border:1px solid #d6d2c8;background:#fbfaf6;color:var(--ink);text-align:left;cursor:pointer;display:flex;flex-direction:column;transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease}.journey-card:hover{transform:translateY(-5px);background:var(--green);border-color:var(--green);box-shadow:0 13px 23px rgba(36,60,51,.12);color:#f9f6ef}.journey-card:focus-visible{position:relative;z-index:1}.journey-card span{font-size:9px;letter-spacing:.12em;color:var(--rust);margin-bottom:auto}.journey-card strong{font:500 23px/1.1 var(--serif);letter-spacing:-.02em}.journey-card small{font:11px/1.7 var(--sans);color:var(--muted);margin-top:11px;max-width:245px}.journey-card b{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--rust);margin-top:18px}.journey-card:hover small{color:#d7e0d7}.journey-card:hover span,.journey-card:hover b{color:#e9bea7}
.appointment-form textarea{width:100%;display:block;resize:vertical;border:0;border-bottom:1px solid #c9c5b9;border-radius:0;background:transparent;color:var(--ink);outline:none;font:12px/1.55 var(--sans);padding:8px 0}.appointment-form textarea:focus{border-bottom:2px solid var(--green)}
.google-map{display:block;width:100%;height:100%;min-height:395px;border:0;background:#e8e8df;filter:saturate(.83) contrast(.98)}
.treatment-dialog{width:min(620px,calc(100% - 34px));border:0;padding:48px 46px 39px;background:#f7f4ec;color:var(--ink);box-shadow:0 24px 70px rgba(20,31,26,.3)}.treatment-dialog::backdrop{background:rgba(23,35,29,.68);backdrop-filter:blur(3px)}.treatment-dialog h2{font:400 clamp(34px,5vw,51px)/1.02 var(--serif);letter-spacing:-.04em;margin:0 0 17px}.treatment-dialog>p:not(.eyebrow):not(.dialog-note){font-size:14px;line-height:1.8;color:var(--muted);margin:0}.treatment-dialog ul{margin:22px 0 25px;padding:0;list-style:none;border-top:1px solid var(--line)}.treatment-dialog li{position:relative;padding:12px 0 12px 19px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.65;color:#505950}.treatment-dialog li::before{content:"";position:absolute;left:1px;top:21px;width:7px;height:7px;border-radius:50%;background:var(--rust)}.dialog-close{position:absolute;right:15px;top:14px;width:35px;height:35px;border:0;background:transparent;color:var(--green);font-size:29px;line-height:1;cursor:pointer}.dialog-note{font-size:10px!important;color:#7a7d75!important;line-height:1.6!important;margin:18px 0 0!important}.mobile-booking{display:none}
@media(max-width:800px){.journey-section{padding-block:70px}.journey-layout{grid-template-columns:1fr;gap:30px}.journey-intro>p:not(.eyebrow){max-width:510px}.journey-grid{gap:9px}.journey-card{min-height:180px}.google-map{min-height:330px}.mobile-booking{display:flex;position:fixed;left:14px;right:14px;bottom:13px;z-index:9;min-height:48px;align-items:center;justify-content:center;background:var(--green);color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;box-shadow:0 9px 24px rgba(31,47,39,.24)}.site-footer{padding-bottom:67px}}
@media(max-width:480px){.journey-grid{grid-template-columns:1fr}.journey-card{min-height:155px;padding:19px}.journey-card strong{font-size:22px}.treatment-dialog{padding:43px 25px 29px}.treatment-dialog h2{font-size:39px}.google-map{min-height:285px}}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll,.care-card,.visit-layout,.quote-section,.appointment-layout,.faq-section,.location-section,.journey-card{transition:none}.reveal-on-scroll:not(.is-visible),.care-card:not(.is-visible),.visit-layout:not(.is-visible),.quote-section:not(.is-visible),.appointment-layout:not(.is-visible),.faq-section:not(.is-visible),.location-section:not(.is-visible){opacity:1;transform:none}}

.brand-logo{width:52px;height:42px;object-fit:contain;display:block}
.footer-brand .brand-logo{width:54px;height:44px;background:#f4f1ea;border-radius:50%;padding:3px}
@media(max-width:480px){.brand-logo{width:46px;height:38px}.footer-brand .brand-logo{width:48px;height:40px}}

/* Tighter desktop rhythm: calm and editorial, without inactive bands of space. */
@media(min-width:801px){
  .hero{min-height:590px;padding-block:52px 60px}
  .hero-image{height:430px}
  .hero-note{margin-top:36px}
  .care-section{padding-block:78px 74px}
  .section-heading{margin-bottom:38px}
  .care-card{min-height:250px;padding-block:22px}
  .journey-section{padding-block:76px}
  .journey-card{min-height:165px}
  .visit-section{padding-block:72px}
  .visit-photo img{height:440px}
  .quote-section{padding-block:72px 78px}
  .appointment-section{padding-block:76px}
  .faq-section{padding-block:68px 74px}
  .location-section{padding-block:76px 82px}
  .closing-section{padding-block:60px 66px}
}

/* Direct WhatsApp access remains easy to find without competing with booking. */
.whatsapp-float{position:fixed;left:0;top:55%;z-index:8;display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:7px 17px 7px 8px;background:#2f7657;color:#fff;border-radius:0 999px 999px 0;box-shadow:0 10px 24px rgba(31,82,59,.2);font-size:11px;font-weight:700;letter-spacing:.03em;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.whatsapp-float:hover{transform:translateX(4px);background:#246347;box-shadow:0 13px 27px rgba(31,82,59,.26)}
.whatsapp-float:active{transform:translateX(2px) scale(.98)}
.whatsapp-float-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f5f3ec;color:#236047;font:700 10px/1 var(--sans);letter-spacing:.03em}

@media(max-width:800px){
  html{scroll-padding-top:74px}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .menu-toggle{width:44px;height:44px}
  .dialog-close{width:44px;height:44px;right:9px;top:9px}
  .mobile-booking{left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));min-height:50px;transition:opacity .2s ease,transform .2s ease}
  .mobile-booking.is-hidden{opacity:0;transform:translateY(10px);pointer-events:none}
  .whatsapp-float{left:max(14px,env(safe-area-inset-left));top:auto;bottom:calc(70px + env(safe-area-inset-bottom));width:46px;height:46px;min-height:46px;justify-content:center;padding:7px;border-radius:50%;box-shadow:0 8px 20px rgba(31,82,59,.23)}
  .whatsapp-float-label{display:none}
  .care-card .card-link,.address-panel .card-link{min-height:44px;padding-block:8px}
}
@media(max-width:480px){
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
  .mobile-booking{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right))}
  .whatsapp-float{left:max(10px,env(safe-area-inset-left));bottom:calc(70px + env(safe-area-inset-bottom))}
}

/* Doctor profile */
.primary-nav{gap:clamp(16px,2.2vw,32px)}
.doctor-section{padding-block:72px 80px;background:var(--paper-deep);border-block:1px solid var(--line)}
.doctor-intro{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px}
.doctor-intro .eyebrow{margin-bottom:15px}
.doctor-intro h2{font:400 clamp(42px,4.2vw,58px)/1.02 var(--serif);letter-spacing:-.04em;margin:0;text-wrap:balance}
.doctor-intro h2 em{font-weight:400;color:var(--green)}
.doctor-intro>p{max-width:290px;margin:0 0 5px;color:var(--muted);font-size:12px;line-height:1.8}
.doctor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.doctor-card{display:grid;grid-template-columns:minmax(175px,.8fr) minmax(0,1.2fr);min-height:330px;background:var(--white);border:1px solid #d3cfc4;overflow:hidden;transition:box-shadow .22s ease,transform .22s ease}
.doctor-card:hover{box-shadow:0 12px 28px rgba(38,57,47,.08);transform:translateY(-3px)}
.doctor-portrait{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;background:#dfe5dd;color:#4e6658;text-align:center;position:relative;overflow:hidden}
.doctor-portrait--photo{background:#f5f5f1}
.doctor-portrait--photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 28%}
.doctor-portrait--placeholder::before{content:"";position:absolute;inset:15px;border:1px solid rgba(56,86,74,.27)}
.doctor-portrait--placeholder img{display:block;width:72px;height:72px;object-fit:contain;opacity:.72}
.doctor-portrait span{font:italic 19px/1.2 var(--serif);letter-spacing:-.01em}
.doctor-details{padding:27px 27px 26px;display:flex;flex-direction:column;align-items:flex-start}
.doctor-kicker{margin:0 0 24px;color:var(--green);font-size:9px;font-weight:700;letter-spacing:.12em;line-height:1.5}
.doctor-details h3{font:400 clamp(29px,2.7vw,39px)/1.06 var(--serif);letter-spacing:-.035em;margin:0 0 9px;text-wrap:balance}
.doctor-credentials{margin:0 0 18px;color:var(--green);font-size:11px;font-weight:700;letter-spacing:.02em}
.doctor-description{color:var(--muted);font-size:11px;line-height:1.75;margin:0 0 20px}
.doctor-cta{display:inline-block;margin-top:auto}
@media(max-width:1050px){.doctor-grid{grid-template-columns:1fr}.doctor-card{max-width:760px;grid-template-columns:minmax(210px,.78fr) minmax(0,1.22fr)}.doctor-details h3{font-size:39px}}
@media(max-width:800px){.doctor-section{padding-block:62px 68px}.doctor-intro{gap:22px}}
@media(max-width:600px){.doctor-section{padding-block:55px 60px}.doctor-intro{display:block}.doctor-intro h2{font-size:clamp(40px,11vw,52px)}.doctor-intro>p{margin-top:14px}.doctor-card{grid-template-columns:1fr;max-width:none}.doctor-portrait{min-height:300px}.doctor-portrait--photo img{object-position:center 22%}.doctor-portrait--placeholder{min-height:225px}.doctor-details{padding:24px 24px 27px;min-height:250px}.doctor-kicker{margin-bottom:15px}.doctor-details h3{font-size:36px}.doctor-cta{min-height:36px;display:inline-flex;align-items:center}}
