
:root{
  --ink:#1c1114;
  --ink-soft:#3a2a2c;
  --cream:#fff9f2;
  --paper:#fffdfa;
  --orange-1:#ff7a1a;
  --orange-2:#ff3d3d;
  --peach:#ffe6cf;
  --peach-soft:#fff1e4;
  --teal:#0e6e62;
  --teal-soft:#e4f3ef;
  --line:#f0dfce;
  --shadow: 0 20px 50px -20px rgba(28,17,20,.25);
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --maxw: 1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:'Baloo 2',sans-serif;margin:0;line-height:1.05;}
.eyebrow{
  font-family:'Space Mono',monospace;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--orange-2);
  display:inline-flex;
  align-items:center;
  gap:.5em;
  font-weight:700;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
:focus-visible{outline:3px solid var(--orange-2);outline-offset:3px;border-radius:6px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* ---------- HEADER ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,249,242,.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  max-width:var(--maxw);margin:0 auto;padding:16px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand img{height:34px;width:auto;}
.nav-links{
  display:flex;gap:34px;list-style:none;margin:0;padding:0;
  font-weight:600;font-size:.96rem;
}
.nav-links a{position:relative;padding:6px 0;color:var(--ink-soft);}
.nav-links a::after{
  content:'';position:absolute;left:0;bottom:0;height:2px;width:0;
  background:linear-gradient(90deg,var(--orange-1),var(--orange-2));
  transition:width .25s ease;
}
.nav-links a:hover::after,.nav-links a:focus-visible::after{width:100%;}
.nav-actions{display:flex;align-items:center;gap:14px;}
.btn{
  font-family:'Inter',sans-serif;font-weight:700;font-size:.94rem;
  padding:11px 22px;border-radius:999px;border:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
  transition:transform .18s ease, box-shadow .18s ease, background .2s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
.btn-ghost:hover{background:var(--ink);color:var(--paper);}
.btn-primary{
  background:linear-gradient(120deg,var(--orange-1),var(--orange-2));
  color:#fff;box-shadow:0 10px 24px -8px rgba(255,61,61,.55);
}
.btn-primary:hover{box-shadow:0 14px 30px -8px rgba(255,61,61,.7);}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.menu-toggle span{display:block;width:24px;height:2.5px;background:var(--ink);margin:5px 0;border-radius:2px;}

/* ---------- ROUTE SPINE (signature element) ---------- */
.route-spine{
  position:absolute;left:50%;top:0;width:2px;height:100%;
  transform:translateX(-1px);pointer-events:none;z-index:0;
}
.route-svg{position:absolute;left:0;top:0;height:100%;width:2px;overflow:visible;}
.route-svg path{
  stroke:var(--orange-2);stroke-width:2;fill:none;stroke-dasharray:2 14;
  stroke-linecap:round;
  animation:dash-move 22s linear infinite;
}
@keyframes dash-move{to{stroke-dashoffset:-320;}}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;padding:76px 0 40px;}
.hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;
  position:relative;z-index:2;
}
.hero-copy h1{
  font-size:clamp(2.4rem,4.6vw,3.6rem);font-weight:800;letter-spacing:-.01em;
  margin:18px 0 20px;color:var(--ink);
}
.hero-copy h1 em{
  font-style:normal;
  background:linear-gradient(120deg,var(--orange-1),var(--orange-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-copy p{font-size:1.14rem;line-height:1.65;color:var(--ink-soft);max-width:520px;margin:0 0 30px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px;}
.hero-ctas .btn{padding:15px 30px;font-size:1rem;}
.trust-row{display:flex;gap:28px;flex-wrap:wrap;}
.trust-item{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--ink-soft);font-weight:600;}
.trust-item .dot{
  width:34px;height:34px;border-radius:10px;flex:none;
  background:var(--peach-soft);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-family:'Space Mono',monospace;
  font-weight:700;color:var(--orange-2);font-size:.85rem;
}
.hero-visual{position:relative;display:flex;justify-content:center;}
.hero-img-wrap{position:relative;z-index:2;width:min(900px,130%);margin-right:-15%;}
.hero-img-wrap img{border-radius:0;}

/* ---------- HOW IT WORKS ---------- */
.how{padding:70px 0;position:relative;}
.section-head{max-width:640px;margin:0 0 46px;}
.section-head h2{font-size:clamp(1.9rem,3vw,2.5rem);margin:14px 0 12px;font-weight:800;}
.section-head p{color:var(--ink-soft);font-size:1.05rem;line-height:1.6;margin:0;}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.how-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:32px 28px;position:relative;overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}
.how-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.how-card .num{
  font-family:'Space Mono',monospace;font-size:.78rem;color:var(--orange-2);font-weight:700;
  letter-spacing:.08em;
}
.how-card .ico{
  width:52px;height:52px;border-radius:16px;margin:16px 0 18px;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;
  background:linear-gradient(135deg,var(--peach),var(--peach-soft));
}
.how-card h3{font-size:1.28rem;margin-bottom:10px;font-weight:700;}
.how-card p{color:var(--ink-soft);font-size:.98rem;line-height:1.6;margin:0;}

/* ---------- BENEFITS ---------- */
.benefits{padding:60px 0 80px;}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.benefit{
  display:flex;gap:16px;align-items:flex-start;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);
  padding:22px;
}
.benefit .ico{
  flex:none;width:44px;height:44px;border-radius:12px;background:var(--teal-soft);color:var(--teal);
  display:flex;align-items:center;justify-content:center;font-size:1.15rem;
}
.benefit h4{margin:0 0 4px;font-family:'Inter',sans-serif;font-weight:700;font-size:1rem;}
.benefit p{margin:0;color:var(--ink-soft);font-size:.9rem;line-height:1.55;}

/* ---------- PLANS ---------- */
.plans{padding:80px 0;background:var(--ink);color:var(--paper);position:relative;}
.plans .section-head p{color:#d9c9c9;}
.plans .eyebrow{color:#ff9d5c;}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.plan-card{
  background:#241619;border:1px solid #3a2427;border-radius:var(--radius-lg);
  padding:34px 28px;display:flex;flex-direction:column;
  transition:transform .25s ease;
}
.plan-card:hover{transform:translateY(-6px);}
.plan-card.featured{
  background:linear-gradient(160deg,#3a1f18,#241619 60%);
  border-color:var(--orange-1);
  position:relative;
}
.plan-tag{
  align-self:flex-start;
  background:linear-gradient(120deg,var(--orange-1),var(--orange-2));
  color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:6px 12px;border-radius:999px;margin-bottom:18px;font-family:'Space Mono',monospace;
}
.plan-name{font-family:'Baloo 2',sans-serif;font-size:1.35rem;font-weight:700;margin-bottom:6px;}
.plan-desc{color:#c9b6b6;font-size:.9rem;margin-bottom:18px;line-height:1.5;}
.plan-price{display:flex;align-items:baseline;gap:6px;margin-bottom:24px;}
.plan-price .amount{font-family:'Baloo 2',sans-serif;font-size:2.3rem;font-weight:800;}
.plan-price .period{color:#c9b6b6;font-size:.9rem;}
.plan-feats{list-style:none;padding:0;margin:0 0 28px;flex:1;}
.plan-feats li{
  display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:#e8dcdc;
  padding:8px 0;border-top:1px solid #3a2427;
}
.plan-feats li:first-child{border-top:none;}
.plan-feats li::before{content:'✓';color:var(--orange-1);font-weight:800;flex:none;}
.plan-card .btn{width:100%;justify-content:center;padding:13px;}
.plan-card .btn-ghost{border-color:#5a4448;color:#fff;}
.plan-card .btn-ghost:hover{background:#fff;color:var(--ink);}

/* ---------- CTA STRIP ---------- */
.cta-strip{padding:70px 0;}
.cta-box{
  background:linear-gradient(120deg,var(--orange-1),var(--orange-2));
  border-radius:32px;padding:52px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;
  color:#fff;flex-wrap:wrap;
}
.cta-box h2{font-size:clamp(1.6rem,3vw,2.1rem);max-width:520px;}
.cta-box .btn-primary{background:#fff;color:var(--orange-2);box-shadow:0 12px 26px -10px rgba(0,0,0,.35);}
.cta-box .btn-primary:hover{background:var(--ink);color:#fff;}

/* ---------- FOOTER ---------- */
footer{background:var(--ink);color:#e8dcdc;padding:64px 0 28px;}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:44px;
  border-bottom:1px solid #3a2427;
}
.footer-brand img{height:30px;margin-bottom:16px;filter:brightness(0) invert(1);}
.footer-brand p{color:#c9b6b6;font-size:.92rem;line-height:1.6;max-width:280px;margin:0 0 16px;}
.footer-social{display:flex;gap:10px;}
.footer-social a{
  width:36px;height:36px;border-radius:10px;border:1px solid #3a2427;
  display:flex;align-items:center;justify-content:center;font-size:.9rem;
  transition:background .2s ease, border-color .2s ease;
}
.footer-social a:hover{background:var(--orange-2);border-color:var(--orange-2);}
.footer-col h5{
  font-family:'Space Mono',monospace;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;
  color:#ff9d5c;margin:0 0 16px;
}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.footer-col a,.footer-col p{color:#e8dcdc;font-size:.92rem;margin:0;}
.footer-col a:hover{color:var(--orange-1);}
.footer-bottom{
  padding-top:26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  font-size:.82rem;color:#a98f8f;font-family:'Space Mono',monospace;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  .nav-links{display:none;}
  .menu-toggle{display:block;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{margin-top:20px;order:-1;}
  .how-grid,.benefits-grid,.plans-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .wrap{padding:0 20px;}
  .nav{padding:14px 20px;}
  .hero{padding:44px 0 20px;}
  .cta-box{padding:36px 26px;flex-direction:column;text-align:center;justify-content:center;}
  .footer-grid{grid-template-columns:1fr;}
}


/* ---------- HERO PRINCIPAL AJUSTADO ---------- */
.hero{
  min-height:calc(100vh - 68px);
  display:flex;
  align-items:center;
  padding:38px 0 20px;
}
.hero-grid{
  grid-template-columns:.82fr 1.18fr;
  gap:10px;
  min-height:calc(100vh - 126px);
}
.hero-copy{position:relative;z-index:4;}
.hero-copy h1{font-size:clamp(2.8rem,5vw,4.4rem);max-width:650px;}
.hero-copy p{font-size:1.08rem;}
.hero-visual{
  height:100%;
  min-height:660px;
  align-self:stretch;
  align-items:flex-end;
  overflow:visible;
}
.hero-img-wrap{
  width:min(1120px,150%);
  max-width:none;
  margin:0 -28% -8px -5%;
  align-self:flex-end;
  transform:scale(1.13);
  transform-origin:center bottom;
}
.hero-img-wrap img{
  width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 25px 45px rgba(28,17,20,.18));
}
.hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:170px;
  background:linear-gradient(to bottom, rgba(255,249,242,0) 0%, var(--cream) 78%);
  pointer-events:none;
  z-index:3;
}
@media (max-width:1100px){
  .hero{min-height:auto;}
  .hero-grid{grid-template-columns:.9fr 1.1fr;}
  .hero-visual{min-height:560px;}
  .hero-img-wrap{width:135%;margin-right:-25%;transform:scale(1.05);}
}
@media (max-width:980px){
  .hero-grid{min-height:auto;}
  .hero-copy{text-align:center;}
  .hero-copy p{margin-left:auto;margin-right:auto;}
  .hero-ctas,.trust-row{justify-content:center;}
  .hero-visual{
    min-height:0;
    margin:0;
    overflow:hidden;
    width:100%;
    order:0;
  }
  .hero-img-wrap{
    width:min(760px,125vw);
    margin:0 -12% -2%;
    transform:scale(1.05);
  }
}
@media (max-width:600px){
  .hero{padding-top:28px;}
  .hero-copy h1{font-size:clamp(2.35rem,12vw,3.25rem);}
  .hero-ctas .btn{width:100%;justify-content:center;}
  .trust-row{gap:12px;}
  .trust-item{font-size:.78rem;text-align:left;}
  .hero-img-wrap{width:140vw;margin-left:-20vw;margin-right:-20vw;transform:scale(1.03);}
  .hero::after{height:110px;}
}

/* ---------- PAYMENTS ---------- */
.payments{padding:70px 0;}
.payments-grid{
  display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;
}
.payments-copy h2{font-size:clamp(1.9rem,3vw,2.5rem);font-weight:800;margin:14px 0 16px;}
.payments-copy p{color:var(--ink-soft);font-size:1.05rem;line-height:1.65;margin:0 0 22px;max-width:560px;}
.payments-list{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:10px;}
.payments-list li{
  display:flex;gap:10px;align-items:flex-start;font-size:.96rem;color:var(--ink-soft);font-weight:600;
}
.payments-list li::before{content:'✓';color:var(--orange-2);font-weight:800;flex:none;}
.payments-badges{display:flex;flex-direction:column;gap:18px;}
.payment-badge-card{
  display:block;text-decoration:none;color:inherit;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:26px 26px;transition:transform .25s ease, box-shadow .25s ease;
}
.payment-badge-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.payment-tag{
  display:inline-block;font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--teal);background:var(--teal-soft);
  padding:5px 12px;border-radius:999px;font-weight:700;margin-bottom:12px;
}
.payment-badge-card h4{font-family:'Baloo 2',sans-serif;font-size:1.25rem;font-weight:700;margin:0 0 6px;}
.payment-badge-card p{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.55;}
@media (max-width:980px){
  .payments-grid{grid-template-columns:1fr;}
  .payments-badges{flex-direction:row;flex-wrap:wrap;}
  .payment-badge-card{flex:1;min-width:220px;}
}
@media (max-width:600px){
  .payments-badges{flex-direction:column;}
}

/* ---------- INTEGRAÇÕES ---------- */
.integ-hero{padding:64px 0 30px;}
.integ-hero .eyebrow{margin-bottom:14px;}
.integ-hero h1{font-size:clamp(2.1rem,4vw,3rem);font-weight:800;margin:0 0 16px;max-width:760px;}
.integ-hero p{font-size:1.08rem;line-height:1.65;color:var(--ink-soft);max-width:680px;margin:0;}
.integ-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;}
.integ-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--peach-soft);border:1px solid var(--line);border-radius:999px;
  padding:8px 16px;font-size:.85rem;font-weight:700;color:var(--ink-soft);
}
.integ-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
.integ-tab{
  font-weight:700;font-size:.9rem;padding:10px 20px;border-radius:999px;
  border:1.5px solid var(--ink);color:var(--ink);background:transparent;transition:all .2s ease;
}
.integ-tab:hover{background:var(--ink);color:var(--paper);}
.integ-tab.active{
  background:linear-gradient(120deg,var(--orange-1),var(--orange-2));
  border-color:transparent;color:#fff;
}
.integ-steps{padding:20px 0 70px;}
.step-block{
  display:grid;grid-template-columns:64px 1fr;gap:22px;
  padding:30px 0;border-top:1px solid var(--line);
}
.step-block:first-child{border-top:none;}
.step-num{
  width:52px;height:52px;border-radius:16px;flex:none;
  background:linear-gradient(135deg,var(--orange-1),var(--orange-2));
  color:#fff;font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.3rem;
  display:flex;align-items:center;justify-content:center;
}
.step-content h3{font-size:1.32rem;font-weight:700;margin:6px 0 10px;font-family:'Inter',sans-serif;}
.step-content p{color:var(--ink-soft);font-size:1rem;line-height:1.65;margin:0 0 14px;}
.step-content ul{margin:0 0 14px;padding-left:20px;color:var(--ink-soft);line-height:1.7;}
.step-content ul li{margin-bottom:4px;}
.code-box{
  background:var(--ink);color:#f3e8e0;border-radius:var(--radius-sm);
  padding:16px 20px;font-family:'Space Mono',monospace;font-size:.88rem;
  overflow-x:auto;margin:10px 0 16px;position:relative;word-break:break-all;
}
.code-box .code-label{
  display:block;font-family:'Inter',sans-serif;font-size:.72rem;text-transform:uppercase;
  letter-spacing:.08em;color:#ff9d5c;font-weight:700;margin-bottom:8px;
}
.integ-note{
  display:flex;gap:12px;background:var(--teal-soft);border:1px solid #cfe6df;
  border-radius:var(--radius-sm);padding:16px 18px;margin:16px 0;
}
.integ-note.warn{background:var(--peach-soft);border-color:var(--line);}
.integ-note .ico{flex:none;font-size:1.1rem;}
.integ-note p{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.6;}
.integ-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;}
.integ-links a{
  font-weight:700;font-size:.9rem;color:var(--orange-2);
  border-bottom:1.5px solid transparent;transition:border-color .2s ease;
}
.integ-links a:hover{border-color:var(--orange-2);}
.integ-cta{padding:0 0 70px;}

/* ---------- MATERIAIS DE APOIO ---------- */
.materiais-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:26px;padding:10px 0 70px;
}
.material-card{
  display:flex;flex-direction:column;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;transition:transform .25s ease, box-shadow .25s ease;
}
.material-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.material-thumb{
  display:flex;align-items:center;justify-content:center;
  aspect-ratio:4/3;background:#efe8e0;padding:18px;
}
.material-thumb img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;}
.material-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.material-dim{
  align-self:flex-start;font-family:'Space Mono',monospace;font-size:.72rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--teal);
  background:var(--teal-soft);padding:5px 12px;border-radius:999px;font-weight:700;
}
.material-body h3{font-size:1.2rem;font-weight:700;margin:0;font-family:'Inter',sans-serif;}
.material-body p{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.6;flex:1;}
.material-download{
  margin-top:6px;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;
}

/* ---------- TUTORIAIS ---------- */
.tutoriais-search{
  display:flex;align-items:center;gap:10px;
  background:var(--paper);border:1.5px solid var(--line);border-radius:999px;
  padding:12px 20px;max-width:420px;margin:0 0 30px;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.tutoriais-search:focus-within{border-color:var(--orange-2);box-shadow:0 0 0 4px rgba(255,90,31,.12);}
.tutoriais-search .search-ico{font-size:.95rem;flex:none;opacity:.7;}
.tutoriais-search input{
  border:none;outline:none;background:transparent;flex:1;
  font-family:'Inter',sans-serif;font-size:.96rem;color:var(--ink);
}
.tutoriais-search input::placeholder{color:var(--ink-soft);}
.tutorial-card.is-hidden{display:none;}

.tutoriais-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:24px;padding:10px 0 70px;
}
.tutorial-card{
  display:flex;flex-direction:column;gap:0;text-align:left;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;cursor:pointer;padding:0;font-family:inherit;
  transition:transform .25s ease, box-shadow .25s ease;
}
.tutorial-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.tutorial-thumb{
  position:relative;display:block;width:100%;aspect-ratio:16/9;background:#e9e2da;overflow:hidden;
}
.tutorial-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.play-badge{
  position:absolute;inset:0;margin:auto;width:52px;height:52px;
  background:rgba(20,16,14,.72);color:#fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;
  transition:transform .2s ease, background .2s ease;
}
.tutorial-card:hover .play-badge{background:var(--orange-2);transform:scale(1.08);}
.tutorial-title{
  display:block;padding:16px 18px 18px;font-weight:700;font-size:.98rem;
  line-height:1.4;color:var(--ink);
}
.tutoriais-empty{
  display:none;text-align:center;padding:50px 20px;color:var(--ink-soft);
  border:1.5px dashed var(--line);border-radius:var(--radius-lg);margin-bottom:60px;
}
.tutoriais-empty strong{display:block;color:var(--ink);font-size:1.1rem;margin-bottom:6px;}

.video-modal{
  position:fixed;inset:0;background:rgba(20,16,14,.82);
  display:flex;align-items:center;justify-content:center;padding:24px;
  opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:999;
}
.video-modal.open{opacity:1;pointer-events:auto;}
.video-modal-inner{
  position:relative;width:100%;max-width:900px;aspect-ratio:16/9;
  background:#000;border-radius:14px;overflow:hidden;
}
.video-modal-inner iframe{width:100%;height:100%;border:0;display:block;}
.video-modal-close{
  position:absolute;top:-46px;right:0;background:none;border:none;color:#fff;
  font-size:1.8rem;line-height:1;cursor:pointer;padding:6px;
}

/* ---------- MENU MOBILE ---------- */
@media (max-width:980px){
  .nav{position:relative;}
  .nav-links.open{
    display:flex;
    position:absolute;
    top:100%;
    left:20px;
    right:20px;
    flex-direction:column;
    gap:4px;
    padding:16px;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
  }
  .nav-links.open a{display:block;padding:12px;}
  .nav-actions{margin-left:auto;}
}
@media (max-width:600px){
  .nav-actions .btn-ghost{display:none;}
  .nav-actions .btn{padding:10px 15px;font-size:.82rem;}
}

/* ===================================================================
   AJUSTES GERAIS DE RESPONSIVIDADE MOBILE
   =================================================================== */

/* remove a imagem da mulher na home no mobile */
@media (max-width:980px){
  .hero-visual{display:none;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-copy{text-align:center;}
  .hero-copy p{margin-left:auto;margin-right:auto;}
  .hero-ctas,.trust-row{justify-content:center;}
  .hero{min-height:auto;padding:56px 0 32px;}
}

/* header / navegação */
@media (max-width:980px){
  .nav{padding:14px 20px;flex-wrap:wrap;}
  .nav-links{display:none;}
  .nav-links.open{display:flex;z-index:60;}
  .menu-toggle{display:block;}
}

/* grids gerais viram coluna única em telas médias */
@media (max-width:980px){
  .how-grid,
  .benefits-grid,
  .plans-grid,
  .payments-grid,
  .materiais-grid{grid-template-columns:1fr;}
  .payments-grid{gap:28px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .step-block{grid-template-columns:48px 1fr;gap:16px;}
  .cta-box{flex-direction:column;text-align:center;}
}

/* smartphones */
@media (max-width:600px){
  .wrap{padding:0 18px;}
  .nav{padding:12px 18px;}
  .brand img{height:28px;}

  h1{font-size:clamp(2rem,9vw,2.6rem) !important;}
  .section-head h2{font-size:clamp(1.5rem,7vw,2rem);}
  .hero-copy p,
  .section-head p{font-size:.98rem;}

  .hero-ctas{flex-direction:column;width:100%;}
  .hero-ctas .btn{width:100%;justify-content:center;}

  .how-card,
  .benefit,
  .plan-card,
  .payment-badge-card,
  .material-card{padding:24px 20px;}

  .benefit{flex-direction:column;align-items:flex-start;gap:10px;}

  .plans-grid{gap:18px;}
  .plan-card{padding:28px 22px;}

  .cta-box{padding:32px 22px;border-radius:24px;}
  .cta-box h2{font-size:1.4rem;}

  .footer-grid{grid-template-columns:1fr;gap:32px;text-align:left;}
  .footer-bottom{flex-direction:column;text-align:center;gap:8px;}

  .integ-hero{padding:44px 0 20px;}
  .integ-tabs{gap:8px;}
  .integ-tab{padding:9px 16px;font-size:.85rem;}
  .step-block{grid-template-columns:1fr;gap:10px;text-align:left;}
  .step-num{margin-bottom:6px;}
  .code-box{font-size:.78rem;padding:14px 16px;}

  .materiais-grid,
  .tutoriais-grid{grid-template-columns:1fr;}

  .tutoriais-search{max-width:100%;}

  .video-modal{padding:14px;}
  .video-modal-close{top:-40px;font-size:1.5rem;}
}

/* telas bem pequenas */
@media (max-width:380px){
  .wrap{padding:0 14px;}
  h1{font-size:1.85rem !important;}
  .btn{padding:11px 18px;font-size:.86rem;}
}

/* impede overflow horizontal em qualquer tela */
html,body{overflow-x:hidden;max-width:100%;}
img,video,iframe{max-width:100%;height:auto;}
table{display:block;max-width:100%;overflow-x:auto;}
