/* ===========================================================
   CÓDIGO SST — v2 EDITORIAL PREMIUM · seções
   =========================================================== */

/* fundos legados unificados: o ritmo vem do respiro + hairlines */
.bg-noturno{background:var(--bg)}
.bg-marinho{background:var(--bg-2)}
.bg-noturno-deep{background:var(--bg)}
section + section,
section{border-top:1px solid var(--line-soft)}
.hero{border-top:none}

/* ===========================================================
   2 · QUEM SOMOS
   =========================================================== */
.experts-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
}
.expert-card{
  padding:clamp(32px,4vw,56px);
  border-top:1px solid var(--line);
}
.expert-card:first-child{border-right:1px solid var(--line);padding-left:0}
.expert-card:last-child{padding-right:0}
.expert-head{
  display:flex;align-items:center;gap:22px;
  margin-bottom:28px;
}
.avatar{
  width:72px;height:72px;border-radius:50%;
  object-fit:cover;
  border:1px solid var(--line-strong);
  filter:grayscale(35%);
  transition:filter .5s var(--ease);
}
.expert-card:hover .avatar{filter:grayscale(0)}
.role-label{
  font-family:var(--font-mono);
  font-size:10.5px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--ciano);
  margin-bottom:10px;
}
.expert-role-block h3{
  font-size:clamp(20px,1.9vw,26px);
  letter-spacing:-0.02em;
}
.expert-bio{
  color:var(--prata);
  font-size:15.5px;
  line-height:1.75;
  margin:0;
  text-wrap:pretty;
  white-space:pre-line;
}

.closing-line{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(22px,2.8vw,34px);
  letter-spacing:-0.025em;
  line-height:1.3;
  color:var(--prata);
  border-top:1px solid var(--line);
  margin:0;
  padding-top:clamp(40px,5vw,64px);
  max-width:32ch;
  text-wrap:balance;
}
.closing-line strong{color:var(--branco);font-weight:600}

@media (max-width:880px){
  .experts-grid{grid-template-columns:1fr}
  .expert-card:first-child{border-right:none;padding:32px 0}
  .expert-card:last-child{padding:32px 0 8px}
}

/* ===========================================================
   3 · PROBLEMA
   =========================================================== */
.problem-body,.pericias-body{
  max-width:760px;
  margin-bottom:clamp(56px,7vw,90px);
}
.pericias-body{margin-bottom:clamp(40px,5vw,56px)}
.problem-body p,.pericias-body p{
  color:var(--prata);
  font-size:clamp(17px,1.4vw,19px);
  line-height:1.75;
  margin:0 0 22px;
  text-wrap:pretty;
}
.problem-body .stress,.pericias-body .stress{color:var(--branco);font-weight:600}
.problem-body .punchline,.pericias-body .punchline{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(22px,2.6vw,32px);
  letter-spacing:-0.025em;
  line-height:1.3;
  color:var(--branco);
  margin-top:36px;
}

.cards-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(32px,4vw,64px);
  border-top:1px solid var(--line);
  padding-top:clamp(40px,5vw,64px);
  counter-reset:problem-num;
}
.cards-3 .icon-card{counter-increment:problem-num;overflow:hidden}
.cards-3 .icon-card::after{
  content:"0" counter(problem-num);
  position:absolute;bottom:-14px;right:6px;
  font-family:var(--font-display);font-weight:700;
  font-size:96px;letter-spacing:-0.04em;line-height:1;
  color:var(--branco);opacity:.04;
  pointer-events:none;user-select:none;z-index:0;
}
.icon-card .icon{
  width:48px;height:48px;
  display:grid;place-items:center;
  color:var(--ciano);
  border:1px solid var(--line);
  border-radius:3px;
  margin-bottom:26px;
}
.icon-card h3{
  font-size:clamp(19px,1.7vw,23px);
  letter-spacing:-0.02em;
  margin-bottom:14px;
}
.icon-card p{
  color:var(--prata);
  font-size:15px;
  line-height:1.7;
  margin:0;
  text-wrap:pretty;
}
@media (max-width:880px){
  .cards-3{grid-template-columns:1fr;gap:44px}
}

.pericias-video{
  position:relative;
  width:100%;
  aspect-ratio:16/6.2;
  overflow:hidden;
  border:1px solid var(--line);
  margin-bottom:clamp(56px,7vw,90px);
  background:var(--noturno);
}
.pericias-video-el{
  position:absolute;
  top:50%;left:50%;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 22%;
  transform:translate(-50%,-50%) scale(1.16);
  filter:brightness(.85) saturate(.9) contrast(1.02);
  transition:opacity .7s ease;
}
.pericias-video-tint{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(11,21,38,.05) 0%,rgba(11,21,38,.15) 55%,rgba(11,21,38,.5) 100%),
    linear-gradient(180deg,rgba(11,21,38,.2),rgba(11,21,38,.2));
  mix-blend-mode:multiply;
}
.pericias-subhead{
  font-family:var(--font-display);
  font-weight:500;
  font-size:clamp(18px,1.8vw,22px);
  letter-spacing:-0.02em;
  color:var(--branco);
  margin:0 0 clamp(24px,3vw,36px);
}
.cards-6{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.proc-card{
  position:relative;
  padding:clamp(28px,3vw,40px);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  transition:background var(--t-base);
}
.proc-card:hover{background:rgba(77,166,255,.035)}
.proc-card .num{
  display:block;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.2em;
  color:var(--mute);
  margin-bottom:20px;
}
.proc-card .num::before{content:"/ "}
.proc-card h3{
  font-size:clamp(17px,1.5vw,19px);
  letter-spacing:-0.02em;
  margin-bottom:12px;
}
.proc-card p{
  color:var(--prata);
  font-size:15px;line-height:1.7;
  margin:0;
  text-wrap:pretty;
}
@media (max-width:880px){
  .cards-6{grid-template-columns:1fr}
}

/* ===========================================================
   4 · SOLUÇÃO
   =========================================================== */
.cards-4{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
/* layout editorial assimétrico: zigue-zague 3–2 / 2–3 */
.pillar-card:nth-child(1){grid-column:span 3}
.pillar-card:nth-child(2){grid-column:span 2}
.pillar-card:nth-child(3){grid-column:span 2}
.pillar-card:nth-child(4){grid-column:span 3}
.pillar-card{
  position:relative;
  display:flex;flex-direction:column;
  padding:clamp(32px,3.6vw,52px);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  transition:background var(--t-base);
}
/* cards largos (01 e 04) ganham respiro e ícone ao lado do número */
.pillar-card:nth-child(1) h3,
.pillar-card:nth-child(4) h3{font-size:clamp(22px,2.2vw,30px);max-width:18ch}
.pillar-card:nth-child(1) p,
.pillar-card:nth-child(4) p{max-width:52ch}
.pillar-card:hover{background:rgba(77,166,255,.035)}
.pillar-card .num{
  display:block;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.2em;
  color:var(--mute);
  margin-bottom:34px;
}
.pillar-card .num::before{content:"/ "}
.pillar-card .icon{
  width:44px;height:44px;
  display:grid;place-items:center;
  color:var(--ciano);
  border:1px solid var(--line);
  border-radius:3px;
  margin-bottom:24px;
}
.pillar-card h3{
  font-size:clamp(19px,1.8vw,24px);
  letter-spacing:-0.02em;
  margin-bottom:14px;
}
.pillar-card p{
  color:var(--prata);
  font-size:15px;line-height:1.7;
  margin:0;
  text-wrap:pretty;
}
@media (max-width:760px){
  .cards-4{grid-template-columns:1fr}
  .pillar-card:nth-child(1),
  .pillar-card:nth-child(2),
  .pillar-card:nth-child(3),
  .pillar-card:nth-child(4){grid-column:auto}
}

/* ===========================================================
   4B · PORTFÓLIO
   =========================================================== */
.port-block{
  border-top:1px solid var(--line);
  padding:clamp(48px,6vw,80px) 0;
}
.port-block:last-of-type{padding-bottom:0}
.port-head{
  display:flex;align-items:flex-start;gap:clamp(24px,3vw,48px);
  margin-bottom:clamp(36px,4vw,56px);
}
.port-num{
  font-family:var(--font-mono);
  font-size:clamp(13px,1.2vw,15px);
  letter-spacing:.18em;
  color:var(--ciano);
  padding-top:10px;
  flex:none;
}
.port-num::before{content:"/ "}
.port-head h3{
  font-size:clamp(28px,3.4vw,44px);
  letter-spacing:-0.03em;
  margin-bottom:14px;
}
.port-head p{
  color:var(--prata);
  font-size:16px;line-height:1.7;
  margin:0;
  max-width:62ch;
  text-wrap:pretty;
}

/* lista de serviços — linhas editoriais */
.service-list{
  list-style:none;margin:0;padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:clamp(32px,4vw,72px);
}
.service-list li{
  display:flex;align-items:flex-start;gap:18px;
  padding:22px 0;
  border-bottom:1px solid var(--line-soft);
}
.service-list .tag{
  font-family:var(--font-mono);
  font-size:10.5px;font-weight:500;
  letter-spacing:.12em;
  color:var(--ciano);
  white-space:nowrap;
  padding-top:4px;
  min-width:96px;
}
.service-list .tag::before{content:"[ "}
.service-list .tag::after{content:" ]"}
.service-list strong{
  display:block;
  font-family:var(--font-display);
  font-weight:600;
  font-size:16.5px;
  letter-spacing:-0.01em;
  margin-bottom:5px;
}
.service-list div span{
  color:var(--prata);
  font-size:14px;line-height:1.6;
  display:block;
}
@media (max-width:760px){
  .service-list{grid-template-columns:1fr}
}

/* destaque · alta performance */
.cap-featured{
  margin-top:clamp(40px,5vw,64px);
  border:1px solid var(--line);
  border-radius:3px;
  padding:clamp(28px,3.5vw,52px);
}
.featured-tag{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:10.5px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--bg);
  background:var(--ciano);
  padding:6px 12px;
  border-radius:2px;
  margin-bottom:22px;
}
.cap-copy h4{
  font-size:clamp(22px,2.4vw,30px);
  letter-spacing:-0.025em;
  margin-bottom:16px;
}
.cap-copy p{
  color:var(--prata);
  font-size:15.5px;line-height:1.7;
  margin:0 0 36px;
  max-width:72ch;
  text-wrap:pretty;
}
.cap-gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.cap-gallery figure{margin:0;overflow:hidden;border-radius:3px;border:1px solid var(--line)}
.cap-gallery img{
  width:100% !important;
  height:190px !important;
  object-fit:cover !important;
  filter:saturate(.85);
  transition:transform .6s var(--ease),filter .6s var(--ease);
}
/* foto 1: mostrar o logo na parede ao fundo (topo da imagem) */
.cap-gallery figure:first-child img{object-position:center top}
.cap-gallery figure:hover img{transform:scale(1.04);filter:saturate(1)}
@media (max-width:880px){
  .cap-gallery{grid-template-columns:1fr 1fr}
  .cap-gallery img{height:150px !important}
}

.cap-integration{
  display:flex;align-items:flex-start;gap:22px;
  margin-top:28px;
  padding:28px clamp(24px,3vw,40px);
  border:1px solid var(--line-soft);
  border-radius:3px;
}
.cap-int-icon{
  flex:none;
  width:44px;height:44px;
  display:grid;place-items:center;
  color:var(--ciano);
  border:1px solid var(--line);
  border-radius:3px;
}
.cap-integration h5{
  font-family:var(--font-display);
  font-size:17px;font-weight:600;
  letter-spacing:-0.01em;
  margin:0 0 8px;
}
.cap-integration p{
  color:var(--prata);
  font-size:14.5px;line-height:1.65;
  margin:0;
}
.cap-integration strong{color:var(--branco)}

/* plataforma NR1 */
.port-platform{
  border:1px solid var(--line-strong);
  border-radius:3px;
  padding:clamp(32px,4.5vw,64px);
  margin-top:clamp(48px,6vw,72px);
  background:linear-gradient(160deg,rgba(41,121,255,.06),rgba(41,121,255,0) 55%);
}
.platform-tag{background:var(--eletrico);color:#fff}
.platform-gallery{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:clamp(20px,3vw,40px);
  align-items:start;
}
.platform-gallery figure{margin:0}
.pg-frame{
  border:1px solid var(--line);
  border-radius:6px;
  overflow:hidden;
  background:var(--bg);
}
.pg-frame img{width:100%}
.pg-dots{
  display:flex;gap:6px;
  padding:12px 14px;
  border-bottom:1px solid var(--line-soft);
}
.pg-dots i{width:8px;height:8px;border-radius:50%;background:var(--line);display:block}
.pg-frame.phone{max-width:280px;margin:0 auto;border-radius:18px}
.platform-gallery figcaption{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  line-height:1.7;
  color:var(--mute);
  margin-top:14px;
}
.platform-gallery figcaption strong{color:var(--prata);font-weight:500}
@media (max-width:880px){
  .platform-gallery{grid-template-columns:1fr}
}

/* CTA NR1 */
.port-cta.nr1-cta{
  text-align:center;
  border-top:1px solid var(--line);
  margin-top:clamp(48px,6vw,72px);
  padding-top:clamp(56px,7vw,88px);
}
.nr1-badge{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--font-mono);
  font-size:10.5px;font-weight:500;
  letter-spacing:.22em;
  color:var(--verde);
  border:1px solid rgba(39,214,154,.3);
  border-radius:999px;
  padding:9px 18px;
  margin-bottom:32px;
}
.nr1-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--verde);
  animation:nr1NavPulse 2.4s ease-out infinite;
}
.nr1-cta h3{
  font-size:clamp(30px,4.4vw,56px);
  letter-spacing:-0.03em;
  line-height:1.08;
  margin-bottom:40px;
}
.nr1-sub{
  color:var(--mute);
  font-size:14.5px;
  margin:24px auto 0;
  max-width:52ch;
}

/* ===========================================================
   5 · CASE — inversão "papel"
   =========================================================== */
#case{
  background:var(--paper);
  color:var(--ink);
}
.case-wrap{max-width:880px}
.case-seal{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--font-mono);
  font-size:10.5px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--quente);
  border:1px solid rgba(11,21,38,.22);
  border-radius:999px;
  padding:9px 18px;
  margin-bottom:36px;
}
.seal-dot{width:6px;height:6px;border-radius:50%;background:var(--quente)}
#case h2{
  font-size:clamp(36px,5vw,64px);
  letter-spacing:-0.035em;
  color:var(--ink);
  margin-bottom:clamp(32px,4vw,48px);
  max-width:18ch;
}
.case-body p{
  color:rgba(11,21,38,.78);
  font-size:clamp(17px,1.4vw,19px);
  line-height:1.75;
  margin:0 0 22px;
  text-wrap:pretty;
}
.case-quote{
  font-family:var(--font-display);
  font-style:italic;
  font-weight:500;
  font-size:clamp(24px,3vw,36px);
  letter-spacing:-0.02em;
  line-height:1.3;
  color:var(--ink);
  border-top:1px solid rgba(11,21,38,.18);
  margin:clamp(36px,5vw,56px) 0 0;
  padding-top:clamp(32px,4vw,48px);
  text-wrap:balance;
}

/* ===========================================================
   6 · URGÊNCIA
   =========================================================== */
.urgency-wrap{max-width:800px}
.urgency-wrap .lead{margin:0 0 22px}
.urgency-punch{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(36px,5.6vw,72px);
  letter-spacing:-0.04em;
  line-height:1.04;
  margin:clamp(40px,5vw,60px) 0;
}
.urgency-punch .accent{color:var(--ciano)}
.urgency-bridge a{
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--font-mono);
  font-size:12px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--ciano);
  border-bottom:1px solid var(--line-strong);
  padding-bottom:10px;
  transition:color var(--t-fast),border-color var(--t-fast);
}
.urgency-bridge a:hover{color:#fff;border-color:#fff}
.urgency-bridge .arr{transition:transform var(--t-base)}
.urgency-bridge a:hover .arr{transform:translateY(4px)}

/* ===========================================================
   7 · CALCULADORA — overrides de harmonização
   =========================================================== */
.csst-calc{font-family:var(--font-body)}
.csst-calc .calc-head .kicker{
  font-family:var(--font-mono);
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--ciano);
}
.csst-calc .calc-head h2{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-0.03em;
  font-size:clamp(30px,4vw,52px);
}
.csst-calc .calc-head p{font-family:var(--font-body)}

/* ===========================================================
   8 · CREDIBILIDADE — números editoriais gigantes
   =========================================================== */
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-left:1px solid var(--line);
}
.stat{
  min-width:0;
  padding:clamp(8px,1.5vw,16px) clamp(18px,2.2vw,32px) clamp(20px,2vw,28px);
  border-right:1px solid var(--line);
  border-top:2px solid transparent;
  transition:border-color var(--t-base),background var(--t-base);
}
.stat:hover{border-top-color:var(--ciano);background:rgba(77,166,255,.03)}
.stat-value{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(34px,3.6vw,54px);
  letter-spacing:-0.04em;
  line-height:.96;
  color:var(--branco);
  margin-bottom:20px;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.stat-value .plus{color:var(--ciano);font-weight:500;margin-left:1px}
.stat-label{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-mono);
  font-size:10.5px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--ciano);
  margin-bottom:10px;
}
.stat-label::before{
  content:"";flex:none;
  width:5px;height:5px;border-radius:50%;
  background:currentColor;
}
.stat-text{
  color:var(--mute);
  font-size:14px;line-height:1.6;
  text-wrap:pretty;
}
@media (max-width:880px){
  .stats-grid{grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
  .stat{padding:28px 24px}
}
@media (max-width:520px){
  .stats-grid{grid-template-columns:1fr}
}

/* ===========================================================
   9 · CONVERSÃO FINAL
   =========================================================== */
.conv-grid{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:clamp(48px,6vw,96px);
  align-items:start;
}
.conv-copy .kicker{margin-bottom:26px}
.conv-copy h2{
  font-size:clamp(32px,4vw,54px);
  letter-spacing:-0.03em;
  margin-bottom:28px;
}
.conv-copy p{
  color:var(--prata);
  font-size:16.5px;line-height:1.75;
  margin:0 0 18px;
  text-wrap:pretty;
}
.conv-copy .closer{
  font-family:var(--font-display);
  font-style:italic;
  font-weight:500;
  font-size:clamp(20px,2vw,26px);
  letter-spacing:-0.02em;
  color:var(--branco);
  margin-top:32px;
}

.form-card{
  border:1px solid var(--line);
  border-radius:3px;
  background:rgba(233,238,246,.02);
  position:relative;
}
.form-inner{padding:clamp(28px,3.5vw,48px)}
.form-inner h3{
  display:flex;align-items:center;gap:12px;
  font-size:19px;
  letter-spacing:-0.01em;
  margin-bottom:32px;
}
.form-inner h3 .dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--ciano);
  flex:none;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px 24px;
}
.form-field{display:flex;flex-direction:column}
.form-field.full,.lgpd.full,.form-submit.full{grid-column:1 / -1}
.form-field label{
  font-family:var(--font-mono);
  font-size:10.5px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--prata);
  margin-bottom:10px;
}
.form-field .req{color:var(--ciano)}
.form-field input,
.form-field textarea{
  font-family:var(--font-body);
  font-size:15.5px;
  color:var(--branco);
  background:transparent;
  border:none;
  border-bottom:1px solid var(--line);
  border-radius:0;
  padding:10px 2px 12px;
  outline:none;
  transition:border-color var(--t-base);
}
.form-field textarea{min-height:84px;resize:vertical;line-height:1.6}
.form-field input::placeholder,
.form-field textarea::placeholder{color:var(--mute)}
.form-field input:focus,
.form-field textarea:focus{border-bottom-color:var(--ciano)}
.form-field.error input,
.form-field.error textarea{border-bottom-color:#FF6B6B}
.err-msg{
  display:none;
  font-size:12px;color:#FF6B6B;
  margin-top:8px;
}
.form-field.error .err-msg{display:block}

.lgpd{
  display:flex;align-items:flex-start;gap:12px;
  font-size:13px;color:var(--mute);
  line-height:1.6;
  cursor:pointer;
}
.lgpd input{margin-top:3px;accent-color:var(--eletrico)}
.lgpd.error span{color:#FF6B6B}

.form-submit{justify-content:center}

.subtext-form{
  display:flex;align-items:center;gap:10px;
  font-size:13px;color:var(--mute);
  margin:24px 0 0;
}
.subtext-form svg{color:var(--verde);flex:none}

.wpp-link{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-size:14px;color:var(--prata);
  border-top:1px solid var(--line-soft);
  margin-top:24px;
  padding-top:22px;
  transition:color var(--t-fast);
}
.wpp-link:hover{color:#fff}

.form-success{
  display:none;
  text-align:center;
  padding:clamp(48px,6vw,72px) clamp(28px,4vw,48px);
}
.form-success.visible{display:block}
.form-success .check{
  width:64px;height:64px;
  display:grid;place-items:center;
  margin:0 auto 24px;
  color:var(--verde);
  border:1px solid rgba(39,214,154,.4);
  border-radius:50%;
}
.form-success h4{font-size:24px;margin-bottom:12px}
.form-success p{color:var(--prata);font-size:15px;max-width:40ch;margin:0 auto 28px}

@media (max-width:1024px){
  .conv-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .form-grid{grid-template-columns:1fr}
}
