:root{
  --bg:#0b1220;
  --card:#111827;
  --line:#334155;
  --text:#e2e8f0;
  --muted:#94a3b8;
  --accent:#22c55e;
}
*{box-sizing:border-box}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
a{color:inherit;text-decoration:none}
.container{max-width:1140px;margin:0 auto;padding:0 20px}
.header{
  position:sticky;top:0;z-index:10;
  backdrop-filter:blur(10px);
  background:rgba(11,18,32,.9);
  border-bottom:1px solid rgba(51,65,85,.45);
}
.nav{
  display:flex;justify-content:space-between;align-items:center;
  min-height:72px;
}
.brand{font-weight:800;font-size:20px}
.menu{display:flex;gap:18px;color:var(--muted);font-size:14px}
.hero{padding:72px 0 48px}
.hero-grid{
  display:grid;grid-template-columns:1.25fr .85fr;gap:24px;align-items:center;
}
.badge{
  display:inline-block;margin-bottom:16px;
  padding:8px 12px;border-radius:999px;
  background:rgba(34,197,94,.14);color:#dcfce7;border:1px solid rgba(34,197,94,.28);
}
h1{font-size:48px;line-height:1.05;margin:0 0 18px}
h2{font-size:34px;margin:0 0 18px}
h3{margin:0 0 10px;font-size:20px}
.lead{font-size:18px;line-height:1.65;color:#cbd5e1;max-width:760px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 18px;border-radius:14px;
  border:1px solid var(--line);background:#0f172a;color:var(--text);font-weight:700;
}
.btn.primary{background:var(--accent);color:#052e16;border-color:#16a34a}
.hero-card,.card,.cta-card{
  background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;
}
.card-title{font-size:20px;font-weight:800;margin-bottom:12px}
.check-list{margin:0;padding-left:18px;color:#cbd5e1;line-height:1.8}
.section{padding:40px 0}
.section.alt{background:rgba(255,255,255,.02);border-top:1px solid rgba(51,65,85,.35);border-bottom:1px solid rgba(51,65,85,.35)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.step{
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:18px;display:flex;gap:12px;align-items:flex-start;
}
.step span{
  width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;background:rgba(34,197,94,.18);color:#dcfce7;font-weight:800;flex:0 0 auto;
}
.cta-card{text-align:center}
.footer{padding:26px 0;color:var(--muted)}
.footer-row{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
@media (max-width: 900px){
  .hero-grid,.cards,.steps{grid-template-columns:1fr}
  h1{font-size:36px}
  h2{font-size:28px}
}

.hero-visual-card{
  width:min(500px, 100%);
  min-height:340px;
  justify-self:end;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(40,65,95,.75);
  border-radius:26px;
  background:linear-gradient(180deg, rgba(13,27,51,.96), rgba(9,22,42,.96));
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  padding:18px;
  overflow:hidden;
}
.hero-visual-logo{
  width:min(300px, 82%);
  max-height:210px;
  height:auto;
  object-fit:contain;
  display:block;
}

@media (max-width: 1180px){
  .hero-visual-card{
    justify-self:center;
    width:min(560px, 100%);
  }
}
@media (max-width: 760px){
  .hero-visual-card{
    min-height:220px;
    padding:14px;
    width:100%;
  }
  .hero-visual-logo{
    width:min(220px, 75%);
    max-height:170px;
  }
}

/* hero logo v4.2 override */
.hero-visual-card{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.hero-visual-logo{
  display: block !important;
  width: min(460px, 96%) !important;
  max-width: 96% !important;
  max-height: none !important;
  height: auto !important;
  object-fit: contain !important;
  transform: translateY(28px) scale(1.5) !important;
  transform-origin: center center !important;
}

@media (max-width: 760px){
  .hero-visual-logo{
    transform: translateY(16px) scale(1.25) !important;
  }
}

/* landing header logo v12 */
.brand-lockup{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  color:inherit;
}
.brand-logo--header{
  display:block;
  height:56px;
  width:auto;
  max-width:78px;
  max-height:56px;
  object-fit:contain;
  flex:0 0 auto;
}
@media (max-width: 760px){
  .brand-lockup{
    gap:10px;
  }
  .brand-logo--header{
    height:42px;
    max-width:58px;
    max-height:42px;
  }
}



/* landing header logo v13 */
.brand-lockup{
  display:flex;
  align-items:center;
  gap:16px;
  text-decoration:none;
  color:inherit;
}
.brand-logo--header{
  display:block;
  height:96px;
  width:auto;
  max-width:120px;
  max-height:96px;
  object-fit:contain;
  flex:0 0 auto;
}
.sub--header{
  color:var(--muted);
  font-size:14px;
}
@media (max-width: 760px){
  .brand-lockup{
    gap:12px;
  }
  .brand-logo--header{
    height:62px;
    max-width:88px;
    max-height:62px;
  }
}



/* landing header logo v14 */
.brand-lockup{
  display:flex;
  align-items:center;
  gap:16px;
  text-decoration:none;
  color:inherit;
}
.brand-logo--header{
  display:block;
  height:96px;
  width:auto;
  max-width:120px;
  max-height:96px;
  object-fit:contain;
  flex:0 0 auto;
}
.brand-title--header{
  font-size:32px;
  font-weight:900;
  line-height:1.1;
  color:var(--text);
}
@media (max-width: 760px){
  .brand-lockup{
    gap:12px;
  }
  .brand-logo--header{
    height:62px;
    max-width:88px;
    max-height:62px;
  }
  .brand-title--header{
    font-size:28px;
  }
}

