:root{
    --bg:#FFFFFF;
    --bg-soft:#F5F6FB;
    --bg-soft-2:#EFF1FA;
    --ink:#0E1320;
    --ink-panel:#0B0F1E;
    --muted:#5B6478;
    --muted-2:#9399AC;
    --line:#E7E9F3;
    --line-strong:#D6D9E8;
    --flow:#4A55F1;
    --flow-soft:#EEF0FF;
    --flow-ink:#3439C4;
    --gain:#0DA968;
    --gain-soft:#E4F8EE;
    --gain-ink:#08814F;
    --radius:20px;
    --radius-sm:12px;
    --maxw:1180px;
    --display:'Space Grotesk',sans-serif;
    --body:'Inter',sans-serif;
    --mono:'IBM Plex Mono',monospace;
    --shadow:0 24px 50px -28px rgba(15,20,40,.22);
    --shadow-sm:0 10px 24px -16px rgba(15,20,40,.18);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--body);
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  button{font:inherit;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
  h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-0.015em;color:var(--ink);}
  .eyebrow{
    font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;
    color:var(--flow-ink);display:inline-flex;align-items:center;gap:9px;margin-bottom:16px;
  }
  .eyebrow::before{content:"";width:16px;height:1px;background:var(--flow-ink);display:inline-block;}
  .eyebrow.center{justify-content:center;display:flex;}
  .eyebrow.gain{color:var(--gain-ink);}
  .eyebrow.gain::before{background:var(--gain-ink);}
  .lede{color:var(--muted);font-size:1.06rem;max-width:620px;}
  .center-lede{margin-left:auto;margin-right:auto;text-align:center;}
  section{position:relative;}
  .section-pad{padding:104px 0;}
  .soft-bg{background:var(--bg-soft);}

  .btn{
    font-family:var(--mono);font-size:.84rem;letter-spacing:.01em;
    padding:14px 24px;border-radius:100px;display:inline-flex;align-items:center;gap:8px;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
    border:1px solid transparent;cursor:pointer;
  }
  .btn-primary{background:var(--ink);color:#fff;}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}
  .btn-flow{background:var(--flow);color:#fff;}
  .btn-flow:hover{transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(74,85,241,.55);}
  .btn-ghost{border-color:var(--line-strong);color:var(--ink);background:#fff;}
  .btn-ghost:hover{border-color:var(--ink);}
  .btn-text{font-family:var(--mono);font-size:.82rem;color:var(--muted);display:inline-flex;align-items:center;gap:6px;}
  .btn-text:hover{color:var(--ink);}

  /* ---------- NAV ---------- */
  .ribbon{
    background:var(--ink-panel);color:#fff;text-align:center;font-family:var(--mono);
    font-size:.78rem;padding:9px 16px;letter-spacing:.02em;
  }
  .ribbon span{color:#8FF7C4;}
  header{position:sticky;top:0;z-index:50;background:#FFFFFFEE;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
  nav{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;max-width:var(--maxw);margin:0 auto;}
  .logo{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:700;font-size:1.12rem;letter-spacing:-0.02em;}
  .logo img{height:26px;width:auto;display:block;}
  .logo span{color:var(--gain);}
  .foot-brand .logo img{height:34px;}
  .navlinks{display:flex;gap:30px;font-size:.9rem;color:var(--muted);}
  .navlinks a:hover{color:var(--ink);}
  @media (max-width:860px){ .navlinks{display:none;} }

  /* ---------- HERO ---------- */
  .hero{padding:88px 0 70px;text-align:center;}
  .hero h1{font-size:clamp(2.4rem,5.4vw,4.2rem);line-height:1.06;max-width:880px;margin:0 auto;}
  .hero h1 em{font-style:normal;color:var(--flow);}
  .hero .lede{margin:24px auto 0;font-size:1.15rem;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:34px;}
  .trust-strip{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:46px;}
  .trust-chip{
    font-family:var(--mono);font-size:.74rem;color:var(--muted);border:1px solid var(--line-strong);
    padding:8px 14px;border-radius:100px;background:#fff;display:flex;align-items:center;gap:7px;
  }
  .trust-chip b{color:var(--flow-ink);}

  /* ---------- DEMO (post-hero interactive) ---------- */
  .demo-wrap{max-width:960px;margin:56px auto 0;}
  .demo-toggle{display:flex;justify-content:center;gap:8px;margin-bottom:22px;}
  .demo-toggle button{
    font-family:var(--mono);font-size:.8rem;padding:10px 20px;border-radius:100px;
    border:1px solid var(--line-strong);background:#fff;color:var(--muted);cursor:pointer;
    transition:all .15s ease;
  }
  .demo-toggle button.active{background:var(--ink);color:#fff;border-color:var(--ink);}
  .device-frame{
    border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);
  }
  .device-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:var(--bg-soft);border-bottom:1px solid var(--line);}
  .device-dot{width:9px;height:9px;border-radius:50%;background:#D6D9E8;}
  .device-url{margin-left:8px;font-family:var(--mono);font-size:.72rem;color:var(--muted-2);background:#fff;border:1px solid var(--line);border-radius:6px;padding:4px 12px;flex:1;max-width:280px;}
  .device-view{display:none;}
  .device-view.active{display:block;}
  .device-view img{width:100%;height:auto;display:block;}
  .demo-caption{font-family:var(--mono);font-size:.78rem;color:var(--muted);text-align:center;margin-top:16px;}
  .demo-caption strong{color:var(--gain-ink);}
  .swipe-hint{font-family:var(--mono);font-size:.72rem;color:var(--muted-2);text-align:center;margin-top:44px;}

  /* ---------- reveal ---------- */
  .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* ---------- mantra trust row ---------- */
  .mantra-row{padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .mantra-row .wrap{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;align-items:center;}
  .mantra-row .mlabel{font-family:var(--mono);font-size:.72rem;color:var(--muted-2);text-transform:uppercase;letter-spacing:.08em;margin-right:8px;}
  .mantra-pill{font-family:var(--mono);font-size:.8rem;color:var(--ink);background:var(--bg-soft);border:1px solid var(--line);padding:9px 16px;border-radius:100px;}

  /* ---------- problem / floating chips ---------- */
  .problem{text-align:center;}
  .problem h2{font-size:clamp(1.9rem,4vw,2.8rem);max-width:760px;margin:0 auto;}
  .problem .lines{max-width:640px;margin:26px auto 0;color:var(--muted);font-size:1.05rem;}
  .problem .lines p{margin:10px 0;}
  .problem .lines strong{color:var(--ink);}
  .float-field{position:relative;max-width:900px;margin:56px auto 0;height:210px;}
  .float-chip{
    position:absolute;font-family:var(--mono);font-size:.82rem;color:var(--muted);
    background:#fff;border:1px solid var(--line-strong);padding:10px 16px;border-radius:100px;
    box-shadow:var(--shadow-sm);animation:floaty 6s ease-in-out infinite;
  }
  @keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}

  /* ---------- before/after ---------- */
  .ba-head{text-align:center;max-width:700px;margin:0 auto 56px;}
  .ba-head h2{font-size:clamp(1.9rem,4vw,2.8rem);}
  .ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:var(--maxw);margin:0 auto;}
  .ba-col{border-radius:var(--radius);padding:36px;border:1px solid var(--line);}
  .ba-col.before{background:var(--bg-soft);}
  .ba-col.after{background:var(--ink-panel);color:#fff;}
  .ba-tag{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;padding:6px 12px;border-radius:100px;display:inline-block;margin-bottom:18px;}
  .ba-col.before .ba-tag{background:#FEE4E2;color:#B42318;}
  .ba-col.after .ba-tag{background:#0F3B2A;color:#8FF7C4;}
  .ba-col ul{list-style:none;display:flex;flex-direction:column;gap:14px;}
  .ba-col li{display:flex;gap:10px;font-size:.95rem;}
  .ba-col.before li{color:var(--muted);}
  .ba-col.after li{color:#C6CBE0;}
  .ba-col li::before{content:"×";color:#B42318;font-weight:700;flex-shrink:0;}
  .ba-col.after li::before{content:"✓";color:#8FF7C4;}
  .ba-cta{text-align:center;margin-top:44px;}
  @media (max-width:820px){ .ba-grid{grid-template-columns:1fr;} }

  /* ---------- method steps ---------- */
  .method-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;}
  .method-step{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:30px 0;border-top:1px solid var(--line);}
  .method-step:last-child{border-bottom:1px solid var(--line);}
  .method-step .msup{display:flex;flex-direction:column;gap:6px;}
  .method-step .num{font-family:var(--mono);font-size:1.3rem;color:var(--flow);}
  .method-step .when{font-family:var(--mono);font-size:.66rem;color:var(--muted-2);text-transform:uppercase;letter-spacing:.05em;}
  .method-step h3{font-size:1.14rem;margin-bottom:8px;}
  .method-step p{color:var(--muted);font-size:.95rem;max-width:520px;margin-bottom:8px;}
  .method-step .replaces{font-family:var(--mono);font-size:.74rem;color:var(--gain-ink);}

  /* ---------- feature tour (chip tabs) ---------- */
  .tour-tabs{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-bottom:32px;}
  .tour-tab{
    font-family:var(--mono);font-size:.8rem;padding:10px 18px;border-radius:100px;
    border:1px solid var(--line-strong);color:var(--muted);background:#fff;cursor:pointer;
    display:inline-flex;align-items:center;gap:7px;transition:all .15s ease;
  }
  .tour-tab:hover{border-color:var(--flow);color:var(--flow-ink);}
  .tour-tab.active{background:var(--flow);border-color:var(--flow);color:#fff;}
  .tour-view{display:none;}
  .tour-view.active{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center;}
  .tour-view .txt h3{font-size:1.5rem;margin-bottom:14px;}
  .tour-view .txt p{color:var(--muted);font-size:1rem;}
  @media (max-width:900px){ .tour-view.active{grid-template-columns:1fr;} .tour-view .txt{order:2;} }

  /* ---------- manifesto grid ---------- */
  .manifesto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:var(--maxw);margin:0 auto;}
  .mcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-sm);}
  .mcard .micon{width:40px;height:40px;border-radius:10px;background:var(--flow-soft);display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:18px;}
  .mcard p{color:var(--ink);font-size:1rem;font-family:var(--display);font-weight:600;line-height:1.4;}
  @media (max-width:900px){ .manifesto-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:600px){ .manifesto-grid{grid-template-columns:1fr;} }

  /* ---------- investimento ---------- */
  .invest-panel{
    max-width:820px;margin:0 auto;background:var(--bg-soft);border:1px solid var(--line);
    border-radius:var(--radius);padding:52px;text-align:center;
  }
  .invest-panel h3{font-size:1.6rem;margin-bottom:14px;}
  .invest-panel p{color:var(--muted);max-width:560px;margin:0 auto 30px;}
  .invest-steps{display:flex;justify-content:center;gap:0;flex-wrap:wrap;margin:0 auto 32px;}
  .invest-step{font-family:var(--mono);font-size:.8rem;color:var(--ink);display:flex;align-items:center;gap:10px;padding:0 16px;}
  .invest-step .dot{width:7px;height:7px;border-radius:50%;background:var(--gain);}
  .invest-arrow{color:var(--muted-2);}

  /* ---------- FAQ ---------- */
  .faq-wrap{max-width:760px;margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-item summary{
    list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;align-items:center;
    font-family:var(--display);font-weight:600;font-size:1.02rem;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:"+";font-family:var(--mono);font-size:1.3rem;color:var(--muted-2);transition:transform .2s ease;}
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item p{color:var(--muted);padding-bottom:22px;max-width:640px;font-size:.96rem;}

  /* ---------- founder letter ---------- */
  .letter{background:var(--ink-panel);color:#EDEFF7;border-radius:28px;padding:64px;max-width:var(--maxw);margin:0 auto;}
  .letter p{margin-bottom:16px;color:#C6CBE0;font-size:1.02rem;max-width:680px;}
  .letter p strong{color:#fff;}
  .letter .sign{margin-top:32px;font-family:var(--mono);font-size:.85rem;color:#8FF7C4;}
  @media (max-width:700px){ .letter{padding:36px 26px;border-radius:20px;} }

  /* ---------- final CTA ---------- */
  .final-cta{background:var(--ink-panel);color:#fff;border-radius:28px;padding:72px 40px;text-align:center;max-width:var(--maxw);margin:0 auto;}
  .final-cta h2{color:#fff;font-size:clamp(2rem,4.2vw,3rem);max-width:680px;margin:0 auto 16px;}
  .final-cta p{color:#A9AFC6;max-width:520px;margin:0 auto 34px;}
  .final-recap{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;margin-top:48px;}
  .final-recap div{font-family:var(--mono);font-size:.78rem;color:#8890AC;max-width:180px;}
  .final-recap .fnum{font-family:var(--display);color:#8FF7C4;font-size:1.4rem;display:block;margin-bottom:6px;}

  /* ---------- footer ---------- */
  footer{padding:70px 0 36px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;max-width:var(--maxw);margin:0 auto;padding-bottom:44px;}
  .foot-brand .logo{margin-bottom:12px;}
  .foot-brand p{color:var(--muted-2);font-size:.9rem;max-width:220px;}
  .foot-col h4{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);margin-bottom:16px;}
  .foot-col a{display:block;color:var(--muted);font-size:.9rem;margin-bottom:10px;}
  .foot-col a:hover{color:var(--ink);}
  .foot-bottom{border-top:1px solid var(--line);max-width:var(--maxw);margin:0 auto;padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:.76rem;color:var(--muted-2);}
  @media (max-width:820px){ .foot-grid{grid-template-columns:1fr 1fr;} }

  .form-panel{
    max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--line);
    border-radius:var(--radius);padding:36px;text-align:left;box-shadow:var(--shadow-sm);
  }
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
  .form-panel input, .form-panel textarea{
    width:100%;background:var(--bg-soft);border:1px solid var(--line-strong);border-radius:10px;
    padding:12px 14px;color:var(--ink);font-family:var(--body);font-size:.92rem;
  }
  .form-panel input:focus, .form-panel textarea:focus{outline:none;border-color:var(--flow);}
  .form-panel textarea{grid-column:1/-1;min-height:96px;resize:vertical;}
  .form-panel label{font-family:var(--mono);font-size:.7rem;color:var(--muted-2);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:6px;}
  .form-full{margin-bottom:14px;}
  .form-panel .btn{width:100%;justify-content:center;margin-top:6px;border:none;cursor:pointer;}
  .form-note{font-size:.78rem;color:var(--muted-2);margin-top:14px;text-align:center;}


  /* ---------- client-side widget mockup ---------- */
  .widget-section .inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
  .widget-copy ul{list-style:none;display:flex;flex-direction:column;gap:16px;margin-top:28px;}
  .widget-copy li{display:flex;gap:12px;align-items:flex-start;font-size:.96rem;color:var(--muted);}
  .widget-copy li .wicon{
    width:34px;height:34px;border-radius:9px;background:var(--flow-soft);color:var(--flow-ink);
    display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;
  }
  .widget-copy li strong{color:var(--ink);display:block;font-family:var(--display);font-weight:600;font-size:.98rem;margin-bottom:2px;}
  .phone-stage{position:relative;display:flex;justify-content:center;padding:30px 0 60px;}
  .phone-shell{
    width:250px;border-radius:34px;border:8px solid var(--ink-panel);background:var(--ink-panel);
    box-shadow:var(--shadow);overflow:hidden;position:relative;z-index:1;
  }
  .phone-shell .notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:18px;background:var(--ink-panel);border-radius:0 0 12px 12px;z-index:2;}
  .phone-shell img{width:100%;display:block;}
  .modal-peek{
    position:absolute;bottom:-10px;right:calc(50% - 195px);width:200px;border-radius:16px;overflow:hidden;
    box-shadow:0 30px 50px -20px rgba(15,20,40,.35);transform:rotate(6deg);border:1px solid var(--line);z-index:2;
    transition:transform .3s ease;
  }
  .modal-peek:hover{transform:rotate(2deg) translateY(-6px);}
  .modal-peek img{width:100%;display:block;}
  @media (max-width:900px){
    .widget-section .inner{grid-template-columns:1fr;}
    .phone-stage{padding-top:10px;}
  }

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .reveal{opacity:1;transform:none;transition:none;}
    .float-chip{animation:none;}
  }