/*
 * Design tokens - the only file allowed to contain raw hex or px values; the
 * raw-value gate enforces that everywhere else. Every other file uses var().
 *
 * Layers (website 2.5 design system sync, October 22, 2026):
 * 1. SGP Design System tokens (--sgp-*), copied verbatim from the primary
 *    library, SGP-Design/design-system tokens/tokens.css. Colour, type,
 *    radius, focus, state layers, elevation and motion come from here.
 * 2. Website aliases (--color-*) onto that palette, kept because content
 *    files and inc/blocks.php build them by name.
 * 3. Step-1 geometry read from the live Elementor site (spacing, sizes,
 *    layout, glass alphas). Section spacing and composition move to the
 *    system in 3.0; until then these stay as captured.
 * Do not hand-edit to make a check pass.
 */

@font-face {
	font-family: "Manrope";
	src: url("../fonts/manrope-latin.woff2") format("woff2");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Manrope";
	src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* UI icons (SGP iconography): Material Symbols Outlined, subset to the
   glyphs sgp_material_icons() uses by tools/icons/subset-material-symbols.py.
   Weight 400 and grade 0 are pinned; FILL and optical size stay variable. */
@font-face {
	font-family: "Material Symbols Outlined";
	src: url("../fonts/material-symbols-outlined-ui-3.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: block;
}

/* ---------------------------------------------------------------------
 * SGP Design System tokens - copied verbatim from the primary library.
 * Source: SGP-Design/design-system tokens/tokens.css @ 0ed224d (2026-10-22).
 * Specs: that repo's system/foundations/. Do not edit here; re-copy from
 * the library when it changes. Components consume the semantic roles.
 * --------------------------------------------------------------------- */
:root {
  /* ---------- Color: brand palette ---------- */
  --sgp-brand-oxford-blue: #0d152d;
  --sgp-brand-royal-blue: #336bf7;
  --sgp-brand-amaranth: #e71e4b;
  --sgp-brand-pink: #ed1e79;
  --sgp-brand-cyan: #29abe2;
  --sgp-brand-purple: #662d91;
  --sgp-brand-orange: #f15a24;
  --sgp-brand-success: #77c359;
  --sgp-brand-warning: #fe9000;
  --sgp-brand-critical: #c1272d;
  --sgp-brand-info: #29abe2;
  --sgp-brand-white: #ffffff;
  --sgp-brand-light-gray: #dddee1;
  --sgp-brand-off-white: #f2f2f2;
  --sgp-brand-elevation-dark-1: #252c42;
  --sgp-brand-elevation-dark-2: #31384d;

  /* ---------- Color: semantic roles ---------- */
  --sgp-color-ink: var(--sgp-brand-oxford-blue);
  --sgp-color-ink-secondary: rgba(13, 21, 45, 0.62);
  --sgp-color-ink-placeholder: rgba(13, 21, 45, 0.45);
  --sgp-color-on-color: var(--sgp-brand-white);
  --sgp-color-on-dark-secondary: rgba(255, 255, 255, 0.62);
  --sgp-color-interactive: var(--sgp-brand-royal-blue);
  --sgp-color-ask: var(--sgp-brand-amaranth);
  --sgp-color-critical: var(--sgp-brand-critical);
  --sgp-color-success: var(--sgp-brand-success);
  --sgp-color-warning: var(--sgp-brand-warning);
  --sgp-color-info: var(--sgp-brand-info);
  --sgp-color-surface: var(--sgp-brand-white);
  --sgp-color-surface-dark: var(--sgp-brand-oxford-blue);
  --sgp-color-work-surface: var(--sgp-brand-off-white);
  --sgp-color-divider: var(--sgp-brand-light-gray);
  --sgp-color-tonal-action: var(--sgp-brand-light-gray);
  --sgp-color-outline: rgba(13, 21, 45, 0.45);
  --sgp-color-outline-variant: rgba(13, 21, 45, 0.15);
  --sgp-color-disabled-container: rgba(13, 21, 45, 0.12);
  --sgp-color-disabled-content: rgba(13, 21, 45, 0.38);
  --sgp-color-scrim: rgba(13, 21, 45, 0.32);

  /* Placeholder media: scaffolding, not a color role */
  --sgp-media-placeholder: #d9d9d9;

  /* ---------- Interaction: Material state layers, SGP color ---------- */
  --sgp-state-layer: var(--sgp-brand-oxford-blue);
  --sgp-state-layer-on-dark: var(--sgp-brand-white);
  --sgp-state-hover: 0.08;
  --sgp-state-focus: 0.1;
  --sgp-state-pressed: 0.1;
  --sgp-disabled-opacity: 0.38;

  /* Underline treatment (Tertiary hover, inline link) */
  --sgp-underline-offset: 4px;
  --sgp-underline-hover: 2px;
  --sgp-underline-rest: 1px;

  /* Focus: 2px interactive ring, 2px offset */
  --sgp-focus-ring-width: 2px;
  --sgp-focus-ring-offset: 2px;
  --sgp-focus-ring-color: var(--sgp-color-interactive);

  /* ---------- Typography: one master scale ---------- */
  --sgp-font: 'Manrope Variable', 'Manrope', system-ui, sans-serif;
  --sgp-text-80: 80px/99px;
  --sgp-text-45: 45px/52px;
  --sgp-text-36: 36px/44px;
  --sgp-text-28: 28px/36px;
  --sgp-text-24: 24px/32px;
  --sgp-text-22: 22px/28px;
  --sgp-text-20: 20px/28px;
  --sgp-text-16: 16px/24px;
  --sgp-text-14: 14px/20px;
  --sgp-text-12: 12px/16px;
  --sgp-text-10: 10px/14px;
  --sgp-weight-light: 300;
  --sgp-weight-regular: 400;
  --sgp-weight-medium: 500;
  --sgp-weight-semibold: 600;
  --sgp-weight-bold: 700;
  --sgp-tracking-caps: 0.1em;
  --sgp-tracking-display: -0.25px;

  /* ---------- Space ---------- */
  --sgp-space-4: 4px;
  --sgp-space-8: 8px;
  --sgp-space-12: 12px;
  --sgp-space-16: 16px;
  --sgp-space-24: 24px;
  --sgp-space-32: 32px;
  --sgp-space-48: 48px;
  --sgp-space-64: 64px;
  --sgp-space-80: 80px;
  --sgp-space-96: 96px;
  --sgp-space-144: 144px;
  --sgp-space-160: 160px;

  /* ---------- Radius ---------- */
  --sgp-radius-control: 8px;
  --sgp-radius-selector: 16px;
  --sgp-radius-object: 24px;
  --sgp-radius-dialog: 28px;
  --sgp-radius-section: 32px;
  --sgp-radius-full: 999px;

  /* ---------- Containment ---------- */
  --sgp-closed-padding: var(--sgp-space-64);
  --sgp-impact-padding: var(--sgp-space-96);

  /* ---------- Targets and density ---------- */
  --sgp-control-height: 56px;
  --sgp-target-min: 48px;
  --sgp-control-compact: 40px;
  --sgp-row-height: 80px;
  --sgp-row-header: 44px;
  --sgp-measure: 640px;

  /* ---------- Elevation: transient Material surfaces only ---------- */
  --sgp-elevation-transient: 0 8px 12px 0 rgba(13, 21, 45, 0.16);

  /* ---------- Motion ---------- */
  --sgp-ease: cubic-bezier(0.2, 0, 0, 1);
  --sgp-dur-short: 150ms;
  --sgp-dur-medium: 250ms;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --sgp-dur-short: 0ms;
    --sgp-dur-medium: 0ms;
  }
}

/* Website aliases onto the library. The legacy colour names stay because
 * content files and inc/blocks.php build them by name (bg-*, borders); every
 * value now comes from the library palette above. */
:root {
	--color-blue: var(--sgp-brand-royal-blue);
	--color-navy: var(--sgp-brand-oxford-blue);
	--color-navy-raised: var(--sgp-brand-elevation-dark-1);
	--color-slate: var(--sgp-brand-elevation-dark-2);
	--color-red: var(--sgp-brand-amaranth);
	--color-white: var(--sgp-brand-white);
	--color-grey: var(--sgp-brand-off-white);          /* was #f1f1f2 */
	--color-grey-mid: var(--sgp-brand-light-gray);     /* was #e9e9e9 */
	--color-grey-soft: var(--sgp-brand-off-white);     /* was #f5f5f5 */
	--color-nav-btn: var(--sgp-brand-elevation-dark-1); /* was #282f44 */
}

/* Library component geometry the website consumes. Not SGP token families:
 * Material's default glyph size (iconography.md) and the .sgp-dialog width
 * from the library's styles/components.css. */
:root {
	--material-icon: 24px;
	--dialog-width: 560px;
}

:root {
	/* Colour - website-only values with no library role (glass, scrims on imagery) */
	--color-white-11: #ffffff1c;    /* glass card on navy */
	--color-white-33: #ffffff54;    /* dividers on dark */
	--color-navy-21: #0d152d36;     /* glass card on imagery */
	--color-navy-48: #0d152d7a;     /* accessible text scrim on M&A imagery */
	--glass-blur: 24px;             /* Glass panel frost (as the CPOT glass panel) */

	/* Entrance motion: the SGP waterfall reveal (as CPOT's --cpot-reveal-*) */
	--reveal-duration: 360ms;
	--reveal-step: 50ms;            /* between items in one section */
	--reveal-max-wait: 400ms;       /* longest any item waits its turn */
	--reveal-line: 0.95;            /* reveals once its top passes 95% of the viewport */
	--color-transparent: #00000000;
	--color-black: #000000;

	/* Type: steps, weights and tracking are the library's --sgp-text-*, --sgp-weight-*
	   and --sgp-tracking-*. Unitless 1 for icon boxes. */
	--lh-1: 1;

	/* Spacing */
	--space-3: 3px;
	--space-5: 5px;
	--space-6: 6px;
	--space-7: 7px;
	--space-8: var(--sgp-space-8);
	--space-10: 10px;
	--space-12: var(--sgp-space-12);
	--space-14: 14px;
	--space-15: 15px;
	--space-16: var(--sgp-space-16);
	--space-18: 18px;
	--space-20: 20px;
	--space-22: 22px;
	--space-25: 25px;
	--space-30: 30px;
	--space-35: 35px;
	--space-40: 40px;
	--space-50: 50px;
	--space-48: var(--sgp-space-48);
	--space-64: var(--sgp-space-64);
	--space-72: 72px;
	--space-75: 75px;
	--space-96: var(--sgp-space-96);
	--space-100: 100px;
	--space-200: 200px;

	/* Radius */

	/* Borders */
	--border-1: 1px;
	--border-2: 2px;

	/* Layout */
	--content-max: 1400px;      /* Master page width: every page's content column */
	--ma-heading-measure: 75%;  /* Section heading + supporting copy */
	--gutter: 20px;             /* Master page gutter, every width */
	--header-h: 91px;
	--header-h-mobile: 81px;
	--logo-w: 225px;
	--logo-w-mobile: 215px;
	--menu-w: 952px;
	--hero-home-min: 90vh;
	--panel-min: 500px;
	--measure-672: 672px;
	--col-270: 270px;
	--col-197: 197px;

	/* Icons and media */
	--icon-14: 14px;
	--icon-19: 19px;
	--icon-30: 30px;
	--icon-45: 45px;
	--icon-50: 50px;
	--icon-60: 60px;

	/* Motion: easing, durations and menu elevation come from the library (--sgp-*). */
	--blur-10: 10px;
}

:root {
	/* Carousel and event cards (home) */
	--space-24: var(--sgp-space-24);
	--avatar-46: 46px;
	--size-56: 56px;
	--bar-4: 4px;
	--card-450: 450px;
	--event-top: 200px;
	--size-400: 400px;   /* tab image tile */
	--size-120: 120px;   /* vertical tab step */
	--size-300: 300px;
	--size-350: 350px;
	--size-810: 810px;   /* news row main column */
	--size-338: 338px;   /* article sidebar */
	--size-124: 124px;   /* tab tile icon */
}

/* GENERATED:START - written by tools/gen_tokens.py from the values the content
   files use. Do not hand-edit; regenerate. */
:root {
	--space-2: 2px;
	--space-4: var(--sgp-space-4);
	--space-9: 9px;
	--space-13: 13px;
	--space-32: var(--sgp-space-32);
	--space-45: 45px;
	--space-65: 65px;
	--size-6: 6px;
	--size-8: 8px;
	--size-18: 18px;
	--size-20: 20px;
	--size-25: 25px;
	--size-30: 30px;
	--size-35: 35px;
	--size-40: 40px;
	--size-45: 45px;
	--size-65: 65px;
	--size-75: 75px;
	--size-100: 100px;
	--size-105: 105px;
	--size-115: 115px;
	--size-125: 125px;
	--size-150: 150px;
	--size-167-5: 167.5px;
	--size-182-8: 182.8px;
	--size-190: 190px;
	--size-250: 250px;
	--size-293: 293px;
	--size-313: 313px;
	--size-335: 335px;
	--size-499-2: 499.2px;
	--size-500: 500px;
	--size-600: 600px;
	--size-701: 701px;
	--size-720: 720px;
	--size-888: 888px;
	--size-982-1: 982.1px;
	--size-1328: 1328px;
	--ma-hero-landing: 810px;
	--ma-art-max: 610px;
}
/* GENERATED:END */

/* News & Events. Geometry read from Figma SGP-Website, page
 * "DEV - News & Events" (MHippVV20QM4yiORNFf2da). Node ids beside each. */
:root {
	--nr-hero-min: 600px;            /* landing + archive hero, 3571:14896 */
	--nr-feature-media: 710px;       /* feature card photo column, 3571:14905 */
	--nr-card-media: 294px;          /* recent news card photo, 3571:14930 */
	--nr-event-media: 232px;         /* event card photo, 3571:15002 */
	--nr-lead-media: 350px;          /* webinar lead + home feature photo, 3571:15063 */
	--nr-side-media: 272px;          /* webinar side card photo, 3571:15089 */
	--nr-thumb: 224px;               /* home card thumbnail, article sidebar, 3846:1093 */
	--nr-avatar: 98px;               /* feature card author photo, 3571:14917 */
	--nr-avatar-sm: 64px;            /* sidebar author / host photo, 3571:23328 */
	--nr-play: 160px;                /* player play glyph, 3571:23530 */
	--nr-accent: 376px;              /* red segment of a list rule, 3571:17846 */
	--nr-meta-col: 400px;            /* archive author column, 3571:17860 */
	--nr-date-col: 100px;            /* archive date column, 3571:17867 */
	--nr-scrim-photo: #00000033;     /* black 20% on card photos */
	--nr-scrim-player: #00000066;    /* black 40% on the player poster */
	--nr-scrim-feature: #0d152d80;   /* navy 50% on the feature photo */
	--nr-scrim-event: linear-gradient(-50deg, #0d152d00 7%, #0d152dbf 94%); /* event photo, under the date */
}

/* CPOT page tokens, copied unchanged from cpot-theme/assets/css/tokens.css.
   The whole set applies inside #cpot-page, so CPOT keeps its own values where
   a name is shared with 2.5. Names 2.5 does not have also sit on :root, where
   CPOT's script reads its timing and geometry. */
:root {
	--sgp-brand-amaranth-strong: #d91845;
	--sgp-color-ask-strong: var(--sgp-brand-amaranth-strong);
	--sgp-leading-80: 99px;
	--sgp-text-48: 48px;
	--sgp-leading-48: 64px;
	--sgp-leading-45: 52px;
	--sgp-leading-36: 44px;
	--sgp-leading-28: 36px;
	--sgp-leading-24: 32px;
	--sgp-leading-20: 30px;
	--sgp-text-17: 17px;
	--sgp-leading-17: 26px;
	--sgp-leading-16: 24px;
	--sgp-leading-14: 20px;
	--sgp-site-leading-display: 88px;
	--sgp-site-text-title: 42px;
	--sgp-site-leading-title: 50.4px;
	--sgp-site-text-subtitle: 34px;
	--sgp-site-leading-subtitle: 40.8px;
	--sgp-site-text-card-title: 26px;
	--sgp-site-leading-card-title: 36.4px;
	--sgp-site-text-eyebrow: 16px;
	--sgp-site-leading-eyebrow: 24px;
	--sgp-site-tracking-eyebrow: 1.5px;
	--sgp-space-1: 1px;
	--sgp-space-2: 2px;
	--sgp-space-6: 6px;
	--sgp-space-10: 10px;
	--sgp-space-18: 18px;
	--sgp-space-20: 20px;
	--sgp-space-22: 22px;
	--sgp-space-28: 28px;
	--sgp-space-30: 30px;
	--sgp-space-34: 34px;
	--sgp-space-36: 36px;
	--sgp-space-40: 40px;
	--sgp-space-44: 44px;
	--sgp-space-56: 56px;
	--sgp-space-60: 60px;
	--sgp-space-120: 120px;
	--sgp-radius-tab: 10px;
	--sgp-radius-panel: 20px;
	--sgp-ease-premium: cubic-bezier(0.22, 1, 0.36, 1);
	--sgp-dur-premium: 700ms;
	--cpot-reveal-duration: 360ms;
	--cpot-reveal-step: 50ms;
	--cpot-reveal-max-wait: 400ms;
	--cpot-reveal-line: 0.95;
	--cpot-morph-runway: 80vh;
	--cpot-morph-trigger: 0.4;
	--cpot-morph-lean: 0.03;
	--cpot-morph-tint: 25%;
	--cpot-morph-band: 0.35;
	--cpot-morph-fade: 0.25;
	--cpot-moment-runway: 20vh;
	--cpot-moment-offset: 120px;
	--cpot-moment-entry: 0.7;
	--cpot-moment-cue-gap: var(--sgp-space-64);
	--cpot-moment-cue-bob: 1600ms;
	--cpot-moment-lead: 400ms;
	--cpot-moment-heading-delay: 200ms;
	--cpot-moment-heading: 700ms;
	--cpot-moment-follow-gap: 150ms;
	--cpot-moment-follow: 500ms;
	--cpot-snap-idle: 140ms;
	--cpot-gutter-mobile: 24px;
	--cpot-nav-height: 92px;
	--cpot-logo-width: 247px;
	--cpot-hero-copy: 950px;
	--cpot-hero-orb-size: 1500px;
	--cpot-hero-orb-fluid: 76vw;
	--cpot-orb-corner: 860px;
	--cpot-copy-wide: 870px;
	--cpot-stage-width: 992px;
	--cpot-stage-height: 504px;
	--cpot-stage-orb-size: 900px;
	--cpot-stage-orb-top: -350px;
	--cpot-stage-orb-right: -240px;
	--cpot-stage-orb-trigger: 0.72;
	--cpot-stage-orb-release: 0.3;
	--cpot-stage-orb-rest-scale: 0.92;
	--cpot-stage-rest-scale: 1;
	--cpot-proof-height: 320px;
	--cpot-glass: rgba(255, 255, 255, 0.11);
	--cpot-glass-veil: rgba(0, 0, 0, 0.2);
	--cpot-glass-sheen-start: rgba(217, 217, 217, 0.05);
	--cpot-glass-sheen-end: rgba(217, 217, 217, 0.25);
	--cpot-glass-edge: rgba(255, 255, 255, 0.25);
	--cpot-glass-blur-strong: 37.5px;
	--cpot-accent-delay: 600ms;
	--cpot-metric-step: 120ms;
	--cpot-stage-scroll-ratio: 1.25;
	--cpot-stage-dwell: 0.15;
	--cpot-stage-flow-ratio: 1.6;
	--cpot-stage-reading-dwell: 0.22;
	--cpot-stage-reading-hold: 0.35;
	--cpot-stage-hold: 0.2;
	--cpot-stage-orb-delay: 300ms;
	--cpot-stage-page-orb-delay: 100ms;
	--cpot-stage-unveil-at: 0.6;
	--cpot-stage-unveil-orb-delay: 100ms;
	--cpot-stage-orb-slide: var(--sgp-space-96);
	--cpot-stage-orb-fade: 1100ms;
	--cpot-stage-orb-ease: cubic-bezier(0.33, 0, 0.15, 1);
	--cpot-stage-smoothing: 110ms;
	--cpot-dialog-width: 672px;
	--cpot-dialog-title-leading: 33px;
	--cpot-measure: 720px;
	--cpot-tablet-card-inline: 82vw;
	--cpot-viewport-inline: 100vw;
}

#cpot-page {
	--sgp-brand-oxford-blue: #0d152d;
	--sgp-brand-royal-blue: #336bf7;
	--sgp-brand-amaranth: #e71e4b;
	--sgp-brand-amaranth-strong: #d91845;
	--sgp-brand-pink: #ed1e79;
	--sgp-brand-cyan: #29abe2;
	--sgp-brand-purple: #662d91;
	--sgp-brand-orange: #f15a24;
	--sgp-brand-success: #77c359;
	--sgp-brand-warning: #fe9000;
	--sgp-brand-critical: #c1272d;
	--sgp-brand-white: #ffffff;
	--sgp-brand-light-gray: #dddee1;
	--sgp-brand-off-white: #f2f2f2;
	--sgp-brand-elevation-dark-1: #252c42;
	--sgp-brand-elevation-dark-2: #31384d;
	--sgp-color-ink: var(--sgp-brand-oxford-blue);
	--sgp-color-ink-secondary: rgba(13, 21, 45, 0.68);
	--sgp-color-ink-placeholder: rgba(13, 21, 45, 0.45);
	--sgp-color-on-color: var(--sgp-brand-white);
	--sgp-color-on-dark-secondary: rgba(255, 255, 255, 0.72);
	--sgp-color-interactive: var(--sgp-brand-royal-blue);
	--sgp-color-ask: var(--sgp-brand-amaranth);
	--sgp-color-ask-strong: var(--sgp-brand-amaranth-strong);
	--sgp-color-critical: var(--sgp-brand-critical);
	--sgp-color-success: var(--sgp-brand-success);
	--sgp-color-warning: var(--sgp-brand-warning);
	--sgp-color-info: var(--sgp-brand-cyan);
	--sgp-color-surface: var(--sgp-brand-white);
	--sgp-color-surface-dark: var(--sgp-brand-oxford-blue);
	--sgp-color-work-surface: var(--sgp-brand-off-white);
	--sgp-color-divider: var(--sgp-brand-light-gray);
	--sgp-color-tonal-action: var(--sgp-brand-light-gray);
	--sgp-color-outline: rgba(13, 21, 45, 0.45);
	--sgp-color-outline-variant: rgba(13, 21, 45, 0.15);
	--sgp-color-disabled-container: rgba(13, 21, 45, 0.12);
	--sgp-color-disabled-content: rgba(13, 21, 45, 0.38);
	--sgp-color-scrim: rgba(13, 21, 45, 0.32);
	--sgp-font: 'Manrope', system-ui, sans-serif;
	--sgp-text-80: 80px;
	--sgp-leading-80: 99px;
	--sgp-text-48: 48px;
	--sgp-leading-48: 64px;
	--sgp-text-45: 45px;
	--sgp-leading-45: 52px;
	--sgp-text-36: 36px;
	--sgp-leading-36: 44px;
	--sgp-text-28: 28px;
	--sgp-leading-28: 36px;
	--sgp-text-24: 24px;
	--sgp-leading-24: 32px;
	--sgp-text-22: 22px;
	--sgp-text-20: 20px;
	--sgp-leading-20: 30px;
	--sgp-text-17: 17px;
	--sgp-leading-17: 26px;
	--sgp-text-16: 16px;
	--sgp-leading-16: 24px;
	--sgp-text-14: 14px;
	--sgp-leading-14: 20px;
	--sgp-text-12: 12px;
	--sgp-text-10: 10px;
	--sgp-weight-light: 300;
	--sgp-weight-regular: 400;
	--sgp-weight-medium: 500;
	--sgp-weight-semibold: 600;
	--sgp-weight-bold: 700;
	--sgp-tracking-caps: 0.1em;
	--sgp-tracking-display: -0.25px;
	--sgp-site-leading-display: 88px;
	--sgp-site-text-title: 42px;
	--sgp-site-leading-title: 50.4px;
	--sgp-site-text-subtitle: 34px;
	--sgp-site-leading-subtitle: 40.8px;
	--sgp-site-text-card-title: 26px;
	--sgp-site-leading-card-title: 36.4px;
	--sgp-site-text-eyebrow: 16px;
	--sgp-site-leading-eyebrow: 24px;
	--sgp-site-tracking-eyebrow: 1.5px;
	--sgp-space-1: 1px;
	--sgp-space-2: 2px;
	--sgp-space-4: 4px;
	--sgp-space-6: 6px;
	--sgp-space-8: 8px;
	--sgp-space-10: 10px;
	--sgp-space-12: 12px;
	--sgp-space-16: 16px;
	--sgp-space-18: 18px;
	--sgp-space-20: 20px;
	--sgp-space-22: 22px;
	--sgp-space-24: 24px;
	--sgp-space-28: 28px;
	--sgp-space-30: 30px;
	--sgp-space-32: 32px;
	--sgp-space-34: 34px;
	--sgp-space-36: 36px;
	--sgp-space-40: 40px;
	--sgp-space-44: 44px;
	--sgp-space-48: 48px;
	--sgp-space-56: 56px;
	--sgp-space-60: 60px;
	--sgp-space-64: 64px;
	--sgp-space-80: 80px;
	--sgp-space-96: 96px;
	--sgp-space-120: 120px;
	--sgp-space-144: 144px;
	--sgp-space-160: 160px;
	--sgp-radius-control: 8px;
	--sgp-radius-tab: 10px;
	--sgp-radius-selector: 16px;
	--sgp-radius-panel: 20px;
	--sgp-radius-object: 24px;
	--sgp-radius-dialog: 28px;
	--sgp-radius-section: 32px;
	--sgp-radius-full: 999px;
	--sgp-target-min: 48px;
	--sgp-control-height: 56px;
	--sgp-focus-ring-width: 2px;
	--sgp-focus-ring-offset: 2px;
	--sgp-focus-ring-color: var(--sgp-color-interactive);
	--sgp-state-hover: 0.08;
	--sgp-state-focus: 0.1;
	--sgp-state-pressed: 0.1;
	--sgp-ease: cubic-bezier(0.2, 0, 0, 1);
	--sgp-ease-premium: cubic-bezier(0.22, 1, 0.36, 1);
	--sgp-dur-short: 150ms;
	--sgp-dur-medium: 250ms;
	--sgp-dur-premium: 700ms;
	--cpot-reveal-duration: 360ms;
	--cpot-reveal-step: 50ms;
	--cpot-reveal-max-wait: 400ms;
	--cpot-reveal-line: 0.95;
	--cpot-morph-runway: 80vh;
	--cpot-morph-trigger: 0.4;
	--cpot-morph-lean: 0.03;
	--cpot-morph-tint: 25%;
	--cpot-morph-band: 0.35;
	--cpot-morph-fade: 0.25;
	--cpot-moment-runway: 20vh;
	--cpot-moment-offset: 120px;
	--cpot-moment-entry: 0.7;
	--cpot-moment-cue-gap: var(--sgp-space-64);
	--cpot-moment-cue-bob: 1600ms;
	--cpot-moment-lead: 400ms;
	--cpot-moment-heading-delay: 200ms;
	--cpot-moment-heading: 700ms;
	--cpot-moment-follow-gap: 150ms;
	--cpot-moment-follow: 500ms;
	--cpot-snap-idle: 140ms;
	--cpot-gutter-mobile: 24px;
	--cpot-nav-height: 92px;
	--cpot-logo-width: 247px;
	--cpot-hero-copy: 950px;
	--cpot-hero-orb-size: 1500px;
	--cpot-hero-orb-fluid: 76vw;
	--cpot-orb-corner: 860px;
	--cpot-copy-wide: 870px;
	--cpot-stage-width: 992px;
	--cpot-stage-height: 504px;
	--cpot-stage-orb-size: 900px;
	--cpot-stage-orb-top: -350px;
	--cpot-stage-orb-right: -240px;
	--cpot-stage-orb-trigger: 0.72;
	--cpot-stage-orb-release: 0.3;
	--cpot-stage-orb-rest-scale: 0.92;
	--cpot-stage-rest-scale: 1;
	--cpot-proof-height: 320px;
	--cpot-glass: rgba(255, 255, 255, 0.11);
	--cpot-glass-veil: rgba(0, 0, 0, 0.2);
	--cpot-glass-sheen-start: rgba(217, 217, 217, 0.05);
	--cpot-glass-sheen-end: rgba(217, 217, 217, 0.25);
	--cpot-glass-edge: rgba(255, 255, 255, 0.25);
	--cpot-glass-blur-strong: 37.5px;
	--cpot-accent-delay: 600ms;
	--cpot-metric-step: 120ms;
	--cpot-stage-scroll-ratio: 1.25;
	--cpot-stage-dwell: 0.15;
	--cpot-stage-flow-ratio: 1.6;
	--cpot-stage-reading-dwell: 0.22;
	--cpot-stage-reading-hold: 0.35;
	--cpot-stage-hold: 0.2;
	--cpot-stage-orb-delay: 300ms;
	--cpot-stage-page-orb-delay: 100ms;
	--cpot-stage-unveil-at: 0.6;
	--cpot-stage-unveil-orb-delay: 100ms;
	--cpot-stage-orb-slide: var(--sgp-space-96);
	--cpot-stage-orb-fade: 1100ms;
	--cpot-stage-orb-ease: cubic-bezier(0.33, 0, 0.15, 1);
	--cpot-stage-smoothing: 110ms;
	--cpot-dialog-width: 672px;
	--cpot-dialog-title-leading: 33px;
	--cpot-measure: 720px;
	--cpot-tablet-card-inline: 82vw;
	--cpot-viewport-inline: 100vw;
}

@media (prefers-reduced-motion: reduce) {
	:root {

	}

	#cpot-page {
		--sgp-dur-short: 0ms;
		--sgp-dur-medium: 0ms;
	}
}
