/* ---- tipografia hospedada no próprio domínio (sem CDN externo) ---- */
@font-face{
  font-family:"Archivo";font-style:normal;font-display:swap;
  font-weight:100 900;font-stretch:62% 125%;
  src:url("fonts/archivo-var.woff2") format("woff2-variations");
}
@font-face{
  font-family:"Public Sans";font-style:normal;font-display:swap;font-weight:100 900;
  src:url("fonts/public-sans-var.woff2") format("woff2-variations");
}
@font-face{
  font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:400;
  src:url("fonts/plex-mono-400.woff2") format("woff2");
}
@font-face{
  font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:500;
  src:url("fonts/plex-mono-500.woff2") format("woff2");
}
/* ============================================================
   PE Engenharia & BIM — folha de estilo única
   Paleta e tipografia derivadas da identidade original.
   ============================================================ */

:root{
  /* --- cores originais do cliente --- */
  --void:#04070f;
  --ink:#060c1a;
  --panel:#0a1128;
  --panel-2:#0d1533;
  --blue:#2563eb;
  --blue-lit:#3b74ff;
  --blue-soft:#60a5fa;
  --indigo:#818cf8;
  --live:#22d3ee;
  --wa:#25d366;

  --paper:#f2f5fa;
  --paper-2:#ffffff;
  --paper-line:#dde5f0;

  --txt:#eef3fb;
  --txt-dim:#9fb0c9;
  --txt-mute:#6d7f9a;
  --txt-dark:#0c1526;
  --txt-dark-dim:#4a5a72;

  --line:rgba(96,165,250,.18);
  --line-strong:rgba(96,165,250,.34);

  /* --- tipografia --- */
  --display:"Archivo","Archivo Expanded",system-ui,sans-serif;
  --body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  /* --- métrica --- */
  --gutter:clamp(20px,5vw,64px);
  --maxw:1240px;
  --pad-y:clamp(72px,10vw,132px);
  --r:14px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  background:var(--ink);
  color:var(--txt);
  font-family:var(--body);
  font-size:clamp(15.5px,.44vw + 14.2px,17px);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img,video{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}

:focus-visible{
  outline:2px solid var(--live);
  outline-offset:3px;
  border-radius:4px;
}

.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- tipografia base ---------- */
h1,h2,h3,h4{
  font-family:var(--display);
  font-variation-settings:"wdth" 116;
  font-weight:800;
  line-height:1.04;
  letter-spacing:-.022em;
  margin:0;
  text-wrap:balance;
}
h1{font-size:clamp(2.25rem,5.4vw,3.6rem)}
h2{font-size:clamp(1.95rem,4.3vw,3.15rem)}
h3{font-size:clamp(1.1rem,1.5vw,1.32rem);font-weight:700;letter-spacing:-.012em;font-variation-settings:"wdth" 108}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}

.mono{
  font-family:var(--mono);
  font-size:.7rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:500;
}

/* ---------- carimbo (eyebrow em forma de selo de prancha) ---------- */
.stamp{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;
  margin-bottom:26px;
  color:var(--blue-soft);
}
.stamp__code{
  font-family:var(--mono);font-size:.68rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  padding:5px 10px;
  border:1px solid var(--line-strong);
  border-radius:5px;
  background:rgba(37,99,235,.1);
  white-space:nowrap;
}
.stamp__label{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--txt-mute);min-width:0;
}
.stamp__rule{flex:1 1 40px;min-width:24px;height:1px;background:linear-gradient(90deg,var(--line-strong),transparent)}
@media (max-width:600px){.stamp__rule{display:none}}
.stamp--dark{color:var(--blue)}
.stamp--dark .stamp__code{border-color:#c3d3ec;background:#e5edfa;color:#1d4ed8}
.stamp--dark .stamp__label{color:var(--txt-dark-dim)}
.stamp--dark .stamp__rule{background:linear-gradient(90deg,var(--paper-line),transparent)}

/* ---------- botões ---------- */
.btn{
  --btn-bg:var(--blue);
  --btn-fg:#fff;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 26px;
  border-radius:11px;
  background:var(--btn-bg);
  color:var(--btn-fg);
  font-family:var(--display);
  font-variation-settings:"wdth" 106;
  font-weight:700;
  font-size:.98rem;
  letter-spacing:-.008em;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease,border-color .18s ease;
  box-shadow:0 10px 30px -14px rgba(37,99,235,.9);
}
.btn:hover{background:var(--blue-lit);transform:translateY(-2px);box-shadow:0 16px 34px -14px rgba(37,99,235,1)}
.btn:active{transform:translateY(0)}
.btn svg{width:19px;height:19px;flex:none}

.btn--ghost{
  --btn-bg:transparent;--btn-fg:var(--txt);
  border-color:var(--line-strong);
  box-shadow:none;
  backdrop-filter:blur(6px);
}
.btn--ghost:hover{background:rgba(37,99,235,.14);border-color:var(--blue-soft);box-shadow:none}

.btn--light{--btn-bg:#0f1b35;--btn-fg:#fff;box-shadow:0 10px 30px -16px rgba(15,27,53,.8)}
.btn--light:hover{background:#16264a}

.btn--sm{padding:11px 18px;font-size:.86rem;border-radius:9px}
.btn--block{width:100%}

/* elo de texto com seta */
.tlink{
  display:inline-flex;align-items:center;gap:8px;padding-block:5px;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue-soft);text-decoration:none;font-weight:500;
  border-bottom:1px solid transparent;
  transition:color .16s ease,border-color .16s ease,gap .16s ease;
}
.tlink:hover{color:var(--live);border-color:currentColor;gap:12px}
.tlink svg{width:14px;height:14px}

/* ---------- malha técnica de fundo ---------- */
.grid-bg{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(to right,rgba(96,165,250,.045) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(96,165,250,.045) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 40%,#000 30%,transparent 100%);
}

/* ============================================================
   CABEÇALHO
   ============================================================ */
.hdr{
  position:fixed;inset:0 0 auto 0;z-index:90;
  transition:background .3s ease,box-shadow .3s ease,padding .3s ease,border-color .3s ease;
  padding-block:10px;
  border-bottom:1px solid transparent;
}
.hdr.is-stuck{
  background:rgba(6,12,26,.9);
  backdrop-filter:blur(16px) saturate(140%);
  border-bottom-color:var(--line);
  padding-block:7px;
}
.hdr__in{display:flex;align-items:center;gap:22px}
.hdr__logo{display:flex;align-items:center;flex:none;text-decoration:none}
.hdr__logo img{height:clamp(58px,6.6vw,92px);width:auto;transition:height .3s ease}
.hdr.is-stuck .hdr__logo img{height:clamp(48px,5.2vw,70px)}

.hdr__nav{display:none;margin-inline:auto;gap:clamp(14px,1.9vw,30px)}
.hdr__nav a{
  font-size:.94rem;font-weight:500;color:var(--txt-dim);text-decoration:none;
  padding:6px 0;position:relative;white-space:nowrap;
  transition:color .16s ease;
}
.hdr__nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;
  background:var(--live);transition:right .22s ease;
}
.hdr__nav a:hover{color:#fff}
.hdr__nav a:hover::after{right:0}

.hdr__cta{display:none;flex:none}

.burger{
  margin-left:auto;flex:none;
  width:46px;height:46px;display:grid;place-items:center;
  background:rgba(10,17,40,.72);border:1px solid var(--line-strong);border-radius:11px;
  cursor:pointer;color:#fff;
}
.burger svg{width:22px;height:22px}

@media (min-width:1160px){
  .hdr__nav{display:flex}
  .hdr__cta{display:inline-flex}
  .burger{display:none}
}

/* menu mobile */
.sheet{
  position:fixed;inset:0;z-index:95;
  background:var(--ink);
  transform:translateX(100%);
  transition:transform .34s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
  padding:22px var(--gutter) calc(28px + env(safe-area-inset-bottom));
  overflow-y:auto;
}
.sheet.is-open{transform:translateX(0)}
.sheet__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}
.sheet__top img{height:64px;width:auto}
.sheet__close{
  width:46px;height:46px;display:grid;place-items:center;
  background:transparent;border:1px solid var(--line-strong);border-radius:11px;cursor:pointer;color:#fff;
}
.sheet__close svg{width:22px;height:22px}
.sheet__nav{display:flex;flex-direction:column}
.sheet__nav a{
  display:flex;align-items:baseline;gap:14px;
  padding:17px 0;border-bottom:1px solid var(--line);
  text-decoration:none;
  font-family:var(--display);font-variation-settings:"wdth" 110;font-weight:700;
  font-size:1.32rem;color:var(--txt);
}
.sheet__nav a span{font-family:var(--mono);font-size:.66rem;color:var(--blue-soft);letter-spacing:.14em}
.sheet__foot{margin-top:auto;padding-top:30px;display:grid;gap:12px}
.sheet__meta{font-family:var(--mono);font-size:.68rem;letter-spacing:.13em;color:var(--txt-mute);text-transform:uppercase}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;overflow:hidden;background:var(--ink);isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero__media video,.hero__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) brightness(.94)}
/* véu neutro: escurece para o texto ler, sem tingir o vídeo */
.hero__media::after{
  content:"";position:absolute;inset:0;
  background:rgba(6,12,26,.26);
}
.hero__scrim{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(103deg,rgba(6,12,26,.9) 0%,rgba(6,12,26,.7) 30%,rgba(6,12,26,.34) 60%,rgba(6,12,26,.2) 100%),
    linear-gradient(to top,var(--ink) 0%,rgba(6,12,26,.3) 20%,transparent 46%);
}
.hero__in{
  padding-top:clamp(146px,19vw,214px);
  padding-bottom:clamp(64px,9vw,104px);
  display:grid;gap:clamp(38px,5vw,62px);
  align-items:center;
}
@media (min-width:1000px){
  .hero__in{grid-template-columns:minmax(0,1.28fr) minmax(346px,.72fr)}
}

.hero__kicker{
  display:inline-flex;align-items:center;gap:11px;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--blue-soft);
  border:1px solid var(--line-strong);
  background:rgba(10,17,40,.6);
  backdrop-filter:blur(8px);
  padding:7px 14px;border-radius:999px;
  margin-bottom:26px;
}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--live);position:relative;flex:none}
.pulse::after{
  content:"";position:absolute;inset:0;border-radius:50%;background:var(--live);
  animation:ping 2.2s cubic-bezier(0,0,.2,1) infinite;
}
@keyframes ping{75%,100%{transform:scale(2.6);opacity:0}}

.hero h1 .ln{display:block}
@media (min-width:1000px){.hero h1 .ln{white-space:nowrap}}
.hero h1 .lit{
  display:block;
  background:linear-gradient(96deg,var(--blue-soft) 0%,#a5c4ff 42%,var(--live) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero__lead{
  margin-top:24px;max-width:36em;
  font-size:clamp(1.02rem,1.15vw,1.2rem);
  color:var(--txt-dim);line-height:1.68;
}
.hero__acts{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}
.hero__acts .btn{flex:1 1 auto;min-width:220px}
@media (min-width:560px){.hero__acts .btn{flex:0 0 auto}}

.hero__facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:20px 26px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line);
}
.fact__k{
  display:flex;align-items:center;gap:8px;
  font-family:var(--display);font-variation-settings:"wdth" 108;font-weight:700;
  font-size:1.02rem;color:#fff;
}
.fact__k svg{width:17px;height:17px;color:var(--live);flex:none}
.fact__v{font-family:var(--mono);font-size:.68rem;letter-spacing:.11em;color:var(--txt-mute);text-transform:uppercase;margin-top:5px}

/* --- carimbo de entregáveis (cartão do hero) --- */
.tblock{
  background:linear-gradient(168deg,rgba(13,21,51,.95),rgba(6,12,26,.96));
  border:1px solid var(--line-strong);
  border-radius:16px;
  backdrop-filter:blur(14px);
  box-shadow:0 34px 70px -30px rgba(0,0,0,.95);
  overflow:hidden;
}
.tblock__hd{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:15px 20px;border-bottom:1px solid var(--line);
  background:rgba(37,99,235,.09);
}
.tblock__ttl{font-family:var(--display);font-variation-settings:"wdth" 106;font-weight:700;font-size:.95rem}
.tblock__tag{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--live);border:1px solid rgba(34,211,238,.42);border-radius:5px;padding:4px 8px;white-space:nowrap;
}
.tblock__body{padding:8px 20px 18px}
.tblock__row{
  display:flex;align-items:center;gap:13px;
  padding:11px 0;border-bottom:1px dashed rgba(96,165,250,.16);
}
.tblock__row:last-child{border-bottom:0}
.tblock__ext{
  font-family:var(--mono);font-size:.63rem;font-weight:500;letter-spacing:.08em;
  color:var(--blue-soft);background:rgba(37,99,235,.14);
  border:1px solid var(--line);border-radius:5px;
  padding:4px 0;width:52px;text-align:center;flex:none;
}
.tblock__what{font-size:.9rem;color:var(--txt-dim)}
.tblock__ft{
  padding:13px 20px;border-top:1px solid var(--line);
  background:rgba(4,7,15,.6);
  font-family:var(--mono);font-size:.63rem;letter-spacing:.11em;text-transform:uppercase;color:var(--txt-mute);
  display:flex;align-items:center;gap:9px;
}
.tblock__ft svg{width:14px;height:14px;color:var(--live)}

/* ============================================================
   SEÇÕES
   ============================================================ */
.sec{position:relative;padding-block:var(--pad-y)}
.sec--dark{background:var(--ink)}
.sec--panel{background:linear-gradient(180deg,var(--ink),var(--panel) 46%,var(--ink))}
.sec--paper{background:var(--paper);color:var(--txt-dark)}
.sec--paper h2,.sec--paper h3{color:var(--txt-dark)}

.sec__head{max-width:62ch;margin-bottom:clamp(38px,5vw,58px)}
.sec__head p{margin-top:20px;color:var(--txt-dim);font-size:1.04rem}
.sec--paper .sec__head p{color:var(--txt-dark-dim)}

/* ============================================================
   ★ ASSINATURA — QUADRO DE DISTRIBUIÇÃO DE SERVIÇOS
   ============================================================ */

/* --- prumada + quadro de cargas --- */
.qg__list{
  position:relative;
  display:grid;gap:9px;
  padding-left:52px;padding-top:16px;
}
/* condutor vertical + pulso de corrente (recortado no próprio condutor) */
.qg__list::before{
  content:"";position:absolute;left:21px;top:0;bottom:34px;width:3px;border-radius:2px;
  box-shadow:0 0 20px -2px rgba(37,99,235,.7);
  background-image:
    linear-gradient(180deg,transparent 0%,rgba(34,211,238,.95) 50%,transparent 100%),
    linear-gradient(180deg,var(--blue) 0%,#4f8bff 55%,rgba(37,99,235,.35) 100%);
  background-size:100% 22%,100% 100%;
  background-repeat:no-repeat,no-repeat;
  background-position:0 -30%,0 0;
  animation:riser 5s linear infinite;
}
@keyframes riser{
  from{background-position:0 -30%,0 0}
  to{background-position:0 130%,0 0}
}

@media (max-width:560px){
  .qg__list{padding-left:34px}
  .qg__list::before{left:12px}
}

/* --- linha de circuito --- */
.qgr{position:relative}
/* derivação horizontal + terminal */
.qgr::before{
  content:"";position:absolute;left:-31px;top:50%;width:31px;height:2px;
  background:rgba(96,165,250,.55);transition:background .2s ease;
}
.qgr::after{
  content:"";position:absolute;left:-34px;top:50%;transform:translateY(-50%);
  width:7px;height:7px;border-radius:50%;background:var(--blue-soft);
  transition:background .2s ease,box-shadow .2s ease;
}
.qgr:hover::before{background:var(--live)}
.qgr:hover::after{background:var(--live);box-shadow:0 0 12px rgba(34,211,238,.9)}
@media (max-width:560px){
  .qgr::before{left:-22px;width:22px}
  .qgr::after{left:-25px}
}

.qgr__a{
  display:grid;align-items:center;
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-areas:
    "brk nm go"
    "sp sp sp";
  column-gap:14px;row-gap:7px;
  padding:16px 18px;
  background:linear-gradient(100deg,rgba(13,21,51,.88),rgba(10,17,40,.66));
  border:1px solid var(--line);border-radius:12px;
  text-decoration:none;color:inherit;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.qgr__a:hover{
  border-color:rgba(34,211,238,.5);
  background:linear-gradient(100deg,rgba(18,31,73,.95),rgba(10,17,40,.8));
  transform:translateX(4px);
}
@media (min-width:860px){
  .qgr__a{
    grid-template-columns:auto minmax(0,1fr) minmax(0,.9fr) auto;
    grid-template-areas:"brk nm sp go";
    column-gap:18px;padding:17px 20px;
  }
}

.qgr__brk{grid-area:brk;width:26px;height:26px;color:var(--blue-soft);flex:none}
.qgr__nm{
  grid-area:nm;
  font-family:var(--display);font-variation-settings:"wdth" 106;font-weight:700;
  font-size:1.03rem;line-height:1.22;letter-spacing:-.012em;
}
.qgr__sp{
  grid-area:sp;
  font-family:var(--mono);font-size:.63rem;letter-spacing:.06em;
  color:var(--txt-mute);line-height:1.55;
}
@media (min-width:860px){.qgr__sp{text-align:right}}
.qgr__go{
  grid-area:go;width:18px;height:18px;color:var(--txt-mute);flex:none;
  transition:color .2s ease,transform .2s ease;
}
.qgr__a:hover .qgr__go{color:var(--live);transform:translateX(3px)}

/* ============================================================
   ESPECIALIDADES (detalhe)
   ============================================================ */
.specs{display:grid;gap:18px}
@media (min-width:840px){.specs{grid-template-columns:repeat(2,1fr)}}

.spec{
  display:flex;flex-direction:column;
  background:var(--paper-2);
  border:1px solid var(--paper-line);
  border-radius:16px;
  padding:clamp(24px,3vw,34px);
  scroll-margin-top:96px;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.spec:hover{border-color:#b9cdea;box-shadow:0 24px 48px -34px rgba(12,21,38,.6);transform:translateY(-2px)}
.spec:target{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.14)}

.spec__hd{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.spec__brk{width:26px;height:26px;color:var(--blue);flex:none}
.spec h3{font-size:clamp(1.24rem,1.9vw,1.55rem);font-variation-settings:"wdth" 110}
.spec__lead{margin-top:14px;color:var(--txt-dark-dim);font-size:.985rem;line-height:1.68}

.spec__items{
  display:grid;gap:9px;margin-top:20px;padding-top:18px;
  border-top:1px solid var(--paper-line);
}
.spec__items li{
  display:flex;gap:11px;align-items:flex-start;
  font-size:.92rem;color:#26364f;font-weight:500;
}
.spec__items li::before{
  content:"";flex:none;width:6px;height:6px;margin-top:8px;
  border-radius:1px;background:var(--blue);transform:rotate(45deg);
}

details.more{margin-top:18px;margin-bottom:22px}
details.more>summary{
  cursor:pointer;list-style:none;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:#1d4ed8;display:inline-flex;align-items:center;gap:8px;font-weight:500;
  padding:4px 0;
}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary::after{content:"+";font-size:1rem;line-height:1}
details.more[open]>summary::after{content:"–"}
details.more>p{
  margin-top:13px;font-size:.92rem;line-height:1.72;color:var(--txt-dark-dim);
  border-left:2px solid var(--paper-line);padding-left:15px;
}

.spec__cta{margin-top:auto;padding-top:20px;border-top:1px solid var(--paper-line);display:flex}

/* último cartão ocupa a linha inteira, em duas colunas */
@media (min-width:840px){
  .specs>.spec:last-child{
    grid-column:1/-1;
    display:grid;column-gap:40px;
    grid-template-columns:1fr 1fr;
    grid-template-areas:"hd hd" "ttl ttl" "lead items" "more more" "cta cta";
    align-content:start;
  }
  .specs>.spec:last-child .spec__hd{grid-area:hd}
  .specs>.spec:last-child h3{grid-area:ttl}
  .specs>.spec:last-child .spec__lead{grid-area:lead}
  .specs>.spec:last-child .spec__items{grid-area:items;border-top:0;padding-top:0;margin-top:14px}
  .specs>.spec:last-child .more{grid-area:more}
  .specs>.spec:last-child .spec__cta{grid-area:cta}
}

/* ============================================================
   BIM
   ============================================================ */
.bim{position:relative;overflow:hidden;isolation:isolate;background:var(--ink)}
.bim__media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.bim__media video,.bim__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) brightness(.94)}
.bim__media::after{
  content:"";position:absolute;inset:0;
  background:rgba(6,12,26,.26);
}
.bim__scrim{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(78deg,rgba(6,12,26,.9) 2%,rgba(6,12,26,.72) 34%,rgba(6,12,26,.3) 100%),
    linear-gradient(to bottom,var(--ink),rgba(6,12,26,.25) 16%,rgba(6,12,26,.25) 82%,var(--ink));
}
.bim__grid{display:grid;gap:clamp(34px,4vw,54px)}
@media (min-width:960px){.bim__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}}

.bim__cards{display:grid;gap:14px}
@media (min-width:600px){.bim__cards{grid-template-columns:repeat(2,1fr)}}
.bimc{
  padding:22px;border-radius:14px;
  background:rgba(10,17,40,.82);
  border:1px solid var(--line);
  backdrop-filter:blur(10px);
  transition:border-color .2s ease,transform .2s ease;
}
.bimc:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.bimc svg{width:24px;height:24px;color:var(--blue-soft);margin-bottom:14px}
.bimc h3{font-size:1.02rem;margin-bottom:8px}
.bimc p{font-size:.89rem;color:var(--txt-dim);line-height:1.62}

.lod{
  display:inline-flex;align-items:center;gap:12px;margin-top:26px;
  padding:11px 17px;border-radius:11px;
  background:rgba(4,7,15,.8);border:1px solid var(--line-strong);
  font-family:var(--mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:#fff;
}
.lod i{width:9px;height:9px;border-radius:50%;background:#4ade80;box-shadow:0 0 12px rgba(74,222,128,.8);animation:blink 2.4s ease-in-out infinite;font-style:normal}
@keyframes blink{50%{opacity:.35}}

/* ============================================================
   ENGENHEIRO
   ============================================================ */
.eng{background:linear-gradient(180deg,var(--ink),var(--panel) 60%,var(--ink))}
.eng__grid{display:grid;gap:clamp(34px,5vw,58px)}
@media (min-width:900px){.eng__grid{grid-template-columns:minmax(260px,.68fr) minmax(0,1fr);align-items:start}}

.eng__photo{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line-strong);max-width:420px}
.eng__photo img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;filter:saturate(.92) contrast(1.04)}
.eng__photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(6,12,26,.86),transparent 46%);
}
.eng__cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px 20px;
  font-family:var(--mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-soft);
}
.eng__role{color:var(--blue-soft);font-family:var(--display);font-variation-settings:"wdth" 108;font-weight:700;font-size:clamp(1.05rem,1.6vw,1.3rem);margin-top:10px}
.eng__bio{display:grid;gap:16px;margin-top:24px;color:var(--txt-dim);font-size:1rem;line-height:1.72}
.eng__bio strong{color:#fff;font-weight:600}
.eng__bio em{font-style:normal;color:var(--live)}

.creds{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:18px;
  margin-top:32px;padding-top:26px;border-top:1px solid var(--line);
}
.cred svg{width:19px;height:19px;color:var(--blue-soft);margin-bottom:10px}
.cred b{display:block;font-size:.9rem;font-weight:600;color:#fff}
.cred span{display:block;font-family:var(--mono);font-size:.63rem;letter-spacing:.09em;color:var(--txt-mute);margin-top:4px;text-transform:uppercase}

/* ============================================================
   PROCESSO
   ============================================================ */
.steps{display:grid;gap:16px;counter-reset:st}
@media (min-width:680px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1060px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{
  position:relative;padding:26px 22px 24px;
  background:var(--paper-2);border:1px solid var(--paper-line);border-radius:15px;
}
.step__n{
  font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.14em;
  color:#1d4ed8;display:block;margin-bottom:16px;
}
.step svg{width:24px;height:24px;color:var(--blue);margin-bottom:14px}
.step h3{font-size:1.06rem;margin-bottom:9px}
.step p{font-size:.9rem;color:var(--txt-dark-dim);line-height:1.65}
.step::after{
  content:"";position:absolute;top:0;left:0;width:44px;height:3px;
  background:linear-gradient(90deg,var(--blue),transparent);border-radius:15px 0 0 0;
}

/* ============================================================
   FORMATOS DE CONTRATAÇÃO
   ============================================================ */
.plans{display:grid;gap:18px;align-items:stretch}
@media (min-width:820px){.plans{grid-template-columns:repeat(2,1fr)}}

.plan{
  display:flex;flex-direction:column;
  padding:clamp(26px,3vw,34px);
  border-radius:17px;
  background:linear-gradient(165deg,rgba(13,21,51,.86),rgba(10,17,40,.7));
  border:1px solid var(--line);
  transition:border-color .2s ease,transform .2s ease;
}
.plan:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.plan--lead{
  background:linear-gradient(165deg,rgba(20,36,84,.95),rgba(10,17,40,.9));
  border-color:rgba(96,165,250,.5);
  box-shadow:0 30px 70px -40px rgba(37,99,235,1);
}
.plan__id{
  font-family:var(--mono);font-size:.65rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--blue-soft);margin-bottom:14px;display:flex;align-items:center;gap:9px;
}
.plan--lead .plan__id{color:var(--live)}
.plan h3{font-size:clamp(1.28rem,2vw,1.6rem);font-variation-settings:"wdth" 112}
.plan__for{margin-top:11px;font-size:.93rem;color:var(--txt-dim);line-height:1.62}
.plan__list{display:grid;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.plan__list li{display:flex;gap:11px;align-items:flex-start;font-size:.92rem;color:var(--txt-dim)}
.plan__list svg{width:16px;height:16px;color:var(--live);flex:none;margin-top:4px}
.plan__price{
  margin-top:auto;padding-top:18px;border-top:1px dashed var(--line);
  font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;color:var(--txt-mute);text-transform:uppercase;line-height:1.7;
}
.plan__cta{margin-top:20px;display:flex}

/* ============================================================
   REFERÊNCIAS
   ============================================================ */
.refs{display:grid;gap:16px}
@media (min-width:700px){.refs{grid-template-columns:repeat(2,1fr)}}
.ref{
  display:flex;flex-direction:column;gap:14px;
  padding:26px 24px;border-radius:15px;
  background:rgba(10,17,40,.7);border:1px solid var(--line);
  transition:border-color .2s ease,transform .2s ease;
}
.ref:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.ref__cat{
  font-family:var(--mono);font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--live);
}
.ref h3{font-size:1.15rem}
.ref__loc{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.09em;color:var(--txt-mute);
  display:flex;align-items:center;gap:8px;
}
.ref__loc svg{width:14px;height:14px;color:var(--blue-soft);flex:none}
.ref__tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:6px}
.ref__tags span{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.07em;
  padding:5px 9px;border-radius:6px;
  background:rgba(37,99,235,.13);border:1px solid var(--line);color:var(--txt-dim);
}

.badges{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;
  margin-top:34px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;
}
.badge{background:var(--ink);padding:22px 20px}
.badge b{
  display:block;font-family:var(--display);font-variation-settings:"wdth" 112;font-weight:800;
  font-size:1.28rem;color:#fff;letter-spacing:-.01em;
}
.badge span{display:block;font-family:var(--mono);font-size:.63rem;letter-spacing:.11em;color:var(--txt-mute);margin-top:7px;text-transform:uppercase;line-height:1.6}

/* ============================================================
   FAQ
   ============================================================ */
.faq{display:grid;gap:11px;max-width:60rem}
.faq details{
  background:var(--paper-2);border:1px solid var(--paper-line);border-radius:14px;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.faq details[open]{border-color:#b9cdea;box-shadow:0 18px 40px -32px rgba(12,21,38,.7)}
.faq summary{
  cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:21px clamp(20px,2.4vw,28px);
  font-family:var(--display);font-variation-settings:"wdth" 106;font-weight:700;
  font-size:clamp(1rem,1.25vw,1.12rem);color:var(--txt-dark);letter-spacing:-.012em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";flex:none;width:26px;height:26px;border-radius:50%;
  border:1px solid var(--paper-line);
  background:
    linear-gradient(var(--blue),var(--blue)) center/11px 1.6px no-repeat,
    linear-gradient(var(--blue),var(--blue)) center/1.6px 11px no-repeat;
  transition:transform .3s ease,background-color .2s ease;
}
.faq details[open] summary::after{transform:rotate(135deg)}
.faq__a{
  padding:0 clamp(20px,2.4vw,28px) 24px;
  color:var(--txt-dark-dim);font-size:.95rem;line-height:1.74;
}
.faq__a p{border-top:1px solid var(--paper-line);padding-top:18px}

/* ============================================================
   CONTATO
   ============================================================ */
.contact{position:relative;overflow:hidden;isolation:isolate;background:var(--void)}
.contact__media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.contact__media video,.contact__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) brightness(.94)}
.contact__media::after{
  content:"";position:absolute;inset:0;
  background:rgba(6,12,26,.26);
}
.contact__scrim{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(100deg,rgba(4,7,15,.9) 0%,rgba(4,7,15,.74) 34%,rgba(4,7,15,.34) 100%),
    linear-gradient(to bottom,var(--void),rgba(4,7,15,.2) 18%,rgba(4,7,15,.3) 80%,var(--void));
}
.contact__grid{display:grid;gap:clamp(34px,4.5vw,60px)}
@media (min-width:900px){.contact__grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:center}}

.contact h2{max-width:16ch}
.contact__lead{margin-top:20px;color:var(--txt-dim);font-size:1.05rem;max-width:44ch}
.contact__acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

.info{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.info__row{
  display:flex;align-items:center;gap:15px;
  background:rgba(10,17,40,.9);padding:19px 22px;
  text-decoration:none;color:inherit;
  transition:background .18s ease;
}
a.info__row:hover{background:rgba(20,36,84,.95)}
.info__ic{
  width:40px;height:40px;flex:none;border-radius:10px;display:grid;place-items:center;
  background:rgba(37,99,235,.16);border:1px solid var(--line);color:var(--blue-soft);
}
.info__ic svg{width:18px;height:18px}
.info__row>:last-child{min-width:0}
.info__k{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--txt-mute)}
.info__v{display:block;font-size:.98rem;font-weight:500;color:#fff;margin-top:3px}
.info__v small{display:block;font-size:.8rem;font-weight:400;color:var(--txt-dim);margin-top:2px}

/* ============================================================
   RODAPÉ
   ============================================================ */
.ft{background:var(--void);border-top:1px solid var(--line);padding-block:clamp(50px,6vw,72px) 30px}
.ft__grid{display:grid;gap:34px}
@media (min-width:760px){.ft__grid{grid-template-columns:1.6fr 1fr 1fr}}
.ft__logo{height:104px;width:auto;margin-bottom:20px}
.ft__about{color:var(--txt-dim);font-size:.93rem;line-height:1.68;max-width:38ch}
.ft__crea{
  display:inline-flex;align-items:center;gap:10px;margin-top:18px;
  padding:9px 14px;border-radius:9px;background:rgba(10,17,40,.9);border:1px solid var(--line);
  font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-dim);
}
.ft__crea svg{width:15px;height:15px;color:var(--blue-soft)}
.ft h4{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--txt-mute);font-weight:500;margin:0 0 16px;
}
.ft__list{display:grid;gap:11px}
.ft__list a,.ft__list span{display:inline-block;padding-block:4px;color:var(--txt-dim);text-decoration:none;font-size:.92rem;transition:color .16s ease}
.ft__list a:hover{color:var(--live)}
.ft__soc{display:flex;gap:10px}
.ft__soc a{
  width:44px;height:44px;border-radius:11px;display:grid;place-items:center;
  background:rgba(10,17,40,.9);border:1px solid var(--line);color:var(--txt-dim);
  transition:all .18s ease;
}
.ft__soc a:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateY(-2px)}
.ft__soc svg{width:19px;height:19px}
.ft__bar{
  margin-top:40px;padding-top:22px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;
  font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;color:var(--txt-mute);text-transform:uppercase;
}

/* ============================================================
   BOTÃO FLUTUANTE WHATSAPP
   ============================================================ */
.wafab{
  position:fixed;z-index:80;
  right:clamp(14px,3vw,26px);
  bottom:calc(clamp(14px,3vw,26px) + env(safe-area-inset-bottom));
  display:inline-flex;align-items:center;gap:11px;
  padding:14px 20px;border-radius:999px;
  background:var(--wa);color:#04170c;
  font-family:var(--display);font-variation-settings:"wdth" 106;font-weight:700;font-size:.94rem;
  text-decoration:none;
  box-shadow:0 16px 38px -12px rgba(37,211,102,.7);
  transition:transform .2s ease,box-shadow .2s ease;
}
.wafab:hover{transform:translateY(-3px);box-shadow:0 22px 46px -12px rgba(37,211,102,.9)}
.wafab svg{width:23px;height:23px;flex:none}
.wafab span{display:none}
@media (min-width:560px){.wafab span{display:inline}}

/* ============================================================
   REVELAÇÃO NO SCROLL
   ============================================================ */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.rv.is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .rv{opacity:1;transform:none}
  .qg__list::before{animation:none;background-position:0 -200%,0 0}
}

/* utilitário de acessibilidade */
.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--blue);color:#fff;padding:12px 20px;border-radius:0 0 10px 0;text-decoration:none;
}
.skip:focus{left:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ============================================================
   PÁGINAS INTERNAS
   ============================================================ */

/* cabeçalho de página (com ou sem vídeo de fundo) */
.phead{
  position:relative;overflow:hidden;isolation:isolate;background:var(--ink);
  padding-top:clamp(150px,19vw,218px);
  padding-bottom:clamp(54px,7vw,86px);
}
.phead__media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.phead__media video,.phead__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) brightness(.94)}
.phead__media::after{
  content:"";position:absolute;inset:0;
  background:rgba(6,12,26,.26);
}
.phead__scrim{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(102deg,rgba(6,12,26,.9) 0%,rgba(6,12,26,.72) 32%,rgba(6,12,26,.34) 100%),
    linear-gradient(to top,var(--ink) 0%,rgba(6,12,26,.3) 22%,transparent 52%);
}
.phead h1{font-size:clamp(2.05rem,4.5vw,3.25rem);max-width:20ch}
.phead__lead{
  margin-top:22px;max-width:58ch;
  color:var(--txt-dim);font-size:clamp(1rem,1.05vw,1.12rem);line-height:1.68;
}

/* primeira seção de página interna sem cabeçalho próprio */
.page-top{padding-top:calc(var(--pad-y) + clamp(72px,8vw,104px))}

/* item de menu da página atual */
.hdr__nav a[aria-current="page"]{color:#fff}
.hdr__nav a[aria-current="page"]::after{right:0;background:var(--blue-soft)}
.sheet__nav a[aria-current="page"]{color:var(--blue-soft)}
.sheet__nav a[aria-current="page"] span{color:var(--live)}

/* faixa de credenciais + chamada final (página inicial) */
.band{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:26px;
  padding:clamp(28px,3.4vw,42px) clamp(24px,3vw,44px);
  border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(120deg,rgba(16,28,66,.9),rgba(10,17,40,.72));
}
.band__txt{max-width:46ch}
.band__txt h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.band__txt p{margin-top:14px;color:var(--txt-dim);font-size:1rem}
.band__acts{display:flex;flex-wrap:wrap;gap:12px}

/* h1 promovido dentro de seções mantém a escala visual de h2 */
main .sec h1{font-size:clamp(1.95rem,4.3vw,3.15rem)}
