/* ============================================================
   CAREGRID — caregrid.html
   Lumenore's healthcare network-adequacy product page, rebuilt on
   the house theme from caregridlumenore.vercel.app. Copy is the
   source page's, word for word; only the design changed.

   Same flow as professional-services.html / about-us-new.html:
   a DARK navy hero band, light content sections below alternating
   white (dot grid) and a soft tint, one dark band mid-page
   (AI-Powered) to break the rhythm, and the gradient CTA card to
   close. Scoped under .cg-page. Base container, buttons, hero
   decor (.hero-grid / .hero-orbs / .hero-particles) and the
   reveal-* classes come from style.css; footer.js drives
   .reveal-* visibility.

   Typography, colour, container width and spacing follow
   DESIGN_GUIDELINES.md:
   - h1-h4 = Space Grotesk (h1/h2 weight 300, h3/h4 weight 500)
   - H1 56/64 · H2 44/54 · card H3 sized to its container (20/28)
   - Body on light bg = #4a5568; on dark = rgba(252,252,252,.72)
   - Container = Bootstrap ladder capped at 1320px
   - Light sections = 96px top/bottom; intro -> content gap = 60px
   - Buttons: CTA & BUTTON STANDARD block at the end of this file
   ============================================================ */

.cg-page{
    /* ---- Brand system ---- */
    --cg-violet:#7747b6;
    --cg-blue:#2863c3;
    --cg-cyan:#1ca9c9;
    --grad-brand:  linear-gradient(135deg,#7747b6 0%,#2863c3 50%,#1ca9c9 100%);
    --grad-brand-h:linear-gradient(90deg,#7747b6 0%,#2863c3 50%,#1ca9c9 100%);
    --grad-brand-v:linear-gradient(180deg,#7747b6 0%,#2863c3 50%,#1ca9c9 100%);

    /* ---- Light page palette (guideline tokens) ---- */
    --cg-heading:#101828;               /* cool-101828 — heading on light bg */
    --cg-body:#4a5568;                  /* section-sub / body on light bg    */
    --cg-muted:#5e5e5e;                 /* Grey-Grey-800                     */
    --cg-line:#eaeaea;                  /* Map-Grey — card borders           */
    --cg-surface:#ffffff;
    --cg-tint:#f7f9fc;                  /* soft section tint                 */
    --cg-shadow:0 4px 22px rgba(16,24,40,.07);
    --cg-shadow-lg:0 18px 44px rgba(16,24,40,.12);
    --cg-shadow-hover:0 1px 3px rgba(16,24,40,.06),0 24px 48px -20px rgba(14,72,165,.22);

    /* ---- Dark band palette ---- */
    --cg-navy-0:#04102E;
    --cg-navy-1:#030C1E;
    --cg-d-ink:#fcfcfc;                 /* Base-White                        */
    --cg-d-body:rgba(252,252,252,.72);  /* single dark-bg body value         */

    /* No page background on purpose: each section paints its own
       edge-to-edge and the shared dark body background from style.css
       stays visible under the transparent shared footer. */
    color:var(--cg-body);
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:clip;
}

.cg-page .cg-main{position:relative;z-index:1;}

/* Skip link — visible only on focus */
.cg-skip{
    position:absolute;left:-9999px;top:0;z-index:999;
    background:#fcfcfc;color:#0e48a5;
    padding:12px 20px;border-radius:0 0 8px 0;
    font-family:'Inter',sans-serif;font-weight:600;font-size:14px;
}
.cg-skip:focus{left:0;}

/* Container — Bootstrap ladder capped at 1320px (verbatim from the
   guidelines). Unscoped, like professional-services.css, so the shared
   header and footer line up with the page content. */
.container{width:100%;max-width:100%;margin-right:auto;margin-left:auto;padding-right:1rem;padding-left:1rem;}
@media (min-width:576px)  { .container{max-width:540px;} }
@media (min-width:768px)  { .container{max-width:720px;} }
@media (min-width:992px)  { .container{max-width:960px;} }
@media (min-width:1200px) { .container{max-width:1140px;} }
@media (min-width:1400px) { .container{max-width:1320px;} }

/* ---- Heading base — scoped to .cg-main, not .cg-page, so the shared
   header's mega-menu <h4>/<h6> (siblings of main) keep their own colours. ---- */
.cg-main h1,.cg-main h2,.cg-main h3,.cg-main h4{
    font-family:'Space Grotesk','Inter',sans-serif;
    color:var(--cg-heading);margin:0;
}
.cg-main h1{font-weight:300;letter-spacing:-.8px;}
.cg-main h2{font-weight:300;letter-spacing:-.6px;}
.cg-main h3{font-weight:500;letter-spacing:-.3px;}
.cg-main h4{font-weight:500;letter-spacing:-.2px;}

/* Section H2 — 44/54 desktop, unified across every section. */
.cg-page .cg-title{font-size:44px;line-height:54px;margin-bottom:16px;}
.cg-section-head--center .cg-title{margin-inline:auto;}
@media (max-width:991px){ .cg-page .cg-title{font-size:34px;line-height:44px;} }
@media (max-width:575px){ .cg-page .cg-title{font-size:26px;line-height:36px;} }

/* Gradient text helper — the hero H1 accent */
.cg-grad-text{
    background:var(--AI-Agents-Text,linear-gradient(83deg,#4AE7FF 40%,#4075C9 60%,#E879F9 82%));
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
}

/* ============================================================
   SHARED SECTION BITS
   ============================================================ */
.cg-page section{position:relative;padding:96px 0;}
.cg-page .container{position:relative;z-index:1;}

/* Dot-grid texture for white sections (DESIGN_GUIDELINES §9) */
.cg-dots{
    position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:radial-gradient(rgba(40,99,195,.14) 1px,transparent 1px);
    background-size:24px 24px;
}

/* Eyebrow — the canonical site pill (§12 patterns 1 & 2) */
.cg-eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    font-family:'Inter',sans-serif;font-weight:500;font-size:11px;line-height:16px;
    letter-spacing:1.6px;text-transform:uppercase;
    color:var(--Royal-Blue-Blue-500,#0e48a5);
    background:linear-gradient(135deg,rgba(40,99,195,.08) 0%,rgba(119,71,182,.08) 100%);
    border:1px solid rgba(40,99,195,.14);
    padding:7px 16px;border-radius:50px;
    margin:0 0 24px;
}
.cg-eyebrow--center{justify-content:center;}
.cg-eyebrow__dot{
    width:6px;height:6px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg,var(--Royal-Blue-Blue-500,#0e48a5) 0%,var(--Violet-Violet-450,#7747b6) 100%);
    box-shadow:0 0 0 3px rgba(40,99,195,.12);
}
/* Dark-bg variant — §12 pattern 1 (.fc-eyebrow) */
.cg-eyebrow--dark{
    color:#67d3ff;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.14);
    backdrop-filter:blur(6px);
}
.cg-eyebrow--dark .cg-eyebrow__dot{
    background:var(--SkyBlue-SkyBlue-500,#12b6f8);
    box-shadow:0 0 8px rgba(18,182,248,.8);
}

/* Section head — eyebrow + H2 + lead paragraphs */
.cg-section-head{max-width:860px;margin-bottom:60px;}
.cg-section-head--center{margin-inline:auto;text-align:center;}
/* :not(.cg-eyebrow) — the eyebrow is also a <p>. */
.cg-section-head p:not(.cg-eyebrow){
    font-family:'Inter',sans-serif;font-weight:400;font-size:17px;line-height:28px;
    color:var(--cg-body);margin:0 0 16px;
}
.cg-section-head p:last-child{margin-bottom:0;}
.cg-section-head--dark .cg-title{color:var(--cg-d-ink);}
.cg-section-head--dark p:not(.cg-eyebrow){color:var(--cg-d-body);}

/* Body paragraph in two-column copy blocks */
/* :not(.cg-eyebrow) — the eyebrow is also a <p>, and this rule (0,1,1) would
   otherwise beat .cg-eyebrow (0,1,0) and blow the pill up to 17px body type. */
.cg-copy p:not(.cg-eyebrow){
    font-family:'Inter',sans-serif;font-weight:400;font-size:15px;line-height:26px;
    color:var(--cg-body);margin:0 0 14px;
}
.cg-copy p:last-child{margin-bottom:0;}

/* Stroke-icon base — every icon on the page is the same 24-grid lucide
   vocabulary, coloured by its container. */
.cg-ic{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}
.cg-ic svg{width:24px;height:24px;display:block;}

/* Scoped to .cg-main so the footer's reveal elements keep the shared
   site-wide timing. */
.cg-main .reveal-block,.cg-main .reveal-left,.cg-main .reveal-right{
    transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1);
    transition-delay:var(--reveal-delay,0s);
}

/* ============================================================
   1 · HERO — dark navy band
   ============================================================ */
.cg-hero{
    position:relative;overflow:hidden;isolation:isolate;
    color:var(--cg-d-ink);
    background:
        radial-gradient(ellipse 60% 50% at 50% 0%,rgba(8,26,72,.9) 0%,transparent 70%),
        linear-gradient(175deg,#04102E 0%,#030C1E 55%,#020A18 100%);
}
/* 72/72 — the capability-page hero rhythm. */
.cg-page .cg-hero{padding:72px 0;}
.cg-hero__glow{
    position:absolute;z-index:0;pointer-events:none;
    left:6%;top:10%;width:560px;height:560px;border-radius:50%;
    background:radial-gradient(circle,rgba(119,71,182,.35) 0%,rgba(28,169,201,.12) 45%,transparent 70%);
    filter:blur(90px);
}
.cg-hero__inner{
    position:relative;z-index:1;
    display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    gap:64px;align-items:center;
}
.cg-page .cg-hero__title{
    font-size:56px;line-height:64px;color:var(--cg-d-ink);
    margin:0 0 24px;max-width:19ch;
}
/* The source page's two hero paragraphs: an xl lead and a body line. */
/* Both hero paragraphs sit on the guideline hero-sub scale (17/27); the lead
   is told apart by weight and full white rather than an off-scale size. */
.cg-hero__lead{
    font-family:'Inter',sans-serif;font-weight:500;font-size:17px;line-height:27px;
    color:var(--cg-d-ink);margin:0 0 14px;max-width:56ch;
}
.cg-hero__sub{
    font-family:'Inter',sans-serif;font-weight:400;font-size:17px;line-height:27px;
    color:var(--cg-d-body);margin:0 0 36px;max-width:60ch;
}
.cg-hero__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:16px;}

/* .btn-demo--lg lives in the capability-page bundles, not style.css, so this
   page supplies its box; the gradient border, fill, label colour and 48px
   geometry come from the CTA & BUTTON STANDARD block at the end. */
.cg-page .btn-demo--lg{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;letter-spacing:-.1px;}
.cg-page .btn-demo--lg:focus-visible{outline:2px solid #c4b5fd;outline-offset:3px;}

/* ---- Hero visual: the adequacy console ----
   The source page's glass dashboard card, redrawn in the house hero-console
   language: a frosted navy panel on a blurred brand glow, mono micro-labels,
   a gradient area chart and a five-stage flow strip. The label, badge,
   score, caption and the five stage words are the source page's own. ---- */
.cg-hero__panel{position:relative;padding:0;}
.cg-hero__vis{position:relative;width:min(560px,100%);margin:0 auto;padding-top:24px;}
.hero-visual-glow{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:90%;height:70%;border-radius:50%;
    background:radial-gradient(ellipse,rgba(40,99,195,.45) 0%,rgba(119,71,182,.25) 50%,transparent 80%);
    filter:blur(70px);pointer-events:none;z-index:0;
}
.cg-stack{position:relative;z-index:1;}
.cg-stack__label{
    display:block;margin-bottom:10px;
    font-family:'Inter',sans-serif;font-weight:600;font-size:11.5px;line-height:16px;
    letter-spacing:2px;text-transform:uppercase;color:var(--cg-d-ink);
}
.cg-stack__svg{display:block;width:100%;height:auto;overflow:visible;}
.cg-stack__axis{fill:none;stroke:rgba(159,186,228,.3);stroke-width:1.2;stroke-dasharray:2 6;stroke-linecap:round;}
.cg-stack__layer path:first-child{fill:rgba(74,231,255,.07);stroke:rgba(74,231,255,.55);stroke-width:1.3;stroke-linejoin:round;}
.cg-stack__layer .cg-stack__leader{fill:none;stroke:rgba(159,186,228,.35);stroke-width:1;}
.cg-stack__layer circle{fill:#4ae7ff;}
.cg-stack__layer text{font-family:'Inter',sans-serif;font-weight:500;font-size:14px;fill:#e7eef8;}
.cg-stack__layer{animation:cgFloat 6s ease-in-out infinite;animation-delay:calc(var(--i) * -1.2s);}
.cg-stack__base{filter:drop-shadow(0 0 22px rgba(40,99,195,.6));}
.cg-stack__name{font-family:'Space Grotesk','Inter',sans-serif;font-weight:500;font-size:14px;letter-spacing:.2px;fill:#e7eef8;text-anchor:middle;}
@keyframes cgFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
.cg-stack__list{display:none;}
.cg-stack__out{
    list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);
}
.cg-stack__out li{
    display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:0 10px;
    font-family:'Inter',sans-serif;font-weight:500;font-size:14px;line-height:19px;color:var(--cg-d-ink);
}
.cg-stack__out li svg{width:20px;height:20px;color:#4ae7ff;flex:0 0 auto;}
@media (prefers-reduced-motion:reduce){
    .cg-stack__layer{animation:none;}
}

@media (max-width:1199px){
    .cg-hero__inner{gap:48px;}
    .cg-page .cg-hero__title{font-size:48px;line-height:58px;}
}
@media (max-width:991px){
    .cg-page .cg-hero{padding:64px 0 72px;}
    .cg-hero__inner{grid-template-columns:1fr;gap:44px;}
    .cg-page .cg-hero__title{font-size:44px;line-height:54px;max-width:none;}
    .cg-hero__panel{max-width:560px;}
}
@media (max-width:575px){
    .cg-page .cg-hero{padding:56px 0 64px;}
    .cg-page .cg-hero__title{font-size:34px;line-height:44px;}
    .cg-hero__lead{font-size:16px;line-height:27px;}
    .cg-hero__sub{font-size:16px;line-height:27px;}
    .cg-hero__ctas{flex-direction:column;align-items:stretch;}
    .cg-hero__ctas a{width:100%;}
    .cg-hero__vis{padding-top:0;}
    .cg-stack__label{text-align:center;margin-bottom:12px;}
    .cg-stack__svg{width:min(320px,100%);margin:0 auto;}
    .cg-stack__layer text,.cg-stack__layer .cg-stack__leader,.cg-stack__layer circle{display:none;}
    .cg-stack__list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;justify-items:center;}
    .cg-stack__list li{display:flex;align-items:center;gap:10px;font-family:'Inter',sans-serif;font-weight:500;font-size:13px;line-height:17px;color:rgba(231,238,248,.84);}
    .cg-stack__list li i{width:8px;height:8px;border-radius:50%;background:#4ae7ff;box-shadow:0 0 10px rgba(74,231,255,.6);}
    .cg-stack__out{grid-template-columns:1fr;gap:10px;margin-top:18px;}
    .cg-stack__out li{flex-direction:row;justify-content:center;font-size:13px;}
}

/* ============================================================
   2 · THE CHALLENGE — white, dot grid · copy + list card
   ============================================================ */
.cg-challenge{background:#fcfcfc;}
.cg-split{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:64px;align-items:center;
}
.cg-split .cg-section-head{margin-bottom:24px;}
/* The source page's bold opening line — the house strap size. */
.cg-copy p.cg-lead-strong{
    font-family:'Space Grotesk','Inter',sans-serif;font-weight:500;
    font-size:19px;line-height:30px;letter-spacing:-.2px;
    color:var(--cg-heading);margin:0 0 16px;
}
/* ---- Pressure points: title line + six compact light tiles, two across ---- */
.cg-gap{position:relative;}
.cg-page .cg-gap__title{font-size:19px;line-height:28px;margin:0 0 20px;}
.cg-gap__grid{
    list-style:none;margin:0;padding:0;
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
}
.cg-gap__tile{
    display:flex;align-items:flex-start;gap:14px;
    background:var(--cg-surface);border:1px solid var(--cg-line);
    border-radius:14px;padding:18px 18px 18px 16px;
    box-shadow:inset 0 1px 2px rgba(16,24,40,.05),0 1px 3px rgba(16,24,40,.04);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.cg-gap__tile:hover{transform:translateY(-3px);box-shadow:var(--cg-shadow-hover);border-color:rgba(40,99,195,.3);}
.cg-gap__ic{
    display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
    width:40px;height:40px;border-radius:12px;
    background:linear-gradient(135deg,rgba(119,71,182,.1) 0%,rgba(40,99,195,.1) 50%,rgba(28,169,201,.1) 100%);
    border:1px solid rgba(40,99,195,.16);
    color:var(--Royal-Blue-Blue-500,#0e48a5);
    transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.cg-gap__ic svg{width:20px;height:20px;}
.cg-gap__tile:hover .cg-gap__ic{background:var(--grad-brand);color:#fff;border-color:transparent;}
.cg-gap__tile p{
    font-family:'Inter',sans-serif;font-weight:400;font-size:15px;line-height:24px;
    color:var(--cg-body);margin:0;padding-top:8px;
}
.cg-gap__tile strong{font-weight:600;color:var(--cg-heading);}
@media (prefers-reduced-motion:reduce){ .cg-gap__tile,.cg-gap__ic{transition:none;} .cg-gap__tile:hover{transform:none;} }
@media (max-width:1199px){ .cg-split{gap:48px;} }
@media (max-width:991px){
    .cg-split{grid-template-columns:1fr;gap:40px;}
}
@media (max-width:575px){
    .cg-copy p.cg-lead-strong{font-size:17px;line-height:28px;}
    .cg-page .cg-gap__title{margin-bottom:14px;}
    .cg-gap__grid{grid-template-columns:1fr;gap:10px;}
    .cg-gap__tile{padding:14px 14px 14px 12px;gap:12px;}
    .cg-gap__ic{width:36px;height:36px;border-radius:10px;}
    .cg-gap__ic svg{width:18px;height:18px;}
    .cg-gap__tile p{padding-top:6px;}
}

/* ============================================================
   3 · ACTIONABLE INTELLIGENCE — tint strip, centred, four-step flow
   ============================================================ */
.cg-intel{background:var(--cg-tint);}
.cg-intel .cg-section-head{margin-bottom:40px;}
.cg-flow{list-style:none;margin:0 auto;padding:0;display:flex;align-items:flex-start;max-width:900px;counter-reset:none;}
.cg-flow__item{
    position:relative;flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:16px;
    text-align:center;padding:0 8px;
}
.cg-flow__item::before{
    content:"";position:absolute;top:20px;left:50%;right:-50%;height:1px;
    background:linear-gradient(90deg,rgba(40,99,195,.38),rgba(28,169,201,.38));
}
.cg-flow__item:last-child::before{display:none;}
.cg-flow__num{
    position:relative;z-index:1;width:40px;height:40px;border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    font-family:'Inter',sans-serif;font-weight:600;font-size:12px;line-height:1;letter-spacing:1px;color:#fff;
    background:linear-gradient(135deg,#7747b6 0%,#2863c3 55%,#1ca9c9 100%);
    box-shadow:0 0 0 6px var(--cg-tint),0 10px 20px -10px rgba(40,99,195,.6);
}
.cg-flow__name{
    font-family:'Space Grotesk','Inter',sans-serif;font-weight:500;
    font-size:22px;line-height:28px;letter-spacing:-.2px;color:var(--cg-heading);
}
@media (max-width:575px){
    .cg-flow{display:grid;grid-template-columns:1fr 1fr;gap:28px 16px;}
    .cg-flow__item::before{display:none;}
    .cg-flow__name{font-size:19px;line-height:26px;}
}

/* ============================================================
   4 · CAPABILITIES — white, dot grid · the Insights-page carousel
   (.am-fc-grid on lumenore-insights-new.html), restated here.
   ============================================================ */
.cg-caps{background:#fcfcfc;}
/* Gradient accent inside the H2 — the same device as .fc-accent. */
.cg-accent{
    background-image:var(--grad-brand);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
}
/* Shared 3-up grid, used by Outcomes (§11). */
.cg-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
@media (max-width:991px){ .cg-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;} }
@media (max-width:575px){ .cg-grid-3{grid-template-columns:1fr;gap:16px;} }


/* Icon tile — used by Who It's For (§9). */
.cg-tile{
    display:inline-flex;align-items:center;justify-content:center;
    width:48px;height:48px;border-radius:14px;
    background:linear-gradient(135deg,rgba(119,71,182,.1) 0%,rgba(40,99,195,.1) 50%,rgba(28,169,201,.1) 100%);
    border:1px solid rgba(40,99,195,.16);
    color:var(--Royal-Blue-Blue-500,#0e48a5);
    transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.cg-tile svg{width:24px;height:24px;}

/* Track — the six columns (plus the JS's looping clones) in one row;
   .cg-fc-wrap is the clipping viewport and the JS slides one card at a time. */
.cg-fc-wrap{overflow:hidden;}
.cg-fc-track{
    display:flex;flex-wrap:nowrap;column-gap:20px;
    transition:transform .45s cubic-bezier(.22,.61,.36,1);will-change:transform;
}
.cg-fc-col{
    flex:0 0 calc((100% - 40px) / 3);
    display:flex;flex-direction:column;position:relative;
    background:transparent;cursor:default;
}
.cg-fc-col__content{flex:1;display:flex;flex-direction:column;}
/* Top progress rule — dotted at rest, solid brand blue on the active column,
   and a left-to-right sweep on hover. */
.cg-fc-col::before{
    content:"";display:block;height:2px;flex:0 0 2px;
    background-image:repeating-linear-gradient(to right,rgba(40,99,195,.22) 0,rgba(40,99,195,.22) 3px,transparent 3px,transparent 9px);
    transition:background-color .4s ease;
}
.cg-fc-col.is-active::before{background-image:none;background-color:var(--Royal-Blue-Blue-500,#0e48a5);}
.cg-fc-col:hover::before{
    background-image:none;background-color:var(--cg-cyan);
    transform-origin:left center;animation:cgFcSweep .5s cubic-bezier(.4,0,.2,1) forwards;
}
@keyframes cgFcSweep{from{transform:scaleX(0);}to{transform:scaleX(1);}}

/* Icon + title row — the Insights values verbatim: 40px icon chip, Inter 14.5px
   title, 28px side padding inside the column with the first/last flush. */
.cg-fc-col__top{display:flex;align-items:center;gap:12px;padding:24px 28px 0;}
.cg-fc-col:first-child .cg-fc-col__top{padding-left:0;}
.cg-fc-col:last-child  .cg-fc-col__top{padding-right:0;}
.cg-fc-col__icon{
    width:40px;height:40px;flex:0 0 40px;
    display:flex;align-items:center;justify-content:center;
    color:var(--cg-blue);
    border:1px solid rgba(40,99,195,.22);border-radius:5px;
    background:rgba(40,99,195,.07);
    transition:border-color .4s ease,background .4s ease,color .4s ease;
}
.cg-fc-col__icon svg{width:20px;height:20px;}
.cg-fc-col.is-active .cg-fc-col__icon,
.cg-fc-col:hover .cg-fc-col__icon{border-color:var(--cg-blue);background:var(--cg-blue);color:#fff;}
.cg-fc-col__name{
    font-family:'Inter',sans-serif;font-size:14.5px;font-weight:500;line-height:1.35;
    color:#0d1b2e;flex:1;margin:0;
}
.cg-fc-col__desc{
    font-family:'Inter',sans-serif;font-weight:400;font-size:13px;line-height:21px;
    color:rgba(13,27,46,.62);margin:0;padding:16px 28px 10px;
}
.cg-fc-col:first-child .cg-fc-col__desc{padding-left:0;}
.cg-fc-col:last-child  .cg-fc-col__desc{padding-right:0;}

/* Illustration card — pale brand-tint gradient, pinned to the bottom of an
   equal-height column so all three line up whatever the copy length. */
.cg-fc-visual{
    flex:0 0 240px;position:relative;overflow:hidden;
    margin-top:12px;border-radius:8px;
    border:1px solid rgba(40,99,195,.16);
    background:linear-gradient(145deg,var(--Turquoise-SkyBlue-50,#e8f6fa) 0%,var(--Royal-Blue-Blue-50,#e7eef8) 55%,var(--Violet-Violet-50,#f0ebf7) 100%);
    box-shadow:0 2px 12px rgba(40,99,195,.08);
    transition:border-color .3s ease,box-shadow .3s ease;
}
.cg-fc-col.is-active .cg-fc-visual{border-color:rgba(40,99,195,.42);box-shadow:0 4px 20px rgba(40,99,195,.16);}
.cg-fc-col:hover .cg-fc-visual{border-color:rgba(40,99,195,.5);box-shadow:0 6px 24px rgba(40,99,195,.2);}
.cg-fc-vis-inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.cg-fc-col.is-active .cg-fc-vis-inner,
.cg-fc-col:hover .cg-fc-vis-inner{animation:cgFcFloat 3s ease-in-out infinite;}
@keyframes cgFcFloat{0%,100%{transform:translateY(-4px);}50%{transform:translateY(-10px);}}
.cg-fc-vis-svg{width:100%;height:100%;display:block;}

/* Prev / next */
.cg-fc-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:36px;}
.cg-fc-nav__btn{
    display:flex;align-items:center;justify-content:center;
    width:48px;height:48px;border-radius:50%;padding:0;cursor:pointer;
    border:1px solid rgba(40,99,195,.28);background:#fff;color:var(--cg-heading);
    box-shadow:0 2px 10px rgba(13,27,46,.10);
    transition:background .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease;
}
.cg-fc-nav__btn svg{width:20px;height:20px;}
.cg-fc-nav__btn:hover:not(:disabled){border-color:var(--cg-blue);color:var(--cg-blue);}
.cg-fc-nav__btn:focus-visible{outline:2px solid #0e48a5;outline-offset:3px;}
.cg-fc-nav__count{
    font-family:'Inter',sans-serif;font-size:12px;line-height:20px;letter-spacing:.5px;
    color:rgba(13,27,46,.5);min-width:28px;text-align:center;font-variant-numeric:tabular-nums;
}

@media (max-width:991px){
    .cg-fc-col{flex:0 0 calc((100% - 20px) / 2);}
}
@media (max-width:575px){
    .cg-fc-col{flex:0 0 100%;}
    .cg-fc-col .cg-fc-col__top,.cg-fc-col .cg-fc-col__desc{padding-left:0;padding-right:0;}
    .cg-fc-visual{flex-basis:200px;}
    .cg-fc-nav{margin-top:32px;}
}
@media (prefers-reduced-motion:reduce){
    .cg-fc-track{transition:none;}
    .cg-fc-col:hover::before{animation:none;}
    .cg-fc-col.is-active .cg-fc-vis-inner,.cg-fc-col:hover .cg-fc-vis-inner{animation:none;}
}

/* ============================================================
   5 · BEYOND COMPLIANCE — tint · copy + numbered list card
   ============================================================ */
.cg-beyond{background:var(--cg-tint);}
/* The numbered-list card (the Challenge side now uses the dark .cg-gap panel). */
.cg-card{
    position:relative;
    background:var(--cg-surface);border:1px solid var(--cg-line);
    border-radius:20px;padding:40px 40px 36px;
    box-shadow:var(--cg-shadow);
}
.cg-card__label{
    font-family:'Inter',sans-serif;font-weight:600;font-size:12px;line-height:16px;
    letter-spacing:1.2px;text-transform:uppercase;color:var(--cg-muted);
    margin:0 0 8px;
}
@media (max-width:991px){ .cg-card{padding:32px 28px 28px;} }
@media (max-width:575px){ .cg-card{padding:26px 20px 22px;border-radius:16px;} }
/* The one-line question is the section's pivot — set as a pull quote with
   a short vertical gradient rule. */
.cg-copy p.cg-question{
    position:relative;
    font-family:'Space Grotesk','Inter',sans-serif;font-weight:500;
    font-size:28px;line-height:36px;letter-spacing:-.3px;
    color:var(--cg-heading);
    margin:0 0 24px;padding-left:22px;
}
.cg-copy p.cg-question::before{
    content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:2px;
    background:var(--grad-brand-v);
}
.cg-qlist{list-style:none;margin:0;padding:0;}
.cg-qlist li{
    display:flex;align-items:center;gap:18px;
    padding:18px 0;border-bottom:1px solid var(--cg-line);
}
.cg-qlist li:last-child{border-bottom:0;padding-bottom:4px;}
.cg-qlist__num{
    flex:0 0 auto;
    font-family:'Space Grotesk','Inter',sans-serif;font-weight:600;
    font-size:14px;line-height:1;letter-spacing:.5px;
    background:var(--grad-brand-h);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
}
.cg-qlist__q{
    font-family:'Space Grotesk','Inter',sans-serif;font-weight:500;
    font-size:19px;line-height:28px;letter-spacing:-.2px;
    color:var(--cg-heading);
}
@media (max-width:991px){ .cg-copy p.cg-question{font-size:24px;line-height:32px;} }
@media (max-width:575px){
    .cg-copy p.cg-question{font-size:20px;line-height:28px;padding-left:16px;}
    .cg-qlist li{gap:14px;padding:14px 0;}
    .cg-qlist__q{font-size:17px;line-height:26px;}
}

/* ============================================================
   6 · HOW IT WORKS — white, dot grid · six-step hairline ledger
   ============================================================ */
.cg-how{background:#fcfcfc;}
/* A hairline ledger rather than six boxes — the dividers group the steps
   into one process. Cells carry the rules; the outer edges stay flush with
   the container. */
.cg-steps{
    list-style:none;margin:0;padding:0;
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
    border-top:1px solid var(--cg-line);
}
.cg-step{
    padding:36px 34px;
    border-right:1px solid var(--cg-line);
    border-bottom:1px solid var(--cg-line);
}
.cg-step:nth-child(3n){border-right:0;padding-right:0;}
.cg-step:nth-child(3n+1){padding-left:0;}
.cg-step:nth-last-child(-n+3){border-bottom:0;padding-bottom:8px;}
.cg-step__top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;}
.cg-step__num{
    font-family:'Space Grotesk','Inter',sans-serif;font-weight:300;
    font-size:40px;line-height:1;letter-spacing:-.8px;
    background:var(--grad-brand-h);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
    font-variant-numeric:tabular-nums;
}
.cg-step__ic{color:var(--Royal-Blue-Blue-500,#0e48a5);}
.cg-step__ic svg{width:26px;height:26px;}
.cg-page .cg-step h3{font-size:19px;line-height:28px;margin:0 0 10px;}
.cg-step p{
    font-family:'Inter',sans-serif;font-weight:400;font-size:15px;line-height:26px;
    color:var(--cg-body);margin:0;
}
@media (max-width:991px){
    .cg-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
    .cg-step{padding:30px 28px;}
    .cg-step:nth-child(3n),.cg-step:nth-child(3n+1){border-right:1px solid var(--cg-line);padding-left:28px;padding-right:28px;}
    .cg-step:nth-child(2n){border-right:0;padding-right:0;}
    .cg-step:nth-child(2n+1){padding-left:0;}
    .cg-step:nth-last-child(-n+3){border-bottom:1px solid var(--cg-line);padding-bottom:30px;}
    .cg-step:nth-last-child(-n+2){border-bottom:0;padding-bottom:8px;}
}
@media (max-width:575px){
    .cg-steps{grid-template-columns:1fr;}
    .cg-step,
    .cg-step:nth-child(3n),.cg-step:nth-child(3n+1),
    .cg-step:nth-child(2n),.cg-step:nth-child(2n+1){border-right:0;padding:26px 0;}
    .cg-step:nth-last-child(-n+3){border-bottom:1px solid var(--cg-line);padding-bottom:26px;}
    .cg-step:last-child{border-bottom:0;padding-bottom:8px;}
    .cg-step__num{font-size:34px;}
}

/* ============================================================
   7 · AI-POWERED — dark band · copy + five question bubbles
   ============================================================ */
.cg-ai{
    overflow:hidden;isolation:isolate;
    background:linear-gradient(180deg,#04102E 0%,#061634 55%,#04102E 100%);
    --cta-surface:#061634;
}
.cg-ai::before{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:radial-gradient(rgba(159,186,228,.11) 1px,transparent 1px);
    background-size:26px 26px;
    -webkit-mask-image:radial-gradient(ellipse 78% 62% at 50% 42%,#000 28%,transparent 76%);
    mask-image:radial-gradient(ellipse 78% 62% at 50% 42%,#000 28%,transparent 76%);
}
.cg-ai::after{
    content:"";position:absolute;z-index:0;pointer-events:none;
    left:-10%;bottom:-8%;width:560px;height:560px;border-radius:50%;
    background:radial-gradient(circle,rgba(119,71,182,.2) 0%,rgba(40,99,195,.1) 50%,transparent 72%);
    filter:blur(100px);
}
.cg-ai__glow{
    position:absolute;z-index:0;pointer-events:none;
    right:-6%;top:20%;width:620px;height:620px;border-radius:50%;
    background:radial-gradient(circle,rgba(28,169,201,.22) 0%,rgba(119,71,182,.14) 48%,transparent 72%);
    filter:blur(100px);
}
.cg-ai .cg-copy p:not(.cg-eyebrow){color:var(--cg-d-body);}
.cg-ai .cg-copy p.cg-lead-strong{color:var(--cg-d-ink);}
.cg-bubbles{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.cg-bubble{
    display:flex;align-items:flex-start;gap:14px;
    padding:16px 20px;border-radius:16px;
    background:rgba(252,252,252,.06);
    border:1px solid rgba(159,186,228,.18);
    backdrop-filter:blur(8px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
    font-family:'Inter',sans-serif;font-weight:500;font-size:16px;line-height:24px;
    color:var(--cg-d-ink);
    transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.cg-bubble:nth-child(even){margin-left:40px;}
.cg-bubble:hover{transform:translateX(4px);border-color:rgba(18,182,248,.45);background:rgba(252,252,252,.09);}
.cg-bubble .cg-ic{color:#12b6f8;margin-top:1px;}
.cg-bubble .cg-ic svg{width:20px;height:20px;}
@media (max-width:991px){ .cg-bubble:nth-child(even){margin-left:24px;} }
@media (max-width:575px){
    .cg-bubble{padding:14px 16px;font-size:15px;line-height:24px;gap:12px;}
    .cg-bubble:nth-child(even){margin-left:0;}
}

/* ============================================================
   8 · USE CASES — white, dot grid · six rule-led items
   ============================================================ */
.cg-uses{background:#fcfcfc;}
.cg-uses__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 48px;}
.cg-use{position:relative;padding-left:22px;}
.cg-use::before{
    content:"";position:absolute;left:0;top:2px;bottom:2px;width:3px;border-radius:2px;
    background:var(--grad-brand-v);
}
.cg-page .cg-use h3{font-size:19px;line-height:28px;margin:0 0 10px;}
.cg-use p{
    font-family:'Inter',sans-serif;font-weight:400;font-size:15px;line-height:26px;
    color:var(--cg-body);margin:0;
}
@media (max-width:991px){ .cg-uses__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 36px;} }
@media (max-width:575px){ .cg-uses__grid{grid-template-columns:1fr;gap:28px;} }

/* ============================================================
   9 · WHO IT'S FOR — tint · pinned head + six-row ledger
   ============================================================ */
.cg-who{background:var(--cg-tint);}
.cg-who__inner{
    display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:80px;align-items:start;
}
/* The head stays in view while the list scrolls past it. */
.cg-who__head{position:sticky;top:120px;margin-bottom:0;max-width:none;}
.cg-who__list{
    list-style:none;margin:0;padding:0;
    border-top:1px solid rgba(40,99,195,.18);
}
.cg-aud{
    position:relative;
    display:grid;grid-template-columns:44px 48px minmax(0,1fr);
    column-gap:20px;align-items:start;
    padding:26px 20px 26px 0;
    border-bottom:1px solid var(--cg-line);
    transition:background .25s ease,padding-left .25s ease;
}
/* Hover: a gradient bar grows down the left edge and the row shifts in. */
.cg-aud::before{
    content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:2px;
    background:var(--grad-brand-v);
    transform:scaleY(0);transform-origin:top;transition:transform .3s cubic-bezier(.22,.61,.36,1);
}
.cg-aud:hover{padding-left:20px;}
.cg-aud:hover::before{transform:scaleY(1);}
.cg-aud__num{
    font-family:'JetBrains Mono','Inter',monospace;font-weight:500;
    font-size:12px;line-height:16px;letter-spacing:1.2px;
    color:var(--Royal-Blue-Blue-500,#0e48a5);
    padding-top:16px;
}
.cg-aud .cg-tile{width:48px;height:48px;border-radius:14px;}
.cg-aud:hover .cg-tile{background:var(--grad-brand);color:#fff;border-color:transparent;}
.cg-aud__body{min-width:0;padding-top:1px;}
.cg-page .cg-aud h3{font-size:19px;line-height:28px;margin:0 0 8px;}
.cg-aud p{
    font-family:'Inter',sans-serif;font-weight:400;font-size:15px;line-height:26px;
    color:var(--cg-body);margin:0;max-width:52ch;
}
@media (max-width:1199px){ .cg-who__inner{gap:56px;} }
@media (max-width:991px){
    .cg-who__inner{grid-template-columns:1fr;gap:40px;}
    .cg-who__head{position:static;max-width:720px;}
    .cg-aud{padding:22px 16px 22px 0;}
}
@media (max-width:575px){
    .cg-aud{grid-template-columns:40px minmax(0,1fr);column-gap:14px;padding:20px 0;}
    .cg-aud__num{display:none;}
    .cg-aud .cg-tile{width:40px;height:40px;border-radius:12px;}
    .cg-aud .cg-tile svg{width:20px;height:20px;}
    .cg-aud:hover{padding-left:0;}
    .cg-aud::before{display:none;}
}
@media (prefers-reduced-motion:reduce){
    .cg-aud,.cg-aud::before{transition:none;}
    .cg-aud:hover{padding-left:0;}
}

/* ============================================================
   10 · PLATFORM — white · one dark panel with four check chips
   ============================================================ */
.cg-platform{background:#fcfcfc;}
.cg-platform__panel{
    position:relative;overflow:hidden;
    max-width:1100px;margin:0 auto;text-align:center;
    border-radius:24px;padding:64px 56px 60px;
    background:linear-gradient(135deg,#04102E 0%,#0a2a5c 55%,#062038 100%);
    box-shadow:0 30px 60px -30px rgba(4,16,46,.55);
}
.cg-platform__panel::before{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);
    background-size:24px 24px;
}
.cg-platform__panel::after{
    content:"";position:absolute;z-index:0;pointer-events:none;border-radius:50%;
    width:520px;height:360px;top:-160px;right:-80px;
    background:rgba(28,169,201,.22);filter:blur(80px);
}
.cg-platform__inner{position:relative;z-index:1;}
.cg-platform__inner .cg-section-head{max-width:760px;margin-bottom:40px;}
.cg-platform__inner .cg-eyebrow{
    color:#67d3ff;background:rgba(252,252,252,.06);
    border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);
}
.cg-platform__inner .cg-eyebrow__dot{background:#12b6f8;box-shadow:0 0 8px rgba(18,182,248,.8);}
.cg-checks{
    list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    border-top:1px solid rgba(159,186,228,.16);border-bottom:1px solid rgba(159,186,228,.16);
}
.cg-check{
    display:flex;align-items:center;justify-content:center;gap:12px;
    padding:22px 16px;
    border-left:1px solid rgba(159,186,228,.16);
    font-family:'Space Grotesk','Inter',sans-serif;font-weight:500;
    font-size:18px;line-height:24px;letter-spacing:-.2px;color:var(--cg-d-ink);
}
.cg-check:first-child{border-left:0;}
.cg-check .cg-ic{color:#3fe0e8;}
.cg-check .cg-ic svg{width:22px;height:22px;}
@media (max-width:991px){
    .cg-platform__panel{padding:48px 32px 44px;border-radius:20px;}
    .cg-checks{grid-template-columns:repeat(2,minmax(0,1fr));}
    .cg-check{padding:18px 12px;border-top:1px solid rgba(159,186,228,.16);}
    .cg-check:nth-child(-n+2){border-top:0;}
    .cg-check:nth-child(3){border-left:0;}
}
@media (max-width:575px){
    .cg-platform__panel{padding:36px 20px 32px;border-radius:16px;}
    .cg-checks{grid-template-columns:1fr;}
    .cg-check{font-size:16px;padding:14px 8px;border-left:0;border-top:1px solid rgba(159,186,228,.16);justify-content:flex-start;}
    .cg-check:first-child{border-top:0;}
}

/* ============================================================
   11 · OUTCOMES — white, dot grid · six tinted cards
   ============================================================ */
.cg-outcomes{background:#fcfcfc;}
.cg-out{
    background:var(--cg-tint);border:1px solid var(--cg-line);
    border-radius:18px;padding:30px 28px 28px;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;
}
.cg-out:hover{transform:translateY(-4px);background:#fff;box-shadow:var(--cg-shadow-hover);border-color:rgba(40,99,195,.3);}
.cg-out .cg-ic{color:var(--Royal-Blue-Blue-500,#0e48a5);}
.cg-out .cg-ic svg{width:28px;height:28px;}
.cg-page .cg-out h3{font-size:19px;line-height:28px;margin:18px 0 10px;}
.cg-out p{
    font-family:'Inter',sans-serif;font-weight:400;font-size:15px;line-height:26px;
    color:var(--cg-body);margin:0;
}
@media (max-width:575px){ .cg-out{padding:24px 20px 22px;} }

/* ============================================================
   12 · FINAL CTA — gradient card, matching .pfs-cta__card
   ============================================================ */
.cg-cta{background:#fcfcfc;}
.cg-cta__card{
    position:relative;overflow:hidden;text-align:center;
    border-radius:28px;padding:48px 56px 52px;   /* site-wide CTA card standard */
    background:linear-gradient(135deg,#55298e 0%,#2a3f8f 38%,#0e2252 68%,#051a3c 100%);
    border:0;
    box-shadow:0 30px 60px -30px rgba(7,30,69,.45);
    --cta-surface:#12245a;
}
.cg-cta__card::before,
.cg-cta__card::after{
    content:"";position:absolute;z-index:0;border-radius:50%;
    pointer-events:none;filter:blur(70px);
}
.cg-cta__card::before{width:460px;height:320px;top:-120px;left:4%;background:rgba(28,169,201,.28);}
.cg-cta__card::after{width:500px;height:340px;bottom:-150px;right:3%;background:rgba(119,71,182,.34);}
.cg-cta__grid{
    position:absolute;inset:0;z-index:0;pointer-events:none;
    background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);
    background-size:24px 24px;
}
.cg-cta__inner{position:relative;z-index:1;max-width:900px;margin:0 auto;}
.cg-page .cg-cta__title{font-size:44px;line-height:54px;margin:0 0 16px;color:var(--cg-d-ink);}
.cg-cta__inner p{
    font-family:'Inter',sans-serif;font-weight:400;font-size:17px;line-height:28px;
    color:var(--cg-d-body);margin:0 auto 16px;max-width:680px;text-wrap:balance;
}
.cg-cta__inner .cg-cta__strong{
    font-family:'Space Grotesk','Inter',sans-serif;font-weight:500;
    font-size:19px;line-height:30px;letter-spacing:-.2px;
    color:var(--cg-d-ink);margin-bottom:34px;
}
.cg-cta__ctas{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;}
@media (max-width:991px){
    .cg-page .cg-cta__title{font-size:34px;line-height:44px;}
    .cg-cta__card{padding:44px 32px 46px;}
}
@media (max-width:575px){
    .cg-page .cg-cta__title{font-size:26px;line-height:36px;margin-bottom:16px;}
    .cg-cta__card{padding:36px 22px 38px;border-radius:22px;}
    .cg-cta__inner .cg-cta__strong{font-size:17px;line-height:28px;margin-bottom:26px;}
    .cg-cta__ctas a{width:100%;}
}

/* ============================================================
   RESPONSIVE — section rhythm
   ============================================================ */
@media (max-width:991px){
    .cg-page section{padding:72px 0;}
    .cg-section-head{margin-bottom:44px;}
}
@media (max-width:575px){
    .cg-page section{padding:56px 0;}
    .cg-section-head{margin-bottom:36px;}
}
@media (prefers-reduced-motion:reduce){
    .cg-aud,.cg-out,.cg-bubble,.cg-tile{transition:none;}
    .cg-aud:hover,.cg-out:hover,.cg-bubble:hover{transform:none;}
}

body.agentic-popup-open{overflow:hidden;}
.cg-demo-trigger{border:0;cursor:pointer;font-family:'Inter',sans-serif;}

.agentic-popup{
    position:fixed;inset:0;z-index:9999;
    display:grid;place-items:center;
    padding:18px;opacity:0;pointer-events:none;
    transition:opacity .24s ease;
}
.agentic-popup.is-open{opacity:1;pointer-events:auto;}
.agentic-popup__overlay{
    position:absolute;inset:0;
    background:rgba(3,10,25,.72);
    backdrop-filter:blur(14px);
}
.agentic-popup__dialog{
    position:relative;width:min(620px,100%);
    max-height:calc(100vh - 36px);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.14);
    border-radius:28px;
    background:
        radial-gradient(circle at 20% 0%,rgba(28,169,201,.24),transparent 34%),
        radial-gradient(circle at 90% 12%,rgba(119,71,182,.3),transparent 32%),
        linear-gradient(135deg,#55298E 0%,#2A3F8F 38%,#0E2252 68%,#051A3C 100%);
    box-shadow:0 34px 80px rgba(0,0,0,.42);
    transform:translateY(18px) scale(.98);
    transition:transform .24s ease;
}
.agentic-popup.is-open .agentic-popup__dialog{transform:translateY(0) scale(1);}
.agentic-popup__content{
    max-height:inherit;
    overflow-y:auto;
    overflow-x:hidden;
    padding:34px;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.48) transparent;
}
.agentic-popup__content::-webkit-scrollbar{width:8px;}
.agentic-popup__content::-webkit-scrollbar-track{background:transparent;}
.agentic-popup__content::-webkit-scrollbar-thumb{
    border:2px solid transparent;
    border-radius:999px;
    background-color:rgba(255,255,255,.48);
    background-clip:padding-box;
}
.agentic-popup__eyebrow{
    display:inline-flex;align-items:center;
    min-height:30px;margin-bottom:12px;
    padding:6px 11px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:rgba(252,252,252,.86);
    font-family:'Inter',sans-serif;
    font-size:12px;font-weight:700;line-height:16px;
    letter-spacing:.8px;text-transform:uppercase;
}
.agentic-popup h2{
    max-width:520px;margin:0 0 10px;
    color:#fff;font-family:'Space Grotesk',sans-serif;
    font-size:34px;font-weight:300;line-height:42px;
    letter-spacing:-.6px;
}
.agentic-popup p{
    max-width:520px;margin:0 0 18px;
    color:rgba(252,252,252,.74);
    font-family:'Inter',sans-serif;
    font-size:15px;font-weight:400;line-height:24px;
}
.agentic-popup__close{
    position:absolute;top:18px;right:18px;z-index:2;
    width:38px;height:38px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    background:rgba(255,255,255,.08);
    cursor:pointer;
    transition:background .2s ease,transform .2s ease,border-color .2s ease;
}
.agentic-popup__close:hover{
    border-color:rgba(255,255,255,.36);
    background:rgba(255,255,255,.14);
    transform:translateY(-1px);
}
.agentic-popup__close span{
    position:absolute;top:50%;left:50%;
    width:18px;height:2px;border-radius:999px;
    background:#fff;transform-origin:center;
}
.agentic-popup__close span:first-child{transform:translate(-50%,-50%) rotate(45deg);}
.agentic-popup__close span:last-child{transform:translate(-50%,-50%) rotate(-45deg);}
.agentic-popup__form{
    border-radius:14px;
    background:rgba(255,255,255,.96);
    padding:18px;
}
.agentic-popup__form .hs-form-field label,
.agentic-popup__form .hs-form-field legend{
    color:#101828;
    font-family:'Inter',sans-serif;
    font-size:14px;font-weight:600;
}
.agentic-popup__form .hs-form-field,
.agentic-popup__form .hs_submit,
.agentic-popup__form .actions{margin-bottom:10px!important;}
.agentic-popup__form input,
.agentic-popup__form select,
.agentic-popup__form textarea{
    width:100%!important;
    border-radius:8px!important;
    min-height:40px!important;
}
.agentic-popup__form textarea{min-height:72px!important;}
.agentic-popup__form .hs-button{
    border:0!important;
    border-radius:6px!important;
    background:linear-gradient(to left,#7747B6 0%,#4075C9 50.718%,#1CA9C9 100%)!important;
    color:#fff!important;
    font-family:'Inter',sans-serif!important;
    font-weight:700!important;
    min-height:44px;
    padding:10px 22px!important;
}
@media (max-width:767px){
    .agentic-popup{padding:10px;}
    .agentic-popup__dialog{border-radius:20px;max-height:calc(100vh - 20px);}
    .agentic-popup__content{max-height:inherit;padding:32px 16px 18px;}
    .agentic-popup h2{font-size:26px;line-height:34px;}
    .agentic-popup p{font-size:15px;line-height:25px;}
    .agentic-popup__form{padding:14px;}
}
@media (prefers-reduced-motion:reduce){
    .agentic-popup,.agentic-popup__dialog{transition:none;}
}

/* ==== CTA & BUTTON STANDARD (site-wide) ==== */
/* Every action button on the site shares one size: 48px tall, 30px side
   padding, 16px label. The height comes from min-height plus centring,
   not vertical padding, so 0/1/2px borders all land on exactly 48px.
   The header and the mobile nav keep their compact buttons. The same
   block is copied into every page bundle; keep the copies identical. */
body :is(.btn-primary:not(.btn-primary--sm), .btn-demo--lg, .au-btn-demo--lg,
    .btn-ghost, .ab-btn-ghost, .ld-btn-ghost, .ld-btn-outline, .ind-btn-ghost,
    .fi-btn-ghost, .hr-btn-ghost, .mk-btn-ghost, .sl-btn-ghost,
    .hero-btn-outline, .hero-btn-demo, .dm2-ghost-btn, .explore-btn,
    .pr-btn-gradient, .pr-btn-outline, .pr-btn-ghost, .pr-tbl-plan__cta,
    .cs-form__submit, .ct-form__submit, .rd-form__submit, .pt-form__submit,
    .rls-signin, .footer-cta-button):not(.site-header *, header *, .mobile-nav-panel *){
    box-sizing: border-box;
    height: auto;
    min-height: 48px;
    padding: 0 30px;
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;   /* one weight for every CTA — matches the homepage */
    align-items: center;
    justify-content: center;
}
/* Buttons that were plain blocks need flex so the label centres vertically. */
body :is(.btn-ghost, .pr-btn-gradient, .pr-btn-outline, .pr-btn-ghost, .pr-tbl-plan__cta):not(.site-header *, header *, .mobile-nav-panel *){
    display: flex;
}

/* End-of-page CTA card: one height on every page (460px on desktop, 570px
   on tablet where the copy wraps more), copy centred vertically, width
   follows the container. */
@media (min-width: 768px){
    .mcp-cta-card, .au-cta__card, .di-final-cta__card, .ld-cta__card, .pfs-cta__card, .cg-cta__card{
        box-sizing: border-box;
        min-height: 460px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}
@media (min-width: 768px) and (max-width: 1023px){
    .mcp-cta-card, .au-cta__card, .di-final-cta__card, .ld-cta__card, .pfs-cta__card, .cg-cta__card{ min-height: 570px; }
}
/* 128px of clear space above and below this page's CTA card. */
@media (min-width: 768px){
    .cg-page .cg-cta{ padding-top: 32px; padding-bottom: 128px; }
}

/* Secondary CTA appearance — the geometry above only unified SIZE, which is
   why these still looked different page to page. The gradient border uses the
   padding-box / border-box layer pair so it respects border-radius.
   --cta-surface is the colour the button sits ON; set it (and --cta-ink) on a
   light section so the inner fill and label stay legible there. */
body :is(.btn-demo--lg, .au-btn-demo--lg, .btn-ghost, .ab-btn-ghost, .ld-btn-ghost,
    .ind-btn-ghost, .fi-btn-ghost, .hr-btn-ghost, .mk-btn-ghost, .sl-btn-ghost,
    .hero-btn-outline, .hero-btn-demo, .dm2-ghost-btn):not(.site-header *, header *, .mobile-nav-panel *,
    .au-cta__card *, .di-final-cta__card *, .dm2-res-cta *, .mcp-cta-card *) {
    border: 2px solid transparent;
    border-radius: 6px;
    background:
        linear-gradient(var(--cta-surface, #051A3C), var(--cta-surface, #051A3C)) padding-box,
        var(--Explore-Button, linear-gradient(270deg, #7747b6 0%, #4075c9 50.7%, #1ca9c9 100%)) border-box;
    color: var(--cta-ink, #fcfcfc);
    font-family: 'Inter', sans-serif;
    font-weight: 600;   /* matches the primary — homepage CTA is the source of truth */
    text-decoration: none;
    transition: filter .22s ease, transform .22s cubic-bezier(.22,.61,.36,1);
}
body :is(.btn-demo--lg, .au-btn-demo--lg, .btn-ghost, .ab-btn-ghost, .ld-btn-ghost,
    .ind-btn-ghost, .fi-btn-ghost, .hr-btn-ghost, .mk-btn-ghost, .sl-btn-ghost,
    .hero-btn-outline, .hero-btn-demo, .dm2-ghost-btn):not(.site-header *, header *, .mobile-nav-panel *,
    .au-cta__card *, .di-final-cta__card *, .dm2-res-cta *, .mcp-cta-card *):hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
}
/* ==== /CTA & BUTTON STANDARD ==== */