/* Layout, floating glass navigation and restrained interaction system. */
:root{--layout-width:1160px;--space-section:100px;--ease-out:cubic-bezier(.22,.7,.26,1)}
html{scroll-padding-top:108px}
.page-progress{position:fixed;inset:0 0 auto;height:2px;z-index:40;pointer-events:none;background:var(--brand);transform:scaleX(var(--page-progress,0));transform-origin:left}
.header{gap:24px;transition:background .3s,height .3s,top .3s,left .3s,right .3s,border-radius .3s,box-shadow .3s;color:#ffffff}
.header.is-scrolled{top:12px;left:clamp(16px,2.6vw,50px);right:clamp(16px,2.6vw,50px);width:auto;height:76px;padding:0 24px;border:1px solid #ffffffb3;border-radius:26px;background:#ffffffbd;color:#111111;box-shadow:0 8px 26px #00000012;backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%)}
.header.is-scrolled .brand-logo{width:136px;opacity:.9}
.header nav{gap:12px}
.header nav a{padding:11px 13px;border-radius:22px;transition:background .2s,color .2s}
.header nav a:after{display:none}
.header nav a:hover,.header nav a[aria-current="location"]{background:#ffffff1a}
.header.is-scrolled nav a:hover,.header.is-scrolled nav a[aria-current="location"]{background:#0951a510;color:var(--brand)}
.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:7px 9px 7px 18px;white-space:nowrap;transition:background .25s,box-shadow .25s,transform .25s}
.cta-icon-wrap{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffff;color:var(--brand)}
.header-cta svg{width:18px;height:18px;fill:currentColor;stroke:none}
.header:not(.is-scrolled) a:focus-visible{outline-color:#ffffff}
.header.is-scrolled .header-cta:hover{transform:translateY(-2px);box-shadow:0 7px 18px #0951a52e}
.hero{min-height:740px}
.hero-backdrop{background:radial-gradient(ellipse at 14% 35%,#0c63cc4d,transparent 60%),linear-gradient(110deg,#0951a5,#082c57 68%,#06182b)}
.hero-backdrop:before{content:'';position:absolute;inset:0 0 0 auto;width:83%;background-image:linear-gradient(90deg,#0951a573,#0951a58c),url('assets/cuidado-cirurgico.webp');background-size:cover;background-position:center;mask-image:linear-gradient(90deg,transparent,#000000 12%,#000000 30%,transparent 41%);-webkit-mask-image:linear-gradient(90deg,transparent,#000000 12%,#000000 30%,transparent 41%);translate:0 var(--hero-shift,0px)}
.hero-subject{z-index:1;mask-image:none;-webkit-mask-image:none;filter:none;translate:0 var(--hero-shift,0px)}
.hero-subject img{filter:none}
.hero-shade{z-index:0;background:linear-gradient(90deg,#0951a526,transparent 48%)}
.hero-copy{width:58%;max-width:740px}
.hero-support{max-width:660px}
.body-section h2{font-size:clamp(34px,3.45vw,52px);line-height:1.14}
.body-heading,.centered-heading{margin-bottom:44px}
.body-heading>p{line-height:1.8}
.split-heading{gap:64px;align-items:center}
.focus-grid{gap:28px}
.focus-copy{padding:28px 30px 32px}
.focus-copy h3{font-size:24px;margin-bottom:12px}
.focus-card,.surgical-photo{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s var(--ease-out),box-shadow .35s,border-color .3s}
.focus-image{aspect-ratio:1.85}
.surgical-gallery{max-width:1040px;margin:48px auto 0;grid-template-columns:1fr 1fr;gap:24px}
.surgical-photo{height:414px}
.surgical-photo-wide img{object-position:center 38%}
.surgical-photo-team img{object-position:center 34%}
.video-grid{max-width:1000px;gap:26px}
.video-frame{box-shadow:0 8px 24px #0000000a;transition:box-shadow .35s,transform .35s}
.video-caption{padding-top:20px}
.video-caption>span{font-size:9px}
.video-consultation{margin-top:20px}
.video-pagination{display:none}
.comparison-shell{max-width:980px;padding:14px;box-shadow:0 14px 38px #0951a512;transition:box-shadow .35s}
.compare-frame{aspect-ratio:1.65}
.compare-handle{transition:background .2s,scale .2s}
.physician-section{grid-template-columns:1.05fr 1fr;gap:88px;padding-top:8px;padding-bottom:96px}
.physician-images{max-width:440px}
.physician-inset{width:38%;border-radius:17px}
.physician-copy{max-width:475px}
.physician-copy>p:not(.physician-crm){line-height:1.8}
.location-section{display:block;padding-top:24px}
.clinic-section{padding-top:0;padding-bottom:38px}
.clinic-gallery{display:grid;grid-template-columns:1.5fr .82fr .82fr;gap:18px}
.clinic-photo{height:280px;min-width:0;margin:0;padding:5px;border:1px solid #0951a51f;border-radius:22px;background:#ffffff;overflow:hidden;box-shadow:0 6px 22px #00000007}
.clinic-photo img{width:100%;height:100%;object-fit:cover;border-radius:17px;transition:transform .65s var(--ease-out)}
.clinic-photo-main img{object-position:60% center}
.clinic-photo-welcome img{object-position:center 68%}
.clinic-photo-care img{object-position:center 62%}
.location-heading{max-width:800px}
.location-panel{display:grid;grid-template-columns:.95fr 1.05fr;min-height:480px;border:1px solid #0951a526;border-radius:26px;overflow:hidden;box-shadow:0 12px 36px #0000000a;background:#ffffff}
.location-copy{padding:40px;display:flex;flex-direction:column;justify-content:center}
.location-details{display:grid;grid-template-columns:1fr;gap:23px;margin:0;padding:0;border:0}
.location-label{display:block;margin-bottom:8px;color:var(--brand);font-size:10px;line-height:1.5;letter-spacing:1.2px;font-weight:550;text-transform:uppercase}
.location-copy address{font-size:15px;line-height:1.8}
.location-copy address>span{font-size:12px}
.location-hours{font-size:14px;line-height:1.75}
.location-phone{font-size:22px;margin-top:26px}
.location-actions{margin-top:24px;gap:22px}
.location-actions .button{gap:9px;padding:14px 22px}
.location-actions .button svg{width:20px;height:20px;fill:currentColor;stroke:none;flex-shrink:0}
.location-map{min-height:480px;height:100%;border:0;border-left:1px solid #0951a51a;border-radius:0;background:#f1f3f6}
.location-map iframe{display:block}
.body-faq{display:block}
.body-faq .body-heading{text-align:center;margin:0 auto 42px;max-width:760px}
.body-faq-list{max-width:900px;margin:auto;border:0;display:grid;gap:12px}
.body-faq-list details{border:1px solid #dedede;border-radius:16px;background:#ffffff;transition:border-color .25s,box-shadow .25s}
.body-faq-list summary{padding:22px 25px;font-size:15px;line-height:1.6;gap:22px}
.body-faq-list summary span{color:var(--brand);font-size:21px}
.body-faq-list details p{padding:0 25px 24px;font-size:14px;line-height:1.8}
.body-faq-list details[open]{border-color:#0951a54d;box-shadow:0 6px 20px #0951a50a}
.body-faq-list details[open] summary{color:var(--brand)}
.body-faq-list details[open] p{animation:answer-appear .25s var(--ease-out) both}
@keyframes answer-appear{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.body-footer{padding-top:46px}
.footer-main{gap:40px}
.footer-social{transition:transform .25s,box-shadow .25s,background .25s,border-color .25s}
.footer-credit{margin-right:74px}
.floating-whatsapp{position:fixed;right:28px;bottom:24px;z-index:25;display:grid;place-items:center;width:58px;height:58px;border:1px solid #ffffff8c;border-radius:50%;background:var(--brand);color:#ffffff;box-shadow:0 8px 24px #0951a540,0 2px 5px #00000014;opacity:0;visibility:hidden;translate:0 12px;pointer-events:none;transition:opacity .3s,translate .3s,visibility .3s,box-shadow .25s}
.floating-whatsapp[hidden]{display:none}
.floating-whatsapp.is-visible{opacity:1;visibility:visible;translate:0 0;pointer-events:auto}
.floating-whatsapp>svg{width:28px;height:28px;fill:currentColor;stroke:none}
.floating-label{position:absolute;right:70px;padding:10px 14px;border:1px solid #0951a526;border-radius:12px;background:#ffffff;color:#111111;font-size:12px;line-height:1.5;white-space:nowrap;box-shadow:0 6px 18px #0000000a;opacity:0;translate:5px 0;pointer-events:none;transition:opacity .2s,translate .2s}
.floating-whatsapp:focus-visible .floating-label{opacity:1;translate:0 0}
.motion-ready .reveal{transition:opacity .65s var(--ease-out),translate .8s var(--ease-out)}
.motion-ready .reveal:not(.visible){opacity:0;translate:0 var(--reveal-offset,22px)}
html[data-scroll-direction="up"]{--reveal-offset:-18px}
.motion-ready .reveal.visible,.motion-ready .reveal:focus-within{opacity:1;translate:0 0}
.focus-grid>.reveal:nth-child(2),.surgical-gallery>.reveal:nth-child(2){transition-delay:40ms}
@media(hover:hover) and (pointer:fine){
 .clinic-photo:hover img{transform:scale(1.035)}
 .focus-card:hover,.surgical-photo:hover{transform:perspective(1000px) translateY(-6px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));box-shadow:0 18px 40px #0951a51f,0 5px 12px #0000000a;border-color:#0951a559}
 .video-frame:hover{box-shadow:0 16px 34px #00000014}
 .video-play:hover{transform:translate(-50%,-50%) scale(1.065)}
 .comparison-shell:hover{box-shadow:0 20px 46px #0951a51f}
 .compare-frame:hover .compare-handle{scale:1.07;background:#0951a5d9}
 .button-dark:hover{transform:translateY(-2px);box-shadow:0 8px 18px #0951a524}
 .footer-social:hover{transform:translateY(-3px);box-shadow:0 5px 15px #0000001a}
 .floating-whatsapp:hover{box-shadow:0 12px 28px #0951a559,0 3px 8px #0000001a}
 .floating-whatsapp:hover .floating-label{opacity:1;translate:0 0}
}
@media(max-width:1100px){
 :root{--space-section:80px}
 .header{gap:16px}
 .header nav{gap:1px;font-size:11px}
 .header nav a{padding:10px 9px}
 .header .brand-logo{width:132px}
 .header.is-scrolled{padding:0 18px}
 .header.is-scrolled .brand-logo{width:120px}
 .header-cta{font-size:10px;padding-left:14px;gap:8px}
 .hero-support .hero-actions{position:static;margin-top:20px}
 .hero-backdrop:before{width:91%}
 .surgical-photo{height:340px}
 .surgical-gallery{margin-top:40px}
 .physician-section{gap:56px;padding-bottom:80px}
 .location-copy{padding:30px}
 .location-panel{grid-template-columns:1fr 1fr}
 .location-map{min-height:490px}
}
@media(max-width:700px){
 :root{--space-section:68px}
 html{scroll-padding-top:96px}
 .header{height:86px;gap:14px}
 .header .brand-logo{width:125px}
 .header-cta{display:none}
 .header.is-scrolled{left:12px;right:12px;top:10px;height:68px;padding:0 15px;border-radius:22px}
 .header.is-scrolled .brand-logo{width:112px}
 .header nav.is-open{top:calc(100% + 10px);left:0;right:0;padding:16px;border:1px solid #ffffffb3;border-radius:20px;background:#fffffff0;color:#111111;box-shadow:0 10px 28px #00000012;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);gap:6px}
 .header nav a{font-size:14px;padding:12px 14px;width:100%}
 .header nav a:hover,.header nav a[aria-current="location"]{background:#0951a50d;color:var(--brand)}
 .hero{min-height:850px;padding-top:clamp(330px,42svh,390px);padding-bottom:96px}
 .hero-subject{height:87%;translate:none;mask-image:linear-gradient(180deg,#000000 70%,#000000fa 74%,#000000e0 79%,#000000ad 83%,#00000066 87%,#0000002b 91%,#0000000a 95%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000000 70%,#000000fa 74%,#000000e0 79%,#000000ad 83%,#00000066 87%,#0000002b 91%,#0000000a 95%,transparent 100%)}
 .hero-backdrop:before{width:100%;height:87%;background-position:center;translate:none;mask-image:linear-gradient(90deg,#000000 16%,transparent 32%),linear-gradient(180deg,#000000 72%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000000 16%,transparent 32%),linear-gradient(180deg,#000000 72%,transparent 100%);mask-composite:intersect;-webkit-mask-composite:source-in}
 .hero:after{background:none}
 .hero-copy{width:88%;max-width:none;top:28px}
 .hero-copy h1{font-size:clamp(49px,14.2vw,66px);text-shadow:0 2px 5px #00000080,0 7px 20px #00000066}
 .hero-byline{flex-direction:column;align-items:flex-start;gap:5px;margin-bottom:18px;text-shadow:0 1px 5px #00000080}
 .hero-byline>span:last-child{border-left:0;padding-left:0}
 .hero-support{max-width:none;margin-top:26px;padding-top:21px}
 .hero-support .hero-description{text-shadow:0 1px 6px #0000004d}
 .hero-support .hero-actions{margin-top:23px}
 .body-section h2{font-size:clamp(31px,8.5vw,39px);line-height:1.16}
 .body-heading,.centered-heading,.comparison-copy{max-width:100%;margin:0 auto 32px;text-align:center}
 .split-heading{display:block}
 .body-heading>p,.centered-heading>p,.split-heading>p{max-width:340px;margin:20px auto 0;text-align:center}
 .focus-grid{gap:26px}
 .focus-copy{padding:23px 24px 26px}
 .focus-copy h3{font-size:23px}
 .surgical-gallery{gap:14px;margin-top:32px;max-width:none}
 .surgical-photo{height:238px}
 .surgical-photo-wide img{object-position:48% 37%}
 .surgical-photo-team img{object-position:65% 32%}
 .videos-section{overflow:hidden}
 .video-grid{width:calc(100% + 2*var(--gutter));max-width:none;margin-inline:calc(-1*var(--gutter));padding:8px var(--gutter) 18px;gap:14px;scroll-padding-inline:15vw;scrollbar-width:none;overscroll-behavior-x:contain}
 .video-grid::-webkit-scrollbar{display:none}
 .video-card{flex:0 0 64%}
 .video-card-featured{flex-basis:70%}
 .video-frame{border-radius:17px}
 .video-caption{padding-top:17px}
 .video-caption h3{font-size:18px}
 .video-consultation{font-size:11px;padding:12px 15px;min-height:44px;gap:7px}
 .video-consultation svg{width:18px;height:18px}
 .video-audio{top:12px;right:10px;font-size:9px;gap:6px;padding:9px 10px}
 .video-audio svg{width:17px;height:17px}
 .video-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:9px}
 .video-nav{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #0951a533;border-radius:50%;background:#ffffff;color:var(--brand);box-shadow:0 3px 10px #00000006}
 .video-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .video-nav:disabled{opacity:.3;cursor:default}
 .video-dots{display:flex;gap:5px;align-items:center}
 .video-dot{display:grid;place-items:center;width:24px;height:30px;border:0;padding:0;background:transparent}
 .video-dot span{width:6px;height:6px;border-radius:50%;background:#0951a536;transition:width .25s,background .25s}
 .video-dot[aria-pressed="true"] span{width:19px;border-radius:5px;background:var(--brand)}
 .comparison-shell{padding:9px;border-radius:22px}
 .compare-frame{aspect-ratio:1.25}
 .physician-section{grid-template-columns:minmax(0,1fr);gap:34px;padding-top:0;padding-bottom:66px}
 .physician-copy{width:100%;max-width:none;min-width:0}
 .physician-images{margin-bottom:22px}
 .physician-inset{width:37%;bottom:-18px}
 .physician-copy h2,.physician-crm{text-align:center}
 .physician-crm{margin:18px 0 24px}
 .physician-copy>p:not(.physician-crm){text-align:left;font-size:14px;line-height:1.85}
 .location-section{padding-top:12px}
 .clinic-section{padding-top:0;padding-bottom:28px}
 .clinic-gallery{grid-template-columns:1fr 1fr;gap:12px}
 .clinic-photo{height:176px;padding:4px;border-radius:17px}
 .clinic-photo img{border-radius:12px}
 .clinic-photo-main{grid-column:1/-1;height:auto;aspect-ratio:1.7}
 .location-panel{grid-template-columns:1fr;border-radius:22px}
 .location-copy{padding:27px 25px 30px}
 .location-details{gap:23px}
 .location-copy address{font-size:14px}
 .location-phone{font-size:21px;margin-top:23px}
 .location-actions{gap:20px;margin-top:23px}
 .location-actions .button{padding:13px 19px}
 .location-map{min-height:310px;height:310px;border:0;border-top:1px solid #0951a51a}
 .body-faq .body-heading{margin-bottom:30px}
 .body-faq-list{gap:10px}
 .body-faq-list summary{font-size:14px;padding:19px 19px;gap:17px}
 .body-faq-list details p{font-size:13px;padding:0 19px 20px;line-height:1.85}
 .body-footer{padding:38px 24px 24px;border-top:2px solid var(--brand)}
 .footer-main{display:flex;flex-direction:column;align-items:center;gap:20px;padding-bottom:27px;text-align:center}
 .body-footer .footer-logo{width:136px}
 .body-footer p{font-size:11px;line-height:1.85;max-width:310px}
 .footer-socials{gap:12px}
 .footer-social{width:44px;height:44px}
 .footer-social svg{width:19px;height:19px}
 .footer-bottom{align-items:center;text-align:center;gap:17px;padding-top:22px}
 .footer-links{justify-content:center;gap:23px}
 .footer-links,.body-footer .privacy-open,.footer-credit{font-size:11px}
 .footer-credit{margin-right:0}
 .floating-whatsapp{width:54px;height:54px;right:18px;bottom:max(18px,env(safe-area-inset-bottom))}
 .floating-whatsapp>svg{width:26px;height:26px}
 .floating-label{right:64px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
 .clinic-photo img{transition:none;transform:none!important}
 .hero-subject{translate:none!important}
 .focus-card,.surgical-photo,.button-dark:hover,.footer-social:hover{transform:none!important}
 .motion-ready .reveal:not(.visible){opacity:1;translate:none}
}
