@font-face{font-family:Satoshi;src:url('https://marianabarbalho.com.br/wp-content/uploads/fonts/mb-satoshi-light-italic.otf') format('opentype');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:Satoshi;src:url('https://marianabarbalho.com.br/wp-content/uploads/fonts/mb-satoshi-italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Satoshi;src:url('https://marianabarbalho.com.br/wp-content/uploads/fonts/mb-satoshi-medium-italic.otf') format('opentype');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:Satoshi;src:url('https://marianabarbalho.com.br/wp-content/uploads/fonts/mb-satoshi-bold-italic.otf') format('opentype');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:Satoshi;src:url('https://marianabarbalho.com.br/wp-content/uploads/fonts/mb-satoshi-regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Satoshi;src:url('https://marianabarbalho.com.br/wp-content/uploads/fonts/mb-satoshi-medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Satoshi;src:url('https://marianabarbalho.com.br/wp-content/uploads/fonts/mb-satoshi-light.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Satoshi;src:url('https://marianabarbalho.com.br/wp-content/uploads/fonts/mb-satoshi-bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Satoshi;src:url('https://marianabarbalho.com.br/wp-content/uploads/fonts/mb-satoshi-black.otf') format('opentype');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:Kepler;src:url('https://marianabarbalho.com.br/wp-content/uploads/fonts/mb-kepler-italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Satoshi,Arial,sans-serif;font-kerning:normal;letter-spacing:.005em}
::selection{background:var(--wine);color:#fff1db}
.hero ::selection{background:var(--gold);color:var(--wine)}
.site-footer ::selection{background:var(--gold);color:var(--wine)}
img{display:block}
a{color:inherit}
button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a:focus-visible{outline:3px solid var(--wine);outline-offset:6px}
button:focus-visible{outline:3px solid var(--wine);outline-offset:6px}
summary:focus-visible{outline:3px solid var(--wine);outline-offset:6px}
p{margin:0}
p{text-wrap:balance}
blockquote{text-wrap:balance}
h1{text-wrap:balance}
h2{text-wrap:balance}
h3{text-wrap:balance}
address{text-wrap:balance}
h1{margin:0;font-weight:400}
h2{margin:0;font-weight:400}
h3{margin:0;font-weight:400}
em{font-family:Kepler,Georgia,serif;font-weight:400;font-style:italic}
h2 em{line-height:0}
h2{color:var(--wine);font-size:var(--title-size);line-height:1.16;letter-spacing:-.02em}
h3{color:var(--wine);font-size:clamp(22px,1.458333cqw,28px);font-weight:500;line-height:1.104;letter-spacing:-.01em}
.section-heading h2{max-width:755px;width:45%;margin:12px auto 0}
.appointment:hover{background:#ffffff40;border-color:#ffffff70;transform:translateY(-3px)}
.appointment:active{transform:translateY(0)}
.icon-badge .vector{width:1.27456cqw;height:1.27456cqw}
.appointment-solid:hover{background:#81313a}
.appointment-solid .icon-badge{width:40px;height:40px}
.appointment-solid .icon-badge .vector{width:24px;height:24px}
h1{margin:0;width:59.791667%;font-size:2.974cqw;line-height:1.104;letter-spacing:-.02em;font-weight:400}
h1 em{font-size:1.07143em}
.credential-copy p{padding:0;border:0;font-size:clamp(8px,.53cqw,11px);line-height:1.35;letter-spacing:.04em;color:#fff;white-space:nowrap}
.hero-rating>.vector{width:1.01105cqw;height:1.01105cqw}
.stars .vector{width:.99943cqw;height:.99943cqw}
.hero-rating .stars{gap:.12639cqw}
.hero-rating .stars .vector{width:.56872cqw;height:.56872cqw}
.scroll-hint span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.80005cqw;letter-spacing:.096cqw;line-height:1.13;height:3.61126cqw}
.scroll-hint .vector{width:3.63781cqw;height:.39108cqw;transform:rotate(90deg);margin-top:1.46cqw;opacity:.8;animation:scroll-arrow-float 2.4s ease-in-out 1.6s infinite}
.hero a:focus-visible{outline-color:#fff}
.welcome::before{content:"";position:absolute;inset:0 23.1%;border-inline:1px solid var(--line);pointer-events:none}
.welcome .welcome-quote{width:37.1875cqw;margin:0;text-align:center;font:300 1.145833cqw/1.25 Satoshi,Arial,sans-serif;letter-spacing:.005em}
.welcome .welcome-credit{margin-top:1.92708cqw;font:300 italic .833333cqw/1.25 Satoshi,Arial,sans-serif;text-align:center;letter-spacing:.12em;color:#3f3f3fad}
.care-jump .vector{width:100%;height:100%}
.site-content::before{content:"";position:absolute;inset:0 8.958333%;z-index:-1;border-inline:1px solid var(--line);pointer-events:none}
.care-card h3{min-height:2.208em;overflow-wrap:break-word}
.care-card p{font:300 var(--body-size)/1.25 Satoshi,Arial,sans-serif;letter-spacing:.005em;margin-top:1.5cqw}
.care-marker:before{content:'';width:2.205313cqw;height:2.205313cqw;border-radius:.126406cqw;background:var(--gold);transform:rotate(-45deg);box-shadow:-.26cqw .26cqw #e6bd7e4f}
.care-marker:after{content:'';position:absolute;width:.671719cqw;height:.671719cqw;border:.15625cqw solid #fff;border-radius:.052083cqw;background:#ffffffa8;transform:rotate(-45deg)}
.about-main img{position:absolute;width:121.61%;height:100%;left:-21.45%;top:0;max-width:none}
.about-copy .section-label{margin-bottom:1cqw}
.about-copy h2{line-height:1.16;margin-bottom:1.15cqw}
.about-copy>p:not(.section-label){font:300 var(--body-size)/1.25 Satoshi,Arial,sans-serif;letter-spacing:.005em;margin-bottom:1.145833cqw}
.about-copy .appointment{margin-top:.94cqw}
.section-divider::before{content:"";position:absolute;inset:0;height:1px;background:var(--line);transform-origin:left center}
.section-divider>.divider-center{position:absolute;left:50%;top:-1px;width:11.5625%;height:3px;border-radius:175px;transform:translateX(-50%);background:var(--gold)}
.audience .section-heading h2{width:100%;max-width:873px}
.audience-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.audience-tags .audience-tag{border:1.146px solid #6f482a3d;border-radius:25px;padding:.5228cqw 1.307cqw;background:#fff1db;color:#482d26;font-size:clamp(12px,.9375cqw,18px);line-height:1.55;white-space:nowrap}
.process .section-heading h2{width:80%}
.process-motion .is-reached .process-number{animation:step-arrive .7s cubic-bezier(.2,.7,.25,1) both}
.process-motion .process-track-fill{transition:none}
@keyframes step-arrive{0%,100%{scale:1}45%{scale:1.12}}
.process-grid .process-step{position:relative}
.process-number .vector:first-child{position:absolute;inset:0;width:100%;height:100%}
.process-number .vector:nth-child(2){position:absolute;width:75%;height:75%;inset:12.5%}
.process-number span{font:italic 1.51568cqw/1.104 Kepler,Georgia,serif;color:var(--gold);position:relative}
.process h3{margin-bottom:.729167cqw}
.process .process-step p{font:300 var(--body-size)/1.25 Satoshi,Arial,sans-serif;letter-spacing:.005em}
.reviews .section-heading h2{width:100%;max-width:640px}
.review-card .review-author{font-weight:500;font-size:clamp(22px,1.458333cqw,28px);color:var(--wine);line-height:1.2;letter-spacing:-.01em}
.review-card .review-body{margin:0;font:400 var(--body-size)/1.55 Satoshi,Arial,sans-serif;letter-spacing:.005em}
.review-card .stars{margin-top:.1cqw}
.signature .signature-photo{margin:0}
.signature .signature-quote{margin:0}
.signature-photo>img{position:absolute;width:134.65%;height:147.8%;left:-17.08%;top:-37.68%;max-width:none}
.signature-photo:after{position:absolute;content:'';inset:0;background:linear-gradient(180deg,transparent 32%,#000000dc 100%);z-index:0}
.signature-photo .portrait-caption{position:absolute;left:16%;right:12%;bottom:6%;z-index:1;color:#fff;display:flex;flex-direction:column}
.signature-photo .portrait-prefix{font-size:.83953cqw;letter-spacing:.11em;color:#ffffff9e;margin-left:8%;line-height:1.25}
.signature-photo .portrait-name{font-family:Kepler,Georgia,serif;font-style:italic;font-size:2.8125cqw;line-height:.94;letter-spacing:-.03em}
.signature-photo .portrait-name:last-child{align-self:flex-end}
.signature-quote .signature-text{margin:0;font-size:clamp(26px,2.4689cqw,47.403px);line-height:1.104;letter-spacing:-.015em;color:#462d26}
.signature-quote .signature-credit{font-size:clamp(11px,.833333cqw,16px);font-style:italic;font-weight:300;line-height:1.25;letter-spacing:.12em;color:#3f3f3fad;margin-top:1.5625cqw}
.contact-copy h2{margin-bottom:.885417cqw}
.contact-copy>p{font-size:var(--body-size);line-height:1.25;letter-spacing:.005em;margin-bottom:1.5625cqw}
.clinic-image img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.contact-details h3{font-size:clamp(12px,.838333cqw,16.096px);font-weight:500;line-height:1.25;letter-spacing:.04em;text-transform:uppercase}
.contact-details .contact-address{font-style:normal;font-size:clamp(18px,1.25cqw,24px);line-height:1.25;letter-spacing:.005em;margin-top:.520833cqw}
.contact-map iframe{width:100%;height:100%;border:0;display:block}
.quote-mark{color:var(--wine)}
@keyframes scroll-arrow-float{0%,100%{transform:translateY(0) rotate(90deg)}50%{transform:translateY(7px) rotate(90deg)}}
@media(min-width:768px){.process-grid .process-step{text-align:center}}
@media(min-width:768px){.process-number{margin-inline:auto}}
@media(min-width:768px) and (max-width:1024px){.section-heading h2{width:65%}}
@media(min-width:768px) and (max-width:1024px){.process h3{font-size:20px}}
@media(max-width:767px){.process-grid .process-step{min-width:0;overflow-wrap:break-word}}
@media(max-width:767px){:root{--title-size:34px;--body-size:16px}}
@media(max-width:767px){h1{text-wrap:balance}}
@media(max-width:767px){h2{text-wrap:balance}}
@media(max-width:767px){.welcome .welcome-quote{text-wrap:balance}}
@media(max-width:767px){.section-heading h2{width:100%;max-width:100%;margin-top:16px}}
@media(max-width:767px){.appointment-solid .icon-badge{width:34px;height:34px}}
@media(max-width:767px){.icon-badge .vector{width:22px;height:22px}}
@media(max-width:767px){.appointment-solid .icon-badge .vector{width:22px;height:22px}}
@media(max-width:767px){.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 24%,rgb(18 24 20 / 14%) 34%,rgb(18 24 20 / 44%) 44%,rgb(18 24 20 / 64%) 67%,rgb(18 24 20 / 82%) 100%)}}
@media(max-width:767px){h1{width:100%;max-width:360px;font-size:clamp(29px,8.4cqw,34px);line-height:1.08;letter-spacing:-.02em}}
@media(max-width:767px){.credential-copy p{font-size:8.5px;padding:0;letter-spacing:.09em;margin-bottom:6px;color:#fff}}
@media(max-width:767px){.hero-rating>.vector{width:17px;height:17px}}
@media(max-width:767px){.hero-rating .stars{gap:2px}}
@media(max-width:767px){.hero-rating .stars .vector{width:10px;height:10px}}
@media(max-width:767px){.scroll-hint span{height:44px;font-size:8px;line-height:1;letter-spacing:1.4px}}
@media(max-width:767px){.scroll-hint .vector{width:38px;height:4.1px;margin-top:12px}}
@media(max-width:767px){.welcome::before{display:block;inset:0 23.1%}}
@media(max-width:767px){.welcome .welcome-quote{width:100%;font-size:17px;line-height:1.4;letter-spacing:.005em}}
@media(max-width:767px){.welcome .welcome-credit{margin-top:28px;font-size:10px;line-height:1.5;letter-spacing:.1em}}
@media(max-width:767px){.site-content::before{display:none}}
@media(max-width:767px){.care .section-heading h2{font-size:34px}}
@media(max-width:767px){.care-card h3{font-size:24px;min-height:0;text-wrap:balance}}
@media(max-width:767px){.care-card p{font-size:16px;line-height:1.4;margin-top:16px}}
@media(max-width:767px){.care-marker:before{width:25.46px;height:25.46px;border-radius:2px;box-shadow:-3px 3px #e6bd7e4f}}
@media(max-width:767px){.care-marker:after{width:8px;height:8px;border:2px solid #fff;border-radius:1px}}
@media(max-width:767px){.about-copy .section-label{margin-bottom:18px}}
@media(max-width:767px){.about-copy h2{font-size:36px;line-height:1.16;margin-bottom:26px}}
@media(max-width:767px){.about-copy>p:not(.section-label){font-size:16px;line-height:1.5;margin-bottom:20px}}
@media(max-width:767px){.about-copy .appointment{margin-top:10px}}
@media(max-width:767px){.section-divider>.divider-center{width:100px}}
@media(max-width:767px){.audience .section-heading h2{font-size:32px}}
@media(max-width:767px){.audience-image img{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:385/297;object-fit:contain}}
@media(max-width:767px){.audience-tags .audience-tag{font-size:13px;line-height:1.4;padding:9px 14px;white-space:normal;text-align:center}}
@media(max-width:767px){.process .section-heading{padding:0 24px}}
@media(max-width:767px){.process .section-heading h2{width:100%;font-size:34px}}
@media(max-width:767px){.process-motion .process-track-fill{transition:transform .12s linear}}
@media(max-width:767px){.process-grid .process-step{padding:0 0 36px 78px;min-height:112px}}
@media(max-width:767px){.process-grid .process-step:last-child{padding-bottom:0}}
@media(max-width:767px){.process-number span{font-size:26px}}
@media(max-width:767px){.process h3{font-size:24px;margin:0 0 14px;min-height:32px}}
@media(max-width:767px){.process .process-step p{font-size:16px;line-height:1.45}}
@media(max-width:767px){.reviews .section-heading h2{font-size:34px}}
@media(max-width:767px){.review-card .review-author{font-size:25px}}
@media(max-width:767px){.review-card .review-body{font-size:16px;line-height:1.55}}
@media(max-width:767px){.stars .vector{width:18px;height:18px}}
@media(max-width:767px){.signature-photo .portrait-prefix{font-size:clamp(12px,4cqw,16px)}}
@media(max-width:767px){.signature-photo .portrait-name{font-size:clamp(40px,13.8cqw,54px)}}
@media(max-width:767px){.signature-quote .signature-text{font-size:clamp(25px,7.4cqw,29px);line-height:1.18;text-wrap:balance}}
@media(max-width:767px){.signature-quote .signature-credit{margin-top:26px;font-size:10px;letter-spacing:.1em;line-height:1.5}}
@media(max-width:767px){.contact-copy h2{font-size:34px;margin-bottom:22px}}
@media(max-width:767px){.contact-copy>p{font-size:16px;margin-bottom:28px}}
@media(max-width:767px){.contact-details h3{font-size:13px;text-align:left}}
@media(max-width:767px){.contact-details .contact-address{font-size:20px;margin-top:12px;line-height:1.4}}
.faq .section-heading h2{width:100%}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;list-style:none;cursor:pointer;color:var(--wine);font-size:clamp(18px,1.2cqw,23px);line-height:1.3;letter-spacing:.005em}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:''}
.faq-answer a{font-weight:500;color:var(--wine);text-decoration-thickness:1px;text-underline-offset:4px}
.faq-item summary:hover .faq-toggle{background:rgb(129 49 58 / 6%)}
.footer-top>p{font-family:Satoshi,Arial,sans-serif;font-style:normal;font-size:21px;color:rgb(255 255 255 / 78%)}
.site-footer a{text-decoration:none;text-underline-offset:5px}
.site-footer a:hover{text-decoration:underline}
.site-footer a:focus-visible{outline-color:var(--gold)}
.footer-socials span{color:rgb(255 255 255 / 55%)}
.footer-main>*{min-width:0}
.footer-intro>p{max-width:350px;font-size:17px;line-height:1.55;color:rgb(255 255 255 / 88%);text-wrap:balance}
.footer-registration p{font-size:15px;line-height:1.4}
.footer-registration .footer-registration-number{display:block;margin-top:8px;font-size:11px;line-height:1.5;color:rgb(255 255 255 / 70%)}
.footer-column h2{margin:0 0 8px;color:#fff;font-size:24px;line-height:1.2;letter-spacing:-.01em}
.footer-column>a{color:rgb(255 255 255 / 76%);transition:color .2s ease}
.footer-column>a:hover{color:#fff}
.footer-column>a:focus-visible{color:#fff}
.footer-contact>a{display:flex;align-items:center;gap:12px}
.footer-contact .vector{opacity:.7;flex:none}
.footer-contact .footer-address{font-size:15px;line-height:1.5;font-style:normal;color:rgb(255 255 255 / 70%)}
.footer-bottom p{color:rgb(255 255 255 / 80%)}
@media(max-width:767px){.faq .section-heading h2{font-size:34px}}
@media(max-width:767px){.faq-item summary{font-size:19px;padding-block:22px;gap:16px;text-wrap:balance}}
@media(max-width:767px){.footer-top>p{font-size:20px}}
@media(max-width:767px){.footer-intro>p{font-size:16px;max-width:100%}}
@media(max-width:767px){.footer-registration p{font-size:14px}}
@media(max-width:767px){.footer-column h2{font-size:22px;margin-bottom:4px}}
@media(max-width:767px){.footer-contact .footer-address{font-size:15px}}
@media(max-width:360px){.appointment{font-size:16px;gap:8px;padding-inline:10px}}
@media(max-width:360px){.appointment-solid{font-size:16px;gap:8px;padding-inline:10px}}
@media(max-width:360px){.footer-top{padding-inline:16px}}
@media(max-width:360px){.footer-main{padding-inline:16px}}
@media(max-width:360px){.footer-bottom{padding-inline:16px}}
@media(max-width:360px){.footer-main{grid-template-columns:1fr;gap:30px}}
@media(max-width:360px){.footer-intro{grid-column:auto}}
@media(max-width:360px){.footer-contact{grid-column:auto}}
@media(max-width:360px){.footer-socials{gap:16px;font-size:13px}}
@media(max-width:360px){.footer-registration{gap:12px;padding-inline:12px}}
@media(max-width:360px){.footer-registration p{font-size:13px}}
@media(max-width:360px){.footer-registration .footer-registration-number{font-size:10px}}
.review-card .review-body p+p{margin-top:1em}
.about-copy>p.professional-registration{font:400 clamp(11px,.72cqw,14px)/1.5 Satoshi,Arial,sans-serif;letter-spacing:.08em;color:var(--wine);margin-bottom:22px}
.contact-copy>p.professional-registration{font:400 clamp(11px,.72cqw,14px)/1.5 Satoshi,Arial,sans-serif;letter-spacing:.08em;color:var(--wine);margin-bottom:22px}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.care-card{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.review-card{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.audience-panel{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.care-card:hover{transform:translateY(-5px);border-color:rgb(129 49 58 / 28%);box-shadow:0 12px 30px rgb(63 35 30 / 8%)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.review-card:hover{transform:translateY(-5px);border-color:rgb(129 49 58 / 28%);box-shadow:0 12px 30px rgb(63 35 30 / 8%)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.audience-panel:hover{border-color:rgb(129 49 58 / 28%);box-shadow:0 12px 30px rgb(63 35 30 / 6%)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.about-main img{transition:scale .65s cubic-bezier(.2,.7,.25,1)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.about-top{transition:scale .65s cubic-bezier(.2,.7,.25,1)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.about-bottom{transition:scale .65s cubic-bezier(.2,.7,.25,1)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.audience-image img{transition:scale .65s cubic-bezier(.2,.7,.25,1)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.signature-photo>img{transition:scale .65s cubic-bezier(.2,.7,.25,1)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.clinic-image img{transition:scale .65s cubic-bezier(.2,.7,.25,1)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.about-main:hover img{scale:1.025}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.about-top:hover{scale:1.025}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.about-bottom:hover{scale:1.025}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.audience-image:hover img{scale:1.025}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.signature-photo:hover>img{scale:1.025}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.clinic-image:hover img{scale:1.025}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.audience-tags .audience-tag{transition:transform .3s ease,background-color .3s ease,border-color .3s ease,color .3s ease}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.audience-tags .audience-tag:hover{transform:translateY(-3px);background:#f8e7cc;border-color:rgb(129 49 58 / 35%);color:var(--wine)}}
.hero .appointment{position:relative}
.hero-border-light{position:absolute;inset:calc(0px - var(--hero-border-width,1px));padding:var(--hero-border-width,1px);border-radius:inherit;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.hero-border-light::before{content:"";position:absolute;left:0;top:0;width:80px;height:80px;background:radial-gradient(circle,#fff 0%,rgb(255 255 255 / 90%) 15%,rgb(255 255 255 / 55%) 40%,rgb(255 255 255 / 0%) 70%);offset-path:var(--hero-light-path);offset-anchor:center;offset-rotate:0deg;animation:hero-cta-light var(--hero-light-duration) linear infinite}
@keyframes hero-cta-light{from{offset-distance:0%}to{offset-distance:100%}}
@media(prefers-reduced-motion:reduce){.hero-border-light{display:none}}
@keyframes signature-photo-slide{from{transform:translateX(var(--signature-photo-offset))}to{transform:translateX(0)}}
@keyframes signature-quote-show{from{opacity:0}to{opacity:1}}
@keyframes signature-word-read{from{opacity:.18}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){.signature-motion .signature-photo{transform:translateX(var(--signature-photo-offset))}}
@media(prefers-reduced-motion:no-preference){.signature-motion .signature-quote{opacity:0}}
@media(prefers-reduced-motion:no-preference){.signature-motion .signature-word{opacity:.18}}
@media(prefers-reduced-motion:no-preference){.signature-motion .signature-quote>.signature-credit{opacity:0}}
@media(prefers-reduced-motion:no-preference){.signature-motion.is-reading .signature-photo{animation:signature-photo-slide .95s cubic-bezier(.22,.68,.25,1) .2s both}}
@media(prefers-reduced-motion:no-preference){.signature-motion.is-reading .signature-quote{animation:signature-quote-show .35s ease 1.05s forwards}}
@media(prefers-reduced-motion:no-preference){.signature-motion.is-reading .signature-word{animation:signature-word-read .4s ease var(--word-delay) forwards}}
@media(prefers-reduced-motion:no-preference){.signature-motion.is-reading .signature-quote>.signature-credit{animation:signature-quote-show .5s ease var(--signature-credit-delay) forwards}}
.process-number::after{content:"";position:absolute;inset:-7px;border:1px solid rgb(230 189 126 / 70%);border-radius:50%;box-shadow:0 0 14px rgb(230 189 126 / 35%);opacity:0;pointer-events:none}
.process-motion .has-glowed .process-number::after{animation:step-glow 1s ease-out both}
@keyframes step-glow{0%{opacity:0;transform:scale(.85)}25%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.4)}}
@keyframes welcome-sun-turn{from{transform:translateX(-50%) rotate(0deg)}to{transform:translateX(-50%) rotate(360deg)}}
@keyframes about-seal-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes welcome-rails-draw{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes welcome-corner-settle{from{opacity:1;transform:translate(var(--corner-x),var(--corner-y)) scale(1.45)}to{opacity:1;transform:translate(0,0) scale(1)}}
@keyframes welcome-frame-draw{0%{background-size:0% 1px,1px 0%,0% 1px,1px 0%}
 25%{background-size:100% 1px,1px 0%,0% 1px,1px 0%}
 50%{background-size:100% 1px,1px 100%,0% 1px,1px 0%}
 75%{background-size:100% 1px,1px 100%,100% 1px,1px 0%}
 100%{background-size:100% 1px,1px 100%,100% 1px,1px 100%}}
@keyframes divider-line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes divider-gold-finish{from{transform:translateX(-50%) scaleX(0)}to{transform:translateX(-50%) scaleX(1)}}
.welcome::before{content:"";position:absolute;left:23.1%;right:23.1%;border-inline:1px solid var(--line);pointer-events:none}
.welcome::after{content:"";position:absolute;left:23.1%;right:23.1%;border-inline:1px solid var(--line);pointer-events:none}
.welcome::before{top:0;bottom:auto;height:9.114583cqw}
.welcome::after{top:auto;bottom:0;height:calc(38.385417cqw - 9.114583cqw - 19.94792cqw)}
@media(max-width:767px){.welcome::before{height:90px}}
@media(max-width:767px){.welcome::after{height:80px}}
@media(prefers-reduced-motion:no-preference){.welcome-sun{animation:welcome-sun-turn 48s linear infinite}}
@media(prefers-reduced-motion:no-preference){.about-seal{animation:about-seal-turn 32s linear infinite;transform-origin:center}}
@media(prefers-reduced-motion:no-preference){.footer-registration-mark{animation:about-seal-turn 32s linear infinite;transform-origin:center}}
@media(prefers-reduced-motion:no-preference){.welcome-motion::before{transform:scaleY(0);transform-origin:center top}}
@media(prefers-reduced-motion:no-preference){.welcome-motion::after{transform:scaleY(0);transform-origin:center top}}
@media(prefers-reduced-motion:no-preference){.welcome-motion .welcome-card{border-color:transparent}}
@media(prefers-reduced-motion:no-preference){.welcome-motion .welcome-card::before{content:"";position:absolute;inset:-1px;pointer-events:none;background-image:linear-gradient(var(--line),var(--line)),linear-gradient(var(--line),var(--line)),linear-gradient(var(--line),var(--line)),linear-gradient(var(--line),var(--line));background-repeat:no-repeat;background-position:left top,right top,right bottom,left bottom;background-size:0% 1px,1px 0%,0% 1px,1px 0%}}
@media(prefers-reduced-motion:no-preference){.welcome-motion .welcome-corner{opacity:0;transform:translate(var(--corner-x),var(--corner-y)) scale(1.45)}}
@media(prefers-reduced-motion:no-preference){.corner-top-left{--corner-x:-14px;--corner-y:-14px;transform-origin:top left}}
@media(prefers-reduced-motion:no-preference){.corner-bottom-left{--corner-x:-14px;--corner-y:14px;transform-origin:bottom left}}
@media(prefers-reduced-motion:no-preference){.corner-top-right{--corner-x:14px;--corner-y:-14px;transform-origin:top right}}
@media(prefers-reduced-motion:no-preference){.corner-bottom-right{--corner-x:14px;--corner-y:14px;transform-origin:bottom right}}
@media(prefers-reduced-motion:no-preference){.welcome-motion.is-drawn::before{animation:welcome-rails-draw .95s cubic-bezier(.2,.7,.25,1) forwards}}
@media(prefers-reduced-motion:no-preference){.welcome-motion.is-drawn .welcome-corner{animation:welcome-corner-settle .65s cubic-bezier(.2,.7,.25,1) .8s forwards}}
@media(prefers-reduced-motion:no-preference){.welcome-motion.is-drawn .welcome-card::before{animation:welcome-frame-draw 1.6s linear 1.3s forwards}}
@media(prefers-reduced-motion:no-preference){.welcome-motion.is-drawn::after{animation:welcome-rails-draw .95s cubic-bezier(.2,.7,.25,1) 2.8s forwards}}
@media(prefers-reduced-motion:no-preference){.divider-motion::before{transform:scaleX(0)}}
@media(prefers-reduced-motion:no-preference){.divider-motion>.divider-center{transform:translateX(-50%) scaleX(0)}}
@media(prefers-reduced-motion:no-preference){.divider-motion.is-drawn::before{animation:divider-line-draw .95s cubic-bezier(.2,.7,.25,1) forwards}}
@media(prefers-reduced-motion:no-preference){.divider-motion.is-drawn>.divider-center{animation:divider-gold-finish .45s ease-out .95s forwards}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(prefers-reduced-motion:reduce){.scroll-hint .vector{animation:none}}
@media(prefers-reduced-motion:reduce){.process-number{animation:none}}
@media(prefers-reduced-motion:reduce){.process-number::after{animation:none}}
@media(prefers-reduced-motion:reduce){.welcome-sun{animation:none}}
@media(prefers-reduced-motion:reduce){.appointment{transform:none}}
@media(prefers-reduced-motion:reduce){.process-number{transform:none}}
@media(prefers-reduced-motion:reduce){.process-track-fill{transform:none}}
@media(prefers-reduced-motion:reduce){.appointment:hover{transform:none}}
.vector svg{display:block;max-width:100%;max-height:100%}
.care-jump .vector{width:50%;height:50%;color:#fff}
.faq-item[open] .faq-toggle{transform:rotate(180deg)}
.contact-map .map-embed{width:100%;height:100%;border:0;display:block}
.review-body p+p{margin-top:1em}
.mb-anchor{display:block;position:relative;scroll-margin-top:28px}
@media(max-width:767px){.signature-motion .signature-photo{transform:none!important;animation:none!important}}
@media(min-width:768px) and (max-width:1024px){h1{text-wrap:balance}}
@media(min-width:768px) and (max-width:1024px){.icon-badge .vector{width:22px;height:22px}}
@media(min-width:768px) and (max-width:1024px){.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 24%,rgb(18 24 20 / 14%) 34%,rgb(18 24 20 / 44%) 44%,rgb(18 24 20 / 64%) 67%,rgb(18 24 20 / 82%) 100%)}}
@media(min-width:768px) and (max-width:1024px){h1{width:100%;max-width:360px;font-size:clamp(29px,8.4cqw,34px);line-height:1.08;letter-spacing:-.02em}}
@media(min-width:768px) and (max-width:1024px){.credential-copy p{font-size:8.5px;padding:0;letter-spacing:.09em;margin-bottom:6px;color:#fff}}
@media(min-width:768px) and (max-width:1024px){.hero-rating>.vector{width:17px;height:17px}}
@media(min-width:768px) and (max-width:1024px){.hero-rating .stars{gap:2px}}
@media(min-width:768px) and (max-width:1024px){.hero-rating .stars .vector{width:10px;height:10px}}
@media(min-width:768px) and (max-width:1024px){.scroll-hint span{height:44px;font-size:8px;line-height:1;letter-spacing:1.4px}}
@media(min-width:768px) and (max-width:1024px){.scroll-hint .vector{width:38px;height:4.1px;margin-top:12px}}
@media(min-width:768px) and (max-width:1024px){.process-grid .process-step{min-width:0;overflow-wrap:break-word}}
@media(min-width:768px) and (max-width:1024px){.process .section-heading{padding:0 24px}}
@media(min-width:768px) and (max-width:1024px){.process .section-heading h2{width:100%;font-size:34px}}
@media(min-width:768px) and (max-width:1024px){.process-motion .process-track-fill{transition:transform .12s linear}}
@media(min-width:768px) and (max-width:1024px){.process-grid .process-step{padding:0 0 36px 78px;min-height:112px}}
@media(min-width:768px) and (max-width:1024px){.process-grid .process-step:last-child{padding-bottom:0}}
@media(min-width:768px) and (max-width:1024px){.process-number span{font-size:26px}}
@media(min-width:768px) and (max-width:1024px){.process h3{font-size:24px;margin:0 0 14px;min-height:32px}}
@media(min-width:768px) and (max-width:1024px){.process .process-step p{font-size:16px;line-height:1.45}}
@media(min-width:768px) and (max-width:1024px){.headline h1{max-width:600px;font-size:44px}}
@media(min-width:768px) and (max-width:1024px){.credential-copy p{font-size:11px}}
@media(min-width:768px) and (max-width:1024px){.section-heading h2{width:80%}}
@media(min-width:768px) and (max-width:1024px){.care-card h3{min-height:0}}
@media(min-width:768px) and (max-width:1024px){.care-card p{font-size:16px;line-height:1.5}}
@media(min-width:768px) and (max-width:1024px){.about-copy>p:not(.section-label){line-height:1.5}}
@media(min-width:1025px) and (max-width:1366px){.section-heading h2{width:65%}}
@media(min-width:1367px) and (max-width:2399px){.mb-page{max-width:2400px}}
@media(min-width:1367px) and (max-width:2399px){.mb-footer{max-width:2400px}}
@media(prefers-reduced-motion:reduce){.faq-toggle{transition:none}}
.mb-page .welcome::before,.mb-page .welcome::after{width:auto}
.mb-page .site-content::before,.mb-page .welcome-card::before{width:auto;height:auto}
.mb-page .care-marker::before{position:static;inset:auto}

/* Native Elementor resets must not erase the composition's reading spaces. */
.elementor .mb-page .section-heading h2{margin:12px auto 0}
.elementor .mb-page .care-card p{margin-top:clamp(16px,1.25cqw,24px);line-height:1.4}
.elementor .mb-page .process-step h3{margin-bottom:clamp(12px,.729167cqw,16px)}
.elementor .mb-page .contact-copy>.appointment{margin-top:20px}
.elementor .mb-page .about-copy h2{margin-bottom:clamp(16px,1.15cqw,28px)}
.elementor .mb-page .contact-copy h2{margin-bottom:clamp(16px,.885417cqw,22px)}
.hero-border-light{overflow:hidden}
/* Elementor adds currentColor to SVG roots; unpainted stroke paths stay hollow. */
.mb-page .vector>svg,.mb-footer .vector>svg{fill:none}
@media(min-width:1025px){.elementor .mb-page .process-number{margin-inline:auto}}
@media(max-width:1024px){.elementor .mb-page .process-step{text-align:left}}
@media(max-width:767px){.elementor .mb-page .section-heading h2{margin-top:16px}.elementor .mb-page .care-card p{margin-top:16px}}
@media(max-width:767px){.elementor .mb-page .about-copy h2{margin-bottom:26px}.elementor .mb-page .contact-copy h2{margin-bottom:22px}}

@media(max-width:360px){.elementor .mb-footer .footer-main{grid-template-columns:minmax(0,1fr);gap:30px}.elementor .mb-footer .footer-top,.elementor .mb-footer .footer-main,.elementor .mb-footer .footer-bottom{padding-inline:16px}.elementor .mb-footer .footer-intro,.elementor .mb-footer .footer-contact{grid-column:auto}.elementor .mb-footer .footer-socials{gap:16px;font-size:13px}.elementor .mb-footer .footer-registration{gap:12px;padding-inline:12px}.elementor .mb-page .appointment,.elementor .mb-page .appointment-solid{font-size:16px;gap:8px;padding-inline:10px}}

.hero-picture{display:contents}.hero-picture .portrait{left:-2.35263%;top:0;width:104.38662%;height:100%;transform:none;object-fit:cover}
@media(max-width:1024px){.hero-picture .portrait{left:50%;top:-35%;width:auto;height:150%;transform:translateX(-50%);object-fit:fill}}
.mb-page img,.mb-footer img{cursor:default}
