/* O cabeçalho permanece no fluxo; links de seção chegam abaixo dele. */
html{scroll-padding-top:calc(var(--header-h) + 16px)}
.header{position:sticky;top:var(--diniz-admin-inset,0px);z-index:100}
@media(min-width:601px){
  body.admin-bar{--diniz-admin-inset:32px}
  body.admin-bar :is(main[id],section[id],footer[id]){scroll-margin-top:var(--diniz-admin-inset)}
}
@media(min-width:601px) and (max-width:782px){
  body.admin-bar{--diniz-admin-inset:46px}
}

/* O enquadramento da prévia não altera a foto usada na ampliação. */
.home-hero,.hero-serv{background:var(--ink);color:var(--paper);padding:clamp(40px,5vw,72px) 0;min-height:0}
.home-hero::before,.hero-serv::before{display:none}
.home-hero-grid,.hero-serv--arco .hs-grid,.hero-serv--faixa .container{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:center;min-height:0}
.home-hero-copy,.home-hero-visual,.hero-serv .hs-txt{min-width:0;margin:0;padding:0;background:transparent}
.home-hero h1{font-size:clamp(44px,5vw,68px);font-weight:350;line-height:1.1;letter-spacing:-.035em;max-width:10ch;margin:0;color:var(--paper)}
.home-hero h1 strong{font-weight:350;color:var(--gold-lt)}
.home-hero .lead,.hero-serv .lead{font-size:clamp(16px,1.25vw,19px);line-height:1.62;max-width:34em;margin:24px 0 0;color:#D5D2C9}
.home-hero .hero-actions,.hero-serv .hero-actions{margin-top:28px;gap:12px 20px}
.home-hero .btn-primary,.hero-serv .btn-primary{min-height:56px;padding:14px 24px;background:var(--paper);color:var(--ink);font-size:15px}
.home-hero .hero-tel,.hero-serv .hero-tel{font-size:15px;color:var(--gold-lt);padding:12px 0}
.hero-serv h1{font-size:clamp(36px,4vw,56px);line-height:1.12;letter-spacing:-.03em;max-width:17ch;margin:0;color:var(--paper)}
.hero-serv h1 em{color:var(--gold-lt)}
.hs-meta{font-size:14px;line-height:1.55;color:var(--mut-dark);border-top:1px solid var(--rule-dark);padding-top:16px;margin-top:24px;max-width:52ch;letter-spacing:0;text-transform:none}
.hs-fato{display:grid;gap:8px;margin-top:20px}
.hs-fato dt{font:400 24px/1.25 var(--serif);color:var(--gold-lt);overflow-wrap:anywhere}
.hs-fato dd{margin:0;font-size:14px;line-height:1.5;color:var(--mut-dark)}
.hs-media{min-width:0;width:100%;max-width:400px;justify-self:center}
.hero-serv--faixa .hs-media{max-width:540px}
.hs-foto-wrap{margin:0;padding:0;border:0}
.hs-foto-wrap::after{display:none}
.hs-foto,.hs-faixa{width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:3px}
.hs-foto img,.hs-faixa img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.hs-legenda{font-size:12px;line-height:1.5;color:var(--mut-dark);margin:10px 0 0;padding:0}
.home-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:556px;margin-inline:auto;padding:0;border:0}
.home-photo-grid figure{margin:0;min-width:0;background:transparent}
.home-photo-grid img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:3px}
.home-photo-grid figcaption{position:static;font-size:12px;line-height:1.5;color:var(--mut-dark);margin-top:10px;padding:0;background:transparent}

/* Texto e fotografia lateral: nenhum numeral ou palavra invade a coluna. */
#o-que-e>.container,#etapas>.container{max-width:1080px}
.oq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,344px);gap:clamp(32px,5vw,64px);align-items:center}
.oq-grid>*{min-width:0}
.oq-media{position:static;width:100%;max-width:344px;margin:0;padding:0;border:0}
.oq-media img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 66%;border-radius:3px}
.oq-stat{margin-top:24px;padding:20px 0 0;border:0;border-top:1px solid var(--rule);background:transparent;color:var(--ink);max-width:56ch}
.oq-stat b{display:block;font:400 24px/1.3 var(--serif);color:var(--ink);overflow-wrap:anywhere}
.oq-stat span{display:block;margin-top:8px;font-size:14px;line-height:1.55;color:var(--mut)}

/* Etapas: foto na altura da lista, legenda no mesmo eixo da foto. */
.process-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,344px);gap:clamp(32px,5vw,64px);align-items:start}
.process-copy{min-width:0}
.process-grid .editorial-image{position:static;width:100%;max-width:344px;margin:0;padding:0;border:0}
.editorial-image img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 64%;border-radius:3px}
.editorial-image figcaption{font-size:12px;line-height:1.5;color:var(--mut);margin-top:10px}
.visual-step{min-width:0}
.visual-step>summary{overflow-wrap:anywhere}

/* As galerias continuam roláveis por toque e teclado mesmo sem JavaScript. */
.visual-break,.patient-story{padding:32px 0 56px;background:var(--paper)}
.photo-rail{--photo-gap:24px;width:100%;max-width:1008px;margin-inline:auto}
.photo-rail--2{max-width:664px}
.patient-story .photo-rail{max-width:1080px}
.visual-gallery{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 2 * var(--photo-gap))/3);align-items:start;gap:var(--photo-gap);margin:0;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--gold-ink) var(--paper);padding-bottom:8px}
.visual-gallery--2{grid-auto-columns:calc((100% - var(--photo-gap))/2)}
.visual-gallery figure{position:relative;margin:0;min-width:0;scroll-snap-align:start}
.visual-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 65%;border-radius:3px}
.visual-gallery .photo-patient img{object-fit:contain;object-position:center;background:#ebe6dc}
.patient-story .photo-patient img,.treatment-gallery .visual-gallery img{aspect-ratio:1}
:is(.patient-story,.treatment-gallery) .photo-patient img{object-position:center top;background:var(--paper)}
.visual-gallery figcaption{font-size:12px;line-height:1.5;color:var(--mut);margin-top:10px}
/* A assinatura já aparece no arquivo; a legenda permanece para leitores de tela. */
.visual-gallery .photo-credit{position:absolute;inset:0 auto auto 0;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Registros clínicos: o arquivo já traz antes, depois e a faixa com RT e CRO; nada é cortado. */
.records-gallery{padding:0;background:transparent}
.records-gallery .photo-rail{max-width:none;margin-inline:0}
.records-gallery .photo-rail--2{max-width:824px}
.records-gallery .visual-gallery img{aspect-ratio:auto;object-fit:contain;background:transparent}
.records-rt{margin:28px 0 0;font-size:14px;line-height:1.55;color:var(--ink-800)}
.records-rt b{font-weight:600}
.clinical-records .nota{margin-top:6px}
.photo-controls{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--ink)}
.photo-controls[hidden]{display:none}
.photo-count{margin-inline-end:auto;font-size:13px;font-variant-numeric:tabular-nums}
.photo-controls button{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--gold-ink);border-radius:50%;padding:0;background:var(--paper);color:var(--ink);cursor:pointer}
.photo-controls button[aria-disabled=true]{color:var(--mut);border-color:var(--rule);cursor:default}
.photo-controls svg{width:21px;height:21px;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.photo-controls button:focus-visible{outline:2px solid var(--gold-ink);outline-offset:2px}
.visual-gallery:focus-visible,.visual-gallery img.is-zoomable:focus-visible{outline:2px solid var(--gold-ink);outline-offset:-2px}

/* A grade interna dos passos digitais não tem colunas fixas maiores que o texto. */
.home-digital-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.home-digital-steps{margin-top:36px;border-top:1px solid var(--rule-dark)}
.home-digital-steps>div{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px 16px;padding:22px 0;border-bottom:1px solid var(--rule-dark);align-items:baseline}
.home-digital-steps span{font:350 17px/1.4 var(--serif);color:var(--gold-lt)}
.home-digital-steps h3{font:600 14px/1.5 var(--sans);color:var(--paper);margin:0}
.home-digital-steps p{grid-column:2;font-size:14px;line-height:1.6;color:var(--mut-dark);margin:0}
.home-digital-photo{border:0}
.home-digital-photo img,.home-story-photo img,.espec-foto img{height:auto;aspect-ratio:auto;object-fit:contain}
.home-story-photo{top:calc(var(--header-h) + var(--diniz-admin-inset,0px) + 24px)}
.home-people-grid>*,.home-contact-grid>*,.home-digital-grid>*,.home-need-grid>*,.home-final-grid>*,.home-section-head>*,.sec-head>*{min-width:0}
.sec-head:has(>h2:only-child){grid-template-columns:minmax(0,1fr);max-width:880px}
.home-section h2,.sec h2,.s-cta h2,.home-final h2{line-height:1.12}

@media(max-width:1099px){
  .home-hero-grid,.hero-serv--arco .hs-grid,.hero-serv--faixa .container{gap:36px}
  .hero-serv h1{font-size:clamp(36px,4.5vw,48px)}
  .oq-grid,.process-grid{grid-template-columns:minmax(0,1fr) minmax(0,min(34vw,344px));gap:36px}
}
@media(max-width:960px){
  .home-hero-grid,.hero-serv--arco .hs-grid,.hero-serv--faixa .container{grid-template-columns:minmax(0,1fr);gap:32px}
  .hero-serv h1{max-width:22ch}
  .home-hero h1{max-width:14ch}
  .home-hero .lead,.hero-serv .lead{max-width:42em}
  .hs-media{justify-self:start;max-width:360px}
  .hero-serv--faixa .hs-media{max-width:540px}
  .home-hero-visual{width:100%;max-width:556px}
  .home-digital-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .home-digital-photo{grid-row:auto;justify-self:start;width:100%;max-width:420px}
  .home-digital-copy{grid-row:auto}
  .home-need-grid{grid-template-columns:minmax(0,1fr)}
  .home-need,.home-need:first-child,.home-need:last-child{padding:24px 0;border-left:0;border-top:1px solid var(--rule)}
  .home-need:first-child{border-top:0}
  .photo-rail{--photo-gap:16px}
  .visual-gallery,.visual-gallery--2{grid-auto-columns:min(344px,calc((100% - var(--photo-gap))/2))}
}
@media(max-width:720px){
  .home-hero,.hero-serv{padding:36px 0 40px}
  .home-hero h1{font-size:44px;max-width:10ch}
  .hero-serv h1{font-size:clamp(34px,9vw,42px);max-width:none}
  .home-hero .lead,.hero-serv .lead{font-size:16px;margin-top:20px;line-height:1.6}
  .home-hero .hero-actions,.hero-serv .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-top:24px}
  .home-hero .btn-primary,.hero-serv .btn-primary{width:100%}
  .home-hero .hero-tel,.hero-serv .hero-tel{display:block;text-align:left}
  .hs-media,.hero-serv--faixa .hs-media{width:100%;max-width:360px}
  .hs-legenda{margin-top:10px}
  .home-photo-grid{gap:12px}
  .oq-grid,.process-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .oq-media,.process-grid .editorial-image{width:100%;max-width:344px;justify-self:center}
  .oq-stat b{font-size:22px}
  .visual-break,.patient-story{padding:24px 0 40px}
  .visual-gallery,.visual-gallery--2{grid-auto-columns:min(86%,344px)}
  .home-story-photo{justify-self:center;width:100%;max-width:300px}
  .home-service-name{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
  .hs-foto,.hs-faixa,.hs-foto img,.hs-faixa img,.home-photo-grid img,.oq-media img,.editorial-image img,.visual-gallery img{animation:none!important;transition:none!important;transform:none!important;translate:none!important;scale:none!important}
}
