/* Heuvel: a complete editorial identity, shared by every route. */
:root{--ink:#152b43;--night:#12283e;--paper:#fbfaf6;--sand:#eeeae2;--muted:#626d78;--line:#dcdedc;--accent:#a38d70;--gutter:6vw}
body{font-size:18px;line-height:1.8}h1,h2,h3{font-weight:500}h2{letter-spacing:-.05em}p{color:var(--muted)}.eyebrow,.section-index{font-size:15px;letter-spacing:.015em}.section{padding-block:115px}.shell{max-width:1440px}.section-dash{display:inline-block;width:25px;height:1px;background:var(--accent);vertical-align:middle;margin-right:13px}.status-dot{width:6px;height:6px;background:var(--accent)}
.site-header{height:108px;background:#fbfaf6ee}.site-header.is-scrolled{height:88px;background:#fbfaf6f5;backdrop-filter:blur(15px)}.header-shell{border-bottom:1px solid var(--line);max-width:1600px}.site-header.is-scrolled .header-shell{border-color:transparent}.brand{gap:13px;min-width:0}.brand-symbol{width:44px;height:52px;stroke-width:1.6}.brand-words{gap:4px}.brand-words>span{font-size:14px;letter-spacing:.05em}.brand-words>strong{font-size:23px;font-weight:600;letter-spacing:-.7px}.header-place{font-size:15px;text-transform:none}.header-right{gap:36px}.header-appointment{font-size:15px;border:0;border-bottom:1px solid #aeb6bb;border-radius:0;padding:9px 0;gap:23px}.header-appointment:hover{background:transparent;color:var(--ink);border-color:var(--ink)}.menu-toggle{gap:17px;font-size:16px}.menu-is-open .header-shell{border-color:#ffffff20}.menu-is-open .site-header{background:var(--night)}.menu-is-open .header-appointment:hover{background:transparent;color:white}.site-menu{background:var(--night)}.menu-links>a{font-weight:400}.menu-right>p{font-weight:400}.menu-links>a:hover,.menu-links>a[aria-current]{color:#dac8aa}.menu-photo{border-radius:2px 2px 85px 2px}.menu-left>.eyebrow,.menu-bottom,.menu-utility{color:#bec8d3}
.button{position:relative;isolation:isolate;min-height:64px;padding:9px 10px 9px 25px;gap:30px;background:var(--ink);border-radius:40px;overflow:hidden;font-size:16px}.button:before{content:'';position:absolute;inset:0;background:#314c64;border-radius:inherit;z-index:-1;transform:translateY(105%);transition:transform .45s var(--ease)}.button:hover{background:var(--ink);box-shadow:none;transform:translateY(-2px)}.button:hover:before{transform:translateY(0)}.button-arrow{width:43px;height:43px;border:0;background:#ffffff15}.button-cream{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button-cream .button-arrow{background:#152b4310;color:var(--ink)}.button-cream:before{background:#e7dfd2}.button-cream:hover{background:var(--paper)}.text-link{display:inline-flex;align-items:center;gap:23px;position:relative;padding:10px 0;font-size:16px;line-height:1.6}.text-link:after{content:'';position:absolute;bottom:6px;left:0;right:44px;height:1px;background:var(--ink);transform:scaleX(.25);transform-origin:left;transition:transform .4s var(--ease)}.text-link:hover:after{transform:scaleX(1)}.text-link svg{width:20px;height:20px;transition:transform .35s var(--ease)}.text-link:hover svg{transform:translate(3px,-2px)}.under-link{font-size:16px;border-color:#a7afb4}.under-link:hover svg{transform:translate(3px,-3px)}
/* The opening is composed as one scene, rather than a text block and a card. */
.opening{padding-top:108px;overflow:hidden;background:linear-gradient(110deg,#fbfaf6 35%,#f1eee7 100%)}.opening-top{padding-top:31px;display:flex;align-items:center;justify-content:space-between;gap:20px}.opening-top .eyebrow{display:flex;align-items:center;gap:12px;color:var(--ink)}.opening-note{font-size:15px;color:var(--muted)}.opening-grid{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:1%;align-items:center;padding-top:15px;padding-bottom:40px;min-height:570px}.opening-copy{position:relative;z-index:2;padding-top:15px}.opening h1{font-size:clamp(76px,7.7vw,124px);line-height:1.02;letter-spacing:-.064em;font-weight:500;margin-left:-5px;animation:title-in .9s var(--ease) both}.opening h1 span{color:#6d7e8c}.opening-description{font-size:18px;line-height:1.85;max-width:435px;margin-top:29px}.opening-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:27px}.opening-scroll{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--muted);margin-top:33px;width:max-content}.scroll-circle{display:grid;place-items:center;width:30px;height:30px;border:1px solid #bac2c6;border-radius:50%;transition:background .3s,color .3s}.scroll-circle svg{width:14px;height:14px;transform:rotate(90deg)}.opening-scroll:hover .scroll-circle{background:var(--ink);color:var(--paper);border-color:var(--ink)}.opening-visual{position:relative;min-width:0;height:565px;align-self:center}.opening-visual:before{content:'';position:absolute;inset:4% -20% -4% -10%;background:radial-gradient(ellipse,#d6dce33d,transparent 65%);pointer-events:none}.signature-curve{position:absolute;inset:0 -7% -1%;width:114%;height:100%;stroke:#9b8a704d;stroke-width:.7;fill:none;transform:rotate(-12deg)}.signature-curve path:last-child{stroke:#738ba22d}.visual-cross{position:absolute;width:13px;height:13px;opacity:.45}.visual-cross:before,.visual-cross:after{content:'';position:absolute;background:#8d9baa}.visual-cross:before{width:13px;height:1px;top:6px}.visual-cross:after{width:1px;height:13px;left:6px}.cross-one{top:11%;right:2%}.cross-two{bottom:12%;left:3%}.opening .story-stage{height:100%;animation:story-entrance .7s var(--ease) both;perspective:1200px}
.opening .story-parallax{inset:0 -9%;filter:saturate(.45);transition:transform .9s var(--ease),filter .6s}
.smile-art{width:100%;height:100%;display:block;overflow:visible;stroke:none}
.smile-sculpture{transform-box:view-box;transform-origin:50% 50%;animation:smile-breathe 8s ease-in-out infinite}
.smile-whole{opacity:1}.smile-lustre{opacity:.34;mix-blend-mode:screen}
.smile-light-pass{animation:smile-light 12s ease-in-out infinite}
@keyframes smile-breathe{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(.3deg)}}
@keyframes smile-light{0%,27%{transform:translateX(0)}54%,100%{transform:translateX(2300px)}}
.care-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #cdd1d1}.care-index>a{position:relative;display:flex;flex-direction:column;padding:19px 27px 26px;border-right:1px solid #cdd1d1;isolation:isolate;overflow:hidden}.care-index>a:first-child{padding-left:0}.care-index>a:last-child{border:0;padding-right:0}.care-index>a:before{content:'';position:absolute;z-index:-1;inset:0;background:#152b4307;transform:translateY(101%);transition:transform .4s var(--ease)}.care-index>a:hover:before{transform:translateY(0)}.care-index-top{display:flex;align-items:center;justify-content:space-between;color:#6e7a84;font-size:15px;line-height:1}.care-index-top svg{width:19px;height:19px;transition:transform .4s var(--ease)}.care-index-name{font-size:23px;letter-spacing:-.03em;font-weight:500;margin-top:13px;line-height:1.35}.care-index-detail{font-size:15px;color:var(--muted);margin-top:4px;line-height:1.5}.care-index>a:hover .care-index-top svg{transform:translate(4px,-4px)}
/* An editorial introduction, with the space and the people kept distinct. */
.welcome-section{display:grid;grid-template-columns:1fr 1.1fr;gap:12%;align-items:center;padding-block:125px}.welcome-copy .eyebrow{margin-bottom:32px}.welcome-copy h2{font-size:clamp(42px,4.35vw,68px);line-height:1.12}.welcome-copy h2 span{color:#7e8b95}.welcome-copy>p:not(.eyebrow){font-size:18px;line-height:1.9;max-width:460px;margin-top:27px}.welcome-copy .text-link{margin-top:25px}.welcome-visual{padding-top:18px}.welcome-visual figure{height:520px;overflow:hidden;border-radius:160px 2px 2px 2px;background:var(--sand)}.welcome-visual img{height:100%;object-position:58% center;transition:transform 1.2s var(--ease)}.welcome-visual:hover img{transform:scale(1.025)}.welcome-foot{display:flex;align-items:center;gap:11px;margin-top:23px;font-size:15px;color:var(--muted)}.welcome-foot svg{width:19px;height:19px}.welcome-line{height:1px;background:var(--line);flex:1;margin-left:12px}
/* The expertise chapter changes atmosphere, with one useful interaction. */
.expertise-section{background:var(--night);color:var(--paper);padding:88px 0 100px}.expertise-heading>.eyebrow{color:#b7c3cd;margin-bottom:35px}.expertise-heading>div{display:flex;align-items:flex-end;justify-content:space-between;gap:12%;margin-bottom:58px}.expertise-heading h2{font-size:clamp(44px,4.9vw,76px);line-height:1.07}.expertise-heading h2 span{color:#bca789}.expertise-heading>div>p{font-size:18px;line-height:1.85;color:#bdc8d0;max-width:365px;padding-bottom:4px}.expertise-section .service-layout{grid-template-columns:1.05fr 1fr;gap:10%;align-items:start}.expertise-section .service-list{border-color:#ffffff2b}.expertise-section .service-item{border-color:#ffffff2b}.expertise-section .service-trigger{padding:27px 0;font-size:34px;font-weight:400;line-height:1.35;color:#a6b4c1;gap:20px;letter-spacing:-.04em}.expertise-section .service-trigger>span:first-child{color:#9aaebf;font-size:15px}.expertise-section .service-sign{width:37px;height:37px;border-color:#ffffff35}.expertise-section .service-body>div{padding-left:37px}.expertise-section .service-body p{font-size:17px;line-height:1.85;color:#c1ccd5;max-width:410px}.expertise-section .service-body .under-link{color:var(--paper);font-size:16px;border-color:#8094a4;margin-bottom:28px}.expertise-section .is-active .service-trigger,.expertise-section .service-trigger:hover{color:var(--paper)}.expertise-section .is-active .service-sign{background:var(--paper);color:var(--night);border-color:var(--paper)}.expertise-section .service-visual{height:560px;top:120px;border-radius:2px 2px 110px 2px}.expertise-section .service-visual:after{background:linear-gradient(180deg,#152b4326,transparent 30%,transparent 45%,#102337cc)}.service-visual-top{font-size:15px}.service-visual-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.service-visual-bottom>p{font-size:35px;line-height:1.2;font-weight:400}.service-image-link{width:51px;height:51px;border-radius:50%;border:1px solid #ffffff65;display:grid;place-items:center;flex-shrink:0;transition:background .3s,color .3s}.service-image-link:hover{background:var(--paper);color:var(--ink)}.service-image-link svg{width:20px;height:20px}
.first-visit{padding-block:120px}.first-visit-heading{position:relative}.first-visit-heading>.eyebrow{margin-bottom:29px}.first-visit-heading h2{font-size:clamp(42px,4.5vw,69px);line-height:1.12;max-width:960px}.first-visit-heading h2 span{color:#7b8994}.first-visit-heading .text-link{margin-top:25px}.visit-steps{list-style:none;margin:55px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.visit-steps li{border-top:1px solid var(--line);padding-top:24px;position:relative}.visit-steps li>span{display:block;font-size:15px;color:var(--accent);margin-bottom:29px}.visit-steps h3{font-size:27px;letter-spacing:-.04em}.visit-steps p{font-size:17px;line-height:1.9;margin-top:16px;max-width:350px}
.visit-information{background:var(--sand);padding:88px 0 95px}.visit-information-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%}.visit-information h2{font-size:clamp(44px,4.7vw,72px);line-height:1.08;margin-top:30px}.visit-information h2 span{color:#7b8994}.visit-information-grid>div>p:last-child{font-size:17px;margin-top:27px}.visit-information nav{border-top:1px solid #c5c9c7}.visit-information nav>a{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #c5c9c7;padding:25px 0;transition:padding .4s var(--ease)}.visit-information nav>a>span:first-child{display:flex;align-items:center;gap:24px;font-size:26px;line-height:1.5;letter-spacing:-.035em}.visit-information nav>a>span:first-child>span{font-size:15px;letter-spacing:0;color:#7b8994;align-self:flex-start;padding-top:7px}.round-arrow{display:grid;place-items:center;border:1px solid #b2babe;border-radius:50%;width:43px;height:43px;flex-shrink:0;transition:background .3s,color .3s,transform .35s}.round-arrow svg{width:19px;height:19px}.visit-information nav>a:hover{padding-left:8px}.visit-information nav>a:hover .round-arrow{background:var(--ink);border-color:var(--ink);color:var(--paper);transform:rotate(5deg)}
/* Interior pages share the same editorial grid and readable proportions. */
.page-masthead{padding-top:145px;padding-bottom:70px;border:0;position:relative;background:linear-gradient(115deg,#fbfaf6 50%,#f1eee7 100%)}.breadcrumbs{font-size:15px;gap:12px;margin-bottom:48px}.mast-layout{grid-template-columns:1.15fr 1fr;gap:8%;align-items:center}.mast-copy>.eyebrow{margin-bottom:24px;color:#798895}.page-masthead h1{font-size:clamp(49px,5.4vw,84px);font-weight:500;line-height:1.07;letter-spacing:-.057em}.page-lead{font-size:18px;line-height:1.9;max-width:550px;margin-top:28px}.mast-visual{height:470px;border-radius:115px 2px 2px 2px}.mast-visual img{object-position:62% center}.has-emblem .mast-layout{grid-template-columns:1fr 210px;min-height:300px}.mast-emblem{opacity:1;position:relative;isolation:isolate;height:210px}.mast-emblem:before{content:'';position:absolute;inset:0;border:1px solid #a8b5be55;border-radius:48% 52% 45% 55%;transform:rotate(-22deg)}.mast-emblem svg{width:110px;height:110px;stroke-width:1;color:#758a9b}.editorial-photo,.wide-photo{border-radius:2px 2px 95px 2px}.wide-photo{height:580px}.page-masthead+.wide-photo{margin-top:75px}.directory-section{gap:10%;grid-template-columns:.8fr 1.3fr}.directory-intro h2{font-size:46px;font-weight:500}.directory-intro>p:last-child{font-size:18px}.directory-thumb{width:95px;height:115px;overflow:hidden;border-radius:2px 2px 25px 2px;flex-shrink:0}.directory-thumb img{height:100%;transition:transform .6s var(--ease)}.treatment-directory>a{gap:22px;padding:26px 0}.treatment-directory h3{font-size:29px;font-weight:500}.treatment-directory p{font-size:16px;margin-top:8px;max-width:290px}.directory-number{font-size:15px}.directory-arrow{width:39px;height:39px;border-color:#b5c0c6}.treatment-directory a:hover .directory-thumb img{transform:scale(1.055)}.detail-layout{grid-template-columns:210px minmax(0,810px);gap:10%}.page-sidebar{top:120px;border-top:1px solid var(--line);padding-top:25px}.page-sidebar>.eyebrow{font-size:15px}.page-sidebar>a:not(.under-link){font-size:16px}.page-sidebar>.under-link{font-size:16px}.detail-content h2{font-size:46px;letter-spacing:-.045em}.body-lead{font-size:21px;color:#536573;line-height:1.85}.care-points{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:42px}.care-point{padding-top:25px}.care-point h3{font-size:23px;line-height:1.3}.care-point p{font-size:17px;line-height:1.85}.step-list>li>span{font-size:20px;color:var(--accent);padding-top:4px}.step-list h3{font-size:27px}.step-list p{font-size:18px}.faq-list summary{font-size:19px}.faq-list summary>svg{color:var(--ink)}.faq-list details>p{font-size:17px;max-width:690px}.related-link{font-size:26px}.page-cta{background:var(--sand);border-radius:2px 2px 75px 2px;padding:57px 50px;margin-block:65px 110px}.page-cta h2{font-size:44px}.page-cta .eyebrow{font-size:15px}.page-cta p:last-child{font-size:18px}.split-copy h2,.visit-layout h2{font-size:49px}.split-copy p+p{font-size:18px}.values-band{background:var(--sand);padding-block:80px}.values-band .step-list>li{border-color:#c7cdcd}.info-card-grid{gap:1px;background:var(--line);padding:1px}.info-card{background:var(--paper);border-radius:0;padding:45px;min-height:365px}.info-card h2{font-size:38px}.info-card p{font-size:18px}.info-card .card-link{margin-top:auto;padding-top:30px;border:0;font-size:16px}.info-card>svg{color:#8596a2}.info-card:hover p{color:#c5cfd8}.info-card:hover{transform:none}.contact-data dt{font-size:15px}.contact-data dd{font-size:21px}.location-panel{border-radius:2px 2px 90px 2px;padding:43px;min-height:530px}.location-kicker{color:#bec9d3;font-size:15px}.location-panel p{color:#c1cdd6}.location-line{border-color:#c6d0dc22}.location-panel .button{margin-top:30px;font-size:15px}.location-panel h2{font-size:65px}.availability-note{border-radius:2px;background:var(--sand)}.booking-layout{grid-template-columns:.75fr 1.25fr;gap:10%}.booking-form{background:#f1eee7;border-radius:2px 2px 65px 2px;padding:45px}.booking-layout>aside{top:120px}.booking-layout>aside h2{font-size:45px}.demo-notice{border-color:#bac3ca;color:#536573;background:#fbfaf680;border-radius:2px;font-size:15px}.booking-form label,.booking-form legend{font-size:16px}.choice-grid span{font-size:15px;border-color:#b8c3cb;border-radius:3px}.choice-grid input:focus-visible+span{outline-color:#617f98}input,textarea{border-color:#b5c1ca;border-radius:3px;background:var(--paper)}input:focus,textarea:focus{border-color:#52718c;box-shadow:0 0 0 3px #738fa11c}input::placeholder,textarea::placeholder{color:#7c8791}.form-footnote{font-size:15px}#summary-data dt{font-size:15px}.form-submit{border-radius:5px}.legal-copy p{font-size:19px}.legal-copy h2{font-size:36px}
/* A deliberate, full-name finish. */
.site-footer{background:var(--night);padding-top:85px}.footer-invite{padding-bottom:65px}.footer-invite h2{font-size:clamp(52px,6vw,92px);font-weight:400;line-height:1.03;letter-spacing:-.055em}.footer-invite .eyebrow{color:#b5c2cd;font-size:15px}.footer-invite>.button{min-height:76px;padding:12px 14px 12px 32px;font-size:17px;gap:45px}.footer-invite>.button .button-arrow{height:49px;width:49px}.footer-directory{grid-template-columns:1.3fr 1fr 1fr;gap:10%;padding-top:35px;border-color:#ffffff25}.footer-message>p{color:#e0e5e7;font-size:26px;font-weight:400}.footer-message>span,.footer-directory>div:not(.footer-message)>p{font-size:15px;color:#a9bac8}.footer-directory a{font-size:16px;color:#d9e0e5}.footer-directory a:hover{color:#dac8aa}.footer-brandname{font-size:clamp(45px,7.55vw,116px);font-weight:400;line-height:1.07;letter-spacing:-.06em;padding-block:45px;margin-top:47px;position:relative}.footer-brandname>span:first-child{color:#9eafbd;font-size:.62em;margin-bottom:9px;letter-spacing:-.04em}.footer-brandname>span:last-child{font-size:1.15em}.footer-bottom{color:#aebdca;font-size:15px}.footer-bottom a{padding-block:5px}
@media(min-width:1700px){.opening-grid{min-height:675px}.opening-visual{height:640px}.opening-description{font-size:20px;max-width:490px}}
@media(max-width:1150px){.opening-grid{min-height:530px}.opening-visual{height:510px}.opening h1{font-size:8vw}.opening-description{font-size:17px;max-width:390px}.opening-actions{gap:14px}.opening-actions .button{gap:18px;padding-left:20px}.opening-actions .text-link{font-size:15px;gap:13px}.opening-note{display:none}.care-index>a{padding-inline:20px}.care-index-name{font-size:21px}.care-index-detail{font-size:15px}.welcome-section{gap:8%}.welcome-visual figure{height:470px}.expertise-section .service-layout{gap:7%}.expertise-section .service-trigger{font-size:30px}.expertise-section .service-visual{height:560px}.expertise-heading>div{gap:7%}.visit-steps{gap:32px}.visit-information-grid{gap:8%}.visit-information nav>a>span:first-child{font-size:23px;gap:18px}.mast-layout{gap:6%}.mast-visual{height:440px}.page-masthead h1{font-size:5.4vw}.directory-section{grid-template-columns:1fr;gap:45px}.directory-intro{display:grid;grid-template-columns:1fr 1fr;gap:20px 12%}.directory-intro>.eyebrow{grid-column:1/-1;margin:0}.directory-intro>p:last-child{margin:0;max-width:440px}.directory-thumb{width:110px;height:110px}.treatment-directory p{max-width:100%}.treatment-directory>a{gap:30px}.detail-layout{grid-template-columns:180px minmax(0,1fr);gap:7%}.care-points{grid-template-columns:1fr;gap:0}.care-point{padding-block:26px}.care-point h3{font-size:27px}.detail-content h2{font-size:42px}.page-cta h2{font-size:38px}.booking-layout{gap:7%}.booking-form{padding:33px}.footer-directory{gap:7%}}
@media(max-width:950px){.header-right{gap:28px}.header-place{display:none}.site-header,.menu-is-open .site-header{height:96px}.opening{padding-top:96px}.opening-top{padding-top:28px}.opening-grid{padding-top:15px;min-height:495px;grid-template-columns:1.05fr 1fr}.opening-visual{height:480px}.opening h1{font-size:8.2vw}.opening-description{font-size:17px;line-height:1.8;margin-top:24px}.opening-actions{margin-top:23px}.opening-actions .button{min-height:58px;font-size:15px}.opening-actions .button-arrow{width:38px;height:38px}.opening-scroll{font-size:15px;margin-top:25px}.care-index-name{font-size:19px}.care-index>a{padding-inline:15px}.care-index-detail{font-size:15px}.welcome-section{padding-block:90px;gap:8%}.welcome-copy h2{font-size:43px}.welcome-copy>p:not(.eyebrow){font-size:17px}.welcome-visual figure{height:450px;border-top-left-radius:110px}.expertise-heading h2{font-size:53px}.expertise-heading>div>p{font-size:17px;max-width:300px}.expertise-section .service-trigger{font-size:27px;gap:13px}.expertise-section .service-body>div{padding-left:30px}.expertise-section .service-sign{width:31px;height:31px}.expertise-section .service-visual{height:570px;border-bottom-right-radius:80px}.service-visual-bottom>p{font-size:29px}.service-image-link{width:42px;height:42px}.first-visit{padding-block:90px}.first-visit-heading h2{font-size:50px}.visit-steps{gap:27px}.visit-steps h3{font-size:24px}.visit-information-grid{gap:7%}.visit-information h2{font-size:52px}.visit-information nav>a>span:first-child{font-size:21px;gap:15px}.visit-information nav>a{gap:15px}.round-arrow{width:37px;height:37px}.page-masthead{padding-top:130px}.mast-visual{height:405px;border-top-left-radius:85px}.page-masthead h1{font-size:5.8vw}.page-lead{font-size:18px}.has-emblem .mast-layout{grid-template-columns:1fr 150px}.mast-emblem{height:150px}.mast-emblem svg{width:85px;height:85px}.page-cta{padding:40px 34px}.page-cta h2{font-size:36px}.page-cta>.button{font-size:15px;gap:16px}.info-card{padding:34px;min-height:350px}.info-card h2{font-size:32px}.booking-layout{grid-template-columns:1fr}.booking-layout>aside{position:static}.booking-form{max-width:none}.location-panel{padding:30px}.location-panel h2{font-size:55px}.location-panel .button{gap:13px;font-size:15px;padding-left:20px}.footer-message>p{font-size:24px}.footer-directory{gap:5%}}
@media(max-width:700px){
:root{--gutter:6vw}.section{padding-block:65px}body{font-size:17px}.site-header,.menu-is-open .site-header{height:90px}.site-header.is-scrolled{height:80px}.header-shell{gap:12px}.brand{gap:8px;width:auto}.brand-symbol{width:32px;height:42px}.brand-words>span{font-size:14px;letter-spacing:0}.brand-words>strong{font-size:18px;letter-spacing:-.6px}.header-right{gap:16px}.header-appointment{font-size:15px;padding:8px 0;gap:0}.header-appointment svg,.desktop-label{display:none}.mobile-label{display:block}.menu-word{display:none}.menu-toggle{padding:10px 0 10px 5px}.menu-lines{width:25px}.menu-lines>i{width:25px}.menu-lines>i:last-child{width:18px}.menu-toggle[aria-expanded=true] .menu-lines>i:last-child{width:25px}.opening{padding-top:90px}.opening-top{padding-top:26px}.opening-top .eyebrow{font-size:15px;gap:9px}.opening-grid{grid-template-columns:minmax(0,1fr);gap:0;padding-top:28px;padding-bottom:0;min-height:0}.opening-copy{padding-top:0}.opening h1{font-size:clamp(60px,14.3vw,96px);line-height:1.02;letter-spacing:-.06em;margin-left:-3px}.opening-description{font-size:17px;line-height:1.85;max-width:480px;margin-top:24px}.opening-actions{gap:17px 22px;margin-top:25px}.opening-actions .button{font-size:16px;min-height:59px;gap:21px;padding-left:22px}.opening-actions .text-link{font-size:16px;gap:16px}.opening-scroll{display:none}.opening-visual{height:auto;aspect-ratio:1.2;margin-top:6px;max-height:430px;min-height:290px;justify-self:center;width:min(112%,550px)}.opening .story-parallax{inset:-10% 2% -9%}.signature-curve{inset:-10% 3% -5%;width:95%;height:115%;stroke-width:1}.cross-one{top:12%;right:11%}.cross-two{bottom:13%;left:15%}.opening .story-ground{bottom:7%;left:37%;right:34%}.care-index{grid-template-columns:1fr 1fr;padding-bottom:9px}.care-index>a{padding:17px 0 20px!important;border-bottom:1px solid #cdd1d1;min-height:125px}.care-index>a:nth-child(odd){padding-right:18px!important}.care-index>a:nth-child(even){border-right:0;padding-left:20px!important}.care-index>a:nth-last-child(-n+2){border-bottom:0}.care-index-name{font-size:21px;margin-top:11px}.care-index-detail{font-size:15px;margin-top:5px}.care-index-top{font-size:15px}.care-index-top svg{width:17px;height:17px}.welcome-section{grid-template-columns:minmax(0,1fr);padding-block:72px;gap:35px}.welcome-copy .eyebrow{margin-bottom:27px}.welcome-copy h2{font-size:clamp(39px,9.9vw,62px);line-height:1.12}.welcome-copy>p:not(.eyebrow){font-size:17px;max-width:100%;margin-top:23px}.welcome-copy .text-link{margin-top:20px}.welcome-visual{padding:0}.welcome-visual figure{height:360px;border-top-left-radius:95px}.welcome-foot{font-size:15px;margin-top:18px;gap:8px}.welcome-line{margin-left:5px}.expertise-section{padding-block:66px 70px}.expertise-heading>.eyebrow{margin-bottom:28px}.expertise-heading>div{display:block;margin-bottom:35px}.expertise-heading h2{font-size:clamp(42px,10.7vw,62px)}.expertise-heading>div>p{font-size:17px;max-width:450px;margin-top:25px}.expertise-section .service-layout{grid-template-columns:minmax(0,1fr);gap:33px}.expertise-section .service-trigger{font-size:29px;padding:24px 0;gap:15px}.expertise-section .service-trigger>span:first-child{font-size:15px}.expertise-section .service-sign{width:33px;height:33px}.expertise-section .service-body>div{padding-left:33px}.expertise-section .service-body p{font-size:17px;line-height:1.9;max-width:100%}.expertise-section .service-body .under-link{font-size:16px;margin-bottom:27px;gap:15px}.expertise-section .service-visual{position:relative;top:auto;height:440px;border-bottom-right-radius:85px}.service-visual-top{font-size:15px;left:24px;right:24px;top:23px}.service-visual-top>span:last-child{display:block}.service-visual-bottom{left:24px;right:24px;bottom:28px}.service-visual-bottom>p{font-size:32px}.first-visit{padding-block:70px}.first-visit-heading>.eyebrow{margin-bottom:26px}.first-visit-heading h2{font-size:clamp(38px,9.5vw,59px);line-height:1.13}.first-visit-heading .text-link{margin-top:22px}.visit-steps{grid-template-columns:1fr;margin-top:35px;gap:25px}.visit-steps li{display:grid;grid-template-columns:34px 1fr;gap:0 16px;padding-top:22px}.visit-steps li>span{grid-row:1/3;padding-top:4px;margin:0}.visit-steps h3{font-size:26px}.visit-steps p{font-size:17px;line-height:1.9;max-width:100%;margin-top:13px}.visit-information{padding-block:66px}.visit-information-grid{grid-template-columns:1fr;gap:35px}.visit-information h2{font-size:49px;margin-top:25px}.visit-information h2 br{display:none}.visit-information-grid>div>p:last-child{font-size:17px;margin-top:22px}.visit-information nav>a{padding:23px 0;gap:15px}.visit-information nav>a>span:first-child{font-size:23px;gap:18px;line-height:1.4}.visit-information nav>a>span:first-child>span{font-size:15px;padding-top:3px}.round-arrow{width:37px;height:37px}.page-masthead{padding:121px 0 45px}.breadcrumbs{font-size:15px;line-height:1.7;margin-bottom:32px;gap:8px}.mast-layout,.has-emblem .mast-layout{grid-template-columns:minmax(0,1fr);gap:30px;min-height:0}.mast-copy>.eyebrow{font-size:15px;margin-bottom:21px}.page-masthead h1{font-size:clamp(38px,10.9vw,64px);line-height:1.1;letter-spacing:-.052em}.page-lead{font-size:18px;line-height:1.85;margin-top:25px}.mast-visual{height:355px;border-radius:85px 2px 2px 2px}.mast-emblem{display:none}.wide-photo{height:350px;border-bottom-right-radius:70px}.page-masthead+.wide-photo{margin-top:38px}.directory-section{gap:34px}.directory-intro{display:block}.directory-intro .eyebrow{margin-bottom:24px}.directory-intro h2{font-size:37px}.directory-intro>p:last-child{font-size:17px;margin-top:25px}.treatment-directory>a{gap:17px;padding:23px 0}.directory-number{display:none}.directory-thumb{width:70px;height:92px;border-bottom-right-radius:20px}.treatment-directory h3{font-size:25px;line-height:1.3}.treatment-directory p{font-size:15px;line-height:1.7;margin-top:7px}.directory-arrow{width:32px;height:32px;margin-left:auto}.directory-arrow svg{width:16px;height:16px}.detail-layout{grid-template-columns:1fr;gap:36px}.page-sidebar{position:static;border-top:0;flex-direction:row;align-items:center;flex-wrap:wrap;gap:14px 23px;padding-top:0;padding-bottom:25px}.page-sidebar>.eyebrow{width:100%;margin:0}.page-sidebar>a:not(.under-link),.page-sidebar>.under-link{font-size:16px}.detail-content h2{font-size:37px;line-height:1.15}.body-lead{font-size:19px;line-height:1.85}.care-points{grid-template-columns:1fr;margin-top:32px}.care-point{padding-block:24px}.care-point h3{font-size:27px}.care-point p{font-size:17px;line-height:1.9}.detail-content>section+section{margin-top:48px;padding-top:40px}.step-list h3{font-size:26px}.step-list p{font-size:17px}.step-list>li{gap:17px}.step-list>li>span{font-size:19px;min-width:30px}.faq-list summary{font-size:18px;line-height:1.7;padding-block:23px}.faq-list details>p{font-size:17px;line-height:1.9}.related>div{grid-template-columns:1fr}.related-link{font-size:27px}.page-cta{display:block;padding:34px 27px;border-bottom-right-radius:55px;margin-block:45px 65px}.page-cta h2{font-size:35px}.page-cta p:last-child{font-size:17px}.page-cta>.button{font-size:16px;margin-top:28px}.split-copy,.visit-layout,.contact-layout,.faq-page{grid-template-columns:minmax(0,1fr);gap:34px}.split-copy h2,.visit-layout h2,.contact-layout h2{font-size:39px}.split-copy .body-lead{font-size:19px}.split-copy p+p{font-size:17px}.values-band{padding-block:57px}.values-band .step-list{grid-template-columns:1fr;gap:20px}.values-band .step-list h3{font-size:26px}.values-band .step-list p{font-size:17px}.info-card-grid{grid-template-columns:1fr;gap:1px}.info-card{padding:33px 27px;min-height:330px}.info-card h2{font-size:34px}.info-card p{font-size:17px}.contact-data dt{font-size:15px}.contact-data dd{font-size:20px}.location-panel{min-height:510px;padding:33px 27px;border-bottom-right-radius:60px}.location-panel h2{font-size:61px}.location-kicker{font-size:15px}.location-panel .button{font-size:15px;margin-top:29px;gap:15px}.availability-note{padding:26px 23px}.availability-note h3{font-size:27px}.availability-note p{font-size:17px}.booking-layout{gap:35px}.booking-layout>aside h2{font-size:39px}.booking-layout>aside>p:last-of-type{font-size:18px;max-width:none}.booking-links{flex-direction:column;gap:12px}.booking-form{padding:31px 23px;border-bottom-right-radius:40px}.booking-form h2{font-size:34px}.demo-notice{font-size:15px}.choice-grid{grid-template-columns:1fr}.choice-grid span{font-size:16px}.form-row{grid-template-columns:1fr;gap:0}.form-footnote{font-size:15px}.form-submit{font-size:16px}.legal-copy h2{font-size:32px}.legal-copy p{font-size:18px}.site-menu{padding-top:123px}.menu-links>a{font-size:31px;font-weight:400}.menu-links>a>span{font-size:15px}.menu-utility,.menu-bottom{font-size:15px}.site-footer{padding-top:64px}.footer-invite{display:block;padding-bottom:42px}.footer-invite h2{font-size:52px}.footer-invite .eyebrow{font-size:15px}.footer-invite>.button{min-height:64px;margin-top:30px;font-size:16px;padding:9px 10px 9px 25px;gap:30px}.footer-invite>.button .button-arrow{width:43px;height:43px}.footer-directory{grid-template-columns:1fr 1fr;gap:30px 25px}.footer-message{grid-column:1/-1}.footer-message>p{font-size:26px}.footer-message>span,.footer-directory>div:not(.footer-message)>p{font-size:15px}.footer-directory a{font-size:16px}.footer-brandname{font-size:9.45vw;padding-block:31px;margin-top:35px;line-height:1.1;letter-spacing:-.065em}.footer-brandname>span:first-child{font-size:.7em;letter-spacing:-.04em}.footer-brandname>span:last-child{font-size:1em}.footer-bottom{font-size:15px;line-height:1.8;gap:15px;align-items:flex-start}.footer-bottom>span:first-child{max-width:80%}}
@media(max-width:380px){.header-appointment{display:none}.brand-words>strong{font-size:19px}.opening h1{font-size:15.2vw}.opening-top .eyebrow{font-size:15px}.opening-actions{gap:12px}.opening-actions .button{font-size:15px;gap:14px;padding-left:20px}.opening-actions .text-link{font-size:15px}.care-index-name{font-size:19px}.care-index-detail{font-size:15px}.welcome-visual figure{height:310px}.expertise-section .service-trigger{font-size:26px;gap:12px}.expertise-section .service-body>div{padding-left:30px}.expertise-section .service-body .under-link{font-size:15px;gap:10px}.service-visual-top>span:last-child{display:none}.expertise-section .service-visual{height:390px}.visit-information nav>a>span:first-child{font-size:21px;gap:12px}.visit-information nav>a{gap:12px}.directory-thumb{width:54px;height:78px}.treatment-directory>a{gap:13px}.treatment-directory h3{font-size:22px}.treatment-directory p{font-size:15px}.directory-arrow{width:28px;height:28px}.booking-form{padding-inline:20px}.location-panel .button{padding-left:18px;gap:11px}.footer-invite h2{font-size:47px}.footer-directory a{font-size:15px}}
@media(prefers-reduced-motion:reduce){.opening .story-stage,.opening .story-stage *{animation:none!important}.opening .smile-whole{opacity:1!important}.opening .smile-lustre{display:none!important}.opening .story-parallax{transform:none!important}.opening h1{animation:none}.button:hover{transform:none}.reveal{opacity:1;translate:none}}

/* A signature that follows the patient from the first impression to the next step. */
.opening-emphasis{position:relative;display:inline-block}.headline-signature{position:absolute;width:100%;height:28px;left:0;bottom:-29px;stroke:#a38d70;stroke-width:1.8;overflow:visible}.headline-signature path{stroke-dasharray:1;stroke-dashoffset:1;animation:signature-draw 1.1s var(--ease) .25s forwards}.opening-description{margin-top:39px}.opening h1{animation-duration:.7s}.care-orbits{position:absolute;inset:0 -5%;width:110%;height:100%;overflow:visible;stroke:#8396a152;stroke-width:.8;fill:none;transform:rotate(-10deg);pointer-events:none}.care-orbits path{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke .45s,stroke-width .45s,opacity .45s;animation:orbit-intro 1.3s var(--ease) both}.care-orbits path:nth-child(2){animation-delay:.1s}.care-orbits path:nth-child(3){animation-delay:.2s}.care-orbits path:nth-child(4){animation-delay:.3s}.opening[data-interest] .care-orbits path{opacity:.35}.opening[data-interest="1"] [data-care-line="1"],.opening[data-interest="2"] [data-care-line="2"],.opening[data-interest="3"] [data-care-line="3"],.opening[data-interest="4"] [data-care-line="4"]{stroke:#a18b6b;stroke-width:2;opacity:1}.care-index>a:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;transform:scaleX(0);transform-origin:left;background:#a38d70;transition:transform .45s var(--ease)}.care-index>a:hover:after,.care-index>a:focus-visible:after{transform:scaleX(1)}.opening .story-parallax{transition:transform .9s var(--ease),filter .6s}.opening[data-interest] .story-parallax{filter:saturate(.4) brightness(1.035)}
@keyframes signature-draw{to{stroke-dashoffset:0}}@keyframes orbit-intro{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.brand-symbol path{transition:stroke .4s,transform .5s var(--ease);transform-origin:32px 32px}.brand-symbol .mark-smile{stroke:var(--accent)}.brand:hover .mark-smile{transform:translateY(1.5px)}.site-header:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;background:#a38d7080;transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}.menu-is-open .site-header:after{opacity:0}.site-menu.is-closing{animation:menu-out .28s ease both;pointer-events:none}.site-menu.is-closing .menu-links>a{animation:none}.menu-photo img{transition:transform 1.15s var(--ease)}.site-menu:not(.is-closing) .menu-photo img{animation:menu-image 1.1s var(--ease) both}@keyframes menu-out{to{opacity:0;transform:translateY(-12px)}}@keyframes menu-image{from{transform:scale(1.06)}to{transform:scale(1)}}
.welcome-section{position:relative;grid-template-columns:1fr 1.08fr;column-gap:11%;row-gap:55px;padding-block:140px 82px}.welcome-copy h2{font-size:clamp(43px,4.1vw,65px);line-height:1.13}.welcome-visual{position:relative;padding:0 35px 73px 0;isolation:isolate;--scene-progress:0}.welcome-visual .welcome-main{height:520px;border-radius:160px 3px 3px 3px;position:relative;overflow:hidden;transform:translateY(var(--depth-y,0px))}.welcome-visual .welcome-detail{position:absolute;width:47%;height:225px;right:-20px;bottom:60px;border:10px solid var(--paper);border-radius:3px 3px 65px 3px;box-shadow:0 18px 45px #152b4312;transform:translateY(var(--depth-y,0px));z-index:2}.welcome-detail img{object-position:48% center}.welcome-thread{position:absolute;inset:-45px -65px -60px -65px;width:calc(100% + 130px);height:calc(100% + 105px);z-index:-1;stroke:#a38d7080;stroke-width:1;fill:none;overflow:visible;pointer-events:none}.welcome-thread path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--scene-progress,0))}.welcome-foot{position:absolute;left:0;bottom:0;right:0;margin:0}.welcome-line{max-width:100px}.welcome-principles{grid-column:1/-1;display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:25px;color:#63727e;font-size:16px}.welcome-principles>span{display:flex;align-items:center;gap:13px}.welcome-principles>span:before{content:'';width:5px;height:5px;border:1px solid #a38d70;border-radius:50%;flex-shrink:0}
/* Practical reassurance is interactive and visible without requiring a form. */
.comfort-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:11%;align-items:center;padding-block:115px 125px}.comfort-portrait{position:relative;align-self:center;transform:translateY(var(--depth-y,0px));isolation:isolate}.comfort-portrait>figure{height:620px;border-radius:3px 150px 3px 3px;overflow:hidden;background:var(--sand)}.comfort-portrait img{height:100%;object-position:50% 38%;transition:transform 1.3s var(--ease)}.comfort-portrait:hover img{transform:scale(1.02)}.comfort-image-note{display:flex;align-items:center;gap:5px;background:var(--night);color:var(--paper);font-size:16px;padding:23px 26px;position:absolute;bottom:30px;left:-25px;right:35px;z-index:2}.comfort-image-note .section-dash{background:#c0ac8d;margin-right:11px;width:21px}.portrait-smile{position:absolute;width:85%;height:145px;bottom:-55px;right:-45px;stroke:#a38d70;stroke-width:1.2;fill:none;z-index:3;pointer-events:none}.portrait-smile path{stroke-dasharray:1;stroke-dashoffset:1}.comfort-section.is-visible .portrait-smile path{animation:signature-draw 1s var(--ease) .35s forwards}.comfort-copy{min-width:0}.comfort-copy>.eyebrow{margin-bottom:28px}.comfort-copy>h2{font-size:clamp(43px,4.4vw,70px);line-height:1.09;letter-spacing:-.05em}.comfort-copy>h2>span{color:#788995}.comfort-tabs{display:flex;gap:19px;border-bottom:1px solid var(--line);margin-top:34px}.comfort-tabs>button{position:relative;flex:1;text-align:left;padding:13px 0 17px;font-size:15px;line-height:1.5;color:#647784;transition:color .3s}.comfort-tabs>button:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.comfort-tabs>button[aria-selected=true]{color:var(--ink)}.comfort-tabs>button[aria-selected=true]:after{transform:scaleX(1)}.comfort-tabs>button:hover{color:var(--ink)}.comfort-panel{padding-top:29px}.comfort-panel+ .comfort-panel{margin-top:25px;border-top:1px solid var(--line)}.has-tabs .comfort-panel{margin:0;border:0;min-height:275px}.comfort-panel h3{font-size:30px;line-height:1.2;letter-spacing:-.04em}.comfort-panel p{font-size:18px;line-height:1.9;margin-top:18px;max-width:545px}.comfort-panel .text-link{margin-top:17px}.has-tabs .comfort-panel:not([hidden]){animation:comfort-in .4s var(--ease) both}@keyframes comfort-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.patient-invitation{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:35px;margin-bottom:80px}.patient-invitation>svg{width:35px;height:35px;color:#8799a6}.patient-invitation>div{flex:1;min-width:0}.patient-invitation h2{font-size:27px;line-height:1.3;letter-spacing:-.035em}.patient-invitation p{font-size:17px;margin-top:10px}.patient-invitation>.under-link{flex-shrink:0;gap:17px}.footer-invite{position:relative;isolation:isolate}.footer-signature{position:absolute;width:52%;height:auto;right:11%;top:13px;stroke:#b9a5892e;stroke-width:1;fill:none;z-index:-1;pointer-events:none;transform:rotate(-12deg)}.footer-signature path{stroke-dasharray:1;stroke-dashoffset:1}.site-footer.is-visible .footer-signature path{animation:signature-draw 1.3s var(--ease) .2s forwards}
/* Browser-native transitions preserve ordinary links, history and navigation. */
@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-old(root){animation:page-leave .2s ease both}::view-transition-new(root){animation:page-enter .4s var(--ease) both}::view-transition-old(site-header),::view-transition-new(site-header){animation:none;mix-blend-mode:normal}@keyframes page-leave{to{opacity:0}}@keyframes page-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1150px){.comfort-section{gap:8%;grid-template-columns:.8fr 1.2fr}.comfort-portrait>figure{height:585px}.comfort-copy>h2{font-size:51px}.comfort-tabs{gap:17px}.comfort-tabs>button{font-size:15px}.welcome-section{column-gap:8%;padding-top:115px}.welcome-visual{padding-right:20px}.welcome-visual .welcome-detail{height:200px;right:-15px}.patient-invitation{gap:20px}.patient-invitation h2{font-size:25px}.patient-invitation>.under-link{font-size:15px}}
@media(max-width:950px){.comfort-section{padding-block:95px;gap:8%}.comfort-copy>h2{font-size:43px}.comfort-portrait>figure{height:590px;border-top-right-radius:110px}.comfort-tabs{gap:14px;margin-top:25px;flex-direction:column;border-bottom:0}.comfort-tabs>button{padding:10px 0;border-bottom:1px solid var(--line);font-size:16px}.comfort-tabs>button:after{right:auto;width:40px}.comfort-panel h3{font-size:28px}.comfort-panel p{font-size:17px}.comfort-image-note{font-size:15px;left:-15px;right:15px;padding:20px 19px}.welcome-section{column-gap:8%;padding-block:100px 70px;row-gap:38px}.welcome-copy h2{font-size:43px}.welcome-visual .welcome-main{height:470px}.welcome-visual .welcome-detail{height:185px;width:52%;bottom:55px}.welcome-principles{font-size:15px;gap:22px;line-height:1.7}.welcome-principles>span{gap:10px}.patient-invitation{align-items:flex-start;flex-wrap:wrap}.patient-invitation>div{flex-basis:calc(100% - 60px)}.patient-invitation>.under-link{margin-left:55px}}
@media(max-width:700px){.headline-signature{height:22px;bottom:-23px;stroke-width:1.9}.opening-description{margin-top:34px}.care-orbits{inset:-8% 3%;width:94%;height:112%;stroke-width:1}.welcome-section{padding-block:75px 55px;row-gap:36px;grid-template-columns:minmax(0,1fr)}.welcome-copy h2{font-size:clamp(38px,9.9vw,62px);line-height:1.14}.welcome-visual{padding:0 22px 61px 0;margin-top:9px}.welcome-visual .welcome-main{height:390px;border-top-left-radius:110px}.welcome-visual .welcome-detail{height:175px;width:47%;right:-9px;bottom:60px;border-width:8px;border-bottom-right-radius:45px}.welcome-thread{inset:-20px -16px -30px -16px;width:calc(100% + 32px);height:calc(100% + 50px)}.welcome-foot{font-size:15px}.welcome-line{max-width:none}.welcome-principles{display:grid;grid-template-columns:1fr;gap:14px;padding-top:25px;font-size:16px}.welcome-principles>span{gap:13px}.comfort-section{grid-template-columns:minmax(0,1fr);gap:40px;padding-block:35px 85px}.comfort-copy{grid-row:1}.comfort-copy>h2{font-size:clamp(39px,10.5vw,62px);line-height:1.11}.comfort-copy>h2 br:nth-child(2){display:none}.comfort-copy>h2>span:before{content:' '}.comfort-tabs{gap:0;margin-top:27px}.comfort-tabs>button{display:flex;align-items:center;justify-content:space-between;min-height:55px;padding:15px 0;font-size:17px}.comfort-tabs>button:before{content:'';order:2;width:7px;height:7px;border:1px solid #8a9aa5;border-radius:50%;margin-left:10px;flex-shrink:0}.comfort-tabs>button[aria-selected=true]:before{background:var(--ink);border-color:var(--ink)}.comfort-tabs>button:after{width:55px}.comfort-panel{padding-top:27px}.comfort-panel h3{font-size:30px}.comfort-panel p{font-size:17px;line-height:1.9;margin-top:18px}.comfort-panel .text-link{font-size:16px;gap:17px;margin-top:18px}.has-tabs .comfort-panel{min-height:290px}.comfort-portrait{margin-right:13px;max-width:420px}.comfort-portrait>figure{height:420px;border-top-right-radius:110px}.comfort-portrait img{object-position:50% 35%}.comfort-image-note{left:-10px;bottom:25px;right:18px;padding:22px 21px;font-size:16px;line-height:1.6}.portrait-smile{right:-22px;bottom:-45px;width:75%;height:115px}.patient-invitation{margin-bottom:55px;padding-block:27px;gap:18px}.patient-invitation>svg{width:29px;height:29px;margin-top:4px}.patient-invitation h2{font-size:25px;line-height:1.35}.patient-invitation p{font-size:17px;line-height:1.8}.patient-invitation>div{flex-basis:calc(100% - 50px)}.patient-invitation>.under-link{font-size:16px;margin-left:47px}.footer-signature{top:70px;width:95%;right:-20%;height:190px;opacity:.8}}
@media(max-width:380px){.welcome-visual .welcome-main{height:340px}.welcome-visual .welcome-detail{width:52%;height:155px;right:-9px}.welcome-copy h2{font-size:38px}.comfort-copy>h2{font-size:39px}.comfort-panel h3{font-size:28px}.has-tabs .comfort-panel{min-height:325px}.comfort-image-note{padding:19px 17px;font-size:15px}.comfort-image-note .section-dash{width:15px;margin-right:5px}.comfort-portrait>figure{height:390px}.patient-invitation>.under-link{margin-left:0;font-size:16px}}
@media(prefers-reduced-motion:reduce){.headline-signature path,.care-orbits path,.welcome-thread path,.portrait-smile path,.footer-signature path{animation:none!important;stroke-dashoffset:0!important}.welcome-visual .welcome-main,.welcome-visual .welcome-detail,.comfort-portrait{transform:none!important}.site-menu.is-closing{animation:none!important}.site-menu .menu-photo img{animation:none!important}.has-tabs .comfort-panel:not([hidden]){animation:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.brand-symbol path{transform:none!important}}

/* The complete smile is visible immediately, including without JavaScript. */
@media(min-width:951px){.opening-visual{height:500px}.opening-grid{min-height:540px}}
@media(min-width:1700px){.opening-visual{height:570px}}
@media(max-width:950px) and (min-width:701px){.opening .story-parallax{inset:0 -5%}}
@media(max-width:700px){.opening-visual{aspect-ratio:1.45;min-height:235px;max-height:350px;margin-top:20px}.opening .story-parallax{inset:-5% 0}.opening .story-ground{bottom:19%;left:29%;right:29%;opacity:.2}.care-orbits{inset:-5% 2%;width:96%;height:110%}}
.opening .care-orbits{opacity:0;transition:opacity .45s}.opening[data-interest] .care-orbits{opacity:1}

/* One identity: the H and its smile curve, shared across every page. */
:root{--ink:#193344;--night:#142e40;--muted:#637479;--accent:#a58d70;--line:#d9deda}
h1,h2,h3{font-feature-settings:"ss01" 1;font-kerning:normal}
.brand-symbol{width:46px;height:46px;stroke-width:2.6}.brand-words{gap:2px}.brand-words>span{font-size:14px;letter-spacing:.055em}.brand-words>strong{font-size:24px;font-weight:600;letter-spacing:-.85px}
.brand-symbol .mark-smile{stroke:var(--accent)}.menu-is-open .brand-symbol .mark-smile{stroke:#c8b394}
.opening{background:radial-gradient(ellipse at 79% 47%,#e9e8df60,transparent 43%),var(--paper)}
.opening-grid{grid-template-columns:1.04fr 1fr;gap:0;min-height:550px;padding-top:25px;padding-bottom:45px}
.opening h1{font-size:clamp(76px,7.4vw,116px);line-height:1.045;font-weight:500;letter-spacing:-.065em}
.opening h1 span{color:#748684}.opening-description{max-width:440px;font-size:18px;line-height:1.85;margin-top:39px}
.headline-signature{bottom:-24px;height:25px;stroke:#a58d70;stroke-width:1.6}
.opening-visual{height:500px}.opening-visual:before{inset:10% -12%;background:radial-gradient(ellipse at var(--light-x,50%) 55%,#e0e1d54a,transparent 63%)}
.opening .story-stage{animation:none}.opening .story-parallax{inset:-2% -10% 2% -8%}
.opening .care-orbits{inset:6% -8% -6%;height:100%;width:116%;transform:none;stroke-width:1}
.opening[data-interest] .care-orbits path{opacity:.13}
.opening[data-interest="1"] [data-care-line="1"],.opening[data-interest="2"] [data-care-line="2"],.opening[data-interest="3"] [data-care-line="3"],.opening[data-interest="4"] [data-care-line="4"]{opacity:.8;stroke-width:1.3}
.care-index{border-color:#ccd4d0}.care-index>a{border-color:#ccd4d0;padding-top:22px;padding-bottom:29px}.care-index-name{font-weight:500;letter-spacing:-.04em}.care-index>a:before{background:#19334405}.care-index>a:after{height:2px;background:var(--accent)}
.menu-signature{position:relative;height:310px;isolation:isolate;display:grid;place-items:center}.menu-signature:before{content:'';position:absolute;inset:5% -6%;background:radial-gradient(ellipse,#56727a26,transparent 68%);z-index:-1}.menu-signature img{width:112%;max-width:112%;height:auto;object-fit:contain;transform:rotate(-5deg);filter:saturate(.3);animation:menu-signature-in 1s var(--ease) both}.menu-smile-line{position:absolute;inset:0 -3%;width:106%;height:100%;stroke:#b9a88b55;stroke-width:.8;fill:none}.menu-smile-line path{stroke-dasharray:1;stroke-dashoffset:1;animation:signature-draw 1.1s var(--ease) .1s forwards}.menu-right>p{font-size:35px;line-height:1.23;margin-top:16px;font-weight:400;color:#f0eee8}.menu-right>.under-link{font-size:16px}
@keyframes menu-signature-in{from{opacity:0;transform:translateY(10px) rotate(-5deg)}to{opacity:1;transform:translateY(0) rotate(-5deg)}}
.welcome-copy h2 span,.first-visit-heading h2 span,.comfort-copy>h2>span{color:#748684}
.welcome-visual .welcome-main{border-radius:3px 3px 110px 3px}.welcome-visual .welcome-detail{border-radius:3px 55px 3px 3px}.welcome-thread{opacity:.7}
.expertise-section .service-visual{border-radius:3px 3px 100px 3px}.expertise-heading h2 span{color:#c8b394}
.comfort-portrait>figure{border-radius:160px 160px 3px 3px}.comfort-image-note{border-radius:0 35px 0 0}
.mast-visual{border-radius:3px 3px 95px 3px}.mast-emblem:before{border-radius:0;border:0;border-bottom:1px solid #a58d7070;inset:30% -15% 0;transform:none;clip-path:ellipse(50% 50% at 50% 0)}.mast-emblem svg{stroke-width:2.1}
.footer-message>.brand-symbol{width:48px;height:48px;display:block;color:#d9e1df;margin-bottom:23px}.footer-message>.brand-symbol .mark-smile{stroke:#c8b394}.footer-brandname{font-weight:400;letter-spacing:-.065em}.footer-signature{stroke:#c8b3943b}
@media(min-width:1700px){.opening-visual{height:570px}.opening-grid{min-height:625px}.opening-description{font-size:20px;max-width:490px}}
@media(max-width:1150px) and (min-width:701px){.opening-grid{min-height:500px;grid-template-columns:1.04fr 1fr}.opening h1{font-size:7.6vw}.opening-visual{height:450px}.opening-description{font-size:17px;max-width:390px}.opening .story-parallax{inset:0 -11%}.menu-signature{height:265px}.menu-right>p{font-size:31px}}
@media(max-width:700px){.brand-symbol{width:32px;height:38px}.brand-words>span{font-size:14px;letter-spacing:0}.brand-words>strong{font-size:19px;letter-spacing:-.65px}.opening-grid{grid-template-columns:minmax(0,1fr);min-height:0;padding-top:31px;padding-bottom:0}.opening h1{font-size:clamp(58px,14vw,94px);letter-spacing:-.062em;line-height:1.04}.opening-description{font-size:17px;max-width:480px;margin-top:32px}.headline-signature{height:21px;bottom:-21px}.opening-visual{width:100%;height:auto;aspect-ratio:1.6;min-height:220px;max-height:330px;margin-top:18px}.opening .story-parallax{inset:-7% -8% -4%}.opening .care-orbits{inset:-10% -4%;width:108%;height:120%}.welcome-visual .welcome-main{border-radius:3px 3px 85px 3px}.welcome-visual .welcome-detail{border-radius:3px 40px 3px 3px}.comfort-portrait>figure{border-radius:130px 130px 3px 3px}.mast-visual{border-radius:3px 3px 75px 3px}.footer-message>.brand-symbol{width:43px;height:43px;margin-bottom:19px}.footer-message>p{font-size:26px}}
@media(max-width:380px){.brand-words>strong{font-size:18px}.brand-words>span{font-size:13px}.brand-symbol{width:29px}.opening h1{font-size:14.4vw}.opening-visual{min-height:190px;aspect-ratio:1.6;margin-top:12px}}
@media(prefers-reduced-motion:reduce){.smile-sculpture,.smile-light-pass,.menu-signature img,.menu-smile-line path{animation:none!important}.smile-lustre{display:none}.menu-smile-line path{stroke-dashoffset:0}.brand:hover .mark-smile{transform:none}}

/* A short, familiar care ritual. The smile stays complete throughout. */
.smile-brush,.smile-foam{display:none;pointer-events:none}
.has-care-motion .smile-brush{display:block;transform-origin:470px 535px;animation:care-brush 12s var(--ease) infinite;opacity:0}
.has-care-motion .smile-foam{display:block;transform-origin:535px 535px;animation:care-foam 12s ease-in-out infinite;opacity:0}
@keyframes care-brush{
  0%,3%{opacity:0;transform:translate(500px,220px) rotate(12deg)}
  7%{opacity:1;transform:translate(-35px,10px) rotate(-3deg)}
  10%{opacity:1;transform:translate(20px,-8px) rotate(2deg)}
  13%{opacity:1;transform:translate(-15px,10px) rotate(-3deg)}
  16%{opacity:1;transform:translate(140px,5px) rotate(1deg)}
  19%{opacity:1;transform:translate(80px,14px) rotate(-3deg)}
  22%{opacity:1;transform:translate(280px,-12px) rotate(2deg)}
  25%{opacity:1;transform:translate(220px,3px) rotate(-3deg)}
  28%{opacity:1;transform:translate(320px,-25px) rotate(1deg)}
  33%,100%{opacity:0;transform:translate(650px,180px) rotate(12deg)}
}
@keyframes care-foam{0%,7%{opacity:0;transform:translate(-70px,0) scale(.7)}12%{opacity:.82;transform:translate(-10px,0) scale(1)}20%{opacity:.75;transform:translate(140px,5px) scale(1.05)}27%{opacity:.55;transform:translate(250px,-7px) scale(1)}34%,100%{opacity:0;transform:translate(280px,-22px) scale(.8)}}
@media(prefers-reduced-motion:reduce){.has-care-motion .smile-brush,.has-care-motion .smile-foam{display:none!important;animation:none!important}}

@media(max-width:700px){.opening-copy{display:contents}.opening h1{grid-row:1}.opening-visual{grid-row:2;margin-top:11px;aspect-ratio:1.7;min-height:200px;max-height:300px}.opening-description{grid-row:3;margin-top:14px}.opening-actions{grid-row:4;margin-top:25px;margin-bottom:32px}.opening .story-parallax{inset:-8% -8% -4%}}
@media(max-width:380px){.opening-visual{min-height:180px;margin-top:8px}.opening-description{margin-top:10px}.opening-actions{margin-bottom:26px}}
