/* ================================================================
   WEBCRAFT — css/home.css
   Home page: hero, clients strip, bento, pricing, CTA banner
   ================================================================ */

/* ── Hero ────────────────────────────────────────────────────── */
.hero {
  min-height:calc(100vh - var(--nav-h)); display:flex; align-items:center;
  position:relative; overflow:hidden; padding:80px 0;
}
.hero-bg {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 65% 55% at 75% 45%,rgba(200,255,87,.06) 0%,transparent 65%),
    radial-gradient(ellipse 45% 45% at 15% 85%,rgba(74,124,255,.05) 0%,transparent 55%);
}
.hero-grid {
  position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:80px 80px;
  -webkit-mask-image:radial-gradient(ellipse 85% 85% at 50% 50%,black 20%,transparent 100%);
  mask-image:radial-gradient(ellipse 85% 85% at 50% 50%,black 20%,transparent 100%);
}
.hero-body    { position:relative; max-width:760px }
.hero-eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:26px }
.hero-dot     { width:8px; height:8px; background:var(--accent); border-radius:50%; animation:pulse 2s ease infinite }
.hero h1      { margin-bottom:22px }
.hero h1 em   { font-style:normal; background:linear-gradient(130deg,var(--accent) 0%,#7FB5FF 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent }
.hero-sub     { color:var(--muted); font-size:1.075rem; max-width:490px; line-height:1.75; margin-bottom:34px; font-weight:300 }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:14px }
.hero-replay  {
  display:inline-flex; align-items:center; gap:7px; font-size:.74rem; color:var(--faint);
  background:var(--s2); border:1px solid var(--border); padding:5px 14px; border-radius:100px;
  cursor:pointer; transition:all var(--t) var(--ease); font-family:'JetBrains Mono',monospace; margin-bottom:46px;
}
.hero-replay:hover { color:var(--accent); border-color:var(--accent) }
.hero-stats { display:flex; gap:42px }
.sn         { font-family:'Syne',sans-serif; font-size:2rem; font-weight:800; letter-spacing:-.04em }
.sn span    { color:var(--accent) }
.sl         { font-size:.77rem; color:var(--faint); margin-top:2px }

/* ── Clients strip ───────────────────────────────────────────── */
.clients     { padding:36px 0 58px }
.clients-lbl { text-align:center; font-size:.67rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--faint); margin-bottom:22px }
.clients-row { display:flex; justify-content:center; flex-wrap:wrap; gap:9px 18px }
.c-pill {
  background:var(--s1); border:1px solid var(--border); border-radius:100px;
  padding:7px 18px; font-size:.8125rem; color:var(--muted); font-weight:500;
  transition:all var(--t) var(--ease);
}
.c-pill:hover { border-color:var(--border2); color:var(--text) }

/* ── Bento ───────────────────────────────────────────────────── */
.bento { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:52px }
.bc {
  background:var(--s1); border:1px solid var(--border); border-radius:var(--r4);
  padding:28px; transition:all var(--t) var(--ease); position:relative; overflow:hidden;
}
.bc::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,var(--glow),transparent 70%);
  opacity:0; transition:opacity var(--t) var(--ease);
}
.bc:hover          { border-color:rgba(200,255,87,.25); transform:translateY(-3px) }
.bc:hover::after   { opacity:1 }
.bc--wide          { grid-column:span 2 }
.bc-icon           { font-size:1.75rem; margin-bottom:14px }
.bc-title          { font-family:'Syne',sans-serif; font-size:1rem; font-weight:700; margin-bottom:8px }
.bc-text           { font-size:.875rem; color:var(--muted); line-height:1.65 }
.bc-n              { position:absolute; bottom:16px; right:20px; font-family:'Syne',sans-serif; font-size:3.5rem; font-weight:800; color:rgba(255,255,255,.025); line-height:1; pointer-events:none }
.bars              { display:flex; flex-direction:column; gap:10px; margin-top:14px }
.bar-lbl           { display:flex; justify-content:space-between; font-size:.72rem; color:var(--muted); margin-bottom:3px }
.bar-lbl span:last-child { color:var(--accent) }
.bar-track         { height:5px; background:rgba(255,255,255,.05); border-radius:3px; overflow:hidden }
.bar-fill          { height:100%; border-radius:3px; background:linear-gradient(90deg,var(--accent),#7FB5FF); width:0; transition:width 1.6s var(--ease) }

/* ── Pricing ─────────────────────────────────────────────────── */
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:52px }
.pc {
  background:var(--s1); border:1px solid var(--border); border-radius:var(--r4);
  padding:34px; transition:all var(--t) var(--ease); position:relative;
}
.pc--feat         { border-color:var(--accent); background:var(--s2) }
.pc--feat::before {
  content:'Beliebt'; position:absolute; top:18px; right:18px;
  background:var(--accent); color:#08080F; font-size:.62rem; font-weight:700;
  padding:3px 9px; border-radius:100px; letter-spacing:.06em; text-transform:uppercase;
}
.pc:hover         { transform:translateY(-4px); border-color:rgba(200,255,87,.3) }
.pc-type          { font-size:.68rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:14px }
.pc-price         { font-family:'Syne',sans-serif; font-size:2.3rem; font-weight:800; letter-spacing:-.04em; margin-bottom:4px }
.pc-per           { font-size:.78rem; color:var(--muted); margin-bottom:22px }
.pc-feats         { display:flex; flex-direction:column; gap:9px; margin-bottom:24px }
.pc-feat          { display:flex; align-items:center; gap:10px; font-size:.875rem; color:var(--muted) }
.pc-feat::before  { content:'✓'; width:18px; height:18px; flex-shrink:0; background:var(--glow); color:var(--accent); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.62rem; font-weight:700 }

/* ── CTA banner ──────────────────────────────────────────────── */
.cta-banner {
  background:linear-gradient(135deg,#0C1728 0%,#08080F 50%,#0C1A0C 100%);
  border:1px solid var(--border); border-radius:var(--r4);
  padding:68px 72px; text-align:center; position:relative; overflow:hidden; margin-bottom:96px;
}
.cta-banner::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 55% 65% at 50% 50%,var(--glow),transparent 70%); pointer-events:none }
.cta-banner h2 { margin-bottom:14px; position:relative }
.cta-banner p  { color:var(--muted); max-width:420px; margin:0 auto 32px; position:relative }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width:1024px) {
  .bento    { grid-template-columns:repeat(2,1fr); gap:12px }
  .bc--wide { grid-column:span 1 }
}
@media (max-width:768px) {
  .bento        { grid-template-columns:1fr; gap:10px }
  .pricing-grid { grid-template-columns:1fr; max-width:440px; margin-left:auto; margin-right:auto }
  .hero-stats   { gap:22px; flex-wrap:wrap }
  .cta-banner   { padding:44px 24px }
}
@media (max-width:480px) {
  .hero-actions { flex-direction:column; align-items:stretch }
  .hero-stats   { flex-direction:column; gap:14px }
  .hero-replay  { margin-bottom:28px }
  .clients-row  { gap:7px 10px }
  .pricing-grid { grid-template-columns:1fr }
  .cta-banner   { padding:32px 16px }
}
