/* Duas variantes; opt-in exclusivo dos heroes. Não alcança cabeçalho ou seções seguintes. */
body.hero-system{--hero-main-min:580px;--hero-internal-min:500px;--hero-pad:40px;--hero-bottom:40px;--hero-gap:48px;--hero-title-gap:20px;--hero-actions-gap:24px;--hero-label-gap:14px;--hero-breadcrumb-gap:12px;--hero-header:86px;--hero-label-size:10px;--hero-title-size:clamp(42px,3.4vw,50px);--hero-lead-size:15px}
body.hero-system main [data-tv-hero]{display:block;box-sizing:border-box;position:relative;min-height:var(--hero-internal-min);height:auto;max-height:none;padding:var(--hero-pad) 0 var(--hero-bottom)}
body.hero-system main [data-tv-hero]>.container{width:min(1240px,calc(100% - 96px));max-width:1240px;margin-inline:auto;padding:0;min-height:calc(var(--hero-internal-min) - var(--hero-pad) - var(--hero-bottom))}
body.hero-system main [data-tv-hero] :is(.hero-grid,.svc-hero-grid,.pf-hero-grid,.ab-hero-grid,.sp-hero-grid,.bio-hero-grid){display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--hero-gap);align-items:start}
body.hero-system main [data-tv-hero] :is(.hero-content,.svc-hero-copy,.pf-hero-copy,.ab-hero-copy,.sp-hero-copy,.bio-hero-copy){min-width:0;max-width:none;margin:0;padding:0;position:static;top:auto;transform:none;align-self:start}
body.hero-system main [data-tv-hero] h1{font-family:inherit;font-size:var(--hero-title-size);font-weight:600;line-height:1.12;letter-spacing:-.045em;margin:0 0 var(--hero-title-gap);max-width:600px;text-wrap:balance;overflow-wrap:break-word}
body.hero-system main [data-tv-hero] :is(.hero-kicker,.svc-eyebrow,.pf-eyebrow,.ab-eyebrow,.sp-kicker,.bio-eyebrow,.kicker){display:block;font-family:inherit;font-size:var(--hero-label-size);font-weight:600;line-height:1.8;letter-spacing:.17em;text-transform:uppercase;color:#d4af7c;margin:0 0 var(--hero-label-gap)}
body.hero-system main [data-tv-hero] :is(.lead,.svc-lead,.pf-hero-description,.ab-lead,.sp-lead,.bio-lead){display:block;font-size:var(--hero-lead-size);line-height:1.8;color:#d0ccc2;max-width:560px;margin:0}
body.hero-system main [data-tv-hero] :is(.hero-actions,.svc-hero-actions,.sp-hero-actions,.bio-actions,.page-hero-actions){display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:var(--hero-actions-gap) 0 0;padding:0}
body.hero-system main [data-tv-hero] .ab-team-link{margin-top:var(--hero-actions-gap)}
body.hero-system main [data-tv-hero] .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;height:auto;padding:14px 20px;border-radius:999px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.45;white-space:normal;text-align:center;box-shadow:none;transition:transform .2s ease,border-color .2s ease}
body.hero-system main [data-tv-hero] .btn:hover{transform:translateY(-2px);box-shadow:none}
body.hero-system main [data-tv-hero] :is(a,button):focus-visible{outline:2px solid #d4af7c;outline-offset:4px}
body.hero-system main [data-tv-hero] .breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;font-family:inherit;font-size:12px;font-weight:400;line-height:1.6;letter-spacing:normal;color:#b5afa3;margin:0 0 var(--hero-breadcrumb-gap);padding:0;text-transform:none;max-width:100%}
body.hero-system main [data-tv-hero] .breadcrumb:has(ol){display:block}
body.hero-system main [data-tv-hero] .breadcrumb :is(ol,li){list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;min-width:0}
body.hero-system main [data-tv-hero] .breadcrumb a{display:inline-flex;align-items:center;min-height:28px;color:#b99b6b;opacity:1;letter-spacing:normal;text-transform:none;text-underline-offset:4px}
body.hero-system main [data-tv-hero] .breadcrumb a:hover{color:#e3c699;text-decoration:underline}
body.hero-system main [data-tv-hero] .breadcrumb [aria-current]{color:#b5afa3;opacity:1;overflow-wrap:anywhere}
body.hero-system main [data-tv-hero] .breadcrumb :is(.service-breadcrumb-separator,[aria-hidden]){color:#9c927e;font-size:11px;opacity:1}
body.hero-system main [data-tv-hero] :is(.svc-hero-visual,.pf-hero-visual,.ab-hero-photo,.sp-hero-visual,.service-media,.bio-demo,.hero-art){align-self:center;justify-self:center;min-width:0;min-height:0;max-width:100%;margin:0;position:relative;top:auto;transform:none}
body.hero-system main [data-tv-hero] :is(.svc-hero-visual,.pf-hero-visual){width:100%;height:auto}
body.hero-system main [data-tv-hero] :is(.svc-hero-visual,.pf-hero-visual)>img{width:100%;height:auto;max-height:420px;object-fit:contain;object-position:center;transform:none}
body.hero-system main [data-tv-hero] .ab-hero-photo{width:300px;height:auto}
body.hero-system main [data-tv-hero] .ab-hero-photo img{width:100%;height:auto;object-fit:contain}
body.hero-system main [data-tv-hero] .bio-demo{padding:0;width:100%;display:flex;flex-direction:column;align-items:center}
body.hero-system main [data-tv-hero] .bio-demo .bio-phone{zoom:.66}
body.hero-system main [data-tv-hero] .bio-demo .bio-orbit{width:280px;height:280px;top:30px}
body.hero-system main [data-tv-hero] .ig-restructure-phone{zoom:.68}
body.hero-system main [data-tv-hero] .content-demo{width:500px;max-width:100%;zoom:.7}
body.hero-system main [data-tv-hero] .service-media:has(.ig-restructure-phone,.content-demo){display:flex;flex-direction:column;align-items:center}
body.hero-system main [data-tv-hero] .service-media figcaption,body.hero-system main [data-tv-hero] .bio-demo figcaption{font-size:12px;line-height:1.6;margin-top:16px;max-width:450px}
body.hero-system main [data-tv-hero] .sp-hero-visual{height:420px;aspect-ratio:auto;overflow:visible}
body.hero-system main [data-tv-hero] .sp-hero-visual:has(.ig-stage){height:auto}
body.hero-system main [data-tv-hero] .ig-stage{zoom:.75}
body.hero-system main [data-tv-hero] .page-hero-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
body.hero-system main [data-tv-hero="home"]{min-height:calc(var(--hero-main-min) + var(--hero-header));padding-top:calc(var(--hero-pad) + var(--hero-header))}
body.hero-system main [data-tv-hero="home"]>.hero-grid{min-height:calc(var(--hero-main-min) - var(--hero-pad) - var(--hero-bottom));align-items:center;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr)}
body.hero-system main [data-tv-hero="home"] h1{font-size:clamp(48px,3.5vw,54px);max-width:570px}
@media(max-width:1100px){body.hero-system{--hero-gap:28px;--hero-title-size:42px}body.hero-system main [data-tv-hero]>.container{width:calc(100% - 64px)}}
@media(max-width:800px){
 body.hero-system{--hero-pad:32px;--hero-bottom:36px;--hero-gap:28px;--hero-title-size:36px}
 body.hero-system main [data-tv-hero],body.hero-system main [data-tv-hero="home"]{min-height:0}
 body.hero-system main [data-tv-hero]>.container{min-height:0}
 body.hero-system main [data-tv-hero] :is(.hero-grid,.svc-hero-grid,.pf-hero-grid,.ab-hero-grid,.sp-hero-grid,.bio-hero-grid){grid-template-columns:minmax(0,1fr);gap:var(--hero-gap)}
 body.hero-system main [data-tv-hero="home"]>.hero-grid{grid-template-columns:1fr;min-height:0}
 body.hero-system main [data-tv-hero="home"] h1{font-size:40px}
 body.hero-system main [data-tv-hero] .sp-hero-visual{width:100%;max-width:560px;height:360px}
 body.hero-system main [data-tv-hero] .sp-hero-visual:has(.ig-stage){height:auto}
}
@media(max-width:600px){
 body.hero-system{--hero-pad:28px;--hero-bottom:36px;--hero-header:72px;--hero-gap:28px;--hero-title-size:clamp(30px,8.4vw,36px);--hero-title-gap:18px;--hero-label-gap:14px}
 body.hero-system main [data-tv-hero]>.container{width:calc(100% - 40px)}
 body.hero-system main [data-tv-hero="home"] h1{font-size:36px}
 body.hero-system main [data-tv-hero] .btn{min-height:48px;width:100%}
 body.hero-system main [data-tv-hero] :is(.hero-actions,.svc-hero-actions,.sp-hero-actions,.bio-actions,.page-hero-actions){flex-direction:column;align-items:stretch}
 body.hero-system main [data-tv-hero] .ab-team-link{width:auto}
 body.hero-system main [data-tv-hero] .breadcrumb{font-size:12px}
 body.hero-system main [data-tv-hero] .breadcrumb a{min-height:28px}
 body.hero-system main [data-tv-hero] .ab-hero-photo{width:280px;max-width:100%}
 body.hero-system main [data-tv-hero] .sp-hero-visual{height:auto;aspect-ratio:1.2;max-width:440px}
 body.hero-system main [data-tv-hero] .sp-hero-visual:has(.ig-stage){aspect-ratio:auto}
 body.hero-system main [data-tv-hero] .bio-demo .bio-phone{zoom:.64}
 body.hero-system main [data-tv-hero] .ig-restructure-phone{zoom:.65}
 body.hero-system main [data-tv-hero] .ig-stage{zoom:.65}
 body.hero-system main [data-tv-hero] .content-demo{zoom:.7}
}
@media(prefers-reduced-motion:reduce){body.hero-system main [data-tv-hero] *{transition:none!important;animation:none!important}}
/* O fundo de Contato acompanha a nova altura sem recortar o smartphone no desktop. */
@media(min-width:801px){body.hero-system main [data-tv-hero]>.page-hero-media>img{object-fit:contain;object-position:right center;transform:none}}
/* A Home mantém a dimensão ilustrativa aprovada no tablet. */
@media(min-width:601px) and (max-width:800px){body.hero-system main [data-tv-hero="home"] .hero-art{max-width:520px}}
/* Abertura imersiva compartilhada pelas páginas principais e pelos serviços. */
/* Controle de continuação: usa o espaço inferior já reservado no hero. */
body.hero-system main [data-tv-hero][data-hero-fullscreen] .hero-scroll-hint{position:absolute;bottom:0;left:50%;z-index:3;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:36px;padding:0;border:0;border-radius:6px;background:transparent;box-shadow:none;color:#b99b6b;opacity:.8;pointer-events:auto;cursor:pointer;line-height:0;appearance:none;transition:opacity 250ms ease}
body.hero-system main [data-tv-hero][data-hero-fullscreen] .hero-scroll-hint svg{display:block;flex:0 0 22px;width:22px;height:22px;transition:transform 250ms ease}
body.hero-system main [data-tv-hero][data-hero-fullscreen] .hero-scroll-hint:is(:hover,:focus-visible){opacity:1;background:transparent;box-shadow:none}
body.hero-system main [data-tv-hero][data-hero-fullscreen] .hero-scroll-hint:is(:hover,:focus-visible) svg{transform:translateY(5px)}
body.hero-system main [data-tv-hero][data-hero-fullscreen] .hero-scroll-hint:focus-visible{outline:2px solid #d4af7c;outline-offset:-3px}
@media(min-width:1101px){
 body.hero-system main [data-tv-hero][data-hero-fullscreen]{
  --hero-visible-height:100vh;--hero-header-flow:86.8px;--hero-header-offset:0px;
  display:flex;flex-direction:column;justify-content:center;min-height:calc(var(--hero-visible-height) - var(--hero-header-flow));height:auto;max-height:none;
  padding:32px 0 72px;padding-top:calc(var(--hero-header-offset) + 32px);overflow:visible;
 }
 body.hero-system main [data-tv-hero="home"][data-hero-fullscreen]{--hero-header-flow:0px;--hero-header-offset:86px}
 body.hero-system main [data-tv-hero][data-hero-fullscreen]>.container{min-height:0;flex:0 0 auto}
 body.hero-system main [data-tv-hero][data-hero-fullscreen] :is(.hero-grid,.svc-hero-grid,.pf-hero-grid,.ab-hero-grid,.sp-hero-grid,.bio-hero-grid){grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center}
 body.hero-system main [data-tv-hero][data-hero-fullscreen] :is(.hero-content,.svc-hero-copy,.pf-hero-copy,.ab-hero-copy,.sp-hero-copy,.bio-hero-copy){align-self:center}
 body.hero-system main [data-tv-hero][data-hero-fullscreen] .ab-hero-photo{width:320px;max-width:100%}
 body.hero-system main [data-tv-hero][data-hero-fullscreen] .hero-scroll-hint{bottom:12px;height:44px}
 @supports(height:100svh){
  body.hero-system main [data-tv-hero][data-hero-fullscreen]{--hero-visible-height:100svh;padding-top:calc(var(--hero-header-offset) + clamp(24px,4svh,48px))}
  body.hero-system main [data-tv-hero][data-hero-fullscreen] .ab-hero-photo{width:clamp(280px,37svh,340px)}
 }
}

@media(prefers-reduced-motion:reduce){body.hero-system main [data-tv-hero][data-hero-fullscreen] .hero-scroll-hint svg{transform:none!important}}

/* Serviços: mesmos tokens de altura e navegação; diferenças apenas entre famílias de mockup. */
body.hero-system main [data-tv-hero][data-hero-fullscreen="service"]{overflow:visible}
body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .sp-hero-visual{width:100%}
@media(min-width:1101px){
 body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .bio-demo .bio-phone{zoom:.74}
 body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .ig-restructure-phone{zoom:.76}
 body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .content-demo{zoom:.8}
 body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .ig-stage{zoom:.82}
}
@media(min-width:1101px) and (min-height:900px){
 body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .bio-demo .bio-phone{zoom:.86}
 body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .ig-restructure-phone{zoom:.88}
 body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .content-demo{zoom:.95}
 body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .ig-stage{zoom:.95}
}

/* O suporte dos aparelhos acompanha a proporção disponível, sem altura mínima excedente. */
@media(max-width:600px){body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .sp-devices{min-height:0;height:100%}}

/* Notebook e celular compartilham a linha visual; a legenda ocupa uma linha independente. */
body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .service-media:has(>.institutional-device){--hero-device-bleed:48px;display:grid;grid-template-columns:minmax(0,1fr)}
body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .service-media>.institutional-device{grid-area:1/1}
body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .service-media>.institutional-mobile{grid-area:1/1;position:relative;align-self:end;justify-self:end;top:auto;right:auto;bottom:auto;margin-right:calc(-1 * var(--hero-device-bleed,48px))}
body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .service-media:has(>.institutional-device)>figcaption{grid-area:2/1}
@media(max-width:760px){body.hero-system main [data-tv-hero][data-hero-fullscreen="service"] .service-media:has(>.institutional-device){--hero-device-bleed:37px}}
