/* =========================================================
   STORM — Minimal theme (single theme file for the whole site)
   Palette and type after Avada "Digital Agency":
   white / #f9f9fb surfaces, #e2e2e2 hairlines, #0256ff action blue,
   #f45c20 orange for small labels, #212934 slate, Syne + DM Sans + Inter.

   Loaded last on every page, after the older style layers it overrides:
   - index.html links it after its inline style blocks
   - subpages link it after storm-solution-theme.css and their page CSS

   Sections:  TOKENS · SHARED chrome · HOMEPAGE · SUBPAGES
   Sector accents (earth, ocean, yellow) and status colours are kept.
   ========================================================= */

/* =========================================================
   TOKENS
   ========================================================= */
:root {
  --m-white: #ffffff;
  --m-surface: #f9f9fb;
  --m-line: #e2e2e2;
  --m-blue: #0256ff;
  --m-blue-dark: #0040c9;
  --m-blue-soft: #e6eeff;
  --m-orange: #f45c20;
  --m-grey: #6b6f76;
  --m-copy: #3d434d;
  --m-slate: #212934;
  --m-black: #000000;
  --m-head: "Syne", Arial, Helvetica, sans-serif;
  --m-body: "DM Sans", Arial, Helvetica, sans-serif;
  --m-ui: "Inter", Arial, Helvetica, sans-serif;

  --storm-ui-font: var(--m-body);
  --storm-ui-blue: var(--m-blue);
  --storm-ui-blue-deep: var(--m-blue-dark);
  --storm-ui-ink: var(--m-black);
  --storm-ui-navy: var(--m-slate);
  --storm-ui-muted: var(--m-grey);
  --storm-ui-line: var(--m-line);
  --cmp-font: var(--m-body);
  --auto-blue: var(--m-blue); --auto-blue-deep: var(--m-blue-dark); --auto-blue-hover: var(--m-blue-dark); --auto-ink: var(--m-black); --auto-copy: var(--m-copy); --auto-muted: var(--m-grey); --auto-line: var(--m-line); --auto-paper: var(--m-surface); --auto-navy: var(--m-slate); --auto-radius: 8px; --auto-shadow: none;
  --cart-blue: var(--m-blue); --cart-blue-deep: var(--m-blue-dark); --cart-blue-hover: var(--m-blue-dark); --cart-ink: var(--m-black); --cart-copy: var(--m-copy); --cart-muted: var(--m-grey); --cart-line: var(--m-line); --cart-paper: var(--m-surface); --cart-navy: var(--m-slate); --cart-radius: 8px; --cart-shadow: none;
  --cip-blue: var(--m-blue); --cip-blue-deep: var(--m-blue-dark); --cip-blue-hover: var(--m-blue-dark); --cip-ink: var(--m-black); --cip-copy: var(--m-copy); --cip-muted: var(--m-grey); --cip-line: var(--m-line); --cip-paper: var(--m-surface); --cip-navy: var(--m-slate); --cip-radius: 8px; --cip-shadow: none;
  --cmp-blue: var(--m-blue); --cmp-blue-deep: var(--m-blue-dark); --cmp-blue-hover: var(--m-blue-dark); --cmp-ink: var(--m-black); --cmp-copy: var(--m-copy); --cmp-muted: var(--m-grey); --cmp-line: var(--m-line); --cmp-paper: var(--m-surface); --cmp-navy: var(--m-slate); --cmp-radius: 8px; --cmp-shadow: none;
  --continuity-blue: var(--m-blue); --continuity-blue-deep: var(--m-blue-dark); --continuity-blue-hover: var(--m-blue-dark); --continuity-ink: var(--m-black); --continuity-copy: var(--m-copy); --continuity-muted: var(--m-grey); --continuity-line: var(--m-line); --continuity-paper: var(--m-surface); --continuity-navy: var(--m-slate); --continuity-radius: 8px; --continuity-shadow: none;
  --dry-blue: var(--m-blue); --dry-blue-deep: var(--m-blue-dark); --dry-blue-hover: var(--m-blue-dark); --dry-ink: var(--m-black); --dry-copy: var(--m-copy); --dry-muted: var(--m-grey); --dry-line: var(--m-line); --dry-paper: var(--m-surface); --dry-navy: var(--m-slate); --dry-radius: 8px; --dry-shadow: none;
  --energy-blue: var(--m-blue); --energy-blue-deep: var(--m-blue-dark); --energy-blue-hover: var(--m-blue-dark); --energy-ink: var(--m-black); --energy-copy: var(--m-copy); --energy-muted: var(--m-grey); --energy-line: var(--m-line); --energy-paper: var(--m-surface); --energy-navy: var(--m-slate); --energy-radius: 8px; --energy-shadow: none;
  --gdpr-blue: var(--m-blue); --gdpr-blue-deep: var(--m-blue-dark); --gdpr-blue-hover: var(--m-blue-dark); --gdpr-ink: var(--m-black); --gdpr-copy: var(--m-copy); --gdpr-muted: var(--m-grey); --gdpr-line: var(--m-line); --gdpr-paper: var(--m-surface); --gdpr-navy: var(--m-slate); --gdpr-radius: 8px; --gdpr-shadow: none;
  --intel-blue: var(--m-blue); --intel-blue-deep: var(--m-blue-dark); --intel-blue-hover: var(--m-blue-dark); --intel-ink: var(--m-black); --intel-copy: var(--m-copy); --intel-muted: var(--m-grey); --intel-line: var(--m-line); --intel-paper: var(--m-surface); --intel-navy: var(--m-slate); --intel-radius: 8px; --intel-shadow: none;
  --isms-blue: var(--m-blue); --isms-blue-deep: var(--m-blue-dark); --isms-blue-hover: var(--m-blue-dark); --isms-ink: var(--m-black); --isms-copy: var(--m-copy); --isms-muted: var(--m-grey); --isms-line: var(--m-line); --isms-paper: var(--m-surface); --isms-navy: var(--m-slate); --isms-radius: 8px; --isms-shadow: none;
  --monitor-blue: var(--m-blue); --monitor-blue-deep: var(--m-blue-dark); --monitor-blue-hover: var(--m-blue-dark); --monitor-ink: var(--m-black); --monitor-copy: var(--m-copy); --monitor-muted: var(--m-grey); --monitor-line: var(--m-line); --monitor-paper: var(--m-surface); --monitor-navy: var(--m-slate); --monitor-radius: 8px; --monitor-shadow: none;
  --policy-blue: var(--m-blue); --policy-blue-deep: var(--m-blue-dark); --policy-blue-hover: var(--m-blue-dark); --policy-ink: var(--m-black); --policy-copy: var(--m-copy); --policy-muted: var(--m-grey); --policy-line: var(--m-line); --policy-paper: var(--m-surface); --policy-navy: var(--m-slate); --policy-radius: 8px; --policy-shadow: none;
  --risk-blue: var(--m-blue); --risk-blue-deep: var(--m-blue-dark); --risk-blue-hover: var(--m-blue-dark); --risk-ink: var(--m-black); --risk-copy: var(--m-copy); --risk-muted: var(--m-grey); --risk-line: var(--m-line); --risk-paper: var(--m-surface); --risk-navy: var(--m-slate); --risk-radius: 8px; --risk-shadow: none;
  --tprm-blue: var(--m-blue); --tprm-blue-deep: var(--m-blue-dark); --tprm-blue-hover: var(--m-blue-dark); --tprm-ink: var(--m-black); --tprm-copy: var(--m-copy); --tprm-muted: var(--m-grey); --tprm-line: var(--m-line); --tprm-paper: var(--m-surface); --tprm-navy: var(--m-slate); --tprm-radius: 8px; --tprm-shadow: none;
  --vuln-blue: var(--m-blue); --vuln-blue-deep: var(--m-blue-dark); --vuln-blue-hover: var(--m-blue-dark); --vuln-ink: var(--m-black); --vuln-copy: var(--m-copy); --vuln-muted: var(--m-grey); --vuln-line: var(--m-line); --vuln-paper: var(--m-surface); --vuln-navy: var(--m-slate); --vuln-radius: 8px; --vuln-shadow: none;
  --isms-blue-soft: #7aa5ff; --cmp-blue-soft: var(--m-blue-soft); --cart-blue-soft: rgba(2,86,255,.06);
}

/* The homepage's older layers also read these; neutralise their blue tints there */
body[data-page="storm-grc"] {
  --storm-ui-blue-soft: var(--m-surface);
  --storm-ui-blue-mist: var(--m-surface);
  --storm-ui-ice: var(--m-surface);
}

/* =========================================================
   SHARED — header, navigation, footer (every page)
   ========================================================= */
.storm-topbar,
.storm-topbar.storm-scrolled {
  background: #fff !important;
  border-bottom: 1px solid var(--m-line) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-family: var(--m-ui) !important;
}
.storm-topbar :is(a, button),
.storm-mobile-menu :is(a, button),
.storm-nav-dropdown-menu :is(a, span) { font-family: var(--m-ui) !important; letter-spacing: 0 !important; }
.storm-nav-links > a, .storm-nav-trigger { font-weight: 500 !important; color: var(--m-black) !important; }
.storm-nav-dropdown-menu { box-shadow: 0 12px 32px rgba(0,0,0,.08) !important; border-color: var(--m-line) !important; backdrop-filter: none !important; }
.storm-nav-dropdown-menu a:hover, a.storm-nav-menu-item:hover, a.storm-nav-menu-item[aria-current="page"] { background: var(--m-surface) !important; }
body[data-page] .storm-nav-btn--primary,
body[data-page] .storm-nav-btn--primary:hover,
body[data-page] .storm-nav-btn--primary:focus-visible {
  color: #fff !important;
  border-radius: 5px !important;
  background: var(--m-blue) !important;
  background-image: none !important;
  border-color: var(--m-blue) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  font-family: var(--m-ui) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
body[data-page] .storm-nav-btn--primary:hover,
body[data-page] .storm-nav-btn--primary:focus-visible { background: var(--m-black) !important; border-color: var(--m-black) !important; }
.storm-site-footer { font-family: var(--m-body) !important; border-top: 1px solid var(--m-line) !important; }
.storm-site-footer summary { font-family: var(--m-ui) !important; }
.storm-footer-links a:hover { transform: none !important; color: var(--m-blue) !important; }

.storm-topbar .storm-nav-links a,
.storm-topbar .storm-nav-links button { font-weight: 500 !important; letter-spacing: 0 !important; color: var(--m-black); }
.storm-site-footer :is(h2, h3, h4) { font-family: var(--m-ui) !important; letter-spacing: 0 !important; }
.storm-progress > span { background: var(--m-blue) !important; box-shadow: none !important; }

/* =========================================================
   HOMEPAGE — index.html (body[data-page="storm-grc"], .storm-page)
   ========================================================= */
body[data-page="storm-grc"] { background: var(--m-white); color: var(--m-slate); }

.storm-page {
  --ink: var(--m-black);
  --ink-2: var(--m-slate);
  --ink-3: #3d434d;
  --muted: var(--m-grey);
  --muted-soft: #8d9097;
  --paper: var(--m-surface);
  --lavender: var(--m-surface);
  --lavender-2: var(--m-surface);
  --lavender-deep: var(--m-line);
  --primary: var(--m-blue);
  --primary-deep: var(--m-blue-dark);
  --primary-soft: #e6eeff;
  --line: var(--m-line);
  --line-soft: #eeeeee;
  --f-display: var(--m-head);
  --f-body: var(--m-body);
  --f-mono: var(--m-ui);
  --radius: 8px;
  --radius-lg: 8px;
  --radius-sm: 5px;
  font-family: var(--m-body) !important;
  font-size: 17px;
  line-height: 1.7;
  letter-spacing: .005em;
  color: var(--m-slate);
  -webkit-font-smoothing: antialiased;
}

/* ---------- Typography ---------- */
body[data-page="storm-grc"] .storm-page h1,
body[data-page="storm-grc"] .storm-page h2,
body[data-page="storm-grc"] .storm-page h3,
body[data-page="storm-grc"] .storm-page h4,
body[data-page="storm-grc"] .storm-page .section-title,
body[data-page="storm-grc"] .storm-page .fw-title,
body[data-page="storm-grc"] .storm-page .final-cta h2,
body[data-page="storm-grc"] .storm-page .phase-name,
body[data-page="storm-grc"] .storm-page .fw-copy strong,
body[data-page="storm-grc"] .storm-page .why-stat strong,
body[data-page="storm-grc"] .storm-page .p-stat strong,
body[data-page="storm-grc"] .storm-page .mock-kpi-value {
  font-family: var(--m-head) !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
  line-height: 1.08 !important;
  color: var(--m-black);
}
body[data-page="storm-grc"] .storm-page .hero h1 {
  font-size: clamp(42px, 5.4vw, 72px) !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  line-height: 1.02 !important;
}
body[data-page="storm-grc"] .storm-page .section-title,
body[data-page="storm-grc"] .storm-page .fw-title,
body[data-page="storm-grc"] .storm-page .final-cta h2 {
  font-size: clamp(32px, 3.6vw, 50px) !important;
}
body[data-page="storm-grc"] .storm-page h3,
body[data-page="storm-grc"] .storm-page h4,
body[data-page="storm-grc"] .storm-page .phase-name {
  font-size: clamp(19px, 1.5vw, 22px) !important;
  line-height: 1.2 !important;
}
body[data-page="storm-grc"] .storm-page .why-stat strong,
body[data-page="storm-grc"] .storm-page .p-stat strong { font-size: 26px !important; color: var(--m-black) !important; }

/* Highlighted words: no coloured keywords, let the type carry it */
body[data-page="storm-grc"] .storm-page h1 em,
body[data-page="storm-grc"] .storm-page h2 em,
body[data-page="storm-grc"] .storm-page .section-title em,
body[data-page="storm-grc"] .storm-page .fw-title em { color: inherit !important; font-style: normal !important; background: none !important; -webkit-text-fill-color: currentColor !important; }

.storm-page p,
.storm-page .section-lede,
.storm-page .hero-sub { color: var(--m-slate); }
.storm-page .section-lede,
.storm-page .hero-sub { font-size: 18px !important; line-height: 1.72 !important; color: #3d434d !important; }

/* Eyebrows: plain orange text, no pill */
body[data-page="storm-grc"] .storm-page .eyebrow,
body[data-page="storm-grc"] .storm-page .storm-section-label {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--m-orange) !important;
  font-family: var(--m-ui) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}
.storm-page .eyebrow::before,
.storm-page .eyebrow::after { display: none !important; }

/* Small mono/uppercase labels become quiet Inter */
.storm-page .phase-num,
.storm-page .int-cat-tag,
.storm-page .ind-card-num,
.storm-page .fw-note,
.storm-page .award-text span,
.storm-page .hero-stat span,
.storm-page .p-stat span,
.storm-page .why-stat span,
.storm-page .level-tag,
.storm-page .module::before {
  font-family: var(--m-ui) !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  color: var(--m-grey) !important;
}

/* ---------- Kill decoration: glows, blobs, gradients, lifts ---------- */
.storm-page .hero::before, .storm-page .hero::after,
.storm-page .awards-strip::before, .storm-page .awards-strip::after,
.storm-page .platform::before, .storm-page .platform::after,
.storm-page .why::before, .storm-page .why::after,
.storm-page .final-cta::before, .storm-page .final-cta::after,
.storm-page .why-card::after, .storm-page .module::after,
.storm-page .h-accent::after { display: none !important; }

.storm-page .btn,
.storm-page .fw-item, .storm-page .why-card, .storm-page .why-stat,
.storm-page .module, .storm-page .phase, .storm-page .sector,
.storm-page .award-item, .storm-page .int-cat, .storm-page .ind-card,
.storm-page .faq-item, .storm-page .cf-item, .storm-page .policy-card,
.storm-page .p-stat, .storm-page .maturity, .storm-page .storm-metric,
.storm-page .tour-tab, .storm-page .hero-stats, .storm-page .comp-row {
  box-shadow: none !important;
  text-shadow: none !important;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease !important;
}
.storm-page .btn:hover,
.storm-page .fw-item:hover, .storm-page .why-card:hover, .storm-page .module:hover,
.storm-page .phase:hover, .storm-page .sector:hover, .storm-page .award-item:hover,
.storm-page .int-cat:hover, .storm-page .ind-card:hover, .storm-page .cf-item:hover,
.storm-page .storm-metric:hover { transform: none !important; box-shadow: none !important; }

/* ---------- Buttons ---------- */
body[data-page="storm-grc"] .storm-page .btn {
  border-radius: 5px !important;
  padding: 17px 28px !important;
  font-family: var(--m-ui) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
body[data-page="storm-grc"] .storm-page .btn-primary {
  background: var(--m-blue) !important;
  border: 1px solid var(--m-blue) !important;
  color: #fff !important;
}
body[data-page="storm-grc"] .storm-page .btn-primary:hover { background: var(--m-black) !important; border-color: var(--m-black) !important; }
body[data-page="storm-grc"] .storm-page .btn-secondary {
  background: #fff !important;
  border: 1px solid var(--m-line) !important;
  color: var(--m-black) !important;
}
body[data-page="storm-grc"] .storm-page .btn-secondary:hover { background: #fff !important; border-color: var(--m-black) !important; color: var(--m-black) !important; }
.storm-page .arrow-link { color: var(--m-blue) !important; font-family: var(--m-ui) !important; font-weight: 500 !important; }

/* ---------- Section surfaces ---------- */
body[data-page="storm-grc"] .storm-page .section { padding: 112px 0 !important; }

body[data-page="storm-grc"] .storm-page .hero,
body[data-page="storm-grc"] .storm-page .trust,
body[data-page="storm-grc"] .storm-page .frameworks,
body[data-page="storm-grc"] .storm-page .why,
body[data-page="storm-grc"] .storm-page .compliance-feature,
body[data-page="storm-grc"] .storm-page .integrations,
body[data-page="storm-grc"] .storm-page .compare,
body[data-page="storm-grc"] .storm-page .storm-outcomes-section,
body[data-page="storm-grc"] .storm-page .faq {
  background: var(--m-white) !important;
  background-image: none !important;
  color: var(--m-slate) !important;
}
body[data-page="storm-grc"] .storm-page .awards-strip,
body[data-page="storm-grc"] .storm-page .architecture,
body[data-page="storm-grc"] .storm-page .policy,
body[data-page="storm-grc"] .storm-page .tour,
body[data-page="storm-grc"] .storm-page .industries,
body[data-page="storm-grc"] .storm-page .certs-strip {
  background: var(--m-surface) !important;
  background-image: none !important;
  color: var(--m-slate) !important;
}
/* One dark band, flat slate */
body[data-page="storm-grc"] .storm-page .platform {
  background: var(--m-slate) !important;
  background-image: none !important;
}
/* Closing call to action: solid blue, like the reference */
body[data-page="storm-grc"] .storm-page .final-cta {
  background: var(--m-blue) !important;
  background-image: none !important;
}

/* Hairline between adjacent white sections */
.storm-page .trust,
.storm-page .frameworks,
.storm-page .why,
.storm-page .compliance-feature,
.storm-page .integrations,
.storm-page .compare,
.storm-page .faq { border-top: 1px solid var(--m-line); }

/* ---------- Cards (light sections) ---------- */
body[data-page="storm-grc"] .storm-page .fw-item,
body[data-page="storm-grc"] .storm-page .why-card,
body[data-page="storm-grc"] .storm-page .why-stat,
body[data-page="storm-grc"] .storm-page .phase,
body[data-page="storm-grc"] .storm-page .sector,
body[data-page="storm-grc"] .storm-page .int-cat,
body[data-page="storm-grc"] .storm-page .ind-card,
body[data-page="storm-grc"] .storm-page .faq-item,
body[data-page="storm-grc"] .storm-page .cf-item,
body[data-page="storm-grc"] .storm-page .policy-card,
body[data-page="storm-grc"] .storm-page .p-stat,
body[data-page="storm-grc"] .storm-page .maturity,
body[data-page="storm-grc"] .storm-page .storm-metric,
body[data-page="storm-grc"] .storm-page .award-item {
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--m-line) !important;
  border-radius: 8px !important;
  color: var(--m-slate) !important;
}
body[data-page="storm-grc"] .storm-page .fw-item:hover,
body[data-page="storm-grc"] .storm-page .why-card:hover,
body[data-page="storm-grc"] .storm-page .phase:hover,
body[data-page="storm-grc"] .storm-page .sector:hover,
body[data-page="storm-grc"] .storm-page .int-cat:hover,
body[data-page="storm-grc"] .storm-page .ind-card:hover,
body[data-page="storm-grc"] .storm-page .cf-item:hover,
body[data-page="storm-grc"] .storm-page .award-item:hover { background: #fff !important; border-color: var(--m-black) !important; }

.storm-page .why-card h3, .storm-page .why-card h4,
.storm-page .int-cat h4, .storm-page .ind-card h4,
.storm-page .policy-card h4, .storm-page .maturity h4,
.storm-page .award-text strong, .storm-page .awards-head strong { color: var(--m-black) !important; }
.storm-page .why-card p, .storm-page .int-cat p, .storm-page .ind-card p,
.storm-page .award-text, .storm-page .awards-head { color: var(--m-grey) !important; }

/* Icon tiles: flat, single colour */
body[data-page="storm-grc"] .storm-page .why-dot,
body[data-page="storm-grc"] .storm-page .module-icon,
body[data-page="storm-grc"] .storm-page .phase-icon,
body[data-page="storm-grc"] .storm-page .storm-metric-icon {
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--m-blue) !important;
}
body[data-page="storm-grc"] .storm-page svg.module-icon { width: 28px !important; height: 28px !important; margin-bottom: 40px !important; }
.storm-page .why-dot svg, .storm-page .phase-icon svg, .storm-page .storm-metric-icon svg { stroke: currentColor; }
body[data-page="storm-grc"] .storm-page svg.module-icon { fill: none !important; stroke: currentColor !important; stroke-width: 1.6 !important; opacity: 1 !important; }

/* Framework marquee: name + area only, no faux badges */
.storm-page .fw-icon { display: none !important; }
.storm-page .fw-copy small { font-family: var(--m-ui) !important; font-size: 13px !important; letter-spacing: .01em !important; text-transform: none !important; color: var(--m-grey) !important; }

/* Hero stats: a plain row, no pill */
body[data-page="storm-grc"] .storm-page .hero-stats {
  background: none !important;
  border: 0 !important;
  border-top: 1px solid var(--m-line) !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
}
body[data-page="storm-grc"] .storm-page .hero-stat strong { color: var(--m-black) !important; font-family: var(--m-head) !important; }

/* Product shot: hairline frame instead of heavy drop shadow */
body[data-page="storm-grc"] .storm-page .hero-video-shell,
body[data-page="storm-grc"] .storm-page .hero-video-shell.storm-walkthrough {
  border: 1px solid var(--m-line) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  background: var(--m-surface) !important;
}

/* Pills/tags → small square-ish labels */
body[data-page="storm-grc"] .storm-page .int-tool,
body[data-page="storm-grc"] .storm-page .ind-card-fw,
body[data-page="storm-grc"] .storm-page .tour-tab {
  border-radius: 5px !important;
  font-family: var(--m-ui) !important;
}
body[data-page="storm-grc"] .storm-page .int-tool,
body[data-page="storm-grc"] .storm-page .ind-card-fw {
  background: var(--m-surface) !important;
  border: 1px solid var(--m-line) !important;
  color: var(--m-slate) !important;
}
body[data-page="storm-grc"] .storm-page .tour-tab.active,
body[data-page="storm-grc"] .storm-page .tour-tab[aria-selected="true"] {
  background: var(--m-black) !important;
  border-color: var(--m-black) !important;
  color: #fff !important;
}

/* Links in body copy */
.storm-page a:not(.btn):not([class*="storm-"]) { text-decoration-color: currentColor; }

/* "Why" used to be dark; it is now a white section */
body[data-page="storm-grc"] .storm-page .why { border-top: 1px solid var(--m-line) !important; }
body[data-page="storm-grc"] .storm-page .why .section-title,
body[data-page="storm-grc"] .storm-page .why h3 { color: var(--m-black) !important; }

/* Integrations flow diagram (was on dark) */
body[data-page="storm-grc"] .storm-page .flow-node {
  background: #fff !important;
  border: 1px solid var(--m-line) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
body[data-page="storm-grc"] .storm-page .flow-node strong { color: var(--m-black) !important; font-family: var(--m-ui) !important; font-weight: 600 !important; }
body[data-page="storm-grc"] .storm-page .flow-node span { color: var(--m-grey) !important; font-family: var(--m-ui) !important; letter-spacing: 0 !important; }
body[data-page="storm-grc"] .storm-page .flow-arrow { background: var(--m-line) !important; }
body[data-page="storm-grc"] .storm-page .flow-arrow::after { border-left-color: var(--m-line) !important; }

/* Comparison table */
body[data-page="storm-grc"] .storm-page .comp-table { border: 1px solid var(--m-line) !important; border-radius: 8px !important; box-shadow: none !important; }
body[data-page="storm-grc"] .storm-page .comp-row { border-color: var(--m-line) !important; }
body[data-page="storm-grc"] .storm-page .comp-cell.head {
  background: var(--m-surface) !important;
  color: var(--m-black) !important;
  font-family: var(--m-ui) !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body[data-page="storm-grc"] .storm-page .comp-cell.head.storm-col { background: var(--m-blue) !important; color: #fff !important; }
body[data-page="storm-grc"] .storm-page .comp-cell.label { background: #fff !important; }
body[data-page="storm-grc"] .storm-page .comp-cell.storm-col { background: #f3f6ff !important; color: var(--m-black) !important; }

/* Industries (was dark) */
body[data-page="storm-grc"] .storm-page .industries .section-title { color: var(--m-black) !important; }
body[data-page="storm-grc"] .storm-page .ind-head p { color: #3d434d !important; }
body[data-page="storm-grc"] .storm-page .ind-card { min-height: 0 !important; padding: 28px !important; }
body[data-page="storm-grc"] .storm-page .ind-card::before { display: none !important; }
body[data-page="storm-grc"] .storm-page .ind-card h4 { margin-top: 14px !important; }
body[data-page="storm-grc"] .storm-page .ind-card p { margin-bottom: 20px !important; }
body[data-page="storm-grc"] .storm-page .ind-card-num { color: var(--m-grey) !important; }

/* Customer outcomes block: no tinted panel, no serif */
body[data-page="storm-grc"] .storm-page .storm-outcomes-section { padding: 112px 20px !important; border-top: 1px solid var(--m-line); }
body[data-page="storm-grc"] .storm-page .storm-outcomes-wrapper {
  background: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  max-width: 1320px !important;
}
body[data-page="storm-grc"] .storm-page .storm-outcomes-left,
body[data-page="storm-grc"] .storm-page .storm-outcomes-right {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
body[data-page="storm-grc"] .storm-page .storm-outcomes-text {
  font-family: var(--m-head) !important;
  font-weight: 700 !important;
  font-size: clamp(26px, 2.6vw, 36px) !important;
  line-height: 1.2 !important;
  letter-spacing: -.015em !important;
  color: var(--m-black) !important;
}
body[data-page="storm-grc"] .storm-page .storm-outcomes-footer { font-family: var(--m-ui) !important; color: var(--m-grey) !important; border-color: var(--m-line) !important; }
body[data-page="storm-grc"] .storm-page .storm-metric strong { font-family: var(--m-ui) !important; color: var(--m-black) !important; }
body[data-page="storm-grc"] .storm-page .storm-metric span { color: var(--m-grey) !important; }

/* ---------- Dark band (platform) ---------- */
body[data-page="storm-grc"] .storm-page .platform h2,
body[data-page="storm-grc"] .storm-page .platform h4,
body[data-page="storm-grc"] .storm-page .platform .section-title { color: #fff !important; }
body[data-page="storm-grc"] .storm-page .platform p,
body[data-page="storm-grc"] .storm-page .platform .section-lede { color: rgba(255,255,255,.72) !important; }
body[data-page="storm-grc"] .storm-page .platform .eyebrow { color: var(--m-orange) !important; }
body[data-page="storm-grc"] .storm-page .module {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 8px !important;
}
body[data-page="storm-grc"] .storm-page .module:hover { background: rgba(255,255,255,.04) !important; border-color: rgba(255,255,255,.4) !important; }
body[data-page="storm-grc"] .storm-page .module::before { color: rgba(255,255,255,.45) !important; }
body[data-page="storm-grc"] .storm-page .platform .module-icon { color: #fff !important; }

/* ---------- Final CTA on blue ---------- */
body[data-page="storm-grc"] .storm-page .final-cta h2,
body[data-page="storm-grc"] .storm-page .final-cta p { color: #fff !important; }
body[data-page="storm-grc"] .storm-page .final-cta .eyebrow { color: #fff !important; opacity: .8; }
body[data-page="storm-grc"] .storm-page .final-cta .btn-primary { background: #fff !important; border-color: #fff !important; color: var(--m-black) !important; }
body[data-page="storm-grc"] .storm-page .final-cta .btn-primary:hover { background: var(--m-black) !important; border-color: var(--m-black) !important; color: #fff !important; }
body[data-page="storm-grc"] .storm-page .final-cta .btn-secondary { background: transparent !important; border-color: rgba(255,255,255,.5) !important; color: #fff !important; }
body[data-page="storm-grc"] .storm-page .final-cta .btn-secondary:hover { border-color: #fff !important; }

/* ---------- Motion: calmer reveal ---------- */
.storm-page .storm-reveal { transform: translateY(12px); transition-duration: .5s !important; }
.storm-page .storm-reveal.storm-inview { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .storm-page .storm-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

@media (max-width: 760px) {
  body[data-page="storm-grc"] .storm-page .section { padding: 72px 0 !important; }
  body[data-page="storm-grc"] .storm-page .hero h1 { font-size: clamp(36px, 10vw, 46px) !important; }
}
/* =========================================================
   SUBPAGES — solution, framework, sector and comparison pages
   Per-page prefixes: auto, cart, cip, cmp, continuity, dry, energy,
   gdpr, intel, isms, monitor, policy, risk, tprm, vuln; plus the
   .nis2-page / .saas-page / .dora-page / .maritime-page templates.
   ========================================================= */
body[data-page]:not([data-page="storm-grc"]) {
  font-family: var(--m-body) !important;
  color: var(--m-slate);
  background: var(--m-white) !important;
  -webkit-font-smoothing: antialiased;
}
body[data-page]:not([data-page="storm-grc"]) main,
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) { font-family: var(--m-body) !important; letter-spacing: .005em !important; }
body[data-page]:not([data-page="storm-grc"]) main :is(button, input, select, textarea) { font-family: inherit; }

body[data-page]:not([data-page="storm-grc"]) main :is(h1, h2, h3, h4),
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-title, .cart-title, .cip-title, .cmp-title, .continuity-title, .dry-title, .energy-title, .gdpr-title, .intel-title, .isms-title, .monitor-title, .policy-title, .risk-title, .tprm-title, .vuln-title, .section-title),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(h1, h2, h3, h4, .section-title) {
  font-family: var(--m-head) !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
  line-height: 1.1 !important;
}
body[data-page]:not([data-page="storm-grc"]) main h1,
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .hero h1 {
  font-size: clamp(38px, 4.4vw, 60px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.02em !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-title, .cart-title, .cip-title, .cmp-title, .continuity-title, .dry-title, .energy-title, .gdpr-title, .intel-title, .isms-title, .monitor-title, .policy-title, .risk-title, .tprm-title, .vuln-title, .section-title) { font-size: clamp(30px, 3.5vw, 48px) !important; }
body[data-page]:not([data-page="storm-grc"]) main :is(h3, h4) { line-height: 1.2 !important; }

/* Highlighted keywords: same colour as the heading */
body[data-page]:not([data-page="storm-grc"]) main :is(h1, h2, h3, :is(.auto-title, .cart-title, .cip-title, .cmp-title, .continuity-title, .dry-title, .energy-title, .gdpr-title, .intel-title, .isms-title, .monitor-title, .policy-title, .risk-title, .tprm-title, .vuln-title, .section-title)) em,
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(h1, h2, h3, .section-title) em {
  color: inherit !important;
  font-style: normal !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

body[data-page]:not([data-page="storm-grc"]) main :is(.auto-lede, .cart-lede, .cip-lede, .cmp-lede, .continuity-lede, .dry-lede, .energy-lede, .gdpr-lede, .intel-lede, .isms-lede, .monitor-lede, .policy-lede, .risk-lede, .tprm-lede, .vuln-lede, .section-lede, .hero-sub) { line-height: 1.7 !important; }

/* Kickers / eyebrows: plain orange text, no dash, no pill */
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-kicker, .cart-kicker, .cip-kicker, .cmp-kicker, .continuity-kicker, .dry-kicker, .energy-kicker, .gdpr-kicker, .intel-kicker, .isms-kicker, .monitor-kicker, .policy-kicker, .risk-kicker, .tprm-kicker, .vuln-kicker, .eyebrow),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .eyebrow {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--m-orange) !important;
  font-family: var(--m-ui) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-kicker, .cart-kicker, .cip-kicker, .cmp-kicker, .continuity-kicker, .dry-kicker, .energy-kicker, .gdpr-kicker, .intel-kicker, .isms-kicker, .monitor-kicker, .policy-kicker, .risk-kicker, .tprm-kicker, .vuln-kicker, .eyebrow)::before,
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-kicker, .cart-kicker, .cip-kicker, .cmp-kicker, .continuity-kicker, .dry-kicker, .energy-kicker, .gdpr-kicker, .intel-kicker, .isms-kicker, .monitor-kicker, .policy-kicker, .risk-kicker, .tprm-kicker, .vuln-kicker, .eyebrow)::after { display: none !important; }

/* Monospace and spaced-out uppercase micro labels become quiet Inter */
body[data-page]:not([data-page="storm-grc"]) main :is(code, kbd, samp, [class*="mono"]),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.hero-reg, .award-text span, .t-meta-item span, .shift-num, .shift-foot, .reg-code, .art-num) {
  font-family: var(--m-ui) !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}

/* ---------- Section surfaces ---------- */
/* Dark bands stay dark but go flat slate: no glows, grids or gradients */
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-hero, .cart-hero, .cip-hero, .cmp-hero, .continuity-hero, .dry-hero, .energy-hero, .gdpr-hero, .intel-hero, .isms-hero, .monitor-hero, .policy-hero, .risk-hero, .tprm-hero, .vuln-hero):not(.cart-hero),
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-themes, .cart-themes, .cip-themes, .cmp-themes, .continuity-themes, .dry-themes, .energy-themes, .gdpr-themes, .intel-themes, .isms-themes, .monitor-themes, .policy-themes, .risk-themes, .tprm-themes, .vuln-themes),
body[data-page]:not([data-page="storm-grc"]) main :is(.dry-levels, .cloud-shared, .gdpr-obligations, .pii-core, .pims-core, .policy-connect, .continuity-flow, .intel-flow, .monitor-flow, .risk-flow, .tprm-flow, .vuln-flow),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.hero, .awards-strip, .reporting, .nis2-timeline, .saas-timeline, .dora-timeline, .timeline) {
  background: var(--m-slate) !important;
  background-image: none !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is(:is(.auto-hero, .cart-hero, .cip-hero, .cmp-hero, .continuity-hero, .dry-hero, .energy-hero, .gdpr-hero, .intel-hero, .isms-hero, .monitor-hero, .policy-hero, .risk-hero, .tprm-hero, .vuln-hero), :is(.auto-themes, .cart-themes, .cip-themes, .cmp-themes, .continuity-themes, .dry-themes, .energy-themes, .gdpr-themes, .intel-themes, .isms-themes, .monitor-themes, .policy-themes, .risk-themes, .tprm-themes, .vuln-themes), .dry-levels, .cloud-shared, .gdpr-obligations, .pii-core, .pims-core, .policy-connect, .continuity-flow, .intel-flow, .monitor-flow, .risk-flow, .tprm-flow, .vuln-flow)::before,
body[data-page]:not([data-page="storm-grc"]) main :is(:is(.auto-hero, .cart-hero, .cip-hero, .cmp-hero, .continuity-hero, .dry-hero, .energy-hero, .gdpr-hero, .intel-hero, .isms-hero, .monitor-hero, .policy-hero, .risk-hero, .tprm-hero, .vuln-hero), :is(.auto-themes, .cart-themes, .cip-themes, .cmp-themes, .continuity-themes, .dry-themes, .energy-themes, .gdpr-themes, .intel-themes, .isms-themes, .monitor-themes, .policy-themes, .risk-themes, .tprm-themes, .vuln-themes), .dry-levels, .cloud-shared, .gdpr-obligations, .pii-core, .pims-core, .policy-connect, .continuity-flow, .intel-flow, .monitor-flow, .risk-flow, .tprm-flow, .vuln-flow)::after,
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.hero, .awards-strip, .reporting, .final-cta)::before,
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.hero, .awards-strip, .reporting, .final-cta)::after { display: none !important; }

/* Closing call to action: solid blue band, like the homepage */
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-final, .cart-final, .cip-final, .cmp-final, .continuity-final, .dry-final, .energy-final, .gdpr-final, .intel-final, .isms-final, .monitor-final, .policy-final, .risk-final, .tprm-final, .vuln-final),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .final-cta {
  background: var(--m-blue) !important;
  background-image: none !important;
  color: #fff !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-final, .cart-final, .cip-final, .cmp-final, .continuity-final, .dry-final, .energy-final, .gdpr-final, .intel-final, .isms-final, .monitor-final, .policy-final, .risk-final, .tprm-final, .vuln-final)::before,
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-final, .cart-final, .cip-final, .cmp-final, .continuity-final, .dry-final, .energy-final, .gdpr-final, .intel-final, .isms-final, .monitor-final, .policy-final, .risk-final, .tprm-final, .vuln-final)::after { display: none !important; }
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-final-inner, .cart-final-inner, .cip-final-inner, .cmp-final-inner, .continuity-final-inner, .dry-final-inner, .energy-final-inner, .gdpr-final-inner, .intel-final-inner, .isms-final-inner, .monitor-final-inner, .policy-final-inner, .risk-final-inner, .tprm-final-inner, .vuln-final-inner) {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-final, .cart-final, .cip-final, .cmp-final, .continuity-final, .dry-final, .energy-final, .gdpr-final, .intel-final, .isms-final, .monitor-final, .policy-final, .risk-final, .tprm-final, .vuln-final) :is(h2, h3, p, :is(.auto-title, .cart-title, .cip-title, .cmp-title, .continuity-title, .dry-title, .energy-title, .gdpr-title, .intel-title, .isms-title, .monitor-title, .policy-title, .risk-title, .tprm-title, .vuln-title), :is(.auto-lede, .cart-lede, .cip-lede, .cmp-lede, .continuity-lede, .dry-lede, .energy-lede, .gdpr-lede, .intel-lede, .isms-lede, .monitor-lede, .policy-lede, .risk-lede, .tprm-lede, .vuln-lede), :is(.auto-kicker, .cart-kicker, .cip-kicker, .cmp-kicker, .continuity-kicker, .dry-kicker, .energy-kicker, .gdpr-kicker, .intel-kicker, .isms-kicker, .monitor-kicker, .policy-kicker, .risk-kicker, .tprm-kicker, .vuln-kicker)),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .final-cta :is(h2, h3, p, .eyebrow, .section-title) { color: #fff !important; }
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-final, .cart-final, .cip-final, .cmp-final, .continuity-final, .dry-final, .energy-final, .gdpr-final, .intel-final, .isms-final, .monitor-final, .policy-final, .risk-final, .tprm-final, .vuln-final) :is(.auto-kicker, .cart-kicker, .cip-kicker, .cmp-kicker, .continuity-kicker, .dry-kicker, .energy-kicker, .gdpr-kicker, .intel-kicker, .isms-kicker, .monitor-kicker, .policy-kicker, .risk-kicker, .tprm-kicker, .vuln-kicker),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .final-cta .eyebrow { opacity: .8; }

/* Light sections: alternate white and #f9f9fb only (no tinted lavender/blue) */
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-section, .cart-section, .cip-section, .cmp-section, .continuity-section, .dry-section, .energy-section, .gdpr-section, .intel-section, .isms-section, .monitor-section, .policy-section, .risk-section, .tprm-section, .vuln-section):not(:is(.auto-hero, .cart-hero, .cip-hero, .cmp-hero, .continuity-hero, .dry-hero, .energy-hero, .gdpr-hero, .intel-hero, .isms-hero, .monitor-hero, .policy-hero, .risk-hero, .tprm-hero, .vuln-hero)):not(:is(.auto-themes, .cart-themes, .cip-themes, .cmp-themes, .continuity-themes, .dry-themes, .energy-themes, .gdpr-themes, .intel-themes, .isms-themes, .monitor-themes, .policy-themes, .risk-themes, .tprm-themes, .vuln-themes)):not(:is(.auto-final, .cart-final, .cip-final, .cmp-final, .continuity-final, .dry-final, .energy-final, .gdpr-final, .intel-final, .isms-final, .monitor-final, .policy-final, .risk-final, .tprm-final, .vuln-final)) {
  background-image: none !important;
}
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .section:not(.reporting):not(.nis2-timeline):not(.saas-timeline):not(.dora-timeline):not(.timeline) {
  background: var(--m-white) !important;
  background-image: none !important;
}
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.section.problem, .section.regs, .section.faq, .certs-strip) { background: var(--m-surface) !important; }

/* ---------- Kill decoration: shadows, glows, lifts ---------- */
body[data-page]:not([data-page="storm-grc"]) main *, body[data-page]:not([data-page="storm-grc"]) main *::before, body[data-page]:not([data-page="storm-grc"]) main *::after {
  box-shadow: none !important;
  text-shadow: none !important;
}
body[data-page]:not([data-page="storm-grc"]) main * { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }

/* ---------- Cards: 8px radius, hairline, no hover lift ---------- */
body[data-page]:not([data-page="storm-grc"]) main :is([class$="-card"], [class*="-card "], [class$="-media"], [class*="-media "], [class$="-console"], [class*="-console "], [class$="-pillar"], [class*="-pillar "], [class$="-panel"], [class*="-panel "], [class$="-map"], [class*="-map "], [class$="-step"], [class*="-step "], [class$="-posture"], [class*="-posture "], [class$="-theme"], [class*="-theme "], [class$="-matrix-wrap"], [class*="-matrix-wrap "], [class$="-duel"], [class*="-duel "], [class$="-duel-card"], [class*="-duel-card "], [class$="-window"], [class*="-window "], [class$="-reason"], [class*="-reason "], [class$="-faq-item"], [class*="-faq-item "], [class$="-level"], [class*="-level "], [class$="-requirement"], [class*="-requirement "], [class$="-party"], [class*="-party "], [class$="-workspace"], [class*="-workspace "], [class$="-document"], [class*="-document "], [class$="-model"], [class*="-model "], [class$="-principle"], [class*="-principle "], [class$="-story-media"], [class*="-story-media "], [class$="-feature-media"], [class*="-feature-media "], [class$="-final-media"], [class*="-final-media "], [class$="-support-card"], [class*="-support-card "], [class$="-scope-card"], [class*="-scope-card "], [class$="-link-card"], [class*="-link-card "], [class$="-connect-card"], [class*="-connect-card "], [class$="-profile-card"], [class*="-profile-card "], [class$="-boundary-card"], [class*="-boundary-card "], [class$="-boundary-panel"], [class*="-boundary-panel "], [class$="-story-chip"], [class*="-story-chip "], [class$="-summary-item"], [class*="-summary-item "], [class$="-fact"], [class*="-fact "], [class$="-metric"], [class*="-metric "], [class$="-cell"], [class*="-cell "], [class$="-proof-item"], [class*="-proof-item "], [class$="-feature"], [class*="-feature "], [class$="-node"], [class*="-node "], [class$="-cycle-node"], [class*="-cycle-node "], [class$="-wheel-node"], [class*="-wheel-node "], [class$="-map-layer"], [class*="-map-layer "], [class$="-map-foot"], [class*="-map-foot "], [class$="-corp-panel"], [class*="-corp-panel "], [class$="-corp-window"], [class*="-corp-window "], [class$="-ticket"], [class*="-ticket "], [class$="-finding"], [class*="-finding "]),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.problem-card, .split-card, .reg-card, .faq-item, .timeline-card, .insight-card, .feature-card, .report-card, .award-item, .timeline-step, .rep-step, .reporting-track, .hero-visual > *, .hero-panel) {
  border-radius: 8px !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is([class$="-card"], [class*="-card "], [class$="-media"], [class*="-media "], [class$="-console"], [class*="-console "], [class$="-pillar"], [class*="-pillar "], [class$="-panel"], [class*="-panel "], [class$="-map"], [class*="-map "], [class$="-step"], [class*="-step "], [class$="-posture"], [class*="-posture "], [class$="-theme"], [class*="-theme "], [class$="-matrix-wrap"], [class*="-matrix-wrap "], [class$="-duel"], [class*="-duel "], [class$="-duel-card"], [class*="-duel-card "], [class$="-window"], [class*="-window "], [class$="-reason"], [class*="-reason "], [class$="-faq-item"], [class*="-faq-item "], [class$="-level"], [class*="-level "], [class$="-requirement"], [class*="-requirement "], [class$="-party"], [class*="-party "], [class$="-workspace"], [class*="-workspace "], [class$="-document"], [class*="-document "], [class$="-model"], [class*="-model "], [class$="-principle"], [class*="-principle "], [class$="-story-media"], [class*="-story-media "], [class$="-feature-media"], [class*="-feature-media "], [class$="-final-media"], [class*="-final-media "], [class$="-support-card"], [class*="-support-card "], [class$="-scope-card"], [class*="-scope-card "], [class$="-link-card"], [class*="-link-card "], [class$="-connect-card"], [class*="-connect-card "], [class$="-profile-card"], [class*="-profile-card "], [class$="-boundary-card"], [class*="-boundary-card "], [class$="-boundary-panel"], [class*="-boundary-panel "], [class$="-story-chip"], [class*="-story-chip "], [class$="-summary-item"], [class*="-summary-item "], [class$="-fact"], [class*="-fact "], [class$="-metric"], [class*="-metric "], [class$="-cell"], [class*="-cell "], [class$="-proof-item"], [class*="-proof-item "], [class$="-feature"], [class*="-feature "], [class$="-node"], [class*="-node "], [class$="-cycle-node"], [class*="-cycle-node "], [class$="-wheel-node"], [class*="-wheel-node "], [class$="-map-layer"], [class*="-map-layer "], [class$="-map-foot"], [class*="-map-foot "], [class$="-corp-panel"], [class*="-corp-panel "], [class$="-corp-window"], [class*="-corp-window "], [class$="-ticket"], [class*="-ticket "], [class$="-finding"], [class*="-finding "]):hover,
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.problem-card, .split-card, .reg-card, .faq-item, .timeline-card, .insight-card, .feature-card, .report-card, .award-item, .timeline-step, .rep-step, .reporting-track, .hero-visual > *, .hero-panel):hover { transform: none !important; }
body[data-page]:not([data-page="storm-grc"]) main :is([class$="-card"], [class*="-card "], [class$="-media"], [class*="-media "], [class$="-console"], [class*="-console "], [class$="-pillar"], [class*="-pillar "], [class$="-panel"], [class*="-panel "], [class$="-map"], [class*="-map "], [class$="-step"], [class*="-step "], [class$="-posture"], [class*="-posture "], [class$="-theme"], [class*="-theme "], [class$="-matrix-wrap"], [class*="-matrix-wrap "], [class$="-duel"], [class*="-duel "], [class$="-duel-card"], [class*="-duel-card "], [class$="-window"], [class*="-window "], [class$="-reason"], [class*="-reason "], [class$="-faq-item"], [class*="-faq-item "], [class$="-level"], [class*="-level "], [class$="-requirement"], [class*="-requirement "], [class$="-party"], [class*="-party "], [class$="-workspace"], [class*="-workspace "], [class$="-document"], [class*="-document "], [class$="-model"], [class*="-model "], [class$="-principle"], [class*="-principle "], [class$="-story-media"], [class*="-story-media "], [class$="-feature-media"], [class*="-feature-media "], [class$="-final-media"], [class*="-final-media "], [class$="-support-card"], [class*="-support-card "], [class$="-scope-card"], [class*="-scope-card "], [class$="-link-card"], [class*="-link-card "], [class$="-connect-card"], [class*="-connect-card "], [class$="-profile-card"], [class*="-profile-card "], [class$="-boundary-card"], [class*="-boundary-card "], [class$="-boundary-panel"], [class*="-boundary-panel "], [class$="-story-chip"], [class*="-story-chip "], [class$="-summary-item"], [class*="-summary-item "], [class$="-fact"], [class*="-fact "], [class$="-metric"], [class*="-metric "], [class$="-cell"], [class*="-cell "], [class$="-proof-item"], [class*="-proof-item "], [class$="-feature"], [class*="-feature "], [class$="-node"], [class*="-node "], [class$="-cycle-node"], [class*="-cycle-node "], [class$="-wheel-node"], [class*="-wheel-node "], [class$="-map-layer"], [class*="-map-layer "], [class$="-map-foot"], [class*="-map-foot "], [class$="-corp-panel"], [class*="-corp-panel "], [class$="-corp-window"], [class*="-corp-window "], [class$="-ticket"], [class*="-ticket "], [class$="-finding"], [class*="-finding "]) img { border-radius: 5px !important; }

/* Light-surface cards get the reference hairline */
body[data-page]:not([data-page="storm-grc"]) main :is(:is(.auto-requirement, .cart-requirement, .cip-requirement, .cmp-requirement, .continuity-requirement, .dry-requirement, .energy-requirement, .gdpr-requirement, .intel-requirement, .isms-requirement, .monitor-requirement, .policy-requirement, .risk-requirement, .tprm-requirement, .vuln-requirement), :is(.auto-support-card, .cart-support-card, .cip-support-card, .cmp-support-card, .continuity-support-card, .dry-support-card, .energy-support-card, .gdpr-support-card, .intel-support-card, .isms-support-card, .monitor-support-card, .policy-support-card, .risk-support-card, .tprm-support-card, .vuln-support-card), :is(.auto-faq-item, .cart-faq-item, .cip-faq-item, .cmp-faq-item, .continuity-faq-item, .dry-faq-item, .energy-faq-item, .gdpr-faq-item, .intel-faq-item, .isms-faq-item, .monitor-faq-item, .policy-faq-item, .risk-faq-item, .tprm-faq-item, .vuln-faq-item), :is(.auto-scope-card, .cart-scope-card, .cip-scope-card, .cmp-scope-card, .continuity-scope-card, .dry-scope-card, .energy-scope-card, .gdpr-scope-card, .intel-scope-card, .isms-scope-card, .monitor-scope-card, .policy-scope-card, .risk-scope-card, .tprm-scope-card, .vuln-scope-card),
  :is(.auto-link-card, .cart-link-card, .cip-link-card, .cmp-link-card, .continuity-link-card, .dry-link-card, .energy-link-card, .gdpr-link-card, .intel-link-card, .isms-link-card, .monitor-link-card, .policy-link-card, .risk-link-card, .tprm-link-card, .vuln-link-card), :is(.auto-connect-card, .cart-connect-card, .cip-connect-card, .cmp-connect-card, .continuity-connect-card, .dry-connect-card, .energy-connect-card, .gdpr-connect-card, .intel-connect-card, .isms-connect-card, .monitor-connect-card, .policy-connect-card, .risk-connect-card, .tprm-connect-card, .vuln-connect-card), :is(.auto-profile-card, .cart-profile-card, .cip-profile-card, .cmp-profile-card, .continuity-profile-card, .dry-profile-card, .energy-profile-card, .gdpr-profile-card, .intel-profile-card, .isms-profile-card, .monitor-profile-card, .policy-profile-card, .risk-profile-card, .tprm-profile-card, .vuln-profile-card), :is(.auto-boundary-card, .cart-boundary-card, .cip-boundary-card, .cmp-boundary-card, .continuity-boundary-card, .dry-boundary-card, .energy-boundary-card, .gdpr-boundary-card, .intel-boundary-card, .isms-boundary-card, .monitor-boundary-card, .policy-boundary-card, .risk-boundary-card, .tprm-boundary-card, .vuln-boundary-card), :is(.auto-reason, .cart-reason, .cip-reason, .cmp-reason, .continuity-reason, .dry-reason, .energy-reason, .gdpr-reason, .intel-reason, .isms-reason, .monitor-reason, .policy-reason, .risk-reason, .tprm-reason, .vuln-reason),
  :is(.auto-pillar, .cart-pillar, .cip-pillar, .cmp-pillar, .continuity-pillar, .dry-pillar, .energy-pillar, .gdpr-pillar, .intel-pillar, .isms-pillar, .monitor-pillar, .policy-pillar, .risk-pillar, .tprm-pillar, .vuln-pillar), :is(.auto-principle, .cart-principle, .cip-principle, .cmp-principle, .continuity-principle, .dry-principle, .energy-principle, .gdpr-principle, .intel-principle, .isms-principle, .monitor-principle, .policy-principle, .risk-principle, .tprm-principle, .vuln-principle), :is(.auto-step, .cart-step, .cip-step, .cmp-step, .continuity-step, .dry-step, .energy-step, .gdpr-step, .intel-step, .isms-step, .monitor-step, .policy-step, .risk-step, .tprm-step, .vuln-step), :is(.auto-level, .cart-level, .cip-level, .cmp-level, .continuity-level, .dry-level, .energy-level, .gdpr-level, .intel-level, .isms-level, .monitor-level, .policy-level, .risk-level, .tprm-level, .vuln-level), :is(.auto-party, .cart-party, .cip-party, .cmp-party, .continuity-party, .dry-party, .energy-party, .gdpr-party, .intel-party, .isms-party, .monitor-party, .policy-party, .risk-party, .tprm-party, .vuln-party)),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .section:not(.reporting):not(.nis2-timeline):not(.saas-timeline):not(.dora-timeline):not(.timeline) :is(.problem-card, .reg-card, .faq-item, .timeline-card, .insight-card, .feature-card, .report-card, .split-card:not(.fleet)) {
  border-color: var(--m-line) !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is(:is(.auto-requirement, .cart-requirement, .cip-requirement, .cmp-requirement, .continuity-requirement, .dry-requirement, .energy-requirement, .gdpr-requirement, .intel-requirement, .isms-requirement, .monitor-requirement, .policy-requirement, .risk-requirement, .tprm-requirement, .vuln-requirement), :is(.auto-support-card, .cart-support-card, .cip-support-card, .cmp-support-card, .continuity-support-card, .dry-support-card, .energy-support-card, .gdpr-support-card, .intel-support-card, .isms-support-card, .monitor-support-card, .policy-support-card, .risk-support-card, .tprm-support-card, .vuln-support-card), :is(.auto-scope-card, .cart-scope-card, .cip-scope-card, .cmp-scope-card, .continuity-scope-card, .dry-scope-card, .energy-scope-card, .gdpr-scope-card, .intel-scope-card, .isms-scope-card, .monitor-scope-card, .policy-scope-card, .risk-scope-card, .tprm-scope-card, .vuln-scope-card), :is(.auto-link-card, .cart-link-card, .cip-link-card, .cmp-link-card, .continuity-link-card, .dry-link-card, .energy-link-card, .gdpr-link-card, .intel-link-card, .isms-link-card, .monitor-link-card, .policy-link-card, .risk-link-card, .tprm-link-card, .vuln-link-card), :is(.auto-reason, .cart-reason, .cip-reason, .cmp-reason, .continuity-reason, .dry-reason, .energy-reason, .gdpr-reason, .intel-reason, .isms-reason, .monitor-reason, .policy-reason, .risk-reason, .tprm-reason, .vuln-reason), :is(.auto-pillar, .cart-pillar, .cip-pillar, .cmp-pillar, .continuity-pillar, .dry-pillar, .energy-pillar, .gdpr-pillar, .intel-pillar, .isms-pillar, .monitor-pillar, .policy-pillar, .risk-pillar, .tprm-pillar, .vuln-pillar)):hover {
  border-color: var(--m-black) !important;
}

/* Screenshot frames: plain surface, no gradient bezel or accent bar */
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-story-media, .cart-story-media, .cip-story-media, .cmp-story-media, .continuity-story-media, .dry-story-media, .energy-story-media, .gdpr-story-media, .intel-story-media, .isms-story-media, .monitor-story-media, .policy-story-media, .risk-story-media, .tprm-story-media, .vuln-story-media, [class$="-feature-media"], [class$="-final-media"], [class$="-media"]) {
  background: var(--m-surface) !important;
  background-image: none !important;
  border: 1px solid var(--m-line) !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-story-media, .cart-story-media, .cip-story-media, .cmp-story-media, .continuity-story-media, .dry-story-media, .energy-story-media, .gdpr-story-media, .intel-story-media, .isms-story-media, .monitor-story-media, .policy-story-media, .risk-story-media, .tprm-story-media, .vuln-story-media, [class$="-media"])::after,
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-support-index, .cart-support-index, .cip-support-index, .cmp-support-index, .continuity-support-index, .dry-support-index, .energy-support-index, .gdpr-support-index, .intel-support-index, .isms-support-index, .monitor-support-index, .policy-support-index, .risk-support-index, .tprm-support-index, .vuln-support-index)::after { display: none !important; }

/* Pills and tags: small, square-ish */
body[data-page]:not([data-page="storm-grc"]) main :is([class$="-chip"], [class*="-chip "], [class$="-tag"], [class*="-tag "], [class$="-badge"], [class*="-badge "], [class$="-status"], [class*="-status "], [class$="-code"], [class*="-code "]),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.hero-reg, .tag, .chip, .badge, .pill) {
  border-radius: 4px !important;
}

/* Check bullets: flat blue tick, no filled circle */
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-checks, .cart-checks, .cip-checks, .cmp-checks, .continuity-checks, .dry-checks, .energy-checks, .gdpr-checks, .intel-checks, .isms-checks, .monitor-checks, .policy-checks, .risk-checks, .tprm-checks, .vuln-checks) li::before {
  background: none !important;
  color: var(--m-blue) !important;
  font-size: 14px !important;
}

/* ---------- Buttons ---------- */
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-btn, .cart-btn, .cip-btn, .cmp-btn, .continuity-btn, .dry-btn, .energy-btn, .gdpr-btn, .intel-btn, .isms-btn, .monitor-btn, .policy-btn, .risk-btn, .tprm-btn, .vuln-btn),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.btn, .btn-primary, .btn-cta, .btn-outline, .btn-secondary) {
  min-height: 0 !important;
  padding: 16px 26px !important;
  border-radius: 5px !important;
  font-family: var(--m-ui) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  transform: none !important;
  filter: none !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-btn--primary, .cart-btn--primary, .cip-btn--primary, .cmp-btn--primary, .continuity-btn--primary, .dry-btn--primary, .energy-btn--primary, .gdpr-btn--primary, .intel-btn--primary, .isms-btn--primary, .monitor-btn--primary, .policy-btn--primary, .risk-btn--primary, .tprm-btn--primary, .vuln-btn--primary),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.btn-primary, .btn-cta, .btn:not(.btn-outline):not(.btn-secondary)) {
  background: var(--m-blue) !important;
  background-image: none !important;
  border: 1px solid var(--m-blue) !important;
  color: #fff !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-btn--primary, .cart-btn--primary, .cip-btn--primary, .cmp-btn--primary, .continuity-btn--primary, .dry-btn--primary, .energy-btn--primary, .gdpr-btn--primary, .intel-btn--primary, .isms-btn--primary, .monitor-btn--primary, .policy-btn--primary, .risk-btn--primary, .tprm-btn--primary, .vuln-btn--primary):hover,
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.btn-primary, .btn-cta, .btn:not(.btn-outline):not(.btn-secondary)):hover {
  background: var(--m-black) !important;
  border-color: var(--m-black) !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-btn--secondary, .cart-btn--secondary, .cip-btn--secondary, .cmp-btn--secondary, .continuity-btn--secondary, .dry-btn--secondary, .energy-btn--secondary, .gdpr-btn--secondary, .intel-btn--secondary, .isms-btn--secondary, .monitor-btn--secondary, .policy-btn--secondary, .risk-btn--secondary, .tprm-btn--secondary, .vuln-btn--secondary),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.btn-outline, .btn-secondary) {
  background: #fff !important;
  background-image: none !important;
  border: 1px solid var(--m-line) !important;
  color: var(--m-black) !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-btn--secondary, .cart-btn--secondary, .cip-btn--secondary, .cmp-btn--secondary, .continuity-btn--secondary, .dry-btn--secondary, .energy-btn--secondary, .gdpr-btn--secondary, .intel-btn--secondary, .isms-btn--secondary, .monitor-btn--secondary, .policy-btn--secondary, .risk-btn--secondary, .tprm-btn--secondary, .vuln-btn--secondary):hover,
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.btn-outline, .btn-secondary):hover { border-color: var(--m-black) !important; }
/* Ghost buttons sit on the dark hero */
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-btn--ghost, .cart-btn--ghost, .cip-btn--ghost, .cmp-btn--ghost, .continuity-btn--ghost, .dry-btn--ghost, .energy-btn--ghost, .gdpr-btn--ghost, .intel-btn--ghost, .isms-btn--ghost, .monitor-btn--ghost, .policy-btn--ghost, .risk-btn--ghost, .tprm-btn--ghost, .vuln-btn--ghost) {
  background: transparent !important;
  background-image: none !important;
  border: 1px solid rgba(255,255,255,.4) !important;
  color: #fff !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-btn--ghost, .cart-btn--ghost, .cip-btn--ghost, .cmp-btn--ghost, .continuity-btn--ghost, .dry-btn--ghost, .energy-btn--ghost, .gdpr-btn--ghost, .intel-btn--ghost, .isms-btn--ghost, .monitor-btn--ghost, .policy-btn--ghost, .risk-btn--ghost, .tprm-btn--ghost, .vuln-btn--ghost):hover { border-color: #fff !important; }
/* On the blue closing band, invert the primary button */
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-final, .cart-final, .cip-final, .cmp-final, .continuity-final, .dry-final, .energy-final, .gdpr-final, .intel-final, .isms-final, .monitor-final, .policy-final, .risk-final, .tprm-final, .vuln-final) :is(.auto-btn--primary, .cart-btn--primary, .cip-btn--primary, .cmp-btn--primary, .continuity-btn--primary, .dry-btn--primary, .energy-btn--primary, .gdpr-btn--primary, .intel-btn--primary, .isms-btn--primary, .monitor-btn--primary, .policy-btn--primary, .risk-btn--primary, .tprm-btn--primary, .vuln-btn--primary),
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .final-cta :is(.btn-primary, .btn-cta, .btn:not(.btn-outline):not(.btn-secondary)) {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--m-black) !important;
}
body[data-page]:not([data-page="storm-grc"]) main :is(.auto-final, .cart-final, .cip-final, .cmp-final, .continuity-final, .dry-final, .energy-final, .gdpr-final, .intel-final, .isms-final, .monitor-final, .policy-final, .risk-final, .tprm-final, .vuln-final) :is(.auto-btn--primary, .cart-btn--primary, .cip-btn--primary, .cmp-btn--primary, .continuity-btn--primary, .dry-btn--primary, .energy-btn--primary, .gdpr-btn--primary, .intel-btn--primary, .isms-btn--primary, .monitor-btn--primary, .policy-btn--primary, .risk-btn--primary, .tprm-btn--primary, .vuln-btn--primary):hover,
body[data-page]:not([data-page="storm-grc"]) :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .final-cta :is(.btn-primary, .btn-cta, .btn:not(.btn-outline):not(.btn-secondary)):hover {
  background: var(--m-black) !important;
  border-color: var(--m-black) !important;
  color: #fff !important;
}

/* ---------- NIS 2 / SOC 2 / DORA / Maritime specifics ---------- */
/* Their contrast pass sets light-section eyebrows blue with a long :not() chain; match and outrank it */
html body[data-page] :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .section:not(.reporting):not(.nis2-timeline):not(.saas-timeline):not(.dora-timeline):not(.timeline) .eyebrow,
html body[data-page] :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.awards-strip, .reporting, .nis2-timeline, .saas-timeline, .dora-timeline, .timeline, .hero) .eyebrow { color: var(--m-orange) !important; }
html body[data-page] :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .final-cta .eyebrow { color: #fff !important; }
html body[data-page] :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .eyebrow::before,
html body[data-page] :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .eyebrow::after { display: none !important; }

body[data-page] :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.reporting, .nis2-timeline, .saas-timeline, .dora-timeline, .timeline)::before,
body[data-page] :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.reporting, .nis2-timeline, .saas-timeline, .dora-timeline, .timeline)::after { display: none !important; }

body[data-page] :is(.nis2-page, .saas-page, .dora-page, .maritime-page) :is(.awards-head, .awards-head *, .award-text span) {
  font-family: var(--m-ui) !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}
body[data-page] :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .awards-head strong { font-family: var(--m-head) !important; }

body[data-page] :is(.nis2-page, .saas-page, .dora-page, .maritime-page) .hero h1 { font-size: clamp(36px, 4vw, 54px) !important; }

/* ---------- Cartography (own "corp" layout, light hero) ---------- */
body[data-page="cartography"] main :is(.cart-hero .cart-kicker, .cart-corp-heading > span, .cart-corp-label:not(.cart-corp-label--light), .cart-corp-connection-copy .cart-corp-label--light, .cart-corp-faq-intro .cart-corp-label--light) {
  color: var(--m-orange) !important;
  font-family: var(--m-ui) !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}
body[data-page="cartography"] main .cart-hero h1 { color: var(--m-black) !important; }
body[data-page="cartography"] main .cart-corp-showcase { background: var(--m-slate) !important; }
body[data-page="cartography"] main .cart-btn { border-radius: 5px !important; font-family: var(--m-ui) !important; font-weight: 500 !important; }
