/* wordmark de contorno maior na home */
img.large-ser{width:clamp(260px,32vw,440px)}

/* selo individual no lugar do arco tipografico da secao de abordagem */
.approach-seal{width:clamp(150px,17vw,208px);height:auto;display:block;margin-top:46px}

/* o segundo arco fica, mas com o wordmark da identidade no lugar do texto */
.approach-mark img{width:96px;height:auto;display:block}
.approach-mark{font-size:0}

/* assinatura de fechamento: marca a esquerda, dados a direita */
.profile-signature{
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:clamp(26px,4vw,60px);
  max-width:780px;
  text-align:left;
  border-top:1px solid var(--border);
  padding-top:44px;
}
.profile-signature img{flex:none;width:clamp(136px,15vw,180px)}
.profile-signature p{margin:0}
@media (max-width:620px){
  .profile-signature{flex-direction:column;text-align:center;gap:22px}
}

.brand-logo{height:46px}
.site-header.is-scrolled .brand-logo{height:40px}
.brand-copy strong{font-size:1.18rem}
.brand-logo--footer{height:96px}
.header-cta{border-radius:3px;min-height:50px;padding:0 24px;gap:18px;font-size:.76rem;
  border:1px solid transparent;transition:all .18s}
.header-cta:hover span{transform:translate(3px,-3px)}
@media (max-width:760px){
  .brand-logo{height:36px}
  .brand-logo--footer{height:78px}
}
.profile-hero,.home-hero{overflow-x:clip}
@media (max-width:900px){.profile-orbit,.hero-orbit{display:none}}
img,svg,video,iframe{max-width:100%}
.home-hero,.profile-hero{grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}
.home-hero>*,.profile-hero>*{min-width:0}
h1,h2,h3{overflow-wrap:break-word}
@media (max-width:900px){
  .home-hero,.profile-hero{grid-template-columns:minmax(0,1fr)}
  .home-hero-copy,.profile-hero-copy{max-width:100%}
  .home-hero-visual,.profile-hero-visual{max-width:100%;overflow:hidden}
}
.approach-copy p + p{margin-top:14px}
.approach-copy p + ol,.approach-copy p + ul{margin-top:8px}
.faq-heading p{margin-top:14px}
.myth-grid + div .section-note{margin-left:auto;margin-right:auto}
.profile-lead{font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.4;color:var(--charcoal);margin:14px 0 18px;max-width:36ch}
.quote-support{color:#fffaf2b3;font-size:.82rem;line-height:1.7;max-width:66ch;margin:22px auto 0}
.brand-logo{height:34px;width:auto;display:block}
.site-header.is-scrolled .brand-logo{height:29px}
.brand-logo--footer{height:104px;width:auto;display:block}
.brand-mark{gap:11px}
.profile-seal{width:clamp(104px,12vw,148px);height:auto;display:block}
.profile-hero-copy .profile-seal{margin:0 0 26px}
.profile-signature{display:flex;flex-direction:column;align-items:center;gap:18px;margin:0 auto;max-width:520px;text-align:center}
.profile-signature img{width:clamp(120px,16vw,168px);height:auto}
.profile-signature p{color:var(--muted);font-size:.8rem;line-height:1.7;margin:0}
.approach-steps{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:20px}
.approach-steps li{border-top:1px solid var(--border);padding-top:16px}
.approach-steps strong{display:block;font-family:var(--serif);font-size:1.28rem;font-weight:500;margin-bottom:6px}
.approach-steps span{color:var(--muted);font-size:.79rem;line-height:1.65}
.plain-list{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:12px}
.plain-list li{position:relative;padding-left:22px;color:var(--muted);font-size:.82rem;line-height:1.65}
.plain-list li:before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.plain-list strong{color:var(--charcoal)}
.myth-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:34px}
.myth-grid article{border:1px solid var(--border);border-radius:22px;padding:26px}
.myth-grid h3{font-size:1.22rem;margin:0 0 10px}
.myth-grid p{color:var(--muted);font-size:.79rem;line-height:1.65;margin:0}
.section-note{color:var(--muted);font-size:.78rem;line-height:1.7;margin-top:26px;max-width:70ch}
@media (max-width:760px){
  .brand-logo{height:28px}
  .brand-logo--footer{height:84px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1 !important;transform:none !important}
}

/* --- revisao: precisa vir depois das regras originais --- */
.approach-mark{font-size:0;line-height:0}
.approach-mark img{width:96px;height:auto;display:block}
.profile-signature{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:clamp(26px,4vw,60px);
  max-width:800px;
  text-align:left;
  border-top:1px solid var(--border);
  padding-top:46px;
}
.profile-signature img{flex:none;width:clamp(136px,15vw,182px)}
.profile-signature p{margin:0}
@media (max-width:620px){
  .profile-signature{flex-direction:column;text-align:center;gap:22px}
}

.site-header.menu-open .desktop-nav{opacity:1;pointer-events:auto;transform:none;z-index:120}
.site-header.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}
.site-header.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}
.menu-toggle span{transition:transform .2s}

/* ---- ritmo do hero: o texto encostava no botao no celular ---- */
.profile-hero-copy .eyebrow{margin-bottom:18px}
.profile-lead{margin:0 0 20px}
.profile-intro{margin:0 0 36px}
.hero-actions{margin-bottom:0}
.profile-trust{margin-top:38px}
@media (max-width:900px){
  .profile-lead{margin-bottom:18px}
  .profile-intro{margin-bottom:32px}
  .profile-trust{margin-top:32px}
}

/* ---- foto menor do hero: cantos arredondados, menos o inferior direito ---- */
.profile-inset{border-radius:20px 20px 0 20px;overflow:hidden}
.profile-inset img{border-radius:14px 14px 0 14px;display:block}

/* ---- marca maior nas paginas individuais ---- */
.approach-seal{width:clamp(196px,21vw,268px);margin-top:52px;margin-left:-6px}
.approach-mark{width:252px;height:174px;border-radius:126px 126px 0 0;margin-top:52px;
  display:grid;place-items:center;padding-top:22px}
.approach-mark img{width:142px}
@media (max-width:900px){
  .approach-seal{width:min(210px,54vw);margin-top:40px;margin-left:0}
  .approach-mark{width:212px;height:148px;border-radius:106px 106px 0 0;margin-top:40px;padding-top:18px}
  .approach-mark img{width:120px}
}

/* ============================================================
   Leitura em sequencia
   O bloco da lista prende a tela e os topicos entram um de cada vez.
   Sem JavaScript ou com movimento reduzido tudo aparece em fluxo normal.
   ============================================================ */
.seq{position:relative}
.seq-slot{position:relative}
.seq-head{align-self:start}

html.seq-on .seq{height:calc(100svh + (var(--n) - 1) * 14svh)}
html.seq-on .seq-head{position:sticky;top:calc(var(--header) + 30px)}
html.seq-on .seq-stage{position:sticky;top:var(--header);
  height:calc(100svh - var(--header));display:flex;flex-direction:column;justify-content:center;gap:26px}
html.seq-on .seq-slot{min-height:clamp(180px,32vh,290px)}
html.seq-on .seq-list{position:absolute;inset:0;margin:0;padding:0;display:block;border:0}
html.seq-on .seq-list > li{position:absolute;inset:0 0 auto 0;margin:0;padding:0;border:0;
  opacity:0;transform:translateY(20px);transition:opacity .42s ease,transform .42s ease}
html.seq-on .seq-list > li.is-now{opacity:1;transform:none}
html.seq-on .seq-list > li:before{display:none}
html.seq-on .seq-list > li strong{display:block;font-family:var(--serif);font-weight:500;
  font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.22;color:var(--charcoal);margin-bottom:14px}
html.seq-on .seq-list > li span{display:block;color:var(--muted);font-size:.86rem;line-height:1.7;max-width:46ch}
html.seq-on .approach-steps > li{border:0}
html.seq-on .seq-list > li{font-family:var(--serif);font-weight:500;
  font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.28;color:var(--charcoal)}
html.seq-on .seq-list > li strong{margin-bottom:14px}
html.seq-on .seq-list > li span,html.seq-on .seq-list > li div{font-family:var(--sans)}


/* contador */
.seq-counter{display:flex;align-items:center;gap:14px;color:var(--muted);
  font-size:.6rem;letter-spacing:.18em;text-transform:uppercase}
.seq-counter b{color:var(--charcoal);font-weight:600;font-size:.72rem}
.seq-track{flex:1;max-width:200px;height:1px;background:var(--border);position:relative;overflow:hidden}
.seq-track i{position:absolute;inset:0;background:var(--gold);transform-origin:left;transform:scaleX(0);
  transition:transform .3s ease}
html:not(.seq-on) .seq-counter{display:none}

@media (max-width:1024px){
  html.seq-on .seq-head{position:static}
}
@media (prefers-reduced-motion:reduce){
  html.seq-on .seq{height:auto}
  html.seq-on .seq-stage{position:static;height:auto}
  html.seq-on .seq-list{position:static}
  html.seq-on .seq-list > li{position:static;opacity:1;transform:none}
}
/* ============================================================
   Bloco editorial em duas colunas
   Usado onde o titulo estava centralizado e o conteudo alinhado
   a esquerda, o que deixava a secao torta.
   ============================================================ */
.split-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,6vw,96px);align-items:start}
.split-grid .section-heading{text-align:left;max-width:none;margin:0}
.split-grid .section-heading>p:last-child{margin-inline:0;max-width:46ch}
.split-head{align-self:start;position:sticky;top:130px}
@media (max-width:1024px){
  .split-grid{grid-template-columns:1fr;gap:34px}
  .split-head{position:static}
}

/* pontos numerados, no lugar da lista corrida */
.point-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.point-list li{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:baseline;
  border-top:1px solid var(--border);padding:22px 0}
.point-list li:last-child{border-bottom:1px solid var(--border)}
.point-list li>span{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--gold);line-height:1}
.point-list li>div{color:var(--muted);font-size:.84rem;line-height:1.68}
.point-list strong{color:var(--charcoal);display:block;margin-bottom:5px;font-size:.95rem}
@media (max-width:520px){
  .point-list li{grid-template-columns:38px 1fr;gap:12px;padding:18px 0}
  .point-list li>span{font-size:1.25rem}
}

/* ============================================================
   Cartoes empilhados
   No celular os tres cartoes se sobrepoem conforme a rolagem,
   em vez de virar uma coluna longa de texto.
   ============================================================ */
.myth-grid{counter-reset:mito}
.myth-grid article{position:relative;background:var(--quiet);transition:transform .28s ease,box-shadow .28s ease}
.myth-grid article:before{counter-increment:mito;content:counter(mito,decimal-leading-zero);
  display:block;font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--gold);margin-bottom:12px}
.myth-grid article:hover{transform:translateY(-5px);box-shadow:0 18px 42px #393f3c14}
@media (max-width:900px){
  .myth-grid{display:block;margin-top:26px}
  .myth-grid article{position:sticky;margin-bottom:18px;box-shadow:0 -2px 0 var(--quiet),0 16px 38px #393f3c17}
  .myth-grid article:nth-child(1){top:96px}
  .myth-grid article:nth-child(2){top:112px}
  .myth-grid article:nth-child(3){top:128px}
  .myth-grid article:hover{transform:none}
}

/* nota de encaminhamento, que estava solta e torta */
.note-card{border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:0 18px 18px 0;
  padding:26px 30px;margin:44px auto 0;max-width:760px;background:var(--quiet)}
.note-card p{margin:0;color:var(--muted);font-size:.79rem;line-height:1.7}
.note-card p + p{margin-top:14px}
.note-card strong{color:var(--charcoal)}
@media (max-width:620px){.note-card{padding:22px;margin-top:34px}}

/* ---------------------------------------------------------------
   Sobre a profissional: cartoes em linha, texto maior
   --------------------------------------------------------------- */
.credencial-list{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:10px}
.credencial-list li{border:1px solid var(--border);border-radius:14px;padding:18px 22px;
  color:var(--muted);font-size:.92rem;line-height:1.62;background:var(--quiet);
  transition:border-color .22s ease,transform .22s ease}
.credencial-list li:hover{border-color:var(--gold);transform:translateX(4px)}
.credencial-list li:before{display:none}
.credencial-list strong{color:var(--charcoal);display:block;margin-bottom:3px;
  letter-spacing:.1em;text-transform:uppercase;font-size:.58rem}
.profile-about-copy p{font-size:.92rem;line-height:1.72}
@media (max-width:620px){
  .credencial-list li{padding:16px 18px;font-size:.88rem}
}

/* ---------------------------------------------------------------
   Onde posso ajudar: no celular os cartoes se empilham na rolagem
   --------------------------------------------------------------- */
@media (max-width:900px){
  .demand-grid{display:block}
  .demand-card{position:sticky;margin-bottom:16px;background:var(--quiet);
    border:1px solid var(--border);border-radius:20px;padding:26px 24px;
    box-shadow:0 -2px 0 var(--quiet),0 18px 40px #393f3c17}
  .demand-card:nth-child(1){top:94px}
  .demand-card:nth-child(2){top:106px}
  .demand-card:nth-child(3){top:118px}
  .demand-card:nth-child(4){top:130px}
  .demand-card:nth-child(5){top:142px}
  .demand-card:nth-child(6){top:154px}
  .demand-card:nth-child(7){top:166px}
  .demand-card:nth-child(8){top:178px}
  .demand-card:last-child{margin-bottom:0}
}

/* ---------------------------------------------------------------
   Abordagem: mais curso de rolagem e menos folga antes do proximo bloco
   --------------------------------------------------------------- */
html.seq-on .approach-section .seq{height:calc(100svh + (var(--n) - 1) * 22svh)}
html.seq-on .approach-section .seq-slot{min-height:clamp(210px,36vh,330px)}
.approach-section{padding-bottom:0}
html.seq-on .approach-copy{padding-bottom:0}
html.seq-on .approach-grid{padding-bottom:clamp(40px,6vh,70px)}
@media (max-width:900px){
  html.seq-on .approach-section .seq{height:calc(100svh + (var(--n) - 1) * 20svh)}
}

/* ---------------------------------------------------------------
   Possibilidades: mesma linha dourada de hoje, uma de cada vez no celular
   --------------------------------------------------------------- */
html.seq-on .seq--celular{height:auto}
html.seq-on .seq--celular .seq-stage{position:static;height:auto;gap:0}
html.seq-on .seq--celular .seq-slot{min-height:0}
html.seq-on .seq--celular .seq-list{position:static}
html.seq-on .seq--celular .seq-list > li{position:static;opacity:1;transform:none}
html.seq-on .seq--celular .seq-counter{display:none}

/* a lista de linhas mantem o desenho proprio, sem a tipografia do slot */
html.seq-on .seq-list--linhas > li{font-family:inherit;font-size:inherit;
  line-height:inherit;color:inherit}

@media (max-width:900px){
  html.seq-on .seq--celular{height:calc(100svh + (var(--n) - 1) * 16svh)}
  html.seq-on .seq--celular .seq-stage{position:sticky;top:var(--header);
    height:calc(100svh - var(--header));display:flex;flex-direction:column;justify-content:center;gap:24px}
  html.seq-on .seq--celular .seq-slot{min-height:clamp(120px,20vh,190px)}
  html.seq-on .seq--celular .seq-list{position:absolute;inset:0}
  html.seq-on .seq--celular .seq-list > li{position:absolute;inset:0 0 auto 0;
    opacity:0;transform:translateY(16px);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);
    padding:26px 0;transition:opacity .4s ease,transform .4s ease}
  html.seq-on .seq--celular .seq-list > li.is-now{opacity:1;transform:none}
  html.seq-on .seq--celular .seq-counter{display:flex}
  html.seq-on .seq--celular .seq-list > li > span{font-size:1.5rem}
  html.seq-on .seq--celular .seq-list > li > div{font-size:1.02rem;line-height:1.5}
}
@media (prefers-reduced-motion:reduce){
  html.seq-on .seq--celular{height:auto}
  html.seq-on .seq--celular .seq-stage{position:static;height:auto}
  html.seq-on .seq--celular .seq-list{position:static}
  html.seq-on .seq--celular .seq-list > li{position:static;opacity:1;transform:none}
}

.profile-about-copy p + p,.approach-copy p + p{margin-top:15px}
.credencial-list strong:after{content:none}

@media (max-width:900px){
  .demand-card{min-height:0;display:flex;flex-direction:column;gap:10px}
  .demand-card h3{font-size:1.55rem;margin:0}
  .demand-card p{font-size:.82rem;line-height:1.65;margin:0}
  .demand-card .card-index{color:var(--gold);font-size:.6rem;letter-spacing:.16em}
}

/* ---------------------------------------------------------------
   Escala de titulos por tamanho de tela
   --------------------------------------------------------------- */
@media (max-width:1024px){
  h1{font-size:clamp(2.9rem,6vw,4.2rem)}
  h1,.profile-hero-copy h1{font-size:clamp(2.9rem,6.2vw,4.2rem)}
  .home-hero h1{font-size:clamp(2.9rem,6.2vw,4.2rem)}
  h2{font-size:clamp(2.1rem,4.6vw,3.2rem)}
  .location-copy h2{font-size:clamp(2.1rem,4.6vw,3.2rem)}
  .care-panel-copy h3{font-size:clamp(1.9rem,4vw,2.8rem)}
  .professional-feature-copy h3{font-size:clamp(2.2rem,4.6vw,3.4rem)}
  .professionals-orbit-profile h3{font-size:clamp(1.9rem,4vw,2.8rem)}
  .stack-step h3,.steps-split-content .stack-step h3{font-size:clamp(1.9rem,4.2vw,2.9rem)}
  h3{font-size:clamp(1.45rem,2.6vw,1.9rem)}
}
@media (max-width:620px){
  h1{font-size:clamp(2.3rem,9vw,3rem);line-height:1.08}
  h1,.profile-hero-copy h1{font-size:clamp(2.3rem,9vw,3rem);line-height:1.08}
  .home-hero h1{font-size:clamp(2.3rem,9vw,3rem);line-height:1.08}
  h2{font-size:clamp(1.8rem,7vw,2.35rem);line-height:1.15}
  .location-copy h2{font-size:clamp(1.8rem,7vw,2.35rem)}
  .care-panel-copy h3{font-size:clamp(1.6rem,6.2vw,2.05rem)}
  .professional-feature-copy h3{font-size:clamp(1.75rem,6.6vw,2.2rem)}
  .professionals-orbit-profile h3{font-size:clamp(1.65rem,6.2vw,2.1rem)}
  .stack-step h3,.steps-split-content .stack-step h3{font-size:clamp(1.6rem,6.2vw,2.05rem)}
  .demand-card h3{font-size:1.4rem}
  h3{font-size:1.3rem}
  .hero-lead,.profile-lead{font-size:1.05rem}
  .eyebrow{font-size:.54rem}
  html.seq-on .seq-list > li{font-size:clamp(1.15rem,5.4vw,1.5rem)}
}
@media (max-width:400px){
  h1,.profile-hero-copy h1,.home-hero h1{font-size:2.15rem}
  h2{font-size:1.7rem}
}

section:has(> .split-grid){display:block}

html.seq-on .seq--celular .seq-list > li{
  display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:baseline;
  border-top:1px solid var(--border);padding:22px 0;margin:0}
html.seq-on .seq--celular .seq-list > li:last-child{border-bottom:1px solid var(--border)}
html.seq-on .seq--celular .seq-list > li > span{font-family:var(--serif);font-style:italic;
  font-size:1.5rem;color:var(--gold);line-height:1}
html.seq-on .seq--celular .seq-list > li > div{color:var(--muted);font-size:.84rem;line-height:1.68}
@media (max-width:900px){
  html.seq-on .seq--celular .seq-list > li{border-bottom:1px solid var(--gold);border-top-color:var(--gold);padding:26px 0}
  html.seq-on .seq--celular .seq-list > li:last-child{border-bottom:1px solid var(--gold)}
}
@media (max-width:520px){
  html.seq-on .seq--celular .seq-list > li{grid-template-columns:38px 1fr;gap:12px}
}

.approach-mark img{width:150px;margin-left:-3%}
@media (max-width:900px){.approach-mark img{width:126px}}

/* ===============================================================
   Escala tipografica
   Corpo de leitura com piso confortavel, etiquetas em caixa alta
   mantidas pequenas de proposito, titulos que encolhem por faixa.
   =============================================================== */

/* --- corpo de leitura, todas as telas --- */
.demand-card p{font-size:.86rem;line-height:1.66}
.approach-copy li{font-size:.86rem;line-height:1.66}
.professionals-orbit-profile div>p:not(.eyebrow){font-size:.84rem;line-height:1.66}
.home-demand-card p{font-size:.86rem;line-height:1.66}
.step-card p{font-size:.86rem;line-height:1.66}
.profile-about-copy p,.approach-copy p{font-size:.9rem;line-height:1.72}
.plain-list li,.point-list li>div{font-size:.86rem;line-height:1.68}
.myth-grid p,.note-card p{font-size:.84rem;line-height:1.7}
.faq-answer p{font-size:.86rem;line-height:1.72}

/* --- tablet --- */
@media (max-width:1024px){
  h1,.profile-hero-copy h1,.home-hero h1{font-size:clamp(2.9rem,6.2vw,4.2rem)}
  h2,.location-copy h2{font-size:clamp(2.1rem,4.6vw,3.2rem)}
  h3{font-size:clamp(1.45rem,2.6vw,1.9rem)}
  .care-panel-copy h3{font-size:clamp(1.9rem,4vw,2.8rem)}
  .professional-feature-copy h3{font-size:clamp(2.2rem,4.6vw,3.4rem)}
  .professionals-orbit-profile h3{font-size:clamp(1.9rem,4vw,2.8rem)}
  .stack-step h3,.steps-split-content .stack-step h3{font-size:clamp(1.9rem,4.2vw,2.9rem)}
  .demand-card p,.approach-copy li,.home-demand-card p,.step-card p,
  .plain-list li,.point-list li>div,.faq-answer p{font-size:.9rem}
  .profile-about-copy p,.approach-copy p{font-size:.94rem}
}

/* --- celular --- */
@media (max-width:620px){
  h1,.profile-hero-copy h1,.home-hero h1{font-size:clamp(2.3rem,9vw,3rem);line-height:1.08}
  h2,.location-copy h2{font-size:clamp(1.8rem,7vw,2.35rem);line-height:1.15}
  h3{font-size:1.3rem}
  .care-panel-copy h3{font-size:clamp(1.6rem,6.2vw,2.05rem)}
  .professional-feature-copy h3{font-size:clamp(1.75rem,6.6vw,2.2rem)}
  .professionals-orbit-profile h3{font-size:clamp(1.65rem,6.2vw,2.1rem)}
  .stack-step h3,.steps-split-content .stack-step h3{font-size:clamp(1.6rem,6.2vw,2.05rem)}
  .demand-card h3{font-size:1.4rem}

  /* texto de leitura sobe para 15px, o piso confortavel no celular */
  .demand-card p,.approach-copy li,.home-demand-card p,.step-card p,
  .plain-list li,.point-list li>div,.faq-answer p,.myth-grid p,
  .note-card p,.section-note,.credencial-list li,
  .professionals-orbit-profile div>p:not(.eyebrow){font-size:.95rem;line-height:1.66}
  .profile-about-copy p,.approach-copy p,.profile-intro{font-size:.97rem;line-height:1.72}
  .hero-lead,.profile-lead{font-size:1.06rem;line-height:1.42}
  .button,.text-link{font-size:.86rem}
  .faq-item button span{font-size:1.02rem}

  /* etiquetas seguem pequenas, mas com folga de leitura */
  .eyebrow{font-size:.58rem;letter-spacing:.18em}
  .story-topics span,.profile-trust span{font-size:.66rem}
  .footer-bottom{font-size:.68rem;line-height:1.6}
  .ethical-note{font-size:.8rem}
  html.seq-on .seq-list > li{font-size:clamp(1.15rem,5.4vw,1.5rem)}
  html.seq-on .seq-list > li span{font-size:.95rem}
}

@media (max-width:400px){
  h1,.profile-hero-copy h1,.home-hero h1{font-size:2.15rem}
  h2,.location-copy h2{font-size:1.7rem}
}

/* ---------------------------------------------------------------
   Arco e selo maiores nas paginas individuais, pelo mesmo motivo:
   o traco fino precisa de tamanho para nao virar mancha.
   --------------------------------------------------------------- */
.approach-mark{width:330px;height:226px;border-radius:165px 165px 0 0;padding-top:30px}
.approach-mark img{width:222px;margin-left:-3%}
.approach-seal{width:clamp(230px,24vw,300px)}
@media (max-width:900px){
  .approach-mark{width:min(288px,78vw);height:min(198px,54vw);
    border-radius:144px 144px 0 0;padding-top:24px;margin-inline:auto}
  .approach-mark img{width:min(196px,54vw)}
  .approach-seal{width:min(250px,64vw);margin-inline:auto;margin-top:34px}
  .approach-sticky{text-align:center}
  .approach-sticky .eyebrow,.approach-sticky h2{text-align:left}
}

/* curso de rolagem por topico, para a leitura nao passar correndo */
html.seq-on .seq{height:calc(100svh + (var(--n) - 1) * 26svh)}
html.seq-on .approach-section .seq{height:calc(100svh + (var(--n) - 1) * 30svh)}
html.seq-on .seq-list > li{transition:opacity .5s ease,transform .5s ease}
@media (max-width:900px){
  html.seq-on .seq{height:calc(100svh + (var(--n) - 1) * 24svh)}
  html.seq-on .approach-section .seq{height:calc(100svh + (var(--n) - 1) * 26svh)}
  html.seq-on .seq--celular{height:calc(100svh + (var(--n) - 1) * 24svh)}
}

.section-cta{margin-top:clamp(34px,5vh,58px);padding-top:20px;border-top:1px solid var(--border)}
.section-cta a{display:inline-flex;align-items:center;gap:12px;color:var(--muted);
  font-size:.78rem;line-height:1.5;transition:color .2s ease,gap .2s ease}
.section-cta a:hover{color:var(--charcoal);gap:16px}
.section-cta i{font-style:normal;color:var(--gold);font-size:.86rem}
.section-cta a span{border-bottom:1px solid var(--gold);padding-bottom:3px}
.section-cta--escuro{border-top-color:#fffaf22e}
.section-cta--escuro a{color:#fffaf2b3}
.section-cta--escuro a:hover{color:var(--quiet)}
@media (max-width:620px){
  .section-cta{margin-top:30px;padding-top:18px}
  .section-cta a{font-size:.85rem}
}

/* ---------------------------------------------------------------
   Formacoes: os cartoes se empilham conforme a rolagem, em vez de
   virar uma coluna longa de itens iguais.
   --------------------------------------------------------------- */
.credencial-list{gap:14px}
.credencial-list li{position:sticky;background:var(--quiet);
  box-shadow:0 -1px 0 var(--quiet),0 14px 34px #393f3c12}
.credencial-list li:nth-child(1){top:calc(var(--header) + 26px)}
.credencial-list li:nth-child(2){top:calc(var(--header) + 40px)}
.credencial-list li:nth-child(3){top:calc(var(--header) + 54px)}
.credencial-list li:nth-child(4){top:calc(var(--header) + 68px)}
.credencial-list li:nth-child(5){top:calc(var(--header) + 82px)}
.credencial-list li:nth-child(6){top:calc(var(--header) + 96px)}
.credencial-list li:nth-child(7){top:calc(var(--header) + 110px)}
.credencial-list li:hover{transform:none;border-color:var(--gold)}
@media (prefers-reduced-motion:reduce){
  .credencial-list li{position:static;box-shadow:none}
}

.section-cta{width:min(var(--shell),100%);margin-inline:auto;max-width:100%}
.location-stage .section-cta{width:min(calc(var(--shell) - 96px),100%);padding-inline:clamp(20px,4vw,44px)}
@media (max-width:900px){
  .location-stage .section-cta{padding-inline:20px}
}

.section-cta{margin-bottom:clamp(20px,4vh,44px)}

/* marca maior no arco, pelo mesmo motivo */
.approach-mark{width:392px;height:266px;border-radius:196px 196px 0 0;padding-top:34px}
.approach-mark img{width:288px}
@media (max-width:900px){
  .approach-mark{width:min(320px,84vw);height:min(218px,58vw);
    border-radius:160px 160px 0 0;padding-top:26px}
  .approach-mark img{width:min(236px,62vw)}
}
main{overflow-x:clip}
