/* SANOVA landing: editorial motion design, not a generic card grid. */
.sanova-home{--land-bg:#05070d;--land-ink:#f5f7ff;--land-muted:#9aa5bc;position:relative;isolation:isolate;overflow:clip;background:var(--land-bg);color:var(--land-ink);padding-bottom:0}
html[data-theme="light"] .sanova-home{--land-bg:#f5f7fc;--land-ink:#11182b;--land-muted:#586782;background:var(--land-bg)}
.sanova-landing-hero{min-height:clamp(650px,calc(100svh - 70px),900px);position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:center;padding:clamp(60px,8vw,112px) clamp(24px,7vw,112px) 84px;overflow:hidden;border-bottom:1px solid #8295d51c;background:radial-gradient(ellipse at 73% 45%,#353b9b30,transparent 35%),radial-gradient(ellipse at 50% 110%,#3648ad1f,transparent 42%),var(--land-bg)}
.landing-hero-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.landing-hero-atmosphere:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--land-bg) 0%,color-mix(in srgb,var(--land-bg) 88%,transparent) 36%,transparent 74%)}
.landing-grain{position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.24'/%3E%3C/svg%3E")}
.landing-orbit{position:absolute;border:1px solid #768fff20;border-radius:50%;width:70vw;height:22vw;right:-8vw;top:22%;transform:rotate(-24deg)}
.landing-orbit-b{width:54vw;height:18vw;right:-1vw;top:31%;transform:rotate(24deg);border-color:#bb85ff1c}
.landing-hero-copy{position:relative;z-index:3;max-width:720px}
.landing-kicker,.landing-section-index{display:flex;align-items:center;gap:10px;color:#8297ff;font-size:10px;line-height:1.4;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.landing-kicker span,.landing-nebula-caption i{width:6px;height:6px;border-radius:50%;background:#8b9cff;box-shadow:0 0 13px #7189ff}
.landing-hero-copy h1{font-size:clamp(50px,6.3vw,98px);line-height:.92;letter-spacing:-.078em;font-weight:650;margin:29px 0 24px}
.landing-hero-copy h1 span{display:inline-block;color:transparent;background:linear-gradient(100deg,#438eff,#7776ff 44%,#c18aff 82%,#d5c1ff);-webkit-background-clip:text;background-clip:text;padding:0 .04em .08em 0}
.landing-hero-lead{max-width:470px;margin:0;color:var(--land-muted);font-size:clamp(14px,1.15vw,17px);line-height:1.75}
.landing-hero-actions{display:flex;align-items:center;gap:22px;margin-top:32px;flex-wrap:wrap}
.landing-primary-action{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:23px;padding:0 18px;border-radius:7px;background:#eef1ff;color:#0a1020!important;font-size:12px;font-weight:750;transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 0 0 1px #ffffff40 inset;text-decoration:none}
.landing-primary-action:hover{transform:translateY(-2px);box-shadow:0 8px 30px #7482ff33}
.landing-primary-action span{font-size:17px;font-weight:500}
.landing-secondary-action{display:inline-flex;gap:10px;color:var(--land-muted)!important;font-size:12px;text-decoration:none}
.landing-nebula-stage{position:relative;z-index:2;justify-self:center;width:min(100%,540px);aspect-ratio:1;display:grid;place-items:center;isolation:isolate;translate:3% 1%;animation:land-nebula-flight 11s ease-in-out infinite}
.landing-nebula-aura{position:absolute;width:86%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#4955ff36,#7e4dff1c 34%,#18225f14 54%,transparent 70%);filter:blur(15px);animation:land-aura 7s ease-in-out infinite}
.landing-nebula-host{position:relative;width:100%;height:100%;z-index:2;cursor:grab;touch-action:pan-y}
.landing-nebula-host .nebula-canvas{display:block;width:100%;height:100%}
.landing-nebula-trail{position:absolute;width:120%;height:35%;left:-10%;top:36%;border:1px solid #7788ff38;border-left-color:transparent;border-right-color:#ac81ff33;border-radius:50%;transform:rotate(-29deg);filter:drop-shadow(0 0 7px #6977ff26);z-index:1}
.landing-nebula-trail-two{width:102%;height:24%;top:43%;transform:rotate(31deg);border-color:#a16fff29;border-left-color:#6977ff1a;animation:land-trail 16s linear infinite}
.landing-nebula-caption{position:absolute;bottom:13%;right:0;z-index:4;display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #96a6ff2b;border-radius:999px;background:#090c1bbc;backdrop-filter:blur(12px);color:#b8c3ff;font-size:9px;letter-spacing:.16em;font-weight:750}
.landing-nebula-caption i{width:5px;height:5px;background:#7effc0;box-shadow:0 0 10px #7effc080}
.landing-hero-foot{position:absolute;bottom:27px;left:clamp(24px,7vw,112px);display:flex;align-items:center;gap:12px;color:#9dadd1a6;font-size:9px;letter-spacing:.18em;font-weight:700}
.landing-hero-foot i{width:52px;height:1px;background:linear-gradient(90deg,#8095ffcc,transparent)}
.landing-scroll-cue{position:absolute;right:clamp(24px,7vw,112px);bottom:24px;width:27px;height:42px;border:1px solid #9cabe64f;border-radius:20px;display:flex;justify-content:center;padding-top:8px}
.landing-scroll-cue span{width:3px;height:7px;border-radius:3px;background:#aab7ff;animation:land-scroll 1.8s ease-in-out infinite}
.landing-intro{padding:clamp(82px,11vw,155px) clamp(24px,10vw,155px) clamp(70px,9vw,125px);background:var(--land-bg)}
.landing-section-index{margin:0 0 32px;color:#8192ee;font-size:9px}
.landing-intro-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);align-items:end;gap:clamp(30px,8vw,115px)}
.landing-intro-grid h2,.landing-showcase-heading h2{font-size:clamp(34px,5.2vw,72px);line-height:1.02;letter-spacing:-.065em;font-weight:560;margin:0}
.landing-intro-grid h2 span,.landing-showcase-heading h2 span{color:#7f8cff}
.landing-intro-grid>p{font-size:clamp(14px,1.25vw,17px);line-height:1.8;color:var(--land-muted);max-width:370px;margin:0 0 5px}
.landing-underline{height:1px;background:#8b9acc1f;margin-top:clamp(44px,6vw,84px)}
.landing-underline span{display:block;width:26%;height:1px;background:linear-gradient(90deg,#558cff,#b58bff,transparent)}
.landing-showcase-section{padding:0 0 clamp(60px,8vw,115px);background:var(--land-bg)}
.landing-showcase-heading{padding:0 clamp(24px,10vw,155px) 32px;display:flex;align-items:end;justify-content:space-between;gap:28px}
.landing-showcase-heading .landing-section-index{margin-bottom:22px}
.landing-showcase-heading h2{font-size:clamp(34px,4.7vw,64px)}
.landing-showcase-heading>p{color:var(--land-muted);font-size:12px;line-height:1.8;margin:0 0 3px}
.sanova-video-showcase{margin:0!important;padding:0!important}

.showcase-card{height:auto!important;aspect-ratio:1.5 / 1!important;border-radius:6px!important;border:1px solid #97a7e226!important;background:linear-gradient(135deg,#0c1020,#111329 52%,#090c17)!important;box-shadow:none!important;transition:border-color .3s ease,transform .45s cubic-bezier(.2,.7,.2,1)!important}
.showcase-card:hover{border-color:#8896ff80!important;transform:translateY(-4px)}
.showcase-card video{background:linear-gradient(135deg,#10162b,#16142b 58%,#090d18)!important}
.showcase-card:has(video:not([src])):before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.65;background:linear-gradient(115deg,transparent 20%,#6f7eff0d 48%,transparent 74%);background-size:220% 100%;animation:land-shimmer 7s ease-in-out infinite}
.landing-showcase-foot{margin:26px clamp(24px,10vw,155px) 0;display:flex;justify-content:space-between;gap:20px;color:#99a6cd8f;font-size:9px;letter-spacing:.18em;font-weight:700}
.landing-manifesto{position:relative;isolation:isolate;overflow:hidden;padding:clamp(78px,11vw,150px) clamp(24px,10vw,155px) clamp(58px,7vw,100px);background:radial-gradient(ellipse at 78% 45%,#4043ae33,transparent 42%),linear-gradient(115deg,#080b14,#0b0c19 55%,#080912);border-top:1px solid #8d9ddd1f}
html[data-theme="light"] .landing-manifesto{background:radial-gradient(ellipse at 78% 45%,#6069e624,transparent 42%),linear-gradient(115deg,#e9edfb,#f6f7fc 55%,#e9eafb)}
.landing-manifesto h2{position:relative;z-index:2;margin:0;font-size:clamp(58px,10vw,142px);line-height:.88;letter-spacing:-.085em;font-weight:600}
.landing-manifesto h2 span{color:transparent;background:linear-gradient(100deg,#5b8fff,#8b7aff 50%,#d1a4ff);-webkit-background-clip:text;background-clip:text}
.manifesto-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:28px;margin-top:clamp(42px,7vw,94px)}
.manifesto-bottom p{max-width:360px;color:var(--land-muted);font-size:14px;line-height:1.7;margin:0}
.manifesto-glow{position:absolute;right:8%;top:8%;width:min(40vw,560px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#515eff26,#6f46c20f 45%,transparent 70%);filter:blur(25px);z-index:-1}
.manifesto-orbit{position:absolute;right:-8%;top:6%;width:50%;height:88%;border:1px solid #7a8cff22;border-radius:50%;transform:rotate(-27deg);z-index:0;pointer-events:none}
.manifesto-orbit i,.manifesto-orbit b{position:absolute;width:7px;height:7px;border-radius:50%;background:#a7b3ff;box-shadow:0 0 18px 4px #7b8bff66;top:17%;left:15%}.manifesto-orbit b{top:auto;left:auto;bottom:14%;right:18%;width:4px;height:4px;background:#c6a0ff}
.will-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.will-reveal.is-revealed{opacity:1;transform:translateY(0)}
@keyframes land-nebula-flight{0%,100%{transform:translate(3%,1%) rotate(-1deg)}35%{transform:translate(-1%,-2%) rotate(1deg)}68%{transform:translate(2%,2%) rotate(-.5deg)}}
@keyframes land-aura{0%,100%{transform:scale(.94);opacity:.7}50%{transform:scale(1.08);opacity:1}}
@keyframes land-trail{from{transform:rotate(31deg)}to{transform:rotate(391deg)}}
@keyframes land-scroll{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(12px);opacity:1}}
@keyframes land-shimmer{0%,100%{background-position:100% 0}50%{background-position:-100% 0}}
@media(max-width:900px){.sanova-landing-hero{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);padding-left:28px;padding-right:28px}.landing-hero-copy h1{font-size:clamp(48px,7vw,72px)}.landing-nebula-stage{width:115%;margin-left:-10%}.landing-intro,.landing-manifesto{padding-left:7vw;padding-right:7vw}.landing-showcase-heading{padding-left:7vw;padding-right:7vw}.landing-showcase-foot{margin-left:7vw;margin-right:7vw}}
@media(max-width:640px){.sanova-landing-hero{min-height:0;grid-template-columns:1fr;padding:58px 22px 74px;gap:0}.landing-hero-copy{padding:0;max-width:100%}.landing-kicker{font-size:9px}.landing-hero-copy h1{font-size:clamp(46px,12vw,68px);margin:25px 0 18px}.landing-hero-lead{max-width:360px;font-size:14px}.landing-hero-actions{margin-top:25px;gap:18px}.landing-nebula-stage{width:min(100%,400px);margin:-6px auto -18px;translate:0 0;animation-duration:13s}.landing-nebula-caption{bottom:12%;right:3%;font-size:8px}.landing-hero-foot{left:22px;bottom:22px;font-size:8px}.landing-scroll-cue{right:22px;bottom:17px;transform:scale(.85)}.landing-orbit{width:140vw;height:45vw;right:-40vw;top:46%}.landing-orbit-b{width:110vw;height:35vw;right:-20vw;top:52%}.landing-intro{padding:82px 22px 76px}.landing-intro-grid{grid-template-columns:1fr;gap:22px}.landing-intro-grid h2,.landing-showcase-heading h2{font-size:clamp(36px,9.5vw,54px)}.landing-intro-grid>p{font-size:14px}.landing-showcase-heading{padding:0 22px 25px;display:block}.landing-showcase-heading>p{margin-top:19px}.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.showcase-card{height:auto!important;aspect-ratio:1.2 / 1!important;border-radius:6px!important}.landing-showcase-foot{margin:20px 22px 0;font-size:8px}.landing-manifesto{padding:78px 22px 54px}.landing-manifesto h2{font-size:clamp(58px,14vw,88px)}.manifesto-bottom{align-items:start;flex-direction:column;margin-top:36px}.manifesto-orbit{right:-30%;width:90%;height:60%;top:24%}}
@media(prefers-reduced-motion:reduce){.sanova-home *, .sanova-home *:before,.sanova-home *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.landing-nebula-stage{animation:none}}

/* Fix pass 1: desktop headline balance and reliable canvas sizing */
@media (min-width: 901px) {
  .sanova-landing-hero { grid-template-columns: minmax(0, 1.12fr) minmax(380px, .88fr); }
  .landing-hero-copy { max-width: 780px; }
  .landing-hero-copy h1 { font-size: clamp(54px, 5.3vw, 84px); letter-spacing: -.075em; }
  .landing-nebula-stage { width: min(100%, 500px); }
}
.landing-nebula-host canvas.nebula-canvas { display:block; width:100% !important; height:100% !important; }
.landing-nebula-host { min-width:0; min-height:0; }


/* Responsive refinement based on the supplied 360/390/430/768px viewport captures.
   Scoped to the public landing page so authenticated application screens are untouched. */
@media (max-width: 640px) {
  body:has(.sanova-home) .header-inner {
    width: calc(100% - 20px);
    min-height: 58px;
    gap: 7px;
    flex-wrap: nowrap;
  }
  body:has(.sanova-home) .brand {
    flex: 0 0 auto;
    gap: 5px;
    font-size: 12px;
    white-space: nowrap;
  }
  body:has(.sanova-home) .brand-mark {
    width: 25px;
    height: 25px;
  }
  body:has(.sanova-home) .header-actions {
    min-width: 0;
    flex: 0 0 auto;
    gap: 5px;
    white-space: nowrap;
  }
  body:has(.sanova-home) .header-actions > .nav-link {
    white-space: nowrap;
    font-size: 11px;
    line-height: 1;
  }
  body:has(.sanova-home) .header-actions .nav-cta {
    min-height: 34px;
    padding: 7px 8px;
    gap: 4px;
    font-size: 10px;
    white-space: nowrap;
  }
  body:has(.sanova-home) .header-actions .base-language-toggle,
  body:has(.sanova-home) .header-actions .base-theme-toggle {
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
  }
  .sanova-landing-hero {
    padding: 50px 20px 70px;
  }
  .landing-hero-copy h1 {
    font-size: clamp(39px, 10.6vw, 46px);
    line-height: .94;
    letter-spacing: -.078em;
    overflow-wrap: normal;
  }
  .landing-hero-lead {
    max-width: 34ch;
    font-size: 13px;
    line-height: 1.7;
  }
  .landing-hero-actions {
    gap: 14px;
  }
  .landing-nebula-stage {
    width: min(108%, 400px);
    max-width: 400px;
  }
}

/* A tablet-width single-column composition prevents the desktop headline
   from being squeezed beside Nebula at 768px. */
@media (min-width: 641px) and (max-width: 820px) {
  .sanova-landing-hero {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr);
    padding: 76px 7vw 82px;
    gap: 4px;
  }
  .landing-hero-copy {
    max-width: 680px;
  }
  .landing-hero-copy h1 {
    max-width: 720px;
    font-size: clamp(52px, 7.1vw, 64px);
    line-height: .94;
  }
  .landing-nebula-stage {
    justify-self: center;
    width: min(70vw, 440px);
    margin: -10px auto -20px;
    translate: 0 0;
  }
  .landing-hero-foot {
    left: 7vw;
  }
  .landing-scroll-cue {
    right: 7vw;
  }
}

/* Keep 821–900px as a balanced two-column layout, but avoid overgrowing Nebula. */
@media (min-width: 821px) and (max-width: 900px) {
  .sanova-landing-hero {
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
    padding-left: 30px;
    padding-right: 30px;
  }
  .landing-hero-copy h1 {
    font-size: clamp(46px, 5.6vw, 54px);
  }
  .landing-nebula-stage {
    width: min(112%, 400px);
    margin-left: -5%;
  }
}


/* Public pricing and compliance navigation; scoped to the marketing landing page. */
.landing-pricing {
  padding: clamp(76px, 10vw, 132px) clamp(24px, 10vw, 155px);
  background:
    radial-gradient(ellipse at 15% 10%, #4c55cf18, transparent 38%),
    var(--land-bg);
  border-top: 1px solid #8d9ddd1f;
}
.landing-pricing-heading { max-width: 760px; margin: 0 auto 42px; text-align: center; }
.landing-pricing-heading .landing-section-index { justify-content: center; margin-bottom: 22px; }
.landing-pricing-heading h2 {
  margin: 0;
  font-size: clamp(35px, 5.4vw, 70px);
  line-height: 1;
  letter-spacing: -.065em;
  font-weight: 580;
}
.landing-pricing-heading h2 span {
  color: transparent;
  background: linear-gradient(100deg, #5b8fff, #8b7aff 50%, #d1a4ff);
  -webkit-background-clip: text;
  background-clip: text;
}
.landing-pricing-heading > p:last-child {
  max-width: 580px;
  margin: 20px auto 0;
  color: var(--land-muted);
  font-size: 14px;
  line-height: 1.8;
}
.landing-pricing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  max-width: 1000px;
  margin: 0 auto;
}
.landing-pricing-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(24px, 3.5vw, 38px);
  border: 1px solid #8999d82e;
  border-radius: 16px;
  background: linear-gradient(150deg, #121727b8, #0b0e18d9 74%);
  box-shadow: 0 18px 70px #02040b1c;
}
html[data-theme="light"] .landing-pricing-card {
  border-color: #5d6da82e;
  background: linear-gradient(150deg, #ffffff, #eef1fb);
  box-shadow: 0 18px 70px #2939630d;
}
.landing-pricing-card-featured {
  border-color: #8b83ff80;
  background:
    radial-gradient(ellipse at 100% 0%, #6a5de51f, transparent 52%),
    linear-gradient(150deg, #15182b, #0b0e18 80%);
}
html[data-theme="light"] .landing-pricing-card-featured {
  background:
    radial-gradient(ellipse at 100% 0%, #6a5de512, transparent 52%),
    linear-gradient(150deg, #fff, #f0efff 80%);
}
.landing-pricing-tier {
  margin: 0 0 13px;
  color: #a5aaff;
  font-size: 10px;
  letter-spacing: .22em;
  font-weight: 800;
}
.landing-pricing-summary {
  min-height: 48px;
  max-width: 340px;
  margin: 0;
  color: var(--land-muted);
  font-size: 13px;
  line-height: 1.7;
}
.landing-pricing-prices { margin: 30px 0 18px; padding-bottom: 20px; border-bottom: 1px solid #8999d824; }
.landing-pricing-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 9px; margin: 0; }
.landing-pricing-price strong { font-size: clamp(42px, 5.3vw, 62px); line-height: .98; font-weight: 620; letter-spacing: -.07em; }
.landing-pricing-price span { color: var(--land-muted); font-size: 12px; }
.landing-pricing-annual { margin: 13px 0 0; color: var(--land-ink); font-size: 13px; font-weight: 650; }
.landing-pricing-detail { min-height: 74px; margin: 0 0 26px; color: var(--land-muted); font-size: 13px; line-height: 1.8; }
.landing-pricing-status {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 8px;
  margin-top: auto;
  padding: 10px 12px;
  border: 1px solid #8f9ffb38;
  border-radius: 7px;
  color: var(--land-ink);
  background: #7c83ff0b;
  font-size: 11px;
  font-weight: 700;
}
.landing-pricing-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #a5aaff; box-shadow: 0 0 10px #8f9ffb6b; }
.landing-pricing-note {
  max-width: 760px;
  margin: 24px auto 0;
  color: var(--land-muted);
  font-size: 11px;
  line-height: 1.8;
  text-align: center;
}
.landing-public-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px 30px;
  align-items: center;
  padding: 27px clamp(24px, 7vw, 112px);
  border-top: 1px solid #8999d824;
  background: var(--land-bg);
  color: var(--land-muted);
}
.landing-footer-brand { color: var(--land-ink); text-decoration: none; font-size: 12px; font-weight: 850; letter-spacing: .15em; }
.landing-footer-brand span { display: inline-block; margin-left: 12px; color: var(--land-muted); font-size: 9px; font-weight: 600; letter-spacing: .12em; }
.landing-footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 22px; }
.landing-footer-links a { color: var(--land-muted); text-decoration: none; font-size: 11px; line-height: 1.7; transition: color .18s ease; }
.landing-footer-links a:hover, .landing-footer-links a:focus-visible { color: var(--land-ink); text-decoration: underline; text-underline-offset: 4px; }
.landing-footer-copy { grid-column: 1 / -1; margin: 0; padding-top: 15px; border-top: 1px solid #8999d81b; font-size: 10px; }
@media (max-width: 640px) {
  .landing-pricing { padding: 76px 22px 78px; }
  .landing-pricing-heading { text-align: left; margin-bottom: 28px; }
  .landing-pricing-heading .landing-section-index { justify-content: flex-start; }
  .landing-pricing-heading > p:last-child { margin-left: 0; }
  .landing-pricing-grid { grid-template-columns: 1fr; gap: 14px; }
  .landing-pricing-card { padding: 25px 22px; }
  .landing-pricing-summary, .landing-pricing-detail { min-height: 0; }
  .landing-pricing-price strong { font-size: 52px; }
  .landing-public-footer { grid-template-columns: 1fr; gap: 16px; padding: 25px 22px; }
  .landing-footer-brand span { display: block; margin: 7px 0 0; }
  .landing-footer-links { justify-content: flex-start; gap: 8px 18px; }
  .landing-footer-copy { grid-column: auto; }
}


/* Three-plan pricing layout with a distinct free BYOK option. */
.landing-pricing-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1160px;
}
.landing-pricing-card-free {
  border-color: #75d5bb55;
  background:
    radial-gradient(ellipse at 0% 0%, #39cfa915, transparent 55%),
    linear-gradient(150deg, #101a1b, #0b0e18 80%);
}
html[data-theme="light"] .landing-pricing-card-free {
  border-color: #168a7350;
  background:
    radial-gradient(ellipse at 0% 0%, #39cfa911, transparent 55%),
    linear-gradient(150deg, #fff, #edf8f4 80%);
}
.landing-pricing-card-free .landing-pricing-tier { color: #7be0c4; }
html[data-theme="light"] .landing-pricing-card-free .landing-pricing-tier { color: #167b65; }
.landing-pricing-status-free {
  border-color: #55cbaa42;
  background: #39cfa910;
}
.landing-pricing-status-free::before {
  background: #5dd8b2;
  box-shadow: 0 0 10px #5dd8b266;
}
@media (min-width: 641px) and (max-width: 900px) {
  .landing-pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-pricing-card-free { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .landing-pricing-grid { grid-template-columns: 1fr; }
  .landing-pricing-card-free { grid-column: auto; }
}


/* Product suite: capabilities are distinct from the decorative media showcase. */
.landing-products {
  padding: clamp(78px, 10vw, 136px) clamp(24px, 10vw, 155px);
  border-top: 1px solid #8d9ddd1f;
  background:
    radial-gradient(ellipse at 85% 8%, #514bd51b, transparent 40%),
    var(--land-bg);
}
.landing-products-heading {
  max-width: 850px;
  margin: 0 auto 42px;
  text-align: center;
}
.landing-products-heading .landing-section-index {
  justify-content: center;
  margin-bottom: 22px;
}
.landing-products-heading h2 {
  margin: 0;
  font-size: clamp(35px, 5.1vw, 68px);
  font-weight: 580;
  line-height: 1.02;
  letter-spacing: -.065em;
}
.landing-products-heading h2 span {
  color: transparent;
  background: linear-gradient(100deg, #5b8fff, #8b7aff 50%, #d1a4ff);
  -webkit-background-clip: text;
  background-clip: text;
}
.landing-products-heading > p:last-child {
  max-width: 650px;
  margin: 19px auto 0;
  color: var(--land-muted);
  font-size: 14px;
  line-height: 1.85;
}
.landing-products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  max-width: 1160px;
  margin: 0 auto;
}
.landing-product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(22px, 2.8vw, 32px);
  border: 1px solid #8999d82e;
  border-radius: 14px;
  background: linear-gradient(155deg, #121727cf, #0b0e18e8 78%);
  box-shadow: 0 18px 70px #02040b16;
}
html[data-theme="light"] .landing-product-card {
  border-color: #5d6da82b;
  background: linear-gradient(155deg, #fff, #eef1fb 78%);
  box-shadow: 0 18px 70px #2939630b;
}
.landing-product-icon {
  display: grid;
  place-items: center;
  width: 52px;
  min-height: 48px;
  margin-bottom: 28px;
  padding: 0 8px;
  border: 1px solid #8b9bff4d;
  border-radius: 12px;
  background: #747dff13;
  color: #c7c8ff;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .04em;
}
.landing-product-icon-key {
  width: 68px;
  border-color: #72d8bd4a;
  background: #36cfa70e;
  color: #8fe8d0;
  font-size: 10px;
}
.landing-product-icon-terminal {
  width: 58px;
  border-color: #8da8ff4a;
  background: #487dff12;
  color: #b8cbff;
  font-size: 17px;
  letter-spacing: -.05em;
}
.landing-product-index {
  margin: 0 0 13px;
  color: #8997f5;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .15em;
}
.landing-product-card h3 {
  margin: 0 0 14px;
  font-size: clamp(19px, 2vw, 24px);
  font-weight: 620;
  line-height: 1.2;
  letter-spacing: -.035em;
}
.landing-product-card > p:not(.landing-product-index) {
  flex: 1;
  margin: 0 0 25px;
  color: var(--land-muted);
  font-size: 13px;
  line-height: 1.85;
}
.landing-product-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: fit-content;
  max-width: 100%;
  color: var(--land-ink);
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}
.landing-product-link span {
  color: #a7a8ff;
  font-size: 17px;
  font-weight: 500;
  transition: transform .18s ease;
}
.landing-product-link:hover span,
.landing-product-link:focus-visible span {
  transform: translate(2px, -2px);
}
.landing-product-link:focus-visible {
  outline: 2px solid #8f9ffb;
  outline-offset: 5px;
  border-radius: 2px;
}
@media (min-width: 641px) and (max-width: 900px) {
  .landing-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-product-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .landing-products { padding: 76px 22px 78px; }
  .landing-products-heading { text-align: left; margin-bottom: 28px; }
  .landing-products-heading .landing-section-index { justify-content: flex-start; }
  .landing-products-heading > p:last-child { margin-left: 0; }
  .landing-products-grid { grid-template-columns: 1fr; gap: 13px; }
  .landing-product-card { padding: 25px 22px; }
  .landing-product-icon { margin-bottom: 22px; }
  .landing-product-card h3 { font-size: 22px; }
}


/* Visual alignment: reuse Sanova's existing canvas, reveal, and hover language.
   Keep the added product/pricing content on the same continuous landing-page scene. */
.landing-products,
.landing-pricing {
  background: var(--land-bg);
}
.landing-products {
  border-top: 0;
}
.landing-product-card,
.landing-pricing-card {
  border-radius: 6px;
  background: transparent;
  box-shadow: none;
  transition: border-color .3s ease, transform .45s cubic-bezier(.2,.7,.2,1);
}
html[data-theme="light"] .landing-product-card,
html[data-theme="light"] .landing-pricing-card {
  background: transparent;
  box-shadow: none;
}
.landing-pricing-card-featured,
.landing-pricing-card-free,
html[data-theme="light"] .landing-pricing-card-featured,
html[data-theme="light"] .landing-pricing-card-free {
  background: transparent;
}
.landing-product-card:hover,
.landing-pricing-card:hover {
  border-color: #8896ff80;
  transform: translateY(-4px);
}
.landing-pricing-card-free:hover {
  border-color: #75d5bb80;
}
/* The cinema shader remains the single animated background across all sections. */
.cinema-on .landing-products,
.cinema-on .landing-pricing,
.cinema-on .landing-public-footer {
  background: transparent !important;
}
@media (prefers-reduced-motion: reduce) {
  .landing-product-card,
  .landing-pricing-card {
    transition: none;
    transform: none;
  }
}
