/* Viral Video Maker — site styles (brand-matched to the app) */
:root{
  --bg:#0a0a0d;
  --card:#151519;
  --card2:#1e1e25;
  --hair:rgba(255,255,255,.08);
  --ink:#f5f5f7;
  --ink2:#9b9ba6;
  --ink3:#63636e;
  --pink:#fe2c55;
  --grad:linear-gradient(135deg,#fe2c55,#ff2c8f);
  --gradtext:linear-gradient(100deg,#ff8ab0,#fe2c55 50%,#ff2c9c);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px}

/* nav */
nav{
  position:sticky;top:0;z-index:20;
  background:rgba(10,10,13,.85);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--hair);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo img{width:32px;height:32px;border-radius:9px}
.logo span{
  font-weight:800;font-size:17px;letter-spacing:-.4px;
  background:var(--gradtext);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.nav-links{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600}
.nav-links a{color:var(--ink2);text-decoration:none}
.nav-links a:hover{color:var(--ink)}
.btn{
  display:inline-block;background:var(--grad);color:#fff;text-decoration:none;
  font-weight:700;font-size:15px;letter-spacing:-.2px;
  padding:13px 26px;border-radius:14px;
  box-shadow:0 8px 24px rgba(254,44,85,.35);
}
.btn.small{padding:9px 18px;font-size:13.5px;border-radius:11px;box-shadow:none}
.btn.ghost{background:var(--card);border:1px solid var(--hair);box-shadow:none}

/* hero */
.hero{padding:88px 0 40px;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero h1{font-size:52px;line-height:1.08;font-weight:800;letter-spacing:-1.8px}
.hero h1 em{
  font-style:normal;
  background:var(--gradtext);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p{font-size:18px;color:var(--ink2);margin:20px 0 30px;max-width:480px}
.hero-ctas{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.hero-note{font-size:12.5px;color:var(--ink3);margin-top:14px}
.phones{position:relative;display:flex;justify-content:center}
.phones img{
  width:250px;border-radius:26px;border:1px solid var(--hair);
  box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.phones img.back{position:absolute;right:8%;top:36px;width:210px;transform:rotate(6deg);opacity:.85;z-index:0}
.phones img.front{position:relative;z-index:1;transform:rotate(-3deg)}

/* sections */
section{padding:72px 0}
.eyebrow{
  font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--pink);margin-bottom:10px;
}
h2.title{font-size:34px;font-weight:800;letter-spacing:-1px;margin-bottom:14px}
p.sub{font-size:16.5px;color:var(--ink2);max-width:620px;margin-bottom:40px}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step{background:var(--card);border:1px solid var(--hair);border-radius:20px;padding:26px}
.step .num{
  width:34px;height:34px;border-radius:12px;background:var(--grad);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;color:#fff;margin-bottom:16px;
}
.step h3{font-size:17px;font-weight:700;letter-spacing:-.3px;margin-bottom:8px}
.step p{font-size:14px;color:var(--ink2)}

.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feature{background:var(--card);border:1px solid var(--hair);border-radius:18px;padding:22px}
.feature h3{font-size:15.5px;font-weight:700;margin-bottom:6px;letter-spacing:-.2px}
.feature p{font-size:13.5px;color:var(--ink2)}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.plan{background:var(--card);border:1px solid var(--hair);border-radius:22px;padding:28px;position:relative}
.plan.popular{border-color:rgba(254,44,85,.55)}
.plan .ribbon{
  position:absolute;top:-12px;right:20px;background:var(--grad);color:#fff;
  font-size:11px;font-weight:800;letter-spacing:.05em;padding:5px 12px;border-radius:99px;
}
.plan h3{font-size:18px;font-weight:800}
.plan .price{font-size:38px;font-weight:800;letter-spacing:-1.5px;margin:10px 0 2px}
.plan .price small{font-size:14px;color:var(--ink3);font-weight:600;letter-spacing:0}
.plan .yearly{font-size:13px;color:var(--ink3);margin-bottom:14px}
.plan .credits{font-size:14.5px;font-weight:700;color:#ff7d9b;margin-bottom:16px}
.plan ul{list-style:none;margin-bottom:22px}
.plan li{font-size:13.5px;color:var(--ink2);padding:4px 0 4px 24px;position:relative}
.plan li::before{content:"✓";position:absolute;left:2px;color:#30c94e;font-weight:800}
table.costs{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px}
table.costs th,table.costs td{border:1px solid var(--hair);padding:10px 14px;text-align:center}
table.costs th{background:var(--card2);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
table.costs td:first-child{text-align:left;font-weight:700}

/* legal pages */
.legal{padding:64px 0 96px}
.legal h1{font-size:36px;font-weight:800;letter-spacing:-1px;margin-bottom:6px}
.legal .updated{font-size:13.5px;color:var(--ink3);margin-bottom:36px}
.legal h2{font-size:20px;font-weight:700;letter-spacing:-.3px;margin:34px 0 10px}
.legal p,.legal li{font-size:15px;color:var(--ink2);margin-bottom:12px}
.legal ul{margin:0 0 14px 22px}
.legal strong{color:var(--ink)}
.legal .card{background:var(--card);border:1px solid var(--hair);border-radius:16px;padding:20px 24px;margin:18px 0}

/* cta band + footer */
.cta-band{text-align:center;padding:88px 0}
.cta-band h2{font-size:36px;font-weight:800;letter-spacing:-1.2px;margin-bottom:12px}
.cta-band p{color:var(--ink2);margin-bottom:28px}
footer{border-top:1px solid var(--hair);padding:36px 0 48px}
.foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.foot .links{display:flex;gap:22px;font-size:13.5px}
.foot a{color:var(--ink3);text-decoration:none}
.foot a:hover{color:var(--ink)}
.foot .copy{font-size:13px;color:var(--ink3)}

@media (max-width:860px){
  .hero{grid-template-columns:1fr;padding-top:56px;text-align:center}
  .hero p{margin-inline:auto}
  .hero-ctas{justify-content:center}
  .hero h1{font-size:38px}
  .phones{margin-top:20px}
  .steps,.features,.plans{grid-template-columns:1fr}
  .nav-links{gap:16px}
  .nav-links a.hide-mobile{display:none}
}
