/* ==========================================================================
   SSRP Solutions (Divi) — design-token bridge
   --------------------------------------------------------------------------
   PHASE-1 SEED: the :root palette is carried over verbatim from the previous
   theme (ssrp-app.css) so the WooCommerce skin (ssrp-shop.css), the webinars
   plugin CSS (var(--canvas), var(--b600), var(--ink*), var(--sans)) and the
   intake portal keep rendering identically under Divi.
   Once the Figma tokens are seeded into the Divi Variable Library
   (divi_tokens_seed → --gcid-* / --gvid-*), alias these to the library refs
   instead of literal values, e.g.  --b600: var(--gcid-brand-600);
   ========================================================================== */
/* ==== AUTO-GENERATED from tokens.json (Divi Variable Library mirror) — keep in sync with divi_tokens_seed ==== */
:root{
  --gcid-canvas: #05111c;
  --gcid-panel: #081a33;
  --gcid-panel-deep: #0b1a28;
  --gcid-blue-3: #1995e2;
  --gcid-blue-5: #116cc9;
  --gcid-sky: #55bfea;
  --gcid-cyan: #00a6df;
  --gcid-teal-300: #1eebcd;
  --gcid-teal-400: #21e4c7;
  --gcid-white: #ffffff;
  --gcid-gray-50: #f8fafc;
  --gcid-gray-100: #e7ebf0;
  --gcid-gray-200: #e5e7eb;
  --gcid-gray-300: #d1d5db;
  --gcid-gray-400: #9ca3af;
  --gcid-gray-500: #6b7280;
  --gcid-gray-600: #4b5563;
  --gcid-zinc-500: #71717a;
  --gcid-ink: #030712;
  --gcid-line: rgba(255,255,255,0.16);
  --gcid-line-blue: rgba(18,129,221,0.5);
  --gcid-line-teal: rgba(85,243,220,0.5);
  --gcid-glass: rgba(255,255,255,0.02);
  --gcid-glass-input: rgba(255,255,255,0.04);
  --gcid-glass-avatar: rgba(255,255,255,0.10);
  --gcid-glass-navy: rgba(8,26,51,0.36);
  --gcid-tint-navy: rgba(8,26,51,0.28);
  --gcid-overlay-40: rgba(0,0,0,0.40);
  --gcid-overlay-60: rgba(0,0,0,0.60);
  --gcid-overlay-80: rgba(0,0,0,0.80);
  --gcid-white-70: rgba(255,255,255,0.7);
  --gcid-glow-blue: rgba(0,181,255,0.7);
  --gcid-transparent: rgba(0,0,0,0);
  --gcid-hero-shade-top: rgba(3,7,18,0.62);
  --gcid-hero-shade-clear: rgba(3,7,18,0);
  --gcid-hero-shade-deep: rgba(3,7,18,0.88);
  --gcid-nav-glass: rgba(0,0,0,0.80);
  --gcid-line-15: rgba(255,255,255,0.15);
  --gcid-indigo: #3e6be6;
  --gcid-violet: #7b4fe0;
  --gcid-nav-black: #000000;
  --gcid-gray-700: #374151;
  --gcid-sky-600: #2aace2;
  --gcid-sky-tint: rgba(42,172,226,0.16);
  --gvid-number-space-none: 0px;
  --gvid-number-space-2xs: 4px;
  --gvid-number-space-xs: 8px;
  --gvid-number-space-sm: 12px;
  --gvid-number-space-md: 16px;
  --gvid-number-space-lg: 20px;
  --gvid-number-space-xl: 24px;
  --gvid-number-space-2xl: 32px;
  --gvid-number-space-3xl: 40px;
  --gvid-number-space-4xl: 48px;
  --gvid-number-space-5xl: 64px;
  --gvid-number-space-section-y: 96px;
  --gvid-number-space-page-x: 80px;
  --gvid-number-space-site-inset: 24px;
  --gvid-number-radius-sm: 8px;
  --gvid-number-radius-md: 16px;
  --gvid-number-radius-lg: 20px;
  --gvid-number-radius-xl: 24px;
  --gvid-number-radius-2xl: 30px;
  --gvid-number-radius-pill: 9999px;
  --gvid-number-content-max-width: 1280px;
  --gvid-number-inner-max-width: 1600px;
  --gvid-number-site-max-width: 1888px;
  --gvid-number-hero-height: 810px;
  --gvid-number-text-2xs: 12px;
  --gvid-number-text-xs: 14px;
  --gvid-number-text-sm: 15px;
  --gvid-number-text-base: 16px;
  --gvid-number-text-md: 17px;
  --gvid-number-text-lg: 18px;
  --gvid-number-text-xl: 19px;
  --gvid-number-text-2xl: 20px;
  --gvid-number-text-3xl: 24px;
  --gvid-number-text-h3: 29px;
  --gvid-number-text-h4: 36px;
  --gvid-number-text-h2-sm: 46px;
  --gvid-number-text-h2: 48px;
  --gvid-number-text-h2-lg: 56px;
  --gvid-number-text-h1: 57px;
  --gvid-number-text-display: 78px;
  --gvid-number-lh-none: 1;
  --gvid-number-lh-tight: 1.1;
  --gvid-number-lh-snug: 1.15;
  --gvid-number-lh-heading: 1.2;
  --gvid-number-lh-relaxed: 1.3;
  --gvid-number-lh-normal: 1.4;
  --gvid-number-lh-body: 1.5;
  --gvid-number-lh-loose: 1.55;
  --gvid-number-ls-display: -2px;
  --gvid-number-ls-heading: -0.46px;
  --gvid-number-ls-button: 0.32px;
  --gvid-number-ls-eyebrow: 0.64px;
  --gvid-number-ls-label: 0.56px;
  --gvid-number-control-height: 48px;
  --gvid-number-input-height: 52px;
  --gvid-number-icon-sm: 12px;
  --gvid-number-icon-md: 24px;
  --gvid-number-avatar-sm: 40px;
  --gvid-number-border-width: 1px;
  --gvid-number-lh-compact: 0.92;
  --gvid-number-glow-y: 4px;
  --gvid-number-glow-blur: 10.5px;
  --gvid-number-glow-blur-lg: 21px;
  --gvid-number-icon-feature: 18px;
  --gvid-number-radius-xs: 9px;
  --gvid-number-avatar-md: 44px;
  --gvid-number-card-height: 476px;
  --gvid-number-card-width: 340px;
  --gvid-number-testimonial-height: 680px;
  --gvid-number-overlay-card-width: 148px;
  --gvid-number-media-width: 456px;
  --gvid-number-media-height: 365px;
  --gvid-number-aside-width: 189px;
  --gvid-number-logo-width: 153px;
  --gvid-number-nav-logo-width: 128px;
  --gvid-number-nav-height: 64px;
  --gvid-number-text-col-width: 720px;
  --gvid-number-hero-text-width: 480px;
  --gvid-number-contact-width: 800px;
  --gvid-number-space-3xs: 2px;
  --gvid-number-space-nav-top: 4px;
  --gvid-number-blur-glass: 27px;
  --gvid-number-blur-nav: 34px;
  --gvid-number-text-4xl: 78px;
  --gvid-number-hex-strip-width: 83px;
  --gvid-number-text-partner: 28px;
  --gvid-number-background-max-width: 2160px;
  --gvid-number-nav-pill-pad-y: 8px;
  --gvid-number-nav-pill-pad-x: 32px;
  --gvid-number-nav-link-pad-y: 16px;
  --gvid-number-nav-link-pad-x: 20px;
  --gvid-number-nav-logo-height: 49px;
  --gvid-number-ls-nav: 0.32px;
  --gvid-number-blur-nav-pill: 36px;
  --gvid-number-space-nav-top-scrolled: 12px;
}
/* ==== /AUTO-GENERATED ==== */

/* Legacy aliases — the webinars/intake plugins and the ported shop CSS read
   these names; they now resolve to the Divi Variable Library palette. */
:root{
  --canvas: var(--gcid-canvas); --panel: var(--gcid-panel); --panel2: var(--gcid-panel-deep);
  --line: var(--gcid-line); --line2: var(--gcid-line);
  --ink: var(--gcid-white); --ink2: var(--gcid-gray-300); --ink3: var(--gcid-gray-400);
  --b200:#9BD6FA; --b300:#63BEF1; --b400:#2EA6E6; --b500: var(--gcid-blue-3); --b600: var(--gcid-blue-5); --b700: var(--gcid-blue-5);  /* b600 = button fill; blue-5 passes 4.5:1 with white */
  --t300: var(--gcid-teal-300); --t400: var(--gcid-teal-400); --t500:#14A98A; --t600:#138571;
  --o300:#FF8A57; --o400:#FF6A2B; --o500:#ED5316;
  --g50:#F4F6F9; --g100:#E3E8F0; --g200:#C6CEDD; --g300:#9BA6B9; --g400:#6E7A8F; --g500:#495468; --g600:#353E50; --g700:#262E3D; --g800:#161D2B; --g900:#0A0F1A;
  --grad: linear-gradient(118deg,#1A8FD6 0%,#3E6BE6 52%,#7B4FE0 100%);
  --grad-soft: linear-gradient(118deg,rgba(26,143,214,.20),rgba(123,79,224,.20));
  --sans: "Barlow", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mono: "SFMono-Regular", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;
  --maxw: var(--gvid-number-content-max-width);
  --radius: var(--gvid-number-radius-lg);
}

/* Body baseline — always-dark site */
html, body { background: var(--canvas); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
::selection { background: rgba(62,107,230,.4); color: #fff; }

/* Shared atoms the shop templates reuse (ported from ssrp-app.css) */
.dotgrid::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background-image:radial-gradient(circle at center,rgba(255,255,255,.4) .8px,transparent .8px);
  background-size:44px 44px;opacity:.04;
}
.imgph{position:relative;overflow:hidden;border-radius:var(--radius);
  background:
    linear-gradient(180deg,transparent 28%,rgba(8,12,21,.82)),
    repeating-linear-gradient(135deg,#141d30 0 14px,#11192a 14px 28px);
  border:1px solid var(--line);display:flex;align-items:flex-end;padding:22px}
.imgph .tagm{font-family:var(--mono);font-size:12px;color:var(--ink2);position:relative;z-index:2;
  border:1px solid var(--line2);padding:6px 12px;border-radius:999px;background:rgba(8,12,21,.5)}
.imgph>.ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;border-radius:inherit}
.imgph:has(.ph-img)::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,12,21,.03) 0%,rgba(8,12,21,.05) 55%,rgba(8,12,21,.36) 100%)}

.badge-soft{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink2);
  border:1px solid var(--line2);border-radius:999px;padding:7px 14px}
.badge-soft .dot{width:7px;height:7px;border-radius:50%;background:var(--t400);box-shadow:0 0 12px var(--t400)}
.badge-soft.coming .dot{background:var(--o400);box-shadow:0 0 12px var(--o400)}

/* ==========================================================================
   Divi 5 "white box" fix (DiviMCP Pattern 0). Divi paints near-white
   backgrounds on text wrappers/bare text elements in light-toned sections;
   this site is always-dark, so neutralise both mechanisms globally.
   ========================================================================== */
.et_pb_module p,
.et_pb_module span:not(.et_pb_button):not(.gfield_required):not(.material-symbols-outlined),
.et_pb_module li,
.et_pb_module strong,
[class*="divimcp_"] p,
[class*="divimcp_"] span:not(.et_pb_button):not(.material-symbols-outlined):not([class*="_bg"]),
[class*="divimcp_"] li,
[class*="divimcp_"] strong { background-color: transparent !important; }

.et_pb_module.et_pb_text,
.et_pb_module.et_pb_text .et_pb_text_inner,
.et_pb_module.et_pb_heading,
.et_pb_module.et_pb_heading .et_pb_heading_container,
.et_pb_module.et_pb_menu,
.et_pb_module.et_pb_menu .et_pb_menu_inner_container,
.et_pb_module.et_pb_menu .et_pb_menu__wrap,
.et_pb_module.et_pb_menu .et_pb_menu__menu,
.et_pb_module.et_pb_blurb,
.et_pb_module.et_pb_image,
.et_pb_module.et_pb_button_module_wrapper { background-color: transparent !important; }
.et_pb_text.et_pb_bg_layout_light,
.et_pb_heading.et_pb_bg_layout_light,
.et_pb_menu.et_pb_bg_layout_light,
.et_pb_blurb.et_pb_bg_layout_light,
.et_pb_image.et_pb_bg_layout_light { background-color: transparent !important; }

/* Divi's #main-content defaults to white — this site is dark everywhere. */
#main-content, #page-container, .et_pb_section:not([class*="et_pb_with_background"]) { background-color: var(--canvas); }
