
/* main.css – Limitless Web (modern refresh) */
:root{
  --bg:#f8fafc; --surface:#ffffff; --text:#0b1220; --muted:#475569; --border:rgba(2,6,23,.08);
  --ring:rgba(14,165,233,.35); --shadow:0 12px 40px rgba(15,23,42,.08); --radius:16px;
  --primary:#2563eb; --primary-500:#3b82f6; --primary-600:#2563eb; --primary-700:#1d4ed8;
  --gradient-a:#0ea5e9; --gradient-b:#6366f1; --container:min(1160px,92vw);
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0b1220; --surface:#0f172a; --text:#e2e8f0; --muted:#94a3b8;
    --border:rgba(148,163,184,.25); --ring:rgba(125,211,252,.35); --shadow:0 20px 60px rgba(0,0,0,.35); }
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans','Liberation Sans',sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 700px at 20% -10%, rgba(99,102,241,.08), transparent 60%), radial-gradient(1200px 700px at 120% 10%, rgba(14,165,233,.08), transparent 60%), var(--bg);
  overflow-x:hidden; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--primary-600); text-decoration:none; } a:hover{ text-decoration:underline; }
.container{ width:var(--container); margin-inline:auto; }
.eyebrow{ letter-spacing:.08em; text-transform:uppercase; font-weight:700; font-size:.78rem; color:var(--muted); }
:focus-visible{ outline:3px solid var(--ring); outline-offset:2px; border-radius:8px; }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.6rem; padding:.9rem 1.2rem; border-radius:9999px; border:0;
  font-weight:700; color:#fff; background:linear-gradient(90deg,var(--gradient-a),var(--gradient-b)); box-shadow:0 8px 24px rgba(14,165,233,.25);
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease; will-change:transform; }
.btn:hover{ transform:translateY(-1px); box-shadow:0 16px 40px rgba(99,102,241,.28); }
.btn.secondary{ background:transparent; color:var(--text); border:1px solid var(--border); box-shadow:none; }
.btn.ghost{ background:transparent; color:var(--primary-600); border:1px solid rgba(59,130,246,.35); }
.btn:disabled{ opacity:.6; cursor:not-allowed; }
header.site-header{ position:sticky; top:0; z-index:1000; backdrop-filter:saturate(120%) blur(10px);
  background:color-mix(in srgb, var(--surface) 82%, transparent); border-bottom:1px solid var(--border); }
.navbar{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 0; }
.navbar .brand{ display:flex; gap:.65rem; align-items:center; font-weight:800; }
.navbar img{ height:32px; width:auto; }
.navbar nav{ display:flex; gap:.25rem; align-items:center; }
.navbar nav a{ padding:.6rem .8rem; border-radius:10px; font-weight:600; color:var(--text); }
.navbar nav a:hover{ background:rgba(2,6,23,.06); }
.nav-toggle{ display:none; background:transparent; border:1px solid var(--border); border-radius:12px; padding:.5rem .7rem; }
.nav-toggle svg{ width:22px; height:22px; }
@media (max-width:880px){
  .nav-toggle{ display:inline-flex; }
  .navbar nav{ position:fixed; inset:56px 12px auto 12px; display:none; flex-direction:column; gap:.25rem;
    background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:.5rem; box-shadow:var(--shadow); }
  .navbar nav.open{ display:flex; }
}
.hero{ padding:clamp(2rem,5vw,3rem) 0; }
.hero-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(1.2rem,4vw,2rem); align-items:center; }
@media (max-width:980px){ .hero-grid{ grid-template-columns:1fr; } }
.hero h1{ font-size:clamp(2.1rem,4.5vw,3.2rem); line-height:1.08; margin:.35rem 0 .6rem; }
.hero p.lead{ font-size:clamp(1.05rem,1.3vw,1.15rem); color:var(--muted); max-width:62ch; }
.hero .actions{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.hero .visual{ position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  background:linear-gradient(120deg, rgba(99,102,241,.18), rgba(14,165,233,.18)); }
.hero .visual img{ width:100%; height:100%; object-fit:cover; mix-blend:multiply; opacity:.95; }
.badges{ display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.6rem; }
.badge{ background:color-mix(in srgb, var(--gradient-a) 10%, white); color:var(--text);
  border:1px solid color-mix(in srgb, var(--gradient-a) 30%, white); padding:.4rem .7rem; border-radius:9999px; font-weight:700; font-size:.83rem; }
.section{ padding:clamp(2.6rem,6vw,4rem) 0; }
.section .section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.2rem; }
.section .section-head h2{ font-size:clamp(1.7rem,2.8vw,2.2rem); margin:.25rem 0; }
.section .sub{ color:var(--muted); max-width:68ch; }
.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
@media (max-width:1080px){ .cards{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:680px){ .cards{ grid-template-columns:1fr;} }
.card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:1.1rem; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:.8rem; }
.card header{ display:flex; align-items:center; gap:.6rem; }
.card header .icon{ width:36px; height:36px; display:grid; place-items:center; border-radius:10px;
  background:linear-gradient(90deg,var(--gradient-a),var(--gradient-b)); color:white; font-weight:800; }
.card img{ border-radius:12px; aspect-ratio:16/9; object-fit:cover; }
.card ul{ padding-left:1.1rem; margin:.2rem 0 0; color:var(--muted); }
.card li{ margin:.25rem 0; }
.check{ color:#10b981; font-weight:900; margin-right:.5rem; }
.scrolly .sticky{ position:sticky; top:78px; height:calc(100vh - 96px); border-radius:var(--radius); border:1px solid var(--border);
  background:color-mix(in srgb, var(--surface) 80%, transparent); display:flex; align-items:center; justify-content:center; text-align:center;
  padding:clamp(1.2rem,4vw,2rem); box-shadow:var(--shadow); }
.scrolly .sticky .stage h3{ font-size:clamp(1.4rem,2.2vw,1.8rem); margin:.25rem 0; }
.scrolly .sticky .stage p{ color:var(--muted); max-width:60ch; margin:.5rem auto 0; }
.steps{ display:flex; flex-direction:column; gap:68vh; margin-top:2rem; }
.step{ min-height:60vh; font-weight:700; color:var(--muted); }
.step .marker{ height:10px; width:10px; background:linear-gradient(90deg,var(--gradient-a),var(--gradient-b)); border-radius:9999px; display:inline-block; margin-right:.5rem; box-shadow:0 0 0 8px rgba(14,165,233,.14); }
.testimonials{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
@media (max-width:1080px){ .testimonials{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:680px){ .testimonials{ grid-template-columns:1fr;} }
.testimonial{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1rem; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:.6rem; }
.testimonial .stars{ color:#f59e0b; font-size:1.05rem; }
.testimonial img{ border-radius:12px; aspect-ratio:4/3; object-fit:cover; }
.form-card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:1.25rem; box-shadow:var(--shadow); }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:720px){ .form-grid{ grid-template-columns:1fr; } }
.input{ display:flex; flex-direction:column; gap:.35rem; }
.input label{ font-weight:700; font-size:.92rem; }
.input input, .input textarea, .input select{ border:1px solid var(--border); border-radius:12px; padding:.8rem .95rem; font:inherit; background:var(--surface); color:var(--text); }
.input textarea{ min-height:120px; resize:vertical; }
.small{ font-size:.88rem; color:var(--muted); }
.footer{ background:color-mix(in srgb, var(--surface) 80%, var(--bg)); color:var(--muted); padding:2rem 0; margin-top:2rem; border-top:1px solid var(--border); }
.footer a{ color:var(--primary-500); font-weight:700; }
.cookie-modal{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(2,6,23,.42); z-index:2000; }
.cookie-modal.open{ display:flex; }
.cookie-card{ background:var(--surface); color:var(--text); border-radius:16px; padding:1.25rem; width:min(680px,94vw); border:1px solid var(--border); box-shadow:0 20px 60px rgba(15,23,42,.3); }
.blur-wrap.blurred{ filter:blur(6px) saturate(96%) brightness(.94); pointer-events:none; user-select:none; }
.grid-2{ display:grid; grid-template-columns:1.2fr 1fr; gap:1rem; } @media (max-width:980px){ .grid-2{ grid-template-columns:1fr; } }
.muted{ color:var(--muted); }
hr.sep{ border:none; height:1px; background:var(--border); margin:1.25rem 0; }
.reveal{ opacity:0; transform:translateY(12px); } .reveal.in{ opacity:1; transform:none; transition:opacity .6s ease, transform .6s ease; }
@media (prefers-reduced-motion:reduce){ .reveal,.reveal.in{ opacity:1; transform:none; transition:none; } }
.notfound{ min-height:60vh; display:grid; place-items:center; text-align:center; }
