/* ============================================================
   GMTRACK — Shared Design System
   Consolidated from 10 HTML pages · June 2026
   ============================================================ */

/* ===== VARIABLES ===== */
:root {
  color-scheme: dark;
  /* Brand */
  --c-black: #010101;
  --c-charcoal: #232323;
  --c-dark-gray: #303030;
  --c-medium-gray: #3a3a3a;
  --c-yellow: #fcdf00;
  --c-yellow-hover: #e5cb00;
  --c-yellow-dark: #b8a300;
  --c-white: #ffffff;
  --c-green: #25D366;
  --c-green-hover: #1eb358;
  --c-red: #ff4d4d;
  --c-orange: #ff9c1f;

  /* Text */
  --text-primary: #ffffff;
  --text-secondary: #e6e6e6;
  --text-tertiary: #bdbdbd;
  --text-muted: rgba(255,255,255,0.7);
  --text-soft: rgba(255,255,255,0.55);

  /* Alpha scales */
  --y-07: rgba(252,223,0,.07);
  --y-10: rgba(252,223,0,.10);
  --y-14: rgba(252,223,0,.14);
  --y-18: rgba(252,223,0,.18);
  --y-22: rgba(252,223,0,.22);
  --y-32: rgba(252,223,0,.32);
  --y-40: rgba(252,223,0,.40);
  --g-10: rgba(37,211,102,.10);
  --g-22: rgba(37,211,102,.22);
  --g-35: rgba(37,211,102,.35);
  --k-55: rgba(0,0,0,.55);
  --k-65: rgba(0,0,0,.65);
  --k-85: rgba(0,0,0,.85);
  --k-88: rgba(0,0,0,.88);
  --k-95: rgba(1,1,1,.95);
  --w-04: rgba(255,255,255,.04);
  --w-06: rgba(255,255,255,.06);
  --w-08: rgba(255,255,255,.08);
  --w-10: rgba(255,255,255,.10);

  /* Backward-compatible aliases */
  --color-black: var(--c-black);
  --color-charcoal: var(--c-charcoal);
  --color-dark-gray: var(--c-dark-gray);
  --color-medium-gray: var(--c-medium-gray);
  --color-yellow: var(--c-yellow);
  --color-yellow-hover: var(--c-yellow-hover);
  --color-yellow-3: var(--c-yellow-dark);
  --color-white: var(--c-white);
  --color-green: var(--c-green);
  --color-green-2: var(--c-green-hover);
  --color-red: var(--c-red);
  --color-orange: var(--c-orange);
  --color-text-muted: var(--text-muted);
  --color-text-soft: var(--text-soft);
  --color-gray-500: #9a9a9a;
  --color-gray-200: var(--w-08);
  --txt: var(--text-primary);
  --txt-2: var(--text-secondary);
  --txt-3: var(--text-tertiary);
  --muted: #9a9a9a;
  --muted-2: #6f6f6f;

  /* Lines */
  --line: rgba(255,255,255,.08);
  --line-2: rgba(255,255,255,.12);

  /* Typography */
  --font-heading: 'Chakra Petch', sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --t-xs: 0.75rem;
  --t-sm: 0.8125rem;
  --t-base: 0.9375rem;

  /* Shadows */
  --sh-1: 0 8px 22px rgba(0,0,0,.5);
  --sh-2: 0 22px 60px rgba(0,0,0,.7);
  --neon-y: 0 0 24px var(--y-40), 0 0 56px var(--y-18);
  --neon-y-strong: 0 0 32px rgba(252,223,0,.55), 0 0 70px var(--y-32);
  --neon-g: 0 0 24px var(--g-35);

  /* Glass */
  --glass-bg: rgba(35,35,35,.55);
  --glass-blur: saturate(1.4) blur(18px);

  /* Gradients */
  --grad-base: linear-gradient(180deg, #232323 0%, #010101 100%);
  --grad-yellow: linear-gradient(135deg, #fcdf00 0%, #e5cb00 50%, #b8a300 100%);
  --grad-card-feat: linear-gradient(180deg, var(--y-10) 0%, var(--y-07) 60%, transparent 100%);

  /* Radius */
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-full: 999px;
  --border-radius: 8px;
  --border-radius-lg: 16px;

  /* Spacing */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-8: 48px;
  --s-10: 64px;
  --s-12: 80px;

  /* Layout */
  --container-width: 1200px;
  --section-padding: 80px 0;

  /* Transitions */
  --ease-out: cubic-bezier(.22,1,.36,1);
  --dur-fast: .18s;
  --dur-base: .3s;
}

/* ===== RESET ===== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; background: var(--color-black); }
::selection { background: var(--color-yellow); color: var(--color-black); }
body {
  font-family: var(--font-body);
  color: var(--color-white);
  line-height: 1.6;
  background: var(--grad-base);
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
  position: relative;
  min-height: 100vh;
  overflow-x: hidden;
}
p, li, h1, h2, h3 { text-wrap: pretty; }
:where(p) { max-width: 65ch; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); line-height: 1.2; }
h1, h2, h3 { text-wrap: balance; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; height: auto; display: block; }
.container { max-width: var(--container-width); margin: 0 auto; padding: 0 20px; }

/* ===== SKIP-TO-CONTENT (NEW) ===== */
.skip-link {
  position: absolute; top: -100%; left: 16px;
  background: var(--c-yellow); color: var(--c-black);
  padding: 12px 24px; border-radius: var(--r-sm);
  font-weight: 700; font-size: var(--t-sm);
  z-index: 10000; transition: top .2s;
}
.skip-link:focus { top: 16px; }

/* ===== FOCUS-VISIBLE (NEW) ===== */
a:focus-visible, button:focus-visible, .btn:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--c-yellow);
  outline-offset: 2px;
}

/* ===== BACKGROUND LAYERS ===== */
.bg-overlay,.bg-grid,.bg-halftone,.bg-lights,.fx-noise{position:fixed;inset:0;pointer-events:none}
.bg-overlay{z-index:0;background:radial-gradient(ellipse 65% 50% at 50% 45%,rgba(8,8,10,.30) 0%,rgba(8,8,10,0) 75%),linear-gradient(180deg,rgba(8,8,10,.15) 0%,rgba(8,8,10,.30) 50%,rgba(8,8,10,.20) 100%)}
.bg-grid{z-index:0;background-image:linear-gradient(rgba(252,223,0,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(252,223,0,.08) 1px,transparent 1px);background-size:48px 48px;opacity:.30;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 50%,transparent 0%,transparent 35%,#000 95%);mask-image:radial-gradient(ellipse 75% 65% at 50% 50%,transparent 0%,transparent 35%,#000 95%)}
.bg-halftone{z-index:0;background-image:radial-gradient(rgba(252,223,0,.32) 1px,transparent 1.6px);background-size:22px 22px;opacity:.08;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 75% 60% at 50% 35%,transparent 0%,transparent 40%,#000 100%);mask-image:radial-gradient(ellipse 75% 60% at 50% 35%,transparent 0%,transparent 40%,#000 100%)}
.bg-lights{z-index:0;background:radial-gradient(ellipse 55% 35% at 8% 12%,rgba(252,223,0,.16) 0%,transparent 65%),radial-gradient(ellipse 38% 30% at 92% 45%,rgba(255,255,255,.06) 0%,transparent 70%),radial-gradient(ellipse 48% 36% at 92% 90%,rgba(252,223,0,.14) 0%,transparent 65%),radial-gradient(ellipse 32% 26% at 5% 75%,rgba(255,255,255,.06) 0%,transparent 70%);mix-blend-mode:screen;opacity:.70}
.fx-noise{z-index:1;opacity:.035;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
body > main, body > section, body > footer{position:relative;z-index:2}
body > header{position:fixed;top:0;left:0;right:0;z-index:1000}
section{position:relative;z-index:2;overflow:hidden}
section > .container { position: relative; z-index: 2; }
.hl { color: var(--color-yellow); font-weight: 600; }

/* Fundo branco: .hl/.accent nos títulos = preto (amarelo apaga em bg claro) */
.features h1 .hl,.features h2 .hl,.features h3 .hl,.features h4 .hl,
.features h1 .accent,.features h2 .accent,.features h3 .accent,
.solutions h1 .hl,.solutions h2 .hl,.solutions h3 .hl,
.solutions h2 strong.hl,.solutions h3 strong.hl,
.feature-section.light h1 .hl,.feature-section.light h2 .hl,.feature-section.light h3 .hl,
.pillars h1 .hl,.pillars h2 .hl,.pillars h3 .hl,
.how-it-works h1 .hl,.how-it-works h2 .hl,.how-it-works h3 .hl,
.how-it-works h1 .accent,.how-it-works h2 .accent,.how-it-works h3 .accent,
.faq h1 .hl,.faq h2 .hl,.faq h3 .hl,
.faq h1 .accent,.faq h2 .accent,.faq h3 .accent,
.faq-section h1 .hl,.faq-section h2 .hl,.faq-section h3 .hl,
.faq-section h1 .accent,.faq-section h2 .accent,.faq-section h3 .accent,
.testimonials h1 .hl,.testimonials h2 .hl,.testimonials h3 .hl,
.testimonials h1 .accent,.testimonials h2 .accent,.testimonials h3 .accent,
.testimonials-section h1 .hl,.testimonials-section h2 .hl,.testimonials-section h3 .hl,
.pricing h1 .hl,.pricing h2 .hl,.pricing h3 .hl,
.pricing h1 .accent,.pricing h2 .accent,.pricing h3 .accent,
.contact-section h1 .hl,.contact-section h2 .hl,.contact-section h3 .hl,
.contact-section h1 .accent,.contact-section h2 .accent,.contact-section h3 .accent{
  color:#1a1a1a !important;text-shadow:none !important;
}

/* ===== TEXT EFFECTS ===== */
.accent{color:var(--color-yellow);text-shadow:0 0 22px var(--y-32),0 0 44px var(--y-14)}
.glitch{position:relative;display:inline-block;color:var(--color-yellow);text-shadow:0 0 22px var(--y-40),0 0 44px var(--y-18)}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;opacity:0;pointer-events:none}
.glitch::before{color:#ff3a3a;transform:translate(-2px,0);mix-blend-mode:screen;animation:glA 5s infinite}
.glitch::after{color:#3affe1;transform:translate(2px,0);mix-blend-mode:screen;animation:glB 5s infinite}
@keyframes glA{0%,90%,100%{opacity:0;transform:translate(0,0)}91%{opacity:.5;transform:translate(-3px,1px)}93%{opacity:.5;transform:translate(2px,-1px)}95%{opacity:.5;transform:translate(-2px,0)}}
@keyframes glB{0%,90%,100%{opacity:0;transform:translate(0,0)}92%{opacity:.45;transform:translate(3px,-1px)}94%{opacity:.45;transform:translate(-2px,1px)}96%{opacity:.45;transform:translate(2px,0)}}
.shine{position:relative;display:inline-block;color:var(--color-yellow);background:linear-gradient(110deg,#fcdf00 35%,#fff 45%,#fff 50%,#fcdf00 60%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:300% 100%;background-position:100% 0;animation:shine 4s ease-in-out infinite}
@keyframes shine{0%,100%{background-position:100% 0}50%{background-position:0% 0}}
.pulse-text{color:var(--color-yellow);font-weight:600;animation:pulseGlow 2.2s ease-in-out infinite}
@keyframes pulseGlow{0%,100%{text-shadow:0 0 8px rgba(252,223,0,.3),0 0 16px var(--y-14)}50%{text-shadow:0 0 16px rgba(252,223,0,.55),0 0 32px rgba(252,223,0,.30)}}

/* ===== EYEBROW / TAG SYSTEM ===== */
.eyebrow + h1, .eyebrow + h2, .eyebrow + h3, .eyebrow + h4 { margin-top: 16px; }
.eyebrow{display:inline-flex;align-items:center;gap:var(--s-2);padding:8px 14px 8px 12px;border:1px solid var(--color-yellow);border-radius:var(--r-full);background:var(--y-07);font-family:var(--font-mono);font-weight:600;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-yellow);width:fit-content;box-shadow:0 0 18px var(--y-10),inset 0 0 0 1px var(--y-07)}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--color-yellow);box-shadow:0 0 8px var(--color-yellow),0 0 0 3px var(--y-18)}
.eyebrow.green{border-color:var(--color-green);color:#9af2c1;background:var(--g-10);box-shadow:0 0 18px var(--g-10),inset 0 0 0 1px var(--g-10)}
.eyebrow.green::before{background:var(--color-green);box-shadow:0 0 8px var(--color-green),0 0 0 3px var(--g-22)}
.eyebrow.orange{border-color:var(--color-orange);color:#ffc88a;background:rgba(255,156,31,.08);box-shadow:0 0 18px rgba(255,156,31,.10),inset 0 0 0 1px rgba(255,156,31,.08)}
.eyebrow.orange::before{background:var(--color-orange);box-shadow:0 0 8px var(--color-orange),0 0 0 3px rgba(255,156,31,.22)}
.eyebrow.red{border-color:#e53e3e;color:#fca5a5;background:rgba(229,62,62,.08);box-shadow:0 0 18px rgba(229,62,62,.10),inset 0 0 0 1px rgba(229,62,62,.08)}
.eyebrow.red::before{background:#e53e3e;box-shadow:0 0 8px #e53e3e,0 0 0 3px rgba(229,62,62,.22)}
.tag-sm{font-size:.6875rem;padding:8px 14px 8px 12px}
.tag-yellow{border-color:var(--color-yellow);color:var(--color-yellow);background:var(--y-07);box-shadow:0 0 14px var(--y-10)}

/* ===== HALFTONE DECORATORS ===== */
.ht-dotgrad,.ht-lines{position:absolute;pointer-events:none;mix-blend-mode:screen;z-index:0}
.ht-dotgrad.y-r{top:0;right:0;width:34%;max-width:340px;height:70%;background-image:radial-gradient(rgba(252,223,0,.55) 1.4px,transparent 2px);background-size:16px 16px;-webkit-mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 75%);opacity:.30}
.ht-dotgrad.y-l{bottom:0;left:0;width:30%;max-width:300px;height:60%;background-image:radial-gradient(rgba(252,223,0,.5) 1.4px,transparent 2px);background-size:18px 18px;-webkit-mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 70%);opacity:.22}
.ht-dotgrad.w-r{bottom:0;right:0;width:28%;max-width:260px;height:55%;background-image:radial-gradient(rgba(255,255,255,.32) 1.2px,transparent 1.7px);background-size:14px 14px;-webkit-mask-image:radial-gradient(ellipse at bottom right,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at bottom right,#000 0%,transparent 72%);opacity:.20}
.ht-dotgrad.w-l{top:0;left:0;width:32%;max-width:300px;height:55%;background-image:radial-gradient(rgba(255,255,255,.28) 1.2px,transparent 1.7px);background-size:15px 15px;-webkit-mask-image:radial-gradient(ellipse at top left,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at top left,#000 0%,transparent 72%);opacity:.18}
.ht-lines.y-r{top:0;right:0;width:32%;max-width:320px;height:65%;background-image:repeating-linear-gradient(135deg,rgba(252,223,0,.32) 0,rgba(252,223,0,.32) 1px,transparent 1px,transparent 9px);-webkit-mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);opacity:.28}
.ht-lines.y-l{bottom:0;left:0;width:30%;max-width:300px;height:60%;background-image:repeating-linear-gradient(45deg,rgba(252,223,0,.28) 0,rgba(252,223,0,.28) 1px,transparent 1px,transparent 9px);-webkit-mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 72%);opacity:.22}
.ht-lines.w-l{bottom:0;left:0;width:28%;max-width:260px;height:55%;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0,rgba(255,255,255,.18) 1px,transparent 1px,transparent 10px);-webkit-mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 72%);opacity:.18}
.ht-lines.w-r{top:0;right:0;width:28%;max-width:260px;height:55%;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.18) 0,rgba(255,255,255,.18) 1px,transparent 1px,transparent 10px);-webkit-mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);opacity:.18}

/* ===== BG-PAT LIBRARY (texturas reutilizáveis, aplicar via div.bg-pat.NOME) ===== */
.bg-pat{position:absolute;inset:0;pointer-events:none;z-index:0}
.bg-pat.tactical-grid{background-image:linear-gradient(rgba(252,223,0,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(252,223,0,.18) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),radial-gradient(circle,rgba(252,223,0,.35) 1px,transparent 1.6px);background-size:64px 64px,64px 64px,16px 16px,16px 16px,64px 64px;opacity:.12}
.bg-pat.dot-matrix{background-image:linear-gradient(rgba(252,223,0,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(252,223,0,.2) 1px,transparent 1px),radial-gradient(circle,rgba(252,223,0,.5) 1.4px,transparent 2px);background-size:32px 32px,32px 32px,32px 32px;opacity:.12}
.bg-pat.ribbed-metal{background-image:linear-gradient(180deg,rgba(0,0,0,.7) 0%,transparent 35%,transparent 65%,rgba(0,0,0,.7) 100%),linear-gradient(180deg,transparent 28%,rgba(252,223,0,.14) 35%,rgba(252,223,0,.14) 45%,transparent 50%);background-size:100% 8px,100% 8px;opacity:.18}
.bg-pat.diamond-lattice{background-image:linear-gradient(45deg,rgba(252,223,0,.22) 0,rgba(252,223,0,.22) 1px,transparent 1px,transparent 24px),linear-gradient(-45deg,rgba(252,223,0,.22) 0,rgba(252,223,0,.22) 1px,transparent 1px,transparent 24px),radial-gradient(circle,rgba(252,223,0,.4) 1.2px,transparent 1.8px);background-size:24px 24px,24px 24px,24px 24px;opacity:.14}
.bg-pat.diag-stripes-y{background-image:repeating-linear-gradient(135deg,rgba(252,223,0,.24) 0,rgba(252,223,0,.24) 2px,transparent 2px,transparent 14px,rgba(252,223,0,.08) 14px,rgba(252,223,0,.08) 15px,transparent 15px,transparent 28px);opacity:.16}
.bg-pat.diag-stripes-w{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.15) 0,rgba(255,255,255,.15) 1px,transparent 1px,transparent 8px);opacity:.14}
.bg-pat.vstripes-w{background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.15) 0,rgba(255,255,255,.15) 1px,transparent 1px,transparent 8px);opacity:.14}
.bg-pat.hatch-dense{background-image:repeating-linear-gradient(45deg,rgba(252,223,0,.2) 0,rgba(252,223,0,.2) 1px,transparent 1px,transparent 6px),repeating-linear-gradient(-45deg,rgba(252,223,0,.2) 0,rgba(252,223,0,.2) 1px,transparent 1px,transparent 6px);opacity:.12}

/* ===== AMBIENT LIGHTS (add via ::after or div) ===== */
.amb-lights-tr::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 45% 40% at 85% 15%,rgba(252,223,0,.10) 0%,transparent 60%);pointer-events:none;z-index:0}
.amb-lights-bl::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 40% 35% at 12% 85%,rgba(252,223,0,.08) 0%,transparent 55%);pointer-events:none;z-index:0}
.amb-lights-tl::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 45% 40% at 10% 20%,rgba(252,223,0,.10) 0%,transparent 60%);pointer-events:none;z-index:0}
.amb-lights-br::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 40% 35% at 88% 80%,rgba(252,223,0,.08) 0%,transparent 55%);pointer-events:none;z-index:0}
.amb-lights-dual::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 45% 40% at 8% 20%,rgba(252,223,0,.10) 0%,transparent 55%),radial-gradient(ellipse 35% 30% at 90% 75%,rgba(255,255,255,.06) 0%,transparent 50%);pointer-events:none;z-index:0}

/* ===== ADDITIONAL HALFTONE VARIANTS ===== */
.ht-diamonds{position:absolute;pointer-events:none;mix-blend-mode:screen;z-index:0;top:0;right:0;width:30%;max-width:300px;height:60%;background-image:linear-gradient(45deg,rgba(252,223,0,.45) 1px,transparent 1px),linear-gradient(-45deg,rgba(252,223,0,.45) 1px,transparent 1px);background-size:14px 14px;-webkit-mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at top right,#000 0%,transparent 72%);opacity:.18}
.ht-circles-bl{position:absolute;pointer-events:none;mix-blend-mode:screen;z-index:0;bottom:0;left:0;width:28%;max-width:280px;height:55%;background-image:radial-gradient(circle at 20% 30%,rgba(252,223,0,.6) 0,rgba(252,223,0,.6) 10px,transparent 12px),radial-gradient(circle at 40% 60%,rgba(252,223,0,.45) 0,rgba(252,223,0,.45) 7px,transparent 9px),radial-gradient(circle at 15% 70%,rgba(252,223,0,.5) 0,rgba(252,223,0,.5) 14px,transparent 16px),radial-gradient(circle at 55% 40%,rgba(252,223,0,.35) 0,rgba(252,223,0,.35) 5px,transparent 7px);-webkit-mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at bottom left,#000 0%,transparent 70%);opacity:.22}
.ht-burst-br{position:absolute;pointer-events:none;mix-blend-mode:screen;z-index:0;bottom:0;right:0;width:25%;max-width:250px;height:50%;background-image:radial-gradient(circle,rgba(252,223,0,.65) 1px,transparent 1.6px);background-size:22px 22px;-webkit-mask-image:radial-gradient(circle at 100% 100%,#000 0%,#000 15%,transparent 60%);mask-image:radial-gradient(circle at 100% 100%,#000 0%,#000 15%,transparent 60%);opacity:.20}
.ht-wave-tl{position:absolute;pointer-events:none;mix-blend-mode:screen;z-index:0;top:0;left:0;width:35%;max-width:320px;height:60%;background-image:radial-gradient(rgba(252,223,0,.55) 1.4px,transparent 2.2px);background-size:16px 16px;-webkit-mask-image:linear-gradient(165deg,#000 0%,transparent 30%,#000 60%,transparent 100%);mask-image:linear-gradient(165deg,#000 0%,transparent 30%,#000 60%,transparent 100%);opacity:.18}

/* ===== REVEAL ANIMATION ===== */
.r{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.r.visible{opacity:1;transform:none}
.r-1{transition-delay:.1s}.r-2{transition-delay:.2s}.r-3{transition-delay:.3s}.r-4{transition-delay:.4s}.r-5{transition-delay:.5s}.r-6{transition-delay:.6s}

/* ===== SECTION TEXTURE ===== */
.section-texture { position: relative; }
.section-texture::before {
  content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(ellipse 60% 40% at 70% 30%, rgba(252,223,0,.04) 0%, transparent 70%);
  pointer-events: none; z-index: 0;
}

/* ===== SECTION DIVIDER ===== */
.section-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--y-18),var(--color-yellow),var(--y-18),transparent);margin:0;opacity:.6}

/* ===== BUTTONS ===== */
.btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  gap: var(--s-2); padding: 14px 22px; border-radius: var(--r-full);
  font-family: var(--font-body); font-weight: 700; font-size: var(--t-sm);
  letter-spacing: .02em; border: 1px solid var(--line);
  background: var(--color-charcoal); color: var(--txt);
  transition: transform var(--dur-fast) var(--ease-out), background var(--dur-base), border-color var(--dur-base), box-shadow .35s;
  cursor: pointer; text-align: center; overflow: hidden; min-height: 48px; line-height: 1.2;
}
.btn::after {
  content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, var(--w-10), transparent);
  transition: left .8s var(--ease-out);
}
.btn:hover { transform: translateY(-1px); border-color: var(--line-2); }
.btn:hover::after { left: 100%; }
.btn-yellow, .btn-primary {
  background: var(--color-yellow); border-color: var(--color-yellow); color: var(--color-black);
  box-shadow: 0 4px 16px var(--y-18);
}
.btn-yellow:hover, .btn-primary:hover {
  box-shadow: var(--neon-y);
  transform: translateY(-1px);
}
.btn-green { background: var(--color-green); border-color: var(--color-green); color: var(--color-black); }
.btn-green:hover { background: var(--color-green-2); box-shadow: var(--neon-g); }
.btn-outline { background: transparent; border: 1px solid rgba(255,255,255,.12); color: var(--txt); }
.btn-outline:hover { border-color: var(--color-yellow); color: var(--color-yellow); box-shadow: 0 0 0 1px var(--color-yellow) inset, 0 0 16px var(--y-18); }
.btn-lg { padding: 15px 28px; font-size: var(--t-base); min-height: 52px; }
.btn svg { width: 16px; height: 16px; }

/* ===== HEADER ===== */
header {
  position: sticky; top: 0; width: 100%;
  padding: 15px 0; z-index: 1000;
  transition: background var(--dur-base), padding var(--dur-base), border-color var(--dur-base), box-shadow var(--dur-base);
  background: rgba(1, 1, 1, .78);
  backdrop-filter: saturate(1.2) blur(14px); -webkit-backdrop-filter: saturate(1.2) blur(14px);
  border-bottom: 1px solid var(--line);
}
header.scrolled {
  background: var(--k-95);
  padding: 12px 0;
  border-bottom-color: var(--y-18);
  box-shadow: 0 4px 16px rgba(0,0,0,.4), 0 0 24px var(--y-07);
}
header .container { display: flex; justify-content: space-between; align-items: center; }
header .logo img { height: 28px; width: auto; }
header nav ul { display: flex; gap: 30px; }
header nav a {
  color: var(--color-white); font-family: var(--font-body); font-weight: 500; font-size: 0.9rem;
  transition: color 0.3s;
}
header nav a:hover { color: var(--color-yellow); }
.header-cta { display: flex; align-items: center; gap: 12px; }
.hamburger {
  display: none; background: none; border: none;
  color: var(--color-white); font-size: 26px; cursor: pointer;
  width: 44px; height: 44px; align-items: center; justify-content: center;
  padding: 0; z-index: 1001; -webkit-tap-highlight-color: transparent;
}

/* ===== FOOTER ===== */
footer {
  background-color: var(--color-black);
  border-top: 1px solid var(--y-18);
  color: var(--color-white);
  padding: 60px 0 30px;
  box-shadow: 0 -8px 32px var(--y-07);
}
.footer-grid {
  display: grid; grid-template-columns: 1.5fr 1fr 1fr;
  gap: 50px; margin-bottom: 50px; align-items: start;
}
.footer-logo img { height: 50px; margin-bottom: 20px; }
.footer-logo p {
  color: var(--color-text-muted); max-width: 300px; font-size: 0.9rem;
}
.footer-links { display: flex; gap: 60px; grid-column: 2 / -1; justify-content: center; }
.footer-col h4 {
  font-family: var(--font-body); letter-spacing: .08em; font-size: .6875rem;
  font-weight: 600; margin-bottom: 14px; text-transform: uppercase;
}
.footer-col ul li { margin-bottom: 10px; }
.footer-col ul a {
  color: var(--color-text-soft); font-size: .8125rem; transition: color 0.3s;
  font-family: var(--font-mono); font-weight: 500;
}
.footer-col ul a:hover { color: var(--color-yellow); }
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 30px; border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: .75rem; font-family: var(--font-mono); color: var(--color-text-muted);
}
.back-to-top {
  display: flex; align-items: center; gap: 5px;
  color: var(--color-text-muted); transition: color 0.3s;
}
.back-to-top:hover { color: var(--color-white); }
.footer-social { display: flex; gap: 12px; margin-top: 20px; }
.footer-social a {
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid var(--w-10);
  background: var(--w-04);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-text-muted);
  transition: all var(--dur-base);
}
.footer-social a:hover {
  border-color: var(--color-yellow);
  color: var(--color-yellow);
  box-shadow: 0 0 16px var(--y-18);
}
.footer-social a svg { width: 18px; height: 18px; }

/* ===== WHATSAPP FLOAT ===== */
.wa-float {
  position: fixed; bottom: 24px; right: 24px; width: 56px; height: 56px;
  background: #25D366; border-radius: 50%;
  box-shadow: 0 4px 12px rgba(37,211,102,.45);
  z-index: 1000; display: flex; align-items: center; justify-content: center;
  transition: transform .25s ease, box-shadow .25s ease;
  text-decoration: none;
}
.wa-float:hover { transform: scale(1.08); box-shadow: 0 6px 20px rgba(37,211,102,.55); }
.wa-float svg { width: 28px; height: 28px; fill: #fff; flex-shrink: 0; }
.wa-float::after {
  content: ''; position: absolute; inset: 0;
  border-radius: 50%; background: #25D366;
  animation: wa-pulse 2s ease-out infinite;
  z-index: -1;
}
@keyframes wa-pulse {
  0% { transform: scale(1); opacity: .45; }
  100% { transform: scale(1.7); opacity: 0; }
}

/* ===== COOKIE BANNER ===== */
.cookie-banner {
  position: fixed; bottom: 14px; left: 50%; transform: translateX(-50%);
  max-width: 560px; width: calc(100% - 32px); padding: 13px 16px;
  border-radius: 14px;
  border: 1px solid rgba(252,223,0,.55);
  background: rgba(12,12,12,.92);
  box-shadow: 0 10px 28px rgba(0,0,0,.5), 0 0 14px var(--y-10);
  z-index: 10000;
  display: none; align-items: center; gap: 14px;
  font-size: .8125rem; color: #d4d4d4;
}
.cookie-banner a { color: var(--color-yellow); text-decoration: underline; }
.cookie-actions { display: flex; gap: 8px; flex-shrink: 0; }
.btn-cookie-config {
  background: transparent; border: 1px solid rgba(255,255,255,.2);
  color: #fff; border-radius: 999px; padding: 8px 16px;
  font-size: .75rem; font-family: var(--font-body); font-weight: 600;
  cursor: pointer; min-height: 42px;
}
.btn-cookie-accept {
  background: var(--color-yellow); border: none; color: var(--color-black);
  border-radius: 999px; padding: 8px 16px;
  font-size: .75rem; font-family: var(--font-body); font-weight: 700;
  cursor: pointer; min-height: 42px;
}
.cookie-config-panel {
  display: none; margin-top: 12px; padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.1);
  width: 100%;
}
.cookie-config-panel.active { display: block; }
.cookie-toggle {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 0; font-size: .8125rem; color: #d4d4d4;
}
.cookie-toggle span { font-weight: 600; color: #fff; }
.cookie-switch {
  position: relative; width: 40px; height: 22px;
  background: rgba(255,255,255,.15); border-radius: 11px;
  cursor: pointer; transition: background .3s; border: none;
}
.cookie-switch::after {
  content: ''; position: absolute; top: 2px; left: 2px;
  width: 18px; height: 18px; border-radius: 50%;
  background: #fff; transition: transform .3s;
}
.cookie-switch.on { background: var(--color-yellow); }
.cookie-switch.on::after { transform: translateX(18px); }
.cookie-switch.disabled { opacity: .5; cursor: default; }
.cookie-config-save {
  margin-top: 12px; width: 100%; padding: 10px;
  background: var(--color-yellow); border: none; color: var(--color-black);
  border-radius: 999px; font-size: .75rem; font-weight: 700;
  font-family: var(--font-body); cursor: pointer;
}

/* ===== MOBILE MENU ===== */
.mobile-menu {
  position: fixed; top: 0; left: 0; width: 100%; height: 100vh;
  background: rgba(1, 1, 1, 0.98); backdrop-filter: blur(20px);
  display: none; flex-direction: column; align-items: center;
  justify-content: center; gap: 20px; z-index: 9998;
}
.mobile-menu.active { display: flex; }
.mobile-close { position: absolute; top: 22px; right: 22px; background: none; border: none; color: var(--color-white); font-size: 30px; line-height: 1; cursor: pointer; z-index: 2; }
.mobile-close:hover { color: var(--color-yellow); }
.mobile-menu a {
  color: var(--color-white); font-family: var(--font-body);
  font-size: 1.2rem; font-weight: 600; transition: color 0.3s;
}
.mobile-menu a:hover { color: var(--color-yellow); }
.mobile-menu a.btn { color: var(--color-black); }
.mobile-menu a.btn:hover { color: var(--color-black); }
.mobile-menu .btn { margin-top: 12px; }

/* ===== MODAL ===== */
.modal-overlay {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(1, 1, 1, 0.85); backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  z-index: 9999; opacity: 0; visibility: hidden; transition: all 0.3s ease;
}
.modal-overlay.active { opacity: 1; visibility: visible; }
.modal-card {
  background: rgba(12,12,12,.92); border: 1px solid var(--y-18);
  border-radius: var(--r-lg); padding: 40px;
  width: 90%; max-width: 600px; position: relative;
  transform: translateY(20px); transition: transform 0.3s ease;
  max-height: 90vh; overflow-y: auto;
  box-shadow: 0 10px 28px rgba(0,0,0,.5), 0 0 14px var(--y-10);
}
.modal-overlay.active .modal-card { transform: translateY(0); }
.modal-close {
  position: absolute; top: 20px; right: 20px; background: none; border: none;
  font-size: 1.5rem; cursor: pointer; color: var(--color-text-soft);
  transition: color 0.3s;
}
.modal-close:hover { color: var(--color-yellow); }
.modal-card h2 {
  font-family: var(--font-heading); font-size: 1.8rem;
  margin-bottom: 10px; padding-right: 30px;
}
.modal-card > p { color: var(--color-text-muted); margin-bottom: 30px; }

/* Desktop-only line breaks */
@media (min-width: 769px) {
  .br-desk { display: inline; }
}

/* ===== RESPONSIVE — 992px (Tablet) ===== */
@media (max-width: 992px) {
  .footer-grid { grid-template-columns: 1fr; }
}

/* ===== RESPONSIVE — 768px (Mobile) ===== */
@media (max-width: 768px) {
  :root {
    --section-padding: 50px 0;
  }

  /* Header mobile */
  header nav, .header-cta { display: none; }
  .hamburger { display: flex; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); }
  header .container { justify-content: center; position: relative; }
  header .logo img { height: 24px; }

  /* Hide desktop-only line breaks */
  .br-desk { display: none; }

  /* Footer mobile */
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-links { flex-direction: row; justify-content: center; gap: 40px; grid-column: 1 / -1; }
  .footer-col { text-align: center; flex: 1; }
  .footer-col h4 { font-size: .8rem; margin-bottom: 12px; }
  .footer-col a { font-size: .85rem; }
  .footer-logo img { height: 36px; margin: 0 auto 16px; }
  .footer-logo p { font-size: .85rem; margin: 0 auto; text-align: center; }
  .footer-social { justify-content: center; }
  .footer-bottom {
    flex-direction: column; gap: 10px;
    text-align: center; font-size: 0.78rem;
  }

  /* Modal mobile */
  .modal-card { padding: 24px; width: 95%; }
  .modal-card h2 { font-size: 1.3rem; text-align: center; }
  .modal-card > p { text-align: center; }

  /* WhatsApp mobile — keep 56px minimum touch target */
  .wa-float { width: 56px; height: 56px; bottom: 16px; right: 16px; }

  /* Cookie mobile */
  .cookie-banner { flex-direction: column; text-align: center; bottom: 8px; left: 50%; transform: translateX(-50%); width: calc(100% - 16px); }
  .cookie-actions { width: 100%; justify-content: center; }

  /* Disable heavy bg layers on mobile */
  .bg-grid, .bg-halftone { display: none; }
  .bg-lights { opacity: .35; }
  .fx-noise { opacity: .02; }
}

/* ===== RESPONSIVE — 480px (Small Mobile) ===== */
@media (max-width: 480px) {
  .btn { padding: 10px 18px; font-size: 0.88rem; }
  .modal-card { padding: 20px; }
}

/* ===== RESPONSIVE — 360px (Extra Small) ===== */
@media (max-width: 360px) {
  .container { padding: 0 16px; }
  .btn { padding: 12px 16px; font-size: .75rem; }
  .btn-lg { padding: 13px 20px; font-size: .8rem; }
  .eyebrow { font-size: .6rem; padding: 6px 10px 6px 8px; }
}

/* ===== PREFERS-REDUCED-MOTION (NEW) ===== */
@media (prefers-reduced-motion: reduce) {
  .r { transition: none !important; opacity: 1 !important; transform: none !important; }
  .glitch::before, .glitch::after { animation: none !important; }
  .shine { animation: none !important; background: none !important; -webkit-text-fill-color: var(--c-yellow) !important; color: var(--c-yellow) !important; }
  .pulse-text { animation: none !important; }
  .wa-float::after { animation: none !important; }
}

/* ===== BACKDROP-FILTER FALLBACK (NEW) ===== */
@supports not (backdrop-filter: blur(1px)) {
  header { background: rgba(1, 1, 1, 0.95) !important; }
  .modal-overlay { background: rgba(1, 1, 1, 0.95) !important; }
  .mobile-menu { background: rgba(1, 1, 1, 0.98) !important; }
}

/* REFINAMENTO-PREMIUM */
/* Luzes e halftones mais sutis; grids com mais presença; texturas discretas */
.bg-grid { opacity: .55; }
.bg-halftone { opacity: .04; }
.bg-lights { opacity: .36; }
[class*="amb-lights-"]::after { opacity: .4; }
.ht-dotgrad { opacity: .10 !important; }
.ht-lines { opacity: .12 !important; }
.ht-diamonds { opacity: .09 !important; }
.bg-pat { opacity: .07 !important; }
.bg-pat.tactical-grid, .bg-pat.dot-matrix { opacity: .13 !important; }

/* EYEBROW-MOBILE */
@media (max-width: 768px){ .eyebrow{ display:flex; margin-left:auto; margin-right:auto; } }

/* Linha legal inline no rodapé */
.footer-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 8px; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .04em; color: var(--color-text-muted); }
.footer-legal a { color: var(--color-text-muted); transition: color .2s; }
.footer-legal a:hover { color: var(--color-yellow); }
@media (max-width: 768px){ .footer-bottom { flex-direction: column; gap: 12px; text-align: center; } }

/* HEADER-FIXED-OFFSET */
body{padding-top:79px;}
@media (max-width:768px){ body{padding-top:55px;} }

/* FORM-GLOBAL (consistência de campos em todas as páginas/modais) */
.form-group { margin-bottom: 16px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-control { width: 100%; box-sizing: border-box; padding: 13px 15px; border: 1px solid #3a3a3a; border-radius: 10px; font-family: 'Inter', sans-serif; font-size: 1rem; color: #fff; background-color: #232323; transition: border-color .3s; outline: none; }
.form-control::placeholder { color: #6f6f6f; }
.form-control:focus { border-color: #fcdf00; box-shadow: 0 0 0 3px rgba(252,223,0,.1); }
select.form-control { -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27%3E%3Cpath fill=%27%23999%27 d=%27M6 8L1 3h10z%27/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 34px; }
select.form-control option { background: #232323; color: #fff; }
textarea.form-control { resize: vertical; min-height: 110px; }
.modal-card .form-row { grid-template-columns: 1fr; }

/* ===== LGPD consent: respiro antes do botao Enviar (sobrepoe inline) ===== */
.lgpd-consent { margin-bottom: 34px !important; }

/* ===== Equilíbrio de linhas (evita 1ª linha longa + 2ª curta) ===== */
/* Global: evita viúvas/órfãs em qualquer parágrafo (progressivo, sem risco) */
p { text-wrap: pretty; }
/* Subtítulos e textos de destaque: linhas com larguras equilibradas */
.cta-body p, .subtitle, .section-header p, .feature-slide .text-content > p { text-wrap: balance; }
