:root{
  --primary:#2046d8;
  --primary-2:#4775ff;
  --primary-3:#eef3ff;
  --ink:#0f172a;
  --text:#1f2937;
  --muted:#5f6b7a;
  --line:#e7ecf4;
  --surface:#f6f9ff;
  --surface-2:#fbfcff;
  --white:#ffffff;
  --success:#14804a;
  --warning:#8a5a00;
  --warning-bg:#fff4cf;
  --danger:#c62828;
  --shadow:0 18px 45px rgba(15,23,42,.08);
  --shadow-lg:0 26px 70px rgba(20,33,61,.14);
  --radius-xl:30px;
  --radius-lg:24px;
  --radius-md:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,#f8fbff 0%, #ffffff 28%, #f8fbff 100%);
}
a{color:var(--primary);text-decoration:none}
a:hover{color:#1739bb}
img{max-width:100%;height:auto}
.navbar{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(15,23,42,.06);
}
.navbar-brand{
  font-weight:900;
  letter-spacing:-.03em;
  color:var(--ink);
}
.nav-link{
  color:#445066;
  font-weight:700;
}
.nav-link:hover,.nav-link:focus{color:var(--primary)}
.btn{
  border-radius:999px;
  padding:.9rem 1.25rem;
  font-weight:800;
  letter-spacing:-.01em;
}
.btn-primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  border:none;
  box-shadow:0 14px 30px rgba(32,70,216,.24);
}
.btn-primary:hover,.btn-primary:focus{background:linear-gradient(135deg,#1739bb,#3f6cff)}
.btn-outline-primary{
  color:var(--primary);
  border:1px solid rgba(32,70,216,.18);
  background:#fff;
}
.btn-outline-primary:hover{background:var(--primary-3);color:var(--primary);border-color:rgba(32,70,216,.28)}
.badge-soft,.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.62rem .95rem;
  border-radius:999px;
  background:var(--primary-3);
  color:var(--primary);
  font-weight:800;
  font-size:.92rem;
}
.hero{
  padding:132px 0 80px;
  position:relative;
  overflow:hidden;
}
.hero:before{
  content:"";
  position:absolute;
  inset:-180px auto auto -150px;
  width:460px;
  height:460px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(71,117,255,.18) 0%, rgba(71,117,255,0) 70%);
}
.hero:after{
  content:"";
  position:absolute;
  right:-160px;
  top:-80px;
  width:520px;
  height:520px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(32,70,216,.14) 0%, rgba(32,70,216,0) 70%);
}
.hero-content,.hero-visual{position:relative;z-index:1}
.hero h1{
  font-size:clamp(2.6rem,5vw,4.9rem);
  line-height:.96;
  letter-spacing:-.07em;
  font-weight:950;
  color:var(--ink);
  margin:1rem 0 1.15rem;
  max-width:10ch;
}
.hero p.lead{
  color:var(--muted);
  font-size:1.12rem;
  line-height:1.7;
  max-width:620px;
  margin-bottom:1.6rem;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:1.35rem}
.hero-notes{display:flex;flex-wrap:wrap;gap:.8rem 1rem}
.hero-note{
  display:flex;
  align-items:center;
  gap:.6rem;
  color:#445066;
  font-weight:700;
}
.hero-note i{color:var(--primary)}
.hero-card{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(15,23,42,.06);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);
  padding:22px;
}
.mockup-stack{position:relative;min-height:700px}
.phone{
  position:absolute;
  width:285px;
  background:#0f172a;
  border-radius:36px;
  padding:10px;
  box-shadow:0 24px 60px rgba(15,23,42,.24);
}
.phone img{display:block;border-radius:26px;width:100%}
.phone.main{right:7%;top:10px;z-index:3}
.phone.back-left{left:0;top:110px;transform:rotate(-10deg);z-index:2;width:240px}
.phone.back-right{right:0;top:300px;transform:rotate(9deg);z-index:1;width:235px}
.float-panel{
  position:absolute;
  left:24px;
  bottom:18px;
  width:280px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(15,23,42,.06);
  box-shadow:var(--shadow);
  border-radius:22px;
  padding:18px;
  z-index:4;
}
.float-panel h3{margin:0 0 .45rem;font-size:1.05rem;font-weight:900;letter-spacing:-.03em;color:var(--ink)}
.float-panel p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55}
.section{padding:88px 0}
.section-sm{padding:64px 0}
.section-title{
  font-size:clamp(1.9rem,4vw,3.4rem);
  line-height:1.02;
  letter-spacing:-.06em;
  font-weight:950;
  color:var(--ink);
  margin-bottom:1rem;
}
.section-lead{font-size:1.08rem;line-height:1.75;color:var(--muted);max-width:760px}
.surface-card,.feature-card,.benefit-card,.legal-card,.pricing-card,.faq-card,.cta-card,.metric-card,.alt-card,.carousel-shell{
  background:var(--white);
  border:1px solid rgba(15,23,42,.06);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.metric-card{padding:24px;background:linear-gradient(180deg,#fff,#f8fbff)}
.metric-label{font-size:.86rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#637083}
.metric-value{font-size:2rem;font-weight:950;letter-spacing:-.05em;color:var(--ink);margin:.35rem 0}
.metric-copy{margin:0;color:var(--muted);line-height:1.65}
.feature-card{padding:28px;height:100%;background:linear-gradient(180deg,#fff,#fbfdff)}
.feature-icon{
  width:58px;height:58px;border-radius:18px;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(32,70,216,.12),rgba(71,117,255,.18));
  color:var(--primary);font-size:1.45rem;margin-bottom:1rem;
}
.feature-card h3{font-size:1.2rem;font-weight:900;letter-spacing:-.03em;margin-bottom:.55rem;color:var(--ink)}
.feature-card p{margin:0;color:var(--muted);line-height:1.68}
.alt-card{padding:30px;height:100%}
.alt-card h3{font-size:1.35rem;font-weight:900;letter-spacing:-.04em;margin-bottom:.7rem;color:var(--ink)}
.alt-card p{margin:0;color:var(--muted);line-height:1.72}
.alt-bullets{list-style:none;padding:0;margin:1rem 0 0}
.alt-bullets li{display:flex;gap:.7rem;align-items:flex-start;padding:.4rem 0;color:#445066;font-weight:600}
.alt-bullets i{color:var(--primary);margin-top:.15rem}
.mini-phone{
  max-width:295px;margin:0 auto;background:#0f172a;padding:10px;border-radius:34px;
  box-shadow:0 22px 55px rgba(15,23,42,.2)
}
.mini-phone img{border-radius:24px;display:block;width:100%}
.carousel-shell{padding:18px;background:linear-gradient(180deg,#fff,#f9fbff)}
.carousel-screen{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;padding:10px}
.screen-copy h3{font-size:1.7rem;font-weight:950;letter-spacing:-.05em;color:var(--ink);margin-bottom:.7rem}
.screen-copy p{color:var(--muted);line-height:1.75;margin-bottom:1rem}
.screen-points{list-style:none;padding:0;margin:0}
.screen-points li{display:flex;gap:.7rem;align-items:flex-start;padding:.38rem 0;color:#445066;font-weight:600}
.screen-points i{color:var(--primary);margin-top:.13rem}
.carousel-indicators{position:static;margin:1.2rem 0 0;gap:8px}
.carousel-indicators [data-bs-target]{width:10px;height:10px;border-radius:999px;border:none;background:#c9d4ff;opacity:1}
.carousel-indicators .active{background:var(--primary)}
.carousel-control-prev,.carousel-control-next{
  width:46px;height:46px;top:calc(50% - 23px);border-radius:999px;background:rgba(255,255,255,.95);box-shadow:var(--shadow);opacity:1;
}
.carousel-control-prev{left:-14px}.carousel-control-next{right:-14px}
.carousel-control-prev-icon,.carousel-control-next-icon{filter:invert(19%) sepia(96%) saturate(2150%) hue-rotate(222deg) brightness(95%) contrast(93%)}
.pricing-card{padding:30px;height:100%;position:relative;overflow:hidden}
.pricing-card.featured{background:linear-gradient(145deg,#1739bb 0%, #2046d8 48%, #3d6fff 100%);color:#fff;box-shadow:0 28px 70px rgba(32,70,216,.28)}
.pricing-badge{display:inline-flex;padding:.5rem .82rem;border-radius:999px;background:var(--primary-3);color:var(--primary);font-weight:800;font-size:.88rem}
.pricing-card.featured .pricing-badge{background:rgba(255,255,255,.14);color:#fff}
.pricing-title{font-size:1.55rem;font-weight:950;letter-spacing:-.04em;margin:1rem 0 .45rem}
.pricing-copy{color:var(--muted);line-height:1.7;margin-bottom:0}
.pricing-card.featured .pricing-copy,.pricing-card.featured .price-period,.pricing-card.featured .pricing-foot{color:rgba(255,255,255,.84)}
.price-row{display:flex;align-items:flex-end;gap:.45rem;margin-top:1rem}
.price-row .price{font-size:3.1rem;line-height:1;font-weight:950;letter-spacing:-.07em}
.price-row .price-period{font-weight:800;padding-bottom:.34rem}
.pricing-secondary{margin-top:.5rem;font-weight:800;color:var(--primary)}
.pricing-card.featured .pricing-secondary{color:#dce6ff}
.pricing-list{list-style:none;padding:0;margin:1.3rem 0 0}
.pricing-list li{display:flex;gap:.7rem;align-items:flex-start;padding:.42rem 0;color:#445066;font-weight:600}
.pricing-card.featured .pricing-list li{color:#fff}
.pricing-list i{color:var(--success);margin-top:.14rem}
.pricing-card.featured .pricing-list i{color:#fff}
.pricing-foot{font-size:.95rem;margin-top:1rem;color:#6b7788}
.note-box{
  padding:16px 18px;border-radius:18px;background:var(--warning-bg);border:1px solid #f1d985;color:var(--warning);font-weight:700;line-height:1.6;
}
.faq-card{padding:26px;height:100%}
.faq-card h3{font-size:1.1rem;font-weight:900;letter-spacing:-.03em;color:var(--ink);margin-bottom:.6rem}
.faq-card p{margin:0;color:var(--muted);line-height:1.72}
.cta-card{
  padding:38px;
  background:linear-gradient(135deg,#0f172a 0%, #14309a 45%, #2550e8 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.cta-card:before{
  content:"";
  position:absolute;
  right:-90px;top:-70px;
  width:260px;height:260px;border-radius:50%;
  background:rgba(255,255,255,.08);
}
.cta-card h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:950;letter-spacing:-.06em;line-height:1.02;margin-bottom:1rem;position:relative}
.cta-card p{position:relative;color:rgba(255,255,255,.84);line-height:1.72;max-width:720px}
.footer{padding:42px 0 56px;border-top:1px solid rgba(15,23,42,.06);background:linear-gradient(180deg,#ffffff,#f7faff)}
.footer-title{font-size:1.1rem;font-weight:950;letter-spacing:-.03em;color:var(--ink)}
.footer p,.footer small{color:var(--muted)}
.footer a{color:#445066}
.footer a:hover{color:var(--primary)}
.page-hero{
  padding:128px 0 46px;
  background:radial-gradient(circle at top left, rgba(32,70,216,.1), transparent 35%), #f7faff;
}
.legal-card{padding:34px}
.legal-meta{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 10px}
.legal-chip{display:inline-flex;padding:.55rem .88rem;border-radius:999px;background:var(--primary-3);color:var(--primary);font-weight:800;font-size:.88rem}
.legal-card h2{font-size:1.38rem;font-weight:950;letter-spacing:-.04em;color:var(--ink);margin-top:1.85rem}
.legal-card h3{font-size:1.06rem;font-weight:900;letter-spacing:-.02em;color:var(--ink);margin-top:1.2rem}
.legal-card p,.legal-card li{color:var(--text);line-height:1.82}
.legal-card ul,.legal-card ol{padding-left:1.25rem}
.table-lite{width:100%;border-collapse:collapse;margin-top:16px}
.table-lite th,.table-lite td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.table-lite th{font-weight:900;color:var(--ink)}
.subtle{color:var(--muted)}
@media (max-width: 991.98px){
  .hero{padding-top:116px}
  .mockup-stack{min-height:auto;display:flex;gap:16px;overflow:auto;padding-bottom:12px}
  .phone,.float-panel{position:relative;top:auto;left:auto;right:auto;bottom:auto;transform:none!important;flex:0 0 auto}
  .phone.main{width:270px}.phone.back-left,.phone.back-right{width:220px}
  .float-panel{width:280px}
  .metric-grid{grid-template-columns:1fr}
  .carousel-screen{grid-template-columns:1fr;gap:20px;text-align:center}
  .carousel-control-prev,.carousel-control-next{display:none}
}
@media (max-width: 575.98px){
  .section{padding:72px 0}
  .section-sm{padding:54px 0}
  .hero h1{font-size:2.65rem;max-width:none}
  .surface-card,.feature-card,.benefit-card,.legal-card,.pricing-card,.faq-card,.cta-card,.metric-card,.alt-card,.carousel-shell{padding:22px}
}
