/* Optical editorial direction. Shared tokens, with a distinct surgical identity. */
:root{--ink:#123b35;--ivory:#f6f5ee;--mint:#d4e6a5;--line:#b9c6b8}
html{scroll-behavior:smooth;scroll-padding-top:110px;scrollbar-gutter:stable}
.institute{--paper:var(--ivory);--forest:var(--ink);--green:#3c7461;background:var(--ivory)}
.institute .wrap,.hub .wrap{width:min(1400px,calc(100% - 112px))}
.institute .topbar{background:#102f2b;color:#dce9df;padding:8px 0;font-size:13px}
.institute .header{background:#f6f5eef5;border-bottom:1px solid #163b3520;backdrop-filter:blur(20px)}
.institute .header-inner{min-height:88px}
.institute .nav{font-size:16px;gap:24px}
.institute .nav .button{font-size:15px;min-height:46px;padding:12px 20px}
.institute .institute-brand strong{font-size:19px}
.institute .institute-brand img{height:48px;width:48px}
.institute h2{font-size:clamp(48px,5.6vw,86px);line-height:1.04;letter-spacing:-.055em}
.institute h2 em{color:#3d7360}
.institute .section-index{display:flex;align-items:center;gap:13px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:28px}
.institute .section-index:before{content:"";width:25px;height:1px;background:currentColor}
.institute .motion-section{padding:112px 0}
.institute .button{font-size:17px;min-height:56px;padding:16px 24px;gap:28px;transition:background .25s,transform .25s}
.institute .button svg{width:20px}
.institute .text-link{font-size:17px}
.institute .landing-hero{position:relative;overflow:hidden;isolation:isolate;background:#102f2b;color:var(--ivory);padding:0;border:0}
.landing-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 78% 36%,#46786365,transparent 48%);z-index:-1}
.vision-composition{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;min-height:650px;gap:35px;padding-top:65px;padding-bottom:58px}
.hero-kicker{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#d0ddcc}
.hero-kicker>span{height:6px;width:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 16px #d4e6a559}
.institute .hero-editorial h1{font:400 clamp(66px,6.7vw,106px)/1.01 Georgia,'Times New Roman',serif;letter-spacing:-.065em;margin:28px 0 24px;color:var(--ivory);max-width:780px}
.institute .hero-editorial h1 em{font-weight:400;font-style:italic;color:var(--mint);white-space:nowrap}
.institute .hero-editorial>p{font-size:18px;line-height:1.7;color:#ccd9d0;max-width:435px;margin:0}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:35px}
.institute .hero-actions .button{background:var(--mint);border-color:var(--mint);color:#163c34}
.institute .hero-actions .button:hover{background:#e5f3c5;border-color:#e5f3c5}
.hero-discover{font-size:14px;display:flex;align-items:center;gap:15px;color:#e0e8dd;min-height:48px}
.hero-discover span{display:grid;place-items:center;border:1px solid #c8dbc050;width:30px;height:30px;border-radius:50%}
.vision-art{position:relative;width:100%;aspect-ratio:1;isolation:isolate;--px:0px;--py:0px}
.vision-lens{position:absolute;inset:13%;border-radius:50%;overflow:hidden;box-shadow:inset 0 0 0 1px #ecf4d4,0 20px 100px #040f0c80;transform:translate(var(--px),var(--py));transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.vision-lens>img{width:100%;height:100%;object-fit:cover;object-position:52% 42%;transform:scale(1.09);animation:lens-life 18s ease-in-out infinite alternate}
.lens-glint{position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 35px #faf3cc30,inset 0 0 2px 2px #f4f1cb85;background:linear-gradient(125deg,#ffffff26,transparent 45%)}
.orbital{position:absolute;inset:0;border:1px solid #d3e7bd30;border-radius:50%;pointer-events:none}
.orbital-one{transform:rotate(-28deg) scaleY(.75);animation:orbit-life 18s ease-in-out infinite alternate}
.orbital-two{inset:5%;transform:rotate(40deg) scaleX(.82);border-color:#d3e7bd50}
.orbital-one:before{content:"";position:absolute;top:20%;left:10%;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 20px #d4e6a5}
.lens-cross{position:absolute;font:200 23px/1 Arial,sans-serif;color:#b7cead;opacity:.7}
.cross-one{top:10%;left:25%}.cross-two{bottom:24%;right:5%}
.lens-caption{position:absolute;right:0;bottom:7%;padding:17px 22px;border-left:1px solid #b7cead90;background:#123a30b8;backdrop-filter:blur(18px);transform:translateX(6%);box-shadow:0 10px 40px #091c1a30}
.lens-caption span{display:block;color:#bdcdbd;font-size:12px;margin-bottom:5px}
.lens-caption strong{font:italic 26px/1.25 Georgia,serif;color:#f0f3df;font-weight:400}
.ambience-control{position:absolute;top:0;right:0;font:12px/1.4 Arial,sans-serif;padding:8px 0;background:none;border:0;color:#c9d9c9;cursor:pointer;display:flex;gap:12px;min-height:44px}
.ambience-paused .vision-lens>img,.ambience-paused .orbital-one{animation-play-state:paused}
.ambience-paused .vision-lens{transform:none}
.institute .hero-film{position:static;min-height:0;height:auto;overflow:visible;background:transparent}
.hero-film .opening-video{position:absolute;inset:0;width:100%;height:100%;max-height:100%;object-fit:contain;background:#f8f9f6;z-index:6;opacity:0;visibility:hidden;transition:opacity .5s}
.hero-film.has-video .opening-video{opacity:1;visibility:visible}
.hero-film-controls{left:auto;right:56px;bottom:180px;z-index:7;display:flex;gap:12px}
.hero-film-controls button{background:transparent;color:#d4e2ce;border:0;border-bottom:1px solid #8fa88c80;border-radius:0;backdrop-filter:none;padding:9px 0;font-size:13px;min-height:44px}
.hero-film-controls button:hover{background:transparent;color:#fff}
.hero-film.has-video .hero-film-controls button{background:#123b35;color:white;border-radius:30px;padding:12px 20px}
.hero-pathways{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d4e6a530;position:relative;margin-top:16px}
.hero-pathways>a{position:relative;padding:25px 55px 30px 0;transition:background .3s}
.hero-pathways>a+a{border-left:1px solid #d4e6a530;padding-left:40px}
.hero-pathways>a:hover .path-arrow{transform:translate(4px,-4px);color:var(--mint)}
.path-label{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:#cbd9b9;margin-bottom:8px}
.hero-pathways strong{display:block;font-size:20px;font-weight:400;letter-spacing:-.025em}
.path-detail{display:block;color:#b2c6bb;font-size:14px;margin-top:5px}
.path-arrow{position:absolute;right:25px;top:43%;font-size:29px;font-weight:300;transition:transform .3s}
.hero-pathways>a:last-child .path-arrow{right:0}
.intro-arrived .hero-editorial{animation:arrival-copy 1.1s cubic-bezier(.16,1,.3,1) both}
.intro-arrived .vision-art{animation:arrival-lens 1.6s cubic-bezier(.16,1,.3,1) both}
.intro-arrived .hero-pathways{animation:arrival-copy 1.2s .15s both}
.opening-film.is-leaving{display:block!important;opacity:0;pointer-events:none}
.institute .editorial-intro{position:relative}
.institute .intro-heading{grid-template-columns:1.25fr .75fr;gap:0 80px;margin-bottom:55px}
.institute .intro-title h2{font-size:clamp(68px,7.6vw,116px)}
.institute .intro-title .intro-manifesto{font-size:19px;line-height:1.7}
.institute .intro-heading>div:not(.intro-title)>p:first-child{font-size:18px;line-height:1.8}
.institute .room-panorama{border-radius:120px 4px 4px 4px}
.institute .room-panorama img{height:450px}
.institute .room-panorama figcaption{font-size:14px;padding:45px 35px 30px}
.institute .care-section{background:#e7ecdf;border-block:1px solid #c5cdbd}
.institute .care-layout{gap:90px}
.institute .care-heading{position:sticky;top:140px;align-self:start}
.institute .care-heading>p{font-size:18px;line-height:1.7}
.institute .care-detail{padding:24px 0;border-color:#adbeac}
.institute .care-detail>summary{font-size:24px;transition:color .3s}
.institute .care-detail[open]>summary{color:#1b6551}
.institute .care-detail>div p{font-size:18px;line-height:1.7}
.institute .display-heading h2{font-size:clamp(54px,5.6vw,86px)}
.institute .carlo-feature{gap:0;grid-template-columns:1fr 1fr;background:#eceee3;border:1px solid #ced5c5}
.institute .carlo-image{height:100%;min-height:550px;aspect-ratio:auto;border-radius:0}
.institute .doctor-info{padding:45px}
.institute .doctor-info h3{font-size:40px}
.institute .doctor-info p{font-size:17px;line-height:1.7}
.institute .doctor-info .specialties{font-size:24px}
.institute .doctor-info .registration{font-size:14px}
.institute .role-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.institute .colleague-grid{gap:50px;margin-top:50px}
.institute .colleague{grid-template-columns:.8fr 1fr;gap:27px}
.institute .colleague-portrait{border-radius:100px 100px 3px 3px}
.institute .colleague h3{font-size:30px}
.institute .colleague p{font-size:17px}
.institute .colleague .registration{font-size:13px}
.institute .technology-section{background:#123b35;color:var(--ivory)}
.institute .technology-section h2 em{color:var(--mint)}
.institute .technology-section .section-index{color:#d4e2c9}
.institute .technology-section .split-heading p{color:#ccd9cf;font-size:18px;line-height:1.7}
.institute .technology-gallery{gap:55px;grid-template-columns:1.2fr .65fr;align-items:center}
.institute .technology-gallery figure{border-radius:3px}
.institute .technology-gallery figcaption{color:#d0dacf;border-color:#aabfa24d;font-size:14px}
.institute .tech-main img{border-radius:50% 50% 4px 4px}
.institute .split-heading>p,.institute .split-heading>div>p{font-size:18px;line-height:1.7}
.institute .coverage-directory{border-radius:3px;background:#eeeee4;padding:35px}
.institute .search-field{background:#fafbf5;border-radius:0;max-width:none}
.institute .coverage-toggle{font-size:18px}
.institute .voices-section{background:#dce8c2;color:#183c33;position:relative}
.institute .voices-section h2 em{color:#527248}
.institute .voices-section .section-index,.institute .voices-section .split-heading>p{color:#47613f}
.institute .review-carousel{border-color:#8ea57d}
.institute .review-context{color:#47613f;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.institute .review-slide{max-width:1100px;min-height:310px}
.institute .review-slide blockquote{font-family:Georgia,serif;font-size:clamp(30px,3.4vw,49px);line-height:1.35}
.institute .quote-mark{color:#65805b}
.institute .review-attribution p{color:#47613f}
.institute .review-attribution .text-link{color:#183c33;border-color:#738967}
.institute .review-controls{border-color:#8ea57d;color:#183c33}
.institute .review-position{color:#47613f}
.institute .review-controls button{border-color:#7f976f;color:#183c33}
.institute .review-controls button:hover{background:#183c33;color:white}
.institute .patient-faq summary{font-size:20px}
.institute .patient-faq details p{font-size:18px}
.institute .hub-invitation{background:linear-gradient(90deg,#0b222af5,#0b222ad9),url('hub-cirurgia.jpg') center 40%/cover;position:relative}
.institute .hub-invitation h2 em{color:#a9d8cf}
.institute .hub-invitation .section-index{color:#b2d8cf}
.institute .hub-invitation h2{font-size:clamp(47px,4.5vw,72px)}
.institute .arrival-section{background:#e7ecdf}
.institute .arrival-heading h2{font-size:clamp(60px,7.5vw,110px)}
.institute .arrival-grid p{font-size:18px}
.institute .arrival-grid h3{font-family:Georgia,serif;font-size:29px;font-weight:400}
.institute .floating{border-radius:40px;background:#153c34e8;backdrop-filter:blur(12px);border-color:#8dab94;font-size:14px;padding:13px 20px;box-shadow:0 6px 25px #0a201a20}
.institute .footer{background:#102f2b}
.institute .footer .brand strong{font-size:22px}
.institute .footer:before{content:"Mais de 25 anos dedicados à saúde dos seus olhos.";display:block;font:italic 400 clamp(37px,5.7vw,88px)/1.2 Georgia,serif;letter-spacing:-.04em;color:#d4e6a5;max-width:1400px;width:calc(100% - 112px);margin:0 auto 60px;padding-bottom:50px;border-bottom:1px solid #c2d4b430}
.hub{background:#102c34}
.hub .topbar{background:#c3ded1;color:#163a37}
.hub .header{background:#102c34f2;backdrop-filter:blur(20px)}
.hub .button{border-radius:40px;box-shadow:none}
.hub .professional-hero{background:#0e2831;min-height:760px}
.hub .professional-hero h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em;font-size:clamp(62px,6.4vw,100px)}
.hub .professional-hero h1 em{font-style:italic}
.hub .professional-hero .lead{font-size:20px;max-width:580px}
.hub .professional-hero-inner{padding-top:85px;padding-bottom:45px}
.hub .structure-photo{border-radius:150px 150px 3px 3px}
.hub .professional-pillars h3{font-family:Georgia,serif;font-weight:400}
.hub .rental-cta,.hub .audience-contact-grid article{border-radius:3px}
.hub h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}
.hub .footer{background:#0d2931}
@keyframes lens-life{from{transform:scale(1.09) translateX(-1%)}to{transform:scale(1.19) translateX(1%)}}
@keyframes orbit-life{from{transform:rotate(-28deg) scaleY(.75)}to{transform:rotate(-12deg) scaleY(.85)}}
@keyframes arrival-copy{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes arrival-lens{from{opacity:0;transform:scale(.85) rotate(-8deg)}to{opacity:1;transform:none}}
@media(min-width:1600px){.vision-composition{min-height:750px}.hero-film-controls{right:max(56px,calc((100vw - 1400px)/2))}}
@media(max-width:1250px){.institute .wrap,.hub .wrap{width:calc(100% - 72px)}.institute .nav{gap:15px;font-size:14px}.institute .nav .button{font-size:14px;padding:12px 16px}.institute .institute-brand strong{font-size:17px}.vision-composition{gap:15px;min-height:600px}.hero-actions{gap:16px}.hero-discover{font-size:13px}.hero-film-controls{right:36px}.institute .hero-editorial h1{font-size:clamp(64px,6.7vw,86px)}.institute .doctor-info{padding:30px}.institute .carlo-image{min-height:600px}.institute .colleague{grid-template-columns:.75fr 1fr}.institute .colleague h3{font-size:26px}.lens-caption{transform:none}.institute .footer:before{width:calc(100% - 72px)}}
@media(max-width:1100px){.institute .nav{font-size:18px}.institute .nav .button{font-size:17px}.vision-composition{min-height:570px}.institute .hero-editorial h1{font-size:65px}.hero-actions{gap:10px;flex-direction:column;align-items:flex-start}.institute .hero-editorial>p{font-size:17px}.hero-kicker{font-size:10px}.lens-caption strong{font-size:22px}.hero-film-controls{bottom:175px}.institute .colleague{display:flex}.institute .care-layout{gap:50px}.institute .carlo-image{min-height:680px}}
@media(max-width:760px){html{scroll-padding-top:90px}.institute .wrap,.hub .wrap{width:calc(100% - 40px)}.institute .header-inner{min-height:76px}.institute .motion-section{padding:74px 0}.vision-composition{grid-template-columns:1fr;gap:5px;padding-top:45px;padding-bottom:58px;min-height:0}.institute .hero-editorial h1{font-size:clamp(56px,10.8vw,78px);margin:22px 0}.hero-kicker{font-size:10px}.institute .hero-editorial>p{max-width:440px;font-size:17px}.hero-actions{margin-top:25px;flex-direction:row;align-items:center;gap:15px}.institute .hero-actions .button{width:auto;font-size:16px;min-height:54px;padding:15px 21px;gap:16px}.hero-discover{font-size:13px}.vision-art{width:min(420px,90%);margin:20px auto 0}.lens-caption{right:-5%;bottom:6%}.ambience-control{top:4%;right:-3%;font-size:11px}.hero-film-controls{right:20px;bottom:294px}.hero-pathways{grid-template-columns:1fr;margin-top:0}.hero-pathways>a{padding:22px 36px 23px 0}.hero-pathways>a+a{padding-left:0;border-left:0;border-top:1px solid #d4e6a530}.hero-pathways strong{font-size:19px}.path-label{font-size:10px}.path-detail{font-size:13px}.path-arrow,.hero-pathways>a:last-child .path-arrow{right:0}.institute .intro-heading{grid-template-columns:1fr;gap:30px;margin-bottom:35px}.institute .intro-title h2{font-size:clamp(65px,13vw,92px)}.institute .intro-title .intro-manifesto{margin-top:20px}.institute .room-panorama{border-radius:70px 3px 3px}.institute .room-panorama img{height:380px}.institute .care-heading{position:static}.institute .care-layout{gap:32px}.institute .carlo-feature{grid-template-columns:1fr}.institute .carlo-image{min-height:0;height:auto;aspect-ratio:1.3}.institute .doctor-info{padding:28px}.institute .colleague-grid{gap:35px}.institute .colleague h3{font-size:32px}.institute .technology-gallery{grid-template-columns:1fr;gap:35px}.institute .tech-detail{max-width:400px}.institute .review-slide{min-height:350px}.institute .coverage-directory{padding:24px 20px}.institute .section-index{font-size:11px;letter-spacing:.13em}.institute .footer:before{width:calc(100% - 40px);margin-bottom:40px;padding-bottom:35px}.institute .floating{width:54px;height:54px;padding:14px;font-size:0}.institute .arrival-grid h3{font-size:29px}}
@media(max-width:380px){.institute .hero-editorial h1{font-size:53px}.hero-actions{flex-direction:column;align-items:flex-start}.institute .hero-actions .button{width:100%}.institute .institute-brand strong{font-size:14px}.institute .institute-brand img{height:38px;width:38px}.lens-caption strong{font-size:20px}.institute .doctor-info{padding:23px}.institute .doctor-info h3{font-size:34px}}
@media(max-width:620px){.hub .professional-hero{min-height:0}.hub .professional-hero h1{font-size:clamp(45px,11.8vw,66px)}.hub .professional-hero-inner{padding-top:45px;padding-bottom:35px}.hub .professional-hero .lead{font-size:19px}}
@media(max-width:760px){.hero-film-controls{left:20px;right:auto;bottom:285px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.vision-lens>img,.orbital-one,.intro-arrived .hero-editorial,.intro-arrived .vision-art,.intro-arrived .hero-pathways{animation:none!important}.vision-lens{transition:none;transform:none}.opening-film,.hero-film .opening-video{transition:none}}

/* Continuous film-to-hero choreography. */
.hero-transition-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none;border-radius:24px}
.hero-transition-skip{position:absolute;right:28px;top:25px;z-index:7;min-height:48px;padding:12px 19px;border:1px solid #ffffff80;border-radius:999px;background:#193e3de8;color:white;font:16px/1.3 Arial,sans-serif;cursor:pointer}
.intro-bridging .vision-lens{transform:none!important;transition:none!important}
.intro-bridging .vision-lens{background:#f8f9f6}
.intro-bridging .vision-lens>img{opacity:0}
.intro-bridging.intro-morphing .vision-lens>img{opacity:1}
.lens-caption{transition:opacity .5s}
.intro-bridging .lens-caption{opacity:0}
.intro-pending .vision-lens>img,.intro-active .vision-lens>img,.intro-bridging .vision-lens>img,.intro-bridging .orbital-one{animation-play-state:paused}
.lens-caption{max-width:330px}
.lens-caption strong{font-size:25px;line-height:1.3}
@media(max-width:760px){.lens-caption{max-width:260px}.lens-caption strong{font-size:21px}.hero-transition-skip{right:18px;top:18px}}
@media(max-width:760px){.vision-composition{padding-top:30px}.institute .hero-editorial h1{margin:18px 0}.hero-actions{margin-top:20px}.hero-discover{min-height:30px}.vision-art{margin-top:5px}}
/* Responsive, non-blocking opening and longer editorial title. */
.institute .hero-editorial h1{font-size:clamp(52px,5.2vw,82px);line-height:1.07}
.institute .hero-editorial h1 em{white-space:normal}
.institute .hero-editorial>p{max-width:520px}
.institute .hero-film{width:min(1400px,calc(100% - 112px));margin:0 auto;min-height:0}
.hero-film-controls{position:static;justify-content:flex-end;padding:0 0 20px;min-height:64px}
@media(max-width:1250px){.institute .hero-film{width:calc(100% - 72px)}}
@media(max-width:760px){
 .institute .hero-editorial h1{font-size:clamp(39px,10.7vw,64px);line-height:1.08;letter-spacing:-.05em;margin:16px 0}
 .institute .hero-editorial>p{font-size:17px;line-height:1.6}
 .vision-composition{gap:22px;padding-top:28px;padding-bottom:14px}
 .vision-art{width:min(390px,100%);margin:0 auto}
 .institute .hero-film{width:calc(100% - 40px)}
 .hero-film-controls{padding-bottom:16px;min-height:60px}
 .opening-skip,.opening-pause,.hero-transition-skip{min-height:44px;font-size:13px;padding:10px 14px;gap:8px}
 .opening-skip,.hero-transition-skip{right:12px;top:12px}
 .opening-pause{left:12px;bottom:12px}
 .ambience-control{right:0}
}
@media(max-width:380px){.institute .hero-editorial h1{font-size:38px}.hero-actions{gap:12px}.institute .hero-editorial>p{font-size:16px}}
.institute .landing-hero{overflow:clip}
@media(max-width:380px){.institute .footer .brand strong{font-size:16px}}
/* The film is the lens itself; it ends on the original mark, on white. */
.exam-art .exam-lens{background:#fff;inset:8%;transform:none;box-shadow:0 20px 100px #040f0c55}
.exam-lens .exam-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.exam-lens .exam-video[hidden]{display:none}
.exam-lens .exam-logo{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:contain;transform:none;animation:mark-float 6s ease-in-out infinite}
.film-playing .exam-logo{animation:none}
.exam-controls{position:absolute;bottom:-12px;left:0;right:0;display:flex;justify-content:center;gap:24px;min-height:44px}
.exam-controls button{color:#d4e2ce;font:13px/1.4 Arial,sans-serif;background:none;border:0;border-bottom:1px solid #8fa88c80;min-height:44px;padding:8px 0;cursor:pointer}
.exam-controls button:hover{color:#fff;border-color:#d4e6a5}
.exam-controls button:focus-visible{outline:2px solid #d4e6a5;outline-offset:5px}
.ambience-paused .exam-logo{animation-play-state:paused}
@keyframes mark-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:760px){.exam-art{margin-bottom:26px}.exam-art .exam-lens{inset:5%}.exam-controls{bottom:-24px;gap:22px}.vision-composition{padding-bottom:36px}}
@media(prefers-reduced-motion:reduce){.exam-lens .exam-logo{animation:none}}
