/* ============================================================
   LOAD GRUPO — Landing Page v2
   Editorial dark · emerald #00DF81 · Poppins + Instrument Serif
   Inspired by modern agency layouts. Original implementation.
   ============================================================ */

:root{
  --ink:        #04checked; /* placeholder overwritten below */
}
:root{
  --ink:        #050b08;
  --ink-2:      #070f0b;
  --card:       #0a1410;
  --card-2:     #0d1a14;
  --card-hi:    #102219;
  --line:       rgba(255,255,255,.07);
  --line-em:    rgba(0,223,129,.28);

  --emerald:    #00DF81;
  --emerald-2:  #25ffa2;
  --emerald-dim:#0a8f57;
  --emerald-deep:#06electric; /* overwritten */
  --emerald-deep:#063d27;
  --glow:       rgba(0,223,129,.22);

  --white:      #eef6f1;
  --body:       #93a89d;
  --muted:      #62786e;
  --faint:      #37463f;

  --maxw: 1240px;
  --r-xl: 28px;
  --r:    20px;
  --r-sm: 14px;
  --r-pill: 999px;

  --ease: cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  background:var(--ink); color:var(--body);
  font-family:'Poppins',system-ui,sans-serif;
  font-size:16px; line-height:1.7; font-weight:300;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
::selection{ background:var(--emerald); color:#04150d; }

/* ============================================================
   TYPE
   ============================================================ */
.serif{ font-family:'Instrument Serif',Georgia,serif; font-style:italic; font-weight:400; letter-spacing:.005em; }
.kicker{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.26em;
  text-transform:uppercase; color:var(--emerald); font-weight:500;
  display:inline-flex; align-items:center; gap:9px;
}
.kicker .d{ width:6px; height:6px; border-radius:50%; background:var(--emerald);
  box-shadow:0 0 0 4px rgba(0,223,129,.16); }

h1,h2,h3,h4{ color:var(--white); font-weight:400; line-height:1.08; letter-spacing:-.02em; }
.display{ font-size:clamp(42px,6.2vw,80px); font-weight:400; line-height:1.02; letter-spacing:-.025em; color:var(--white); }
.h2{ font-size:clamp(30px,4.4vw,54px); font-weight:400; letter-spacing:-.025em; }
.h2 .serif{ font-size:1.06em; }
.display .serif{ font-size:1.04em; color:var(--emerald); }
.lead{ font-size:clamp(16px,1.35vw,19px); color:var(--body); font-weight:300; max-width:60ch; line-height:1.7; }
.em{ color:var(--emerald); }

/* ============================================================
   LAYOUT
   ============================================================ */
.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 26px; position:relative; z-index:1; }
section{ position:relative; }
.sec{ padding:clamp(70px,9vw,128px) 0; }
.sec-head{ max-width:780px; margin:0 auto clamp(44px,5vw,64px); text-align:center; }
.sec-head.left{ margin-left:0; margin-right:0; text-align:left; }
.sec-head .h2{ margin:18px 0 0; }
.sec-head .lead{ margin:20px auto 0; }
.sec-head.left .lead{ margin-left:0; }
.split-head{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin-bottom:clamp(40px,5vw,60px); }
.split-head .lead{ margin:0; font-size:15px; }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{ display:inline-flex; align-items:center; gap:10px; font-weight:500; font-size:15px;
  padding:15px 24px; border-radius:var(--r-pill); position:relative;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s, color .3s, border-color .3s; white-space:nowrap; }
.btn .ico{ width:26px; height:26px; border-radius:50%; display:grid; place-items:center; flex:none; transition:transform .3s var(--ease); }
.btn-primary{ background:var(--emerald); color:#04150d; font-weight:600; box-shadow:0 12px 36px -12px var(--glow); }
.btn-primary .ico{ background:rgba(4,21,13,.18); }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 20px 50px -14px var(--glow); }
.btn-primary:hover .ico{ transform:translateX(3px); }
.btn-ghost{ color:var(--white); border:1px solid var(--line); background:rgba(255,255,255,.02); }
.btn-ghost .ico{ background:var(--emerald); color:#04150d; }
.btn-ghost:hover{ border-color:var(--line-em); transform:translateY(-2px); }

/* ============================================================
   NAV
   ============================================================ */
.nav{ position:fixed; top:0; left:0; right:0; z-index:200; transition:background .4s, border-color .4s; border-bottom:1px solid transparent; }
.nav.scrolled{ background:rgba(5,11,8,.8); backdrop-filter:blur(16px) saturate(140%); border-bottom-color:var(--line); }
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:78px; gap:18px; }
.brand-logo{ height:28px; width:auto; }
.nav-menu{ display:flex; align-items:center; gap:2px; padding:5px; border:1px solid var(--line);
  border-radius:var(--r-pill); background:rgba(255,255,255,.02); }
.nav-menu a{ font-size:13.5px; font-weight:400; color:var(--body); padding:9px 16px; border-radius:var(--r-pill); transition:.25s; }
.nav-menu a:hover{ color:var(--white); background:rgba(255,255,255,.05); }
.burger{ display:none; width:46px; height:46px; border-radius:12px; border:1px solid var(--line); align-items:center; justify-content:center; }
.burger span{ display:block; width:18px; height:2px; background:var(--white); position:relative; transition:.3s; }
.burger span::before,.burger span::after{ content:""; position:absolute; left:0; width:18px; height:2px; background:var(--white); transition:.3s; }
.burger span::before{ top:-6px; } .burger span::after{ top:6px; }
.burger.open span{ background:transparent; }
.burger.open span::before{ top:0; transform:rotate(45deg); }
.burger.open span::after{ top:0; transform:rotate(-45deg); }
.mobile-menu{ position:fixed; inset:78px 0 auto 0; z-index:199; background:rgba(5,11,8,.98); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line); padding:16px 26px 26px; display:none; flex-direction:column; gap:2px;
  transform:translateY(-10px); opacity:0; transition:.3s var(--ease); }
.mobile-menu.open{ display:flex; transform:none; opacity:1; }
.mobile-menu a{ padding:14px 6px; font-size:16px; color:var(--white); border-bottom:1px solid var(--line); }
.mobile-menu .btn{ margin-top:14px; justify-content:center; }

/* ============================================================
   GLOW ARC (decor)
   ============================================================ */
.arc{ position:absolute; left:50%; transform:translateX(-50%); width:140%; max-width:1500px; pointer-events:none; z-index:0; opacity:.85; }
.arc svg{ width:100%; height:auto; display:block; }

/* ============================================================
   HERO
   ============================================================ */
.hero{ padding-top:120px; overflow:hidden; }
.hero-grid{ display:grid; grid-template-columns:1.02fr .98fr; gap:50px; align-items:center; }
.pill{ display:inline-flex; align-items:center; gap:9px; padding:7px 15px 7px 12px; border:1px solid var(--line);
  border-radius:var(--r-pill); background:rgba(0,223,129,.05); font-size:12.5px; color:var(--body); }
.pill .d{ width:7px; height:7px; border-radius:50%; background:var(--emerald); box-shadow:0 0 0 4px rgba(0,223,129,.16); animation:pulse 2.4s infinite; }
@keyframes pulse{ 50%{ box-shadow:0 0 0 8px rgba(0,223,129,0); } }
.hero h1{ margin:26px 0 22px; }
.hero h1 .ln{ display:block; }
.hero .lead{ margin-bottom:32px; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.hero-note{ margin-top:20px; font-size:12.5px; color:var(--muted); max-width:46ch; }

.hero-visual{ position:relative; }
.hero-photo{ position:relative; border-radius:var(--r-xl); overflow:hidden; border:1px solid var(--line); aspect-ratio:4/4.4; }
.hero-photo img{ width:100%; height:100%; object-fit:cover; }
.hero-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(5,11,8,.7)), radial-gradient(120% 80% at 70% 10%, rgba(0,223,129,.16), transparent 55%); }
.hero-chips{ position:absolute; left:18px; bottom:18px; right:18px; display:flex; gap:12px; z-index:3; }
.chip{ flex:1; background:rgba(7,15,11,.78); backdrop-filter:blur(8px); border:1px solid var(--line); border-radius:var(--r-sm); padding:14px 16px; }
.chip .n{ font-size:26px; font-weight:600; color:var(--white); letter-spacing:-.02em; line-height:1; }
.chip .n .em{ color:var(--emerald); }
.chip .l{ font-size:11px; color:var(--muted); margin-top:6px; line-height:1.3; }
/* floating live card */
.hero-live{ position:absolute; top:24px; right:-10px; width:min(280px,80%); z-index:4;
  background:rgba(8,18,13,.92); backdrop-filter:blur(10px); border:1px solid var(--line-em); border-radius:var(--r);
  padding:16px; box-shadow:0 30px 70px -28px rgba(0,0,0,.8); }
.hl-head{ display:flex; align-items:center; justify-content:space-between; }
.hl-head .t{ font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.hl-head .live{ display:flex; align-items:center; gap:6px; font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--emerald); }
.hl-head .live .d{ width:6px; height:6px; border-radius:50%; background:var(--emerald); animation:pulse 2s infinite; }
.hl-val{ font-size:28px; font-weight:600; color:var(--white); letter-spacing:-.02em; margin-top:8px; }
.hl-val small{ font-size:12px; color:var(--emerald); font-weight:500; margin-left:6px; }

/* cert strip */
.certs{ margin-top:46px; display:flex; align-items:center; gap:30px; flex-wrap:wrap; opacity:.85; }
.certs .lbl{ font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); }
.certs .item{ display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--body); font-weight:400; }
.certs .item svg{ width:18px; height:18px; color:var(--emerald); }

/* ============================================================
   MANIFESTO — imposing institutional stat band
   ============================================================ */
.manifesto{
  position:relative; overflow:hidden;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(0,223,129,.05), transparent 55%),
    linear-gradient(180deg, #050b08 0%, #020503 100%);
  background-color:#020604;
  padding:clamp(78px,10vw,140px) 0;
}
.mani-glow{
  position:absolute; top:-40%; left:50%; transform:translateX(-50%);
  width:1100px; height:700px; pointer-events:none; z-index:0;
  background:radial-gradient(ellipse at 50% 50%, rgba(0,223,129,.10), transparent 62%);
  filter:blur(8px);
}
.mani-rule{ position:absolute; left:0; right:0; height:1px; z-index:2;
  background:linear-gradient(90deg, transparent, rgba(0,223,129,.4), transparent); }
.mani-rule-top{ top:0; } .mani-rule-bot{ bottom:0; }
.mani-head{ text-align:center; max-width:760px; margin:0 auto clamp(50px,6vw,76px); position:relative; z-index:1; }
.mani-eyebrow{
  display:inline-block; font-family:'JetBrains Mono',monospace;
  font-size:clamp(11px,1.1vw,13px); letter-spacing:.46em; text-transform:uppercase;
  color:var(--emerald); font-weight:500; padding-left:.46em;
  position:relative;
}
.mani-eyebrow::before,.mani-eyebrow::after{
  content:""; position:absolute; top:50%; width:34px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(0,223,129,.5));
}
.mani-eyebrow::before{ right:calc(100% + 18px); transform:scaleX(-1); }
.mani-eyebrow::after{ left:calc(100% + 18px); }
.mani-deck{ margin-top:24px; font-size:clamp(15px,1.5vw,18px); color:var(--body); font-weight:300; line-height:1.6; }

.mani-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  position:relative; z-index:1;
}
.mani-col{
  padding:8px clamp(20px,2.4vw,34px); position:relative; text-align:center;
}
.mani-col + .mani-col::before{
  content:""; position:absolute; left:0; top:14%; bottom:14%; width:1px;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.1) 22%, rgba(255,255,255,.1) 78%, transparent);
}
.mani-tag{
  display:block; font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:20px;
}
.mani-num{
  display:flex; align-items:baseline; justify-content:center; gap:.08em;
  font-weight:700; line-height:.92; letter-spacing:-.03em;
  font-size:clamp(46px,5.6vw,82px);
  background:linear-gradient(165deg, #e9fff5 4%, #25ffa2 34%, #00DF81 60%, #0a8f57 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  filter:drop-shadow(0 4px 26px rgba(0,223,129,.22));
}
.mani-num .plus{ font-size:.5em; font-weight:600; letter-spacing:-.02em; align-self:flex-start; margin-top:.18em; }
.mani-num .unit{ font-size:.34em; font-weight:600; letter-spacing:.01em; text-transform:lowercase; }
.mani-num .unit .sq{ font-weight:500; }
.mani-title{
  font-size:clamp(16px,1.5vw,18px); font-weight:500; color:var(--white);
  letter-spacing:-.01em; line-height:1.3; margin:22px auto 12px; max-width:14ch;
}
.mani-sub{
  font-size:13px; color:var(--muted); line-height:1.6; font-weight:300;
  max-width:26ch; margin:0 auto;
}

@media (max-width:980px){
  .mani-grid{ grid-template-columns:1fr 1fr; gap:48px 0; }
  .mani-col:nth-child(3)::before,
  .mani-col + .mani-col::before{ display:none; }
  .mani-col:nth-child(even)::before{
    content:""; display:block; position:absolute; left:0; top:14%; bottom:14%; width:1px;
    background:linear-gradient(180deg, transparent, rgba(255,255,255,.1) 22%, rgba(255,255,255,.1) 78%, transparent);
  }
}
@media (max-width:560px){
  .mani-grid{ grid-template-columns:1fr; gap:0; }
  .mani-col{ padding:34px 8px; }
  .mani-col::before{ display:none !important; }
  .mani-col + .mani-col{ border-top:1px solid rgba(255,255,255,.07); }
  .mani-title,.mani-sub{ max-width:30ch; }
}

/* ============================================================
   STATS STRIP (legacy)
   ============================================================ */
.stats{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--ink-2); }
.stats-grid{ display:grid; grid-template-columns:repeat(5,1fr); }
.stat{ padding:38px 22px; border-right:1px solid var(--line); }
.stat:last-child{ border-right:none; }
.stat .num{ font-size:clamp(28px,3.2vw,42px); font-weight:500; color:var(--white); letter-spacing:-.02em; display:flex; align-items:baseline; gap:1px; line-height:1; }
.stat .num .em{ color:var(--emerald); }
.stat .lab{ font-size:12.5px; color:var(--muted); margin-top:11px; max-width:24ch; line-height:1.45; }

/* ============================================================
   GENERIC CARD
   ============================================================ */
.card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:28px; position:relative; overflow:hidden;
  transition:transform .4s var(--ease), border-color .4s, background .4s; }
.card:hover{ transform:translateY(-4px); border-color:var(--line-em); background:var(--card-2); }
.card .ic{ width:46px; height:46px; border-radius:13px; background:rgba(0,223,129,.1); border:1px solid var(--line-em); display:grid; place-items:center; color:var(--emerald); margin-bottom:18px; }
.card .ic svg{ width:22px; height:22px; }
.card .idx{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--emerald); letter-spacing:.1em; opacity:.7; }
.card h3{ font-size:20px; font-weight:500; margin:14px 0 9px; letter-spacing:-.01em; }
.card p{ font-size:14px; color:var(--body); line-height:1.6; }

.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }

/* ============================================================
   TEAM ("Quem está por trás")
   ============================================================ */
.team-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.member{ border:1px solid var(--line); border-radius:var(--r-xl); overflow:hidden; background:var(--card); transition:.4s var(--ease); }
.member:hover{ border-color:var(--line-em); transform:translateY(-4px); }
.member .photo{ position:relative; aspect-ratio:5/3.4; overflow:hidden; }
.member .photo img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; transition:transform .6s var(--ease); }
.member:hover .photo img{ transform:scale(1.04); }
.member .photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 45%, rgba(5,11,8,.85)); }
.member .role{ position:absolute; left:22px; bottom:16px; z-index:2; font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--emerald); letter-spacing:.08em; text-transform:uppercase; }
.member .body{ padding:24px 26px 28px; }
.member .body h3{ font-size:23px; font-weight:500; margin-bottom:12px; }
.member .body p{ font-size:13.5px; color:var(--body); margin-bottom:12px; line-height:1.6; }
.tags{ display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
.tag{ font-size:11px; font-family:'JetBrains Mono',monospace; color:var(--body); border:1px solid var(--line); border-radius:var(--r-pill); padding:5px 11px; background:rgba(255,255,255,.02); }
.tag.em{ color:var(--emerald); border-color:var(--line-em); background:rgba(0,223,129,.05); }

/* ============================================================
   BENTO (problema)
   ============================================================ */
.bento{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.bento .card.wide{ grid-column:span 2; }
.bento .pain-feature{ grid-column:span 1; grid-row:span 2; display:flex; flex-direction:column; justify-content:flex-end;
  background:linear-gradient(180deg, rgba(0,223,129,.12), rgba(10,20,16,.4)); border-color:var(--line-em); }
.bento .pain-feature .big{ font-family:'Instrument Serif',serif; font-style:italic; font-size:clamp(24px,2.4vw,32px); color:var(--white); line-height:1.2; }
.pain-quote{ margin-top:54px; text-align:center; max-width:920px; margin-inline:auto; }
.pain-quote p{ font-size:clamp(24px,3.4vw,42px); font-weight:400; color:var(--white); line-height:1.22; letter-spacing:-.02em; }

/* ============================================================
   PILLARS ("solução")
   ============================================================ */
.pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pillar{ background:var(--card); border:1px solid var(--line); border-radius:var(--r-xl); padding:30px; position:relative; overflow:hidden;
  transition:.4s var(--ease); display:flex; flex-direction:column; }
.pillar:hover{ border-color:var(--line-em); transform:translateY(-4px); }
.pillar .pn{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--emerald); letter-spacing:.16em; }
.pillar h3{ font-size:21px; font-weight:500; margin:14px 0 10px; }
.pillar p{ font-size:13.5px; color:var(--body); line-height:1.6; flex:1; }
.pillar .punch{ margin-top:18px; color:var(--emerald); font-size:13.5px; font-weight:500; display:flex; gap:8px; align-items:baseline; border-top:1px solid var(--line); padding-top:16px; }
.pillar .visual{ margin:6px 0 16px; }
/* node diagram mini */
.nodes{ display:flex; align-items:center; justify-content:center; gap:0; height:80px; }
.nodes .nd{ width:38px; height:38px; border-radius:11px; border:1px solid var(--line-em); background:rgba(0,223,129,.08); display:grid; place-items:center; color:var(--emerald); }
.nodes .ln{ flex:1; height:1px; background:linear-gradient(90deg,var(--emerald-dim),var(--emerald)); position:relative; }
.nodes .ln::after{ content:""; position:absolute; top:-2px; left:0; width:5px; height:5px; border-radius:50%; background:var(--emerald); box-shadow:0 0 8px var(--emerald); animation:flow 2.2s linear infinite; }
@keyframes flow{ to{ left:100%; } }
.ring-wrap{ display:flex; align-items:center; gap:16px; margin:4px 0 14px; }
.ring{ width:78px; height:78px; position:relative; flex:none; }
.ring svg{ width:100%; height:100%; transform:rotate(-90deg); }
.ring .rv{ position:absolute; inset:0; display:grid; place-items:center; font-weight:600; color:var(--white); font-size:15px; }
.ring-wrap .rt b{ display:block; color:var(--white); font-size:14px; font-weight:500; }
.ring-wrap .rt span{ font-size:12px; color:var(--muted); }
.bidash{ margin:6px 0 14px; }

/* ============================================================
   PROCESS LIST
   ============================================================ */
.proc{ display:flex; flex-direction:column; }
.prow{ display:grid; grid-template-columns:30px 1fr 240px; gap:26px; align-items:center; padding:30px 0; border-top:1px solid var(--line); }
.prow:last-child{ border-bottom:1px solid var(--line); }
.prow .pdot{ width:26px; height:26px; border-radius:50%; border:1px solid var(--emerald-dim); display:grid; place-items:center; }
.prow .pdot::after{ content:""; width:8px; height:8px; border-radius:50%; background:var(--faint); transition:.4s; }
.prow.lit .pdot{ border-color:var(--emerald); box-shadow:0 0 0 5px rgba(0,223,129,.1); }
.prow.lit .pdot::after{ background:var(--emerald); }
.prow .pmain .st{ font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--emerald); letter-spacing:.14em; }
.prow .pmain h3{ font-size:21px; font-weight:500; margin:6px 0 9px; }
.prow .pmain p{ font-size:13.5px; color:var(--body); max-width:58ch; line-height:1.6; }
.prow .pmain .tags{ margin-top:14px; }
.prow .pthumb{ aspect-ratio:16/10; border-radius:var(--r-sm); overflow:hidden; border:1px solid var(--line); position:relative; }
.prow .pthumb img{ width:100%; height:100%; object-fit:cover; }
.prow .pthumb.ph{ background:
   repeating-linear-gradient(135deg, rgba(0,223,129,.1) 0 10px, rgba(0,223,129,.03) 10px 20px);
   display:grid; place-items:center; }
.prow .pthumb.ph span{ font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--muted); letter-spacing:.06em; text-align:center; padding:0 14px; }

/* ============================================================
   DIFERENCIAIS
   ============================================================ */
.diff{ display:flex; gap:16px; padding:24px; border:1px solid var(--line); border-radius:var(--r); background:var(--card); transition:.4s var(--ease); }
.diff:hover{ border-color:var(--line-em); transform:translateY(-3px); }
.diff .chk{ width:36px; height:36px; flex:none; border-radius:10px; background:rgba(0,223,129,.1); border:1px solid var(--line-em); display:grid; place-items:center; color:var(--emerald); }
.diff h3{ font-size:16px; font-weight:500; line-height:1.35; margin-bottom:7px; }
.diff p{ font-size:13px; color:var(--body); line-height:1.55; }

/* ============================================================
   TROPHIES (prêmios)
   ============================================================ */
.trophy{ text-align:center; padding:36px 26px; border:1px solid var(--line); border-radius:var(--r-xl);
  background:linear-gradient(180deg, var(--card-2), var(--card)); transition:.4s var(--ease); }
.trophy:hover{ transform:translateY(-5px); border-color:var(--line-em); }
.bigring{ width:128px; height:128px; margin:0 auto 22px; position:relative; }
.bigring svg{ width:100%; height:100%; transform:rotate(-90deg); }
.bigring .rval{ position:absolute; inset:0; display:grid; place-items:center; font-weight:600; color:var(--white); font-size:21px; text-align:center; line-height:1.1; }
.bigring .rval small{ display:block; font-size:9.5px; color:var(--emerald); font-family:'JetBrains Mono',monospace; letter-spacing:.1em; margin-top:3px; }
.trophy .tg{ font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--emerald); letter-spacing:.14em; text-transform:uppercase; }
.trophy h3{ font-size:20px; font-weight:500; margin:8px 0 12px; }
.trophy p{ font-size:13px; color:var(--body); line-height:1.6; }
.premio-quote{ margin-top:50px; text-align:center; }
.premio-quote p{ font-size:clamp(22px,3vw,36px); font-weight:400; color:var(--white); max-width:840px; margin:0 auto; line-height:1.3; }

/* ============================================================
   PARTNERS
   ============================================================ */
.partner-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.partner{ display:flex; align-items:center; gap:20px; padding:28px; border:1px solid var(--line); border-radius:var(--r); background:var(--card); }
.partner .badge{ width:60px; height:60px; flex:none; border-radius:15px; display:grid; place-items:center; background:rgba(255,255,255,.03); border:1px solid var(--line-em); }
.partner h3{ font-size:18px; font-weight:500; margin-bottom:5px; }
.partner p{ font-size:13px; color:var(--body); }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testi-stage{ position:relative; max-width:920px; margin:0 auto; z-index:1; }
.testi-track{ overflow:hidden; }
.testi-row{ display:flex; transition:transform .55s var(--ease); }
.testi{ min-width:100%; display:grid; grid-template-columns:200px 1fr; gap:36px; align-items:center; padding:8px; }
.testi .ph{ aspect-ratio:1; border-radius:var(--r); border:1px solid var(--line); background:
   repeating-linear-gradient(135deg, rgba(0,223,129,.12) 0 9px, rgba(0,223,129,.03) 9px 18px);
   display:grid; place-items:center; font-family:'JetBrains Mono',monospace; font-size:9px; color:var(--muted); text-align:center; }
.testi .quote-mk{ font-family:'Instrument Serif',serif; font-style:italic; font-size:60px; color:var(--emerald); line-height:.6; }
.testi .quote{ font-size:clamp(18px,2vw,24px); color:var(--white); font-weight:300; line-height:1.45; margin:10px 0 18px; }
.testi .who b{ color:var(--white); font-weight:500; }
.testi .who span{ color:var(--muted); font-size:13px; }
.testi-ctrl{ display:flex; align-items:center; justify-content:center; gap:18px; margin-top:34px; }
.testi-ctrl button{ width:46px; height:46px; border-radius:50%; border:1px solid var(--line); color:var(--white); display:grid; place-items:center; transition:.3s; }
.testi-ctrl button:hover{ border-color:var(--line-em); color:var(--emerald); }
.testi-dots{ display:flex; gap:8px; }
.testi-dots i{ width:7px; height:7px; border-radius:50%; background:var(--faint); transition:.3s; cursor:pointer; }
.testi-dots i.on{ background:var(--emerald); width:22px; border-radius:4px; }
.testi-note{ margin-top:40px; max-width:760px; margin-inline:auto; text-align:center; font-size:13px; color:var(--muted); }
.testi-note strong{ color:var(--white); font-weight:500; }

/* ============================================================
   FAQ
   ============================================================ */
.faq-list{ max-width:860px; margin:0 auto; }
.qa{ border:1px solid var(--line); border-radius:var(--r); margin-bottom:12px; background:var(--card); overflow:hidden; transition:border-color .3s; }
.qa.open{ border-color:var(--line-em); }
.qa-q{ width:100%; text-align:left; display:flex; align-items:center; gap:16px; padding:22px 24px; color:var(--white); font-size:16px; font-weight:400; line-height:1.4; }
.qa-q .qn{ font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--emerald); opacity:.6; flex:none; }
.qa-q .pm{ margin-left:auto; flex:none; width:24px; height:24px; position:relative; }
.qa-q .pm::before,.qa-q .pm::after{ content:""; position:absolute; top:50%; left:50%; background:var(--emerald); transition:.35s var(--ease); }
.qa-q .pm::before{ width:13px; height:2px; transform:translate(-50%,-50%); }
.qa-q .pm::after{ width:2px; height:13px; transform:translate(-50%,-50%); }
.qa.open .pm::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
.qa-a{ max-height:0; overflow:hidden; transition:max-height .45s var(--ease); }
.qa-a-inner{ padding:0 24px 24px 52px; font-size:14px; color:var(--body); line-height:1.7; }

/* ============================================================
   CTA (let's turn ideas)
   ============================================================ */
.cta{ position:relative; text-align:center; overflow:hidden; padding:clamp(80px,11vw,150px) 0; }
.cta .inner{ position:relative; z-index:2; max-width:680px; margin:0 auto; }
.cta h2{ margin-bottom:26px; }
.cta-thumbs{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.cta-thumbs img{ position:absolute; border-radius:14px; border:1px solid var(--line); object-fit:cover; box-shadow:0 20px 50px -20px rgba(0,0,0,.7); opacity:.9; }
.ct1{ width:120px; height:90px; left:4%; top:18%; transform:rotate(-6deg); }
.ct2{ width:96px; height:120px; left:11%; bottom:14%; transform:rotate(5deg); }
.ct3{ width:110px; height:84px; right:5%; top:22%; transform:rotate(7deg); }
.ct4{ width:92px; height:112px; right:11%; bottom:16%; transform:rotate(-5deg); }

/* ============================================================
   FORM
   ============================================================ */
.form-grid{ display:grid; grid-template-columns:.92fr 1.08fr; gap:46px; align-items:start; }
.form-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--r-xl); padding:34px; box-shadow:0 40px 90px -42px rgba(0,0,0,.7); }
.field{ margin-bottom:16px; }
.field label{ display:block; font-size:12px; color:var(--body); margin-bottom:7px; }
.field label .req{ color:var(--emerald); }
.field input,.field select{ width:100%; padding:14px 16px; border-radius:12px; border:1px solid var(--line); background:rgba(0,0,0,.28);
  color:var(--white); font-family:inherit; font-size:14.5px; font-weight:300; transition:border-color .25s, box-shadow .25s; }
.field input::placeholder{ color:var(--faint); }
.field input:focus,.field select:focus{ outline:none; border-color:var(--emerald); box-shadow:0 0 0 3px rgba(0,223,129,.12); }
.field select{ appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2300DF81' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:42px; }
.field.two{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:16px; }
.field.two .field{ margin:0; }
.form-card .btn{ width:100%; justify-content:center; margin-top:6px; }
.field.err input,.field.err select{ border-color:#ff6b6b; }
.field .errmsg{ display:none; font-size:11px; color:#ff8585; margin-top:6px; }
.field.err .errmsg{ display:block; }
.form-micro{ font-size:12px; color:var(--muted); margin-top:14px; text-align:center; line-height:1.5; }
.form-ok{ display:none; text-align:center; padding:40px 10px; }
.form-ok.show{ display:block; }
.form-ok .big{ width:62px; height:62px; border-radius:50%; background:rgba(0,223,129,.12); display:grid; place-items:center; margin:0 auto 18px; color:var(--emerald); }
.form-ok h3{ font-size:23px; margin-bottom:10px; font-weight:500; }
.form-ok p{ font-size:14px; color:var(--body); }
.trust{ display:flex; flex-direction:column; gap:14px; margin-top:32px; }
.trust .ti{ display:flex; gap:14px; align-items:flex-start; }
.trust .ti .ic{ width:40px; height:40px; flex:none; border-radius:11px; background:rgba(0,223,129,.1); border:1px solid var(--line-em); display:grid; place-items:center; color:var(--emerald); }
.trust .ti b{ color:var(--white); font-size:14.5px; font-weight:500; display:block; }
.trust .ti span{ font-size:12.5px; color:var(--muted); }

/* ============================================================
   FOOTER
   ============================================================ */
.foot{ background:var(--ink-2); border-top:1px solid var(--line); position:relative; overflow:hidden; padding-top:clamp(60px,8vw,90px); }
.foot-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:36px; padding-bottom:46px; position:relative; z-index:1; }
.foot-logo{ height:30px; width:auto; margin-bottom:18px; }
.foot-brand p{ font-size:14px; color:var(--body); max-width:34ch; margin-bottom:22px; }
.foot-col h4{ font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.16em; margin-bottom:16px; font-weight:500; font-family:'JetBrains Mono',monospace; }
.foot-col a{ display:block; font-size:14px; color:var(--body); padding:6px 0; transition:color .2s; }
.foot-col a:hover{ color:var(--emerald); }
.foot-bot{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:24px 0 48px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); position:relative; z-index:1; }
.foot-badges{ display:flex; gap:10px; }
.foot-badges span{ font-size:10px; font-family:'JetBrains Mono',monospace; color:var(--muted); border:1px solid var(--line); border-radius:8px; padding:7px 11px; }

/* ============================================================
   LOAD MÍDIA
   ============================================================ */
.media-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.media-card{ border:1px solid var(--line); border-radius:var(--r-xl); overflow:hidden; background:var(--card); transition:.4s var(--ease); }
.media-card:hover{ border-color:var(--line-em); transform:translateY(-4px); }
.media-cover{ position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--ink-2); }
.media-cover image-slot{ display:block; }
.media-cover::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, transparent 45%, rgba(5,11,8,.55)); z-index:1; }
.media-badge{ position:absolute; top:16px; left:16px; z-index:3; display:inline-flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--white);
  background:rgba(5,11,8,.7); backdrop-filter:blur(6px); border:1px solid var(--line); border-radius:var(--r-pill); padding:7px 13px; }
.media-badge .bdot{ width:6px; height:6px; border-radius:50%; background:var(--emerald); box-shadow:0 0 0 3px rgba(0,223,129,.18); }
.media-play{ position:absolute; right:18px; bottom:18px; z-index:3; width:54px; height:54px; border-radius:50%;
  background:var(--emerald); color:#04150d; display:grid; place-items:center; transition:transform .3s var(--ease), box-shadow .3s;
  box-shadow:0 14px 34px -10px var(--glow); }
.media-play svg{ margin-left:2px; }
.media-card:hover .media-play{ transform:scale(1.08); box-shadow:0 20px 44px -12px var(--glow); }
.media-body{ padding:26px 28px 30px; }
.media-kicker{ font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--emerald); }
.media-body h3{ font-size:26px; font-weight:500; margin:10px 0 10px; letter-spacing:-.01em; }
.media-body p{ font-size:14px; color:var(--body); line-height:1.6; }
.media-body .tags{ margin-top:18px; }

/* ============================================================
   CRITÉRIOS DE SELEÇÃO
   ============================================================ */
.crit-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.crit-col{ border:1px solid var(--line); border-radius:var(--r-xl); padding:32px 30px; background:var(--card); }
.crit-col.yes{ border-color:var(--line-em); background:linear-gradient(180deg, rgba(0,223,129,.06), var(--card)); }
.crit-col.no{ background:linear-gradient(180deg, rgba(255,255,255,.02), var(--card)); }
.crit-head{ display:flex; align-items:center; gap:13px; font-size:18px; font-weight:500; color:var(--white); letter-spacing:-.01em;
  padding-bottom:22px; margin-bottom:8px; border-bottom:1px solid var(--line); }
.crit-ic{ width:30px; height:30px; flex:none; border-radius:9px; display:grid; place-items:center; }
.crit-ic.ok{ background:rgba(0,223,129,.14); color:var(--emerald); border:1px solid var(--line-em); }
.crit-ic.bad{ background:rgba(255,255,255,.05); color:var(--muted); border:1px solid var(--line); }
.crit-list{ list-style:none; }
.crit-list li{ position:relative; padding:15px 0 15px 28px; font-size:14.5px; color:var(--body); line-height:1.5;
  border-bottom:1px solid var(--line-soft, rgba(255,255,255,.04)); }
.crit-list li:last-child{ border-bottom:none; }
.crit-list li::before{ content:""; position:absolute; left:2px; top:22px; width:10px; height:10px; border-radius:50%; }
.crit-col.yes .crit-list li::before{ background:var(--emerald); box-shadow:0 0 0 3px rgba(0,223,129,.14); }
.crit-col.no .crit-list li::before{ background:var(--faint); }

@media (max-width:1000px){
  .media-grid{ grid-template-columns:1fr; }
  .crit-grid{ grid-template-columns:1fr; }
}

/* ============================================================
   REVEAL
   ============================================================ */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.08s; }
.reveal[data-d="2"]{ transition-delay:.16s; }
.reveal[data-d="3"]{ transition-delay:.24s; }
.reveal[data-d="4"]{ transition-delay:.32s; }
.reveal[data-d="5"]{ transition-delay:.4s; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  *{ animation:none !important; }
  html{ scroll-behavior:auto; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1000px){
  .nav-menu{ display:none; }
  .burger{ display:flex; }
  .hero-grid{ grid-template-columns:1fr; gap:40px; }
  .hero-visual{ max-width:520px; }
  .hero-live{ right:0; }
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .stat{ border-bottom:1px solid var(--line); }
  .stat:nth-child(odd){ border-right:1px solid var(--line); }
  .stat:nth-child(even){ border-right:none; }
  .grid-3,.pillars{ grid-template-columns:1fr 1fr; }
  .bento{ grid-template-columns:1fr 1fr; }
  .bento .pain-feature{ grid-row:span 1; }
  .team-grid,.partner-grid,.form-grid{ grid-template-columns:1fr; }
  .form-grid{ gap:32px; }
  .split-head{ grid-template-columns:1fr; gap:18px; }
  .prow{ grid-template-columns:24px 1fr 200px; gap:20px; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .foot-brand{ grid-column:1/-1; }
}
@media (max-width:640px){
  body{ font-size:15px; }
  .wrap{ padding:0 16px; }
  .grid-3,.grid-2,.pillars,.bento{ grid-template-columns:1fr; }
  .bento .card.wide{ grid-column:span 1; }
  .stats-grid{ grid-template-columns:1fr 1fr; }
  .hero-chips{ position:static; margin-top:14px; }
  .hero-live{ position:static; width:100%; margin-top:14px; }
  .prow{ grid-template-columns:1fr; gap:14px; }
  .prow .pdot{ display:none; }
  .prow .pthumb{ order:-1; }
  .testi{ grid-template-columns:1fr; gap:18px; text-align:center; }
  .testi .ph{ width:120px; margin:0 auto; }
  .field.two{ grid-template-columns:1fr; }
  .cta-thumbs{ display:none; }
  .foot-grid{ grid-template-columns:1fr; }
  .foot-bot{ flex-direction:column; align-items:flex-start; }
}
