:root{
  --black:#161616; --black-2:#1e1d1e; --line:#2c2a2c; --line-light:#e3dbe3;
  --white:#f4eff4; --card:#ffffff; --pink:#ef708e; --pink-2:#ef9cb3;
  --ink:#161616; --ink-2:#4a454a; --ink-3:#6b656b; --dim:#a39ca3; --dim-2:#c9c3c9;
  --danger:#c8364f;
  --disp:'Barlow Condensed', system-ui, sans-serif;
  --body:Barlow, system-ui, -apple-system, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--body);font-weight:400;-webkit-font-smoothing:antialiased}
a{color:var(--pink)} a:hover{color:var(--pink-2)}
img,video,svg{max-width:100%}
[hidden]{display:none !important}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}

/* buttons */
.btn{display:inline-block;background:var(--pink);color:var(--black);text-decoration:none;font-weight:600;font-size:16px;padding:14px 26px;border-radius:6px;border:0;cursor:pointer;font-family:var(--body);text-align:center;transition:background .15s}
.btn:hover{background:var(--pink-2);color:var(--black)}
.btn:disabled{opacity:.55;cursor:default}
.btn.lg{font-size:18px;padding:18px 40px}
.btn.xl{font-size:22px;padding:22px 20px;display:block}
.btn.block{display:block;width:100%}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line-light)}
.btn.ghost:hover{border-color:var(--ink-3);background:transparent}
.btn.dark{background:var(--black);color:var(--white)} .btn.dark:hover{background:#2a282a;color:var(--white)}
.btn.danger{background:transparent;color:var(--danger);border:1px solid #e8c3cb} .btn.danger:hover{background:#fbeef1}

/* header */
.site-head{position:sticky;top:0;z-index:20;background:var(--black);border-bottom:1px solid #262626}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--white)}
.brand:hover{color:var(--white)}
.brand .word{font-family:var(--disp);font-weight:700;font-size:24px;letter-spacing:2px}
.brand .word b,.pink{color:var(--pink)}
.site-nav{display:flex;flex-wrap:wrap;gap:28px;margin-left:auto;font-size:15px;font-weight:500}
.site-nav a{color:var(--dim-2);text-decoration:none} .site-nav a:hover{color:var(--pink-2)}
.site-head .btn{font-size:15px;padding:11px 20px}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid #262626}
.hero svg.pitch{position:absolute;inset:0;width:100%;height:100%}
.hero .inner{position:relative;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;padding:150px 32px 160px}
.hero .inner a{pointer-events:auto}
.hero h1{margin:0;font-family:var(--disp);font-weight:700;font-size:clamp(46px,9vw,112px);line-height:.9;letter-spacing:4px}
.hero .sub{margin:0;font-size:24px;font-weight:300;color:#d8d2d8}
.hero .tip{margin:6px 0 0;font-size:14px;color:#8a858a}
.chip{cursor:pointer;stroke:transparent;stroke-width:12;transition:fill .15s}
.chip:hover{fill:var(--pink-2)}
@keyframes drA{0%,100%{transform:translate(0,0)}50%{transform:translate(9px,-6px)}}
@keyframes drB{0%,100%{transform:translate(0,0)}50%{transform:translate(-8px,6px)}}
@keyframes drC{0%,100%{transform:translate(0,0)}50%{transform:translate(6px,8px)}}
.dA{animation:drA 6s ease-in-out infinite} .dB{animation:drB 7s ease-in-out infinite} .dC{animation:drC 5s ease-in-out infinite}
#heroBall{transition:transform .6s cubic-bezier(.45,.05,.35,1)}
@media (prefers-reduced-motion: reduce){.dA,.dB,.dC{animation:none}}

/* sections */
.sec{padding:112px 0}
.sec.light{background:var(--white);color:var(--ink)}
.sec .col{display:flex;flex-direction:column;align-items:center;gap:56px}
.h2{margin:0;font-family:var(--disp);font-weight:600;font-size:clamp(40px,5vw,56px);line-height:1;letter-spacing:1px;text-align:center}
.video{width:100%;max-width:1040px;border-radius:12px;overflow:hidden;background:var(--black)}
.video video{display:block;width:100%;height:auto}
.light .video{box-shadow:0 24px 60px rgba(22,22,22,.18)}
.dark-frame{border:1px solid var(--line)}
.features{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}
.feature{display:flex;flex-direction:column;gap:10px}
.feature h3{margin:0;font-family:var(--disp);font-weight:600;font-size:26px}
.feature p{margin:0;font-size:17px;font-weight:300;line-height:1.5;color:var(--ink-2)}

/* pricing */
.toggle{display:flex;gap:4px;padding:4px;border-radius:8px;background:#e6dfe6}
.toggle button{border:0;border-radius:6px;padding:10px 20px;font:500 15px var(--body);cursor:pointer;background:transparent;color:var(--ink-2)}
.toggle button.on{background:var(--black);color:var(--white);font-weight:600}
.price-card{width:100%;max-width:440px;background:var(--card);border-radius:14px;border-top:6px solid var(--pink);box-shadow:0 18px 48px rgba(22,22,22,.10);padding:44px 40px;display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
.price{display:flex;align-items:baseline;gap:6px}
.price .amt{font-family:var(--disp);font-weight:700;font-size:72px;line-height:1}
.price .per{font-size:18px;font-weight:300;color:var(--ink-2)}
.price-note{margin:-10px 0 0;font-size:15px;color:var(--ink-3)}
.incl{display:flex;flex-direction:column;gap:10px;font-size:17px}
.small{font-size:14px;color:var(--ink-3);margin:0}
.cta-band{border-top:1px solid var(--line-light);padding:96px 0 112px}
.cta-band .wrap{max-width:900px;display:flex;flex-direction:column;gap:28px;text-align:center}
.cta-band h2{margin:0;font-family:var(--disp);font-weight:600;font-size:44px;line-height:1}

/* footer */
.site-foot{background:var(--black);border-top:1px solid #262626}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center;padding-top:40px;padding-bottom:40px;font-size:14px;color:var(--dim)}
.site-foot .legacy{display:flex;align-items:center;gap:14px}
.site-foot nav{display:flex;flex-wrap:wrap;gap:22px}
.site-foot nav a{color:var(--dim-2);text-decoration:none} .site-foot nav a:hover{color:var(--pink-2)}

/* forms + account */
.page{background:var(--white);color:var(--ink);min-height:calc(100vh - 69px - 121px);padding:80px 0 112px}
.panel{max-width:440px;margin:0 auto;background:var(--card);border-radius:14px;border-top:6px solid var(--pink);box-shadow:0 18px 48px rgba(22,22,22,.10);padding:40px;display:flex;flex-direction:column;gap:18px}
.panel.wide{max-width:640px}
.panel h1{margin:0;font-family:var(--disp);font-weight:600;font-size:40px;line-height:1}
.panel p{margin:0;line-height:1.5}
label.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--ink-2)}
label.field input{font:400 16px var(--body);padding:12px 14px;border:1px solid #d9d1d9;border-radius:6px;background:#fff;color:var(--ink)}
label.field input:focus{outline:2px solid var(--pink);outline-offset:0;border-color:var(--pink)}
.msg{font-size:14px;padding:10px 12px;border-radius:6px;background:#fbe3ea;color:#7a2638}
.msg.ok{background:#e9f4ec;color:#1f5a32}
.alt{font-size:14px;color:var(--ink-3);text-align:center}
.row{display:flex;flex-wrap:wrap;gap:10px}
.row .btn{flex:1 1 160px}
.stat{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #eee6ee;font-size:16px}
.stat span:first-child{color:var(--ink-3)}
.badge{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#fbe3ea;color:#a3304b}
.badge.green{background:#e3f1e7;color:#1f5a32} .badge.grey{background:#eee;color:#555}

/* legal */
.legal{max-width:760px;margin:0 auto;line-height:1.65;font-size:17px}
.legal h1{font-family:var(--disp);font-weight:600;font-size:48px;margin:0 0 6px}
.legal h2{font-family:var(--disp);font-weight:600;font-size:28px;margin:36px 0 8px}
.legal .updated{color:var(--ink-3);font-size:14px;margin:0 0 24px}

@media (max-width:900px){
  .features{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sec{padding:80px 0}
  .hero .inner{padding:110px 24px 120px}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .features{grid-template-columns:minmax(0,1fr)}
  .site-head .wrap{gap:12px 16px}
  .brand svg{width:32px;height:32px} .brand .word{font-size:20px;letter-spacing:1.5px}
  .site-nav{gap:18px;margin-left:0;order:3;width:100%}
  .site-head .btn{margin-left:auto;font-size:14px;padding:9px 14px}
  .hero h1{letter-spacing:2px}
  .hero .sub{font-size:20px}
  .panel{padding:28px 20px}
}
