  :root{
    --bg-deep:#0A2C2D; --bg-mid:#0F3D3E; --bg-mid2:#14514F;
    --sand:#C9A15E; --papaya:#8A5226; --lilac:#8496B5; --cream:#FFF8ED;
    --leaf:#3F8657; --berry:#B23A55; --success:#3F8657; --ink:#14181B;
    --ink-soft:#5B6570; --ink-faint:#8B958F; --bg:#FFFFFF; --bg-soft:#F7F7F4;
    --line:#E7E7E2; --teal:#0F3D3E; --teal-deep:#0A2C2D;
    --caramel:#A6642F; --caramel-deep:#8A5226; --caramel-tint:#F7ECE0;
    --shadow: 0 1px 2px rgba(20,24,27,.04), 0 20px 44px rgba(20,24,27,.08);
    --radius-lg: 20px; --radius-md:14px; --radius-sm:10px;
  }
  *{ box-sizing:border-box; }
  html,body{ margin:0; padding:0; scroll-behavior:smooth; overflow-x:hidden; }
  body{
    font-family:'Plus Jakarta Sans',sans-serif;
    background: var(--bg-soft) url('https://pswmbqlafywaxphsrloe.supabase.co/storage/v1/object/public/site-videos/fundosite.png') center top / cover no-repeat fixed;
    color:var(--ink-soft); min-height:100vh; width:100%;
    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  }
  h1,h2,h3{ font-family:'Fraunces', serif; font-weight:600; letter-spacing:-.02em; color:var(--ink); margin:0; }
  p{ margin:0; }
  img{ max-width:100%; display:block; }
  a{ color:inherit; }
  .wrap{ max-width: 1080px; margin:0 auto; padding: 0 20px; }

  /* ---------- Top bar ---------- */
  .topbar{ display:flex; align-items:center; justify-content:space-between; padding:18px 20px; background:var(--teal); }
  .brand{ display:flex; align-items:center; gap:10px; font-family:'Fraunces', serif; font-weight:600; font-size:17px; color:var(--cream); }
  .lang-toggle{ display:flex; gap:4px; background: rgba(255,255,255,.08); border-radius:999px; padding:4px; border:1px solid rgba(255,255,255,.15); }
  .lang-toggle button{ background:transparent; border:none; font-size:16px; padding:6px 12px; border-radius:999px; cursor:pointer; opacity:.5; }
  .lang-toggle button.active{ opacity:1; background: rgba(255,255,255,.18); }

  /* ---------- Nav ---------- */
  .topbar{ position:relative; flex-wrap:wrap; gap:12px; }
  .topbar-right{ display:flex; align-items:center; gap:10px; }
  .site-nav{ display:flex; align-items:center; gap:22px; }
  .site-nav a{ font-size:13.5px; font-weight:700; color:rgba(255,248,237,.82); text-decoration:none; padding:4px 2px; transition:color .15s ease; }
  .site-nav a:hover{ color:#fff; }
  .nav-toggle{ display:none; background:transparent; border:1.5px solid rgba(255,255,255,.3); color:var(--cream); width:38px; height:38px; border-radius:10px; font-size:18px; line-height:1; cursor:pointer; align-items:center; justify-content:center; }
  @media (max-width:900px){
    .site-nav{ display:none; position:absolute; top:100%; left:0; right:0; background:var(--teal); flex-direction:column; align-items:flex-start; gap:2px; padding:8px 20px 16px; box-shadow:var(--shadow); z-index:50; }
    .site-nav.open{ display:flex; }
    .site-nav a{ width:100%; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.08); }
    .nav-toggle{ display:inline-flex; }
  }

  /* ---------- Buttons ---------- */
  .btn-primary{ display:inline-flex; align-items:center; gap:8px; background: var(--teal); color:#fff; font-weight:700; font-size:15px; padding:14px 28px; border-radius:var(--radius-sm); text-decoration:none; box-shadow: var(--shadow); border:none; cursor:pointer; transition:background .15s ease, transform .15s ease; }
  .btn-primary:hover{ background:var(--teal-deep); transform: translateY(-1px); }
  .btn-secondary{ display:inline-flex; align-items:center; gap:8px; background: transparent; color:var(--ink); font-weight:700; font-size:14px; padding:12px 22px; border-radius:var(--radius-sm); text-decoration:none; border:1.5px solid var(--line); }
  .micro-note{ font-size:12.5px; color:rgba(255,255,255,.6); margin-top:10px; }
  .pricing-card .micro-note{ color:var(--ink-faint); }

  /* ---------- Hero ---------- */
  .hero{ position:relative; overflow:hidden; display:grid; grid-template-columns: 1.1fr .9fr; gap:40px; align-items:center; padding: 48px 40px; background:linear-gradient(160deg, var(--teal) 0%, var(--teal-deep) 100%); border-radius:var(--radius-lg); margin-top:20px; }
  .hero > div{ position:relative; z-index:1; }
  .hero::before, .hero::after{ content:""; position:absolute; pointer-events:none; z-index:0; }
  .hero::before{ width:280px; height:280px; background:var(--sand); opacity:.14; border-radius:62% 38% 55% 45% / 45% 55% 45% 55%; top:-70px; right:-70px; }
  .hero::after{ width:220px; height:220px; background:var(--leaf); opacity:.13; border-radius:38% 62% 45% 55% / 55% 45% 55% 45%; bottom:-80px; left:-50px; }
  .hero-eyebrow{ display:inline-flex; gap:8px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:6px 16px; font-size:12.5px; font-weight:700; color:var(--cream); margin-bottom:18px; }
  .hero-cta-row{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
  .hero .btn-secondary{ color:#fff; border-color:rgba(255,255,255,.4); }
  .hero .btn-secondary:hover{ background:rgba(255,255,255,.1); }
  .hero h1{ font-size:38px; line-height:1.18; margin-bottom:16px; color:#fff; }
  .hero-sub{ font-size:16px; line-height:1.6; color:rgba(255,248,237,.85); max-width:520px; margin-bottom:26px; }
  .hero-art{ display:flex; justify-content:center; }
  .hero-art img{ width:100%; max-width:320px; border-radius:24px; filter:drop-shadow(0 20px 40px rgba(0,0,0,.28)); }

  /* ---------- Sections generic ---------- */
  section{ padding: 50px 0; }
  .section-title{ font-size:26px; text-align:center; margin-bottom:10px; }
  .section-sub{ text-align:center; color:var(--ink-soft); font-size:15px; max-width:560px; margin: 0 auto 36px; line-height:1.5; }

  /* ---------- Problem cards ---------- */
  .problem-grid{ display:grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
  .problem-card{ background: var(--bg); border:1px solid var(--line); border-radius: var(--radius-md); padding:22px; text-align:center; box-shadow: var(--shadow); }
  .problem-card .emoji{ font-size:30px; display:block; margin-bottom:10px; }
  .problem-card p{ font-size:14.5px; line-height:1.5; color:var(--ink-soft); }
  .bridge-line{ text-align:center; font-weight:700; color:var(--ink); font-size:16.5px; margin-top:30px; }

  /* ---------- Kapi video ---------- */
  .video-wrap{ display:flex; justify-content:center; }
  .video-frame{ width:100%; max-width:340px; aspect-ratio:9/16; border-radius:16px; overflow:hidden; box-shadow:var(--shadow); background:#000; }
  .video-frame iframe{ width:100%; height:100%; border:0; display:block; }
  .video-frame video{ width:100%; height:100%; object-fit:cover; display:block; }

  /* ---------- Vs. traditional comparison ---------- */
  .vs-table-scroll{ max-width:760px; margin:0 auto; overflow-x:auto; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
  .vs-table{ width:100%; min-width:480px; margin:0 auto; border-collapse:separate; border-spacing:0; background: var(--cream); border-radius: var(--radius-lg); box-shadow:none; }
  .vs-table th{ font-family:'Fraunces', serif; font-weight:600; font-size:14px; text-align:left; padding:16px 18px; color:#fff; }
  .vs-table th.vs-col-label{ background: var(--ink); width:30%; }
  .vs-table th.vs-col-us{ background: var(--leaf); }
  .vs-table th.vs-col-them{ background:#5C7A70; }
  .vs-table td{ padding:13px 18px; font-size:13px; color:var(--ink); border-top:1px solid rgba(0,0,0,.06); }
  .vs-table td.vs-label{ font-weight:700; background: rgba(0,0,0,.02); }
  .vs-table td.vs-us{ background: rgba(63,134,87,.1); font-weight:600; }
  .vs-table td.vs-them{ color:#8A7F63; }
  .vs-table tr:first-child td{ border-top:none; }
  @media (max-width:600px){ .vs-table{ font-size:12px; } .vs-table th, .vs-table td{ padding:10px 10px; } }

  /* ---------- Two-app cards ---------- */
  .apps-grid{ display:grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
  .app-card{ background: var(--bg); border:1px solid var(--line); border-radius: var(--radius-lg); padding:28px; box-shadow: var(--shadow); text-align:center; }
  .app-card .emoji{ font-size:36px; }
  .app-card .icon-img{ width:52px; height:52px; border-radius:14px; object-fit:cover; display:block; margin:0 auto 12px; }
  .app-card h3{ font-size:20px; margin:10px 0 4px; }
  .app-card .app-tag{ font-size:12px; font-weight:700; color:var(--caramel-deep); margin-bottom:12px; display:block; letter-spacing:.03em; }
  .app-card p{ font-size:14.5px; line-height:1.6; color:var(--ink-soft); }

  /* ---------- Games grid ---------- */
  .games-grid{ display:grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap:14px; }
  .game-tile{ background: var(--bg); border:1px solid var(--line); border-radius: var(--radius-md); padding:20px; box-shadow: var(--shadow); text-align:center; }
  .game-tile .emoji{ font-size:28px; }
  .game-tile h4{ font-family:'Fraunces', serif; font-weight:600; color:var(--ink); font-size:15.5px; margin:8px 0 2px; }
  .game-tile .skill{ font-size:11px; font-weight:700; color:var(--caramel-deep); text-transform:uppercase; letter-spacing:.3px; }
  .game-tile p{ font-size:13.5px; color:var(--ink-soft); line-height:1.5; margin-top:6px; }

  /* ---------- Feature list ---------- */
  .feature-list{ display:grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap:14px; }
  .feature-item{ display:flex; gap:14px; align-items:flex-start; background: var(--bg); border:1px solid var(--line); border-radius: var(--radius-md); padding:18px; box-shadow: var(--shadow); }
  .feature-item .emoji{ font-size:22px; flex-shrink:0; }
  .feature-item strong{ display:block; color:var(--ink); font-size:14.5px; margin-bottom:3px; }
  .feature-item span.desc{ font-size:13px; color:var(--ink-soft); line-height:1.5; }
  .premium-tag{ display:inline-block; background:var(--caramel-tint); border:1px solid var(--caramel); color:var(--caramel-deep); font-size:10px; font-weight:700; padding:2px 8px; border-radius:999px; margin-left:6px; vertical-align:middle; }

  /* ---------- Professional bridge ---------- */
  .pro-bridge{ background: var(--bg); border:1px solid var(--line); border-radius: var(--radius-lg); padding:30px; text-align:center; max-width:680px; margin:0 auto; box-shadow: var(--shadow); }
  .pro-bridge p{ font-size:14.5px; line-height:1.6; color:var(--ink-soft); }

  /* ---------- Dashboard demo ---------- */
  .demo-wrap{ display:flex; justify-content:center; margin-bottom:22px; }
  .demo-card{ position:relative; background: var(--cream); color:var(--ink); border-radius: var(--radius-lg); max-width:520px; width:100%; box-shadow:var(--shadow); overflow:hidden; pointer-events:none; user-select:none; }
  .demo-badge{ position:absolute; top:14px; right:14px; background:var(--berry); color:#fff; font-size:10.5px; font-weight:700; letter-spacing:.5px; padding:4px 10px; border-radius:999px; z-index:2; }
  .demo-header{ background: var(--ink); color:#fff; padding:16px 76px 16px 20px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
  .demo-header .child-name{ font-family:'Fraunces', serif; font-weight:600; font-size:15.5px; }
  .demo-header .premium-pill{ background:var(--sand); color:var(--ink); font-size:11px; font-weight:700; padding:4px 10px; border-radius:999px; white-space:nowrap; }
  .demo-body{ padding:20px; }
  .demo-cols{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:6px; }
  .demo-col h5{ font-family:'Fraunces', serif; font-weight:600; font-size:13px; margin:0 0 8px; color:var(--ink); }
  .demo-card .row{ display:flex; justify-content:space-between; gap:8px; font-size:12px; padding:4px 0; color:#4A4536; border-top:1px solid rgba(11,61,46,.08); }
  .demo-col .row:first-of-type{ border-top:none; }
  .demo-section-block{ border-top:1px solid rgba(11,61,46,.1); padding-top:14px; margin-top:14px; }
  .demo-section-block h5{ font-family:'Fraunces', serif; font-weight:600; font-size:13px; margin:0 0 10px; color:var(--berry); }
  .demo-index-value{ font-family:'Fraunces', serif; font-weight:600; font-size:26px; color:var(--ink); text-align:center; }
  .demo-index-label{ font-size:12px; text-align:center; color:#6b6350; font-style:italic; margin-top:4px; }
  .demo-bar-track{ background:rgba(11,61,46,.08); border-radius:999px; height:10px; overflow:hidden; margin:8px 0 6px; }
  .demo-bar-fill{ background:var(--leaf); height:100%; border-radius:999px; }
  .demo-bar-label{ font-size:12px; color:#6b6350; }
  .demo-cta-wrap{ text-align:center; margin-top:20px; }
  @media (max-width:520px){ .demo-cols{ grid-template-columns:1fr; gap:10px; } }

  /* ---------- Professional dashboard demo ---------- */
  .demo-pro-wrap{ display:flex; justify-content:center; margin-bottom:22px; }
  .demo-pro-card{ position:relative; background:#FBF8F1; color:#1F2E29; border-radius: var(--radius-lg); max-width:640px; width:100%; box-shadow:var(--shadow); overflow:hidden; pointer-events:none; user-select:none; }
  .demo-pro-badge{ position:absolute; top:14px; right:14px; background:var(--berry); color:#fff; font-size:10.5px; font-weight:700; letter-spacing:.5px; padding:4px 10px; border-radius:999px; z-index:2; }
  .demo-pro-header{ background:var(--teal); color:#fff; padding:14px 76px 14px 20px; font-family:'Fraunces', serif; font-weight:600; font-size:13.5px; }
  .demo-pro-body{ display:flex; flex-wrap:wrap; }
  .demo-pro-sidebar{ width:170px; border-right:1px solid #E7DCC0; padding:14px 0; flex-shrink:0; }
  .demo-pro-sidebar .label{ font-size:10.5px; font-weight:700; color:#8A7F63; text-transform:uppercase; letter-spacing:.4px; padding:0 16px 8px; }
  .demo-pro-child{ display:flex; align-items:center; gap:8px; padding:9px 16px; border-left:3px solid transparent; font-size:12.5px; font-weight:700; color:#4A4536; }
  .demo-pro-child.active{ background:#F5E6C8; border-left-color:var(--caramel); color:#1F2E29; }
  .demo-pro-main{ flex:1; min-width:260px; padding:18px 20px; }
  .demo-pro-main h6{ font-family:'Fraunces', serif; font-weight:600; font-size:13.5px; margin:0 0 10px; color:#1F2E29; }
  .demo-pro-card-box{ background:#fff; border:1px solid #E7DCC0; border-radius:14px; padding:14px 16px; margin-bottom:12px; }
  .demo-pro-card-box h6{ font-family:'Fraunces', serif; font-weight:600; font-size:12.5px; margin:0 0 8px; color:var(--berry); }
  .demo-pro-index-value{ font-family:'Fraunces', serif; font-weight:600; font-size:23px; text-align:center; color:#1F2E29; }
  .demo-pro-index-label{ font-size:11.5px; text-align:center; color:#6b6350; margin-top:2px; }
  .demo-pro-row{ display:flex; justify-content:space-between; gap:10px; font-size:12px; padding:3px 0; color:#4A4536; }
  .demo-pro-summary{ font-size:12px; font-style:italic; color:#4A4536; line-height:1.55; margin:0; }
  @media (max-width:560px){
    .demo-pro-body{ flex-direction:column; }
    .demo-pro-sidebar{ width:100%; border-right:none; border-bottom:1px solid #E7DCC0; display:flex; align-items:center; gap:6px; padding:10px 16px; }
    .demo-pro-sidebar .label{ display:none; }
    .demo-pro-row{ flex-direction:column; gap:2px; }
  }

  /* ---------- Pricing ---------- */
  .pricing-wrap{ display:flex; justify-content:center; }
  .pricing-card{ background: linear-gradient(160deg, var(--caramel-tint), var(--bg)); border:1.5px solid var(--caramel); border-radius: var(--radius-lg); padding:36px 40px; text-align:center; max-width:420px; box-shadow:var(--shadow); }
  .pricing-card .plan-name{ font-size:12.5px; font-weight:700; color:var(--caramel-deep); text-transform:uppercase; letter-spacing:.05em; }
  .pricing-card .pricing-tagline{ display:inline-block; background:rgba(15,61,62,.08); color:var(--teal); font-weight:700; font-size:13px; padding:5px 14px; border-radius:999px; margin:8px 0 0; }
  .pricing-card .price{ font-family:'Fraunces', serif; font-weight:600; font-size:42px; color:var(--ink); margin:10px 0 2px; }
  .pricing-card .price span{ font-size:16px; font-weight:700; color:var(--ink-soft); }
  .pricing-card .price-note{ font-size:12.5px; color:var(--ink-soft); margin-bottom:22px; }
  .pricing-card .price-teaser{ font-family:'Fraunces', serif; font-weight:600; font-size:18px; color:var(--ink); margin:10px 0 22px; line-height:1.35; }
  .pricing-list{ list-style:none; padding:0; margin:0 0 26px; text-align:left; display:inline-block; }
  .pricing-list li{ font-size:14px; padding:6px 0; color:var(--ink-soft); }
  .pricing-list li::before{ content:"✓ "; color:var(--success); font-weight:700; }

  /* Kit tripwire cards (Mini Kit / Kit Completo) - narrower siblings of
     .pricing-card, side by side instead of the single centered subscription
     card, since these are fixed-price single-item products (no plan toggle). */
  .kit-pricing-wrap{ display:flex; justify-content:center; flex-wrap:wrap; gap:24px; }
  .kit-card{ max-width:340px; padding:30px 32px; }
  .kit-card-img{ width:100%; border-radius:var(--radius-md); margin:14px 0; display:block; }
  .kit-card .price{ font-size:34px; }
  .kit-card .kit-lang-note{ display:inline-block; background:rgba(178,58,85,.1); color:var(--berry); font-weight:700; font-size:12px; padding:4px 12px; border-radius:999px; margin-bottom:10px; }

  .plan-badge{ font-size:11.5px; font-weight:700; color:var(--caramel-deep); text-transform:uppercase; letter-spacing:.03em; margin:2px 0 8px; }
  .plan-toggle-row{ display:flex; gap:8px; justify-content:center; margin:4px 0 14px; }
  .security-badge{ font-size:12px; color:#4A4536; display:flex; align-items:center; justify-content:center; gap:5px; margin-top:10px; }
  .plan-toggle-btn{ background:transparent; border:1.5px solid var(--line); color:var(--ink-faint); font-weight:700; font-size:13px; padding:8px 18px; border-radius:999px; cursor:pointer; transition:all .15s ease; }
  .plan-toggle-btn.active{ border-color:var(--caramel); background:var(--caramel-tint); color:var(--caramel-deep); }
  .checkout-email-input{ width:100%; max-width:320px; padding:12px 16px; border-radius:var(--radius-sm); border:1.5px solid var(--line); background:var(--bg-soft); color:var(--ink); font-size:15px; font-family:'Plus Jakarta Sans',sans-serif; margin-bottom:14px; }
  .checkout-email-input::placeholder{ color:var(--ink-faint); }
  .big-cta{ display:block; width:100%; box-sizing:border-box; background: var(--teal); color:#fff; font-weight:700; font-size:16.5px; padding:15px 24px; border-radius:var(--radius-sm); border:none; cursor:pointer; box-shadow: var(--shadow); margin-bottom:14px; transition:background .15s ease, transform .15s ease; }
  .big-cta:hover{ background:var(--teal-deep); transform: translateY(-1px); }
  .checkout-error{ font-size:13px; color:var(--berry); margin:6px 0 0; }
  .lead-capture-card{ background: var(--bg); border:1px solid var(--line); border-radius: var(--radius-lg); padding:30px; max-width:420px; margin:0 auto; text-align:center; box-shadow: var(--shadow); }
  .lead-capture-consent{ display:flex; align-items:flex-start; gap:8px; text-align:left; font-size:12.5px; color:var(--ink-soft); margin:2px 0 16px; line-height:1.4; }
  .lead-capture-consent input{ margin-top:2px; flex-shrink:0; }
  .lead-capture-success{ font-size:14px; color:var(--caramel-deep); font-weight:700; }
  .checkout-success-box, .checkout-cancelled-box{ max-width:520px; margin:0 auto 30px; text-align:center; background:var(--bg); border:1.5px solid var(--caramel); border-radius:var(--radius-lg); padding:30px; box-shadow: var(--shadow); }
  .checkout-success-box h3, .checkout-cancelled-box h3{ font-size:19px; color:var(--ink); margin-bottom:10px; }
  .checkout-success-box p, .checkout-cancelled-box p{ font-size:14px; color:var(--ink-soft); line-height:1.5; }

  .vendas-modal-overlay{ position:fixed; inset:0; background:rgba(11,20,18,.7); display:flex; align-items:center; justify-content:center; padding:16px; z-index:100; }
  .vendas-modal{ background:var(--cream); color:var(--ink); border-radius:var(--radius-lg); max-width:380px; width:100%; padding:28px; text-align:center; }
  .vendas-modal h3{ font-size:18px; margin-bottom:10px; color:var(--ink); }
  .vendas-modal p{ font-size:13.5px; color:#4A4536; margin-bottom:10px; }
  .vendas-modal input{ width:100%; box-sizing:border-box; padding:11px 14px; border-radius:10px; border:1.5px solid rgba(11,61,46,.2); font-size:15px; margin-bottom:8px; font-family:'Plus Jakarta Sans',sans-serif; }
  .vendas-modal .modal-error{ font-size:12.5px; color:var(--berry); display:none; margin-bottom:8px; }
  .vendas-modal .modal-actions{ display:flex; gap:10px; justify-content:center; margin-top:12px; }
  .vendas-modal .modal-btn-secondary{ background:transparent; border:1.5px solid rgba(11,61,46,.3); color:var(--ink); font-weight:700; padding:10px 18px; border-radius:999px; cursor:pointer; }
  .vendas-modal .modal-btn-primary{ background:var(--leaf); color:#fff; font-weight:700; border:none; padding:10px 18px; border-radius:999px; cursor:pointer; }
  .vendas-modal .pix-qr-img{ width:200px; height:200px; margin:0 auto 12px; border-radius:10px; display:block; }
  .vendas-modal textarea{ width:100%; box-sizing:border-box; padding:10px; border-radius:10px; border:1.5px solid rgba(11,61,46,.2); font-size:12px; font-family:monospace; margin-bottom:10px; resize:none; }
  .vendas-modal .pix-status{ font-size:13px; font-weight:700; margin-top:10px; }
  .vendas-modal .pix-status.confirmed{ color:var(--leaf); }
  .vendas-modal .checkout-product-summary{ font-weight:700; color:var(--ink); background:rgba(11,61,46,.06); border-radius:10px; padding:8px 12px; margin-bottom:14px; }
  .vendas-modal .payment-method-row{ display:flex; gap:8px; justify-content:center; margin-bottom:10px; }
  .vendas-modal .big-cta.active{ outline:2px solid var(--leaf); outline-offset:2px; }
  .vendas-modal .modal-btn-primary:disabled{ opacity:.5; cursor:not-allowed; }

  /* ---------- Checkout modal (redesign) ---------- */
  /* Full-page takeover instead of a small floating dialog - matches the
     reference checkout (own page, no dim backdrop), not a popup. Only the
     identification/payment step uses this; the Pix QR follow-up keeps the
     small .vendas-modal treatment since it's a brief "here's your code"
     step, not a form. */
  .checkout-page-overlay{ position:fixed; inset:0; background:var(--bg-soft); z-index:100; overflow-y:auto; padding:56px 20px 80px; }
  /* No single boxed card wrapping everything - each section is its own
     white block stacked on the page background, which is what makes it
     read as a page instead of a shrunken popup. */
  .checkout-modal-v2{ max-width:640px; margin:0 auto; text-align:left; padding:0; position:relative; background:transparent; }
  .checkout-modal-v2 .checkout-modal-close{ position:absolute; top:-44px; right:0; background:#fff; border:1.5px solid var(--line); width:36px; height:36px; border-radius:50%; font-size:18px; line-height:1; cursor:pointer; color:var(--ink-soft); box-shadow:var(--shadow); }
  .checkout-summary{ display:flex; gap:20px; align-items:center; padding:28px 32px; background:var(--bg); border-radius:var(--radius-lg); box-shadow:var(--shadow); margin-bottom:18px; }
  .checkout-summary-img{ width:150px; height:auto; border-radius:var(--radius-md); object-fit:contain; flex-shrink:0; }
  .checkout-summary-name{ font-family:'Fraunces', serif; font-weight:600; font-size:19px; color:var(--ink); line-height:1.3; margin-bottom:8px; }
  .checkout-summary-price{ font-family:'Fraunces', serif; font-weight:600; font-size:28px; color:var(--teal); }
  .checkout-summary-note{ font-size:13.5px; color:var(--ink-faint); margin-top:4px; }
  .checkout-modal-v2 .checkout-section{ padding:26px 32px; background:var(--bg); border-radius:var(--radius-lg); box-shadow:var(--shadow); margin-bottom:18px; }
  .checkout-section-title{ font-size:14px; font-weight:800; color:var(--ink); text-transform:uppercase; letter-spacing:.3px; margin-bottom:16px; display:flex; align-items:center; gap:8px; }
  .checkout-modal-v2 input{ width:100%; box-sizing:border-box; padding:15px 18px; border-radius:var(--radius-sm); border:1.5px solid var(--line); font-size:16px; margin-bottom:14px; font-family:'Plus Jakarta Sans',sans-serif; background:var(--bg-soft); color:var(--ink); }
  .checkout-modal-v2 input:last-child{ margin-bottom:0; }
  .checkout-email-hint{ font-size:12px; color:var(--ink-faint); margin:-6px 0 14px; line-height:1.4; }
  .checkout-field-label{ display:block; font-size:12.5px; font-weight:700; color:var(--ink-soft); margin:0 0 6px; }
  .checkout-field-row{ display:flex; gap:12px; }
  .checkout-field-row > div{ flex:1; }
  .checkout-field-row > div:first-child{ flex:1.4; }
  .checkout-field-row input{ margin-bottom:0; }
  .checkout-bump{ margin:0 0 18px; background:var(--caramel-tint); border:1.5px solid var(--sand); border-radius:var(--radius-lg); box-shadow:var(--shadow); padding:22px 26px; position:relative; overflow:hidden; }
  .checkout-bump-badge{ display:inline-block; background:var(--caramel); color:#fff; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.3px; padding:4px 14px; border-radius:999px; margin-bottom:12px; }
  .checkout-bump-title{ font-family:'Fraunces', serif; font-weight:600; font-size:18px; color:var(--caramel-deep); margin-bottom:14px; line-height:1.35; }
  .checkout-bump-label{ display:flex; align-items:center; gap:12px; font-size:15px; color:var(--ink); line-height:1.5; cursor:pointer; font-weight:600; margin-bottom:12px; }
  .checkout-bump-label:last-child{ margin-bottom:0; }
  .checkout-bump-label input{ margin-top:0; width:19px; height:19px; flex-shrink:0; accent-color:var(--caramel); }
  .checkout-bump-thumb{ width:44px; height:44px; border-radius:8px; object-fit:cover; flex-shrink:0; box-shadow:var(--shadow); }
  .payment-method-row{ display:flex; gap:12px; margin-bottom:14px; }
  .payment-method-btn{ flex:1; display:flex; align-items:center; justify-content:center; gap:8px; background:var(--bg-soft); border:1.5px solid var(--line); color:var(--ink-soft); font-weight:700; font-size:15.5px; padding:16px 12px; border-radius:var(--radius-sm); cursor:pointer; transition:all .15s ease; }
  .payment-method-btn.active{ background:rgba(15,61,62,.06); border-color:var(--teal); color:var(--teal); }
  .checkout-payment-info{ background:var(--bg-soft); border-radius:var(--radius-sm); padding:16px 18px; font-size:13.5px; color:var(--ink-soft); line-height:1.6; margin-top:6px; }
  .checkout-payment-info strong{ display:block; color:var(--ink); font-size:14px; margin-bottom:6px; }
  .checkout-modal-v2 .modal-error{ margin:0 0 14px; }
  .checkout-finalize-btn{ display:block; width:100%; margin:6px 0 0; background:var(--teal); color:#fff; font-weight:700; font-size:17.5px; padding:18px 22px; border-radius:var(--radius-sm); border:none; cursor:pointer; transition:background .15s ease; }
  .checkout-finalize-btn:hover{ background:var(--teal-deep); }
  .checkout-finalize-btn:disabled{ opacity:.5; cursor:not-allowed; }
  .checkout-security-badge{ text-align:center; font-size:12.5px; color:var(--ink-faint); margin:16px 0 6px; }
  .checkout-cancel-link{ display:block; width:100%; background:none; border:none; text-align:center; font-size:13px; color:var(--ink-faint); text-decoration:underline; cursor:pointer; padding:8px 0 20px; }
  @media (max-width: 560px){
    .checkout-summary{ padding:22px; gap:14px; }
    .checkout-summary-img{ width:110px; height:auto; }
    .checkout-modal-v2 .checkout-section{ padding:20px; }
    .checkout-bump{ padding:18px; }
  }

  .compare-table{ width:100%; max-width:680px; margin:0 auto; border-collapse:separate; border-spacing:0; background:var(--bg); border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--line); }
  .compare-table th{ font-family:'Fraunces', serif; font-weight:600; font-size:14px; padding:14px 16px; text-align:left; color:var(--ink); background:var(--bg-soft); }
  .compare-table th.col-premium{ color:var(--caramel-deep); }
  .compare-table td{ padding:11px 16px; font-size:13.5px; border-top:1px solid var(--line); color:var(--ink-soft); }
  .compare-table td.check{ text-align:center; font-weight:700; }
  .compare-table td.yes{ color:var(--success); }
  .compare-table td.no{ color:var(--ink-faint); }

  /* ---------- FAQ ---------- */
  .faq-item{ border-bottom:1px solid var(--line); padding:16px 0; max-width:680px; margin:0 auto; }
  .faq-item summary{ font-family:'Fraunces', serif; font-weight:600; font-size:15px; color:var(--ink); cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary::after{ content:"+"; font-size:19px; color:var(--caramel); }
  .faq-item[open] summary::after{ content:"–"; }
  .faq-item p{ font-size:14px; line-height:1.6; color:var(--ink-soft); margin-top:10px; }

  /* ---------- Final CTA ---------- */
  .final-cta{ text-align:center; background: var(--bg); border:1px solid var(--line); border-radius: var(--radius-lg); padding:50px 30px; box-shadow: var(--shadow); }
  .final-cta h2{ font-size:25px; margin-bottom:10px; }
  .final-cta p{ color:var(--ink-soft); font-size:14.5px; margin-bottom:24px; }

  /* ---------- Testimonials ---------- */
  .testimonials-grid{ display:grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap:16px; }
  .testimonial-card{ background: var(--bg); border:1px solid var(--line); border-radius: var(--radius-md); padding:22px; box-shadow: var(--shadow); }
  .testimonial-stars{ color:var(--sand); font-size:16px; margin-bottom:8px; letter-spacing:1px; }
  .testimonial-comment{ font-size:14px; color:var(--ink-soft); line-height:1.55; margin-bottom:12px; font-style:italic; }
  .testimonial-name{ font-size:12.5px; font-weight:700; color:var(--ink); }

  /* ---------- Review form ---------- */
  .review-form-card{ background: var(--bg); border:1px solid var(--line); border-radius: var(--radius-lg); padding:32px 28px; max-width:460px; margin:0 auto; text-align:center; box-shadow: var(--shadow); }
  .review-star-row{ display:flex; justify-content:center; gap:6px; margin-bottom:16px; }
  .review-star-btn{ background:none; border:none; font-size:32px; cursor:pointer; color:var(--line); transition:color .15s ease, transform .1s ease; padding:2px; line-height:1; }
  .review-star-btn:hover{ transform: scale(1.1); }
  .review-star-btn.active, .review-star-btn.preview{ color:var(--sand); }
  .review-success{ font-size:14px; color:var(--caramel-deep); font-weight:700; }

  /* ---------- Footer ---------- */
  footer{ padding: 40px 0 50px; text-align:center; }
  footer .foot-links{ margin-bottom:14px; }
  footer .foot-links a{ color:var(--caramel-deep); font-weight:700; font-size:13px; text-decoration:underline; margin:0 10px; }
  footer .foot-disclaimer{ font-size:11.5px; color:var(--ink-faint); max-width:520px; margin:0 auto 8px; line-height:1.5; }
  footer .foot-credit{ font-size:12px; color:var(--ink-faint); }

  [data-lang="it"]{ display:none; }
