/* =========================================================
   Plurivision — Oftalmologia · estilos
   ========================================================= */
:root{
  --teal:#223e41;
  --teal-700:#2c4a4d;
  --teal-600:#375c5e;
  --green-ink:#1b3a2d;
  --ink:#23302e;
  --body:#5b6b62;
  --sage:#7a938c;
  --sage-2:#98b4b1;
  --bg:transparent;
  --bg-2:rgba(76,101,111,.11);
  --bg-3:transparent;
  --card:#ffffff;
  --line:rgba(34,62,65,.12);
  --shadow-lg:0 30px 70px -30px rgba(20,40,38,.35);
  --shadow-sm:0 12px 30px -14px rgba(20,40,38,.28);
  --r:18px;
  --maxw:1440px;
  --page-max:1504px;
  --font:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --display:"Archivo Expanded","Archivo",system-ui,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--font);color:var(--body);
  background:linear-gradient(180deg,#fff 0%,#d9dcd9 100%);
  font-size:16.5px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4,h5{margin:0;color:var(--green-ink);font-weight:600;line-height:1.08}

.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:28px}

.h-display{
  font-family:var(--display);font-weight:600;color:var(--green-ink);
  letter-spacing:-.01em;line-height:1.06;
}
.kicker{
  display:inline-block;font-family:var(--display);font-weight:600;
  font-size:12.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--sage);
  margin-bottom:18px;
}
.rule{display:block;width:66px;height:5px;border-radius:4px;background:var(--sage);margin:20px 0 24px}
.rule--dark{background:var(--green-ink)}
.rule--sage{background:var(--sage-2)}
.soft{color:#9aa39d}
.arrow{display:inline-block;transform:translateY(1px)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;border:0;border-radius:12px;
  padding:19px 30px;font-weight:600;font-size:15px;letter-spacing:.01em;
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
  white-space:nowrap;
}
.btn--dark{background:var(--teal);color:#fff}
.btn--dark:hover{background:var(--teal-700);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.btn--ghost-light{background:transparent;color:var(--ink);padding-inline:14px}
.btn--ghost-light:hover{color:var(--teal)}
.btn--wide{padding-inline:46px;letter-spacing:.06em}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:60;
  transition:background .3s ease,box-shadow .3s ease,padding .3s ease;
  padding:8px 0;
}
.site-header::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:none;
  opacity:1;transition:opacity .3s ease;
}
.header__inner{display:flex;align-items:center;gap:26px;position:relative;min-height:72px}
.site-header.scrolled{background:rgba(238,240,236,.92);backdrop-filter:blur(10px);box-shadow:0 6px 24px -18px rgba(20,40,38,.5)}
.site-header.scrolled::before{opacity:0}

.brand{display:flex;align-items:center;gap:12px;color:var(--teal)}
.brand__logo{display:block;width:auto;max-width:none}
.brand__logo--header{width:159.67px;height:53.12px}
.brand__logo--header-desktop{width:168.69px;height:56.12px}
.brand__logo--header-mobile{display:none}
.brand__logo--footer{width:284.4px;height:95.2px}
.brand__mark{display:grid;place-items:center;color:var(--teal)}
.brand__word{display:flex;flex-direction:column;line-height:1}
.brand__name{font-family:var(--display);font-size:22px;letter-spacing:-.01em;color:var(--ink);font-weight:400}
.brand__name b{font-weight:700;color:var(--teal)}
.brand__sub{font-family:var(--display);font-size:9px;letter-spacing:.42em;color:var(--sage);margin-top:3px;padding-left:2px}

.nav{display:flex;gap:30px;margin-left:auto}
.nav a{font-size:15px;font-weight:500;color:var(--ink);position:relative;padding:6px 0;transition:color .2s}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--teal);transition:width .25s ease}
.nav a:hover{color:var(--teal)}
.nav a:hover::after{width:100%}
.header__cta{margin-left:26px;padding:15px 26px}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;margin-left:auto}
.nav-toggle span{width:26px;height:2.4px;background:var(--ink);border-radius:2px;transition:.3s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.4px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.4px) rotate(-45deg)}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;width:100%;height:100vh;min-height:100vh;overflow:hidden;isolation:isolate;background:#d9d9d9}
.hero__bg{position:absolute;inset:0;z-index:-2}
.hero__bg picture{position:absolute;left:0;top:0;width:105.24%;height:101.15%;display:block;overflow:hidden}
.hero__bg img{position:absolute;left:-13.81%;top:-33.09%;width:111.59%;height:157.44%;max-width:none;object-fit:fill}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.05) 33.117%,rgba(102,102,102,.05) 100%)}
.hero__rings{position:absolute;left:37%;right:-12%;top:-20.87%;bottom:-21.44%;z-index:-1;opacity:1;pointer-events:none}
.hero__rings img{width:100%;height:100%;max-width:none}
.hero__pager{position:absolute;right:2.62%;top:50%;width:19px;height:94px;transform:translateY(-50%);z-index:3}
.hero__pager img{width:100%;height:100%}

.hero__social{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:5;
  display:flex;flex-direction:column;background:var(--teal);border-radius:0 8px 8px 0;padding:14px 9px;gap:16px}
.hero__social a{color:#fff;opacity:.9;transition:opacity .2s,transform .2s}
.hero__social a svg{width:17px;height:17px}
.hero__social a:hover{opacity:1;transform:translateX(2px)}

.hero__inner{position:absolute;inset:0;z-index:2;width:100%;max-width:none;padding:0}
.hero__content{position:absolute;left:max(28px,calc((100vw - var(--maxw))/2 + 28px));top:23.65%;width:573.82px;max-width:calc(100vw - 22%);padding:0;display:flex;flex-direction:column;gap:19.25px}
.hero__title{width:100%;height:clamp(151.952px,22.08vh,206.903px);max-width:none;display:flex;align-items:center;font-family:var(--font);font-stretch:112.5%;font-weight:400;color:#223e41;
  font-size:clamp(40px,2.94vw,55.99px);line-height:1.304;letter-spacing:-.03em}
.hero__title-copy{display:block}
.hero__title .soft{color:#688988}
.hero__text{width:510.683px;max-width:100%;height:auto;margin:0;color:#223e41;font-family:"DM Sans",sans-serif;font-size:clamp(15.5px,.966vw,18.405px);line-height:1.648}
.hero__actions{height:62.28px;display:flex;align-items:center;gap:1.37px;flex-wrap:nowrap}
.hero__actions .btn{height:62.28px;border-radius:7px;padding:0 30px;font-family:"DM Sans",sans-serif;font-size:14.7px}
.hero__actions .btn--dark{width:214.63px;justify-content:flex-start}
.hero__actions .btn--ghost-light{width:143px;justify-content:center;color:#223e41}

.hero__bar{position:absolute;left:0;right:0;bottom:2px;height:18.68%;z-index:2;
  background:url("../assets/img/hero-bar-figma.png") center/100% 100% no-repeat;
  border-top:1px solid rgba(255,255,255,.14);padding:0}
.hero__bar-inner{position:relative;width:100%;height:100%;max-width:none;padding:0}
.hero__bar-text{position:absolute;left:max(28px,calc((100vw - var(--maxw))/2 + 28px));top:31.27%;width:min(21.45vw,408.61px);display:flex;flex-direction:column;gap:9.7px}
.hero__bar-text strong{font-family:"Unbounded",var(--display);color:#223e41;font-size:16.8px;line-height:27.72px;font-weight:700}
.hero__bar-text span{color:#223e41;font-family:"DM Sans",sans-serif;font-size:14.7px;line-height:24.29px}
.hero__bar-controls{position:absolute;right:max(28px,calc((100vw - var(--maxw))/2 + 28px));top:37.06%;display:flex;gap:12px}
.hero__bar-controls span{width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:6px;background:rgba(0,0,0,.3);color:#fff;font-family:Inter,system-ui,sans-serif;font-size:19.2px;line-height:1}

/* =========================================================
   ABOUT
   ========================================================= */
.about{position:relative;padding:42px 0 0;background:var(--bg);overflow:hidden}
.about__panel{position:relative;width:100%;height:clamp(620px,50.4vw,960px);isolation:isolate}
.about__panel::before{content:"";position:absolute;z-index:-3;inset:0 -7vw 0 4.5vw;
  border-radius:26px 0 0 26px;background:#728987}
.about__pattern{position:absolute;z-index:-2;left:31.2vw;top:.48%;width:91.6vw;height:99.4%;
  overflow:hidden;opacity:.3;mix-blend-mode:plus-lighter;pointer-events:none}
.about__pattern img{position:absolute;left:-42.56%;top:-15.01%;width:185.13%;height:277.05%;
  max-width:none}
.about__photo{position:absolute;z-index:0;left:-4.5vw;top:10.77%;width:91.81vw;height:79.27%;
  overflow:hidden}
.about__photo img{position:absolute;left:-47.13%;top:-11.92%;width:123.2%;height:192.86%;
  max-width:none}
.about__card{position:absolute;z-index:1;left:44.56vw;top:17.4%;width:min(40vw,694px);
  height:65.1%;overflow:hidden;background:var(--card);border-radius:7px;
  box-shadow:0 4px 47px rgba(0,0,0,.1);padding:clamp(48px,4.03vw,77px) clamp(40px,5.08vw,97px)}
.about__card .h-display{font-family:var(--font);font-size:clamp(22px,1.86vw,35.5px);line-height:1.29;letter-spacing:-.023em}
.about__mobile-break{display:none}
.diff__mobile-break{display:none}
.about__card .rule{width:66.89px;height:5.9px;border-radius:0;background:#6c8a85;
  margin:clamp(8px,.58vw,11px) 0 clamp(18px,1.47vw,28px)}
.about__card p{margin:0;color:#5b6b62;font-size:clamp(12px,.84vw,16px);line-height:1.65}
.about__card p+p{margin-top:1.65em}

/* =========================================================
   ESPECIALIDADES
   ========================================================= */
.specs{background:var(--bg);padding:134px 0;
  --bleed-right:max(28px,calc((100vw - var(--maxw))/2 + 28px))}
.specs .container{overflow:visible}
.specs__head{display:flex;align-items:flex-start;gap:48px}
.specs__intro{flex:0 0 344px;max-width:344px}
.specs__intro .h-display{font-size:clamp(38px,4.4vw,58px);color:var(--green-ink);line-height:1.0}
.specs__intro>p{margin:0 0 30px;max-width:300px;color:#5a655e}
.carousel-nav{display:flex;gap:12px}
.cbtn{width:54px;height:54px;border-radius:12px;border:1.5px solid var(--teal);
  background:transparent;color:var(--teal);display:grid;place-items:center;transition:.2s}
.cbtn svg{width:20px;height:20px}
.cbtn--fill{background:var(--teal);color:#fff}
.cbtn:hover{background:var(--teal);color:#fff;transform:translateY(-2px)}
.cbtn:disabled{opacity:.35;cursor:not-allowed;transform:none;background:transparent;color:var(--teal)}

.specs__track-wrap{flex:1 1 0;min-width:0;margin-right:calc(-1 * var(--bleed-right))}
.specs__track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:6px 0 12px;scroll-behavior:smooth;scrollbar-width:none}
.specs__track::-webkit-scrollbar{display:none}
.spec-card{scroll-snap-align:start;flex:0 0 max(300px,calc(30.769% - 22.154px));background:var(--card);border-radius:14px;
  padding:34px 30px;display:flex;flex-direction:column;min-height:360px;border:1px solid rgba(34,62,65,.06);
  box-shadow:0 4px 12px rgba(27,58,45,.1);transition:transform .25s ease,box-shadow .25s ease}
.spec-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-sm)}
.spec-card__icon{width:60px;height:60px;border-radius:50%;background:var(--teal);color:#fff;
  display:grid;place-items:center;margin-bottom:26px}
.spec-card__icon svg{width:26px;height:26px}
.spec-card h3{font-size:20px;color:var(--ink);min-height:56px;font-weight:600;font-family:var(--font)}
.spec-card__desc{margin:16px 0 0;color:#66716a;font-size:15px;line-height:1.55;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.spec-card__more{margin-top:auto;padding-top:22px;display:inline-flex;align-items:center;gap:8px;
  font-weight:600;color:var(--ink);font-size:14.5px}
.spec-card__more svg{width:16px;height:16px;color:var(--teal)}
.spec-card__more:hover{color:var(--teal)}

/* =========================================================
   EXAMES
   ========================================================= */
.exams{background:var(--bg-2);padding:124px 0 134px}
.exams__title{font-family:var(--display);font-weight:700;color:var(--teal);
  font-size:clamp(40px,5vw,64px);letter-spacing:.01em;margin-bottom:44px}
.exams__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:start}

.exams__list{list-style:none;margin:0;padding:0 0 0 18px;position:relative;display:flex;flex-direction:column;gap:14px;
  max-height:486px;overflow-y:scroll;overscroll-behavior:contain;scrollbar-gutter:stable;direction:rtl;
  scrollbar-width:thin;scrollbar-color:var(--sage) rgba(122,147,140,.16)}
.exams__list::-webkit-scrollbar{display:block;width:5px}
.exams__list::-webkit-scrollbar-track{background:rgba(122,147,140,.16);border-radius:999px}
.exams__list::-webkit-scrollbar-thumb{background:var(--sage);border-radius:999px}
.exam-entry{direction:ltr}
.exam-item{display:flex;align-items:center;gap:16px;background:#eef0ee;border:1px solid rgba(34,62,65,.05);
  border-radius:12px;padding:20px 22px;color:var(--ink);transition:.22s;text-align:left;width:100%}
.exam-item__ic{width:44px;height:44px;border-radius:50%;background:#fff;color:var(--teal);
  display:grid;place-items:center;flex:0 0 auto;transition:.22s;box-shadow:0 2px 8px -4px rgba(20,40,38,.25)}
.exam-item__ic svg{width:22px;height:22px}
.exam-item__name{font-weight:600;font-size:16px;flex:1}
.exam-item__chev{width:20px;height:20px;color:#9aa6a0;transition:.22s}
.exam-item:hover{background:#e6e9e6}
.exam-item.is-active{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:var(--shadow-sm)}
.exam-item.is-active .exam-item__ic{background:transparent;color:#fff;box-shadow:none;border:1.6px solid rgba(255,255,255,.5)}
.exam-item.is-active .exam-item__chev{color:#fff;transform:rotate(180deg)}

.exams__panel{position:relative;background:#fff;border-radius:26px;padding:34px;box-shadow:var(--shadow-lg)}
.exams__panel::before{content:"";position:absolute;left:-14px;top:var(--ptop,64px);width:30px;height:30px;background:#fff;
  transform:rotate(45deg);border-radius:6px;transition:top .25s ease}
.exams__hero-img{margin:0 0 26px;border-radius:16px;overflow:hidden;aspect-ratio:539.339/123.125;background:#e9ecec}
.exams__hero-img img{width:100%;height:100%;object-fit:cover}
.exams__panel h3{font-size:26px;color:var(--ink);font-family:var(--font);font-weight:600;margin-bottom:14px}
.exams__panel #examBody p{margin:0 0 14px;color:#6a746e;font-size:15px}
.exams__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.exams__thumbs img{width:100%;height:80px;aspect-ratio:auto;object-fit:cover;border-radius:12px}

/* =========================================================
   DIFERENCIAIS
   ========================================================= */
.diff{background:var(--bg-3);padding:124px 0 134px}
.diff__head{margin-bottom:80px;max-width:669.13px}
.diff__head .h-display{width:669.13px;max-width:100%;font-size:40.77px;line-height:45.67px;
  font-weight:400;letter-spacing:0;color:var(--green-ink)}
.diff__head .rule{margin-top:26px}
.diff__steps{list-style:none;margin:0 57px;padding:0 0 100px;display:flex;justify-content:space-between;position:relative}
.diff__steps::before{content:"";position:absolute;left:33px;right:33px;top:33px;height:1.5px;background:rgba(34,62,65,.18)}
.diff-step{position:relative;flex:0 0 66px}
.diff-step__num{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--display);font-weight:600;color:#fff;font-size:19px;position:relative;z-index:1}
.diff-step__label{position:absolute;top:84px;left:50%;width:180px;transform:translateX(-50%);
  font-weight:700;color:var(--green-ink);font-size:16.5px;line-height:1.3;text-align:center}
.diff-step:last-child .diff-step__label{left:50%;right:auto;text-align:center}

/* =========================================================
   CORPO CLÍNICO
   ========================================================= */
.team{position:relative;background:transparent;padding:126px 0 40px;overflow:hidden}
.team__deco{position:absolute;left:18.96%;top:.02%;width:91.61%;height:99.95%;z-index:0;
  overflow:hidden;opacity:.3;mix-blend-mode:luminosity;pointer-events:none}
.team__deco img{position:absolute;left:30.58%;top:-8.75%;width:80.27%;height:123.16%;max-width:none;opacity:.3}
.team__grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;min-height:560px}
.team__info{max-width:460px;align-self:center;padding-bottom:40px}
.team__name{font-family:var(--font);font-weight:600;font-size:clamp(28px,3vw,38px);color:var(--green-ink);margin-top:6px}
.team__spec{display:none;color:var(--teal);font-weight:600;font-size:15px;margin:8px 0 18px}
.team__bio{color:#57615b;font-size:16px;line-height:1.6}
.team__name,.team__spec,.team__bio{transition:opacity .28s ease,transform .45s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
.team__nav{--nav-outset:clamp(0px,calc((100vw - var(--maxw))/2 - 24px),28px);
  position:absolute;left:calc(-1 * var(--nav-outset));right:calc(-1 * var(--nav-outset));top:54%;
  z-index:3;justify-content:space-between;margin:0;transform:translateY(-50%);pointer-events:none}
.cbtn--soft{border-color:transparent;background:rgba(34,62,65,.08);color:var(--teal-700)}
.cbtn--soft:hover{background:var(--teal);color:#fff}
.team__nav .cbtn--soft{pointer-events:auto;border:1px solid rgba(255,255,255,.25);border-radius:6px;
  background:rgba(0,0,0,.3);color:#fff}
.team__nav .cbtn--soft:hover{background:var(--teal)}
.team__photo{position:relative;justify-self:center;align-self:end;height:600px;display:flex;align-items:flex-end;justify-content:center}
.team__photo img{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:bottom center;
  filter:drop-shadow(0 26px 34px rgba(20,40,38,.22));
  transition:opacity .32s ease,transform .5s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
.team.is-switching .team__name,.team.is-switching .team__spec,.team.is-switching .team__bio{opacity:0;transform:translateY(10px)}
.team.is-switching .team__photo img{opacity:0;transform:translateX(14px) scale(.99)}
.team__avatars{position:relative;z-index:1;display:flex;gap:34px;justify-content:center;padding:20px 0 6px;flex-wrap:wrap}
.team-av{display:flex;flex-direction:column;align-items:center;gap:10px;background:none;border:0;opacity:.55;transition:.25s}
.team-av img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid transparent;transition:.25s}
.team-av span{font-size:12px;color:#5a635e;max-width:110px;text-align:center;line-height:1.25}
.team-av:hover{opacity:.85}
.team-av.is-active{opacity:1}
.team-av.is-active img{border-color:var(--teal);box-shadow:0 8px 20px -8px rgba(20,40,38,.5)}
.team-av.is-active span{color:var(--green-ink);font-weight:600}

/* =========================================================
   POA
   ========================================================= */
.poa{position:relative;height:clamp(760px,50vw,953px);background:var(--bg);padding:0;overflow:hidden}
.poa::before{content:"";position:absolute;inset:0;background:url("../assets/img/poa-pattern-figma.png") left center/72% 158% no-repeat;
  opacity:.07;mix-blend-mode:luminosity;pointer-events:none}
.poa__photo{position:absolute;left:47.2%;top:10.2%;width:69.5%;height:79.9%;overflow:hidden}
.poa__photo img{position:absolute;left:4.36%;top:-28.85%;width:121.71%;height:144.08%;max-width:none;object-fit:cover}
.poa .container{position:static;height:100%;min-height:0;padding:0}
.poa__card{position:absolute;left:18.95vw;top:16.69%;width:clamp(520px,35.7vw,680px);height:clamp(540px,32.8vw,625px);
  max-width:none;margin:0;padding:72px 82px;background:var(--teal);color:#fff;border-radius:7px;
  box-shadow:0 4px 47px rgba(0,0,0,.1)}
.poa__card .h-display{color:#fff;font-size:35.47px;line-height:1.289;letter-spacing:-.023em}
.poa__card .rule{width:67px;height:6px;margin:14px 0 24px}
.poa__card p{max-width:447px;color:#fff;font-size:18.54px;line-height:1.65;margin:0 0 18px}
.poa__card p:last-child{margin-bottom:0}

/* =========================================================
   CONTATO
   ========================================================= */
.contact{background:var(--bg);padding:132px 0 110px}
.contact__grid{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:60px;align-items:start}
.contact__title{font-family:var(--display);font-weight:700;font-size:clamp(48px,6vw,84px);
  color:var(--green-ink);line-height:.98;margin-top:6px}
.contact__social{display:flex;gap:20px;margin-top:44px}
.contact__social a{width:26px;height:26px;color:var(--teal);transition:.2s}
.contact__social a:hover{color:var(--green-ink);transform:translateY(-2px)}
.contact__social svg{width:26px;height:26px}

.contact__form{display:flex;flex-direction:column;gap:8px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.field{position:relative;display:block;border-bottom:1.5px solid rgba(34,62,65,.22);transition:border-color .2s}
.field:focus-within{border-color:var(--teal)}
.field input,.field textarea{width:100%;border:0;background:transparent;padding:22px 38px 22px 4px;
  font-family:inherit;font-size:16px;color:var(--ink);resize:none}
.field input::placeholder,.field textarea::placeholder{color:#8b948e}
.field input:focus,.field textarea:focus{outline:none}
.field--area{margin-top:14px}
.field--area textarea{padding-right:38px}
.field__icon{position:absolute;right:4px;top:22px;width:20px;height:20px;display:grid;place-items:center;color:#9aa39d}
.field__icon img{width:16px;height:16px;object-fit:contain}

.contact__submit{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:34px;flex-wrap:wrap}
.check{display:flex;align-items:center;gap:12px;color:#5a635e;font-size:15px;cursor:pointer;user-select:none}
.check input{position:absolute;opacity:0;width:0;height:0}
.check__box{width:20px;height:20px;border:1.6px solid rgba(34,62,65,.4);border-radius:5px;display:grid;place-items:center;transition:.2s}
.check__box::after{content:"";width:10px;height:10px;border-radius:2px;background:var(--teal);transform:scale(0);transition:transform .18s}
.check input:checked+.check__box{border-color:var(--teal)}
.check input:checked+.check__box::after{transform:scale(1)}
.check input:focus-visible+.check__box{box-shadow:0 0 0 3px rgba(34,62,65,.2)}
.contact__note{font-size:14px;color:var(--teal);margin:16px 0 0;min-height:18px;font-weight:500}

.contact__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:80px;
  border-top:1px solid var(--line);padding-top:56px}
.info-card{display:flex;gap:20px;align-items:flex-start}
.info-card__icon{width:62px;height:62px;border-radius:50%;border:1.5px solid var(--teal);color:var(--teal);
  display:grid;place-items:center;flex:0 0 auto}
.info-card__icon svg{width:26px;height:26px}
.info-card h4{font-size:19px;color:var(--ink);font-family:var(--font);font-weight:600;margin-bottom:8px}
.info-card p{margin:0;color:#66716a;font-size:15px;line-height:1.5}
.info-card a{color:inherit;border-bottom:1px solid transparent;transition:.2s}
.info-card a:hover{color:var(--teal);border-color:var(--teal)}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{background:var(--teal);color:rgba(255,255,255,.78);padding:70px 0 34px}
.footer__cta{display:flex;align-items:center;justify-content:space-between;gap:40px;
  padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.14);flex-wrap:wrap}
.footer__cta p{margin:0;font-family:var(--display);color:#fff;font-size:19px;font-weight:500;line-height:1.4}
.footer__news{display:flex;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:10px;overflow:hidden;min-width:360px}
.footer__news input{flex:1;background:transparent;border:0;padding:18px 20px;color:#fff;font-family:inherit;font-size:15px}
.footer__news input::placeholder{color:rgba(255,255,255,.55)}
.footer__news input:focus{outline:none}
.footer__news button{background:transparent;border:0;border-left:1px solid rgba(255,255,255,.16);
  color:#fff;padding:0 26px;font-weight:600;display:flex;align-items:center;gap:8px;transition:.2s}
.footer__news button:hover{background:rgba(255,255,255,.08)}

.footer__main{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:40px;padding:56px 0 48px}
.brand--light .brand__name{color:#fff}
.brand--light .brand__name b{color:#fff}
.brand--light .brand__mark{color:#fff}
.brand--light .brand__sub{color:rgba(255,255,255,.6)}
.footer__brand>p{margin:22px 0 0;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.66)}
.footer__col h5{color:#fff;font-family:var(--display);font-size:15px;font-weight:600;margin-bottom:22px}
.footer__col a,.footer__col p{display:block;margin:0 0 14px;font-size:14.5px;color:rgba(255,255,255,.72);transition:color .2s}
.footer__col a:hover{color:#fff}
.footer__bottom{display:flex;justify-content:space-between;gap:20px;padding-top:30px;
  border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:rgba(255,255,255,.55);flex-wrap:wrap}
.footer__credit b{color:rgba(255,255,255,.85);font-weight:700}
.footer__credit-image{display:none}
.contact__title--mobile{display:none}

/* ---------- WhatsApp float ---------- */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:70;width:56px;height:56px;border-radius:50%;
  background:var(--teal);color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(20,40,38,.6);
  transition:transform .2s}
.wa-float svg{width:28px;height:28px}
.wa-float:hover{transform:scale(1.08)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

@media (min-width:901px){
  .specs__intro .h-display{font-size:48px;line-height:1.08}
  .about__card .h-display{display:flex;align-items:center;width:511.86px;max-width:none;height:103.23px}
  .about__card p{width:486.65px;max-width:none}
}

/* Corpo clínico — faixa notebook/laptop (901–1599px): layout fluido de 2 colunas.
   Evita a sobreposição do texto sobre a foto que ocorria no layout desenhado
   para telas grandes quando visto em telas de 13"–15". */
@media (min-width:901px) and (max-width:1599px){
  .team{height:auto;padding:120px 0 44px;overflow:hidden}
  .team__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;
    min-height:560px;position:relative;max-width:var(--maxw)}
  .team__info{position:static;width:auto;max-width:470px;padding:0;align-self:center;z-index:2}
  .team__info .kicker{font-size:13px;letter-spacing:.1em;margin:0 0 12px;color:#5d5d5d}
  .team__name{font-size:clamp(30px,3vw,40px);line-height:1.1;letter-spacing:-.02em;margin:6px 0 0;
    color:#093939;font-weight:500}
  .team__bio{width:auto;max-width:470px;margin:22px 0 0;color:#093939;
    font-size:clamp(16px,1.35vw,20px);line-height:1.6}
  .team__photo{position:static;width:auto;height:min(44vw,600px);justify-self:center;align-self:end;
    overflow:visible;display:flex;align-items:flex-end;justify-content:center;margin:0}
  .team__photo img{position:static;width:auto;height:100%;max-width:100%;object-fit:contain;
    object-position:bottom center;filter:drop-shadow(0 26px 34px rgba(20,40,38,.22))}
  .team__nav{position:absolute;left:28px;bottom:6px;top:auto;right:auto;transform:none;z-index:4;
    display:flex;justify-content:flex-start;gap:12px;width:auto;margin:0;pointer-events:auto}
  .team__nav .cbtn--soft{width:52px;height:52px;border-radius:6px;pointer-events:auto}
  .team__avatars{position:static;width:auto;max-width:660px;height:auto;transform:none;
    margin:22px auto 0;padding:14px 24px;display:flex;flex-wrap:wrap;align-items:center;
    justify-content:center;gap:18px 28px;background:#093939;border-radius:13px;overflow:hidden}
  .team-av{flex:0 0 auto;gap:7px;opacity:1}
  .team-av img{width:54px;height:54px;border:0}
  .team-av span{display:block;color:#fff;font-size:11px;line-height:1.15;max-width:104px;
    white-space:normal;text-align:center}
  .team-av.is-active img{border:0;box-shadow:0 0 0 6px rgba(255,255,255,.28)}
  .team-av.is-active span{color:#fff;font-weight:400}
}

/* Corpo clínico — composição desktop do Figma (telas grandes ≥1600px) */
@media (min-width:1600px){
  .team{height:931px;padding:0;overflow:hidden}
  .team__grid{width:100%;max-width:none;height:100%;min-height:0;padding:0;display:block}
  .team__info{position:absolute;left:23.26%;top:227.67px;width:411.81px;max-width:none;padding:0}
  .team__info .kicker{font-size:13px;line-height:16px;letter-spacing:.1em;margin:0 0 12px;color:#5d5d5d}
  .team__name{font-size:40.51px;line-height:46.03px;letter-spacing:-.02em;margin:0;color:#093939;font-weight:500}
  .team__bio{width:411.81px;margin:30px 0 0;color:#093939;font-size:22.31px;line-height:36.71px}
  .team__photo{position:absolute;left:50.55%;top:103px;width:32.5%;height:770.5px;margin:0;overflow:hidden;display:block}
  .team__photo img{position:absolute;left:-1.49%;top:-4.06%;width:100%;height:120.54%;max-width:none;object-fit:fill;filter:none}
  .team__nav{position:absolute;left:16.23%;right:16%;top:429px;z-index:4;display:flex;justify-content:space-between;margin:0;transform:none;pointer-events:none}
  .team__nav .cbtn--soft{width:54px;height:54px;border-radius:6px;pointer-events:auto}
  .team__avatars{position:absolute;left:50%;top:739px;width:500px;max-width:none;height:105px;transform:translateX(-50%);margin:0;padding:10px 24px;display:flex;align-items:flex-start;justify-content:center;gap:24px;flex-wrap:nowrap;background:#093939;border-radius:13px;overflow:hidden}
  .team-av{flex:0 0 89px;gap:7px;opacity:1}
  .team-av img{width:54px;height:54px;border:0}
  .team-av span{display:block;color:#fff;font-size:11.05px;line-height:1.15;max-width:104px;white-space:normal}
  .team-av.is-active img{border:0;box-shadow:0 0 0 6px rgba(255,255,255,.28)}
  .team-av.is-active span{color:#fff;font-weight:400}
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1080px){
  .specs__head{flex-direction:column;gap:34px}
  .specs__intro{flex-basis:auto;max-width:none}
  .specs__intro .h-display br{display:none}
  .exams__grid{grid-template-columns:1fr;gap:34px}
  .exams__panel::before{display:none}
  .exams__list{max-height:none;overflow:visible;direction:ltr;scrollbar-gutter:auto;scrollbar-width:none}
  .exams__list::-webkit-scrollbar{display:none}
}
@media (max-width:900px){
  html{scroll-padding-top:70px}
  .nav,.header__cta{display:none}
  .nav-toggle{display:flex}
  .nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
    background:rgba(238,240,236,.98);backdrop-filter:blur(10px);padding:12px 28px 22px;
    box-shadow:0 20px 40px -20px rgba(20,40,38,.4)}
  .nav.open a{padding:15px 0;border-bottom:1px solid var(--line)}
  .about{padding:58px 0 80px}
  .about__panel{height:auto;padding:0 20px 56px}
  .about__panel::before{inset:0 -20px 0 40px;border-radius:22px 0 0 22px}
  .about__pattern{left:28%;top:0;width:110%;height:100%;opacity:.22}
  .about__photo{position:relative;left:-20px;top:auto;width:calc(100% + 20px);height:min(68vw,440px)}
  .about__photo img{inset:0;width:100%;height:100%;object-fit:cover;object-position:68% center}
  .about__card{position:relative;left:auto;top:auto;width:calc(100% - 28px);height:auto;overflow:visible;
    margin:-64px 0 0 auto;padding:42px 34px 46px}
  .about__card .h-display{font-size:clamp(28px,5.4vw,38px);line-height:1.18}
  .about__card p{font-size:15px;line-height:1.65}
  .poa{height:auto;overflow:visible}
  .poa__photo{position:relative;left:auto;top:auto;width:100%;height:300px}
  .poa__photo img{position:static;width:100%;height:100%;max-width:100%;object-fit:cover}
  .poa .container{position:relative;height:auto;padding-block:0;min-height:0;display:block}
  .poa__card{position:relative;left:auto;top:auto;width:auto;height:auto;max-width:none;margin:-60px 0 90px;padding:44px 34px}
  .poa__card{margin-top:-70px;margin-bottom:90px}
  .hero__social{display:none}
  .hero{min-height:88vh}
  .hero__content{max-width:100%;padding-top:20px}
  .hero__text{max-width:100%}
  .hero__scrim{background:none}
  .diff__steps{display:grid;grid-template-columns:repeat(2,1fr);gap:38px 20px;margin:0;padding-bottom:0}
  .diff__steps::before{display:none}
  .diff-step{flex:none;position:static}
  .diff-step__label{position:static;top:auto;left:auto;width:auto;transform:none;text-align:left}
  .diff-step:last-child .diff-step__label{left:auto;right:auto;text-align:left}
  .team__grid{grid-template-columns:1fr;text-align:left;min-height:0}
  .team__info{align-self:auto;padding-bottom:0}
  .team__nav{position:static;justify-content:flex-start;margin-top:30px;transform:none;pointer-events:auto}
  .team__nav .cbtn--soft{border-color:transparent;background:rgba(34,62,65,.08);color:var(--teal-700)}
  .team__photo{justify-self:center;height:440px;margin-top:24px}
  .team__deco{left:0;width:140%;opacity:.3}
  .contact__grid{grid-template-columns:1fr;gap:30px}
  .contact__cards{grid-template-columns:1fr;gap:34px}
  .footer__cta{flex-direction:column;align-items:flex-start;gap:24px}
  .footer__news{min-width:0;width:100%}
  .footer__main{grid-template-columns:1fr 1fr;gap:34px}
}
@media (max-width:560px){
  body{font-size:15.5px}
  .container{padding-inline:20px}
  .hero__title{font-size:clamp(30px,8.4vw,44px);line-height:1.06}
  .hero__text{font-size:15.5px}
  .hero__bar-text span{display:none}
  .field-row{grid-template-columns:1fr;gap:0}
  .contact__submit{flex-direction:column;align-items:stretch}
  .btn--wide{justify-content:center}
  .diff__steps{grid-template-columns:1fr;gap:22px}
  .footer__main{grid-template-columns:1fr}
  .exams__thumbs{grid-template-columns:repeat(4,1fr)}
  .about__card .h-display br,.poa__card .h-display br{display:none}
}

/* =========================================================
   MOBILE — frame Figma 412 px
   ========================================================= */
@media (max-width:560px){
  html{scroll-padding-top:92px}
  body{font-size:15px;line-height:1.55}
  .container{padding-inline:30px}

  /* header + hero */
  .site-header{position:fixed;height:120px;padding:41px 0 0;background-color:transparent;backdrop-filter:none;box-shadow:none;
    transition:background-color .3s ease,backdrop-filter .3s ease,box-shadow .3s ease}
  .site-header.scrolled{height:120px;padding:41px 0 0;background-color:rgba(238,240,236,.94);backdrop-filter:blur(12px);box-shadow:0 8px 28px -20px rgba(20,40,38,.55)}
  .site-header::before,.site-header.scrolled::before{display:none}
  .header__inner{min-height:57px;padding-inline:44px;gap:0}
  .site-header .brand{position:relative;flex:0 0 163px;width:163px;height:57px}
  .site-header .brand::after{content:"";position:absolute;left:276.56px;top:16.5px;width:40.436px;height:23.834px;pointer-events:none;
    background:linear-gradient(#fff,#fff) 0 0/100% 1.262px no-repeat,linear-gradient(#fff,#fff) 0 11.29px/100% 1.262px no-repeat,linear-gradient(#fff,#fff) 0 22.57px/100% 1.262px no-repeat}
  .brand__logo--header{width:163px;height:57px;object-fit:contain;filter:brightness(0) invert(1);transition:opacity .3s ease,filter .3s ease}
  .brand__logo--header-desktop{display:block;position:absolute;inset:0;opacity:0}
  .brand__logo--header-mobile{display:block;opacity:1}
  .site-header.scrolled .brand__logo--header{width:163px;height:57px;filter:none}
  .site-header.scrolled .brand__logo--header-desktop{opacity:1}
  .site-header.scrolled .brand__logo--header-mobile{opacity:0}
  .site-header.scrolled .brand::after{background:linear-gradient(var(--ink),var(--ink)) 0 0/100% 1.262px no-repeat,linear-gradient(var(--ink),var(--ink)) 0 11.29px/100% 1.262px no-repeat,linear-gradient(var(--ink),var(--ink)) 0 22.57px/100% 1.262px no-repeat}
  .nav-toggle{width:41px;height:32px;padding:3px 0;gap:6px;justify-content:center}
  .header__inner .nav-toggle{--nav-line:#fff;position:fixed;left:calc(100vw - 91.436px);right:auto;top:57.5px;display:flex;width:40.436px;height:23.834px;padding:0;background:none}
  .nav-toggle span{width:40px;height:3px;background:#fff;border-radius:0}
  .nav-toggle[aria-expanded="false"] span{opacity:0}
  .site-header.scrolled .nav-toggle{--nav-line:var(--ink)}
  .site-header.scrolled .nav-toggle span{background:var(--ink)}
  .header__inner .nav-toggle[aria-expanded="true"]{background:none}
  .site-header:has(.nav-toggle[aria-expanded="true"]) .brand::after{opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(9px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
  .nav.open{top:96px;left:20px;right:20px;border-radius:12px;background:rgba(34,62,65,.97);padding:16px 24px 22px}
  .site-header.scrolled .nav.open{top:96px}
  .nav.open a{color:#fff;border-color:rgba(255,255,255,.16)}

  .hero{display:block;height:906px;min-height:906px;margin-bottom:0;background:#d9d9d9}
  .hero__bg picture{left:-21.96%;top:-28.6%;width:141.79%;height:130.57%}
  .hero__bg img{left:12.79%;top:-93.18%;width:100%;height:201.25%;object-fit:fill}
  .hero__scrim{background:linear-gradient(180deg,#073435 0%,rgba(115,115,115,0) 56.2%),linear-gradient(180.149deg,rgba(0,0,0,.6) 20.66%,rgba(0,0,0,.48) 57.524%,rgba(0,0,0,0) 83.362%)}
  .hero__rings,.hero__pager,.hero__bar{display:none}
  .hero__inner{height:100%;padding-inline:44px}
  .hero__content{left:44px;top:158px;width:323.77px;max-width:none;padding:0;gap:22px}
  .hero__title{width:323.77px;height:151.952px;font-size:41.12px;line-height:53.612px;letter-spacing:-.03em;color:#fff}
  .hero__title .soft{color:#bfeeea}
  .hero__text{width:317px;height:192px;max-width:100%;margin:0;color:rgba(255,255,255,.82);font-size:16px;line-height:24px}
  .hero__actions{position:absolute;left:0;right:auto;top:576px;width:318px;height:131px;display:flex;flex-direction:column;align-items:stretch;gap:7px}
  .hero__actions .btn{width:100%;height:62px;justify-content:center;border-radius:7px;padding:0 22px;font-size:14.7px}
  .hero__actions .btn--ghost-light{color:#073435;border:0;background:transparent}

  /* clínica */
  .about{height:808px;margin-bottom:104px;padding:0;overflow:visible}
  .about__panel{height:808px;padding:0}
  .about__panel::before{inset:0 0 auto;height:363px;border-radius:0;background:#839691}
  .about__pattern{left:0;top:0;width:100%;height:363px;opacity:.28}
  .about__pattern img{left:-52%;top:-24%;width:198%;height:250%;object-fit:cover}
  .about__photo{position:absolute;left:3.8%;top:64px;width:92.4%;height:390px}
  .about__photo img{position:absolute;left:-71.23%;top:-9.15%;width:170.4%;height:113.76%;max-width:none;object-fit:fill}
  .about__card{position:absolute;left:7.15%;top:261px;width:85.7%;height:547px;margin:0;padding:37px 31px 34px;overflow:hidden;border-radius:7.4px;box-shadow:0 4px 47px rgba(0,0,0,.1)}
  .about__card .h-display{width:292.53px;max-width:100%;height:96px;font-size:25px;line-height:32.217px;letter-spacing:-.023em}
  .about__card .h-display br,.about__mobile-break,.diff__mobile-break{display:initial}
  .about__card .rule{position:absolute;left:34px;top:141px;width:70.5px;height:6.2px;margin:0}
  .about__card p{font-size:13.05px;line-height:21.539px}
  .about__card .rule+p{margin-top:35px}
  .about__card p+p{margin-top:21px}

  /* especialidades */
  .specs{position:relative;height:687px;margin-bottom:72px;padding:0;--bleed-right:0}
  .specs .container{position:relative;height:100%;padding:0}
  .specs__head{display:block;height:100%}
  .specs__intro{position:absolute;left:10.9%;top:0;width:77%;max-width:none}
  .specs__intro .kicker{font-size:9.86px;line-height:1;margin:0 0 17px;letter-spacing:.28em}
  .specs__intro .h-display{font-size:44px;line-height:1.136;letter-spacing:-.026em}
  .specs__intro .h-display br{display:initial}
  .specs__intro .rule{width:50.7px;height:4.5px;margin:13px 0 24px}
  .specs__intro>p{width:289px;max-width:100%;margin:0;font-size:16.91px;line-height:1.646;color:#5b6b62}
  .specs__intro .carousel-nav{margin-top:24px;gap:9px}
  .specs__intro .cbtn{width:41px;height:41px;border-radius:12px}
  .specs__intro .cbtn svg{width:17px;height:17px}
  .specs__track-wrap{position:absolute;left:10.9%;right:0;top:344px;margin:0}
  .specs__track{gap:17px;padding:6px 0 0}
  .spec-card{flex-basis:283px;height:337px;min-height:337px;padding:35px 32px 25px;border-radius:14px;box-shadow:0 3px 9px rgba(27,58,45,.11)}
  .spec-card__icon{width:51px;height:51px;margin-bottom:21px}
  .spec-card__icon svg{width:23px;height:23px}
  .spec-card h3{font-size:17.67px;line-height:1.25;min-height:44px}
  .spec-card__desc{margin-top:10px;font-size:13.96px;line-height:1.652;-webkit-line-clamp:4}
  .spec-card__more{display:inline-flex;padding-top:10px;font-size:13.5px}

  /* exames */
  .exams{height:auto;min-height:1265px;margin-bottom:35px;padding:52px 0 64px;background:rgba(76,101,111,.11);overflow:visible}
  .exams .container{padding-inline:29px}
  .exams__title{font-size:27.41px;line-height:1.136;margin:0 0 32px 16px;letter-spacing:0}
  .exams__grid{display:block}
  .exams__list{display:flex;gap:11px;margin:0;padding:0;max-height:none;overflow:visible}
  .exam-entry--extra{display:list-item}
  .exam-item{height:116px;padding:24px 18px 24px 22px;gap:20px;border:0;border-radius:12px;background:#e7e9e7;transition:background .38s ease,color .38s ease,box-shadow .38s ease}
  .exam-item__ic{width:46px;height:46px;box-shadow:none}
  .exam-item__ic svg{width:24px;height:24px}
  .exam-item__name{font-size:16px;line-height:1.3}
  .exam-item__chev{width:18px;height:18px;transition:transform .45s cubic-bezier(.22,1,.36,1),color .3s ease}
  .exam-item.is-active{box-shadow:none}
  .exams__mobile-slot{list-style:none;height:0;margin:-5.5px 0;opacity:0;overflow:hidden;visibility:hidden;transition:height .58s cubic-bezier(.4,0,.2,1),margin .58s cubic-bezier(.4,0,.2,1),opacity .4s ease,visibility 0s linear .58s;will-change:height,opacity}
  .exams__mobile-slot.is-open{height:355px;margin-top:-21px;margin-bottom:18px;opacity:1;visibility:visible;transition:height .58s cubic-bezier(.4,0,.2,1),margin .58s cubic-bezier(.4,0,.2,1),opacity .42s ease .08s,visibility 0s}
  .exams__panel{width:100%;height:355px;min-height:0;padding:32px 30px 24px;border-radius:12px;box-shadow:none;overflow:hidden}
  .exams__panel::before{display:none}
  .exams__hero-img{height:66px;aspect-ratio:auto;margin:0 0 17px;border-radius:7px}
  .exams__panel h3{font-size:15.99px;line-height:1.2;margin-bottom:8px}
  .exams__panel #examBody p{font-size:9px;line-height:1.55;margin:0 0 6px}
  .exams__thumbs{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:15px}
  .exams__thumbs img{height:auto;aspect-ratio:1;border-radius:6px}

  /* diferenciais */
  .diff{height:786px;margin-bottom:52px;padding:0;background:transparent;overflow:visible}
  .diff .container{position:relative;height:100%;padding-inline:30px}
  .diff__head{width:100%;max-width:none;margin:0 0 0 4px}
  .diff__head .kicker{font-size:13px;line-height:1;margin:0 0 15px}
  .diff__head .h-display{font-family:var(--font);font-size:22.75px;line-height:1.406;letter-spacing:-.018em}
  .diff__head .h-display br{display:initial}
  .diff__head .rule{display:none}
  .diff__steps{position:absolute;left:30px;top:179px;display:flex;flex-direction:column;gap:60px;margin:0;padding:0}
  .diff__steps::before{display:block;left:28px;right:auto;top:10px;bottom:auto;width:4px;height:549px;background:#e2e2e2}
  .diff-step{position:relative;display:flex;align-items:center;gap:34px;width:100%;height:67px}
  .diff-step__num{flex:0 0 60px;width:60px;height:60px;font-size:17.5px}
  .diff-step:nth-child(1) .diff-step__num{background:#223e41!important}
  .diff-step:nth-child(2) .diff-step__num{background:#436266!important}
  .diff-step:nth-child(3) .diff-step__num{background:#759397!important}
  .diff-step:nth-child(4) .diff-step__num{background:#839691!important}
  .diff-step:nth-child(5) .diff-step__num{background:#c5c6c4!important}
  .diff-step__label,.diff-step:last-child .diff-step__label{position:static;width:199px;font-size:23.24px;line-height:1.3;text-align:left}

  /* corpo clínico */
  .team{height:779px;margin:0;padding:0;background:#d7dbdb;overflow:hidden}
  .team__deco{left:0;top:0;width:100%;height:100%;opacity:.09;mix-blend-mode:luminosity}
  .team__deco img{left:-15%;top:-8%;width:130%;height:120%;opacity:1;object-fit:cover}
  .team__grid{display:block;height:650px;min-height:650px;padding:0}
  .team__photo{position:absolute;left:11.76%;top:28px;width:88.93%;height:456px;margin:0;display:block;overflow:hidden}
  .team__photo img{position:absolute;left:1.88%;top:.04%;width:87.77%;height:105.8%;max-width:none;object-fit:fill;filter:none}
  .team__info{position:absolute;left:9.7%;top:427px;width:82%;max-width:none;padding:0;z-index:2}
  .team__info .kicker{font-size:10.15px;line-height:1;margin:0 0 9px}
  .team__name{font-size:27.25px;line-height:1.18;margin:0}
  .team__spec{display:none}
  .team__bio{margin:15px 0 0;font-size:15px;line-height:1.646;color:#57615b}
  .team__nav{position:absolute;left:8%;right:3.65%;top:277px;z-index:4;display:flex;justify-content:space-between;margin:0;transform:none;pointer-events:none}
  .team__nav .cbtn--soft{width:33px;height:33px;border:0;border-radius:6px;background:rgba(0,0,0,.3);color:#fff;pointer-events:auto}
  .team__nav .cbtn--soft svg{width:15px;height:15px}
  .team__avatars{position:absolute;left:5.35%;top:650px;width:89.3%;height:89px;margin:0;padding:14px 22px;display:flex;flex-wrap:nowrap;justify-content:center;gap:30px;background:#223e41;border-radius:13px;overflow:hidden}
  .team-av{flex:0 0 58px;width:58px;min-width:58px;height:58px;padding:0;opacity:1;gap:0;border-radius:50%}
  .team-av img{flex:0 0 58px;width:58px;min-width:58px;height:58px;min-height:58px;aspect-ratio:1/1;border:0;border-radius:50%;object-fit:cover}
  .team-av.is-active img{border:0;box-shadow:none}
  .team-av span{display:none}

  /* Porto Alegre */
  .poa{position:relative;height:867px;margin-bottom:59px;padding:0;background:transparent;overflow:hidden}
  .poa::before{content:"";position:absolute;inset:0;background:url("../assets/img/team-pattern.png") center/190% 120% no-repeat;opacity:.1;mix-blend-mode:luminosity;pointer-events:none}
  .poa__photo{position:absolute;left:3.65%;top:83px;width:92.75%;height:390px}
  .poa__photo img{object-position:center}
  .poa .container{position:static;min-height:0;padding:0}
  .poa__card{position:absolute;left:7.15%;top:320px;width:85.7%;height:547px;max-width:none;margin:0;padding:45px 40px 36px;border-radius:7.4px;box-shadow:none}
  .poa__card .h-display{width:227.53px;font-family:"Archivo",sans-serif;font-stretch:112.5%;font-size:27.59px;line-height:35.55px;letter-spacing:-.023em}
  .poa__card .h-display br{display:initial}
  .poa__card .rule{width:70.5px;height:6.2px;margin:14px 0 26px}
  .poa__card p{font-size:15px;line-height:1.667;margin-bottom:17px;color:rgba(255,255,255,.82)}

  /* contato */
  .contact{position:relative;height:900px;margin-bottom:65px;padding:0;background:linear-gradient(180deg,#f3f5f2 0%,#e3e7e2 100%)}
  .contact__grid{position:absolute;inset:50px 0 0;display:block;padding:0}
  .contact__intro{position:absolute;inset:0;text-align:center}
  .contact__intro .kicker{position:absolute;top:0;left:0;right:0;margin:0;font-size:12px;line-height:1.45;letter-spacing:.34em;color:#1f2d2d}
  .contact__title--desktop{display:none}
  .contact__title--mobile{display:block;position:absolute;top:15px;left:7.26%;right:auto;width:85.48%;margin:0;font-family:var(--font);font-size:41.03px;line-height:48px;letter-spacing:-.02em;color:#000;transform:scaleX(1.17);transform-origin:center top}
  .contact__social{position:absolute;top:290px;left:0;right:0;justify-content:center;gap:27px;margin:0}
  .contact__social a,.contact__social svg{width:14.33px;height:14.33px}
  .contact__social a:nth-child(1){order:2}
  .contact__social a:nth-child(2){order:1}
  .contact__social a:nth-child(3){order:3}
  .contact__cards{position:absolute;left:50%;top:170px;width:300px;height:150px;display:block;transform:translateX(-50%);margin:0;padding:0;border:0}
  .info-card{position:absolute;gap:19px;align-items:flex-start;min-height:0}
  .info-card:nth-child(2){left:65px;top:0;width:170px;height:22px}
  .info-card:nth-child(3){left:0;top:30px;width:300px;height:33px}
  .info-card:nth-child(1){left:10.5px;top:65px;width:279px;height:85px}
  .info-card__icon{width:14px;height:14px;border:0;border-radius:0;flex:0 0 14px;margin-top:4px}
  .info-card__icon svg{display:none}
  .info-card__icon{background-position:center;background-repeat:no-repeat;background-size:contain}
  .info-card:nth-child(1) .info-card__icon{background-image:url("../assets/img/contact-info-location.svg");width:10.5px;flex-basis:10.5px;margin-left:3.5px}
  .info-card:nth-child(2) .info-card__icon{background-image:url("../assets/img/contact-info-phone.svg");width:12.2px;flex-basis:12.2px}
  .info-card:nth-child(3) .info-card__icon{background-image:url("../assets/img/contact-info-email.svg");width:13.9px;flex-basis:13.9px}
  .info-card h4{display:none}
  .info-card p{font-family:var(--display);font-size:15.52px;line-height:22px;color:#223e41;white-space:nowrap}
  .info-card:nth-child(1) p{font-weight:400;font-size:15.84px;line-height:25.34px;color:#5d5d5d;white-space:normal}
  .info-card a{border:0}
  .contact__form{position:absolute;left:7.3%;top:321px;width:85.4%;height:529px;display:flex;flex-direction:column;gap:4.5px}
  .field-row{display:contents}
  .field{flex:0 0 66.6px;height:66.6px;border:0;border-radius:12px;background:#f1f1f1}
  .field:focus-within{box-shadow:0 0 0 2px rgba(34,62,65,.2)}
  .field input,.field textarea{height:100%;padding:0 48px 0 22px;font-family:"Montserrat",sans-serif;font-size:14.55px;font-weight:300;color:#223e41}
  .field input::placeholder,.field textarea::placeholder{color:rgba(34,62,65,.62);opacity:1}
  .field__icon{right:22px;top:50%;width:18px;height:18px;transform:translateY(-50%)}
  .field__icon img{width:15px;height:15px}
  .field--area{flex-basis:133.2px;height:133.2px;margin:0}
  .field--area textarea{padding-top:21px}
  .field--area .field__icon{top:25px;transform:none}
  .contact__submit{display:contents;margin:0}
  .contact__submit .check{position:absolute;left:19px;top:438px;font-size:16.22px;line-height:25.5px;gap:9px;color:#223e41;white-space:nowrap}
  .check__box{width:18.54px;height:18.54px;border-radius:4.64px}
  .contact__submit .btn{position:absolute;left:0;top:475px;width:100%;height:53.3px;justify-content:center;border-radius:97px;padding:0;font-size:16.77px;font-weight:400;letter-spacing:.065em}
  .contact__note{display:none}

  /* rodapé */
  .footer{height:1138px;padding:0;background:#223e41}
  .footer>.container{position:relative;height:100%;padding:0}
  .footer__cta{position:absolute;left:10.2%;right:10.2%;top:68px;display:block;height:206px;padding:0;border-bottom:1px solid rgba(255,255,255,.2)}
  .footer__cta p{font-size:18.4px;line-height:1.4}
  .footer__cta p br{display:none}
  .footer__news{width:100%;height:59px;margin-top:26px;border-radius:8px;min-width:0}
  .footer__news input{min-width:0;padding:0 18px;font-size:12px}
  .footer__news button{flex:0 0 130px;justify-content:center;padding:0;font-size:12px}
  .footer__main{position:absolute;left:10%;right:10%;top:304px;display:grid;grid-template-columns:1fr 1fr;gap:42px 25px;padding:0}
  .footer__brand{grid-column:1/-1;text-align:center}
  .footer__brand .brand{justify-content:center}
  .brand__logo--footer{width:287.5px;height:100px}
  .footer__brand>p{margin:10px auto 0;width:291px;max-width:100%;font-size:13.5px;line-height:1.75}
  .footer__brand>p br{display:none}
  .footer__col h5{font-size:15px;margin-bottom:18px}
  .footer__col a,.footer__col p{font-size:13px;line-height:1.45;margin-bottom:12px}
  .footer__main>.footer__col:last-child{grid-column:1/-1;margin-top:6px}
  .footer__bottom{position:absolute;left:10%;right:10%;top:983px;display:flex;flex-direction:column;align-items:center;gap:17px;padding-top:30px;text-align:center;font-size:11.45px;line-height:1.5;flex-wrap:nowrap}
  .footer__credit{display:none}
  .footer__credit-image{display:block;width:291px;height:33px;object-fit:contain}
  .wa-float{display:none}
}

@media (max-width:560px) and (prefers-reduced-motion:reduce){
  .exams__mobile-slot,.exams__mobile-slot.is-open,.exam-item,.exam-item__chev{transition:none}
}
