/* 99 Digital v2 — shared kit for every inner page.
   Dark cinematic heroes, unified cards, big type, dark CTAs. Page-specific refinements live in v2-pg-*.css. */

body main{background:var(--v2-paper)}
main .wrap{width:min(1280px,100% - var(--v2-gutter)*2)}

/* ───────────── Hero kit ───────────── */
:root{--v2-hero:.page-hero,.about-hero-pro,.api-hero,.strategy-hero,.demos-v3-hero,.partners-hero,.careers-hero,.omni-hero,.blog-hero,.article-head}

html body main:not(#v2) :is(.page-hero,.about-hero-pro,.api-hero,.strategy-hero,.demos-v3-hero,.partners-hero,.careers-hero,.omni-hero,.blog-hero){
  position:relative;isolation:isolate;overflow:hidden;color:var(--v2-on-dark)!important;
  background:
    radial-gradient(1100px 560px at 50% -12%,#14583390,transparent 62%),
    radial-gradient(760px 480px at 92% 70%,#0c6b4a50,transparent 60%),
    radial-gradient(640px 440px at 4% 80%,#0e5a2e40,transparent 62%),
    var(--v2-ink)!important;
  border:0!important;box-shadow:none!important;
  border-radius:0 0 clamp(28px,4vw,64px) clamp(28px,4vw,64px)!important;
  padding-block:clamp(88px,10vw,168px) clamp(72px,8vw,136px)!important;
}
html body main:not(#v2) :is(.page-hero,.about-hero-pro,.api-hero,.strategy-hero,.demos-v3-hero,.partners-hero,.careers-hero,.omni-hero,.blog-hero):before{
  content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;width:auto;height:auto;border:0;border-radius:0;
  background-image:radial-gradient(#9bf0c833 1px,transparent 1.4px);background-size:34px 34px;
  mask-image:radial-gradient(ellipse 75% 65% at 50% 35%,#000 5%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 35%,#000 5%,transparent 75%);
}
html body main:not(#v2) :is(.page-hero,.about-hero-pro,.api-hero,.strategy-hero,.demos-v3-hero,.partners-hero,.careers-hero,.omni-hero,.blog-hero):after{display:none!important}

/* hero text colours (beat the legacy light-theme !important rules) */
html body main:not(#v2) :is(.page-hero,.about-hero-pro,.api-hero,.strategy-hero,.demos-v3-hero,.partners-hero,.careers-hero,.omni-hero,.blog-hero) :is(h1,h2){color:#fff!important}
html body main:not(#v2) :is(.page-hero,.about-hero-pro,.api-hero,.strategy-hero,.demos-v3-hero,.partners-hero,.careers-hero,.omni-hero,.blog-hero) :is(p,li){color:var(--v2-on-dark-muted)!important}
html body main:not(#v2) :is(.page-hero,.about-hero-pro,.api-hero,.strategy-hero,.demos-v3-hero,.partners-hero,.careers-hero,.omni-hero,.blog-hero) :is(h1,h2) :is(span,em,b):not(.v2-w):not(.v2-wi){color:var(--v2-mint)!important}
/* labels / eyebrows inside heroes */
html body main:not(#v2) :is(.page-hero,.about-hero-pro,.api-hero,.strategy-hero,.demos-v3-hero,.partners-hero,.careers-hero,.omni-hero,.blog-hero)>:is(span,.wrap>span,.wrap>div>span,.n99-family-label),
html body main:not(#v2) .page-hero .n99-family-label{
  display:inline-flex;align-items:center;gap:10px;background:none!important;border:0!important;padding:0!important;box-shadow:none!important;
  color:var(--v2-mint)!important;font-size:15px;font-weight:500;letter-spacing:0;text-transform:none;
}
html body main:not(#v2) .page-hero h1{
  font-size:clamp(42px,6.6vw,108px)!important;font-weight:800!important;line-height:1.02!important;letter-spacing:-.045em!important;
  max-width:18ch;margin:22px auto 0!important;text-wrap:balance;
}
html body main:not(#v2) .page-hero{text-align:center}
html body main:not(#v2) .page-hero>p{max-width:62ch;margin:clamp(20px,2.4vw,34px) auto 0!important;font-size:clamp(17px,1.4vw,22px)!important;line-height:1.65!important}
html body main:not(#v2) .page-hero .actions,html body main:not(#v2) .page-hero>.btn{margin-top:clamp(28px,3vw,44px)!important;display:inline-flex;gap:14px;justify-content:center;flex-wrap:wrap}
html body main:not(#v2) .page-hero>.n99-product-back{display:inline-block;color:var(--v2-on-dark-muted)!important;font-size:14px;margin-bottom:22px;border:0!important;background:none!important}
html body main:not(#v2) :is(.about-hero-pro,.api-hero,.strategy-hero,.demos-v3-hero,.partners-hero,.careers-hero,.omni-hero,.blog-hero) h1{
  font-size:clamp(40px,5.6vw,92px)!important;font-weight:800!important;line-height:1.03!important;letter-spacing:-.045em!important;text-wrap:balance;margin-top:20px!important;
}

/* hero buttons */
html body main:not(#v2) :is(.page-hero,.about-hero-pro,.api-hero,.strategy-hero,.demos-v3-hero,.partners-hero,.careers-hero,.omni-hero,.blog-hero) .btn:not(.outline):not(.light):not(.api-outline):not(.about-outline){
  background:var(--v2-mint)!important;border-color:var(--v2-mint)!important;color:var(--v2-ink)!important;font-weight:700;border-radius:999px!important;min-height:54px;padding-inline:32px;display:inline-flex;align-items:center;box-shadow:0 14px 40px #52e3a433!important;
}
html body main:not(#v2) :is(.page-hero,.about-hero-pro,.api-hero,.strategy-hero,.demos-v3-hero,.partners-hero,.careers-hero,.omni-hero,.blog-hero) .btn:is(.outline,.light,.api-outline,.about-outline){
  background:transparent!important;color:#fff!important;border:1px solid #ffffff55!important;border-radius:999px!important;min-height:54px;padding-inline:30px;display:inline-flex;align-items:center;
}
html body main:not(#v2) :is(.page-hero,.about-hero-pro,.api-hero,.strategy-hero,.demos-v3-hero,.partners-hero,.careers-hero,.omni-hero,.blog-hero) .btn:is(.outline,.light,.api-outline,.about-outline):hover{background:#ffffff14!important;border-color:#fff!important}

/* animated network injected by pages.js */
.v2-hero-net{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.85}
.v2-hero-net line{stroke:#52e3a4;stroke-width:1;opacity:.22}
.v2-hero-net circle{fill:#52e3a4}

/* ───────────── Section type ───────────── */
main .section{background:transparent}
main :is(.heading,.section>.wrap>h2,.wrap>h2){margin-bottom:clamp(36px,5vw,72px)}
main .section :is(h2){font-weight:800;letter-spacing:-.04em;line-height:1.05;color:var(--v2-ink)}
main .heading h2,main .section>.wrap>h2{font-size:clamp(34px,4.6vw,72px)!important;font-weight:800!important;letter-spacing:-.045em!important;line-height:1.04!important;color:var(--v2-ink)!important;text-wrap:balance}
main .heading>span,main .heading>div>span{display:inline-flex;gap:10px;align-items:center;color:var(--v2-green-2)!important;font-size:15px!important;font-weight:500;background:none!important;border:0!important;padding:0!important;letter-spacing:0;text-transform:none;margin-bottom:14px}
main .heading>span:before,main .heading>div>span:before{content:'';width:22px;height:1px;background:currentColor;opacity:.7}
main .heading p{color:var(--v2-muted)!important;font-size:clamp(16px,1.3vw,20px)!important;line-height:1.7!important}
main .section{padding-block:clamp(72px,8vw,136px)}

/* ───────────── Card kit (class added by pages.js) ───────────── */
.v2-card{
  --mx:50%;--my:50%;position:relative;border-radius:var(--v2-radius)!important;
  border:1px solid var(--v2-line)!important;background-color:#fff!important;
  box-shadow:0 1px 0 #fff inset,0 24px 50px -34px #10261a40!important;
  transition:transform .6s var(--v2-ease),box-shadow .6s var(--v2-ease),border-color .4s,background-image .4s!important;
}
.v2-card:hover{
  transform:translateY(-6px);border-color:#52e3a480!important;
  background-image:radial-gradient(420px circle at var(--mx) var(--my),#52e3a426,transparent 62%)!important;
  box-shadow:0 40px 80px -38px #0f4b2455!important;
}
.v2-card :is(h3,h4){letter-spacing:-.02em;color:var(--v2-ink)}

/* ───────────── CTA kit (dark) ───────────── */
html body main:not(#v2) :is(.cta,.dark-cta,.developer-cta,.customer-story-cta,.about-contact-strip,.partner-final-cta,.products-cta-panel,.partners-invite){
  position:relative;overflow:hidden;isolation:isolate;color:#fff!important;border:0!important;box-shadow:none!important;
  background:radial-gradient(900px 520px at 50% 0%,#145833cc,transparent 64%),radial-gradient(700px 420px at 50% 115%,#0c6b4a88,transparent 62%),var(--v2-ink)!important;
}
html body main:not(#v2) :is(.cta,.dark-cta,.developer-cta,.customer-story-cta,.about-contact-strip,.partner-final-cta,.products-cta-panel,.partners-invite) :is(h2,h3){color:#fff!important;font-size:clamp(32px,4.6vw,76px)!important;font-weight:800!important;letter-spacing:-.045em!important;line-height:1.04!important}
html body main:not(#v2) :is(.cta,.dark-cta,.developer-cta,.customer-story-cta,.about-contact-strip,.partner-final-cta,.products-cta-panel,.partners-invite) :is(p,small,span,li):not(.btn):not(.btn *){color:var(--v2-on-dark-muted)!important}
html body main:not(#v2) :is(.cta,.dark-cta,.developer-cta,.customer-story-cta,.about-contact-strip,.partner-final-cta,.products-cta-panel,.partners-invite) .btn{border-radius:999px!important;min-height:56px;padding-inline:34px;display:inline-flex;align-items:center;font-weight:700}
html body main:not(#v2) :is(.cta,.dark-cta,.developer-cta,.customer-story-cta,.about-contact-strip,.partner-final-cta,.products-cta-panel,.partners-invite) .btn:is(.coral,:not(.white):not(.outline)){background:var(--v2-mint)!important;border-color:var(--v2-mint)!important;color:var(--v2-ink)!important;box-shadow:0 14px 44px #52e3a444!important}
html body main:not(#v2) :is(.cta,.dark-cta,.developer-cta,.customer-story-cta,.about-contact-strip,.partner-final-cta,.products-cta-panel,.partners-invite) .btn:is(.white,.outline){background:transparent!important;color:#fff!important;border:1px solid #ffffff55!important}
html body main:not(#v2) :is(.cta,.dark-cta,.developer-cta,.customer-story-cta,.about-contact-strip,.partner-final-cta,.products-cta-panel,.partners-invite)>.wrap{background:none!important;box-shadow:none!important;border:0!important}
.v2-cta-net{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.v2-cta-net line{stroke:#52e3a4;stroke-width:1;opacity:.3}
.v2-cta-net circle{fill:#52e3a4}

/* progress bar (articles) */
.v2-progress{position:fixed;inset-inline:0;top:0;height:3px;z-index:99999;background:transparent;pointer-events:none}
.v2-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--v2-green-2),var(--v2-mint));transform-origin:var(--v2-origin,right) center;transform:scaleX(0)}
html[dir=ltr] .v2-progress i{--v2-origin:left}

html[dir=ltr] main :is(h1,h2){letter-spacing:-.02em!important}
@media(max-width:700px){
  html body main:not(#v2) .page-hero h1{max-width:none}
}

/* product back-link + label stack instead of overlapping */
main .page-hero>.n99-product-back{display:block!important;width:max-content;margin:0 auto 14px!important}
main .page-hero>.n99-family-label{display:flex!important;justify-content:center;margin-bottom:6px}
.v2-hero-net{opacity:.55}

/* eyebrow = any label directly before the hero h1 */
html body main:not(#v2) :is(.page-hero,.about-hero-pro,.api-hero,.strategy-hero,.demos-v3-hero,.partners-hero,.careers-hero,.omni-hero,.blog-hero) :is(span,small,p,div):has(+h1){
  display:inline-flex;align-items:center;gap:10px;background:none!important;border:0!important;padding:0!important;box-shadow:none!important;
  color:var(--v2-mint)!important;font-size:15px!important;font-weight:500;letter-spacing:0!important;text-transform:none!important;
}

/* word-split headings: legacy CSS sets unicode-bidi:plaintext, which ignores inline-block words and flips Hebrew word order */
html body main :is(h1,h2,h3):has(v2-w){unicode-bidi:normal!important}

/* CTA label above the headline = mint */
html body main:not(#v2) :is(.cta,.dark-cta,.developer-cta,.customer-story-cta,.about-contact-strip,.partner-final-cta,.products-cta-panel,.partners-invite) :is(span,small,p):has(+:is(h2,h3)):not(.btn){color:var(--v2-mint)!important;font-size:15px!important;font-weight:500;letter-spacing:0!important;text-transform:none!important}
