/* ================================================================
   LoopReset — Home Page Styles
   ================================================================ */

/* ── Hero ── */
.hero {
  position:relative; overflow:hidden;
  padding:7rem 1.5rem 6rem; text-align:center;
  background:
    radial-gradient(ellipse 80% 60% at 50% -10%, rgba(155,139,244,.18) 0%, transparent 65%),
    radial-gradient(ellipse 40% 30% at 80% 50%, rgba(244,114,182,.1) 0%, transparent 60%);
}
.hero-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--prl); border:1px solid rgba(155,139,244,.3); border-radius:50px;
  padding:.4rem 1rem; font-size:.78rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.08em; color:var(--pr); margin-bottom:2rem;
}
.hero h1 { font-size:clamp(2.5rem,6vw,4.2rem); font-weight:900; color:#fff; line-height:1.05; margin-bottom:1.5rem; }
.hero-sub { font-size:1.15rem; color:var(--mt); line-height:1.8; max-width:620px; margin:0 auto 2.5rem; }
.hero-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-bottom:3.5rem; }
.hero-proof { display:flex; justify-content:center; gap:3rem; flex-wrap:wrap; }
.proof-item { text-align:center; }
.proof-num { font-size:1.6rem; font-weight:900; color:#fff; }
.proof-label { font-size:.78rem; color:var(--gy); margin-top:.25rem; }

/* ── Trust Bar ── */
.trust {
  background:var(--sf); border-top:1px solid var(--bd); border-bottom:1px solid var(--bd); padding:1.4rem 1.5rem;
}
.trust-i { max-width:var(--mx); margin:0 auto; display:flex; align-items:center; justify-content:center; gap:3rem; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:.6rem; font-size:.85rem; font-weight:600; color:var(--mt); }

/* ── Sections shared ── */
.section { padding:5rem 1.5rem; }
.section-inner { max-width:var(--mx); margin:0 auto; }
.section-title { font-size:clamp(1.8rem,4vw,2.8rem); font-weight:900; color:#fff; line-height:1.1; margin-bottom:1rem; }
.section-sub { font-size:1rem; color:var(--mt); line-height:1.8; max-width:600px; }
.section-head { margin-bottom:3rem; }

/* ── Problem ── */
.problem { background:var(--sf); }
.loop-phases { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin:3rem 0; position:relative; }
.loop-phases::before { content:''; position:absolute; top:36px; left:10%; right:10%; height:2px; background:var(--grad); z-index:0; }
.phase { text-align:center; padding:0 .5rem; position:relative; z-index:1; }
.phase-num { width:48px; height:48px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center; font-size:.85rem; font-weight:800; color:#fff; margin:0 auto 1rem; box-shadow:0 0 20px rgba(155,139,244,.3); }
.phase-title { font-size:.8rem; font-weight:700; color:#fff; margin-bottom:.4rem; line-height:1.3; }
.phase-desc { font-size:.72rem; color:var(--gy); line-height:1.5; }
.problem-cost { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:3rem; }
.cost-card { background:var(--sf2); border:1px solid var(--bd); border-radius:var(--rd); padding:1.5rem; text-align:center; }
.cost-num { font-size:2rem; font-weight:900; margin-bottom:.4rem; }
.cost-label { font-size:.82rem; color:var(--mt); line-height:1.5; }

/* ── Solution ── */
.solution-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; margin-top:3rem; }
.sys-card { background:var(--sf); border:1px solid var(--bd); border-radius:var(--rd); padding:1.5rem; transition:border-color .2s,transform .2s; }
.sys-card:hover { border-color:var(--pr); transform:translateY(-3px); }
.sys-card.featured {
  grid-column:1/-1;
  background:linear-gradient(135deg,rgba(155,139,244,.08),rgba(244,114,182,.05));
  border-color:rgba(155,139,244,.3);
  display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:center; padding:2.5rem;
}
.sys-num { font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:var(--pr); margin-bottom:.6rem; }
.sys-title { font-size:1rem; font-weight:800; color:#fff; margin-bottom:.5rem; line-height:1.3; }
.sys-desc { font-size:.82rem; color:var(--mt); line-height:1.6; }
.sys-card.featured .sys-title { font-size:1.6rem; margin-bottom:.75rem; }
.sys-card.featured .sys-desc { font-size:.95rem; }
.sys-price { font-size:2.5rem; font-weight:900; color:#fff; margin:1rem 0 .25rem; }
.sys-price span { font-size:1rem; font-weight:500; color:var(--mt); }
.sys-cta { display:inline-flex; align-items:center; gap:.5rem; background:var(--grad); color:#fff; padding:.85rem 2rem; border-radius:50px; font-weight:700; font-size:.95rem; margin-top:1.5rem; transition:opacity .2s; }
.sys-cta:hover { opacity:.85; color:#fff; }
.sys-list { display:flex; flex-direction:column; gap:.75rem; }
.sys-list-item { display:flex; align-items:center; gap:.75rem; }
.sys-list-num { width:22px; height:22px; border-radius:50%; background:var(--prl); border:1px solid rgba(155,139,244,.3); display:flex; align-items:center; justify-content:center; font-size:.65rem; font-weight:800; color:var(--pr); flex-shrink:0; }
.sys-list-title { font-size:.82rem; font-weight:700; color:#fff; }
.sys-list-desc { font-size:.72rem; color:var(--gy); }

/* ── Blog preview ── */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3rem; }
.blog-card { background:var(--sf); border:1px solid var(--bd); border-radius:var(--rd); overflow:hidden; transition:border-color .2s,transform .2s; display:flex; flex-direction:column; }
.blog-card:hover { border-color:var(--pr); transform:translateY(-3px); }
.blog-thumb { height:180px; background:linear-gradient(135deg,var(--sf2),var(--bg)); display:flex; align-items:center; justify-content:center; font-size:2.5rem; border-bottom:1px solid var(--bd); overflow:hidden; position:relative; }
.blog-thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.blog-body { padding:1.25rem; flex:1; display:flex; flex-direction:column; }
.blog-cat { display:inline-block; font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--pr); background:var(--prl); border-radius:4px; padding:.2rem .5rem; margin-bottom:.6rem; }
.blog-title { font-size:.95rem; font-weight:700; color:#fff; line-height:1.4; margin-bottom:.75rem; flex:1; }
.blog-read { font-size:.8rem; color:var(--pr); font-weight:600; }
.blog-section-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:3rem; }
.blog-all-link { font-size:.875rem; font-weight:700; color:var(--pr); }
.blog-all-link:hover { color:var(--prm); }

/* ── About teaser ── */
.about-teaser { background:var(--sf); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.about-visual { background:linear-gradient(135deg,var(--sf2),var(--bg)); border:1px solid var(--bd); border-radius:20px; aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; font-size:4rem; }
.about-link { display:inline-flex; align-items:center; gap:.5rem; color:var(--pr); font-weight:700; font-size:.95rem; margin-top:2rem; }
.about-link:hover { color:var(--prm); }

/* ── Newsletter ── */
.newsletter { text-align:center; background:linear-gradient(135deg,rgba(155,139,244,.06),rgba(244,114,182,.04)); border-top:1px solid var(--bd); border-bottom:1px solid var(--bd); }
.nl-form { display:flex; gap:.75rem; justify-content:center; flex-wrap:wrap; max-width:480px; margin:0 auto; }
.nl-input { flex:1; min-width:220px; background:var(--sf); border:1px solid var(--bd); border-radius:50px; padding:.8rem 1.4rem; font-size:.9rem; color:var(--tx); font-family:inherit; outline:none; transition:border-color .2s; }
.nl-input:focus { border-color:var(--pr); }
.nl-input::placeholder { color:var(--gy); }
.nl-btn { background:var(--grad); color:#fff; border:none; border-radius:50px; padding:.8rem 1.75rem; font-size:.9rem; font-weight:700; font-family:inherit; cursor:pointer; white-space:nowrap; transition:opacity .2s; }
.nl-btn:hover { opacity:.85; }
.nl-note { font-size:.75rem; color:var(--gy); margin-top:1rem; }

/* ── Responsive ── */
@media (max-width:960px) {
  .loop-phases { grid-template-columns:1fr 1fr; gap:1.5rem; }
  .loop-phases::before { display:none; }
  .problem-cost { grid-template-columns:1fr 1fr; }
  .solution-grid { grid-template-columns:1fr 1fr; }
  .sys-card.featured { grid-column:1/-1; grid-template-columns:1fr; }
  .blog-grid { grid-template-columns:1fr 1fr; }
  .about-grid { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .hero-proof { gap:1.5rem; }
  .trust-i { gap:1.5rem; }
  .solution-grid { grid-template-columns:1fr; }
  .problem-cost { grid-template-columns:1fr; }
  .loop-phases { grid-template-columns:1fr; }
  .blog-grid { grid-template-columns:1fr; }
}
