@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root{
  --bg:#05070a; --panel:#0d1520; --panel2:#0f1c22;
  --blue:#2f8fe0; --blue-line:rgba(47,143,224,0.28); --blue-soft:rgba(47,143,224,0.08);
  --white:#f5f7fa; --gray:#8a97a3; --gray-dim:#5b6672;
  --urgent:#e6432f; --urgent-bg:#2a0e0a;
  --maxw:1080px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--white);font-family:'Inter',Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
a{color:inherit;text-decoration:none;}
.mono{font-family:'JetBrains Mono',monospace;}
.eyebrow{font-family:'JetBrains Mono',monospace;letter-spacing:4px;font-size:12px;color:var(--blue);text-transform:uppercase;font-weight:700;}
h1,h2,h3{line-height:1.15;font-weight:900;text-transform:uppercase;letter-spacing:-0.5px;}
.accent{color:var(--blue);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#25D366;color:#04150c;font-weight:800;padding:16px 30px;border-radius:8px;font-size:16px;border:none;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease;box-shadow:0 8px 24px rgba(37,211,102,0.25);}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(37,211,102,0.35);}
.btn.wide{width:100%;}
.btn.ghost{background:transparent;color:var(--white);border:1.5px solid var(--blue-line);box-shadow:none;}
.btn.whats{background:#25D366;color:#04150c;box-shadow:0 8px 24px rgba(37,211,102,0.25);}
.btn.whats:hover{box-shadow:0 12px 30px rgba(37,211,102,0.35);}
.photowrap{position:relative;}
.card{background:var(--panel);border:1px solid var(--blue-line);border-radius:14px;padding:26px;}
.tag{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1.5px;padding:6px 14px;border:1px solid var(--blue-line);border-radius:30px;color:var(--blue);text-transform:uppercase;font-weight:700;}
.section{padding:88px 0;position:relative;}
.section.tight{padding:56px 0;}
.section-head{max-width:640px;margin:0 auto 48px;text-align:center;}
.section-head h2{font-size:clamp(28px,4vw,42px);margin-top:12px;}
.section-head p{color:var(--gray);font-size:16px;margin-top:14px;line-height:1.6;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.center{text-align:center;}
.dark-band{background:linear-gradient(180deg,#070a0f,#0a0e14);border-top:1px solid #151d26;border-bottom:1px solid #151d26;}
.section-light{
  background:#eef0f2;
  --white:#10161d; --gray:#4a5561; --gray-dim:#6b7580;
  --panel:#ffffff; --panel2:#f5f7f8;
  --blue-line:rgba(31,111,196,0.22); --blue:#1f6fc4; --blue-soft:rgba(31,111,196,0.08);
  color:var(--white);
  border-top:1px solid #dde2e6; border-bottom:1px solid #dde2e6;
}
.section-light .check-item{box-shadow:0 1px 3px rgba(16,22,29,0.06);}
.section-light .card{box-shadow:0 2px 10px rgba(16,22,29,0.05);}

/* ---------- urgency bar ---------- */
#urgency{position:sticky;top:0;z-index:60;background:linear-gradient(90deg,var(--urgent-bg),#1a0805);border-bottom:1px solid rgba(230,67,47,0.4);padding:10px 0;}
#urgency .wrap{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;text-align:center;}
#urgency .txt{font-size:13px;font-weight:700;color:#ffdcd5;}
#urgency .txt b{color:#fff;}
#urgency a.mini{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1px;color:var(--urgent);background:#fff;padding:5px 12px;border-radius:20px;font-weight:800;white-space:nowrap;}

/* ---------- header ---------- */
header{padding:22px 0;}
header .wrap{display:flex;align-items:center;justify-content:space-between;}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:16px;letter-spacing:1px;}
.logo .stack{position:relative;width:28px;height:28px;flex-shrink:0;}
.logo .l{position:absolute;left:50%;transform:translateX(-50%);border-radius:2px;}
.logo .l1{bottom:0;width:28px;height:5px;background:#3a4854;}
.logo .l2{bottom:6px;width:21px;height:5px;background:#8fa3ad;}
.logo .l3{bottom:12px;width:15px;height:5px;background:#e7edf0;}
.logo .tri{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:13px solid var(--blue);}
header .datebadge{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--gray);}

/* ---------- hero ---------- */
#hero{position:relative;padding:60px 0 90px;overflow:hidden;}
#hero .mapbg{position:absolute;right:-8%;top:-10%;width:900px;height:720px;background-image:url('assets/mg_map_blue.svg');background-repeat:no-repeat;background-size:contain;opacity:0.16;pointer-events:none;}
#hero .pin{position:absolute;right:8%;top:18%;width:220px;height:220px;}
#hero .pin .ring{position:absolute;inset:0;border-radius:50%;border:1px solid var(--blue-line);animation:pulse 2.4s ease-out infinite;}
#hero .pin .ring2{position:absolute;inset:40px;border-radius:50%;border:1px solid var(--blue-line);animation:pulse 2.4s ease-out infinite .8s;}
#hero .pin .dot{position:absolute;left:50%;top:50%;width:14px;height:14px;background:var(--blue);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px rgba(47,143,224,0.8);}
#hero .pin .lbl{position:absolute;left:50%;top:calc(50% + 22px);transform:translateX(-50%);font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--blue);white-space:nowrap;letter-spacing:1px;}
@keyframes pulse{0%{transform:scale(0.6);opacity:1;}100%{transform:scale(1.4);opacity:0;}}
#hero .content{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr 0.85fr;gap:50px;align-items:center;}
#hero h1{font-size:clamp(38px,6vw,64px);margin-top:18px;}
#hero .sub{color:var(--gray);font-size:17px;margin-top:20px;max-width:520px;line-height:1.6;}
#hero .ctarow{margin-top:32px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
#hero .secure{font-size:12.5px;color:var(--gray-dim);display:flex;align-items:center;gap:6px;}
#hero .flagshowcase{position:relative;background:#fff;border-radius:20px;padding:56px 40px;box-shadow:0 20px 60px rgba(0,0,0,0.5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;aspect-ratio:4/5;}
#hero .flagshowcase img{width:78%;height:auto;}
#hero .flagshowcase .t{font-family:'JetBrains Mono',monospace;font-size:19px;color:#111;font-weight:800;letter-spacing:2px;line-height:1.5;text-align:center;}
#hero .datecards{display:flex;gap:12px;margin-top:34px;}
#hero .datecards .card{padding:14px 18px;flex:1;}
#hero .datecards .eyebrow{font-size:10px;}
#hero .datecards .v{font-size:16px;font-weight:800;margin-top:4px;}

/* ---------- leva cards ---------- */
.icard{text-align:left;}
.icard .ic{font-size:26px;margin-bottom:12px;}
.icard h4{font-size:16px;font-weight:800;text-transform:none;margin-bottom:8px;letter-spacing:0;}
.icard p{color:var(--gray);font-size:14px;line-height:1.55;}
.levaphoto{margin-top:32px;border-radius:16px;overflow:hidden;background:#0a0e14;border:1px solid var(--blue-line);}
.levaphoto img{width:100%;max-height:420px;object-fit:contain;display:block;margin:0 auto;}

/* ---------- quem ensina ---------- */
.teacher{display:flex;gap:22px;align-items:center;}
.teacher .ph{width:120px;height:120px;border-radius:14px;overflow:hidden;flex-shrink:0;}
.teacher .ph img{width:100%;height:100%;object-fit:cover;}
.teacher h4{font-size:19px;font-weight:800;text-transform:none;letter-spacing:0;}
.teacher .role{color:var(--blue);font-size:13px;font-weight:700;margin:4px 0 8px;}
.teacher p.bio{color:var(--gray);font-size:14px;line-height:1.55;}
.fgmbox{margin-top:26px;text-align:center;padding:28px;}
.fgmbox .badge{background:#fff;display:inline-block;border-radius:8px;padding:10px 18px;margin-bottom:16px;}
.fgmbox .badge img{height:30px;}

/* ---------- diagnostico ---------- */
.checklist{max-width:600px;margin:0 auto;}
.check-item{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--panel);border:1px solid var(--blue-line);border-radius:10px;margin-bottom:12px;cursor:pointer;transition:border-color .15s;}
.check-item:hover{border-color:var(--blue);}
.check-item input{width:20px;height:20px;accent-color:var(--blue);flex-shrink:0;}
.check-item span{font-size:15px;}
#verdict{margin-top:26px;padding:22px 24px;border-radius:10px;background:var(--blue-soft);border:1px solid var(--blue-line);text-align:center;font-size:15px;display:none;}
#verdict.show{display:block;}
#verdict b{color:var(--blue);}

/* ---------- problema nao e voce ---------- */
#dor{padding:80px 0;text-align:center;}
#dor p{font-size:clamp(20px,3vw,30px);font-weight:800;max-width:760px;margin:0 auto;line-height:1.35;}
#dor p .accent{display:block;margin-top:10px;}

/* ---------- cronograma ---------- */
.daycol h3{font-size:13px;color:var(--blue);font-family:'JetBrains Mono',monospace;letter-spacing:2px;margin-bottom:20px;}
.timeline{border-left:2px solid var(--blue-line);padding-left:22px;display:flex;flex-direction:column;gap:22px;}
.timeline .item{position:relative;}
.timeline .item:before{content:'';position:absolute;left:-28px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--blue);}
.timeline .time{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--blue);font-weight:700;}
.timeline .desc{font-size:14.5px;color:var(--white);margin-top:3px;}
.crongrid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}

/* ---------- prova visual ---------- */
.casesgrid{display:grid;grid-template-columns:2fr 1fr;gap:14px;}
.casesgrid .ph{border-radius:14px;overflow:hidden;height:280px;}
.casesgrid .ph img{width:100%;height:100%;object-fit:cover;}
.casecap{text-align:center;font-size:13px;color:var(--gray-dim);margin-top:16px;}
.casecap b{color:var(--gray);}

/* ---------- oferta ---------- */
#oferta .card{max-width:560px;margin:0 auto;text-align:center;border-color:var(--blue);}
.stacklist{text-align:left;margin:24px 0;display:flex;flex-direction:column;gap:14px;}
.stackrow{display:flex;justify-content:space-between;align-items:center;font-size:14.5px;padding-bottom:14px;border-bottom:1px dashed #1e2933;}
.stackrow .item{color:var(--white);}
.stackrow .val{color:var(--gray);font-family:'JetBrains Mono',monospace;font-size:13px;}
.stackrow .val.free{color:var(--blue);font-weight:700;}
.pricebox{margin-top:10px;}
.pricebox .old{color:#e6432f;text-decoration:line-through;font-size:22px;font-weight:700;}
.pricebox .new{font-size:48px;font-weight:900;color:#25D366;margin-top:2px;}
.pricebox .sub{color:var(--gray);font-size:13px;margin-top:4px;}
.paytags{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:18px 0;}

/* ---------- faq ---------- */
.faq-item{border-bottom:1px solid #1b232c;}
.faq-q{padding:22px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:700;font-size:15.5px;}
.faq-q .x{color:var(--blue);font-size:20px;transition:transform .2s;}
.faq-item.open .faq-q .x{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;color:var(--gray);font-size:14.5px;line-height:1.6;}
.faq-item.open .faq-a{max-height:240px;padding-bottom:22px;}

/* ---------- fechamento ---------- */
#fechamento{text-align:center;padding:90px 0;}
#fechamento h2{font-size:clamp(28px,4.5vw,44px);max-width:760px;margin:0 auto;}
#fechamento p{color:var(--gray);margin:18px 0 34px;font-size:16px;}

/* ---------- footer ---------- */
footer{padding:40px 0 100px;text-align:center;color:var(--gray-dim);font-size:12.5px;}
footer .logo{justify-content:center;margin-bottom:14px;}

/* ---------- sticky bottom cta (mobile) ---------- */
#stickybar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(5,7,10,0.95);backdrop-filter:blur(8px);border-top:1px solid var(--blue-line);padding:12px 16px;display:none;align-items:center;justify-content:space-between;gap:12px;}
#stickybar .btn{padding:12px 20px;font-size:14px;white-space:nowrap;}
#stickybar .txt{font-size:12px;color:var(--gray);}

@media (max-width:640px){
  header .wrap{flex-direction:column;gap:8px;align-items:flex-start;}
  #urgency .wrap{gap:8px;}
}
@media (max-width:860px){
  .grid3{grid-template-columns:1fr;}
  .grid2{grid-template-columns:1fr;}
  #hero .content{grid-template-columns:1fr;}
  #hero .flagshowcase{max-width:300px;margin:0 auto;order:-1;padding:36px 24px;}
  #hero .datecards{flex-direction:column;}
  .teacher{flex-direction:column;text-align:center;}
  .crongrid{grid-template-columns:1fr;gap:50px;}
  .casesgrid{grid-template-columns:1fr;}
  .casesgrid .ph{height:220px;}
  #stickybar{display:flex;}
  body{padding-bottom:74px;}
  .section{padding:64px 0;}
}
