@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap');

/* ============================================================
   Catalogo Tecnico - tema escuro no padrao do site da Solucao (SITESOLU)
   Tokens de relatorios/referencia_layout_sitesolu.md
   ============================================================ */
:root{
  --bg:#080A10;
  --bg-2:#0D1018;
  --surface:#11141D;
  --surface-2:#161A26;
  --line:#232838;
  --line-soft:#1A1E2B;
  --text:#F2F4F8;
  --text-dim:#8B93A7;
  --accent:#3D5AFE;       /* acao: botao primario */
  --accent-2:#00E5FF;     /* ciano: links e numeros */
  --glass:rgba(var(--acao-rgb),0.12);
  --pc:#0099FF;           /* cor da marca (sobrescrita por pagina a partir de marcas.yaml) */
  --acao-rgb:61,90,254;
  --destaque-rgb:0,229,255;

  --font-display:'Space Grotesk', system-ui, sans-serif;
  --font-body:'Inter', system-ui, sans-serif;

  --r-card:20px;
  --r-pill:999px;
  --r-md:14px;
  --sombra-card:0 24px 48px -20px rgba(0,0,0,0.6);
  --sombra-btn:0 14px 32px -8px rgba(var(--acao-rgb),0.65);
  --ease:cubic-bezier(.16,.8,.3,1);
  --topo-h:64px;

  /* aliases usados por trechos antigos */
  --steel:var(--text-dim);
  --steel-light:var(--text-dim);
  --paper-alt:var(--bg-2);
  --ink:var(--text);
  --brand:var(--pc);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:130px; -webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block;}
a{color:inherit; text-decoration:none;}
button{font:inherit; color:inherit;}
h1,h2,h3,h4{font-family:var(--font-display); letter-spacing:-0.02em; margin:0;}
:focus-visible{outline:2px solid var(--accent-2); outline-offset:3px;}
[hidden]{display:none !important;}
.wrap{max-width:1280px; margin:0 auto; padding:0 24px;}
.pular{position:absolute; left:-999px; top:8px; background:var(--accent); color:#fff; padding:10px 16px; border-radius:var(--r-pill); z-index:200;}
.pular:focus{left:12px;}

/* ---------------- Cabecalho unico ---------------- */
.topo{
  position:sticky; top:0; z-index:60;
  border-bottom:1px solid var(--line);
  border-top:3px solid var(--pc);
}
.topo::before{ /* o blur fica num pseudo-elemento para nao prender a gaveta (fixed) */
  content:""; position:absolute; inset:0; z-index:-1;
  background:rgba(8,10,16,0.78);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
}
.topo-linha{display:flex; align-items:center; gap:20px; min-height:var(--topo-h);}
.marca-link{flex:0 0 auto; display:inline-flex; align-items:center;}
.logo-cab{height:36px; width:auto;}
.menu{display:flex; align-items:center; gap:2px; margin-left:auto; flex-wrap:nowrap;}
.menu-item{
  padding:8px 13px; border-radius:var(--r-pill);
  font-size:13.5px; color:var(--text-dim); white-space:nowrap;
  transition:color .3s ease, background .3s ease;
}
.menu-item:hover{color:var(--text); background:var(--surface-2);}
.menu-item.atual{color:var(--text); background:var(--glass); box-shadow:inset 0 0 0 1px rgba(var(--acao-rgb),0.45);}
.menu-toggle{
  display:none; margin-left:auto;
  width:44px; height:44px; border-radius:12px;
  background:var(--surface); border:1px solid var(--line); cursor:pointer;
  align-items:center; justify-content:center;
}
.menu-toggle .barras, .menu-toggle .barras::before, .menu-toggle .barras::after{
  display:block; width:20px; height:2px; background:var(--text); border-radius:2px; content:""; position:relative;
  transition:transform .3s var(--ease), background .3s ease;
}
.menu-toggle .barras::before{position:absolute; top:-6px;}
.menu-toggle .barras::after{position:absolute; top:6px;}
.menu-aberto .menu-toggle .barras{background:transparent;}
.menu-aberto .menu-toggle .barras::before{transform:translateY(6px) rotate(45deg);}
.menu-aberto .menu-toggle .barras::after{transform:translateY(-6px) rotate(-45deg);}
.menu-fundo{position:fixed; inset:0; background:rgba(0,0,0,0.62); z-index:70;}

.topo-trilha{
  display:flex; align-items:center; gap:14px;
  padding-top:6px; padding-bottom:10px; min-height:52px;
  border-top:1px solid var(--line-soft);
}
.voltar-btn{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:6px;
  min-height:44px; padding:0 18px;
  border:1px solid var(--line); border-radius:var(--r-pill);
  background:var(--surface); color:var(--text);
  font-family:var(--font-display); font-weight:600; font-size:13.5px; white-space:nowrap;
  transition:border-color .3s ease, background .3s ease, transform .3s ease;
}
.voltar-btn:hover{border-color:var(--accent-2); background:rgba(var(--destaque-rgb),0.06); transform:translateY(-2px);}
.trilha{
  display:flex; align-items:center; gap:8px; min-width:0; flex:1 1 auto;
  overflow-x:auto; white-space:nowrap; font-size:13.5px;
  -webkit-overflow-scrolling:touch; scrollbar-width:thin;
}
.trilha a{color:var(--text-dim); padding:12px 2px; transition:color .3s ease;}
.trilha a:hover{color:var(--accent-2);}
.trilha a[aria-current="page"]{color:var(--text); font-weight:600;}
.trilha .sep{color:var(--line);}

@media (max-width:1100px){
  .menu-toggle{display:inline-flex;}
  .menu{
    position:fixed; top:0; right:0; bottom:0; z-index:80;
    width:min(86vw, 340px); margin:0;
    flex-direction:column; align-items:stretch; gap:4px;
    padding:76px 18px 24px;
    background:var(--bg-2); border-left:1px solid var(--line);
    transform:translateX(105%); visibility:hidden;
    transition:transform .35s var(--ease), visibility 0s linear .35s;
    overflow-y:auto;
  }
  .menu-aberto .menu{transform:none; visibility:visible; transition:transform .35s var(--ease), visibility 0s;}
  .menu-aberto .menu-toggle{position:relative; z-index:90;}
  .menu-item{padding:14px 16px; font-size:16px; border-radius:var(--r-md);}
  body.menu-aberto, html.menu-aberto body{overflow:hidden;}
}
@media (max-width:700px){
  .topo-linha{min-height:56px;}
  .logo-cab{height:30px;}
  .voltar-btn{padding:0 14px;}
  .voltar-btn .para{display:none;}
  .wrap{padding:0 16px;}
}

/* ---------------- Botoes, chips ---------------- */
.btn-primario{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 28px; min-height:48px;
  background:var(--accent); color:#fff; border:1px solid var(--accent); border-radius:var(--r-pill);
  font-family:var(--font-display); font-weight:600; font-size:15px; cursor:pointer;
  transition:transform .35s var(--ease), box-shadow .35s ease, background .35s ease;
}
.btn-primario:hover{transform:translateY(-3px) scale(1.02); box-shadow:0 14px 32px -8px rgba(var(--acao-rgb),0.65); filter:brightness(1.1);}
.btn-primario .seta{transition:transform .35s var(--ease);}
.btn-primario:hover .seta{transform:translateX(5px);}
.btn-ghost{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 26px; min-height:48px;
  background:transparent; color:var(--text); border:1px solid var(--line); border-radius:var(--r-pill);
  font-family:var(--font-display); font-weight:600; font-size:15px; cursor:pointer;
  transition:border-color .3s ease, background .3s ease, transform .3s ease;
}
.btn-ghost:hover{border-color:var(--accent-2); background:rgba(var(--destaque-rgb),0.06); transform:translateY(-2px);}
.chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 16px; border-radius:var(--r-pill);
  border:1px solid var(--line); background:var(--surface);
  font-size:13px; color:var(--text-dim);
}
.chip .ponto{width:6px; height:6px; border-radius:50%; background:var(--accent-2);}
.badge{
  display:inline-block; padding:6px 14px; border-radius:var(--r-pill);
  border:1px solid var(--line); background:var(--surface);
  font-size:12.5px; color:var(--text-dim); font-weight:500;
}
.link-seta{color:var(--accent-2); font-weight:600; font-size:14px;}
.link-seta:hover{text-decoration:underline;}

/* ---------------- Capa ---------------- */
.capa-hero{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  gap:24px; padding-top:72px; padding-bottom:72px;
}
.capa-logo{width:100%; max-width:360px; height:auto;}
.capa h1{
  font-weight:700; font-size:clamp(34px, 6vw, 66px); line-height:1.05; letter-spacing:-0.03em; max-width:980px;
}
.capa-lede{color:var(--text-dim); font-size:18px; line-height:1.65; max-width:680px; margin:0;}
.capa-botoes{display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top:6px;}
.capa-stats{display:flex; flex-wrap:wrap; justify-content:center; gap:28px 56px; margin-top:28px;}
.capa-stats > div{text-align:center; min-width:120px;}
.capa-stats .num{
  font-family:var(--font-display); font-weight:700; font-size:40px; line-height:1.1;
  background:linear-gradient(120deg,#fff,var(--accent-2)); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.capa-stats .lbl{font-size:13px; color:var(--text-dim); margin-top:4px;}
.capa-sistemas{padding-top:24px; padding-bottom:96px; scroll-margin-top:100px;}
.titulo-secao{display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; margin-bottom:40px;}
.titulo-secao h2{font-size:clamp(28px, 4vw, 40px); font-weight:700;}
.cards-sistema{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px;}
.card-sistema{
  display:flex; flex-direction:column; gap:10px; padding:28px; min-height:190px;
  background:linear-gradient(180deg, var(--surface), var(--surface-2));
  border:1px solid var(--line); border-radius:var(--r-card);
  transition:transform .45s var(--ease), border-color .45s ease, box-shadow .45s ease;
}
.card-sistema:hover{transform:translateY(-8px); border-color:rgba(var(--acao-rgb),0.55); box-shadow:var(--sombra-card), 0 0 0 1px rgba(var(--acao-rgb),0.15);}
.card-sistema .num-sis{
  width:48px; height:48px; border-radius:var(--r-md); background:var(--glass);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:700; color:var(--accent-2); font-size:16px;
}
.card-sistema h3{font-size:21px; font-weight:600;}
.card-sistema p{margin:0; color:var(--text-dim); font-size:14px;}
.card-sistema .rodape-card{
  margin-top:auto; padding-top:14px; display:flex; justify-content:space-between; align-items:center;
  font-size:13px; color:var(--text-dim);
}
.card-sistema .ver{color:var(--accent-2); font-weight:600;}
@media (max-width:960px){
  .cards-sistema{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width:600px){
  .cards-sistema{grid-template-columns:1fr;}
  .capa-hero{padding-top:44px; padding-bottom:48px; gap:20px;}
  .capa-lede{font-size:16px;}
  .capa-stats{gap:22px 28px;}
  .capa-stats > div{min-width:96px;}
  .capa-stats .num{font-size:34px;}
}

/* ---------------- Paginas internas ---------------- */
.main{min-width:0;}
.product-hero, .block{padding-left:max(24px, calc((100% - 1232px) / 2)); padding-right:max(24px, calc((100% - 1232px) / 2));}
.product-hero{padding-top:56px; padding-bottom:44px; border-bottom:1px solid var(--line); background:linear-gradient(180deg, var(--tint, #0A1B2E), var(--bg));}
.product-kicker, .kicker{
  display:flex; align-items:center; gap:10px;
  font-size:12.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent-2); font-weight:600; margin-bottom:12px;
}
.product-kicker .ln, .kicker .ln{width:28px; height:2px; background:var(--accent-2); border-radius:2px;}
.product-hero h2{font-size:clamp(32px, 5vw, 56px); font-weight:700; letter-spacing:-0.03em; line-height:1.05;}
.product-hero .former-name{color:var(--text-dim); margin:10px 0 0;}
.product-lede{color:var(--text-dim); font-size:18px; max-width:760px; margin:18px 0 0;}
.product-badges{display:flex; flex-wrap:wrap; gap:8px; margin-top:22px;}

.section-nav{
  display:flex; gap:6px; overflow-x:auto; white-space:nowrap;
  padding:14px max(24px, calc((100% - 1232px) / 2));
  border-bottom:1px solid var(--line); background:var(--bg-2);
}
.section-nav a{padding:9px 16px; border-radius:var(--r-pill); font-size:13.5px; color:var(--text-dim); transition:color .3s, background .3s;}
.section-nav a:hover{color:var(--text); background:var(--surface-2);}
.section-nav a.current{color:var(--text); background:var(--glass); box-shadow:inset 0 0 0 1px rgba(var(--acao-rgb),0.45);}

.block{padding-top:64px; padding-bottom:64px; border-bottom:1px solid var(--line-soft); scroll-margin-top:130px;}
.block.alt{background:var(--bg-2);}
.block-head{display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-bottom:28px;}
.block-head h3{font-size:clamp(22px, 3vw, 30px); font-weight:700; display:flex; align-items:center; gap:14px;}
.block-head h3 .idx{
  width:38px; height:38px; border-radius:12px; background:var(--glass); border:1px solid rgba(var(--acao-rgb),0.5);
  display:inline-flex; align-items:center; justify-content:center; font-size:15px; color:var(--accent-2);
}
.block-note{font-size:13.5px; color:var(--text-dim); max-width:560px; margin-left:auto;}
.status{display:inline-flex; align-items:center; gap:6px; font-size:12px; padding:5px 12px; border-radius:var(--r-pill); font-weight:600;}
.status.ready{background:rgba(var(--destaque-rgb),0.1); color:var(--accent-2);}
.status.pending{background:rgba(255,184,0,0.12); color:#FFC94D;}
.status::before{content:"●"; font-size:8px;}

.diff-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:20px;}
.diff-card{
  padding:24px; border:1px solid var(--line); border-radius:var(--r-card);
  background:linear-gradient(180deg, var(--surface), var(--surface-2));
  transition:transform .45s var(--ease), border-color .45s ease;
}
.diff-card:hover{transform:translateY(-5px); border-color:rgba(var(--acao-rgb),0.55);}
.diff-card .n{font-family:var(--font-display); font-weight:700; color:var(--accent-2); font-size:14px; margin-bottom:8px;}
.diff-card h4{font-size:17px; font-weight:600; margin-bottom:6px;}
.diff-card p{margin:0; font-size:14px; color:var(--text-dim);}

.limits-wrap{display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:28px; align-items:start;}
table.limits{width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden;}
table.limits caption{caption-side:top; text-align:left; font-size:13.5px; color:var(--text-dim); padding:0 0 12px;}
table.limits th{text-align:left; font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-dim); padding:12px 16px; background:var(--surface-2); border-bottom:1px solid var(--line);}
table.limits td{padding:13px 16px; border-bottom:1px solid var(--line-soft); font-size:14.5px; vertical-align:top;}
table.limits td.metric{color:var(--text-dim); width:42%;}
table.limits td.val{color:var(--text); font-weight:600; font-family:var(--font-display);}
table.limits tbody tr:hover{background:var(--surface-2);}
.data-needed{padding:24px; border:1px solid var(--line); border-radius:var(--r-card); background:var(--surface);}
.data-needed h4{font-size:16px; margin-bottom:12px;}
.data-needed ul{list-style:none; margin:0; padding:0;}
.data-needed li{padding:9px 0 9px 22px; position:relative; border-bottom:1px solid var(--line-soft); font-size:14.5px;}
.data-needed li:last-child{border-bottom:0;}
.data-needed li::before{content:""; position:absolute; left:2px; top:17px; width:7px; height:7px; border-radius:50%; background:var(--accent-2);}
@media (max-width:900px){ .limits-wrap{grid-template-columns:1fr;} }

.placeholder-block{padding:36px 24px; text-align:center; border:1px dashed var(--line); border-radius:var(--r-card); background:var(--surface);}
.placeholder-block .ic{font-size:26px; color:var(--accent-2); margin-bottom:8px;}
.placeholder-block h4{font-size:17px; margin-bottom:8px;}
.placeholder-block p{margin:0 auto; max-width:620px; color:var(--text-dim); font-size:14.5px;}
.cert-strip{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:16px;}
.cert-item{display:flex; gap:14px; align-items:center; padding:16px 18px; border:1px solid var(--line); border-radius:var(--r-md); background:var(--surface); font-size:14px; color:var(--text-dim);}
.cert-item .dot2{flex:0 0 auto; min-width:44px; height:44px; padding:0 8px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; background:var(--glass); color:var(--accent-2); font-family:var(--font-display); font-weight:700; font-size:13px;}
.sealant-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:20px;}
.sealant-card{padding:24px; border:1px solid var(--line); border-radius:var(--r-card); background:linear-gradient(180deg, var(--surface), var(--surface-2)); transition:transform .45s var(--ease), border-color .45s ease;}
.sealant-card:hover{transform:translateY(-5px); border-color:rgba(var(--acao-rgb),0.55);}
.sealant-card .stag{display:inline-block; font-size:11.5px; padding:4px 10px; border-radius:var(--r-pill); background:var(--glass); color:var(--accent-2); margin-bottom:10px; font-weight:600;}
.sealant-card h4{font-size:18px; margin-bottom:8px;}
.sealant-card p{margin:0 0 12px; font-size:14px; color:var(--text-dim);}
.sealant-card .pack{font-size:13px; color:var(--text); font-weight:600; font-family:var(--font-display);}

/* ---------------- Molduras claras (imagens tecnicas sobre fundo claro) ---------------- */
.moldura-clara{background:#fff; border-radius:var(--r-card); padding:14px; margin:0; box-shadow:var(--sombra-card);}
.moldura-clara img{width:100%; height:auto; margin:0 auto; border-radius:8px;}
.moldura-clara img[data-zoom]{cursor:zoom-in;}
.moldura-clara figcaption{margin-top:10px; font-size:12px; color:#5B6470; text-align:center;}
.spec-orig{display:inline-block; margin-top:12px; font-size:13px; color:var(--accent-2); text-decoration:underline; text-underline-offset:3px;}
.spec-orig:hover{color:#fff;}

/* ---------------- Cards de perfil ---------------- */
.resumo-perfis{font-size:14px; color:var(--text-dim); margin:0 0 18px;}
.resumo-perfis b{color:var(--text);}
.rotulo-grupo{font-size:13.5px; color:var(--text); font-weight:600; margin:22px 0 12px; font-family:var(--font-display);}
.profiles-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:18px; margin-bottom:12px;}
.profile-card{
  display:flex; flex-direction:column; padding:14px 14px 16px;
  background:linear-gradient(180deg, var(--surface), var(--surface-2));
  border:1px solid var(--line); border-radius:var(--r-card);
  transition:transform .45s var(--ease), border-color .45s ease, box-shadow .45s ease;
}
.profile-card:hover{transform:translateY(-6px); border-color:rgba(var(--acao-rgb),0.55); box-shadow:var(--sombra-card);}
.profile-card[hidden]{display:none !important;}
.pimg-wrap{display:flex; align-items:center; justify-content:center; background:#F4F6F9; border-radius:var(--r-md); aspect-ratio:4/3; overflow:hidden; margin-bottom:12px;}
.pimg-wrap .pimg{width:100%; height:100%; object-fit:contain;}
.profile-card .pcode{font-family:var(--font-display); font-weight:700; font-size:16px; color:var(--accent-2);}
.profile-card .pdesc{font-size:13.5px; color:var(--text); margin-top:2px; line-height:1.35;}
.profile-card .pshared{font-size:11.5px; color:var(--text-dim); margin-top:6px;}
.profile-card .pweight{font-size:12.5px; color:var(--text-dim); margin-top:auto; padding-top:10px; font-family:var(--font-display);}

/* ---------------- Ficha em destaque (paginas de sistema) ---------------- */
.ficha-destaque{border:1px solid var(--line); border-radius:var(--r-card); background:var(--surface); overflow:hidden; margin-bottom:28px;}
.ficha-destaque-top{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; padding:20px 24px; border-bottom:1px solid var(--line); background:var(--surface-2);}
.ficha-destaque-top .id{font-family:var(--font-display); font-weight:700; font-size:20px; color:var(--accent-2);}
.ficha-destaque-top .name{font-size:15px; margin-top:2px;}
.ficha-destaque-corpo{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:28px; padding:24px;}
.ficha-destaque-dados .moldura-iso{margin-top:20px;}
@media (max-width:900px){ .ficha-destaque-corpo{grid-template-columns:1fr; padding:16px;} }
.nota-perfil{font-size:13px; color:var(--text-dim); margin:0 0 20px;}

/* ---------------- Tabela de dados (alto contraste) ---------------- */
table.dados{width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden;}
table.dados th, table.dados td{padding:14px 18px; border-bottom:1px solid var(--line-soft); text-align:left; font-size:15px;}
table.dados tr:last-child th, table.dados tr:last-child td{border-bottom:0;}
table.dados th{font-weight:500; color:#B7BDCC; width:52%;}
table.dados td{font-family:var(--font-display); font-weight:700; color:#fff; text-align:right; font-variant-numeric:tabular-nums; font-size:16px;}

/* ---------------- Pagina do perfil ---------------- */
.perfil-topo{padding:44px 0 32px; border-bottom:1px solid var(--line); background:linear-gradient(180deg, var(--tint, #0A1B2E), var(--bg));}
.perfil-topo h1{font-size:clamp(28px, 4.5vw, 48px); font-weight:700; letter-spacing:-0.03em; line-height:1.1; margin:4px 0 14px;}
.perfil-topo .sep-t{color:var(--text-dim); font-weight:400;}
.perfil-nav{margin-top:18px; font-size:14px;}
.perfil-nav .pn-seq{display:flex; flex-wrap:wrap; gap:6px 6px; align-items:center;}
.perfil-nav a, .perfil-nav .pn-off{display:inline-flex; align-items:center; min-height:40px; padding:0 14px; border-radius:var(--r-pill); border:1px solid var(--line); background:var(--surface);}
.perfil-nav a{color:var(--text); font-weight:600; transition:border-color .3s, background .3s;}
.perfil-nav a:hover{border-color:var(--accent-2); background:rgba(var(--destaque-rgb),0.06);}
.perfil-nav .pn-off{color:var(--text-dim); opacity:.6;}
.perfil-corpo{padding-top:44px; padding-bottom:72px;}
.perfil-grade{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:start;}
.perfil-grade.sem-iso{grid-template-columns:minmax(0,640px);}
.titulo-pequeno{font-size:14px; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-dim); font-weight:600; margin-bottom:14px;}
.perfil-iso img{max-height:460px; width:auto; max-width:100%;}
.perfil-ficha{margin-top:44px;}
.perfil-ficha .moldura-ficha{max-width:980px;}
.perfil-usado{margin-top:28px; padding-top:20px; border-top:1px solid var(--line); font-size:14px; display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center;}
.perfil-usado a{color:var(--accent-2); font-weight:600; padding:6px 14px; border-radius:var(--r-pill); border:1px solid var(--line); background:var(--surface);}
.perfil-usado a:hover{border-color:var(--accent-2);}
.perfil-usado .pn-label{color:var(--text-dim); font-size:13px;}
@media (max-width:900px){ .perfil-grade{grid-template-columns:1fr;} .perfil-grade.sem-iso{grid-template-columns:1fr;} }

/* ---------------- Biblioteca ---------------- */
.master-map{max-width:1100px;}
.bib-filtros{margin-bottom:24px;}
.bib-busca{
  width:100%; max-width:440px; padding:13px 20px; font-size:15px; min-height:48px;
  border:1px solid var(--line); background:var(--surface); color:var(--text); border-radius:var(--r-pill);
}
.bib-busca::placeholder{color:var(--text-dim);}
.bib-botoes{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;}
.bib-btn{
  min-height:42px; padding:0 18px; border:1px solid var(--line); background:var(--surface); color:var(--text-dim);
  border-radius:var(--r-pill); cursor:pointer; font-size:13.5px; transition:border-color .3s, color .3s, background .3s;
}
.bib-btn:hover{border-color:var(--accent-2); color:var(--text);}
.bib-btn.current{background:var(--accent); border-color:var(--accent); color:#fff;}
.bib-contagem{margin:12px 0 0; font-size:13px; color:var(--text-dim);}

/* ---------------- Rodape ---------------- */
.doc-footer{border-top:1px solid var(--line); padding:48px 0 40px; background:var(--bg-2);}
.doc-footer .fbrand{font-family:var(--font-display); font-weight:700; font-size:18px; letter-spacing:-0.01em;}
.doc-footer .fmeta{margin:12px 0 0; font-size:13.5px; color:var(--text-dim); max-width:560px;}
.doc-footer .fcontact{margin:18px 0 0; font-size:13.5px; color:var(--text);}

/* ---------------- Lightbox ---------------- */
.lb-overlay{
  position:fixed; inset:0; z-index:1000; background:rgba(5,6,10,0.94);
  display:flex; align-items:center; justify-content:center;
  touch-action:pinch-zoom pan-x pan-y; cursor:zoom-out;
}
.lb-overlay img{max-width:96vw; max-height:94vh; width:auto; height:auto; object-fit:contain; background:#fff; border-radius:6px; cursor:default;}
.lb-close{
  position:absolute; top:12px; right:14px; width:48px; height:48px; border:0; border-radius:50%;
  background:rgba(255,255,255,0.16); color:#fff; font-size:28px; line-height:48px; text-align:center; cursor:pointer;
}
.lb-close:hover, .lb-close:focus{background:rgba(255,255,255,0.32); outline:2px solid #fff;}
body.lb-open{overflow:hidden;}

/* ---------------- Efeitos (so com movimento permitido) ---------------- */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *, *::before, *::after{transition:none !important; animation:none !important;}
  .reveal{opacity:1; transform:none;}
}

/* ---------------- Impressao ---------------- */
.print-logo{display:none;}
@media print{
  html, body{background:#fff !important; color:#000 !important;}
  body *{background:transparent !important; color:#000 !important; box-shadow:none !important; text-shadow:none !important;}
  .topo, .menu-fundo, .menu-toggle, .menu, .pular, .voltar-btn, .trilha, .bib-filtros, .section-nav, .capa-botoes,
  .perfil-nav, .spec-orig, .link-seta, .lb-overlay{display:none !important;}
  .print-logo{display:block; margin:0 0 18px;}
  .print-logo img{height:48px; width:auto;}
  .reveal{opacity:1 !important; transform:none !important;}
  .product-hero, .perfil-topo{background:#fff !important; border-bottom:1px solid #999;}
  .block, .block.alt{padding:20px 0; border-bottom:1px solid #ccc; background:#fff !important;}
  .moldura-clara, .pimg-wrap{background:#fff !important; border:1px solid #bbb;}
  .profile-card, .card-sistema, .diff-card, .ficha-destaque, table.limits, table.dados, .data-needed{border:1px solid #888 !important; break-inside:avoid;}
  table.dados td, table.limits td.val, .capa-stats .num{-webkit-text-fill-color:#000 !important; color:#000 !important;}
  .wrap{max-width:none; padding:0;}
  a{text-decoration:none;}
  .doc-footer{border-top:1px solid #999; padding:16px 0;}
}

/* ---------------- Marcas: logo em pilula clara, entrada ---------------- */
.marca-link.pilula, .logo-marca.pilula{
  background:#fff; border-radius:var(--r-pill); padding:4px 12px 4px 4px;
}
.marca-link.pilula{align-items:center; gap:10px; padding:4px 16px 4px 4px;}
.marca-link.pilula .logo-cab{height:38px; width:38px; border-radius:9px;}
.marca-nome{color:#111; font-family:var(--font-display); font-weight:700; font-size:15px; letter-spacing:-0.01em;}
.capa-logo.pilula{width:168px; max-width:168px; border-radius:28px; border:8px solid #fff; background:#fff;}
.fmarcas{margin:14px 0 0; font-size:13.5px; display:flex; flex-wrap:wrap; gap:8px 22px;}
.fmarcas a{color:var(--accent-2); font-weight:600;}
.fmarcas a:hover{text-decoration:underline;}

.entrada-hero{display:flex; flex-direction:column; align-items:center; text-align:center; gap:20px; padding-top:72px; padding-bottom:88px;}
.entrada h1{font-size:clamp(34px, 6vw, 60px); font-weight:700; letter-spacing:-0.03em; line-height:1.05;}
.entrada-cards{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:28px; width:100%; max-width:920px; margin-top:20px;}
.card-marca{
  display:flex; flex-direction:column; align-items:center; gap:14px; padding:36px 28px 28px;
  background:linear-gradient(180deg, var(--surface), var(--surface-2));
  border:1px solid var(--line); border-radius:var(--r-card); border-top:4px solid var(--pc);
  transition:transform .45s var(--ease), border-color .45s ease, box-shadow .45s ease;
}
.card-marca:hover{transform:translateY(-8px); border-color:var(--pc); box-shadow:var(--sombra-card);}
.card-marca .logo-marca{display:flex; align-items:center; justify-content:center; min-height:120px;}
.card-marca .logo-marca img{max-height:110px; width:auto; max-width:100%;}
.card-marca .logo-marca.pilula{padding:10px; border-radius:26px;}
.card-marca .logo-marca.pilula img{height:100px; width:100px; border-radius:18px;}
.card-marca h2{font-size:26px; font-weight:700;}
.card-marca p{margin:0; color:var(--text-dim); font-size:14.5px; max-width:360px;}
.card-marca .rodape-card{margin-top:auto; padding-top:12px; display:flex; gap:18px; justify-content:space-between; align-items:center; width:100%; font-size:13px; color:var(--text-dim);}
.card-marca .ver{color:var(--accent-2); font-weight:600;}
@media (max-width:700px){ .entrada-cards{grid-template-columns:1fr;} }

/* botao de download do PDF na pagina de sistema */
.product-acoes{margin-top:22px;}
