/* =========================================================
   NRG MIND · Estratégia e Inteligência Empresarial
   Tokens extraídos do Resumo do Sistema de Identidade
   ========================================================= */
:root{
  --petroleo:#003440;
  --dourado:#CFAE78;
  --azul:#357D96;
  --gelo:#BFD2D4;
  --noite:#00161E;
  --off:#FCFAF7;
  --nevoa:#EEF2F2;
  --cinza:#D0D9E0;
  --laranja:#C85C1A;

  --ink:#0B2A33;
  --ink-soft:#4B636C;
  --line-dark:rgba(0,52,64,.14);
  --line-light:rgba(255,255,255,.16);

  --serif:'Noto Serif', Georgia, 'Times New Roman', serif;
  --sans:'Noto Sans SC', 'Helvetica Neue', Arial, sans-serif;

  --wrap:1240px;
  --gutter:clamp(20px, 4vw, 56px);
  --nav-h:72px;
  --ease:cubic-bezier(.22,.8,.2,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--noite); color:#fff;
  font-family:var(--sans); font-weight:300; font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
button{ font:inherit; cursor:pointer; }
:focus-visible{ outline:2px solid var(--dourado); outline-offset:3px; }

.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 var(--gutter); position:relative; }

/* ---------- Tipografia ---------- */
.eyebrow{
  font-family:var(--sans); font-weight:500; font-size:12.5px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--dourado); margin:0 0 18px; display:flex; align-items:center; gap:12px;
}
.eyebrow::before{
  content:""; width:14px; height:14px; flex:none; background:currentColor;
  -webkit-mask:var(--star-mask) center/contain no-repeat; mask:var(--star-mask) center/contain no-repeat;
}
.eyebrow--dark{ color:#8A6B3A; }
:root{ --star-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2151.4 2199.17'%3E%3Cpath d='M98.51,1099.58c304.1,38.35,670.87,118.29,793.44,240.86,122.57,122.57,158.79,455.930,183.75,758.02,24.95-302.09,61.18-635.45,183.75-758.02,122.57-122.57,489.34-202.51,793.44-240.86-304.1-38.35-670.87-118.29-793.44-240.86-122.57-122.57-158.79-455.93-183.75-758.02-24.95,302.09-61.18,635.45-183.75,758.02-122.57,122.57-489.340,202.51-793.44,240.86Z'/%3E%3C/svg%3E"); }

.h2{
  font-family:var(--serif); font-weight:300; font-size:clamp(30px, 3.6vw, 52px); line-height:1.12;
  letter-spacing:-.01em; margin:0 0 22px; color:#fff;
}
.h2 strong{ font-weight:700; color:var(--dourado); }
.h2--dark{ color:var(--petroleo); }
.h2--dark strong{ color:var(--azul); }
.lead{ font-size:clamp(16px, 1.25vw, 19px); line-height:1.7; color:rgba(255,255,255,.82); max-width:56ch; margin:0 0 28px; }
.lead b{ font-weight:700; color:#fff; }
.lead em{ font-style:normal; color:var(--dourado); font-weight:500; }

/* ---------- Botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 26px; border-radius:4px; border:1px solid transparent;
  font-family:var(--sans); font-weight:500; font-size:15px; letter-spacing:.02em; text-decoration:none;
  transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.btn:hover{ transform:translateY(-2px); }
.btn-gold{ background:var(--dourado); color:var(--petroleo); }
.btn-gold:hover{ background:#DCC193; }
.btn-line{ border-color:rgba(255,255,255,.4); color:#fff; background:transparent; }
.btn-line:hover{ border-color:var(--dourado); color:var(--dourado); }
.btn-sm{ padding:10px 20px; font-size:14px; }
.btn-lg{ padding:18px 34px; font-size:16px; }

/* ---------- Estrela (camada condutora) ---------- */
.star-layer{
  position:fixed; inset:0; width:100vw; height:100vh; z-index:40; pointer-events:none; overflow:visible;
}
.star-layer path{ will-change:d; }

/* ---------- Navegação ---------- */
.nav{
  position:fixed; inset:0 0 auto 0; height:var(--nav-h); z-index:60;
  display:flex; align-items:center; gap:32px; padding:0 var(--gutter);
  background:var(--petroleo);
  border-bottom:1px solid var(--line-light);
  transform:translateY(-100%); transition:transform .5s var(--ease);
}
.nav.is-visible{ transform:none; }
.nav-logo img{ height:40px; width:auto; }
.nav-links{ display:flex; gap:28px; margin-left:auto; }
.nav-links a{
  font-size:14px; font-weight:400; text-decoration:none; color:rgba(255,255,255,.75); position:relative; padding:6px 0;
  transition:color .25s;
}
.nav-links a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--dourado);
  transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease);
}
.nav-links a:hover, .nav-links a.is-active{ color:#fff; }
.nav-links a.is-active::after, .nav-links a:hover::after{ transform:none; }
.nav-cta{ padding:10px 20px; font-size:14px; }
.nav-burger{ display:none; margin-left:auto; width:44px; height:44px; background:none; border:0; position:relative; }
.nav-burger span{ position:absolute; left:11px; right:11px; height:1.5px; background:#fff; transition:transform .3s var(--ease); }
.nav-burger span:first-child{ top:17px; } .nav-burger span:last-child{ top:26px; }
.nav-burger[aria-expanded="true"] span:first-child{ transform:translateY(4.5px) rotate(45deg); }
.nav-burger[aria-expanded="true"] span:last-child{ transform:translateY(-4.5px) rotate(-45deg); }
.mobile-menu{
  position:fixed; inset:var(--nav-h) 0 auto 0; z-index:59; background:var(--noite);
  display:flex; flex-direction:column; padding:20px var(--gutter) 32px; gap:4px; border-bottom:1px solid var(--line-light);
}
.mobile-menu[hidden]{ display:none; }
.mobile-menu a{ padding:14px 0; text-decoration:none; font-family:var(--serif); font-size:22px; border-bottom:1px solid var(--line-light); }
.mobile-menu .btn{ margin-top:18px; border:0; font-family:var(--sans); font-size:16px; }

/* ---------- Temas de seção ---------- */
.theme-night{ background:var(--noite); color:#fff; }
.theme-petrol{ background:var(--petroleo); color:#fff; }
.theme-light{ background:var(--off); color:var(--ink); }
.theme-mist{ background:var(--nevoa); color:var(--ink); }
.theme-blue{ background:var(--azul); color:#fff; }

/* ---------- Cenas (seções com palco fixo) ---------- */
.scene{ position:relative; }
.stage{
  position:sticky; top:0; height:100vh; height:100svh; overflow:hidden;
  display:flex; align-items:center;
}

/* 01 Hero */
.hero-photo{ position:absolute; inset:0 auto 0 0; width:58%; }
.hero-photo img{ width:100%; height:100%; object-fit:cover; object-position:5% 20%; }
.hero-shade{
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(0,22,30,0) 0%, rgba(0,22,30,0) 40%, rgba(0,22,30,.85) 56%, var(--noite) 62%);
}
.hero-content{ display:flex; flex-direction:column; align-items:flex-start; padding-left:max(var(--gutter), 58%); }
.hero-logo{ width:min(100%, 400px); height:auto; margin:0 0 clamp(28px, 5vh, 56px) 0; }
.hero-title{
  font-family:var(--serif); font-weight:300; font-size:clamp(30px, 3.3vw, 50px); line-height:1.14; margin:0 0 22px; letter-spacing:-.01em;
}
.hero-title .lt{ font-weight:700; color:#fff; }
.hero-title strong{ font-weight:700; color:var(--dourado); }
.hero-sub{ margin:0 0 8px; color:rgba(255,255,255,.7); font-size:15px; letter-spacing:.04em; }
.hero-words{ list-style:none; margin:0 0 34px; padding:0; display:flex; flex-wrap:wrap; gap:6px 22px; }
.hero-words li{ font-family:var(--serif); font-style:italic; font-size:clamp(20px, 1.8vw, 26px); color:var(--gelo); display:flex; align-items:center; gap:22px; }
.hero-words li + li::before{ content:""; width:6px; height:6px; background:var(--dourado); transform:rotate(45deg); }
.hero-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.scroll-cue{
  position:absolute; left:50%; bottom:28px; width:26px; height:42px; margin-left:-13px; z-index:2;
  border:1px solid rgba(255,255,255,.4); border-radius:20px;
}
.scroll-cue span{ position:absolute; left:50%; top:9px; width:3px; height:8px; margin-left:-1.5px; border-radius:2px; background:var(--dourado); animation:cue 1.8s var(--ease) infinite; }
@keyframes cue{ 0%{ opacity:0; transform:translateY(-3px);} 40%{opacity:1;} 100%{ opacity:0; transform:translateY(12px);} }

/* 02 Quem somos */
.about-photo{ position:absolute; inset:0 0 0 auto; width:62%; }
.about-photo img{ width:100%; height:100%; object-fit:cover; object-position:70% 50%; }
.about-shade{ position:absolute; inset:0; background:linear-gradient(90deg, var(--noite) 36%, rgba(0,22,30,.55) 48%, rgba(0,22,30,0) 66%); }
.about-grid{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); align-items:center; gap:40px; height:100%; }
.about-text{ max-width:520px; }
.orbit{ list-style:none; margin:0; padding:0; position:relative; height:100%; }
.orb{
  position:absolute; width:clamp(130px, 11vw, 168px); aspect-ratio:1; border-radius:50%;
  border:1px solid var(--dourado); background:rgba(0,22,30,.55); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; z-index:45;
}
.orb img{ width:46%; height:auto; margin-bottom:2px; }
.orb span{ font-family:var(--serif); font-weight:700; font-size:clamp(15px, 1.25vw, 19px); color:var(--dourado); line-height:1.1; }
.orb small{ font-size:12.5px; color:rgba(255,255,255,.75); margin-top:4px; letter-spacing:.04em; }

/* 03 Missão */
.mission{ display:flex; flex-direction:column; align-items:flex-start; padding-left:max(var(--gutter), 22%); }
.mission-title{
  font-family:var(--serif); font-weight:300; font-size:clamp(26px, 2.9vw, 44px); line-height:1.2; color:var(--petroleo);
  max-width:24ch; margin:0 0 26px;
}
.mission-title strong{ font-weight:700; color:var(--petroleo); letter-spacing:.02em; text-transform:uppercase; }
.mission-title em{ font-style:italic; color:var(--azul); }
.mission-words{ list-style:none; margin:0 0 clamp(36px, 7vh, 72px); padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.mission-words li{
  font-family:var(--sans); font-weight:500; font-size:clamp(14px, 1.1vw, 16px); letter-spacing:.08em; text-transform:uppercase;
  padding:8px 16px 8px 10px; border:1px solid var(--line-dark); border-radius:4px; color:var(--petroleo); background:#fff;
  display:flex; align-items:center; gap:10px;
}
.mission-words img{ width:28px; height:28px; transition:filter .3s; }
.chain{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, 1fr); gap:0; width:100%; max-width:860px; position:relative; }
.chain li{
  position:relative; z-index:1; padding-top:0; font-family:var(--serif); font-size:clamp(18px, 1.7vw, 26px); color:var(--petroleo);
}
.chain-ic{ width:64px; height:64px; margin:0 0 12px -6px; background:var(--off); position:relative; z-index:1; }
.chain-n{ display:block; font-family:var(--sans); font-size:12px; letter-spacing:.2em; color:#8A6B3A; margin-bottom:2px; }
.chain-line{ position:absolute; left:0; right:0; top:12px; width:100%; height:40px; overflow:visible; z-index:0; }
.chain-line line{ stroke:var(--petroleo); stroke-width:1.5; stroke-dasharray:1; stroke-dashoffset:1; vector-effect:non-scaling-stroke; }

/* 04 Pilares */
.pillars{ display:grid; grid-template-columns:minmax(0, 4fr) minmax(0, 8fr); gap:clamp(32px, 5vw, 88px); align-items:center; height:100%; padding-top:var(--nav-h); padding-bottom:64px; }
.pillars-aside .h2{ font-size:clamp(26px, 2.5vw, 38px); margin-bottom:26px; }
.method-title{ margin:0 0 18px; padding:14px 0 14px 16px; border-left:3px solid var(--dourado); font-size:14px; line-height:1.45; color:var(--ink-soft); }
.method-title span{ display:block; font-family:var(--serif); font-weight:700; font-size:clamp(19px, 1.6vw, 23px); color:var(--petroleo); margin-bottom:2px; letter-spacing:0; }
.pillar-index{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line-dark); }
.pillar-index button{
  width:100%; display:grid; grid-template-columns:40px 26px 1fr; align-items:center; gap:12px; padding:7px 0; background:none; border:0; border-bottom:1px solid var(--line-dark);
  text-align:left; font-family:var(--serif); font-size:clamp(16px, 1.3vw, 19px); color:rgba(0,52,64,.45); transition:color .35s var(--ease);
}
.pillar-index img{ width:40px; height:40px; opacity:.38; filter:grayscale(1); transition:opacity .35s, filter .35s, transform .5s var(--ease); }
.pi-n{ font-family:var(--sans); font-size:12px; letter-spacing:.15em; }
.pillar-index button.is-active{ color:var(--petroleo); font-weight:700; }
.pillar-index button.is-active img{ opacity:1; filter:none; transform:scale(1.12); }
.pillar-index button.is-active .pi-n{ color:#8A6B3A; }
.pillar-index button:hover{ color:var(--petroleo); }
.pillar-deck{ position:relative; height:min(600px, calc(100vh - var(--nav-h) - 120px)); }
.pillar{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; visibility:hidden; }
.pillar header{ display:grid; grid-template-columns:84px 1fr; gap:22px; align-items:center; padding-bottom:clamp(16px, 2.6vh, 26px); margin-bottom:clamp(8px, 1.6vh, 16px); border-bottom:1px solid var(--line-dark); }
.pillar-ic{ width:84px; height:84px; }
.pillar-n{ font-family:var(--sans); font-weight:500; font-size:12.5px; letter-spacing:.22em; color:#8A6B3A; display:block; }
.pillar h3{ font-family:var(--serif); font-weight:700; font-size:clamp(32px, 3.4vw, 50px); line-height:1.02; color:var(--petroleo); margin:4px 0 8px; letter-spacing:-.01em; }
.pillar header p{ font-size:clamp(15px, 1.15vw, 17px); color:var(--ink-soft); margin:0; max-width:52ch; line-height:1.5; }
.partner{ display:inline-block; margin-left:6px; font-size:13px; font-weight:500; color:var(--azul); text-decoration:none; border-bottom:1px solid currentColor; }
.phases{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.phase{ display:block; padding:clamp(10px, 1.8vh, 18px) 0 clamp(10px, 1.8vh, 18px) 106px; border-bottom:1px solid var(--line-dark); } /* texto alinhado ao título do pilar (ícone 84 + espaço 22) */
.phase:last-child{ border-bottom:0; }
.phase-k{ margin:0 0 2px; display:flex; align-items:center; gap:8px; font-size:12px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--azul); }
.phase-k span{ width:22px; height:22px; border-radius:4px; background:var(--petroleo); color:var(--dourado); display:grid; place-items:center; font-size:11.5px; letter-spacing:0; font-weight:700; }
.phase h4{ font-family:var(--serif); font-weight:700; font-size:clamp(18px, 1.55vw, 23px); line-height:1.2; color:var(--petroleo); margin:0 0 3px; }
.phase p:last-child{ margin:0; font-size:clamp(14px, 1.05vw, 16px); line-height:1.5; color:var(--ink-soft); }
.pillar-progress{ position:absolute; left:var(--gutter); bottom:40px; height:2px; width:50%; background:var(--line-dark); z-index:1; }
.pillar-progress span{ display:block; height:100%; width:100%; background:var(--dourado); transform:scaleX(0); transform-origin:left; }

/* ---------- Seções em fluxo ---------- */
.flow{ position:relative; min-height:100vh; min-height:100svh; padding:clamp(110px, 16vh, 170px) 0 clamp(90px, 12vh, 140px); }

/* 05 Diagnóstico */
.diag-head{ display:grid; grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:clamp(30px, 5vw, 80px); align-items:center; }
.diag-head .lead{ color:rgba(255,255,255,.88); }
.diag-ic{ width:88px; height:88px; margin:0 0 14px -8px; }
.diag-photo{ border-radius:999px 999px 18px 18px; overflow:hidden; aspect-ratio:4/5; max-height:560px; justify-self:end; width:100%; max-width:420px; }
.diag-photo img{ width:100%; height:100%; object-fit:cover; object-position:35% 50%; }
.diag-tool{ display:grid; grid-template-columns:minmax(0, 8fr) minmax(0, 4fr); gap:28px; margin-top:64px; align-items:start; }
.diag-tool[hidden]{ display:none; }
.diag-main{ background:var(--off); color:var(--ink); border-radius:18px; padding:clamp(22px, 3vw, 40px); box-shadow:0 30px 60px -30px rgba(0,22,30,.55); }
.diag-steps{ list-style:none; margin:0 0 26px; padding:0; display:flex; gap:6px; flex-wrap:wrap; }
.diag-steps button{
  border:1px solid var(--line-dark); background:#fff; color:var(--ink-soft); border-radius:4px; padding:7px 14px;
  font-size:12px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; display:flex; align-items:center; gap:8px;
  transition:all .25s var(--ease);
}
.diag-steps button .n{ min-width:18px; height:18px; border-radius:9px; background:var(--nevoa); font-size:11px; display:grid; place-items:center; letter-spacing:0; padding:0 5px; }
.diag-steps button.is-current{ background:var(--petroleo); color:#fff; border-color:var(--petroleo); }
.diag-steps button.has-sel .n{ background:var(--dourado); color:var(--petroleo); }
.diag-panel h3{ font-family:var(--serif); font-size:clamp(26px, 2.4vw, 36px); font-weight:700; color:var(--petroleo); margin:0 0 6px; }
.diag-panel .hint{ margin:0 0 22px; color:var(--ink-soft); font-size:15px; }
.chips{ display:flex; flex-wrap:wrap; gap:10px; }
.chip{ position:relative; }
.chip input{ position:absolute; opacity:0; pointer-events:none; }
.chip label{
  display:inline-flex; align-items:center; gap:9px; padding:10px 16px; border-radius:4px; cursor:pointer;
  border:1px solid var(--line-dark); background:#fff; font-size:14.5px; color:var(--ink); line-height:1.3;
  transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
}
.chip label::before{
  content:""; width:12px; height:12px; flex:none; background:var(--cinza);
  -webkit-mask:var(--star-mask) center/contain no-repeat; mask:var(--star-mask) center/contain no-repeat; transition:background .25s, transform .4s var(--ease);
}
.chip label:hover{ border-color:var(--azul); }
.chip input:checked + label{ background:var(--petroleo); border-color:var(--petroleo); color:#fff; }
.chip input:checked + label::before{ background:var(--dourado); transform:rotate(45deg) scale(1.15); }
.chip input:focus-visible + label{ outline:2px solid var(--dourado); outline-offset:2px; }
.diag-nav{ display:flex; align-items:center; justify-content:space-between; margin-top:30px; padding-top:22px; border-top:1px solid var(--line-dark); }
.diag-nav .btn-line{ color:var(--petroleo); border-color:var(--line-dark); }
.diag-nav .btn-line:hover{ border-color:var(--petroleo); color:var(--petroleo); }
.diag-nav .btn:disabled{ opacity:.35; pointer-events:none; }
.diag-pos{ font-size:13px; color:var(--ink-soft); letter-spacing:.1em; }
.diag-summary{ position:sticky; top:calc(var(--nav-h) + 64px); background:var(--petroleo); border-radius:18px; padding:28px; box-shadow:0 30px 60px -30px rgba(0,22,30,.6); }
.sum-label{ margin:0; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--dourado); }
.sum-count{ margin:6px 0 18px; color:rgba(255,255,255,.8); font-size:14px; }
.sum-count strong{ display:block; font-family:var(--serif); font-size:56px; line-height:1; color:#fff; font-weight:300; }
.diag-summary h3{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gelo); font-weight:500; margin:18px 0 10px; }
.sum-tags{ display:flex; flex-wrap:wrap; gap:6px; }
.sum-tags span, .sum-tags a{ font-size:12.5px; padding:5px 11px; border-radius:4px; border:1px solid var(--line-light); color:#fff; text-decoration:none; }
.sum-tags a{ border-color:var(--dourado); color:var(--dourado); }
.sum-tags a:hover{ background:var(--dourado); color:var(--petroleo); }
.sum-tags .sum-empty{ border:0; padding:0; color:rgba(255,255,255,.55); font-size:13px; }
.sum-actions{ display:flex; flex-direction:column; gap:10px; margin-top:26px; }
.sum-actions .btn{ width:100%; font-size:14px; }
.sum-actions .is-disabled{ opacity:.45; pointer-events:none; }

/* 06 Time */
.team-head{ max-width:760px; margin-bottom:56px; }
.team{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:18px; }
.member{ padding-top:6px; }
.member img{ width:112px; height:112px; border-radius:50%; object-fit:cover; margin-bottom:18px; border:3px solid var(--dourado); }
.member h3{ font-family:var(--serif); font-size:19px; font-weight:700; margin:0 0 4px; line-height:1.2; }
.member h3 a{ text-decoration:none; background:linear-gradient(var(--dourado), var(--dourado)) 0 100%/0 1px no-repeat; transition:background-size .4s var(--ease); }
.member h3 a:hover{ background-size:100% 1px; }
.member .role{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--dourado); margin:0 0 12px; }
.member p{ font-size:14px; line-height:1.6; color:rgba(255,255,255,.72); margin:0; }
.member p a{ color:var(--gelo); }
.creds{ margin-top:80px; }
.creds-label{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gelo); margin:0 0 16px; }
.creds-label + .marquee{ margin-bottom:40px; }

/* Marquee */
.marquee{ overflow:hidden; -webkit-mask:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee-track{ display:flex; gap:14px; width:max-content; will-change:transform; }
.marquee-track img, .marquee-track a{ flex:none; }
.marquee-track img{
  height:84px; width:auto; max-width:210px; object-fit:contain; background:#fff; border-radius:12px; padding:14px 22px;
  filter:grayscale(1); opacity:.82; transition:filter .4s, opacity .4s;
}
.marquee-track a{ display:block; }
.marquee-track img:hover, .marquee-track a:hover img{ filter:none; opacity:1; }

/* 07 Clientes */
.clients{ display:flex; flex-direction:column; justify-content:center; height:100%; padding-top:var(--nav-h); padding-bottom:18vh; }
.clients .h2{ max-width:22ch; }
.client-wall{ margin-top:clamp(20px, 5vh, 52px); display:flex; flex-direction:column; gap:14px; }
.client-wall .marquee-track img{ height:96px; max-width:230px; border:1px solid var(--line-dark); }

/* 08 Contato */
.cta-photo{ position:absolute; inset:0 auto 0 0; width:46%; }
.cta-photo img{ width:100%; height:100%; object-fit:cover; object-position:40% 40%; }
.cta{ padding-left:max(var(--gutter), 54%); display:flex; flex-direction:column; align-items:flex-start; }
.cta .h2{ max-width:18ch; }
.contacts{ list-style:none; margin:clamp(30px, 6vh, 56px) 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:20px 40px; }
.contacts li{ font-size:15px; color:rgba(255,255,255,.85); display:flex; align-items:flex-start; gap:14px; }
.contacts img{ width:44px; height:44px; flex:none; margin-top:-4px; }
.contacts span{ display:block; font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--dourado); margin-bottom:2px; }
.contacts a{ text-decoration:none; white-space:nowrap; }
.contacts a:hover{ color:var(--dourado); }

/* Rodapé */
.footer{ padding:56px 0 40px; border-top:1px solid var(--line-light); position:relative; z-index:41; }
.footer-in{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; }
.footer img{ height:52px; width:auto; }
.footer p{ margin:0; font-size:13px; color:rgba(255,255,255,.55); }

/* WhatsApp flutuante */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:60; width:56px; height:56px; border-radius:50%;
  background:var(--dourado); color:var(--petroleo); display:grid; place-items:center;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.5); transform:scale(0); transition:transform .45s var(--ease);
}
.wa-float.is-visible{ transform:scale(1); }
.wa-float svg{ width:28px; height:28px; }

/* Revelação: estado inicial definido via JS para não esconder conteúdo sem script */

/* ---------- Responsivo ---------- */
@media (max-width:1100px){
  .nav-links{ gap:20px; }
  .team{ grid-template-columns:repeat(3, minmax(0,1fr)); row-gap:34px; }
}
@media (max-width:900px){
  :root{ --nav-h:64px; --gutter:36px; }
  .nav-links, .nav-cta{ display:none; }
  .nav-burger{ display:block; }
  body{ font-size:16px; }

  /* foto inteira (mulher + homem) com reserva à direita para a estrela */
  .hero-photo{ width:100%; height:auto; aspect-ratio:1.25; inset:0 0 auto 0; }
  .hero-photo img{ object-position:0% 0%; }
  .hero-shade{ background:linear-gradient(180deg, rgba(0,22,30,0) 52vw, var(--noite) 80vw); }
  .stage{ align-items:flex-end; }
  .hero-content{ padding-left:var(--gutter); padding-bottom:max(60px, 9svh); }
  .hero-logo{ width:240px; margin-bottom:22px; }
  .scroll-cue{ display:none; }

  .about-photo{ width:100%; height:48%; inset:0 0 auto 0; }
  .about-shade{ background:linear-gradient(180deg, rgba(0,22,30,.1) 20%, rgba(0,22,30,.8) 42%, var(--noite) 52%); }
  .about-grid{ grid-template-columns:1fr; height:auto; padding-bottom:max(56px, 8svh); }
  /* resultados empilhados à esquerda; a estrela ocupa o canto inferior direito */
  .orbit{ display:flex; flex-direction:column; gap:10px; height:auto; width:min(52%, 220px); }
  .orb{ position:static; width:100%; aspect-ratio:auto; border-radius:4px; padding:10px 14px; flex-direction:row; justify-content:flex-start; gap:12px; text-align:left;
        display:grid; grid-template-columns:38px 1fr; grid-template-rows:auto auto; column-gap:12px; }
  .orb img{ width:38px; margin:0; grid-row:span 2; }
  .orb small{ margin-top:0; }

  .mission{ padding-left:var(--gutter); }
  /* cadeia em linha, como no desktop, com elementos menores */
  .mission{ padding-bottom:max(150px, 20svh); } /* reserva para a estrela do canto */
  .chain li{ font-size:13.5px; }
  .chain-ic{ width:40px; height:40px; margin:0 0 6px -4px; }
  .chain-n{ font-size:10px; }
  .chain-line{ top:2px; }
  .mission-words{ display:grid; grid-template-columns:1fr 1fr; gap:8px; width:100%; }
  .mission-words li{ font-size:12.5px; padding:8px 10px; }
  .mission-words img{ width:22px; height:22px; }

  .diag-head{ grid-template-columns:1fr; }
  .diag-photo{ display:none; }
  .diag-tool{ grid-template-columns:1fr; }
  .diag-summary{ position:relative; top:auto; }

  .team{ grid-template-columns:1fr 1fr; }

  .cta-photo{ width:100%; height:40%; inset:0 0 auto 0; }
  .cta-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,52,64,0) 40%, var(--petroleo) 100%); }
  .cta{ padding-left:var(--gutter); padding-bottom:max(48px, 7svh); }
  .contacts{ grid-template-columns:1fr 1fr; gap:14px 20px; }
  .contacts li{ font-size:14px; }
}

/* Pilares em telas estreitas ou baixas: lista empilhada, sem palco fixo */
@media (max-width:900px), (max-height:640px){
  .scene--pillars{ height:auto !important; }
  .scene--pillars .stage{ position:relative; height:auto; overflow:visible; display:block; padding:clamp(96px,14vh,140px) 0 80px; }
  .pillars{ grid-template-columns:1fr; height:auto; padding-top:0; }
  .pillar-index, .pillar-progress{ display:none; }
  .pillar-deck{ height:auto; max-width:none; display:flex; flex-direction:column; gap:56px; }
  .pillar{ position:relative; visibility:visible; inset:auto; }
  .pillar header{ grid-template-columns:64px 1fr; gap:16px; }
  .pillar-ic{ width:64px; height:64px; }
  .phase{ padding-left:80px; } /* ícone 64 + espaço 16 */
}
@media (max-width:640px){
  .team{ grid-template-columns:1fr; }
  .member{ display:grid; grid-template-columns:84px 1fr; column-gap:18px; }
  .member img{ width:84px; height:84px; grid-row:span 3; }
  .member p:last-child{ grid-column:1 / -1; margin-top:12px; }
  .marquee-track img{ height:64px; padding:10px 16px; max-width:160px; }
  .client-wall .marquee-track img{ height:72px; max-width:170px; }
  .contacts{ grid-template-columns:1fr; }
  .hero-actions .btn{ flex:1; }
}
@media (max-height:700px) and (min-width:901px){
  .hero-logo{ width:320px; margin-bottom:24px; }
  .mission-words{ margin-bottom:28px; }
}

/* Sem animação (movimento reduzido ou sem JavaScript): pilares empilhados */
.reduced .scene--pillars .stage{ position:relative; height:auto; overflow:visible; display:block; padding:120px 0 80px; }
.reduced .pillars{ grid-template-columns:1fr; height:auto; padding-top:0; }
.reduced .pillar-index, .reduced .pillar-progress{ display:none; }
.reduced .pillar-deck{ height:auto; max-width:none; display:flex; flex-direction:column; gap:56px; }
.reduced .pillar{ position:relative; visibility:visible; inset:auto; }
.reduced .nav{ transform:none; }

/* Movimento reduzido */
@media (prefers-reduced-motion:reduce){
  *, *::before, *::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* Impressão do diagnóstico */
.print-sheet{ display:none; }
@media print{
  body.printing > *:not(.print-sheet){ display:none !important; }
  body.printing{ background:#fff; color:#000; }
  body.printing .print-sheet{ display:block; font-family:var(--sans); color:#0B2A33; padding:24px; }
  .print-sheet h1{ font-family:var(--serif); color:#003440; margin:0 0 4px; }
  .print-sheet h2{ font-size:13px; letter-spacing:.15em; text-transform:uppercase; color:#357D96; margin:24px 0 8px; }
  .print-sheet ul{ margin:0; padding-left:18px; }
  .print-sheet .tags span{ display:inline-block; border:1px solid #CFAE78; border-radius:20px; padding:3px 10px; margin:0 6px 6px 0; font-size:12px; }
  .print-sheet img{ height:48px; width:auto; margin-bottom:18px; }
}

/* =========================================================
   Celular: cenas em altura natural (sem palco fixo), para que
   nenhum bloco seja espremido ou cortado em telas estreitas
   ========================================================= */
@media (max-width:900px){
  .scene .stage{ position:relative; height:auto; min-height:100vh; min-height:100svh; display:block; overflow:hidden; }

  .hero-content{ padding-top:calc(80vw - 64px); padding-bottom:64px; }
  .hero-logo{ width:min(240px, 70vw); }
  .hero-title{ font-size:clamp(26px, 8vw, 34px); }
  .hero-words li{ font-size:clamp(17px, 5.2vw, 22px); }

  .about-photo{ height:78vw; }
  .about-shade{ background:linear-gradient(180deg, rgba(0,22,30,.15) 0, rgba(0,22,30,.55) 40vw, var(--noite) 78vw); }
  .about-grid{ padding-top:calc(var(--nav-h) + 34vw); padding-bottom:72px; gap:32px; }
  .about-text .h2{ font-size:clamp(26px, 8vw, 34px); }
  .orbit{ width:100%; max-width:380px; gap:12px; }
  .orb{ display:grid; grid-template-columns:56px 1fr; grid-template-rows:auto; align-items:center; column-gap:16px; padding:16px 18px; width:100%; min-height:88px; }
  .orb img{ width:56px; height:auto; grid-row:auto; }
  .orb span{ font-size:clamp(17px, 5.2vw, 20px); line-height:1.15; display:block; }
  .orb small{ display:block; font-size:14px; margin-top:2px; line-height:1.3; }
  .orb{ grid-template-rows:auto auto; align-content:center; row-gap:2px; }
  .orb > img{ grid-column:1; grid-row:1 / span 2; align-self:center; }
  .orb > span{ grid-column:2; grid-row:1; align-self:end; }
  .orb > small{ grid-column:2; grid-row:2; align-self:start; margin-top:0; }

  .mission{ padding-top:calc(var(--nav-h) + 56px); padding-bottom:max(160px, 22svh); }
  .mission-title{ font-size:clamp(24px, 7.4vw, 32px); }
  .mission-words{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .mission-words li{ font-size:clamp(10.5px, 3.2vw, 12.5px); letter-spacing:.04em; padding:9px 8px; gap:7px; min-width:0; }
  .mission-words img{ width:20px; height:20px; flex:none; }
  .chain li{ font-size:clamp(10.5px, 3.3vw, 13.5px); }

  .clients{ height:auto; padding-top:calc(var(--nav-h) + 56px); padding-bottom:24vh; }

  .cta-photo{ height:72vw; }
  .cta{ padding-top:calc(72vw - 24px); padding-bottom:30vh; }
  .cta .h2{ font-size:clamp(26px, 8vw, 34px); }
}

/* Aviso de cookies (LGPD) */
.consent{
  position:fixed; left:var(--gutter); right:var(--gutter); bottom:22px; z-index:70; max-width:640px;
  background:var(--petroleo); color:#fff; border:1px solid rgba(207,174,120,.5); border-radius:6px;
  padding:16px 18px; display:flex; align-items:center; gap:16px; box-shadow:0 20px 40px -20px rgba(0,0,0,.6);
}
.consent[hidden]{ display:none; }
.consent p{ margin:0; font-size:14px; line-height:1.5; color:rgba(255,255,255,.85); }
.consent-actions{ display:flex; gap:8px; flex:none; }
@media (max-width:640px){
  .consent{ flex-direction:column; align-items:stretch; bottom:12px; }
  .consent-actions .btn{ flex:1; }
}
