/* ============================================================
   POLIPIPAS — Folha de estilo principal
   Marca: azul #0A67A9 / amarelo #FFCC29 / branco
   Motivo estrutural: o arco do logotipo
   ============================================================ */

:root{
  --azul:        #0A67A9;
  --azul-escuro: #064A7C;
  --azul-noite:  #04304F;
  --azul-tinta:  #0B2436;
  --amarelo:     #FFCC29;
  --amarelo-esc: #E9B310;
  --branco:      #FFFFFF;
  --nevoa:       #EEF4F9;
  --nevoa-2:     #DCE7F0;
  --grafite:     #17232E;
  --cinza:       #5B6B79;
  --linha:       #D7E2EC;

  --fonte-titulo: "Archivo", "Arial Black", sans-serif;
  --fonte-texto:  "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fonte-dado:   "Archivo", "Manrope", -apple-system, sans-serif;

  --max: 1200px;
  --gut: clamp(20px, 5vw, 48px);
  --raio: 4px;
  --chanfro: 22px;

  --sombra: 0 2px 4px rgba(11,36,54,.04), 0 12px 32px rgba(11,36,54,.08);
  --sombra-alta: 0 4px 8px rgba(11,36,54,.06), 0 24px 60px rgba(11,36,54,.16);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top:96px; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  font-family:var(--fonte-texto);
  font-size:17px;
  line-height:1.65;
  color:var(--grafite);
  background:var(--branco);
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:var(--azul); }

h1,h2,h3,h4{
  font-family:var(--fonte-titulo);
  font-variation-settings:"wdth" 112;
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.015em;
  margin:0;
  color:var(--azul-tinta);
}

h1{ font-size:clamp(2.3rem, 5.4vw, 4.1rem); }
h2{ font-size:clamp(1.85rem, 3.6vw, 2.9rem); }
h3{ font-size:clamp(1.15rem, 2vw, 1.45rem); font-weight:700; }

p{ margin:0 0 1.1em; }
p:last-child{ margin-bottom:0; }

.env{ width:100%; max-width:var(--max); margin-inline:auto; padding-inline:var(--gut); }
.pular{ position:absolute; left:-9999px; }
.pular:focus{ left:12px; top:12px; z-index:999; background:var(--amarelo); color:var(--azul-tinta); padding:12px 18px; border-radius:var(--raio); }

:focus-visible{ outline:3px solid var(--amarelo); outline-offset:3px; }

/* ---------- O ARCO (motivo da marca) ---------- */
.arco{ display:block; overflow:visible; }
.arco path{ fill:none; stroke:currentColor; stroke-linecap:round; }

.olho{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--fonte-dado); font-size:.82rem; font-weight:600;
  font-variation-settings:"wdth" 100; letter-spacing:.07em; text-transform:uppercase; color:var(--azul);
  margin-bottom:18px;
}
.olho .arco{ width:26px; height:13px; color:var(--amarelo-esc); flex:none; }
.olho .arco path{ stroke-width:7; }
.olho--claro{ color:var(--amarelo); }
.olho--claro .arco{ color:var(--amarelo); }

/* ---------- CABEÇALHO ---------- */
.topo{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--linha);
}
.topo__linha{ display:flex; align-items:center; gap:24px; min-height:78px; }
.topo__marca{ flex:none; }
.topo__marca img{ height:34px; width:auto; }

.nav{ margin-left:auto; display:flex; align-items:center; gap:6px; }
.nav .btn{ display:none; }
.nav > a:not(.btn), .nav__pai{
  font-size:.94rem; font-weight:600; color:var(--azul-tinta);
  text-decoration:none; padding:10px 14px; border-radius:var(--raio);
  position:relative; display:inline-flex; align-items:center; gap:6px;
}
.nav > a:not(.btn)::after, .nav__pai::after{
  content:""; position:absolute; left:14px; right:14px; bottom:4px; height:2px;
  background:var(--amarelo); transform:scaleX(0); transform-origin:left;
  transition:transform .22s ease;
}
.nav > a:not(.btn):hover::after, .nav > a[aria-current="page"]::after,
.nav__grupo:hover .nav__pai::after, .nav__pai[aria-current="page"]::after{ transform:scaleX(1); }

/* ---------- SUBMENU DE PRODUTOS ---------- */
.nav__grupo{ position:relative; }
.nav__seta{ width:14px; height:14px; flex:none; transition:transform .22s ease; }
.nav__grupo:hover .nav__seta, .nav__grupo:focus-within .nav__seta{ transform:rotate(180deg); }

.submenu{
  position:absolute; top:calc(100% + 10px); left:50%; translate:-50% 0; z-index:70;
  min-width:308px; background:#fff; border:1px solid var(--linha); border-radius:6px;
  box-shadow:var(--sombra-alta); padding:10px; overflow:hidden;
  opacity:0; visibility:hidden; transform:translateY(-8px); pointer-events:none;
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
}
/* ponte invisivel para o mouse nao "cair" ao descer ate o submenu */
.nav__grupo::after{ content:""; position:absolute; top:100%; left:0; right:0; height:12px; }
.nav__grupo:hover .submenu, .nav__grupo:focus-within .submenu,
.nav__grupo[data-aberto="sim"] .submenu{
  opacity:1; visibility:visible; transform:none; pointer-events:auto;
}
.submenu a{
  display:block; padding:11px 14px; border-radius:var(--raio); text-decoration:none;
  color:var(--azul-tinta); font-size:.94rem; font-weight:600; line-height:1.3;
  transition:background .18s ease, color .18s ease;
}
.submenu a span{
  display:block; font-family:var(--fonte-dado); font-size:.7rem; font-weight:600;
  letter-spacing:.07em; text-transform:uppercase; color:var(--azul); opacity:.7; margin-bottom:2px;
}
.submenu a:hover{ background:var(--nevoa); }
.submenu a:hover span{ opacity:1; }
.submenu__todos{
  margin-top:8px; border-top:1px solid var(--linha); border-radius:0 0 4px 4px;
  display:flex !important; align-items:center; justify-content:space-between; gap:10px;
  color:var(--azul) !important; padding-top:14px !important;
}
.submenu__todos svg{ width:16px; height:16px; flex:none; transition:transform .2s ease; }
.submenu__todos:hover svg{ transform:translateX(4px); }

.topo__acao{ flex:none; }

.abre-menu{
  display:none; margin-left:auto; background:none; border:1px solid var(--linha);
  border-radius:var(--raio); width:46px; height:44px; cursor:pointer; align-items:center; justify-content:center;
}
.abre-menu span{ display:block; width:20px; height:2px; background:var(--azul-tinta); position:relative; }
.abre-menu span::before,.abre-menu span::after{ content:""; position:absolute; left:0; width:20px; height:2px; background:var(--azul-tinta); }
.abre-menu span::before{ top:-6px; } .abre-menu span::after{ top:6px; }

/* ---------- BOTÕES ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--fonte-texto); font-weight:700; font-size:.95rem;
  padding:14px 26px; border-radius:999px; border:2px solid transparent;
  text-decoration:none; cursor:pointer; transition:transform .18s ease, background .18s ease, color .18s ease;
  line-height:1;
}
.btn:hover{ transform:translateY(-2px); }
.btn--sol{ background:var(--amarelo); color:var(--azul-tinta); }
.btn--sol:hover{ background:var(--amarelo-esc); }
.btn--azul{ background:var(--azul); color:#fff; }
.btn--azul:hover{ background:var(--azul-escuro); }
.btn--vazio{ border-color:currentColor; color:var(--azul-tinta); background:transparent; }
.btn--vazio-claro{ border-color:rgba(255,255,255,.55); color:#fff; background:transparent; }
.btn--vazio-claro:hover{ background:rgba(255,255,255,.1); }
.btn svg{ width:18px; height:18px; flex:none; }

/* ---------- HERO ---------- */
.hero{
  position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(160deg, var(--azul) 0%, var(--azul-escuro) 58%, var(--azul-noite) 100%);
}
.hero__arco{
  position:absolute; right:-16%; bottom:-34%; width:min(800px, 86vw); color:var(--amarelo);
  opacity:.95; pointer-events:none;
}
.hero__arco path{ stroke-width:12; }
.hero__arco--fino{ right:auto; left:-14%; top:-46%; bottom:auto; width:min(560px,70vw); color:rgba(255,255,255,.16); }
.hero__arco--fino path{ stroke-width:10; }

.hero__grade{
  position:relative; z-index:3;
  display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(28px,5vw,72px);
  align-items:center; padding-block:clamp(56px,8vw,104px);
}
.hero--video .hero__grade{ grid-template-columns:1fr; padding-block:clamp(76px,11vw,150px); }
.hero__texto{ max-width:52ch; }

/* ---------- VÍDEO DE FUNDO DO HERO ---------- */
.hero__midia{ position:absolute; inset:0; z-index:1; overflow:hidden; }
.hero__video{
  width:100%; height:100%; object-fit:cover; object-position:72% 50%; display:block;
}
.hero__veu{
  position:absolute; inset:0; display:block; pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(4,48,79,.97) 0%,
      rgba(4,48,79,.93) 30%,
      rgba(5,60,99,.72) 55%,
      rgba(8,85,141,.36) 80%,
      rgba(10,103,169,.18) 100%),
    linear-gradient(180deg, rgba(4,48,79,.42) 0%, rgba(4,48,79,0) 34%, rgba(4,48,79,.5) 100%);
}
.hero--video .hero__arco, .hero--video .hero__arco--fino{ display:none; }
.hero h1{ color:#fff; }
.hero__sub{ font-size:clamp(1.02rem,1.5vw,1.2rem); color:rgba(255,255,255,.86); max-width:44ch; margin-top:22px; }
.hero__acoes{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }

.hero__foto{ position:relative; }
.moldura{
  clip-path:polygon(var(--chanfro) 0, 100% 0, 100% calc(100% - var(--chanfro)), calc(100% - var(--chanfro)) 100%, 0 100%, 0 var(--chanfro));
  overflow:hidden; background:var(--nevoa);
}
.moldura img{ width:100%; height:100%; object-fit:cover; }
.hero__foto .moldura{ aspect-ratio:4/5; box-shadow:var(--sombra-alta); }
.hero__selo{
  position:absolute; left:-18px; bottom:32px; background:var(--amarelo); color:var(--azul-tinta);
  padding:16px 22px; border-radius:var(--raio); box-shadow:var(--sombra);
}
.hero__selo b{ display:block; font-family:var(--fonte-titulo); font-size:1.9rem; line-height:1; font-variation-settings:"wdth" 100; }
.hero__selo span{ font-family:var(--fonte-dado); font-size:.74rem; letter-spacing:.07em; text-transform:uppercase; font-weight:600; }

/* faixa de provas */
.provas{ background:var(--azul-noite); color:#fff; }
.provas__grade{ display:grid; grid-template-columns:repeat(4,1fr); gap:2px; }
.provas__item{ padding:26px 4px 30px; }
.provas__item b{
  display:block; font-family:var(--fonte-titulo); font-weight:800; font-variation-settings:"wdth" 108;
  font-size:clamp(1.7rem,3vw,2.4rem); color:var(--amarelo); line-height:1;
}
.provas__item span{ display:block; margin-top:8px; font-size:.9rem; color:rgba(255,255,255,.78); max-width:24ch; }

/* ---------- SEÇÕES ---------- */
.secao{ padding-block:clamp(60px,8vw,104px); }
.secao--nevoa{ background:var(--nevoa); }
.secao--azul{ background:var(--azul); color:#fff; }
.secao--azul h2, .secao--azul h3{ color:#fff; }

.duas{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,68px); align-items:center; }
.duas--texto{ align-items:start; }
.cabeca{ max-width:60ch; margin-bottom:clamp(32px,4vw,52px); }
.cabeca p{ color:var(--cinza); margin-top:18px; font-size:1.05rem; }
.secao--azul .cabeca p{ color:rgba(255,255,255,.82); }

.texto-apoio{ color:var(--cinza); }
.secao--azul .texto-apoio{ color:rgba(255,255,255,.84); }

/* ---------- CARDS DE PRODUTO (grade da home) ---------- */
.produtos-grade{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

.card{
  position:relative; overflow:hidden; background:#fff; border:1px solid var(--linha);
  border-radius:var(--raio); padding:30px 28px 26px; text-decoration:none; color:inherit;
  display:flex; flex-direction:column; min-height:290px;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.card:hover{ transform:translateY(-5px); box-shadow:var(--sombra-alta); border-color:transparent; }
.card__arco{
  position:absolute; left:50%; top:-58px; width:340px; translate:-50% 0; color:var(--amarelo);
  opacity:0; transition:opacity .3s ease, top .3s ease; pointer-events:none;
}
.card__arco path{ stroke-width:9; }
.card:hover .card__arco{ opacity:1; top:-42px; }

.card__icone{ width:62px; height:62px; color:var(--azul); position:relative; z-index:2; margin-bottom:20px; }
.card__icone .traco{ fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.card__icone .cheio{ fill:var(--amarelo); stroke:none; }
.card__icone .traco-am{ fill:none; stroke:var(--amarelo-esc); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }

.card__codigo{
  font-family:var(--fonte-dado); font-size:.76rem; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--azul); opacity:.72; position:relative; z-index:2;
}
.card h3{ margin:8px 0 10px; position:relative; z-index:2; }
.card__desc{ color:var(--cinza); font-size:.95rem; position:relative; z-index:2; }
.card__pe{
  margin-top:auto; padding-top:20px; display:flex; align-items:center; justify-content:space-between;
  gap:12px; position:relative; z-index:2;
}
.card__cap{ font-family:var(--fonte-dado); font-size:.86rem; color:var(--azul-tinta); font-weight:600; }
.card__seta{
  width:38px; height:38px; border-radius:999px; background:var(--nevoa); color:var(--azul);
  display:grid; place-items:center; flex:none; transition:background .22s ease, color .22s ease;
}
.card:hover .card__seta{ background:var(--amarelo); color:var(--azul-tinta); }
.card__seta svg{ width:16px; height:16px; }

/* linhas complementares */
.complementares{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:20px; }
.mini{
  display:flex; align-items:center; gap:14px; padding:18px 20px; background:#fff;
  border:1px dashed var(--nevoa-2); border-radius:var(--raio); text-decoration:none; color:inherit;
  transition:border-color .2s ease, background .2s ease;
}
.mini:hover{ border-color:var(--azul); border-style:solid; }
.mini__cod{ font-family:var(--fonte-dado); font-size:.78rem; letter-spacing:.07em; color:var(--azul); font-weight:600; }
.mini strong{ display:block; font-size:.95rem; }
.mini small{ color:var(--cinza); font-size:.82rem; }

/* ---------- LISTA DE ATRIBUTOS ---------- */
.atributos{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.atributos li{ display:flex; gap:14px; align-items:flex-start; }
.atributos .arco{ width:22px; height:11px; flex:none; margin-top:8px; color:var(--amarelo-esc); }
.atributos .arco path{ stroke-width:8; }
.secao--azul .atributos .arco{ color:var(--amarelo); }

/* ---------- PÁGINA DE PRODUTO ---------- */
.migalhas{ background:var(--nevoa); border-bottom:1px solid var(--linha); }
.migalhas ol{
  list-style:none; margin:0; padding:14px 0; display:flex; flex-wrap:wrap; gap:8px;
  font-size:.84rem; color:var(--cinza);
}
.migalhas a{ color:var(--cinza); text-decoration:none; }
.migalhas a:hover{ color:var(--azul); }
.migalhas li+li::before{ content:"›"; margin-right:8px; color:var(--nevoa-2); }
.migalhas [aria-current]{ color:var(--azul-tinta); font-weight:600; }

.capa-produto{ position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(150deg, var(--azul) 0%, var(--azul-escuro) 62%, var(--azul-noite) 100%); }
.capa-produto__grade{ position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr;
  gap:clamp(28px,5vw,64px); align-items:center; padding-block:clamp(48px,6vw,84px); }
.capa-produto h1{ color:#fff; }
.capa-produto__tag{ font-size:clamp(1rem,1.5vw,1.18rem); color:rgba(255,255,255,.88); margin-top:20px; max-width:46ch; }
.fichas-rapidas{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.pilula{
  font-family:var(--fonte-dado); font-size:.85rem; font-weight:500; letter-spacing:.01em; padding:9px 16px;
  border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28); color:#fff;
}
.capa-produto__foto .moldura{ aspect-ratio:4/3; box-shadow:var(--sombra-alta); }

/* modelos */
.modelo{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,56px); align-items:center; }
.modelo+.modelo{ margin-top:clamp(40px,6vw,72px); padding-top:clamp(40px,6vw,72px); border-top:1px solid var(--linha); }
.modelo--inv .modelo__texto{ order:2; }
.modelo__faixa{
  display:inline-flex; align-items:center; gap:10px; font-family:var(--fonte-dado); font-size:.8rem;
  letter-spacing:.07em; text-transform:uppercase; color:var(--azul); font-weight:600; margin-bottom:14px;
}
.modelo__faixa i{ width:9px; height:9px; border-radius:999px; background:var(--amarelo); flex:none; }
.modelo__fotos{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.modelo__fotos .moldura{ aspect-ratio:3/4; }

/* ficha técnica */
.tabela-caixa{ overflow-x:auto; border:1px solid var(--linha); border-radius:var(--raio); background:#fff; }
table.ficha{ width:100%; border-collapse:collapse; min-width:520px; font-size:.94rem; }
table.ficha caption{
  text-align:left; padding:18px 22px; font-family:var(--fonte-dado); font-size:.8rem; letter-spacing:.07em;
  text-transform:uppercase; color:var(--azul); background:#fff; font-weight:700; border-bottom:1px solid var(--linha);
}
table.ficha th{
  background:var(--azul); color:#fff; text-align:left; padding:14px 22px; font-weight:700; font-size:.82rem;
  letter-spacing:.06em; text-transform:uppercase;
}
table.ficha td{ padding:13px 22px; border-bottom:1px solid var(--linha); }
table.ficha tbody tr:nth-child(even){ background:#FFF8E1; }
table.ficha tbody tr:last-child td{ border-bottom:none; }
table.ficha td:first-child{ font-weight:600; white-space:nowrap; }
.nota-tabela{ font-size:.85rem; color:var(--cinza); margin-top:14px; }

/* galeria */
.galeria{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.galeria .moldura{ aspect-ratio:1/1; }
.galeria img{ transition:transform .5s ease; }
.galeria .moldura:hover img{ transform:scale(1.05); }
.vaga{
  aspect-ratio:1/1; border:2px dashed var(--nevoa-2); border-radius:var(--raio);
  display:grid; place-items:center; text-align:center; color:var(--cinza); font-size:.8rem; padding:14px;
  background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(10,103,169,.03) 10px,rgba(10,103,169,.03) 20px);
}
.vaga b{ display:block; font-size:1.6rem; color:var(--nevoa-2); line-height:1; margin-bottom:8px; }

/* ---------- FAIXA DE CHAMADA ---------- */
.chamada{ position:relative; overflow:hidden; background:var(--azul-tinta); color:#fff; }
.chamada__arco{ position:absolute; left:50%; bottom:-70%; width:min(900px,120vw); translate:-50% 0; color:rgba(255,204,41,.16); }
.chamada__arco path{ stroke-width:16; }
.chamada__int{ position:relative; z-index:2; padding-block:clamp(52px,7vw,88px); text-align:center; }
.chamada h2{ color:#fff; max-width:20ch; margin-inline:auto; }
.chamada p{ color:rgba(255,255,255,.78); max-width:52ch; margin:18px auto 0; }
.chamada__acoes{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:32px; }

/* ---------- RODAPÉ ---------- */
.rodape{ background:var(--azul-noite); color:rgba(255,255,255,.78); font-size:.94rem; }
.rodape__grade{ display:grid; grid-template-columns:1.4fr 1fr 1.3fr; gap:clamp(28px,5vw,56px); padding-block:clamp(48px,6vw,72px); }
.rodape h4{ color:#fff; font-size:.84rem; font-family:var(--fonte-dado); font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; margin-bottom:18px; font-variation-settings:normal; }
.rodape img{ height:38px; width:auto; margin-bottom:20px; }
.rodape a{ color:rgba(255,255,255,.78); text-decoration:none; }
.rodape a:hover{ color:var(--amarelo); }
.rodape ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.rodape__fim{ border-top:1px solid rgba(255,255,255,.12); padding-block:22px; display:flex; flex-wrap:wrap;
  gap:14px; justify-content:space-between; font-size:.85rem; color:rgba(255,255,255,.55); }

/* ---------- WHATSAPP ---------- */
.zap-flutua{
  position:fixed; right:20px; bottom:20px; z-index:70; width:58px; height:58px; border-radius:999px;
  background:#25D366; color:#fff; border:none; cursor:pointer; display:grid; place-items:center;
  box-shadow:0 10px 28px rgba(0,0,0,.24); transition:transform .2s ease;
}
.zap-flutua:hover{ transform:scale(1.07); }
.zap-flutua svg{ width:30px; height:30px; }

.painel{
  position:fixed; inset:0; z-index:80; display:none; place-items:center; padding:20px;
  background:rgba(4,48,79,.62); backdrop-filter:blur(4px);
}
.painel[data-aberto="sim"]{ display:grid; }
.painel__caixa{
  background:#fff; border-radius:8px; max-width:430px; width:100%; padding:34px 30px 28px;
  box-shadow:var(--sombra-alta); position:relative;
}
.painel__caixa h3{ margin-bottom:6px; }
.painel__caixa > p{ color:var(--cinza); font-size:.93rem; margin-bottom:22px; }
.painel__fecha{
  position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:999px; border:none;
  background:var(--nevoa); color:var(--azul-tinta); font-size:1.2rem; cursor:pointer; line-height:1;
}
.canal{
  display:flex; align-items:center; gap:16px; padding:16px 18px; border:1px solid var(--linha);
  border-radius:var(--raio); text-decoration:none; color:inherit; margin-bottom:12px;
  transition:border-color .2s ease, background .2s ease;
}
.canal:hover{ border-color:var(--azul); background:var(--nevoa); }
.canal i{ width:42px; height:42px; border-radius:999px; background:#25D366; display:grid; place-items:center; flex:none; }
.canal i svg{ width:22px; height:22px; color:#fff; }
.canal strong{ display:block; font-size:1rem; }
.canal span{ font-family:var(--fonte-dado); font-size:.88rem; color:var(--cinza); font-weight:500; }

/* ---------- ANIMAÇÃO DE ENTRADA ---------- */
.sobe{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.sobe.visivel{ opacity:1; transform:none; }

/* ---------- RESPONSIVO ---------- */
@media (max-width:980px){
  .hero__grade,.capa-produto__grade,.duas,.modelo{ grid-template-columns:1fr; }
  .modelo--inv .modelo__texto{ order:0; }
  .produtos-grade{ grid-template-columns:repeat(2,1fr); }
  .provas__grade{ grid-template-columns:repeat(2,1fr); }
  .rodape__grade{ grid-template-columns:1fr 1fr; }
  .galeria{ grid-template-columns:repeat(3,1fr); }
  .complementares{ grid-template-columns:1fr; }
  .hero__foto{ max-width:460px; }
  .hero__foto .moldura{ aspect-ratio:4/3; }
}

@media (max-width:760px){
  .abre-menu{ display:flex; }
  .topo__acao{ display:none; }
  .nav{
    position:absolute; top:100%; left:0; right:0; background:#fff; border-bottom:1px solid var(--linha);
    flex-direction:column; align-items:stretch; padding:12px var(--gut) 28px; gap:2px; display:none;
    /* o menu rola sozinho e nao arrasta a pagina de tras junto */
    max-height:calc(100dvh - 78px); overflow-y:auto; overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch; box-shadow:0 18px 40px rgba(11,36,54,.14);
  }
  .nav[data-aberto="sim"]{ display:flex; }
  .nav > a:not(.btn), .nav__pai{ padding:14px 4px; border-bottom:1px solid var(--nevoa); display:flex; justify-content:space-between; }
  .nav__grupo{ position:static; border-bottom:1px solid var(--nevoa); }
  .nav__grupo .nav__pai{ border-bottom:none; }
  .nav__grupo[data-aberto="sim"] .nav__seta{ transform:rotate(180deg); }
  .submenu{
    position:static; translate:none; min-width:0; border:none; box-shadow:none; padding:0 0 12px 12px;
    border-left:2px solid var(--amarelo); margin:0 0 12px; border-radius:0;
    display:none; opacity:1; visibility:visible; transform:none; pointer-events:auto;
  }
  .nav__grupo[data-aberto="sim"] .submenu{ display:block; }
  .nav__grupo:hover .submenu, .nav__grupo:focus-within .submenu{ display:none; }
  .nav__grupo[data-aberto="sim"] .submenu{ display:block; }
  .submenu a{ padding:10px 12px; }
  .nav__grupo::after{ display:none; }
  .nav .btn{ margin-top:14px; display:inline-flex; }
  .nav .btn::after{ display:none; }
  .produtos-grade{ grid-template-columns:1fr; }
  .galeria{ grid-template-columns:repeat(2,1fr); }
  .rodape__grade{ grid-template-columns:1fr; }
  .modelo__fotos .moldura{ aspect-ratio:1/1; }
  .hero__selo{ left:0; }
  body{ font-size:16px; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
  .sobe{ opacity:1; transform:none; }
}

@media print{
  .topo,.zap-flutua,.painel,.chamada{ display:none !important; }
}

/* ---------- NAVEGAÇÃO INTERNA (página com mais de uma linha) ---------- */
.saltos{ display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.salto{
  display:block; padding:12px 18px; border-radius:var(--raio); text-decoration:none;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.26); color:#fff;
  font-size:.92rem; font-weight:600; line-height:1.3; transition:background .2s ease, border-color .2s ease;
}
.salto:hover{ background:rgba(255,204,41,.16); border-color:var(--amarelo); }
.salto span{
  display:block; font-family:var(--fonte-dado); font-size:.72rem; letter-spacing:.07em;
  text-transform:uppercase; color:var(--amarelo); font-weight:600; margin-bottom:3px;
}
@media (max-width:760px){ .saltos{ flex-direction:column; } }

/* ---------- VÍDEO INSTITUCIONAL ---------- */
.video{ margin:32px 0 0; }
.video__quadro{ aspect-ratio:16/9; background:var(--azul-noite); box-shadow:var(--sombra); }
.video__quadro video{ width:100%; height:100%; object-fit:cover; display:block; background:var(--azul-noite); }
.video__legenda{ margin-top:14px; font-size:.9rem; color:var(--cinza); max-width:62ch; }


/* ---------- CARROSSEL DE FOTOS ---------- */
.carrossel{ position:relative; }
.carrossel__topo{
  display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px;
}
.carrossel__dica{ margin:0; font-size:.88rem; color:var(--cinza); }
.carrossel__botoes{ display:flex; gap:10px; }
.carrossel__btn{
  width:44px; height:44px; border-radius:999px; border:1px solid var(--linha); background:#fff;
  color:var(--azul); display:grid; place-items:center; cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease;
}
.carrossel__btn svg{ width:18px; height:18px; }
.carrossel__btn:hover{ background:var(--amarelo); color:var(--azul-tinta); border-color:var(--amarelo); }
.carrossel__btn[disabled]{ opacity:.35; cursor:default; }
.carrossel__btn[disabled]:hover{ background:#fff; color:var(--azul); border-color:var(--linha); }

.carrossel__pista{
  overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch; scrollbar-width:none; cursor:grab;
}
.carrossel__pista::-webkit-scrollbar{ display:none; }
.carrossel__pista[data-arrastando="sim"]{ cursor:grabbing; scroll-snap-type:none; }
.carrossel__pista[data-arrastando="sim"] img{ pointer-events:none; }

.carrossel__trilho{
  list-style:none; margin:0; padding:0; display:flex; gap:14px;
}
.carrossel__slide{
  flex:0 0 calc((100% - 42px) / 4); scroll-snap-align:start; user-select:none;
}
.carrossel__slide .moldura{ aspect-ratio:1/1; }
.carrossel__slide img{ transition:transform .5s ease; }
.carrossel__slide:hover img{ transform:scale(1.05); }

.carrossel__pontos{ display:flex; gap:8px; justify-content:center; margin-top:22px; }
.carrossel__ponto{
  width:8px; height:8px; padding:0; border:none; border-radius:999px; background:var(--nevoa-2);
  cursor:pointer; transition:background .2s ease, width .2s ease;
}
.carrossel__ponto[aria-selected="true"]{ background:var(--azul); width:26px; }

@media (max-width:980px){
  .carrossel__slide{ flex:0 0 calc((100% - 14px) / 2); }
  .hero__video{ object-position:66% 50%; }
  .hero__veu{
    background:
      linear-gradient(180deg, rgba(4,48,79,.95) 0%, rgba(4,48,79,.9) 40%, rgba(5,64,105,.82) 100%);
  }
  .hero__video{ object-position:60% 50%; }
}
@media (max-width:760px){
  .carrossel__slide{ flex:0 0 82%; }
  .carrossel__topo{ flex-direction:column; align-items:flex-start; gap:12px; }
}
@media (prefers-reduced-motion:reduce){
  .hero__video{ display:none; }
  .hero__midia{
    background:url("img/hero-fachada.jpg") center/cover no-repeat;
  }
}

/* ---------- FOTO CLICÁVEL NO CARROSSEL ---------- */
.carrossel__foto{
  display:block; width:100%; padding:0; border:none; background:none; cursor:zoom-in;
  position:relative; border-radius:var(--raio);
}
.carrossel__lupa{
  position:absolute; right:12px; bottom:12px; width:40px; height:40px; border-radius:999px;
  background:rgba(255,255,255,.94); color:var(--azul); display:grid; place-items:center;
  opacity:0; transform:translateY(6px); transition:opacity .22s ease, transform .22s ease;
  box-shadow:var(--sombra); pointer-events:none;
}
.carrossel__lupa svg{ width:19px; height:19px; }
.carrossel__foto:hover .carrossel__lupa,
.carrossel__foto:focus-visible .carrossel__lupa{ opacity:1; transform:none; }

/* ---------- POPUP DE FOTO AMPLIADA ---------- */
.lupa{
  position:fixed; inset:0; z-index:90; display:none;
  background:rgba(4,48,79,.94); backdrop-filter:blur(6px);
  align-items:center; justify-content:center; padding:clamp(16px,4vw,48px);
  opacity:0; transition:opacity .22s ease;
}
.lupa[data-aberto="sim"]{ display:flex; opacity:1; }

.lupa__caixa{
  margin:0; max-width:min(1500px, 100%); max-height:100%;
  display:flex; flex-direction:column; align-items:center; gap:16px;
}
.lupa__img{
  max-width:100%; max-height:calc(100vh - 150px); width:auto; height:auto;
  object-fit:contain; border-radius:4px; box-shadow:0 30px 80px rgba(0,0,0,.5);
  background:var(--azul-noite);
}
.lupa__pe{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 18px;
  color:rgba(255,255,255,.9); font-size:.94rem; text-align:center; max-width:70ch;
}
.lupa__conta{
  font-family:var(--fonte-dado); font-size:.8rem; font-weight:600; letter-spacing:.07em;
  color:var(--amarelo); white-space:nowrap;
}

.lupa__fechar{
  position:absolute; top:clamp(14px,3vw,26px); right:clamp(14px,3vw,26px); z-index:2;
  width:48px; height:48px; border-radius:999px; border:1px solid rgba(255,255,255,.3);
  background:rgba(255,255,255,.1); color:#fff; font-size:1.7rem; line-height:1; cursor:pointer;
  transition:background .2s ease, border-color .2s ease;
}
.lupa__fechar:hover{ background:var(--amarelo); color:var(--azul-tinta); border-color:var(--amarelo); }

.lupa__nav{
  position:absolute; top:50%; translate:0 -50%; z-index:2;
  width:54px; height:54px; border-radius:999px; border:1px solid rgba(255,255,255,.3);
  background:rgba(255,255,255,.1); color:#fff; display:grid; place-items:center; cursor:pointer;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.lupa__nav svg{ width:22px; height:22px; }
.lupa__nav:hover{ background:var(--amarelo); color:var(--azul-tinta); border-color:var(--amarelo); }
.lupa__nav--antes{ left:clamp(10px,2vw,28px); }
.lupa__nav--depois{ right:clamp(10px,2vw,28px); }

@media (max-width:760px){
  .lupa{ padding:14px; }
  .lupa__img{ max-height:calc(100vh - 180px); }
  .lupa__nav{ top:auto; bottom:18px; translate:none; width:48px; height:48px; }
  .lupa__nav--antes{ left:calc(50% - 62px); }
  .lupa__nav--depois{ right:calc(50% - 62px); }
  .lupa__pe{ margin-bottom:64px; font-size:.88rem; }
}

/* ---------- FOTO CLICÁVEL NAS PÁGINAS DE PRODUTO ---------- */
.foto-zoom{
  display:block; width:100%; padding:0; border:none; background:none; cursor:zoom-in;
  position:relative; border-radius:var(--raio);
}
.foto-zoom .moldura{ width:100%; }
.foto-zoom:hover .carrossel__lupa,
.foto-zoom:focus-visible .carrossel__lupa{ opacity:1; transform:none; }
.galeria .foto-zoom .moldura{ aspect-ratio:1/1; }
.modelo__fotos .foto-zoom .moldura{ aspect-ratio:3/4; }
.capa-produto__foto .foto-zoom .moldura{ aspect-ratio:4/3; box-shadow:var(--sombra-alta); }
.foto-zoom img{ transition:transform .5s ease; }
.foto-zoom:hover img{ transform:scale(1.04); }


/* ---------- MENU MOBILE ABERTO: trava a página de trás ---------- */
body.menu-aberto{ overflow:hidden; touch-action:none; }
body.menu-aberto .zap-flutua{ display:none; }

/* véu atrás do menu: escurece o site e captura o toque para fechar */
.veu-menu{
  position:fixed; inset:78px 0 0; z-index:50; display:none;
  background:rgba(4,48,79,.5); backdrop-filter:blur(2px);
  opacity:0; transition:opacity .22s ease;
}
body.menu-aberto .veu-menu{ display:block; opacity:1; }
@media (min-width:761px){ .veu-menu{ display:none !important; } }

/* ---------- GRADE DE FOTOS DAS LINHAS COMPLEMENTARES ---------- */
.grade-fotos{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.grade-fotos .foto-zoom .moldura{ aspect-ratio:1/1; }
@media (max-width:520px){ .grade-fotos{ grid-template-columns:repeat(2,1fr); gap:8px; } }

/* uma única foto no bloco de modelo ocupa a coluna inteira */
.modelo__fotos--uma{ grid-template-columns:1fr; }
.modelo__fotos--uma .foto-zoom .moldura{ aspect-ratio:4/3; }

/* ---------- SELO DE 25 ANOS ---------- */
.selo-bloco{
  display:flex; align-items:center; gap:22px; margin-top:clamp(28px,4vw,40px);
  padding-top:clamp(24px,3vw,32px); border-top:1px solid var(--linha);
}
.selo-bloco img{ width:clamp(104px,14vw,132px); height:auto; flex:none; }
.selo-bloco p{ margin:0; font-size:.95rem; color:var(--cinza); max-width:34ch; }

.rodape .rodape__selo{ width:126px; height:auto; margin-top:24px; margin-bottom:0; opacity:.96; }

@media (max-width:760px){
  .selo-bloco{ gap:16px; }
  .selo-bloco img{ width:92px; }
  .selo-bloco p{ font-size:.9rem; }
  .rodape .rodape__selo{ width:104px; }
}

/* ============================================================
   AJUSTES DE ALINHAMENTO, JUSTIFICAÇÃO E RESPIRO
   ============================================================ */

/* ---------- texto corrido justificado (títulos ficam de fora) ---------- */
.texto-apoio p,
.cabeca p,
.hero__sub,
.chamada p,
.capa-produto__tag,
.rodape__grade p,
.selo-bloco p{
  text-align:justify;
  text-justify:inter-word;
  /* sem separacao silabica: a linha se ajusta pelo espaco entre palavras */
  hyphens:manual;
  -webkit-hyphens:manual;
  text-wrap:pretty;
  overflow-wrap:break-word;   /* so age em palavra unica maior que a linha */
}
/* linhas curtas não devem ser esticadas */
.texto-apoio p:last-child,
.cabeca p:last-child{ text-align-last:left; }
.chamada p, .hero__sub{ text-align-last:left; }

/* ---------- título largo + texto em duas colunas ---------- */
.cabeca--larga{ max-width:min(100%, 660px); margin-bottom:clamp(26px,3.5vw,38px); }
.cabeca--larga p{ margin-top:16px; max-width:60ch; }

.texto-colunas{
  column-count:2;
  column-gap:clamp(28px,4vw,60px);
}
.texto-colunas p{ margin:0 0 1.05em; break-inside:avoid; }
.texto-colunas p:last-child{ margin-bottom:0; }

.destaque-linha{
  margin-top:16px; font-weight:600; color:var(--azul); text-align:left;
}

/* ---------- listas de atributos lado a lado ---------- */
.atributos--grade{
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:clamp(22px,3vw,36px);
}
.atributos--grade li{ align-items:flex-start; }

/* ---------- Quem Somos: coluna do texto um pouco mais larga ---------- */
.duas--quem{ grid-template-columns:0.92fr 1.08fr; align-items:start; }

/* ---------- imagem principal do produto em retrato ---------- */
.capa-produto__foto{ display:flex; justify-content:flex-end; }
.capa-produto__foto .foto-zoom{ max-width:430px; width:100%; }
.capa-produto__foto .foto-zoom .moldura{ aspect-ratio:3/4; }
.modelo__fotos--uma .foto-zoom .moldura{ aspect-ratio:3/4; }
.modelo__fotos--uma{ max-width:400px; }
.modelo--inv .modelo__fotos--uma{ margin-left:auto; }

@media (max-width:980px){
  .texto-colunas{ column-count:1; }
  .cabeca--larga{ max-width:none; }
  .duas--quem{ grid-template-columns:1fr; }
  .capa-produto__foto{ justify-content:flex-start; }
  .capa-produto__foto .foto-zoom{ max-width:340px; }
  .modelo__fotos--uma{ max-width:340px; }
  .modelo--inv .modelo__fotos--uma{ margin-left:0; }
}

/* ============================================================
   MOBILE: títulos um pouco menores para ocupar melhor a largura
   ============================================================ */
@media (max-width:760px){
  h1{ font-size:clamp(1.95rem, 8.4vw, 2.5rem); letter-spacing:-.02em; }
  h2{ font-size:clamp(1.55rem, 6.6vw, 2rem); letter-spacing:-.018em; }
  h3{ font-size:clamp(1.08rem, 4.6vw, 1.3rem); }
  .hero h1{ font-size:clamp(2.05rem, 9vw, 2.7rem); }
  .provas__item b{ font-size:clamp(1.55rem, 7vw, 2rem); }
  .chamada h2{ max-width:none; }
  .cabeca--larga{ margin-bottom:22px; }

  /* justificado em telas estreitas precisa de hifenização para não abrir buracos */
  .texto-apoio p, .cabeca p, .capa-produto__tag{
    hyphens:manual; -webkit-hyphens:manual; word-spacing:normal;
  }
}

@media (max-width:420px){
  h1{ font-size:clamp(1.8rem, 8.6vw, 2.2rem); }
  h2{ font-size:clamp(1.42rem, 6.8vw, 1.8rem); }
}
