/* Signature Cut, proposta visual V03.
   Conceito: oficina de precisão. Fundos de ferrite (carvão) e chapa (grafite) alternando com faixas de aço claro;
   ouro usado só como fio e ação; títulos em serifa de alto contraste, texto em sans industrial.
   O cilindro giratório do primeiro bloco é o único elemento de destaque. */

:root {
  --font-display: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
  --font-body: "Barlow", "Segoe UI", Arial, sans-serif;

  --carvao: #0c0d0e;
  --grafite: #15171a;
  --chapa: #1f2226;
  --aco: #dfe2e5;
  --aco-2: #c9cdd2;
  --ouro: #c9a24e;
  --ouro-claro: #e4c883;
  --osso: #f2f0ea;
  --tinta: #15171a;

  --bg: var(--carvao);
  --bg-2: var(--grafite);
  --fg: var(--osso);
  --muted: #a9adb3;
  --line: rgba(242, 240, 234, 0.16);
  --accent: var(--ouro-claro);
  --on-gold: #17130a;
  --header-bg: rgba(12, 13, 14, 0.9);
  color-scheme: light;

  --gutter: max(18px, env(safe-area-inset-left, 0px));
  --gutter-r: max(18px, env(safe-area-inset-right, 0px));
}

/* faixas de aço claro: invertem as cores de texto */
.claro {
  --bg: var(--aco);
  --fg: var(--tinta);
  --muted: #4a4f56;
  --line: rgba(21, 23, 26, 0.2);
  --accent: #7a5a10;
  background: var(--aco);
  color: var(--tinta);
  background-image: linear-gradient(180deg, #e9ebed 0%, var(--aco) 42%, #d3d6da 100%);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0; background: var(--carvao); color: var(--fg);
  font-family: var(--font-body); font-size: 1.0625rem; line-height: 1.62; overflow-x: hidden;
}
body::before {
  content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 60; background: var(--header-bg);
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
p { margin: 0 0 1rem; max-width: 62ch; }
h1, h2, h3 { margin: 0; line-height: 1.08; text-wrap: balance; }
h2 { font-family: var(--font-display); font-weight: 600; font-size: clamp(2rem, 4.2vw, 3.4rem); letter-spacing: -0.012em; }
h3 { font-family: var(--font-body); font-weight: 600; font-size: 1.25rem; letter-spacing: .005em; }

.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 8px; top: -60px; z-index: 100; background: var(--ouro); color: var(--on-gold); padding: 10px 14px; font-weight: 600; }
.skip:focus { top: 8px; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

.wrap { width: 100%; max-width: 1240px; margin-inline: auto; padding-left: var(--gutter); padding-right: var(--gutter-r); }

/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 26px;
  background: linear-gradient(180deg, var(--ouro-claro), var(--ouro) 60%, #b78d3a);
  color: var(--on-gold); font: 600 1rem/1.2 var(--font-body); letter-spacing: .01em; text-decoration: none; text-align: center;
  border: 1px solid #e9cf8f; border-radius: 1px; cursor: pointer;
  transition: filter .18s ease, transform .18s ease;
}
.btn:hover { filter: brightness(1.08); }
.btn:active { transform: translateY(1px); }
.btn-ghost { background: transparent; color: var(--fg); border-color: var(--line); }
.btn-ghost:hover { filter: none; border-color: var(--ouro-claro); color: var(--ouro-claro); }
.btn-sm { min-height: 40px; padding: 8px 18px; font-size: .95rem; }

/* ---------- Cabeçalho ---------- */
.site-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: var(--header-bg); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.header-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 66px; }
.brand { display: block; flex: none; }
.brand-mark { height: 44px; width: auto; background: #fff; padding: 3px 6px; border-radius: 2px; }
.nav { display: flex; align-items: center; gap: 4px 26px; }
.nav a:not(.btn) { text-decoration: none; font-weight: 500; font-size: .98rem; padding: 8px 0; border-bottom: 1px solid transparent; transition: border-color .2s ease, color .2s ease; }
.nav a:not(.btn):hover { border-bottom-color: var(--ouro); color: var(--ouro-claro); }
.nav-toggle { display: none; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; background: transparent; color: var(--fg); border: 1px solid var(--line); border-radius: 1px; font: 600 .95rem var(--font-body); cursor: pointer; }
.nav-toggle-bar, .nav-toggle-bar::before, .nav-toggle-bar::after { display: block; width: 18px; height: 2px; background: currentColor; content: ""; position: relative; }
.nav-toggle-bar::before { position: absolute; top: -6px; }
.nav-toggle-bar::after { position: absolute; top: 6px; }
@media (max-width: 980px) {
  .nav-toggle { display: inline-flex; }
  .nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 0; background: var(--carvao); border-bottom: 1px solid var(--line); padding: 8px var(--gutter-r) 16px var(--gutter); }
  .site-header.nav-open .nav { display: flex; }
  .nav a:not(.btn) { padding: 14px 0; border-bottom: 1px solid var(--line); }
  .nav .btn { margin-top: 14px; }
}

/* ---------- Seções ---------- */
.section { padding-block: clamp(64px, 9vw, 120px); }
section[id] { scroll-margin-top: 72px; }
.section-alt { background: var(--grafite); }
.band { background: #08090a; color: var(--osso); }
.band p, .band .lead { color: var(--osso); }
.lead { font-size: 1.2rem; line-height: 1.58; max-width: 60ch; }
.lead.strong { font-weight: 600; color: var(--accent); }
.head-block { display: grid; gap: 24px; margin-bottom: clamp(36px, 5vw, 64px); max-width: 880px; }
.head-block p { margin: 0; }
.note { color: var(--muted); font-size: .95rem; margin: 30px 0 0; }

/* ---------- 01 Empresa ---------- */
.hero { position: relative; padding-top: clamp(40px, 7vw, 96px); background: radial-gradient(120% 90% at 78% 40%, #1b1e22 0%, var(--carvao) 62%); overflow: hidden; }
.hero-grid { position: relative; z-index: 2; min-height: clamp(520px, 78vh, 760px); display: flex; align-items: center; padding-bottom: clamp(40px, 6vw, 72px); }
.hero-copy { max-width: min(44%, 540px); min-width: 0; }
.hero-title { display: grid; gap: 22px; }
.hero-brand { font-size: .9rem; font-weight: 600; letter-spacing: .12em; color: var(--ouro-claro); line-height: 1.4; }
.hero-claim { font-family: var(--font-display); font-size: clamp(2.7rem, 5.6vw, 5.2rem); font-weight: 600; line-height: 1.0; letter-spacing: -0.02em; }
.hero-sub { margin: 28px 0 14px; font-size: 1.28rem; font-weight: 500; line-height: 1.45; }
.hero-lead { color: var(--muted); }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

.hero-visual { position: absolute; z-index: 1; top: 0; bottom: 0; right: 0; left: 44%; pointer-events: none; }
.hero-visual canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: none; }
.hero-reserva { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: 60% 50%; display: block; }
.hero-visual.com-webgl canvas { display: block; }
.hero-visual.com-webgl .hero-reserva { display: none; }
@media (prefers-reduced-motion: reduce) { .hero-visual.com-webgl .hero-reserva { display: none; } }

.ruler { position: relative; z-index: 2; height: 22px; border-top: 1px solid var(--line);
  background:
    repeating-linear-gradient(90deg, rgba(201,162,78,.9) 0 1px, transparent 1px 120px),
    repeating-linear-gradient(90deg, rgba(201,162,78,.4) 0 1px, transparent 1px 12px);
  background-size: 120px 22px, 12px 9px; background-repeat: repeat-x, repeat-x; background-position: 0 0, 0 0; }

.marca { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: clamp(16px, 4vw, 48px); padding-block: clamp(36px, 6vw, 72px); }
.marca-fio { flex: 1 1 0; height: 1px; background: linear-gradient(90deg, transparent, var(--ouro) 70%); }
.marca-fio:last-child { background: linear-gradient(270deg, transparent, var(--ouro) 70%); }
.logo-main { flex: 0 1 560px; width: min(560px, 62vw); height: auto; background: #fff; padding: clamp(10px, 1.6vw, 20px); border: 1px solid #e9cf8f; box-shadow: 0 0 0 6px rgba(201,162,78,.12), 0 30px 60px rgba(0,0,0,.5); }

@media (max-width: 860px) {
  .hero-grid { display: block; min-height: 0; padding-bottom: 0; }
  .hero-visual { position: relative; left: 0; height: min(78vw, 420px); margin-bottom: 8px; }
  .hero-copy { max-width: 640px; padding-bottom: 36px; }
}

/* ---------- 02 Manifesto ---------- */
.manifesto-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(32px, 6vw, 96px); align-items: end; }
.statement { font-size: clamp(2.1rem, 4.6vw, 3.8rem); max-width: 16ch; }
.manifesto-side { border-top: 1px solid var(--ouro); padding-top: 22px; }
.concept { font-family: var(--font-display); font-size: 1.7rem; font-weight: 500; font-style: italic; line-height: 1.2; margin-bottom: 14px; }
.manifesto-side p:last-child { color: var(--muted); }
@media (max-width: 820px) { .manifesto-grid { grid-template-columns: minmax(0, 1fr); } .statement { max-width: none; } }

/* ---------- 03 Engenharia ---------- */
.eng-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.eng-intro { display: grid; gap: 24px; }
.eng-intro p { margin: 0; color: var(--muted); }
.eng-intro .lead { color: var(--tinta); }
.eng-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.eng-list li { padding: 26px 0; border-bottom: 1px solid var(--line); display: grid; gap: 6px; }
.eng-list h3 { font-family: var(--font-display); font-size: 1.6rem; font-weight: 600; }
.eng-list p { margin: 0; color: var(--muted); }
@media (max-width: 860px) { .eng-grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- 04 Cadeia: o fio dourado se traça uma vez ao entrar na tela ---------- */
.flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 clamp(14px, 2vw, 28px); position: relative; counter-reset: etapa; }
.flow::before { content: ""; position: absolute; left: 0; right: 0; top: 23px; height: 1px; background: var(--ouro); transform: scaleX(0); transform-origin: left; transition: transform 1.6s cubic-bezier(.2, .7, .2, 1); }
.flow.visto::before { transform: scaleX(1); }
.flow li { position: relative; padding-top: 0; }
.flow-n { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 20px; background: var(--grafite); border: 1px solid var(--ouro); color: var(--ouro-claro); font: 600 1.15rem var(--font-display); position: relative; z-index: 1; }
.flow h3 { font-size: 1.12rem; margin-bottom: 8px; }
.flow p { margin: 0; color: var(--muted); font-size: .98rem; }
@media (max-width: 900px) {
  .flow { grid-template-columns: minmax(0, 1fr); gap: 0; padding-left: 28px; }
  .flow::before { left: 22px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; transform: scaleY(0); transform-origin: top; }
  .flow.visto::before { transform: scaleY(1); }
  .flow li { padding: 0 0 30px 40px; }
  .flow-n { position: absolute; left: -23px; top: 0; margin: 0; }
}

/* ---------- 05 Segurança de abastecimento ---------- */
.abast-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.abast-grid .lead { margin-top: 22px; }
.pull { margin: 32px 0 0; padding: 22px 0 0 0; border-top: 1px solid var(--ouro); }
.pull p { font-family: var(--font-display); font-style: italic; font-weight: 500; font-size: 1.55rem; line-height: 1.32; max-width: 30ch; margin: 0; }
.diagram { margin: 0; }
.diagram svg { width: 100%; height: auto; display: block; }
.dg-label { fill: #a9adb3; font: 500 13px var(--font-body); }
.dg-text { fill: #f2f0ea; font: 600 15px var(--font-body); }
.dg-small { fill: #a9adb3; font: 500 12px var(--font-body); }
.dg-box { fill: #15171a; stroke: rgba(242,240,234,.3); stroke-width: 1; }
.dg-box-gold { stroke: var(--ouro); stroke-width: 1.5; }
.dg-line { fill: none; stroke: #c9cdd2; stroke-width: 1.5; }
.dg-line-gold { stroke: var(--ouro); }
.dg-line-weak { stroke-dasharray: 5 5; stroke: #8b8f95; }
@media (max-width: 860px) { .abast-grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- 06 Desempenho ---------- */
.claro .lead.strong { color: #6b4e0c; }
.cost { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px 8px; margin-bottom: 44px; }
.cost-term { display: inline-flex; align-items: center; padding: 14px 20px; border: 1px solid var(--line); background: rgba(255,255,255,.45); font-weight: 600; }
.cost-op { display: inline-flex; align-items: center; color: #7a5a10; font: 500 1.6rem var(--font-display); }
.cost-result { display: inline-flex; align-items: center; padding: 14px 24px; background: var(--tinta); color: var(--ouro-claro); font: 600 1.35rem var(--font-display); }
.two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px clamp(28px, 6vw, 80px); max-width: 980px; }
.two-col p { color: var(--muted); }
@media (max-width: 760px) { .two-col { grid-template-columns: minmax(0, 1fr); } .cost-result { font-size: 1.15rem; } }

/* ---------- 07 Soluções ---------- */
.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); }
.product { display: grid; gap: 12px; align-content: start; border-top: 1px solid var(--ouro); padding-top: 22px; }
.product h3 { font-family: var(--font-display); font-size: 1.55rem; font-weight: 600; }
.product p { margin: 0; color: var(--muted); }
.ph { aspect-ratio: 4 / 3; display: grid; place-items: center; color: #8b8f95; font-size: .95rem; margin-bottom: 8px;
  background: linear-gradient(160deg, #2b2f34, #1a1c1f 55%, #272a2f);
  clip-path: polygon(7% 0, 93% 0, 100% 9%, 100% 91%, 93% 100%, 7% 100%, 0 91%, 0 9%); }
@media (max-width: 860px) { .products { grid-template-columns: minmax(0, 1fr); } }

/* ---------- 08 Contato ---------- */
.contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.contact-info h2 { margin-bottom: 36px; }
.contact-list { margin: 0; display: grid; gap: 18px; }
.contact-list dt { color: var(--muted); font-size: .92rem; margin-bottom: 4px; }
.contact-list dd { margin: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 1.1rem; }
.contact-list a { text-decoration-color: var(--ouro); text-underline-offset: 4px; }
.copy { min-height: 36px; padding: 4px 12px; background: transparent; color: var(--fg); border: 1px solid var(--line); border-radius: 1px; font: 500 .9rem var(--font-body); cursor: pointer; }
.copy:hover { border-color: var(--ouro); }
.form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: clamp(22px, 3vw, 38px); background: var(--chapa); border: 1px solid var(--line); border-top: 2px solid var(--ouro); }
.field { display: grid; gap: 8px; }
.field-wide { grid-column: 1 / -1; }
.field label { font-weight: 600; font-size: .95rem; }
.form input, .form textarea { width: 100%; min-height: 48px; padding: 10px 12px; background: var(--carvao); color: var(--fg); border: 1px solid var(--line); border-radius: 1px; font: inherit; }
.form input:focus, .form textarea:focus { border-color: var(--ouro-claro); outline: none; box-shadow: 0 0 0 2px rgba(201,162,78,.35); }
.form [aria-invalid="true"] { border-color: #e0746a; }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.form-hint, .privacy { color: var(--muted); font-size: .92rem; margin: 0; }
.form-error { color: #f0968d; margin: 0; font-weight: 600; }
.result { display: grid; gap: 12px; padding-top: 8px; border-top: 1px solid var(--line); }
.result-title { font-weight: 600; margin: 0; }
.result textarea { min-height: 160px; }
.result-actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 900px) { .contact-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .form { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Rodapé ---------- */
.footer { padding-block: 64px 72px; border-top: 1px solid var(--ouro); }
.footer-grid { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: clamp(28px, 6vw, 80px); align-items: center; }
.footer-logo { width: 100%; max-width: 320px; height: auto; background: #fff; padding: 10px; }
.footer-text p { margin: 0 0 4px; }
.footer-name { font: 600 1.5rem var(--font-display); color: var(--ouro-claro); margin-bottom: 10px !important; letter-spacing: .02em; }
.footer-fine { margin-top: 14px !important; color: var(--muted) !important; font-size: .9rem; }
@media (max-width: 640px) { .footer-grid { grid-template-columns: minmax(0, 1fr); } }


/* ================= Paleta V03.2 (tema padrão: magenta suave + azul) ================= */
:root {
  --azul-rgb: 23,49,125;
  --azul: #17317d;
  --papel: #fff8fc;
  --brilho: #fff6fb;
  --rosa-3: #f7e3f0;
  --azul-2: #2447a8;
  --azul-suave: #3c4f92;
  --rosa: #f8e5f2;
  --rosa-2: #f0d8ea;
  --rosa-claro: #fcf1f8;
  --lilas: #e9ddf4;
  --gelo: #e3eafa;
  --ouro: #b98a2c;
  --ouro-claro: #8a6212;

  --bg: var(--rosa);
  --bg-2: var(--rosa-2);
  --fg: var(--azul);
  --muted: var(--azul-suave);
  --line: rgba(var(--azul-rgb), 0.22);
  --accent: var(--azul-2);
  --on-gold: #fff;
  --header-bg: color-mix(in srgb, var(--rosa) 92%, transparent);
}
body { background: var(--rosa); color: var(--azul); }
.section-alt { background: var(--lilas); }
.band { background: var(--gelo); color: var(--azul); }
.band p, .band .lead { color: var(--azul); }
.claro { --bg: var(--rosa-claro); --fg: var(--azul); --muted: var(--azul-suave); --line: rgba(var(--azul-rgb),.22); --accent: var(--azul-2);
  background: linear-gradient(180deg, var(--rosa-claro) 0%, var(--rosa-claro) 45%, var(--rosa-3) 100%); color: var(--azul); }
.claro .lead.strong, .lead.strong { color: var(--azul-2); }
.eng-intro .lead { color: var(--azul); }
.hero { background: radial-gradient(110% 90% at 76% 42%, var(--brilho) 0%, var(--rosa) 60%, var(--rosa-2) 100%); }
.hero-brand { color: var(--azul-2); }
.btn { background: linear-gradient(180deg, var(--azul-2), var(--azul)); color: #fff; border-color: var(--azul); }
.btn-ghost { background: transparent; color: var(--azul); border-color: var(--azul); }
.btn-ghost:hover { color: var(--azul-2); border-color: var(--azul-2); }
.nav a:not(.btn):hover { color: var(--azul-2); border-bottom-color: var(--azul-2); }
.nav-toggle { color: var(--azul); }
@media (max-width: 980px) { .nav { background: var(--rosa); } }
.skip { background: var(--azul); color: #fff; }
.ruler { background:
    repeating-linear-gradient(90deg, rgba(var(--azul-rgb),.55) 0 1px, transparent 1px 120px),
    repeating-linear-gradient(90deg, rgba(var(--azul-rgb),.25) 0 1px, transparent 1px 12px);
  background-size: 120px 22px, 12px 9px; background-repeat: repeat-x, repeat-x; }
.marca-fio { background: linear-gradient(90deg, transparent, var(--ouro) 70%); }
.marca-fio:last-child { background: linear-gradient(270deg, transparent, var(--ouro) 70%); }
.logo-main { border: 1px solid var(--ouro); box-shadow: 0 18px 44px rgba(var(--azul-rgb),.16); }
.brand-mark { box-shadow: 0 0 0 1px rgba(var(--azul-rgb),.15); }
.manifesto-side, .pull, .product { border-top-color: var(--ouro); }
.flow-n { background: var(--rosa-claro); color: var(--azul); border-color: var(--azul-2); }
.flow::before { background: var(--azul-2); }
.cost-term { background: rgba(255,255,255,.65); }
.cost-op { color: var(--azul-2); }
.cost-result { background: var(--azul); color: #fff; }
.ph { color: var(--azul-suave); background: linear-gradient(160deg, var(--rosa-claro), var(--rosa-2) 60%, var(--rosa)); }
.dg-label, .dg-small { fill: var(--azul-suave); }
.dg-text { fill: var(--azul); }
.dg-box { fill: var(--papel); stroke: rgba(var(--azul-rgb),.4); }
.dg-box-gold { stroke: var(--ouro); }
.dg-line { stroke: var(--azul); }
.dg-line-gold { stroke: var(--ouro); }
.dg-line-weak { stroke: var(--azul-suave); }
.form { background: var(--papel); border: 1px solid var(--line); border-top: 2px solid var(--azul-2); box-shadow: 0 14px 36px rgba(var(--azul-rgb),.10); }
.form input, .form textarea { background: #fff; color: var(--azul); border-color: rgba(var(--azul-rgb),.35); }
.form input:focus, .form textarea:focus { border-color: var(--azul-2); box-shadow: 0 0 0 2px rgba(var(--azul-rgb),.3); }
.form [aria-invalid="true"] { border-color: #b3261e; }
.form-error { color: #b3261e; }
.copy { color: var(--azul); border-color: rgba(var(--azul-rgb),.35); }
.copy:hover { border-color: var(--azul-2); }
.contact-list a { text-decoration-color: var(--ouro); }
.footer { border-top: 1px solid var(--ouro); background: var(--rosa-2); }
.footer-name { color: var(--azul); }


/* ---------- Elaboração V03.2 ---------- */
.site-header { box-shadow: 0 1px 0 var(--ouro), 0 8px 24px rgba(var(--azul-rgb), .06); }
.header-in { min-height: 78px; }
.brand-mark { height: 62px; width: auto; padding: 2px; background: #fff; border-radius: 2px; box-shadow: 0 0 0 1px rgba(var(--azul-rgb), .18); }

/* anéis técnicos atrás do cilindro (seção do cilindro) */
.hero-visual::before { content: ""; position: absolute; inset: -10% -6% -10% 6%; z-index: -1;
  background: repeating-radial-gradient(circle at 56% 52%, transparent 0 46px, rgba(var(--azul-rgb), .07) 46px 47px);
  -webkit-mask-image: radial-gradient(circle at 56% 52%, #000 0, transparent 68%); mask-image: radial-gradient(circle at 56% 52%, #000 0, transparent 68%); }
.hero::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(rgba(var(--azul-rgb), .045) 1px, transparent 1px) 0 0 / 56px 56px, linear-gradient(90deg, rgba(var(--azul-rgb), .045) 1px, transparent 1px) 0 0 / 56px 56px;
  -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); mask-image: linear-gradient(180deg, #000, transparent 85%); }
.hero-claim { text-shadow: 0 1px 0 #fff; }
.hero-brand { padding-left: 46px; position: relative; }
.hero-brand::before { content: ""; position: absolute; left: 0; top: 50%; width: 34px; height: 2px; background: var(--ouro); }
.btn { box-shadow: 0 8px 20px rgba(var(--azul-rgb), .22); clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px), 0 8px); border: 0; }
.btn-ghost { box-shadow: inset 0 0 0 1.5px var(--azul); background: transparent; }
.btn-sm { clip-path: polygon(6px 0, calc(100% - 6px) 0, 100% 6px, 100% calc(100% - 6px), calc(100% - 6px) 100%, 6px 100%, 0 calc(100% - 6px), 0 6px); }

/* faixa dos pilares (frases aprovadas do bloco 03) */
.pilares { position: relative; z-index: 2; background: var(--azul); color: #fff; }
.pilares ul { list-style: none; margin: 0 auto; padding: 18px var(--gutter); max-width: 1240px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; }
.pilares li { font-family: var(--font-display); font-size: 1.2rem; font-weight: 500; display: flex; align-items: center; gap: 14px; }
.pilares li::before { content: ""; width: 9px; height: 9px; background: var(--ouro); transform: rotate(45deg); flex: none; box-shadow: 0 0 0 3px rgba(255,255,255,.18); }
.pilares { box-shadow: inset 0 3px 0 var(--ouro); }

/* vitrine do logotipo, inteiro e sem recorte */
.marca { padding-block: clamp(44px, 7vw, 88px); }
.marca::before { content: ""; position: absolute; inset: 0 var(--gutter); z-index: -1;
  background: radial-gradient(60% 80% at 50% 50%, var(--brilho), transparent 70%); }
.logo-main { border: 0; padding: clamp(14px, 2vw, 26px); outline: 1px solid var(--ouro); outline-offset: -10px; position: relative;
  box-shadow: 0 0 0 1px rgba(var(--azul-rgb), .15), 0 0 0 10px var(--rosa-claro), 0 0 0 11px var(--ouro), 0 28px 60px rgba(var(--azul-rgb), .20); }

/* seções: numeral de bloco, ornamento e texturas */
.band, .section { position: relative; }
section[data-n]::after { content: attr(data-n); position: absolute; right: max(var(--gutter), calc((100% - 1240px) / 2 + 18px)); top: clamp(18px, 3vw, 40px);
  font: 600 clamp(4.5rem, 11vw, 9.5rem)/1 var(--font-display); color: rgba(var(--azul-rgb), .07); pointer-events: none; user-select: none; }
section[data-n]::before { content: ""; position: absolute; left: 50%; top: -6px; width: 11px; height: 11px; margin-left: -6px; background: var(--ouro); transform: rotate(45deg); z-index: 3; box-shadow: 0 0 0 5px var(--rosa); }
.band::before, .section-alt::after { }
.band { background: linear-gradient(180deg, var(--gelo), color-mix(in srgb, var(--gelo) 70%, var(--rosa))); }
.band .wrap, .section .wrap { position: relative; z-index: 1; }
.section-alt { background:
   linear-gradient(rgba(var(--azul-rgb), .035) 1px, transparent 1px) 0 0 / 48px 48px,
   linear-gradient(90deg, rgba(var(--azul-rgb), .035) 1px, transparent 1px) 0 0 / 48px 48px,
   var(--lilas); }
h2 { position: relative; }
.head-block h2::after, .eng-intro h2::after, .statement::after { content: ""; display: block; width: 84px; height: 3px; margin-top: 22px; background: linear-gradient(90deg, var(--ouro), transparent); }
.manifesto-side { background: var(--papel); border: 0; padding: 30px 30px 26px; position: relative; box-shadow: 0 18px 44px rgba(var(--azul-rgb), .10);
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px)); border-left: 4px solid var(--ouro); }

/* engenharia: cartões chanfrados */
.eng-list { border: 0; display: grid; gap: 16px; }
.eng-list li { background: var(--papel); border: 1px solid var(--line); border-left: 4px solid var(--ouro); padding: 24px 28px;
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%); box-shadow: 0 10px 28px rgba(var(--azul-rgb), .08); }
.eng-list h3::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 12px; background: var(--ouro); transform: rotate(45deg); vertical-align: middle; position: relative; top: -2px; }

/* cadeia */
.flow-n { background: var(--azul); color: #fff; border-color: var(--azul); clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px), 0 8px); }
.flow::before { background: linear-gradient(90deg, var(--ouro), var(--azul-2)); height: 2px; }
.flow li { background: color-mix(in srgb, var(--papel) 70%, transparent); padding: 0 16px 20px 0; }

/* abastecimento */
.diagram { background: var(--papel); padding: 26px 26px 18px; border: 1px solid var(--line); box-shadow: 0 18px 44px rgba(var(--azul-rgb), .10); border-top: 3px solid var(--ouro); }

/* desempenho */
.cost-term { background: var(--papel); box-shadow: 0 6px 16px rgba(var(--azul-rgb), .08); }
.cost-result { box-shadow: 0 10px 24px rgba(var(--azul-rgb), .3); clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)); }

/* soluções */
.product { background: var(--papel); border: 1px solid var(--line); border-top: 3px solid var(--ouro); padding: 22px 22px 26px; box-shadow: 0 14px 34px rgba(var(--azul-rgb), .09); }
.ph { border: 0; position: relative; background: repeating-linear-gradient(135deg, rgba(var(--azul-rgb), .05) 0 2px, transparent 2px 14px), linear-gradient(160deg, var(--rosa-claro), var(--rosa-2)); }

/* contato e rodapé */
.contact-info h2::after { content: ""; display: block; width: 84px; height: 3px; margin-top: 22px; background: linear-gradient(90deg, var(--ouro), transparent); }
.footer { background: var(--azul); color: #fff; border-top: 4px solid var(--ouro); --muted: #c9d3f0; }
.footer p, .footer-fine { color: #e8edfb !important; }
.footer-name { color: #fff; }
.footer-logo { outline: 1px solid var(--ouro); outline-offset: -6px; padding: 14px; box-shadow: 0 0 0 1px rgba(255,255,255,.3); }
.footer-links { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 16px 0 6px; }
.footer-links a { color: #fff; text-decoration-color: var(--ouro); text-underline-offset: 5px; font-weight: 500; }

@media (max-width: 640px) { .pilares ul { flex-direction: column; } .header-in { min-height: 70px; } .brand-mark { height: 52px; } }
.btn-ghost { clip-path: none; box-shadow: none; border: 1.5px solid var(--azul); }

/* ---------- Primeira página em champagne (proposta V03.3; demais seções inalteradas) ---------- */
.site-header, #empresa {
  --azul-rgb: 11,27,77; --azul: #0b1b4d; --azul-2: #14307e; --azul-suave: #2c3f78;
  --rosa: #f4e6cc; --rosa-2: #ecd9b6; --rosa-claro: #f9efdc; --papel: #fcf6e9; --brilho: #fdf8ee;
  --ouro: #a97b1c; --muted: #2c3f78; --fg: #0b1b4d; --line: rgba(11,27,77,.22);
  --header-bg: color-mix(in srgb, #f4e6cc 94%, transparent);
}
#empresa { background: radial-gradient(110% 90% at 76% 42%, #fbf3e2 0%, #f4e6cc 58%, #ead6b0 100%); color: #0b1b4d; }
#empresa .hero-claim { text-shadow: 0 1px 0 rgba(255,255,255,.6); }
#empresa .pilares { background: #0b1b4d; }
#empresa .marca { background: linear-gradient(180deg, #f4e6cc, #efdcb8); }
.nav-toggle { color: #0b1b4d; }
#empresa .marca::before { display: none; }


/* V03.6 — Primeira página: logo do cabeçalho maior; vitrine do logo removida; bloco ocupa toda a altura da tela */
.brand-mark { height: 108px; width: auto; padding: 3px 6px; }
.header-in { min-height: 122px; }
@media (min-width: 901px) {
  #empresa { min-height: calc(100svh - 123px); display: flex; flex-direction: column; padding-top: 0; }
  #empresa .hero-grid { flex: 1 1 auto; min-height: 0; padding-block: clamp(36px, 5vh, 72px); }
  #empresa .hero-visual { bottom: 96px; }
  #empresa .hero-copy { max-width: min(46%, 620px); }
  #empresa .hero-claim { font-size: clamp(2.3rem, min(4.4vw, 7.2vh), 4.6rem); }
  #empresa .hero-sub { margin: 20px 0 10px; font-size: clamp(1.05rem, 2.2vh, 1.28rem); }
  #empresa .hero-title { gap: 14px; }
  #empresa .actions { flex-wrap: nowrap; margin-top: 22px; }
}
@media (max-width: 900px) { .brand-mark { height: 84px; } .header-in { min-height: 96px; } }
@media (max-width: 640px) { .brand-mark { height: 72px; } .header-in { min-height: 84px; } }

/* V03.7 — frases do topo em linha única */
#empresa .hero-brand, #empresa .hl { white-space: nowrap; }
#empresa .hl { display: block; }
@media (min-width: 901px) {
  #empresa .hero-copy { max-width: none; width: 56%; }
  #empresa .hero-visual { left: 50%; }
  #empresa .hero-claim { font-size: clamp(2rem, min(3.6vw, 6.4vh), 4rem); }
  #empresa .hero-brand { font-size: clamp(.7rem, 1.05vw, .9rem); }
  #empresa .hero-sub { max-width: 620px; }
}
@media (max-width: 900px) {
  #empresa .hero-brand { white-space: normal; }
  #empresa .hero-claim { font-size: clamp(1.7rem, 7.4vw, 2.6rem); }
}

/* V03.8 — logo maior no topo; menu em 3 colunas x 2 linhas (computador) */
@media (min-width: 981px) {
  .brand-mark { height: 156px; }
  .header-in { min-height: 172px; }
  .nav { display: grid; grid-auto-flow: column; grid-template-rows: auto auto; grid-auto-columns: max-content; gap: 6px 56px; align-items: center; justify-items: start; }
  .nav a:not(.btn) { padding: 6px 0; }
  .nav .btn { justify-self: start; }
  #empresa { min-height: calc(100svh - 173px); }
}

/* V03.9 — texto de apoio maior; botão principal maior e mais alto */
@media (min-width: 901px) {
  #empresa .hero-copy { width: 54%; }
  #empresa .hero-lead { font-size: clamp(1.05rem, 1.35vw, 1.3rem); line-height: 1.6; }
  #empresa .actions { margin-top: 30px; align-items: stretch; }
  #empresa .actions .btn { font-size: 1.2rem; padding: 30px 34px; min-height: 96px; display: inline-flex; align-items: center; justify-content: center; }
  #empresa .actions .btn-ghost { font-size: 1.15rem; padding-inline: 30px; }
}
@media (min-width: 901px) {
  #empresa .actions .btn:not(.btn-ghost) { white-space: nowrap; font-size: 1.12rem; padding: 30px 32px; }
}

/* V03.10 — logo +30%; menu em caixas coloridas; conteúdo do topo mais próximo do cabeçalho */
@media (min-width: 981px) {
  .brand-mark { height: 203px; }
  .header-in { min-height: 220px; }
  .nav { gap: 12px 14px; }
  .nav a, .nav a.btn { display: inline-flex; align-items: center; justify-content: center; min-width: 205px; padding: 15px 24px; font-size: 1.06rem; font-weight: 600; color: #fff; background: linear-gradient(180deg, #17307a, #0b1b4d); border: 0; border-bottom: 0; text-decoration: none; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
  .nav a:not(.btn) { padding: 15px 24px; border-bottom: 0; }
  .nav a:not(.btn):hover, .nav a.btn:hover { color: #fff; background: linear-gradient(180deg, #2a4aa6, #14286b); border-bottom: 0; }
  .nav { grid-auto-columns: max-content; justify-items: stretch; }
  #empresa { min-height: calc(100svh - 221px); }
  #empresa .hero-grid { align-items: flex-start; padding-top: clamp(20px, 3.5vh, 40px); }
  #empresa .hero-visual { top: 0; bottom: 60px; }
}
@media (min-width: 981px) { .nav a, .nav a.btn, .nav a.btn.btn-sm { min-height: 56px; padding-block: 0; box-sizing: border-box; } }

/* V03.11 — logo +30%; textos descidos junto à régua; botões 40% mais baixos */
@media (min-width: 981px) {
  .brand-mark { height: 264px; }
  .header-in { min-height: 281px; }
  #empresa { min-height: calc(100svh - 282px); }
  #empresa .hero-grid { align-items: flex-end; padding-top: 24px; padding-bottom: clamp(18px, 3vh, 36px); }
  #empresa .hero-visual { top: 0; bottom: 0; }
  #empresa .actions .btn { min-height: 58px; padding-block: 0; }
}
@media (min-width: 981px) { #empresa .actions .btn:not(.btn-ghost), #empresa .actions .btn.btn-ghost { min-height: 58px; padding-block: 0; } }

/* V03.12 — logo +30%; menu em 2 colunas x 3 blocos; textos e cilindro maiores; pilares em blocos champagne */
@media (min-width: 981px) {
  .brand-mark { height: 343px; }
  .header-in { min-height: 360px; }
  .nav { grid-template-rows: repeat(3, auto); gap: 14px 16px; }
  .nav a, .nav a.btn, .nav a.btn.btn-sm { min-width: 240px; min-height: 60px; font-size: 1.14rem; }
  #empresa { min-height: calc(100svh - 361px); }
  #empresa .hero-grid { align-items: flex-start; padding-top: 22px; padding-bottom: 28px; }
  #empresa .hero-copy { width: 56%; }
  #empresa .hero-visual { left: 52%; top: 0; bottom: 0; }
  #empresa .hero-brand { font-size: clamp(.8rem, 1.15vw, 1rem); }
  #empresa .hero-claim { font-size: clamp(2.4rem, 4.1vw, 4.6rem); }
  #empresa .hero-sub { font-size: clamp(1.2rem, 1.7vw, 1.6rem); max-width: 760px; }
  #empresa .hero-lead { font-size: clamp(1.15rem, 1.55vw, 1.5rem); }
  #empresa .actions .btn { font-size: 1.25rem; }
}
/* pilares: blocos champagne dentro da barra azul */
#empresa .pilares ul { gap: 20px; padding-block: 14px; }
#empresa .pilares li { background: linear-gradient(180deg, #fbf3e2, #ecd9b6); color: #0b1b4d; font-size: clamp(1.1rem, 1.7vw, 1.55rem); font-weight: 600; padding: 12px 26px; border: 1px solid #c9a24e; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
#empresa .pilares li::before { color: #a97b1c; }

/* V03.13 — Página 2: paleta champagne da página 1; logo pequeno à esquerda e imagem à direita; textos trocados de lado */
#manifesto { background: radial-gradient(110% 100% at 76% 40%, #fbf3e2 0%, #f4e6cc 58%, #ead6b0 100%); color: #0b1b4d; --azul: #0b1b4d; --papel: #fcf6e9; --ouro: #a97b1c; }
#manifesto::before { display: none; }
.manifesto-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: clamp(28px, 4vw, 56px); }
.manifesto-logo, .manifesto-img { display: block; height: 150px; aspect-ratio: 2000 / 1432; border-radius: 2px; }
.manifesto-logo img { width: 100%; height: 100%; object-fit: contain; background: #fff; padding: 3px 6px; box-sizing: border-box; box-shadow: 0 0 0 1px rgba(11,27,77,.15); }
.manifesto-img { object-fit: cover; box-shadow: 0 0 0 1px rgba(11,27,77,.15); }
#manifesto .manifesto-grid { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: start; }
#manifesto .statement { max-width: none; color: #0b1b4d; font-size: clamp(2rem, 3.4vw, 3.2rem); }
#manifesto .manifesto-side { background: var(--papel); }
#manifesto .manifesto-side .concept { font-size: clamp(1.4rem, 2.1vw, 1.9rem); }
#manifesto .manifesto-side p:last-child { color: #0b1b4d; font-size: 1.12rem; line-height: 1.65; }
@media (max-width: 820px) { .manifesto-logo, .manifesto-img { height: 96px; } }
.manifesto-img { width: auto; }
.manifesto-logo { width: auto; }
#manifesto[data-n]::after { top: auto; bottom: 18px; }

/* V03.14 — página 2: logo e imagem +30%, fonte maior, barra inferior como na página 1 */
.manifesto-logo, .manifesto-img { height: 195px; }
#manifesto .manifesto-side .concept { font-size: clamp(1.7rem, 2.7vw, 2.5rem); line-height: 1.2; }
#manifesto .manifesto-side p:last-child { font-size: 1.25rem; }
#manifesto .pilares { background: #0b1b4d; }
#manifesto .pilares ul { gap: 20px; padding-block: 14px; }
#manifesto .pilares li { background: linear-gradient(180deg, #fbf3e2, #ecd9b6); color: #0b1b4d; font-size: clamp(1.1rem, 1.7vw, 1.55rem); font-weight: 600; padding: 12px 26px; border: 1px solid #c9a24e; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
#manifesto .pilares li::before { color: #a97b1c; }
#manifesto { padding-bottom: 0; }
#manifesto .manifesto-grid { padding-bottom: clamp(36px, 5vw, 64px); }
@media (max-width: 820px) { .manifesto-logo, .manifesto-img { height: 110px; } }
#manifesto[data-n]::after { display: none; }

/* V03.15 — logo e globo +30%; globo completo, sem recorte (mesma altura do logo, proporção original) */
.manifesto-logo, .manifesto-img { height: 254px; }
.manifesto-img { aspect-ratio: 485 / 465; object-fit: contain; width: auto; }
@media (max-width: 820px) { .manifesto-logo, .manifesto-img { height: 130px; } }

/* V03.16 — parágrafo "A Sig Cut nasce..." estilizado, fonte +20% */
#manifesto .manifesto-side p:last-child { font-family: var(--font-display); font-size: 1.5rem; line-height: 1.55; font-weight: 500; letter-spacing: .005em; color: #0b1b4d; padding-top: 16px; margin-top: 14px; border-top: 1px solid #c9a24e; }
#manifesto .manifesto-side p:last-child::first-letter { font-size: 3.2em; line-height: .8; float: left; padding: 6px 10px 0 0; font-weight: 700; color: #a97b1c; }

/* V03.17 — texto dentro do globo; globo maior e mais ao centro */
#manifesto .manifesto-grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(24px, 3vw, 48px); }
.globo-painel { position: relative; width: min(100%, 640px); justify-self: center; aspect-ratio: 485 / 465; margin-top: -120px; }
.globo-painel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; border-radius: 3px; box-shadow: 0 18px 44px rgba(11,27,77,.28); }
.globo-painel::before { content: ""; position: absolute; inset: 0; border-radius: 3px; background: radial-gradient(closest-side at 50% 50%, rgba(0,12,40,.72) 0%, rgba(0,12,40,.55) 55%, rgba(0,12,40,0) 100%); z-index: 1; }
#manifesto .globo-painel .statement { position: absolute; z-index: 2; left: 17%; right: 17%; top: 50%; transform: translateY(-50%); margin: 0; text-align: center; color: #fff; font-size: clamp(1.4rem, 2.35vw, 2.2rem); line-height: 1.18; text-shadow: 0 2px 10px rgba(0,0,0,.7); }
#manifesto .globo-painel .statement::after { display: none; }
@media (max-width: 820px) { .globo-painel { margin-top: 0; } #manifesto .globo-painel .statement { font-size: clamp(1.1rem, 4.4vw, 1.6rem); } }

/* V03.19 — caixa de texto com mesma altura e posição vertical do globo */
#manifesto .manifesto-grid { align-items: stretch; }
#manifesto .manifesto-side { display: flex; flex-direction: column; justify-content: center; height: 100%; }
#manifesto .globo-painel { margin-top: 0; align-self: stretch; }
@media (min-width: 821px) { #manifesto .manifesto-side { align-self: stretch; } #manifesto .globo-painel { height: auto; } }

/* V03.20 — globo maior (cresce para cima, base mantida), mais central */
@media (min-width: 821px) {
  #manifesto .manifesto-grid { grid-template-columns: 380px minmax(0,1fr); gap: 36px; align-items: end; }
  #manifesto .manifesto-side { min-height: 612px; align-self: end; height: auto; }
  #manifesto .globo-painel { width: 100%; margin-top: -18.2%; align-self: end; justify-self: stretch; }
  #manifesto .globo-painel .statement { font-size: clamp(1.5rem, 2.7vw, 2.6rem); left: 16%; right: 16%; }
}

/* V03.21 — topo do globo alinhado ao topo do logo (globo sangra até a borda direita) */
@media (min-width: 821px) {
  #manifesto { overflow-x: clip; }
  #manifesto .manifesto-grid { grid-template-columns: 346px minmax(0,1fr); gap: 20px; }
  #manifesto .manifesto-side { min-height: 612px; }
  #manifesto .globo-painel {
    width: calc(100% + max(0px, (100vw - 1204px) / 2));
    margin-top: calc(612px - (100% + max(0px, (100vw - 1204px) / 2)) * .9588);
    justify-self: start; border-radius: 3px 0 0 3px;
  }
  #manifesto .globo-painel img { border-radius: 3px 0 0 3px; }
  #manifesto .manifesto-side p:last-child { font-size: 1.32rem; }
  #manifesto .globo-painel .statement { font-size: clamp(1.6rem, 3vw, 2.9rem); }
}

/* V03.22 — globo com contorno arredondado; parágrafo maior */
@media (min-width: 821px) {
  #manifesto .globo-painel, #manifesto .globo-painel img, #manifesto .globo-painel::before { border-radius: 50%; }
  #manifesto .manifesto-side p:last-child { font-size: 1.4rem; line-height: 1.5; }
}
@media (max-width: 820px) { .globo-painel, .globo-painel img, .globo-painel::before { border-radius: 50%; } }

/* V03.23 — globo sem contorno/fundo azul (recorte circular com transparência) */
.globo-painel img { box-shadow: none !important; border-radius: 0 !important; object-fit: contain; }
.globo-painel { aspect-ratio: 1 / 1; }
.globo-painel::before { border-radius: 50%; background: radial-gradient(closest-side at 50% 50%, rgba(0,12,40,.55) 0%, rgba(0,12,40,.35) 55%, rgba(0,12,40,0) 100%); }
@media (min-width: 821px) {
  #manifesto .globo-painel {
    --gw: calc(100% + max(0px, (100vw - 1204px) / 2) - 33px);
    width: var(--gw); margin-top: calc(612px - var(--gw)); border-radius: 0;
  }
  #manifesto .globo-painel img, #manifesto .globo-painel::before { border-radius: 50%; }
  #manifesto .globo-painel img { border-radius: 0; filter: drop-shadow(0 16px 26px rgba(11,27,77,.28)); }
  #manifesto .globo-painel .statement { left: 17%; right: 17%; }
}

/* V03.24 — parágrafo "A Sig Cut..." +20% (1,4 → 1,68 rem) */
@media (min-width: 821px) { #manifesto .manifesto-side p:last-child { font-size: 1.68rem; } }
@media (min-width: 821px) {
  #manifesto .manifesto-grid { align-items: start; }
  #manifesto .manifesto-side { align-self: start; }
  #manifesto .globo-painel { align-self: start; }
}

/* V03.25 — texto dentro do globo +15% */
@media (min-width: 821px) { #manifesto .globo-painel .statement { font-size: clamp(1.84rem, 3.45vw, 3.34rem); left: 13%; right: 13%; } }

/* V03.26 — Página 3 (Engenharia): paleta champagne da página 1, logo, citação, imagens à direita */
#engenharia { background: radial-gradient(110% 100% at 76% 40%, #fbf3e2 0%, #f4e6cc 58%, #ead6b0 100%); color: #0b1b4d; --azul: #0b1b4d; --papel: #fcf6e9; --ouro: #a97b1c; --muted: #1d2f6b; --line: #c9a24e; padding-block: clamp(48px, 6vw, 96px); }
#engenharia::before { display: none; }
#engenharia[data-n]::after { display: none; }
#engenharia .eng-top { padding-bottom: 28px; }
#engenharia .eng-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
#engenharia h2 { color: #0b1b4d; }
#engenharia .eng-intro .lead.eng-quote { font-family: var(--font-display); font-style: italic; font-weight: 500; font-size: clamp(1.4rem, 1.9vw, 1.75rem); line-height: 1.5; color: #0b1b4d; padding: 6px 0 6px 26px; border-left: 4px solid #a97b1c; }
#engenharia .eng-intro p:not(.lead) { color: #1d2f6b; font-size: 1.08rem; }
#engenharia .eng-figuras { display: grid; gap: 20px; justify-items: center; align-content: start; }
#engenharia .eng-figuras figure { margin: 0; background: #fff; border: 1px solid #c9a24e; padding: 14px; box-shadow: 0 10px 28px rgba(11,27,77,.14); clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px); }
#engenharia .eng-figuras figure:first-child { width: 100%; }
#engenharia .eng-figuras figure:last-child { width: min(100%, 300px); }
#engenharia .eng-figuras img { display: block; width: 100%; height: auto; }
#engenharia .eng-list { margin-top: clamp(32px, 4vw, 56px); grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
#engenharia .eng-list li { background: linear-gradient(180deg, #fbf3e2, #ecd9b6); border: 1px solid #c9a24e; border-left: 4px solid #a97b1c; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
#engenharia .eng-list h3 { color: #0b1b4d; }
#engenharia .eng-list p { color: #1d2f6b; }
@media (max-width: 860px) { #engenharia .eng-grid, #engenharia .eng-list { grid-template-columns: minmax(0, 1fr); } }

/* V03.27 — Página 3: barra inferior igual às páginas anteriores */
#engenharia { padding-bottom: 0; }
#engenharia .eng-list { margin-bottom: clamp(36px, 5vw, 64px); }
#engenharia .pilares { background: #0b1b4d; }
#engenharia .pilares ul { gap: 20px; padding-block: 14px; }
#engenharia .pilares li { background: linear-gradient(180deg, #fbf3e2, #ecd9b6); color: #0b1b4d; font-size: clamp(1.1rem, 1.7vw, 1.55rem); font-weight: 600; padding: 12px 26px; border: 1px solid #c9a24e; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
#engenharia .pilares li::before { color: #a97b1c; }

/* V03.28 — Página 3: imagem do cilindro à esquerda, alinhada ao logo */
@media (min-width: 861px) {
  #engenharia .eng-grid { grid-template-columns: 356px minmax(0, 1fr) 400px; gap: clamp(24px, 2.6vw, 40px); }
  #engenharia .eng-esq { display: grid; gap: 22px; align-content: start; }
  #engenharia .eng-esq .manifesto-logo { height: auto; display: block; width: 356px; }
  #engenharia .eng-esq .manifesto-logo img { height: auto; width: 356px; display: block; }
  #engenharia .eng-cil { margin: 0; border: 1px solid #c9a24e; box-shadow: 0 10px 28px rgba(11,27,77,.18); clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px); }
  #engenharia .eng-cil img { display: block; width: 100%; height: auto; }
  #engenharia .eng-intro h2 { font-size: clamp(1.9rem, 2.9vw, 2.7rem); }
  #engenharia .eng-intro .lead.eng-quote { font-size: clamp(1.2rem, 1.55vw, 1.5rem); }
}
@media (max-width: 860px) { #engenharia .eng-esq { grid-template-columns: 1fr; } #engenharia .eng-esq .manifesto-logo, #engenharia .eng-esq .manifesto-logo img { width: min(100%, 356px); } }

/* V03.29 — Página 3: segunda imagem (usinagem) ao lado da imagem do cilindro */
@media (min-width: 861px) {
  #engenharia .eng-grid { align-items: stretch; }
  #engenharia .eng-intro { display: flex; flex-direction: column; gap: 24px; }
  #engenharia .eng-usin { margin: auto 0 0; border: 1px solid #c9a24e; box-shadow: 0 10px 28px rgba(11,27,77,.18); clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px); }
  #engenharia .eng-usin img { display: block; width: 100%; height: auto; }
  #engenharia .eng-figuras { align-self: start; }
}
@media (max-width: 860px) { #engenharia .eng-usin { margin: 0; } #engenharia .eng-usin img { width: 100%; height: auto; } }
@media (min-width: 861px) { #engenharia .eng-usin { width: 220px; } }

/* V03.30 — Página 3: texto na horizontal no topo; três imagens lado a lado, mesma altura */
@media (min-width: 861px) {
  #engenharia .eng-grid { grid-template-columns: 356px minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 2.6vw, 40px); align-items: start; }
  #engenharia .eng-grid > .manifesto-logo { height: auto; display: block; width: 356px; }
  #engenharia .eng-grid > .manifesto-logo img { height: auto; width: 356px; display: block; }
  #engenharia .eng-intro { display: grid; gap: 20px; margin: 0; }
  #engenharia .eng-intro h2, #engenharia h2 { font-size: clamp(1.9rem, 2.9vw, 2.7rem); margin: 0; }
}
#engenharia .eng-fotos { display: flex; gap: 20px; margin-top: clamp(28px, 3.5vw, 48px); align-items: stretch; }
#engenharia .eng-fotos figure { flex: var(--ar) 1 0; min-width: 0; margin: 0; border: 1px solid #c9a24e; box-shadow: 0 10px 28px rgba(11,27,77,.18); background: #fff; clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px); }
#engenharia .eng-fotos img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 860px) { #engenharia .eng-fotos { flex-direction: column; } #engenharia .eng-fotos img { height: auto; } }

/* V03.31 — Página 3: imagens com a mesma largura (e altura); bloco de texto abaixo de cada uma */
#engenharia .eng-fotos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: clamp(36px, 5vw, 64px); align-items: stretch; }
#engenharia .eng-item { display: flex; flex-direction: column; min-width: 0; }
#engenharia .eng-item figure { flex: none; height: clamp(300px, 36vw, 520px); margin: 0; border: 1px solid #c9a24e; border-bottom: 0; box-shadow: 0 10px 28px rgba(11,27,77,.18); background: #fff; clip-path: none; }
#engenharia .eng-item figure img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 50%); }
#engenharia .eng-bloco { flex: 1; padding: 20px 24px 22px; background: linear-gradient(180deg, #fbf3e2, #ecd9b6); border: 1px solid #c9a24e; border-left: 4px solid #a97b1c; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%); }
#engenharia .eng-bloco h3 { margin: 0 0 8px; font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; color: #0b1b4d; }
#engenharia .eng-bloco h3::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 12px; background: #a97b1c; transform: rotate(45deg); vertical-align: middle; position: relative; top: -2px; }
#engenharia .eng-bloco p { margin: 0; color: #1d2f6b; font-size: 1.02rem; line-height: 1.55; }
@media (max-width: 860px) { #engenharia .eng-fotos { grid-template-columns: minmax(0, 1fr); } #engenharia .eng-item figure { height: auto; } #engenharia .eng-item figure img { height: auto; } }

/* V03.32 — logo e texto ao lado do logo +15% */
@media (min-width: 861px) {
  #engenharia .eng-grid { grid-template-columns: 409px minmax(0, 1fr) minmax(0, 1fr); }
  #engenharia .eng-grid > .manifesto-logo, #engenharia .eng-grid > .manifesto-logo img { width: 409px; }
  #engenharia .eng-intro h2, #engenharia h2 { font-size: clamp(2.19rem, 3.34vw, 3.1rem); }
  #engenharia .eng-intro .lead.eng-quote { font-size: clamp(1.38rem, 1.78vw, 1.72rem); }
}
@media (min-width: 861px) { #engenharia .eng-grid { grid-template-columns: 409px minmax(0, 1.2fr) minmax(0, .8fr); gap: 28px; } }

/* V03.33 — textos abaixo das imagens maiores */
#engenharia .eng-bloco p { font-size: 1.22rem; line-height: 1.5; }
#engenharia .eng-bloco h3 { font-size: 1.65rem; }

/* V03.34 — Página 4 (Cadeia de suprimentos): paleta champagne da página 1, logo, imagem, blocos e barra inferior */
#cadeia { background: radial-gradient(110% 100% at 76% 40%, #fbf3e2 0%, #f4e6cc 58%, #ead6b0 100%); color: #0b1b4d; --azul: #0b1b4d; --papel: #fcf6e9; --ouro: #a97b1c; --muted: #1d2f6b; --line: #c9a24e; padding-block: clamp(48px, 6vw, 96px) 0; }
#cadeia::before, #cadeia::after, #cadeia[data-n]::after { display: none; }
#cadeia .cadeia-top { align-items: flex-start; padding-bottom: 28px; }
#cadeia .cadeia-img { height: 254px; width: auto; aspect-ratio: 1456 / 816; object-fit: cover; border: 1px solid #c9a24e; box-shadow: 0 10px 28px rgba(11,27,77,.22); clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px); }
#cadeia .head-block { max-width: 1000px; }
#cadeia h2 { color: #0b1b4d; }
#cadeia .head-block .lead { font-family: var(--font-display); font-size: clamp(1.25rem, 1.7vw, 1.55rem); line-height: 1.55; color: #0b1b4d; padding-left: 24px; border-left: 4px solid #a97b1c; }
#cadeia .flow { gap: 18px; align-items: stretch; }
#cadeia .flow::before { display: none; }
#cadeia .flow li { display: flex; flex-direction: column; padding: 22px 20px 24px; background: linear-gradient(180deg, #fbf3e2, #ecd9b6); border: 1px solid #c9a24e; border-top: 4px solid #a97b1c; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%); }
#cadeia .flow-n { background: #0b1b4d; color: #fbf3e2; border-color: #0b1b4d; margin-bottom: 14px; }
#cadeia .flow h3 { font-family: var(--font-display); font-size: 1.3rem; line-height: 1.2; color: #0b1b4d; margin-bottom: 10px; }
#cadeia .flow p { color: #1d2f6b; font-size: 1.02rem; line-height: 1.5; }
#cadeia .note { color: #1d2f6b; margin-bottom: clamp(32px, 4vw, 56px); }
#cadeia .pilares { background: #0b1b4d; }
#cadeia .pilares ul { gap: 20px; padding-block: 14px; }
#cadeia .pilares li { background: linear-gradient(180deg, #fbf3e2, #ecd9b6); color: #0b1b4d; font-size: clamp(1.1rem, 1.7vw, 1.55rem); font-weight: 600; padding: 12px 26px; border: 1px solid #c9a24e; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
#cadeia .pilares li::before { color: #a97b1c; }
@media (max-width: 1100px) { #cadeia .flow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 820px) { #cadeia .cadeia-img { height: 130px; } #cadeia .flow { grid-template-columns: minmax(0, 1fr); padding-left: 0; } }

/* V03.35 — Página 4: textos maiores, título em duas linhas, sem nota "Fluxo ilustrativo" */
#cadeia .head-block { max-width: 1204px; }
#cadeia .head-block .lead { font-size: clamp(1.5rem, 2.05vw, 1.86rem); }
#cadeia .flow { margin-bottom: clamp(36px, 5vw, 64px); }
#cadeia .flow h3 { font-size: 1.5rem; }
#cadeia .flow p { font-size: 1.22rem; line-height: 1.5; }

/* V03.36 — Página 4: texto "A Signature Cut atua..." maior e ocupando toda a largura */
#cadeia .head-block { max-width: none; }
#cadeia .head-block .lead { max-width: none; font-size: clamp(1.7rem, 2.35vw, 2.15rem); }

/* V03.38 — Página 4: blocos em formato de rótulo/etiqueta (contorno chanfrado, borda tracejada interna, furo) */
#cadeia .flow li { position: relative; isolation: isolate; background: #c9a24e; border: 0; border-top: 0; padding: 30px 28px 30px 26px;
  clip-path: polygon(16px 0, calc(100% - 16px) 0, 100% 16px, 100% calc(100% - 16px), calc(100% - 16px) 100%, 16px 100%, 0 calc(100% - 16px), 0 16px); }
#cadeia .flow li::before { content: ""; position: absolute; inset: 2px; z-index: -2;
  background: radial-gradient(circle at calc(100% - 30px) 26px, #ecd9b6 0 6px, #a97b1c 6px 8px, transparent 8px), linear-gradient(180deg, #fbf3e2, #ecd9b6);
  clip-path: polygon(15px 0, calc(100% - 15px) 0, 100% 15px, 100% calc(100% - 15px), calc(100% - 15px) 100%, 15px 100%, 0 calc(100% - 15px), 0 15px); }
#cadeia .flow li::after { content: ""; position: absolute; inset: 9px; z-index: -1; border: 1px dashed #a97b1c; opacity: .75; pointer-events: none; }

/* V03.39 — Página 6 (Desempenho): paleta champagne da página 1, logo, textos novos, barra inferior com as quatro frases */
#desempenho { background: radial-gradient(110% 100% at 76% 40%, #fbf3e2 0%, #f4e6cc 58%, #ead6b0 100%); color: #0b1b4d; --azul: #0b1b4d; --papel: #fcf6e9; --ouro: #a97b1c; --muted: #1d2f6b; --line: #c9a24e; padding-block: clamp(48px, 6vw, 96px) 0; display: flex; flex-direction: column; min-height: clamp(620px, 62vw, 860px); }
#desempenho::before, #desempenho::after, #desempenho[data-n]::after { display: none; }
#desempenho .desemp-top { padding-bottom: 28px; }
#desempenho .desemp-corpo { flex: 1; display: flex; align-items: center; padding-bottom: clamp(32px, 4vw, 56px); }
#desempenho .head-block { max-width: 1100px; margin: 0; }
#desempenho h2 { color: #0b1b4d; font-size: clamp(2.4rem, 4.4vw, 4rem); line-height: 1.12; }
#desempenho .head-block .lead.strong { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.5rem, 2.1vw, 1.95rem); line-height: 1.55; color: #0b1b4d; padding-left: 24px; border-left: 4px solid #a97b1c; }
#desempenho .pilares { background: #0b1b4d; }
#desempenho .pilares ul { gap: 18px; padding-block: 16px; }
#desempenho .pilares li { flex: 1 1 0; min-width: 0; text-align: left; background: linear-gradient(180deg, #fbf3e2, #ecd9b6); color: #0b1b4d; font-size: clamp(1.05rem, 1.5vw, 1.4rem); line-height: 1.25; font-weight: 600; padding: 14px 22px; border: 1px solid #c9a24e; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
#desempenho .pilares li::before { color: #a97b1c; }
@media (max-width: 860px) { #desempenho .pilares ul { flex-direction: column; } }

/* V03.40 — Página 6: figura central "Prejuízo" com cinco fatores periféricos que o amplificam */
#desempenho .desemp-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(24px, 3vw, 48px); align-items: center; padding-bottom: clamp(28px, 4vw, 48px); }
#desempenho .desemp-grid .head-block { margin: 0; }
#desempenho h2 { font-size: clamp(2rem, 3.4vw, 3.1rem); }
#desempenho .head-block .lead.strong { font-size: clamp(1.25rem, 1.7vw, 1.55rem); }
#desempenho .prej { position: relative; width: 100%; max-width: 660px; justify-self: end; aspect-ratio: 1 / 1; }
#desempenho .prej-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
#desempenho .prej .anel { fill: none; stroke: #a97b1c; stroke-width: .35; stroke-dasharray: 1.2 1.2; }
#desempenho .prej .a1 { opacity: .95; } #desempenho .prej .a2 { opacity: .6; } #desempenho .prej .a3 { opacity: .32; }
#desempenho .prej .setas line { stroke: #a97b1c; stroke-width: .6; }
#desempenho .prej-centro { position: absolute; left: 50%; top: 50%; width: 31%; aspect-ratio: 1; transform: translate(-50%, -50%); display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #1b2f78, #0b1b4d 70%); color: #fbf3e2; font-family: var(--font-display); font-weight: 700; font-size: clamp(1.4rem, 2.6vw, 2.35rem); border: 3px solid #c9a24e; box-shadow: 0 0 0 7px rgba(201,162,78,.28), 0 14px 34px rgba(11,27,77,.35); }
#desempenho .prej-lista { list-style: none; margin: 0; padding: 0; }
#desempenho .prej-no { position: absolute; transform: translate(-50%, -50%); width: 29%; min-height: 12%; display: grid; place-items: center; text-align: center; padding: 10px 12px; font-weight: 600; font-size: clamp(.9rem, 1.35vw, 1.2rem); line-height: 1.2; color: #0b1b4d; background: linear-gradient(180deg, #fbf3e2, #ecd9b6); border: 1px solid #c9a24e; box-shadow: 0 8px 20px rgba(11,27,77,.16); clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
@media (max-width: 860px) { #desempenho .desemp-grid { grid-template-columns: minmax(0, 1fr); } #desempenho .prej { justify-self: center; } #desempenho .prej-no { font-size: .8rem; padding: 6px; } }

#desempenho .desemp-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; }
#desempenho .desemp-esq { display: grid; gap: 40px; align-content: center; }
#desempenho .desemp-esq .manifesto-logo { height: 254px; width: fit-content; }
#desempenho .prej { max-width: 760px; }
#desempenho .prej-no { width: 31%; font-size: clamp(1rem, 1.5vw, 1.35rem); }
#desempenho .prej-centro { font-size: clamp(1.6rem, 3vw, 2.8rem); }
@media (max-width: 860px) { #desempenho .desemp-grid { grid-template-columns: minmax(0, 1fr); } }

/* V03.41 — Página 6: imagem de monitoramento de produção como fundo da figura "Prejuízo" */
#desempenho .prej::before { content: ""; position: absolute; inset: -5% -7%; z-index: -1; border: 1px solid #c9a24e; box-shadow: 0 18px 44px rgba(11,27,77,.32);
  background: linear-gradient(rgba(5,12,38,.74), rgba(5,12,38,.80)), url("assets/fundo-monitoramento.jpg") center / cover no-repeat;
  clip-path: polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px); }
#desempenho .prej { isolation: isolate; }
#desempenho .prej .anel { stroke: #d9b45f; }
#desempenho .prej .setas line { stroke: #d9b45f; }
#desempenho .prej-no { box-shadow: 0 8px 22px rgba(0,0,0,.45); }
#desempenho .prej-centro { box-shadow: 0 0 0 7px rgba(201,162,78,.35), 0 0 46px rgba(0,0,0,.6); }
#desempenho .desemp-grid { padding-right: 3%; }
#desempenho .prej::before { inset: -5% -3%; }
#desempenho .desemp-grid { gap: 56px; padding-right: 0; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); }
#desempenho .prej { max-width: 700px; }

/* V03.42 — Página 6: texto de apoio +20% */
#desempenho .head-block .lead.strong { font-size: clamp(1.5rem, 2.05vw, 1.86rem); }

/* V03.43 — Página 6: figura maior em forma de rótulo/bandeira oscilante, presa a um mastro */
#desempenho .prej { max-width: 740px; margin-left: 28px; transform-origin: 0 0; animation: bandeira-oscila 7s ease-in-out infinite alternate; }
#desempenho .prej::before { inset: -8% -10% -8% -9%; clip-path: url(#bandeira); border: 0; box-shadow: none; z-index: -1; }
#desempenho .prej::after { content: ""; position: absolute; inset: -8.9% -10.6% -8.9% -9.6%; z-index: -2; background: linear-gradient(135deg, #e9c978, #a97b1c 60%, #d9b45f); clip-path: url(#bandeira); }
#desempenho .prej-mastro { position: absolute; left: -10.6%; top: -13%; width: 9px; height: 128%; z-index: 0; background: linear-gradient(90deg, #7a5710, #e9c978 45%, #a97b1c); border-radius: 5px; box-shadow: 0 6px 16px rgba(11,27,77,.3); }
#desempenho .prej-mastro::before { content: ""; position: absolute; top: -9px; left: -4px; width: 17px; height: 17px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff3c4, #c9a24e 60%, #7a5710); }
@keyframes bandeira-oscila { from { transform: rotate(-.7deg) skewY(-.6deg); } to { transform: rotate(.7deg) skewY(.6deg); } }
@media (prefers-reduced-motion: reduce) { #desempenho .prej { animation: none; } }
@media (max-width: 860px) { #desempenho .prej { margin-left: 0; } #desempenho .prej-mastro { display: none; } }
@media (min-width: 861px) { #desempenho .desemp-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 40px; } #desempenho .prej { margin-left: 84px; max-width: 700px; } }
@media (min-width: 861px) { #desempenho .desemp-esq { padding-right: 56px; } }

/* V03.44 — Página 7 (Soluções e produtos): paleta champagne, logo, imagens nos cartões, rodapé com contatos */
#solucoes { background: radial-gradient(110% 100% at 76% 40%, #fbf3e2 0%, #f4e6cc 58%, #ead6b0 100%); color: #0b1b4d; --azul: #0b1b4d; --papel: #fcf6e9; --ouro: #a97b1c; --muted: #1d2f6b; --line: #c9a24e; padding-block: clamp(48px, 6vw, 96px) 0; }
#solucoes::before, #solucoes::after, #solucoes[data-n]::after { display: none; }
#solucoes .sol-top { display: flex; align-items: center; gap: clamp(24px, 4vw, 64px); padding-bottom: 32px; }
#solucoes .sol-top h2 { margin: 0; color: #0b1b4d; font-size: clamp(2.4rem, 4.4vw, 4rem); }
#solucoes .products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-bottom: clamp(36px, 5vw, 64px); align-items: stretch; }
#solucoes .product { display: flex; flex-direction: column; padding: 22px 22px 26px; background: linear-gradient(180deg, #fbf3e2, #ecd9b6); border: 1px solid #c9a24e; border-top: 4px solid #a97b1c; box-shadow: 0 12px 30px rgba(11,27,77,.14); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%); }
#solucoes .product .ph.foto { height: 340px; margin-bottom: 20px; padding: 0; background: #fff; border: 1px solid #c9a24e; overflow: hidden; clip-path: none; display: block; }
#solucoes .product .ph.foto img { display: block; width: 100%; height: 100%; }
#solucoes .product .ph.cobre img { object-fit: cover; }
#solucoes .product .ph.contem img { object-fit: contain; padding: 8px; }
#solucoes .product h3 { font-family: var(--font-display); font-size: 1.6rem; color: #0b1b4d; margin: 0 0 10px; }
#solucoes .product p { margin: 0; color: #1d2f6b; font-size: 1.15rem; line-height: 1.5; }
#solucoes .pilares { background: #0b1b4d; }
#solucoes .pilares ul { gap: 16px; padding-block: 16px; }
#solucoes .pilares li { flex: 0 1 auto; background: linear-gradient(180deg, #fbf3e2, #ecd9b6); color: #0b1b4d; font-size: clamp(1rem, 1.35vw, 1.3rem); font-weight: 600; padding: 12px 22px; border: 1px solid #c9a24e; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
#solucoes .pilares li a { color: inherit; text-decoration: none; }
#solucoes .pilares li a:hover, #solucoes .pilares li a:focus-visible { text-decoration: underline; }
#solucoes .pilares li::before { color: #a97b1c; }
@media (max-width: 860px) { #solucoes .products { grid-template-columns: minmax(0, 1fr); } #solucoes .sol-top { flex-direction: column; align-items: flex-start; } #solucoes .pilares ul { flex-direction: column; } }

/* V03.47 — Página 7: imagens com medidas iguais e maiores; rodapé sem bloco WhatsApp separado */
#solucoes .products { gap: 18px; }
#solucoes .wrap:has(.products) { max-width: 1320px; }
#solucoes .product { padding: 12px 12px 22px; }
#solucoes .product .ph.foto { height: 440px; width: 100%; margin-bottom: 18px; }
#solucoes .product .ph.contem img { padding: 4px; }
#solucoes .product h3, #solucoes .product p { padding-inline: 8px; }

/* V03.48 — imagem de Engenharia: vista em cores ampliada */
#solucoes .product .ph.foto a{display:block;width:100%;height:100%}
#solucoes .product .ph.foto a img{display:block;width:100%;height:100%;object-fit:contain;padding:4px}

/* V03.50 — Página 7: colunas desiguais (Engenharia mais larga), molduras de 400 px, textos e rodapé maiores */
#solucoes .products { grid-template-columns: 388fr 348fr 548fr; gap: 24px; }
#solucoes .product .ph.foto { height: 400px; }
#solucoes .product h3 { font-size: 1.85rem; line-height: 1.2; }
#solucoes .product p { font-size: 1.4rem; line-height: 1.5; }
#solucoes .pilares li { font-size: clamp(1.2rem, 1.75vw, 1.65rem); padding: 14px 28px; }
#solucoes .pilares ul { gap: 20px; }
@media (max-width: 860px) { #solucoes .products { grid-template-columns: minmax(0,1fr); } }
#solucoes .products { grid-template-columns: minmax(0,388fr) minmax(0,348fr) minmax(0,548fr); }
#solucoes .product { min-width: 0; }
@media (max-width: 860px) { #solucoes .products { grid-template-columns: minmax(0,1fr); } }

/* V03.52 — Página 7: textos das caixas maiores; rodapé em fonte sem serifa, mais legível */
#solucoes .product h3 { font-size: 2.05rem; }
#solucoes .product p { font-size: 1.7rem; line-height: 1.45; }
#solucoes .pilares li { font-family: var(--font-body, "Inter", system-ui, sans-serif); font-weight: 700; font-size: clamp(1.25rem, 1.8vw, 1.6rem); letter-spacing: .01em; }
#solucoes .pilares ul { flex-wrap: nowrap; justify-content: center; gap: 22px; }
#solucoes .pilares li { font-size: clamp(1.1rem, 1.5vw, 1.4rem); padding: 14px 24px; white-space: nowrap; }
@media (max-width: 860px) { #solucoes .pilares ul { flex-direction: column; align-items: stretch; } #solucoes .pilares li { white-space: normal; } }

/* V03.53 — Página 7: caixas em formato de rótulo/etiqueta (mesmo modelo da página 4) */
#solucoes .product { position: relative; isolation: isolate; background: #c9a24e; border: 0; box-shadow: none; padding: 42px 22px 28px;
  clip-path: polygon(16px 0, calc(100% - 16px) 0, 100% 16px, 100% calc(100% - 16px), calc(100% - 16px) 100%, 16px 100%, 0 calc(100% - 16px), 0 16px); }
#solucoes .product::before { content: ""; position: absolute; inset: 2px; z-index: -2;
  background: radial-gradient(circle at calc(100% - 30px) 22px, #ecd9b6 0 6px, #a97b1c 6px 8px, transparent 8px), linear-gradient(180deg, #fbf3e2, #ecd9b6);
  clip-path: polygon(15px 0, calc(100% - 15px) 0, 100% 15px, 100% calc(100% - 15px), calc(100% - 15px) 100%, 15px 100%, 0 calc(100% - 15px), 0 15px); }
#solucoes .product::after { content: ""; position: absolute; inset: 9px; z-index: -1; border: 1px dashed #a97b1c; opacity: .75; pointer-events: none; }
#solucoes .product .ph.foto { height: 380px; }

/* V03.54 — Revisão geral: logos padronizados em 254 px (páginas 2 a 7); página 5 com logo e paleta champagne */
.manifesto-logo, .manifesto-img { height: 254px; }
#engenharia .eng-grid > .manifesto-logo, #engenharia .eng-grid > .manifesto-logo img,
#engenharia .eng-esq .manifesto-logo, #engenharia .eng-esq .manifesto-logo img { width: 354.73px; height: 254px; }
#engenharia .eng-grid > .manifesto-logo img, #engenharia .eng-esq .manifesto-logo img { object-fit: contain; }

/* V03.54 — Barras inferiores: mesma fonte (sem serifa, negrito) em todas as páginas */
.pilares li { font-family: var(--font-body, "Barlow", "Segoe UI", Arial, sans-serif); font-weight: 700; }
#manifesto .pilares li, #engenharia .pilares li, #cadeia .pilares li, #desempenho .pilares li, #solucoes .pilares li, .hero .pilares li { font-size: clamp(1.1rem, 1.5vw, 1.4rem); }
#manifesto .pilares li, #engenharia .pilares li, #cadeia .pilares li, #desempenho .pilares li, #solucoes .pilares li, .hero .pilares li { font-size: clamp(1.05rem, 1.3vw, 1.25rem); }
#empresa .pilares li { font-size: clamp(1.05rem, 1.3vw, 1.25rem); font-weight: 700; padding: 12px 24px; }

/* V03.55 — Página 8 (Contato): logo, paleta champagne, telefone/WhatsApp com ícones */
#contato { background: radial-gradient(110% 100% at 76% 40%, #fbf3e2 0%, #f4e6cc 58%, #ead6b0 100%); color: #0b1b4d; --azul: #0b1b4d; --papel: #fcf6e9; --ouro: #a97b1c; --muted: #1d2f6b; --line: #c9a24e; padding-block: clamp(48px, 6vw, 96px); }
#contato::before, #contato::after, #contato[data-n]::after { display: none; }
#contato .contato-top { margin-bottom: clamp(20px, 3vw, 40px); }
#contato h2, #contato .contact-list dd, #contato .contact-list dt, #contato label, #contato .form-hint, #contato .privacy { color: #0b1b4d; }
#contato .contact-list dt { font-weight: 700; }
#contato .contact-list a { color: #0b1b4d; }
#contato .form { background: #fcf6e9; border: 1px solid #c9a24e; border-top: 4px solid #a97b1c; box-shadow: 0 18px 44px rgba(11,27,77,.14); }
#contato .form input, #contato .form textarea { border: 1px solid #c9a24e; background: #fff; color: #0b1b4d; }
#contato .copy { border: 1px solid #c9a24e; background: linear-gradient(180deg, #fbf3e2, #ecd9b6); color: #0b1b4d; }
#contato .contact-fone dd { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
#contato .fone-link, #contato .wa-link { display: inline-flex; align-items: center; gap: 10px; padding: 11px 18px; font-weight: 700; font-size: 1.15rem; text-decoration: none; color: #0b1b4d; background: linear-gradient(180deg, #fbf3e2, #ecd9b6); border: 1px solid #c9a24e; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
#contato .fone-link:hover, #contato .wa-link:hover, #contato .fone-link:focus-visible, #contato .wa-link:focus-visible { background: #0b1b4d; color: #fbf3e2; }
#contato .ico { width: 24px; height: 24px; flex: none; }
#contato .wa-link .ico { color: #1e8a4c; }
#contato .wa-link:hover .ico, #contato .wa-link:focus-visible .ico { color: #6fe39a; }

#contato .privacy p { margin: 0; font-size: .92rem; line-height: 1.5; color: #0b1b4d; }
#contato .privacy a { color: #0b1b4d; text-decoration: underline; }

/* V03.58 — Página 8: logo na coluna esquerda e formulário alinhado ao topo do logo; fontes maiores; barra inferior */
#contato { padding-bottom: 0; }
#contato .contact-grid { align-items: start; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); padding-bottom: clamp(40px, 5vw, 72px); }
#contato .contato-logo { margin-bottom: clamp(24px, 3vw, 40px); }
#contato .contact-list { gap: 26px; }
#contato .contact-list dt { font-size: 1.2rem; margin-bottom: 8px; }
#contato .contact-list dd { font-size: 1.6rem; }
#contato .contact-list dd a:not(.fone-link):not(.wa-link) { font-size: 1.6rem; }
#contato .fone-link, #contato .wa-link { font-size: 1.5rem; padding: 14px 22px; }
#contato .ico { width: 30px; height: 30px; }
#contato .copy { font-size: 1.05rem; padding: 8px 14px; }
#contato .form { gap: 26px; padding: clamp(28px, 3.4vw, 48px); }
#contato .field label { font-size: 1.15rem; }
#contato .form input, #contato .form textarea { font-size: 1.2rem; padding: 15px 16px; }
#contato .form .btn { font-size: 1.25rem; padding: 16px 34px; }
#contato .form-hint { font-size: 1.05rem; }
#contato .privacy p { font-size: 1rem; }
#contato .pilares { background: #0b1b4d; }
#contato .pilares ul { flex-wrap: nowrap; justify-content: center; gap: 22px; padding-block: 16px; }
#contato .pilares li { font-family: var(--font-body, "Barlow", "Segoe UI", Arial, sans-serif); font-weight: 700; background: linear-gradient(180deg, #fbf3e2, #ecd9b6); color: #0b1b4d; border: 1px solid #c9a24e; padding: 14px 24px; white-space: nowrap; font-size: clamp(1.05rem, 1.3vw, 1.25rem); clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); }
@media (max-width: 900px) { #contato .contact-grid { grid-template-columns: minmax(0,1fr); } #contato .pilares ul { flex-direction: column; align-items: stretch; } #contato .pilares li { white-space: normal; } }
#contato .contact-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(28px, 4vw, 56px); }
@media (max-width: 900px) { #contato .contact-grid { grid-template-columns: minmax(0,1fr); } }

/* V03.61 — Página 8: quadro de contato no formato de rótulo/etiqueta (modelo da página 4) */
#contato .form { position: relative; isolation: isolate; background: #c9a24e; border: 0; box-shadow: none; padding: clamp(38px, 4vw, 56px) clamp(34px, 3.6vw, 52px) clamp(32px, 3.4vw, 48px);
  clip-path: polygon(16px 0, calc(100% - 16px) 0, 100% 16px, 100% calc(100% - 16px), calc(100% - 16px) 100%, 16px 100%, 0 calc(100% - 16px), 0 16px); }
#contato .form::before { content: ""; position: absolute; inset: 2px; z-index: -2;
  background: radial-gradient(circle at calc(100% - 30px) 24px, #ecd9b6 0 6px, #a97b1c 6px 8px, transparent 8px), linear-gradient(180deg, #fbf3e2, #ecd9b6);
  clip-path: polygon(15px 0, calc(100% - 15px) 0, 100% 15px, 100% calc(100% - 15px), calc(100% - 15px) 100%, 15px 100%, 0 calc(100% - 15px), 0 15px); }
#contato .form::after { content: ""; position: absolute; inset: 9px; z-index: -1; border: 1px dashed #a97b1c; opacity: .75; pointer-events: none; }

/* V03.62 — Versão para celular (≤ 820 px): páginas 2, 4 e 6 e estouro horizontal. Desktop (≥ 821 px) inalterado. */
@media (max-width: 820px) {
  html, body { overflow-x: clip; }
  /* Página 2 */
  #manifesto .manifesto-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; }
  #manifesto .manifesto-side { height: auto; min-height: 0; padding: 26px 22px 22px; }
  #manifesto .manifesto-side p:last-child { font-size: 1.15rem; line-height: 1.55; }
  #manifesto .globo-painel { width: min(100%, 420px); margin: 0 auto; justify-self: center; }
  #manifesto .globo-painel .statement { left: 15%; right: 15%; font-size: clamp(1.05rem, 4.6vw, 1.5rem); }
  /* Página 4 */
  #cadeia .cadeia-top { flex-direction: column; align-items: flex-start; gap: 20px; }
  #cadeia .cadeia-img { width: 100%; max-width: 100%; height: auto; }
  #cadeia .flow li { padding: 26px 22px 26px 22px; }
  #cadeia .flow-n { position: static; left: auto; top: auto; margin: 0 0 12px; }
  /* Página 6 */
  #desempenho .desemp-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  #desempenho .desemp-esq { padding-right: 0; gap: 24px; }
  #desempenho h2 { font-size: clamp(1.7rem, 7vw, 2.2rem); }
  #desempenho .head-block .lead.strong { font-size: 1.15rem; line-height: 1.5; padding-left: 16px; }
  #desempenho .prej { margin: 0 auto; width: 92%; max-width: 420px; justify-self: center; }
  #desempenho .prej-no { width: 36%; font-size: .74rem; padding: 4px 6px; }
  #desempenho .prej-centro { font-size: 1.1rem; }
}

/* V03.63 — Página 1: frase de produtos acrescentada ao texto inicial */
#empresa .hero-produtos { margin: 22px 0 0; max-width: 760px; font-family: var(--font-display); font-weight: 600; font-size: clamp(1.25rem, 1.8vw, 1.7rem); line-height: 1.35; color: #0b1b4d; }
#empresa .hero-produtos + .hero-sub { margin-top: 14px; }

/* V03.65 — Página 1: menu 2×2 + Contato em largura dupla; texto resumido em duas frases, fonte maior */
@media (min-width: 981px) {
  .nav { grid-auto-flow: row; grid-template-columns: repeat(2, 240px); grid-template-rows: none; grid-auto-columns: auto; }
  .nav a.btn.btn-sm { grid-column: 1 / -1; justify-self: stretch; }
}
#empresa .hero-produtos { font-size: clamp(1.45rem, 2.2vw, 2.15rem); line-height: 1.3; max-width: 800px; }
#empresa .hero-lead { font-size: clamp(1.3rem, 1.85vw, 1.8rem); line-height: 1.55; max-width: 800px; margin-top: 18px; }

/* V03.66 — Página 1 (computador): "Precisão absoluta. Qualidade sem fronteiras." na mesma linha */
@media (min-width: 981px) {
  #empresa .hl { display: inline; }
  #empresa .hero-claim { white-space: nowrap; font-size: clamp(1.8rem, 2.95vw, 3.2rem); }
}

/* V03.66 — blocos azuis do menu (computador): fonte e blocos maiores */
@media (min-width: 981px) {
  .nav { grid-template-columns: repeat(2, 288px); gap: 16px 16px; }
  .nav a, .nav a:not(.btn), .nav a.btn, .nav a.btn.btn-sm { min-width: 0; min-height: 72px; font-size: 1.4rem; line-height: 1.15; text-align: center; }
}
@media (min-width: 981px) {
  .nav { grid-template-columns: repeat(2, clamp(250px, 23vw, 330px)); }
  .nav a, .nav a:not(.btn), .nav a.btn, .nav a.btn.btn-sm { font-size: clamp(1.1rem, 1.5vw, 1.35rem); white-space: nowrap; padding-inline: 12px; }
}
@media (min-width: 981px) { #empresa .hero-claim { font-size: clamp(2rem, 3.8vw, 3.6rem); } }

/* V03.68 — Página 2 (computador): globo menor, centralizado na vertical; texto "A Sig Cut..." maior */
@media (min-width: 821px) {
  #manifesto .manifesto-grid { grid-template-columns: 470px minmax(0, 1fr); gap: 32px; align-items: center; }
  #manifesto .manifesto-side { min-height: 0; align-self: center; height: auto; }
  #manifesto .manifesto-side p:last-child { font-size: 1.95rem; line-height: 1.5; }
  #manifesto .globo-painel { --gw: min(100%, 700px); width: var(--gw); margin: 0; align-self: center; justify-self: center; border-radius: 50%; }
}
@media (min-width: 821px) { #manifesto .globo-painel { transform: translateY(-130px); } }

/* V03.69 — Página 2 (computador): globo o maior possível (sangra até a borda direita), centro mantido na vertical */
@media (min-width: 821px) {
  #manifesto { overflow-x: clip; }
  #manifesto .manifesto-grid { gap: 20px; }
  #manifesto .globo-painel { --gw: calc(100% + max(0px, (100vw - 1204px) / 2) - 4px); width: var(--gw); justify-self: start; }
}

/* V03.70 — Página 2 (computador): globo maior, invadindo levemente o cartão de texto */
@media (min-width: 821px) {
  #manifesto .globo-painel { --gw: calc(100% + 55px + max(0px, (100vw - 1204px) / 2) - 4px); margin-left: -55px; position: relative; z-index: 3; }
}
