:root{
  --bg:#FAFAF8;
  --bg-deep:#F3F1EC;
  --ink:#0E1416;
  --ink-soft:#4A5457;
  --line:#DDE1E0;
  --teal:#0FA3A3;
  --teal-deep:#0B6E6E;
  --teal-pale:#E4F5F3;
  --white:#FFFFFF;
  --radius:2px;
  --maxw:1180px;
  --serif:'Fraunces', Georgia, serif;
  --sans:'Inter', -apple-system, sans-serif;
  --mono:'JetBrains Mono', monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;} *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}}
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
@media(min-width:900px){.wrap{padding:0 48px;}}

.eyebrow{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--teal-deep);
  display:flex;align-items:center;gap:10px;
  margin-bottom:18px;
}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--teal);}

h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-0.01em;color:var(--ink);}
h1{font-size:clamp(34px,6vw,64px);line-height:1.05;font-weight:500;}
h2{font-size:clamp(28px,4.2vw,44px);line-height:1.12;}
h3{font-size:20px;line-height:1.3;}
p{color:var(--ink-soft);}
.lede{font-size:clamp(17px,2vw,20px);color:var(--ink-soft);max-width:640px;}

section{padding:88px 0;border-bottom:1px solid var(--line);}
@media(max-width:640px){section{padding:64px 0;}}

/* ---------- NAV ---------- */
header.site{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:rgba(250,250,248,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:var(--maxw);margin:0 auto;}
@media(min-width:900px){.nav{padding:18px 48px;}}
.brand{font-family:var(--serif);font-size:18px;letter-spacing:0.01em;}
.brand strong{font-weight:600;}
.nav-cta{
  font-family:var(--mono);font-size:12px;letter-spacing:0.06em;text-transform:uppercase;
  background:var(--ink);color:var(--white);padding:11px 20px;border-radius:var(--radius);
  border:1px solid var(--ink); transition:background .2s, color .2s;
}
.nav-cta:hover{background:var(--teal-deep);border-color:var(--teal-deep);}

/* ---------- HERO ---------- */
.hero{
  padding:150px 0 90px;
  border-bottom:1px solid var(--line);
  position:relative;
  background:
    radial-gradient(ellipse 900px 500px at 85% -10%, var(--teal-pale) 0%, transparent 60%);
}
.hero-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:start;}
@media(min-width:980px){.hero-grid{grid-template-columns:1.15fr 0.85fr;gap:64px;}}
.hero h1{margin-bottom:22px;}
.hero h1 em{font-style:italic;color:var(--teal-deep);}
.hero-cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;}
.btn-primary{
  font-family:var(--mono);font-size:13px;letter-spacing:0.06em;text-transform:uppercase;
  background:var(--teal-deep);color:var(--white);padding:16px 30px;border-radius:var(--radius);
  border:1px solid var(--teal-deep); display:inline-flex;align-items:center;gap:10px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(11,110,110,0.45);}
.btn-secondary{
  font-family:var(--mono);font-size:13px;letter-spacing:0.06em;text-transform:uppercase;
  background:transparent;color:var(--ink);padding:16px 26px;border-radius:var(--radius);
  border:1px solid var(--ink); transition:background .18s, color .18s;
}
.btn-secondary:hover{background:var(--ink);color:var(--white);}
.hero-meta{display:flex;flex-wrap:wrap;gap:22px;margin-top:30px;font-family:var(--mono);font-size:12px;color:var(--ink-soft);letter-spacing:0.03em;}
.hero-meta span{display:flex;align-items:center;gap:8px;}
.hero-meta span::before{content:'';width:6px;height:6px;background:var(--teal);border-radius:50%;}

.hero-card{
  border:1px solid var(--line);background:var(--white);border-radius:var(--radius);
  padding:28px; position:relative;
}
.hero-card .tag{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--teal-deep);border:1px solid var(--teal);display:inline-block;padding:4px 10px;border-radius:var(--radius);margin-bottom:16px;}
.hero-card dl{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;font-size:14px;}
.hero-card dt{color:var(--ink-soft);font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;}
.hero-card dd{color:var(--ink);font-weight:500;text-align:right;}
.hero-card hr{border:none;border-top:1px solid var(--line);margin:18px 0;}

/* ---------- PROBLEM ---------- */
.problem-grid{display:grid;grid-template-columns:1fr;gap:40px;margin-top:44px;}
@media(min-width:900px){.problem-grid{grid-template-columns:repeat(3,1fr);}}
.problem-card{border-top:2px solid var(--ink);padding-top:20px;}
.problem-card .n{font-family:var(--mono);font-size:12px;color:var(--teal-deep);margin-bottom:12px;display:block;}

/* ---------- COMPARISON ---------- */
.compare{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px;border-radius:var(--radius);overflow:hidden;}
@media(min-width:800px){.compare{grid-template-columns:1fr 1fr;}}
.compare-col{background:var(--white);padding:32px;}
.compare-col.highlight{background:var(--ink);color:var(--white);}
.compare-col.highlight p, .compare-col.highlight li{color:#D7E4E3;}
.compare-col h3{margin-bottom:18px;}
.compare-col.highlight h3{color:var(--white);}
.compare-col ul{list-style:none;}
.compare-col li{padding:10px 0;border-top:1px solid var(--line);font-size:15px;display:flex;gap:10px;}
.compare-col.highlight li{border-top:1px solid rgba(255,255,255,0.14);}
.compare-col li::before{content:'—';color:var(--ink-soft);flex-shrink:0;}
.compare-col.highlight li::before{content:'✓';color:var(--teal);}

/* ---------- LEARN CARDS ---------- */
.card-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px;}
@media(min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:980px){.card-grid{grid-template-columns:repeat(3,1fr);}}
.learn-card{background:var(--white);padding:30px 26px;transition:background .2s;}
.learn-card:hover{background:var(--teal-pale);}
.learn-card .idx{font-family:var(--mono);font-size:11px;color:var(--teal-deep);}
.learn-card h3{margin:14px 0 10px;font-size:18px;}
.learn-card p{font-size:14.5px;}

/* ---------- CASE FILES (signature element) ---------- */
.cases{background:var(--ink);color:var(--white);}
.cases h2{color:var(--white);}
.cases .lede{color:#C7D3D2;}
.case-rail{display:grid;grid-template-columns:1fr;gap:18px;margin-top:48px;}
@media(min-width:860px){.case-rail{grid-template-columns:repeat(3,1fr);}}
.case-file{
  border:1px solid rgba(255,255,255,0.16);
  background:rgba(255,255,255,0.03);
  border-radius:var(--radius);
  padding:26px;
  position:relative;
  font-family:var(--sans);
}
.case-file .tab{
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:#89C9C4; border:1px solid rgba(137,201,196,0.5); display:inline-block;
  padding:3px 9px;border-radius:var(--radius);margin-bottom:16px;
}
.case-file h3{color:var(--white);font-size:19px;margin-bottom:10px;}
.case-file p{color:#B9C6C5;font-size:14.5px;}
.case-file .redact{
  display:inline-block;background:#233030;color:#233030;border-radius:2px;
  padding:0 4px;user-select:none;
}
.case-file .status{
  margin-top:18px;padding-top:16px;border-top:1px dashed rgba(255,255,255,0.18);
  font-family:var(--mono);font-size:11.5px;color:#89C9C4;letter-spacing:.04em;
}

/* ---------- TECH STRIP ---------- */
.tech-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px;}
@media(min-width:760px){.tech-strip{grid-template-columns:repeat(4,1fr);}}
.tech-item{background:var(--white);padding:26px 20px;text-align:left;}
.tech-item .mono-num{font-family:var(--mono);font-size:11px;color:var(--teal-deep);display:block;margin-bottom:10px;}
.tech-item h4{font-family:var(--serif);font-size:16px;font-weight:500;margin-bottom:6px;}
.tech-item p{font-size:13.5px;}

/* ---------- AUTHORITY (Quem é) ---------- */
.authority{display:grid;grid-template-columns:1fr;gap:48px;}
@media(min-width:980px){.authority{grid-template-columns:0.9fr 1.1fr;align-items:start;}}
.authority-media{
  aspect-ratio:4/5;background:linear-gradient(160deg,#0E1416,#123230);border-radius:var(--radius);
  display:flex;align-items:flex-end;padding:26px;position:relative;overflow:hidden;
}
.authority-media .caption{color:#B9C6C5;font-family:var(--mono);font-size:12px;letter-spacing:.03em;}
.credential-list{list-style:none;margin-top:26px;}
.credential-list li{
  display:grid;grid-template-columns:80px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line);
  font-size:14.5px;align-items:baseline;
}
.credential-list li:first-child{border-top:1px solid var(--ink);}
.credential-list .yr{font-family:var(--mono);color:var(--teal-deep);font-size:13px;}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:32px;}
.stat{background:var(--white);padding:22px 16px;text-align:center;}
.stat .num{font-family:var(--serif);font-size:clamp(24px,3vw,34px);color:var(--teal-deep);display:block;}
.stat .lbl{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-top:6px;display:block;}

/* ---------- FOR WHOM ---------- */
.forwhom-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:40px;}
@media(min-width:760px){.forwhom-grid{grid-template-columns:1fr 1fr;gap:14px 40px;}}
.forwhom-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);}
.forwhom-item .check{color:var(--teal-deep);font-family:var(--mono);flex-shrink:0;}

/* ---------- INCLUDED / BONUS ---------- */
.included-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px;}
@media(min-width:760px){.included-grid{grid-template-columns:repeat(2,1fr);}}
.included-item{background:var(--white);padding:22px 26px;display:flex;gap:14px;align-items:flex-start;}
.included-item .mark{color:var(--teal-deep);font-family:var(--mono);font-size:14px;}
.bonus-cards{display:grid;grid-template-columns:1fr;gap:20px;margin-top:36px;}
@media(min-width:760px){.bonus-cards{grid-template-columns:1fr 1fr;}}
.bonus-card{border:1px solid var(--teal);background:var(--teal-pale);border-radius:var(--radius);padding:28px;}
.bonus-card .tag{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-deep);margin-bottom:12px;display:block;}
.bonus-card h3{margin-bottom:10px;}

/* ---------- TESTIMONIAL PLACEHOLDER ---------- */
.testi-note{
  border:1px dashed var(--line);padding:26px;border-radius:var(--radius);margin-top:40px;background:var(--bg-deep);
}
.testi-note p{font-size:14px;}

/* ---------- HOW IT WORKS (steps) ---------- */
.steps-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px;position:relative;}
@media(min-width:860px){.steps-grid{grid-template-columns:repeat(3,1fr);}}
.step-card{background:var(--white);padding:32px 28px;position:relative;}
.step-card .step-num{
  font-family:var(--serif);font-size:15px;color:var(--white);background:var(--teal-deep);
  width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;
}
.step-card h3{margin-bottom:10px;}
.step-card p{font-size:14.5px;}
.step-card .step-meta{
  margin-top:16px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;
  color:var(--teal-deep);
}
@media(min-width:860px){
  .step-card:not(:last-child)::after{
    content:'→';position:absolute;right:-13px;top:32px;color:var(--ink-soft);
    background:var(--bg);width:26px;height:26px;display:flex;align-items:center;justify-content:center;
    z-index:2;font-family:var(--mono);
  }
}

/* ---------- FAQ ---------- */
.faq-list{margin-top:40px;border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{
  width:100%;text-align:left;background:none;border:none;padding:22px 0;
  display:flex;justify-content:space-between;align-items:center;cursor:pointer;
  font-family:var(--serif);font-size:18px;color:var(--ink);gap:20px;
}
.faq-q .plus{font-family:var(--mono);color:var(--teal-deep);font-size:20px;flex-shrink:0;transition:transform .25s ease;}
.faq-item[open] .plus{transform:rotate(45deg);}
.faq-a{padding:0 0 24px;font-size:15px;max-width:680px;}
.faq-item summary{list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}

/* ---------- FINAL CTA ---------- */
.final-cta{
  background:linear-gradient(160deg,#0E1416,#0B4A48);color:var(--white);text-align:left;border-bottom:none;
}
.final-cta h2{color:var(--white);}
.final-cta p{color:#C7D3D2;}
.final-cta .hero-meta span{color:#B9C6C5;}
.final-cta .hero-meta span::before{background:var(--teal);}

/* ---------- FOOTER ---------- */
footer{padding:48px 0 120px;font-size:13px;color:var(--ink-soft);}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;}

/* ---------- STICKY MOBILE CTA ---------- */
.sticky-cta{
  position:fixed;bottom:0;left:0;right:0;z-index:60;
  background:var(--white);border-top:1px solid var(--line);
  padding:12px 16px;display:flex;gap:10px;align-items:center;
  box-shadow:0 -8px 24px -12px rgba(0,0,0,0.15);
}
.sticky-cta a{flex:1;text-align:center;}
@media(min-width:900px){.sticky-cta{display:none;}}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
