/* Fontes servidas pelo próprio site (antes Google Fonts). Arquivos variáveis, subconjunto latin, licença OFL: fonts/LICENCA.txt */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/cormorant-garamond.woff2?v=d80df8ff5a) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;src:url(fonts/cormorant-garamond-italic.woff2?v=6f2f5c3b1a) format('woff2')}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope.woff2?v=a30ddcd349) format('woff2')}
:root{--paper:#f7f2e9;--cream:#efe6d8;--ink:#3d2d25;--muted:#706055;--bronze:#795936;--line:#d9cbbb;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--gradient:linear-gradient(105deg,#a17b4c 0%,#c5a779 28%,#e7d3ae 50%,#c1a071 72%,#a17b4c 100%)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 var(--sans)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}a:focus-visible{outline:3px solid #8f6b43;outline-offset:6px}section{scroll-margin-top:108px}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;top:8px;left:8px;z-index:100;transform:translateY(-150%);background:white;padding:10px 20px}.skip:focus{transform:none}.header{position:sticky;top:0;z-index:20;background:rgba(247,242,233,.96);border-bottom:1px solid var(--line);transition:box-shadow .3s}.header.scrolled{box-shadow:0 6px 24px #3d2d250a}.nav{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:102px}.brand{display:inline-flex;flex-direction:column;align-items:center;flex:none}.brand img{width:164px;height:41px;object-fit:contain}.brand span{font-size:8px;letter-spacing:.31em;color:var(--bronze);margin-top:8px}.nav nav{display:flex;gap:30px;margin-left:auto;margin-right:20px}.nav nav a{font-size:12px;position:relative;padding-block:8px}.nav nav a:after{content:'';position:absolute;bottom:2px;left:0;width:100%;height:1px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav nav a:hover:after,.nav nav a:focus-visible:after{transform:scaleX(1)}
.button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:13px 13px 13px 25px;min-height:56px;border-radius:999px;background:var(--gradient);background-size:220% 100%;color:#302319;font-size:11px;line-height:1.4;font-weight:700;letter-spacing:.085em;text-transform:uppercase;box-shadow:0 14px 26px -18px #67452388,inset 0 1px 0 #fff8;isolation:isolate;overflow:hidden;transition:background-position .8s,box-shadow .4s;touch-action:manipulation;max-width:100%}.button>span{position:relative;z-index:1}.button:after{content:'';position:absolute;top:0;bottom:0;left:-65%;width:38%;background:linear-gradient(105deg,transparent,#fff7,transparent);transform:skewX(-18deg);animation:shine 7s ease-in-out infinite;pointer-events:none}.button-icon{width:32px;height:32px;display:grid;place-items:center;background:var(--ink);color:#f3e1c2;border-radius:50%;flex:none;font:20px/1 Arial;transition:transform .4s}.button:hover,.button:focus-visible{background-position:100% 0;box-shadow:0 19px 32px -18px #674523aa}.button:hover .button-icon{transform:rotate(-45deg)}.button:active{filter:brightness(.94)}.button-small{min-height:44px;padding:9px 9px 9px 18px;font-size:9px;gap:14px}.button-small .button-icon{width:27px;height:27px}.button-dark{background:#3d2d25;color:#f7eee1}.button-dark .button-icon{background:#d5b98f;color:#3d2d25}.button-dark:after{opacity:.25}@keyframes shine{0%,78%{left:-65%}100%{left:135%}}
.hero{background:radial-gradient(ellipse at 20% 30%,#fffaf1,transparent 65%),var(--cream);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:74px;align-items:center;padding-block:54px 65px}.hero-copy{padding:14px 0}.eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:.24em;color:var(--bronze);margin:0 0 23px;display:flex;align-items:center;gap:14px}.eyebrow:before{content:'';width:33px;height:1px;background:currentColor;flex:none}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04;margin:0;letter-spacing:-.035em}h1{font-size:clamp(56px,6.2vw,88px)}h1 em,h2 em,h3 em{color:var(--bronze);font-weight:400}h2{font-size:clamp(40px,4.6vw,60px)}h3{font-size:39px}.intro{font-size:16px;color:var(--muted);max-width:410px;margin:25px 0 30px;line-height:1.85}.text-link{font-size:11px;letter-spacing:.025em;border-bottom:1px solid var(--line);padding-bottom:5px;display:table}.text-link span{display:inline-block;margin-left:10px;transition:transform .3s}.text-link:hover span{transform:translateX(5px)}.hero-more{margin-top:22px}.health-plan{display:flex;align-items:center;gap:13px;border-top:1px solid #d0bfa9;margin-top:30px;padding-top:20px;max-width:410px}.small-mark{font-size:28px;color:var(--bronze)}.health-plan strong{display:block;font-size:12px;font-weight:600}.health-plan a{display:block;font-size:10px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.hero-portrait{position:relative;margin:0;padding:0 13px 0 0}.portrait-frame{position:relative;z-index:1;border-radius:180px 180px 10px 10px;overflow:hidden;background:#ded5c8;aspect-ratio:4/5}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}.photo-line{position:absolute;inset:17px -3px 67px 17px;border:1px solid #ae8f67;border-radius:180px 180px 10px 10px;pointer-events:none}figcaption{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 2px 0}figcaption span{font:25px/1.1 var(--serif)}figcaption small{font-size:8px;letter-spacing:.1em;color:var(--muted)}
.section{padding-block:78px}.section-heading{text-align:center;margin-bottom:38px}.section-heading .eyebrow{justify-content:center;margin-bottom:17px}.section-heading .eyebrow:after{content:'';height:1px;width:33px;background:currentColor}.section-heading>p:last-child:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.85;margin:18px 0 0}.care-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:4px;overflow:hidden}.care-item{position:relative;padding:37px 40px}.care-item .eyebrow{font-size:9px;letter-spacing:.17em;margin-bottom:20px;max-width:85%}.care-item .eyebrow:before{display:none}.care-item h3{font-size:40px}.number{position:absolute;top:24px;right:30px;font:italic 43px var(--serif);color:#bca98f}.care-item>p:not(.eyebrow){font-size:13px;color:var(--muted);margin:20px 0;max-width:420px}.care-item ul{list-style:none;padding:0;margin:0;font-size:12px;line-height:1.6}.care-item li{position:relative;padding-left:17px;margin-top:10px}.care-item li:before{content:'';position:absolute;left:0;top:.6em;width:5px;height:5px;border:1px solid var(--bronze);border-radius:50%}.care-tinted{background:#eee4d6;border-left:1px solid var(--line)}.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:35px}.journey>div{position:relative;padding:15px 0 0 34px;border-top:1px solid var(--line)}.journey span{position:absolute;left:0;top:19px;font-size:9px;color:var(--bronze)}.journey strong{font:500 23px var(--serif)}.journey p{font-size:11px;color:var(--muted);margin:5px 0 0}.complement{text-align:center;color:var(--muted);font-size:11px;margin:28px 0 0}
.about{background:#3d2d25;color:#f6edde}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:85px;align-items:center}.about .eyebrow{color:#d4b88e}.about h2{font-size:61px}.about h2 em{color:#ddc39c}.credential{font-size:10px;letter-spacing:.18em;margin:21px 0 0;color:#ead9c0}.fine-line{display:block;width:60px;height:1px;background:#9b7d59;margin-top:26px}.location-small{font-size:11px;line-height:1.9;color:#c8b6a6;margin-top:22px}.about-copy{border-left:1px solid #78604a;padding-left:55px}.about blockquote{font:italic 500 36px/1.18 var(--serif);letter-spacing:-.02em;margin:0 0 24px;color:#f6edde}.about-copy p{font-size:13px;color:#d4c5b7;margin:15px 0;line-height:1.85}.about-copy .button{margin-top:14px}
.contact{background:#f7f2e9}.contact-grid{display:grid;grid-template-columns:.85fr 1.35fr;gap:0;background:#eee5d7;border:1px solid var(--line);border-radius:8px;overflow:hidden}.contact-card{padding:35px 34px}.contact-card h3{font-size:37px}.contact-card address{font-style:normal;font-size:12px;line-height:1.8;color:var(--muted);margin-top:23px}.contact-card address strong{font-weight:600;color:var(--ink)}.contact-phone{display:block;font:500 25px var(--serif);margin-top:23px}.email{font-size:11px;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.plan-note{font-size:11px;line-height:1.85;color:var(--muted);margin-block:22px}.plan-note strong{color:var(--ink)}.map-wrap{position:relative;min-height:500px;background:#dfd1bb}.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) sepia(.3) contrast(.92) brightness(1.04)}.map-fallback{position:absolute;bottom:12px;right:12px;font-size:10px;padding:8px 13px;background:#fbf8f2;box-shadow:0 2px 10px #3d2d2520;border-radius:4px}footer{border-top:1px solid var(--line);padding-block:28px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner .brand img{width:125px;height:32px}.footer-inner .brand span{font-size:6px}.footer-inner>p{font:italic 22px var(--serif);color:var(--bronze)}.footer-inner small{font-size:9px;text-align:right;color:var(--muted);line-height:1.8}
@media(min-width:761px) and (max-width:1000px){.wrap{width:calc(100% - 56px)}.hero-grid{gap:40px}h1{font-size:65px}.nav nav{gap:15px;margin-right:0}.nav nav a{font-size:11px}.brand img{width:140px}.about-grid{gap:35px}.about-copy{padding-left:35px}figcaption{flex-direction:column;align-items:flex-start;gap:8px}.care-item{padding:30px}.contact-card{padding:30px 25px}}
@media(max-width:760px){html{scroll-padding-top:80px}section{scroll-margin-top:80px}.wrap{width:calc(100% - 40px)}.nav{min-height:80px;gap:12px}.nav nav{display:none}.brand img{width:123px;height:31px}.brand span{font-size:6px;letter-spacing:.25em;margin-top:6px}.desktop{display:none}.button-small{font-size:9px;padding-left:15px;gap:10px}.hero-grid{grid-template-columns:1fr;gap:31px;padding-block:34px 35px}.hero-copy{padding:0;text-align:center}.hero-copy .eyebrow{justify-content:center;font-size:9px;margin-bottom:19px}.hero-copy .eyebrow:before{width:24px}h1{font-size:clamp(53px,11.5vw,78px)}.intro{font-size:14px;max-width:390px;margin:20px auto 24px}.hero-more{margin:20px auto 0}.health-plan{justify-content:center;text-align:left;max-width:350px;margin:23px auto 0;padding-top:16px}.health-plan a{font-size:10px}.hero-portrait{width:min(100%,390px);margin-inline:auto;padding-right:10px}.portrait-frame{aspect-ratio:4/4.5;border-radius:155px 155px 8px 8px}.portrait-frame img{object-position:50% 30%}.photo-line{inset:12px 0 62px 12px;border-radius:155px 155px 8px 8px}figcaption{padding-top:19px;gap:8px}figcaption span{font-size:23px}figcaption small{font-size:7px}.section{padding-block:52px}.section-heading{margin-bottom:27px}h2{font-size:43px}.care-grid{grid-template-columns:1fr}.care-item{padding:29px 26px}.care-item h3{font-size:37px}.care-item>p:not(.eyebrow){font-size:13px}.care-tinted{border-left:0;border-top:1px solid var(--line)}.care-item .eyebrow{font-size:8px}.number{font-size:37px;right:24px}.journey{grid-template-columns:1fr;gap:17px;margin-top:25px}.journey>div{padding-top:12px}.journey span{top:17px}.journey p{font-size:12px}.complement{text-align:left;font-size:11px;line-height:1.85;margin-top:22px}.about-grid{grid-template-columns:1fr;gap:28px}.about h2{font-size:54px}.about-name .location-small,.about-name .fine-line{display:none}.about-copy{padding:25px 0 0;border-left:0;border-top:1px solid #78604a}.about blockquote{font-size:32px}.about-copy .button{font-size:10px;gap:15px;padding-left:20px}.contact-grid{grid-template-columns:1fr}.contact-card{padding:30px 26px}.map-wrap{min-height:350px}.footer-inner{flex-direction:column;gap:15px;text-align:center}.footer-inner>p{margin:0}.footer-inner small{text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button{transform:none!important}}

/* Logos supplied by the owner and insurance emphasis, 2026-10-10. */
.brand .logo-window{display:block;position:relative;width:214px;height:78px;overflow:hidden;margin:0;border-radius:4px;background:#f2e8d9}
.brand .logo-window img,.footer-inner .brand .logo-window img{position:absolute;max-width:none;width:140%;height:auto;left:-20%;top:50%;transform:translateY(-51%);object-fit:initial}
.insurance-banner{background:#3d2d25;color:#f9efdf;padding:12px 0}
.insurance-banner .wrap{display:flex;align-items:center;justify-content:center;gap:30px}
.insurance-banner strong{font-size:12px;letter-spacing:.17em}
.insurance-banner a{font-size:11px;color:#ecd2aa;text-decoration:underline;text-underline-offset:4px}
.insurance-banner a span{display:inline-block;margin-left:7px}
.health-plan{background:#e5d3b9;border:1px solid #bda380;border-radius:7px;padding:17px 19px;max-width:430px}
.health-plan strong{font-size:16px}.health-plan a{font-size:11px;margin-top:3px}
.emblem-window{width:115px;height:115px;position:relative;overflow:hidden;border-radius:50%;margin-bottom:25px}
.emblem-window img{position:absolute;max-width:none;width:205%;height:auto;left:-52.5%;top:-52.5%}
.plan-note{padding:16px;background:#e1cfb5;border-radius:5px}.plan-note strong{font-size:15px}
@media(max-width:1000px) and (min-width:761px){.brand .logo-window{width:166px;height:61px}.nav{gap:16px}.nav nav{gap:12px}}
@media(max-width:760px){.brand .logo-window{width:155px;height:58px}.nav{min-height:80px}.insurance-banner{padding:12px 0}.insurance-banner .wrap{flex-direction:column;gap:4px}.insurance-banner strong{font-size:11px;letter-spacing:.11em}.insurance-banner a{font-size:10px}.health-plan strong{font-size:15px}.health-plan{padding:14px}.emblem-window{width:95px;height:95px;margin-bottom:22px}}

/* Destination-specific icons. */
.button-icon svg{display:block;width:18px;height:18px;overflow:visible}
.button-small .button-icon svg{width:16px;height:16px}
.whatsapp-button:hover .button-icon,.directions-button:hover .button-icon{transform:none}
.whatsapp-button:focus-visible .button-icon svg{animation:wa-greet .65s ease both}
.directions-button:focus-visible .pin-body{animation:pin-arrive .7s ease both}
.directions-button:focus-visible .pin-ground{animation:pin-shadow .7s ease both}
.pin-body,.pin-ground{transform-box:fill-box;transform-origin:center}
.pin-ground{opacity:.4}
@media(hover:hover) and (pointer:fine){
.whatsapp-button:hover .button-icon svg{animation:wa-greet .65s ease both}
.directions-button:hover .pin-body{animation:pin-arrive .7s ease both}
.directions-button:hover .pin-ground{animation:pin-shadow .7s ease both}
}
@keyframes wa-greet{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(-12deg) scale(1.12)}50%{transform:rotate(10deg) scale(1.12)}75%{transform:rotate(-5deg) scale(1.06)}}
@keyframes pin-arrive{0%,100%{transform:translateY(0)}35%{transform:translateY(-3px)}65%{transform:translateY(1px)}82%{transform:translateY(-1px)}}
@keyframes pin-shadow{0%,100%{transform:scaleX(1);opacity:.4}35%{transform:scaleX(.65);opacity:.2}65%{transform:scaleX(1.1);opacity:.5}}
@media(prefers-reduced-motion:reduce){.button-icon svg,.pin-body,.pin-ground{animation:none!important}}

/* Transparent vector signature: integrated into the page, with no image tile. */
.brand .brand-wordmark,.footer-inner .brand .brand-wordmark{width:250px;height:auto;object-fit:contain}
.brand .brand-subtitle,.footer-inner .brand .brand-subtitle{display:flex;align-items:center;gap:9px;margin:9px 0 0;color:#6f4722;font:500 9px/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}
.brand-subtitle:before,.brand-subtitle:after{content:'';width:21px;height:1px;background:currentColor}
.nav{min-height:120px}.nav nav{gap:20px;margin-right:0}.nav nav a{white-space:nowrap}
.testimonials{background:#efe6d8;border-bottom:1px solid var(--line)}
.reviews-notice{max-width:580px;margin:0 auto 30px;text-align:center;font-size:11px;color:var(--muted)}
.reviews-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b9a084 transparent;padding:3px 2px 18px;overscroll-behavior-x:contain}
.review-card{flex:0 0 calc((100% - 44px)/3);min-width:0;scroll-snap-align:start;background:#fcf9f3;border:1px solid #ddcfbd;border-radius:9px;padding:28px;box-shadow:0 8px 20px -16px #694d32}
.review-card header{display:flex;align-items:center;gap:12px}.review-avatar{width:42px;height:42px;flex:none;border-radius:50%;background:#e9dcc9;color:#795936;display:grid;place-items:center;font:italic 23px var(--serif)}
.review-card h3{font:600 12px/1.5 var(--sans);letter-spacing:0}.review-card small{display:block;font:10px/1.5 var(--sans);color:var(--muted);margin-top:3px}.review-stars{color:#947044;letter-spacing:4px;font-size:16px;margin:22px 0 13px}.review-card blockquote{font:400 14px/1.9 var(--sans);margin:0;color:var(--muted)}.review-card a{display:inline-block;margin-top:15px;font-size:11px;text-decoration:underline}
.reviews-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:20px}.reviews-controls[hidden],.reviews-source[hidden]{display:none}.reviews-controls p{font-size:11px;color:var(--muted);min-width:120px;text-align:center}.review-arrow{width:44px;height:44px;border:1px solid #b69b7b;border-radius:50%;background:transparent;color:var(--bronze);font-size:21px;cursor:pointer;transition:background .25s,color .25s,transform .25s}.review-arrow:hover{background:var(--bronze);color:white;transform:translateY(-2px)}.review-arrow:disabled{opacity:.3;cursor:default;transform:none}.review-arrow:focus-visible,.reviews-track:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}.reviews-source{margin:24px auto 0}
@media(min-width:761px) and (max-width:1100px){.brand .brand-wordmark{width:210px}.nav nav{gap:12px}.nav nav a{font-size:10px}.nav{gap:18px}.review-card{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:760px){.nav{min-height:98px;gap:10px}.brand .brand-wordmark{width:174px}.brand .brand-subtitle{font-size:6.5px;letter-spacing:.17em;gap:5px;margin-top:6px}.brand-subtitle:before,.brand-subtitle:after{width:13px}.nav .button-small{padding-left:12px;gap:7px;font-size:8px}.review-card{flex-basis:88%;padding:25px}.reviews-track{gap:15px}.reviews-notice{font-size:10px}.footer-inner .brand .brand-wordmark{width:220px}.footer-inner .brand .brand-subtitle{font-size:8px}.reviews-controls{margin-top:10px}}
@media(max-width:360px){.nav .brand-wordmark{width:155px}.nav .brand-subtitle{font-size:5.8px}.nav.wrap{width:calc(100% - 30px)}}
@media(min-width:761px){html{scroll-padding-top:130px}section{scroll-margin-top:130px}}
@media(max-width:760px){html{scroll-padding-top:108px}section{scroll-margin-top:108px}}

/* Motion inspired by the Marina reference, adapted to VALIS. */
.hero-portrait{transform:translateY(var(--portrait-drift,0px))}
.care-item,.review-card{transition:background-color .35s,border-color .35s,box-shadow .35s}
.care-item .number{transition:transform .55s cubic-bezier(.22,1,.36,1),color .35s}
.journey>div:after{content:'';position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.brand .brand-wordmark{transition:transform .5s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){
.care-item:hover{background-color:#e8dbc8;box-shadow:inset 0 -3px 0 #a4845d}
.care-item:hover .number{transform:translateY(-5px);color:var(--bronze)}
.review-card:hover,.review-card:focus-within{border-color:#ab895e;box-shadow:0 12px 25px -15px #694d3260;background-color:#fffdf8}
.journey>div:hover:after{transform:scaleX(1)}
.brand:hover .brand-wordmark{transform:scale(1.025)}
}
@media(prefers-reduced-motion:no-preference){
h1 em,h2 em{background:linear-gradient(110deg,#795936 15%,#a17b4c 40%,#795936 65%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent}
h1 em{animation:valis-gold 3s ease-out 1}
h2:hover em{animation:valis-gold 2s ease-out 1}
@keyframes valis-gold{from{background-position:100% 0}to{background-position:0 0}}
}
@media(prefers-reduced-motion:reduce){.hero-portrait{transform:none}.journey>div:after{transition:none}.brand:hover .brand-wordmark{transform:none}}
.about h2 em{background:none;color:#ddc39c}

/* Orbit and floating reassurance cards inspired by the supplied video. */
.hero-portrait{isolation:isolate}.hero-grid{padding-top:83px;padding-bottom:74px}
.portrait-orbit{position:absolute;z-index:0;width:128%;left:-14%;top:-9%;pointer-events:none;color:#a48454}
.portrait-orbit svg{display:block;width:100%;height:auto;overflow:visible}.orbit-outline,.orbit-inner{fill:none;stroke:currentColor;stroke-width:.65;opacity:.55}.orbit-inner{opacity:.25}.orbit-spin{transform-origin:300px 300px;animation:valis-orbit 120s linear infinite}.orbit-spin text{fill:currentColor;font:19px Georgia,serif;letter-spacing:4px}.orbit-spin circle{fill:currentColor}
.hero-badge{position:absolute;z-index:4;display:flex;align-items:center;gap:12px;padding:12px 19px 12px 12px;background:rgba(251,247,238,.95);border:1px solid #fff9;border-radius:60px;box-shadow:0 12px 32px -18px #5d422c66;color:var(--ink);animation:valis-float 7s ease-in-out infinite}
.badge-symbol{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;font-size:21px;background:linear-gradient(115deg,#b69562,#ecd8ad,#b69562);color:#49321c}.hero-badge strong{display:block;font:500 22px/1.15 var(--serif);letter-spacing:-.015em}.hero-badge small{display:block;font-size:9px;color:var(--muted);line-height:1.5;margin-top:4px}.care-badge{left:-36px;top:62%}.plan-badge{right:-22px;bottom:76px;animation-delay:-2.8s}.badge-rating{display:flex;align-items:center;gap:12px}.badge-rating>span{font-size:11px;color:#9b753e;letter-spacing:2px}.plan-badge:hover{border-color:#af8b59}
.portrait-motion-toggle{position:relative;display:block;margin:13px 0 0 auto;z-index:4;border:0;border-bottom:1px solid #bca98f;padding:3px 0;background:transparent;color:var(--muted);font:9px var(--sans);cursor:pointer}.portrait-motion-toggle:focus-visible{outline:2px solid var(--bronze);outline-offset:5px}.hero-portrait.motion-paused .orbit-spin,.hero-portrait.motion-paused .hero-badge{animation-play-state:paused}
@keyframes valis-orbit{to{transform:rotate(360deg)}}
@keyframes valis-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(min-width:761px) and (max-width:1100px){.hero-badge{padding:10px;gap:9px}.hero-badge strong{font-size:18px}.hero-badge small{font-size:8px}.care-badge{left:-18px;top:56%}.plan-badge{right:-12px;bottom:96px}.badge-symbol{width:32px;height:32px}}
@media(max-width:760px){.hero-grid{padding-top:34px;padding-bottom:35px;gap:54px}.portrait-orbit{width:116%;left:-8%;top:-5%}.hero-badges{position:relative;z-index:4;display:grid;gap:12px;margin-top:24px}.hero-badge{position:relative;inset:auto;width:max-content;max-width:100%;padding:11px 16px 11px 11px;animation-duration:6s}.care-badge{justify-self:start}.plan-badge{justify-self:end}.hero-badge strong{font-size:21px}.hero-badge small{font-size:9px}.photo-line{bottom:auto;height:calc((100vw - 50px)*1.125 - 12px);max-height:416px}.portrait-motion-toggle{margin-top:18px}.hero-portrait figcaption{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.orbit-spin,.hero-badge{animation:none!important}.portrait-motion-toggle{display:none}}

/* Transparent silhouette with a soft alpha fade into the real page background. */
.hero-portrait .portrait-frame{background:transparent;border-radius:0;overflow:visible;mask-image:linear-gradient(to bottom,#000 0%,#000 74%,rgba(0,0,0,.85) 83%,rgba(0,0,0,.35) 93%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 74%,rgba(0,0,0,.85) 83%,rgba(0,0,0,.35) 93%,transparent 100%)}
.hero-portrait .portrait-frame img{object-fit:cover;object-position:50% 35%}
.hero-portrait .photo-line{display:none}
@media(max-width:760px){.hero-portrait .portrait-frame img{object-position:50% 30%}}

/* Anchor the cutout at its top: cover may crop the lower body, never the head. */
.hero-portrait .portrait-frame img{object-position:50% 0%;padding-top:20px;box-sizing:border-box}
@media(max-width:760px){.hero-portrait .portrait-frame img{object-position:50% 0%;padding-top:16px}}

/* Final composition and responsive refinements. */
.portrait-orbit{opacity:.62;width:120%;left:-10%;top:-5%}
.hero-portrait .portrait-frame{aspect-ratio:4/5.2}
.hero-portrait .portrait-frame img{object-position:50% 0%;padding-top:28px}
.care-badge{left:-20px;top:60%}.plan-badge{right:-10px;bottom:79px}.plan-badge strong{font-size:20px}
.hero-badge small{font-size:10px}.portrait-motion-toggle{min-height:44px;padding:10px 0;font-size:10px}
.plans{background:#f7f2e9;border-bottom:1px solid var(--line)}.plans-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.plans h2{font-size:clamp(38px,4vw,55px)}.plans-intro{max-width:460px;font-size:14px;color:var(--muted);margin:24px 0}.plans-steps>div{position:relative;padding:0 0 22px 38px;margin-bottom:20px;border-bottom:1px solid var(--line)}.plans-steps>div>span{position:absolute;left:0;top:3px;font-size:11px;color:var(--bronze)}.plans-steps h3{font:500 26px/1.2 var(--serif);letter-spacing:-.02em}.plans-steps p{font-size:13px;color:var(--muted);margin:10px 0 0}.plans-steps .plans-detail{font-size:11px;line-height:1.8}.plan-note a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:761px) and (max-width:1000px){.hero-badges{position:relative;display:grid;gap:14px;margin-top:24px}.hero-badge{position:relative;inset:auto;width:max-content;max-width:100%}.plan-badge{justify-self:end}.hero-badge strong{font-size:19px}.plans-layout{gap:35px}.nav nav{display:none}}
@media(max-width:760px){.portrait-orbit{width:110%;left:-5%;top:-1%}.hero-portrait .portrait-frame{aspect-ratio:4/5.2}.hero-portrait .portrait-frame img{padding-top:24px}.hero-badge{inset:auto;width:100%;animation-duration:8s}.hero-badge strong,.plan-badge strong{font-size:21px}.hero-badge small{font-size:11px}.hero-badges{gap:14px;margin-top:20px}.hero-portrait figcaption{gap:9px}.hero-portrait figcaption small{font-size:9px}.plans-layout{grid-template-columns:1fr;gap:34px}.plans .eyebrow{font-size:9px;letter-spacing:.13em}.plans-steps .plans-detail{font-size:12px}.button:not(.button-small){font-size:11px;min-height:54px}.contact-card .email{font-size:13px}.health-plan a{font-size:12px;line-height:1.6}.reviews-notice{font-size:12px}.review-card small{font-size:11px}.nav .button-small{font-size:9px;min-height:44px}.nav .brand-wordmark{width:160px}.insurance-banner a{display:inline-flex;align-items:center;min-height:36px;font-size:12px}.hero-more{min-height:36px;padding-top:7px}.contact-card .plan-note{font-size:12px}}
@media(max-width:360px){.nav .brand-wordmark{width:145px}.hero-badge strong,.plan-badge strong{font-size:19px}.hero-badge{padding-right:12px}.hero-badge small{font-size:10px}}

/* About the doctor: editorial portrait and overlapping brand detail. */
.about-editorial{background:#eee5d7;color:var(--ink);padding-block:95px}.about-editorial-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.about-editorial .eyebrow{color:var(--bronze)}.about-editorial h2{font-size:clamp(48px,5vw,66px)}.about-editorial h2 em{color:var(--bronze);background:none}.doctor-story>p:not(.eyebrow):not(.doctor-registration){font-size:14px;line-height:1.9;color:var(--muted);margin:18px 0}.doctor-registration{font-size:10px;letter-spacing:.1em;color:var(--bronze);margin:20px 0 25px}.doctor-values{list-style:none;padding:0;margin:27px 0;font-size:12px}.doctor-values li{position:relative;padding-left:30px;margin:13px 0}.doctor-values li:before{content:'✓';position:absolute;left:0;top:2px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;font-size:11px;color:#49321c;background:linear-gradient(110deg,#b99560,#e5cfa6)}.doctor-signature{font:italic 36px/1.1 var(--serif);color:var(--bronze);margin-top:28px}.doctor-signature span{display:block;margin-top:8px;font:10px/1.5 var(--sans);letter-spacing:.1em;color:var(--muted)}.doctor-visual{position:relative;padding:15px 15px 45px 0;min-width:0}.doctor-arch{position:relative;z-index:1;border-radius:240px 240px 12px 12px;overflow:hidden;aspect-ratio:2/3;background:#d9cbbb}.doctor-arch img{width:100%;height:100%;object-fit:cover;object-position:50% 0}.doctor-arch-line{position:absolute;inset:0 0 60px 17px;border:1px solid #b89869;border-radius:240px 240px 12px 12px}.doctor-seal{position:absolute;z-index:3;left:-48px;bottom:0;width:150px;min-height:164px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#f9f3e9;border:1px solid #fff9;border-radius:14px;box-shadow:0 16px 32px -20px #59402966;transform:rotate(-4deg)}.doctor-seal .emblem-window{width:95px;height:95px;margin:0}.doctor-seal>span{font-size:7px;letter-spacing:.14em;color:var(--bronze)}.doctor-callout{position:absolute;z-index:4;right:-15px;bottom:100px;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;background:#fbf7eeef;border:1px solid #fff9;border-radius:50px;box-shadow:0 12px 25px -18px #59402966}.doctor-callout strong{font:500 21px/1.15 var(--serif)}.doctor-callout small{display:block;font-size:9px;color:var(--muted);margin-top:4px}
@media(min-width:761px) and (max-width:1000px){.about-editorial-grid{gap:55px}.doctor-seal{width:125px;min-height:140px;left:-22px}.doctor-callout{right:0;bottom:145px;padding-right:12px}.doctor-callout strong{font-size:18px}}
@media(max-width:760px){.about-editorial{padding-block:58px}.about-editorial-grid{grid-template-columns:1fr;gap:42px}.about-editorial h2{font-size:49px}.doctor-story>p:not(.eyebrow):not(.doctor-registration){font-size:14px}.doctor-values{font-size:12px}.doctor-visual{width:min(100% - 16px,380px);margin-inline:auto;padding-bottom:70px}.doctor-seal{left:-8px;width:120px;min-height:132px;bottom:12px}.doctor-seal .emblem-window{width:78px;height:78px}.doctor-seal>span{font-size:6px}.doctor-callout{right:-8px;bottom:150px;padding:10px;gap:8px}.doctor-callout strong{font-size:18px}.doctor-callout small{font-size:9px}.doctor-callout .badge-symbol{width:32px;height:32px}.doctor-arch-line{bottom:85px}.doctor-registration{font-size:9px}.doctor-signature{font-size:32px}}

/* Original photographs supplied by Letícia, without generative edits. */
.doctor-inset{position:absolute;z-index:3;left:-45px;bottom:0;width:175px;aspect-ratio:3/4;padding:7px;border:1px solid #fff9;border-radius:18px;background:#f9f3e9;box-shadow:0 16px 32px -20px #59402966;transform:rotate(-3deg)}
.doctor-inset img{width:100%;height:100%;object-fit:cover;object-position:65% 0%;border-radius:12px}
@media(min-width:761px) and (max-width:1000px){.doctor-inset{width:140px;left:-25px}}
@media(max-width:760px){.doctor-inset{width:135px;left:-8px;bottom:0}.doctor-callout{bottom:190px}}
@media(max-width:360px){.doctor-inset{width:115px}.doctor-callout{bottom:166px}}

/* Word masks preserve natural text wrapping and expose each word from below. */
.motion-word-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.13em .04em .16em;margin:-.13em -.04em -.16em;line-height:inherit}
.motion-word{display:inline-block;transform-origin:left bottom}
h1.motion-title em,h2.motion-title em{color:var(--bronze);background:none}
@media(prefers-reduced-motion:reduce){.motion-word{transform:none!important}.motion-word-mask{overflow:visible}}

/* Scroll-linked treatment journey; readable without JavaScript. */
.treatment-journey{background:var(--cream);padding:0;position:relative}
.treatment-pin{padding:100px 0 85px}
.treatment-heading h2{font:500 clamp(42px,4.5vw,66px)/1.04 var(--serif);letter-spacing:-.025em;margin:24px 0}
.treatment-heading h2 em{font-weight:400;color:var(--bronze)}
.treatment-heading>p:last-child{color:var(--muted);font-size:13px;line-height:1.9}
.treatment-timeline{position:relative;margin-top:65px}
.treatment-steps{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;margin:0;padding:0}
.treatment-step{position:relative;min-width:0}
.treatment-node{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--cream);font-size:10px;letter-spacing:.08em;color:var(--muted);position:relative;z-index:2;transition:background .35s,color .35s,border-color .35s,box-shadow .35s}
.treatment-kicker{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:var(--bronze);margin:24px 0 10px;min-height:26px;line-height:1.7}
.treatment-step h3{font:500 27px/1.1 var(--serif);margin:0 0 15px;min-height:60px}
.treatment-description{font-size:11px;line-height:1.85;color:var(--muted);margin:0}
.treatment-rail{position:absolute;height:1px;left:22px;right:calc((100% - 120px)/6 - 22px);top:22px;background:var(--line)}
.treatment-progress{position:absolute;inset:0;background:var(--bronze);transform:scaleX(var(--journey-progress,1));transform-origin:left}
.treatment-cursor{position:absolute;left:calc(var(--journey-progress,1)*100%);top:-3px;height:7px;width:7px;border-radius:50%;background:var(--bronze);box-shadow:0 0 0 5px #79593612;transform:translateX(-50%);z-index:3}
.treatment-step.is-reached .treatment-node{border-color:var(--bronze);color:var(--bronze)}
.treatment-step.is-current .treatment-node{background:var(--bronze);color:var(--paper);box-shadow:0 0 0 6px #79593612}
.treatment-journey.is-enhanced .treatment-step{opacity:.45;transition:opacity .55s}
.treatment-journey.is-enhanced .treatment-step.is-reached{opacity:1}
.treatment-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:48px;border-top:1px solid var(--line);padding-top:22px}
.treatment-bottom p{max-width:440px;font-size:10px;color:var(--muted);line-height:1.8;margin:0}
.treatment-scroll{font-size:8px;letter-spacing:.17em;color:var(--bronze)}
.treatment-scroll span{font-size:17px;margin-left:15px}
@media(min-width:1000px) and (min-height:650px){.treatment-journey.is-enhanced{height:290vh}.is-enhanced .treatment-pin{position:sticky;top:102px;min-height:calc(100vh - 102px);display:flex;align-items:center;padding:48px 0}.is-enhanced .treatment-heading h2{font-size:clamp(42px,4vw,60px)}.is-enhanced .treatment-timeline{margin-top:45px}}
@media(max-width:999px),(max-height:649px){.treatment-pin{padding:70px 0}.treatment-steps{display:block}.treatment-step{padding:0 0 38px 76px;min-height:165px}.treatment-node{position:absolute;left:0;top:0}.treatment-step h3{min-height:0;font-size:30px}.treatment-kicker{margin:0 0 8px;min-height:0}.treatment-description{font-size:13px;max-width:550px}.treatment-rail{left:22px;right:auto;top:22px;bottom:143px;width:1px;height:auto}.treatment-progress{transform:scaleY(var(--journey-progress,1));transform-origin:top}.treatment-cursor{left:0;top:calc(var(--journey-progress,1)*100%);transform:translate(-50%,-50%)}.treatment-bottom{display:block}.treatment-scroll{display:none}.treatment-bottom p{font-size:11px;max-width:550px}.treatment-timeline{margin-top:44px}}
@media(prefers-reduced-motion:reduce){.treatment-step,.treatment-node{transition:none!important}.treatment-journey.is-enhanced{height:auto}.is-enhanced .treatment-pin{position:static}.treatment-scroll{display:none}}
/* Continuous, scroll-linked reveals with eased rail motion. */
.treatment-journey.is-enhanced .treatment-step,.treatment-journey.is-enhanced .treatment-step.is-reached{opacity:1;transition:none}
.is-enhanced .treatment-step>p,.is-enhanced .treatment-step>h3{opacity:calc(.18 + var(--step-reveal,1)*.82);transform:translate3d(0,calc((1 - var(--step-reveal,1))*16px),0);transition:none}
.is-enhanced .treatment-node{opacity:calc(.35 + var(--step-reveal,1)*.65);transform:scale(calc(.9 + var(--step-reveal,1)*.1));transition:background .65s ease,border-color .65s ease,color .65s ease,box-shadow .8s ease}
.treatment-step.is-current .treatment-node{background:var(--cream);color:var(--bronze);box-shadow:0 0 0 5px #7959360c}
.treatment-progress{will-change:transform}
.treatment-cursor{width:5px;height:5px;top:-2px;box-shadow:0 0 0 4px #79593609}
@media(max-width:999px),(max-height:649px){.treatment-cursor{top:calc(var(--journey-progress,1)*100%)}.is-enhanced .treatment-step>p,.is-enhanced .treatment-step>h3{opacity:calc(.4 + var(--step-reveal,1)*.6)}}
@media(prefers-reduced-motion:reduce){.is-enhanced .treatment-step>p,.is-enhanced .treatment-step>h3,.is-enhanced .treatment-node{opacity:1;transform:none}}

/* Editorial clarity and mobile booking. */
.treatment-description{font-size:13px;line-height:1.75}
.treatment-step h3{font-size:28px}
.treatment-kicker{font-size:9px}
@media(min-width:1000px) and (min-height:650px){.treatment-journey.is-enhanced{height:235vh}.is-enhanced .treatment-pin{padding:32px 0}.is-enhanced .treatment-timeline{margin-top:36px}.is-enhanced .treatment-bottom{margin-top:30px}}
.hero-badge{animation:none!important}
.faq{background:var(--paper)}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}
.faq-heading>p:last-child{font-size:14px;color:var(--muted);margin-top:22px;max-width:280px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;font:500 23px/1.3 var(--serif);padding:24px 0;min-height:64px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{font:300 22px/1 var(--sans);color:var(--bronze);transition:transform .3s;flex:none}
.faq-list details[open] summary>span{transform:rotate(45deg)}
.faq-answer p{font-size:13px;line-height:1.85;color:var(--muted);margin:0;padding:0 30px 24px 0}
.faq-list summary:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}
.mobile-booking{display:none}
@media(max-width:760px){.faq-layout{grid-template-columns:1fr;gap:30px}.faq-heading>p:last-child{max-width:none}.faq-list summary{font-size:23px;padding:21px 0}.faq-answer p{font-size:14px}.mobile-booking{display:block;position:fixed;z-index:30;bottom:0;left:0;right:0;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:#f7f2e9f5;border-top:1px solid var(--line);backdrop-filter:blur(10px)}.mobile-booking a{display:flex;align-items:center;justify-content:space-between;background:var(--bronze);color:#fffaf1;border-radius:99px;min-height:48px;padding:12px 23px;font-size:12px;font-weight:600}.mobile-booking a>span:last-child{font-size:20px}body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.treatment-description{font-size:14px}.hero-badges{margin-top:12px}.insurance-banner strong{font-size:9px}}

/* ===== Ajustes de 26/10/2026: legibilidade, alvos de toque, foco e Área profissional.
   Acrescentados no fim para não alterar o estilo aprovado acima. ===== */
summary:focus-visible,button:focus-visible{outline:3px solid #8f6b43;outline-offset:4px}
.nav nav .nav-pro{color:var(--bronze);font-weight:600}
.visit-note{font-size:12px;line-height:1.7;color:var(--muted);margin:10px 0 0}
.contact-card .email{display:inline-block;padding-block:6px}
.plan-note a,.insurance-banner a{display:inline-block;padding-block:4px}
.footer-pro{font-size:12px;letter-spacing:.06em;color:var(--bronze);text-decoration:underline;text-underline-offset:4px;padding-block:8px}
.footer-inner small{font-size:11px}
.treatment-kicker,.treatment-scroll,.doctor-registration{font-size:10px}
@media(min-width:761px){.hero-badge small{font-size:10px}}
figcaption small,.hero-portrait figcaption small{font-size:10px}
.map-fallback{font-size:12px}
@media(min-width:1001px) and (max-width:1180px){.nav nav{gap:16px}.nav nav a{font-size:11px}}
@media(max-width:760px){.contact-card .email{font-size:14px}.visit-note{font-size:13px}.footer-inner small{font-size:12px}}
@media(max-width:760px){.insurance-banner strong,.nav .button-small,.hero .eyebrow,.eyebrow{font-size:10px}}
.nav .button-small{font-size:10px}
.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}
html.motion-paused .button:after{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.button:after{animation:none}}
@media(max-width:760px){html{scroll-padding-bottom:96px}}
@media(min-width:1000px) and (max-width:1099px){.treatment-step h3{font-size:23px}}
.footer-pro,.footer-inner small{white-space:nowrap}
@media(min-width:761px) and (max-width:900px){.footer-inner{flex-wrap:wrap;justify-content:center;text-align:center}.footer-inner small{text-align:center}}
.doctor-callout small{font-size:10px}
/* Identificação obrigatória (CFM 2.336/2023, art. 5º): legível, junto da logomarca do rodapé */
.footer-inner small.footer-legal{white-space:normal;font-size:12px;line-height:1.7;color:var(--ink)}
.footer-legal .nw{white-space:nowrap}
@media(min-width:901px){.footer-inner small.footer-legal{max-width:420px}}
