/*
 * Predictively product UI layer — v0.3.0
 * Dark-theme reskin. Tokens in style.css :root.
 */

/* ── Product tokens ── */
:root {
    --product-shell:         rgba(22, 31, 46, 0.72);
    --product-shell-strong:  rgba(22, 31, 46, 0.92);
    --product-line:          rgba(255, 255, 255, 0.08);
    --product-line-mid:      rgba(255, 255, 255, 0.12);
    --product-line-strong:   rgba(255, 255, 255, 0.18);
    --product-panel:         #111827;
    --product-panel-soft:    #161F2E;
    --product-rule:          1px solid var(--product-line);
    --product-rule-mid:      1px solid var(--product-line-mid);
    --product-rule-strong:   1px solid var(--product-line-strong);
}

/* ── WP decontamination ── */
.comments-area,.comment-respond,.comment-form,.comment-list,
.comment-reply-link,#comments,.wp-block-search,.search-form,
.widget-area,.sidebar,.widget,.post-edit-link,.edit-link { display:none !important; }

/* ── Section label ── */
.section-label {
    display: inline-flex; align-items: center; gap: 0.55rem;
    margin: 0 0 0.85rem;
    font-family: var(--font-mono); font-size: 0.68rem; font-weight: 500;
    letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-ink-muted);
}
.section-label::before {
    content: ''; display: inline-block; width: 18px; height: 1px;
    background: var(--color-accent); opacity: 0.7; flex-shrink: 0;
}
.eyebrow::before { display: none !important; }

/* ── Branding ── */
.site-branding { display:inline-flex; align-items:center; gap:0.65rem; text-decoration:none; color:var(--color-ink); }
.site-branding__svg { display:block; height:22px; width:auto; color:var(--color-ink); flex-shrink:0; }
.site-branding__mark { display:none; }

/* ── Header ── */
.site-header {
    padding:0; border-bottom:var(--product-rule);
    background:rgba(12,18,32,0.9);
    backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
    z-index:60;
}
.site-header__inner { gap:1.5rem; }
.site-header__brand-zone { display:flex; align-items:center; min-width:0; }
.site-navigation { flex:1; justify-content:flex-end; gap:1rem; }
.site-navigation__menu-wrap { display:flex; align-items:center; }
.menu { gap:0.25rem; }
.menu li a {
    position:relative; display:inline-flex; align-items:center;
    padding:0.4rem 0.75rem; border-radius:var(--radius-sm);
    font-size:0.83rem; font-weight:500; color:var(--color-ink-soft);
    letter-spacing:0.005em;
    transition:color var(--transition-base),background var(--transition-base);
}
.menu li a:hover,.menu li a:focus-visible,
.current-menu-item>a,.current_page_item>a,.current-menu-parent>a {
    color:var(--color-ink); background:var(--color-bg-frost);
}
.menu a::after { display:none; }
.site-navigation__utility { display:flex; align-items:center; gap:0.6rem; }
.site-navigation__utility-link {
    display:inline-flex; align-items:center; min-height:2.25rem;
    padding:0.45rem 1rem; border:var(--product-rule-mid);
    border-radius:var(--radius-pill); background:var(--color-bg-frost);
    color:var(--color-ink-soft); font-family:var(--font-sans);
    font-size:0.82rem; font-weight:600; text-decoration:none;
    transition:border-color var(--transition-base),background var(--transition-base),color var(--transition-base);
}
.site-navigation__utility-link:hover,.site-navigation__utility-link:focus-visible {
    border-color:var(--product-line-strong); background:var(--color-bg-frost-hover); color:var(--color-ink);
}
.site-nav-toggle { border-color:var(--product-line-mid); background:var(--color-bg-frost); color:var(--color-ink); }

/* ── Pulse animation ── */
@keyframes pi-pulse {
    0%,100% { opacity:1; transform:scale(1); }
    50% { opacity:0.45; transform:scale(0.7); }
}

/* ── Ident strip ── */
.home-ident { display:flex; flex-wrap:wrap; gap:0; align-items:center; border-top:var(--product-rule); border-bottom:var(--product-rule); }
.home-ident__item { display:inline-flex; align-items:baseline; gap:0.6rem; padding:0.6rem 1.5rem; border-right:var(--product-rule); }
.home-ident__item:first-child { padding-left:0; }
.home-ident__label { font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.09em; text-transform:uppercase; color:rgba(238,242,248,0.18); flex-shrink:0; }
.home-ident__value { font-family:var(--font-mono); font-size:0.76rem; font-weight:500; color:var(--color-ink-soft); }
.home-ident__value--live { color:var(--color-teal); display:inline-flex; align-items:center; gap:0.35rem; }
.home-ident__value--live::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--color-teal); animation:pi-pulse 2.4s ease-in-out infinite; flex-shrink:0; }

/* ── Home hero ── */
.home-hero { padding-top:3.5rem; padding-bottom:0; }
.home-hero__layout--product { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(21rem,0.95fr); gap:clamp(2rem,4vw,4rem); align-items:start; }
.home-hero__title { font-family:var(--font-display); font-size:clamp(2.2rem,3.8vw,3.2rem); line-height:1.1; letter-spacing:-0.01em; margin-bottom:1rem; max-width:15ch; color:var(--color-ink); }
.home-hero__title em { font-style:italic; color:var(--color-accent); }
.home-hero__summary { max-width:38rem; font-size:1rem; line-height:1.72; color:var(--color-ink-soft); margin-bottom:1.5rem; }
.home-hero__action-group { display:flex; flex-wrap:wrap; gap:0.75rem; align-items:center; }

/* Signal list */
.hero-signal-list { display:grid; gap:0; margin:0 0 1.75rem; padding:0; list-style:none; border:var(--product-rule); border-radius:var(--radius-md); overflow:hidden; background:#131d2e; }
.hero-signal-list__item { display:grid; grid-template-columns:6rem 1fr; gap:0.75rem; align-items:baseline; padding:0.6rem 1rem; border-bottom:var(--product-rule); transition:background var(--transition-base); }
.hero-signal-list__item:last-child { border-bottom:0; }
.hero-signal-list__item:hover { background:#182336; }
.hero-signal-list__label { font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase; color:rgba(238,242,248,0.18); flex-shrink:0; }
.hero-signal-list__value { font-size:0.875rem; color:var(--color-ink-soft); line-height:1.5; }

/* Hero brief card */
.hero-brief { display:grid; gap:0; border:var(--product-rule-mid); border-radius:var(--radius-xl); overflow:hidden; background:#161F2E; box-shadow:var(--shadow-panel); position:relative; }
.hero-brief::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--color-accent-line),transparent); pointer-events:none; z-index:1; }
.hero-brief__topline { display:flex; flex-wrap:wrap; justify-content:space-between; gap:0.6rem; align-items:center; padding:0.7rem 1.25rem; border-bottom:var(--product-rule); background:rgba(255,255,255,0.02); }
.hero-brief__stamp { font-family:var(--font-mono); font-size:0.65rem; letter-spacing:0.05em; color:rgba(238,242,248,0.18); }
.hero-brief__live-badge { display:inline-flex; align-items:center; gap:0.35rem; padding:0.22rem 0.6rem; border-radius:var(--radius-pill); background:rgba(16,185,129,0.12); border:1px solid rgba(16,185,129,0.22); font-family:var(--font-mono); font-size:0.6rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--color-green); }
.hero-brief__live-badge::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--color-green); animation:pi-pulse 2s ease-in-out infinite; }
.hero-brief__dominant { padding:1.25rem 1.25rem 1rem; border-bottom:var(--product-rule); }
.hero-brief__dominant-label { display:block; margin-bottom:0.4rem; font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(238,242,248,0.18); }
.hero-brief__dominant-value { margin:0; font-family:var(--font-sans); font-size:1.05rem; font-weight:600; line-height:1.4; color:var(--color-ink); }
.hero-brief__supporting { display:grid; gap:0; padding:0; }
.hero-brief__supporting-row { display:grid; grid-template-columns:5.5rem 1fr; gap:0.6rem; align-items:baseline; padding:0.55rem 1.25rem; border-bottom:1px solid rgba(255,255,255,0.04); transition:background var(--transition-base); }
.hero-brief__supporting-row:last-child { border-bottom:0; }
.hero-brief__supporting-row:hover { background:var(--color-bg-frost); }
.hero-brief__supporting-row span { font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.07em; text-transform:uppercase; color:rgba(238,242,248,0.18); }
.hero-brief__supporting-row strong { font-size:0.86rem; font-weight:500; color:var(--color-ink-soft); line-height:1.45; }
.hero-brief__provenance { display:flex; justify-content:space-between; gap:0.6rem; align-items:center; padding:0.65rem 1.25rem; border-top:var(--product-rule); background:rgba(255,255,255,0.02); }
.hero-brief__provenance span:first-child { font-family:var(--font-mono); font-size:0.6rem; letter-spacing:0.07em; text-transform:uppercase; color:rgba(238,242,248,0.18); }
.hero-brief__provenance span:last-child { font-family:var(--font-mono); font-size:0.7rem; color:var(--color-ink-muted); }

/* ── Brief architecture ── */
.brief-arch { padding:clamp(3.5rem,7vw,5.5rem) 0; border-top:var(--product-rule); }
.brief-arch__header { max-width:40rem; margin-bottom:clamp(2rem,4vw,3.5rem); }
.brief-arch__title { font-family:var(--font-display); font-size:clamp(1.6rem,2.5vw,2.1rem); line-height:1.15; margin-bottom:0.65rem; letter-spacing:-0.01em; color:var(--color-ink); }
.brief-arch__summary { font-size:0.96rem; color:var(--color-ink-soft); margin:0; line-height:1.7; }
.brief-arch__list { display:grid; gap:0; margin:0; padding:0; list-style:none; border:var(--product-rule); border-radius:var(--radius-lg); overflow:hidden; }
.brief-arch__item { display:grid; grid-template-columns:3.5rem 1fr; gap:1.25rem; align-items:start; padding:1.4rem 1.75rem; border-bottom:var(--product-rule); background:var(--color-bg-frost); position:relative; overflow:hidden; transition:background var(--transition-base); }
.brief-arch__item:last-child { border-bottom:0; }
.brief-arch__item:hover { background:var(--color-bg-frost-hover); }
.brief-arch__item::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--color-accent); transform:scaleY(0); transform-origin:bottom; transition:transform 320ms var(--ease-expo); }
.brief-arch__item:hover::before { transform:scaleY(1); }
.brief-arch__num { padding-top:0.1rem; font-family:var(--font-mono); font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-accent); flex-shrink:0; opacity:0.7; }
.brief-arch__body { display:grid; gap:0.3rem; }
.brief-arch__item-title { font-size:0.96rem; font-weight:600; color:var(--color-ink); line-height:1.4; margin:0 0 0.2rem; }
.brief-arch__item-text { font-size:0.875rem; color:var(--color-ink-soft); line-height:1.65; margin:0; }

/* ── Coverage ── */
.coverage { padding:clamp(3.5rem,7vw,5.5rem) 0; border-top:var(--product-rule); }
.coverage-layout { display:grid; grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr); gap:clamp(2rem,4vw,4.5rem); align-items:start; }
.coverage__header { position:sticky; top:calc(var(--header-height,3.75rem) + 1.5rem); }
.coverage__title { font-family:var(--font-display); font-size:clamp(1.6rem,2.5vw,2.1rem); line-height:1.15; letter-spacing:-0.01em; margin-bottom:0.75rem; color:var(--color-ink); }
.coverage__summary { font-size:0.96rem; color:var(--color-ink-soft); line-height:1.7; margin-bottom:1.75rem; }
.coverage-table { display:grid; gap:0; border:var(--product-rule); border-radius:var(--radius-lg); overflow:hidden; }
.coverage-table__group-label { padding:0.5rem 1.25rem; background:rgba(255,255,255,0.025); border-bottom:var(--product-rule); font-family:var(--font-mono); font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(238,242,248,0.18); }
.coverage-table__row { display:grid; grid-template-columns:9rem 1fr; gap:1rem; align-items:baseline; padding:0.8rem 1.25rem; border-bottom:1px solid rgba(255,255,255,0.04); background:var(--color-bg-frost); transition:background var(--transition-base); }
.coverage-table__row:last-child { border-bottom:0; }
.coverage-table__row:hover { background:var(--color-bg-frost-hover); }
.coverage-table__key { font-family:var(--font-mono); font-size:0.65rem; letter-spacing:0.07em; text-transform:uppercase; color:rgba(238,242,248,0.18); flex-shrink:0; padding-top:0.1rem; }
.coverage-table__value { font-size:0.875rem; color:var(--color-ink-soft); line-height:1.55; }
.coverage-table__value strong { color:var(--color-ink); font-weight:600; }

/* ── Audiences ── */
.audiences { padding:clamp(3.5rem,7vw,5.5rem) 0; border-top:var(--product-rule); }
.audiences__header { margin-bottom:2rem; }
.audiences__title { font-family:var(--font-display); font-size:clamp(1.6rem,2.5vw,2.1rem); line-height:1.15; letter-spacing:-0.01em; margin-bottom:0.5rem; color:var(--color-ink); }
.audiences__summary { font-size:0.96rem; color:var(--color-ink-soft); margin:0; }
.audience-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:0; padding:0; list-style:none; border:var(--product-rule); border-radius:var(--radius-lg); overflow:hidden; }
.audience-item { padding:1.5rem; border-right:var(--product-rule); background:var(--color-bg-frost); transition:background var(--transition-base); }
.audience-item:last-child { border-right:0; }
.audience-item:hover { background:var(--color-bg-frost-hover); }
.audience-item__role { display:block; margin-bottom:0.5rem; font-family:var(--font-mono); font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-accent); opacity:0.75; }
.audience-item__title { font-size:0.96rem; font-weight:600; color:var(--color-ink); line-height:1.4; margin:0 0 0.5rem; }
.audience-item__text { font-size:0.875rem; color:var(--color-ink-soft); line-height:1.65; margin:0; }

/* ── CTA strip ── */
.cta-strip { padding:clamp(3.5rem,6vw,5rem) 0; background:var(--color-bg-surface); border-top:var(--product-rule); border-bottom:var(--product-rule); position:relative; overflow:hidden; }
.cta-strip::before { content:''; position:absolute; left:50%; top:0; transform:translateX(-50%); width:60%; height:1px; background:linear-gradient(90deg,transparent,var(--color-accent-line),transparent); pointer-events:none; }
.cta-strip__inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:center; }
.cta-strip__title { font-family:var(--font-display); font-size:clamp(1.4rem,2.2vw,1.9rem); line-height:1.18; color:var(--color-ink); margin-bottom:0.5rem; letter-spacing:-0.01em; max-width:30ch; }
.cta-strip__text { font-size:0.96rem; color:var(--color-ink-soft); margin:0; line-height:1.65; }
.cta-strip__actions { display:flex; flex-direction:column; gap:0.6rem; align-items:flex-end; flex-shrink:0; }
.cta-band { grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr); align-items:start; }

/* ── Page hero ── */
.page-hero { padding:clamp(3.5rem,7vw,5.5rem) 0 clamp(2rem,4vw,3rem); border-bottom:var(--product-rule); }
.section-heading { grid-template-columns:1fr; align-items:start; max-width:56rem; margin-bottom:var(--space-xl); }
.section-heading__title { max-width:20ch; font-family:var(--font-display); font-size:clamp(1.8rem,3vw,2.4rem); letter-spacing:-0.01em; color:var(--color-ink); }
.section-heading__summary { max-width:48rem; font-size:1rem; color:var(--color-ink-soft); }
.page-hero__inner--split { grid-template-columns:minmax(0,1.55fr) minmax(18rem,0.9fr); gap:clamp(1.5rem,3vw,3rem); align-items:start; }
.page-hero__title { max-width:16ch; font-family:var(--font-display); font-size:clamp(1.8rem,3vw,2.4rem); letter-spacing:-0.01em; line-height:1.12; color:var(--color-ink); }
.page-hero__summary { max-width:44rem; font-size:1rem; color:var(--color-ink-soft); line-height:1.7; }
.page-hero__meta { gap:0.5rem; margin-top:var(--space-md); }
.page-hero__meta span { display:inline-flex; align-items:center; min-height:1.85rem; padding:0.28rem 0.65rem; border:var(--product-rule-mid); border-radius:var(--radius-pill); background:var(--color-bg-frost); font-family:var(--font-mono); font-size:0.65rem; letter-spacing:0.07em; text-transform:uppercase; color:var(--color-ink-muted); }
.page-hero__action-group { display:flex; flex-wrap:wrap; gap:0.75rem; margin-top:var(--space-lg); }
.page-hero__panel { padding:1.15rem; border:var(--product-rule-mid); border-radius:var(--radius-xl); background:var(--color-bg-surface); box-shadow:var(--shadow-soft); position:relative; overflow:hidden; }
.page-hero__panel::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--color-accent-line),transparent); }
.page-hero__panel-title { margin:0 0 0.85rem; font-family:var(--font-mono); font-size:0.65rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-ink-muted); }
.page-hero__panel-list { display:grid; gap:0.8rem; }
.page-hero__panel-item { display:grid; gap:0.3rem; padding-top:0.8rem; border-top:var(--product-rule); }
.page-hero__panel-item:first-child { padding-top:0; border-top:0; }
.page-hero__panel-item span { font-size:0.65rem; color:var(--color-ink-muted); text-transform:uppercase; letter-spacing:0.07em; font-family:var(--font-mono); }
.page-hero__panel-item strong { font-family:var(--font-sans); font-size:0.9rem; line-height:1.45; color:var(--color-ink); }

/* ── Listing toolbar ── */
.listing-toolbar { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(18rem,0.85fr); gap:1.5rem; margin-bottom:var(--space-xl); padding-bottom:1rem; border-bottom:var(--product-rule); }
.listing-toolbar__title { margin-bottom:0; font-family:var(--font-display); font-size:clamp(1.8rem,3vw,2.4rem); letter-spacing:-0.01em; color:var(--color-ink); }
.listing-toolbar__summary { margin:0; color:var(--color-ink-soft); align-self:end; }
.content-grid--library { gap:1.25rem; }
.post-card { position:relative; border:var(--product-rule); border-radius:var(--radius-lg); background:var(--color-bg-surface); overflow:hidden; transition:border-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base); }
.post-card:hover { border-color:var(--product-line-mid); }
.post-card__serial { position:absolute; top:1rem; right:1rem; z-index:2; font-family:var(--font-mono); font-size:0.65rem; letter-spacing:0.09em; color:var(--color-ink-muted); }
.post-card__content { gap:1rem; }
.post-card__meta-cluster { display:flex; flex-wrap:wrap; gap:0.5rem 0.75rem; align-items:center; }
.post-card__title { margin-bottom:0; color:var(--color-ink); }
.post-card__excerpt { margin-bottom:0; color:var(--color-ink-soft); }
.post-card__footer-note { font-size:0.84rem; color:var(--color-ink-muted); }
.post-card--featured { grid-column:1/-1; }
.post-card--featured .post-card__content { padding:clamp(1.4rem,3vw,2rem); }
.post-card--featured .post-card__media img { aspect-ratio:18/9; }
.post-card--featured .post-card__title a { font-size:clamp(1.3rem,1.8vw,1.85rem); line-height:1.1; }

/* ── Report provenance ── */
.report-hero__provenance { display:flex; flex-wrap:wrap; gap:0 2rem; align-items:center; padding:0.65rem 0; margin-bottom:1.25rem; border-bottom:var(--product-rule); }
.report-hero__provenance-source { font-family:var(--font-sans); font-size:0.875rem; font-weight:600; color:var(--color-ink); }
.report-hero__provenance-item { display:inline-flex; align-items:baseline; gap:0.4rem; }
.report-hero__provenance-item span { font-family:var(--font-mono); font-size:0.6rem; letter-spacing:0.07em; text-transform:uppercase; color:var(--color-ink-muted); }
.report-hero__provenance-item strong { font-size:0.875rem; font-weight:600; color:var(--color-ink); }
.report-hero__provenance-item--right { margin-left:auto; font-family:var(--font-mono); font-size:0.7rem; color:var(--color-ink-muted); }
.report-hero__panel-item--dominant { padding-bottom:0.85rem; margin-bottom:0.5rem; border-bottom:var(--product-rule); }
.report-hero__panel-item--dominant strong { font-size:1rem; line-height:1.4; }
.report-data-provenance { display:flex; flex-wrap:wrap; gap:0 1.75rem; align-items:center; padding:0.6rem 1.25rem; margin-bottom:0.85rem; border:var(--product-rule); border-radius:var(--radius-md); background:var(--color-bg-frost); }
.report-data-provenance strong { font-family:var(--font-sans); font-size:0.875rem; font-weight:600; color:var(--color-ink); }
.report-data-provenance span { font-family:var(--font-mono); font-size:0.75rem; color:var(--color-ink-soft); }

/* ── Report workspace (home preview) ── */
.report-workspace { display:grid; grid-template-columns:minmax(14rem,0.38fr) minmax(0,1fr); border:var(--product-rule); border-radius:var(--radius-xl); overflow:hidden; }
.report-workspace__credibility-bar { display:flex; flex-wrap:wrap; gap:0.5rem 1.25rem; align-items:center; padding:0.7rem 1.15rem; border-bottom:var(--product-rule); background:var(--color-bg-frost); }
.report-workspace__credibility-item { display:inline-flex; align-items:baseline; gap:0.4rem; }
.report-workspace__credibility-item span { font-family:var(--font-mono); font-size:0.6rem; letter-spacing:0.07em; text-transform:uppercase; color:rgba(238,242,248,0.18); }
.report-workspace__credibility-item strong { font-family:var(--font-mono); font-size:0.74rem; font-weight:500; color:var(--color-ink-muted); }
.workspace-nav__item,.workspace-sidecard,.executive-card,.analysis-panel,.recommendation-card { border-radius:var(--radius-md); }
.executive-grid--balanced { grid-template-columns:minmax(0,1.2fr) minmax(14rem,0.8fr); }
.recommendation-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
.recommendation-strip--two-col { grid-template-columns:repeat(2,minmax(0,1fr)); }

/* ── Risk rank list ── */
.risk-rank-list { display:grid; gap:0.65rem; }
.risk-rank-list__item { display:grid; grid-template-columns:5rem 1fr; gap:0.7rem; align-items:start; padding:0.75rem 0.85rem; border:var(--product-rule); border-radius:var(--radius-md); background:var(--color-bg-frost); transition:background var(--transition-base),border-color var(--transition-base); }
.risk-rank-list__item:hover { background:var(--color-bg-frost-hover); border-color:var(--product-line-mid); }
.risk-rank-list__severity { display:inline-flex; align-items:center; justify-content:center; padding:0.28rem 0.45rem; border-radius:var(--radius-xs); font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.07em; text-transform:uppercase; font-weight:500; white-space:nowrap; }
.risk-rank-list__item--high .risk-rank-list__severity { background:rgba(239,68,68,0.12); color:#FDA0A0; border:1px solid rgba(239,68,68,0.2); }
.risk-rank-list__item--medium .risk-rank-list__severity { background:rgba(245,158,11,0.1); color:#FBBF70; border:1px solid rgba(245,158,11,0.2); }
.risk-rank-list__item--low .risk-rank-list__severity { background:rgba(255,255,255,0.05); color:var(--color-ink-muted); border:var(--product-rule); }
.risk-rank-list__body strong { display:block; margin-bottom:0.3rem; font-size:0.9rem; color:var(--color-ink); line-height:1.35; }
.risk-rank-list__body p { margin:0; font-size:0.82rem; color:var(--color-ink-soft); line-height:1.5; }

/* ── Platform & Design choices ── */
.platform-section { padding:clamp(3.5rem,7vw,5.5rem) 0; border-top:var(--product-rule); }
.platform-pipeline { display:grid; gap:0; border:var(--product-rule); border-radius:var(--radius-lg); overflow:hidden; }
.platform-pipeline__stage { display:grid; grid-template-columns:8rem 1fr; gap:1.25rem; align-items:start; padding:1.25rem 1.5rem; border-bottom:var(--product-rule); background:var(--color-bg-frost); transition:background var(--transition-base); position:relative; overflow:hidden; }
.platform-pipeline__stage:last-child { border-bottom:0; }
.platform-pipeline__stage:hover { background:var(--color-bg-frost-hover); }
.platform-pipeline__stage::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--color-accent); transform:scaleY(0); transform-origin:bottom; transition:transform 320ms var(--ease-expo); }
.platform-pipeline__stage:hover::before { transform:scaleY(1); }
.platform-pipeline__index { font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-accent); opacity:0.7; padding-top:0.15rem; }
.platform-pipeline__body h3 { font-size:0.96rem; font-weight:600; color:var(--color-ink); margin:0 0 0.3rem; line-height:1.35; }
.platform-pipeline__body p { font-size:0.875rem; color:var(--color-ink-soft); margin:0; line-height:1.65; }
.design-choices { display:grid; gap:0; border:var(--product-rule); border-radius:var(--radius-lg); overflow:hidden; }
.design-choices__row { display:grid; grid-template-columns:11rem 1fr; gap:1.25rem; align-items:baseline; padding:1rem 1.5rem; border-bottom:var(--product-rule); background:var(--color-bg-frost); transition:background var(--transition-base); }
.design-choices__row:last-child { border-bottom:0; }
.design-choices__row:hover { background:var(--color-bg-frost-hover); }
.design-choices__decision { font-family:var(--font-mono); font-size:0.65rem; letter-spacing:0.07em; text-transform:uppercase; color:var(--color-ink-muted); padding-top:0.1rem; }
.design-choices__rationale { font-size:0.9rem; color:var(--color-ink-soft); line-height:1.65; margin:0; }

/* ── Industries ── */
.market-list { display:grid; gap:0; border:var(--product-rule); border-radius:var(--radius-lg); overflow:hidden; }
.market-list__item { display:grid; grid-template-columns:10rem 1fr auto; gap:1.25rem; align-items:center; padding:1.1rem 1.5rem; border-bottom:var(--product-rule); text-decoration:none; color:inherit; background:var(--color-bg-frost); transition:background var(--transition-base); position:relative; overflow:hidden; }
.market-list__item:last-child { border-bottom:0; }
.market-list__item:hover { background:var(--color-bg-frost-hover); }
.market-list__item::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--color-accent); transform:scaleY(0); transform-origin:bottom; transition:transform 300ms var(--ease-expo); }
.market-list__item:hover::before { transform:scaleY(1); }
.market-list__market { font-weight:600; font-size:0.96rem; color:var(--color-ink); }
.market-list__description { font-size:0.875rem; color:var(--color-ink-soft); line-height:1.5; }
.market-list__status { font-family:var(--font-mono); font-size:0.65rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--color-ink-muted); white-space:nowrap; }
.market-list__status--live { color:var(--color-teal); }

/* ── Reports manifest ── */
.report-manifest { display:grid; gap:0; border:var(--product-rule); border-radius:var(--radius-lg); overflow:hidden; }
.report-manifest__header { display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:center; padding:0.55rem 1.5rem; background:rgba(255,255,255,0.025); border-bottom:var(--product-rule); font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.09em; text-transform:uppercase; color:var(--color-ink-muted); }
.report-manifest__row { display:grid; grid-template-columns:2fr 8rem 8rem auto; gap:1.25rem; align-items:center; padding:1.1rem 1.5rem; border-bottom:var(--product-rule); text-decoration:none; color:inherit; background:var(--color-bg-frost); transition:background var(--transition-base); position:relative; overflow:hidden; }
.report-manifest__row:last-child { border-bottom:0; }
.report-manifest__row:hover { background:var(--color-bg-frost-hover); }
.report-manifest__row::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--color-accent); transform:scaleY(0); transform-origin:bottom; transition:transform 300ms var(--ease-expo); }
.report-manifest__row:hover::before { transform:scaleY(1); }
.report-manifest__name { font-weight:600; font-size:0.96rem; color:var(--color-ink); line-height:1.4; }
.report-manifest__period,.report-manifest__coverage { font-family:var(--font-mono); font-size:0.76rem; color:var(--color-ink-muted); }
.report-manifest__access { display:inline-flex; align-items:center; padding:0.25rem 0.55rem; border-radius:var(--radius-pill); font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.07em; text-transform:uppercase; border:var(--product-rule); color:var(--color-ink-muted); background:var(--color-bg-frost); justify-self:end; }

/* ── Insights ── */
.insights-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.insight-card { padding:1.5rem; border:var(--product-rule); border-radius:var(--radius-lg); background:var(--color-bg-frost); text-decoration:none; color:inherit; display:grid; gap:0.75rem; align-content:start; transition:border-color var(--transition-base),background var(--transition-base),transform var(--transition-base); }
.insight-card:hover { border-color:var(--product-line-mid); background:var(--color-bg-frost-hover); color:inherit; transform:translateY(-2px); }
.insight-card__meta { display:flex; gap:0.75rem; align-items:center; }
.insight-card__type { font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.09em; text-transform:uppercase; color:var(--color-accent); opacity:0.8; }
.insight-card__date { font-family:var(--font-mono); font-size:0.7rem; color:var(--color-ink-muted); }
.insight-card__title { font-size:0.96rem; font-weight:600; color:var(--color-ink); line-height:1.4; margin:0; }
.insight-card__excerpt { font-size:0.875rem; color:var(--color-ink-soft); line-height:1.65; margin:0; }

/* ── Methodology ── */
.methodology-section { padding:clamp(2.5rem,5vw,4.5rem) 0; border-top:var(--product-rule); }
.methodology-steps { display:grid; gap:0; border:var(--product-rule); border-radius:var(--radius-lg); overflow:hidden; }
.methodology-steps__step { display:grid; grid-template-columns:4rem 1fr; gap:1.25rem; align-items:start; padding:1.5rem; border-bottom:var(--product-rule); background:var(--color-bg-frost); transition:background var(--transition-base); position:relative; overflow:hidden; }
.methodology-steps__step:last-child { border-bottom:0; }
.methodology-steps__step:hover { background:var(--color-bg-frost-hover); }
.methodology-steps__step::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--color-accent); transform:scaleY(0); transform-origin:bottom; transition:transform 320ms var(--ease-expo); }
.methodology-steps__step:hover::before { transform:scaleY(1); }
.methodology-steps__num { font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-accent); opacity:0.7; padding-top:0.15rem; }
.methodology-steps__body h3 { font-size:1rem; font-weight:600; color:var(--color-ink); margin:0 0 0.45rem; line-height:1.35; }
.methodology-steps__body p { font-size:0.9rem; color:var(--color-ink-soft); margin:0; line-height:1.65; }
.methodology-principles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; border:var(--product-rule); border-radius:var(--radius-lg); overflow:hidden; }
.methodology-principle { padding:1.5rem; border-right:var(--product-rule); border-bottom:var(--product-rule); background:var(--color-bg-frost); transition:background var(--transition-base); }
.methodology-principle:hover { background:var(--color-bg-frost-hover); }
.methodology-principle:nth-child(even) { border-right:0; }
.methodology-principle:nth-last-child(-n+2) { border-bottom:0; }
.methodology-principle h3 { font-size:0.96rem; font-weight:600; color:var(--color-ink); margin:0 0 0.4rem; line-height:1.35; }
.methodology-principle p { font-size:0.875rem; color:var(--color-ink-soft); margin:0; line-height:1.65; }

/* ── Footer ── */
.site-footer { margin-top:0; padding-top:0; border-top:var(--product-rule-strong); background:var(--color-bg-raised); }
.site-footer__inner { gap:0; padding-top:var(--space-lg); padding-bottom:var(--space-lg); }
.site-footer__row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3rem; align-items:start; padding-bottom:var(--space-lg); border-bottom:var(--product-rule); }
.site-footer__brand { display:grid; gap:0.6rem; max-width:24rem; }
.site-footer__descriptor { font-size:0.84rem; color:var(--color-ink-muted); line-height:1.6; margin:0; }
.site-footer__actions { display:flex; flex-wrap:wrap; gap:0.65rem; margin-top:0.1rem; }
.site-footer__nav-cols { display:flex; gap:3rem; align-items:start; flex-shrink:0; }
.footer-nav__group h4 { margin:0 0 0.65rem; font-family:var(--font-mono); font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-ink-ghost); }
.footer-nav__group ul { list-style:none; margin:0; padding:0; display:grid; gap:0.4rem; }
.footer-nav__group ul li a { font-size:0.84rem; color:var(--color-ink-muted); text-decoration:none; transition:color var(--transition-base); white-space:nowrap; }
.footer-nav__group ul li a:hover { color:var(--color-ink-soft); }
.site-footer__meta { display:flex; justify-content:space-between; gap:1rem; padding-top:1rem; font-family:var(--font-mono); font-size:0.68rem; color:var(--color-ink-ghost); }
.site-footer__legal { display:flex; gap:1.25rem; flex-wrap:wrap; }
.site-footer__legal a { color:var(--color-ink-ghost); text-decoration:none; font-size:0.68rem; transition:color var(--transition-base); }
.site-footer__legal a:hover { color:var(--color-ink-muted); }
.site-footer__legal a:hover { color:var(--color-ink-soft); }

/* ── Legacy compat ── */
.problem-layout { display:grid; grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr); gap:clamp(1.5rem,3vw,3rem); align-items:start; }
.problem-intro__summary { max-width:34rem; font-size:1rem; color:var(--color-ink-soft); }
.problem-grid { gap:1rem; }
.problem-card { background:var(--color-bg-frost); border:var(--product-rule); border-radius:var(--radius-md); transition:background var(--transition-base),border-color var(--transition-base); }
.problem-card:hover { background:var(--color-bg-frost-hover); border-color:var(--product-line-mid); }
.solution-layout--product { grid-template-columns:minmax(0,0.88fr) minmax(0,1.12fr); }
.comparison-card__header { margin-bottom:1rem; }
.comparison-card__header h3 { max-width:17ch; margin-bottom:0; }
.capability-grid--modules { grid-template-columns:repeat(2,minmax(0,1fr)); }
.capability-card__eyebrow { margin:0 0 0.4rem; font-family:var(--font-mono); font-size:0.65rem; letter-spacing:0.09em; text-transform:uppercase; color:var(--color-accent); opacity:0.8; }
.use-case-grid--editorial { grid-template-columns:repeat(3,minmax(0,1fr)); }

/* ── Scroll reveal ── */
.pi-reveal { opacity:0; transform:translateY(16px); transition:opacity 0.55s var(--ease-expo),transform 0.55s var(--ease-expo); }
.pi-reveal.is-visible { opacity:1; transform:translateY(0); }
.pi-reveal:nth-child(2) { transition-delay:60ms; }
.pi-reveal:nth-child(3) { transition-delay:120ms; }
.pi-reveal:nth-child(4) { transition-delay:180ms; }
.pi-reveal:nth-child(5) { transition-delay:240ms; }

/* ── Responsive ── */
@media (min-width:960px) {
    .post-card--featured { grid-template-columns:minmax(22rem,0.95fr) minmax(0,1.05fr); align-items:stretch; }
    .post-card--featured .post-card__media { min-height:100%; }
    .post-card--featured .post-card__media img { height:100%; }
}

@media (max-width:959px) {
    .site-navigation { position:fixed; top:calc(var(--header-height) + 0.75rem); right:1rem; left:1rem; display:grid; gap:var(--space-md); padding:var(--space-lg); border:var(--product-rule-mid); border-radius:var(--radius-lg); background:rgba(17,24,39,0.98); box-shadow:var(--shadow-panel); opacity:0; visibility:hidden; transform:translateY(-0.5rem); pointer-events:none; transition:opacity var(--transition-base),transform var(--transition-base),visibility var(--transition-base); }
    .site-navigation .menu { flex-direction:column; align-items:flex-start; }
    body.admin-bar .site-navigation { top:calc(var(--header-height) + 32px + 0.75rem); }
    .is-nav-open .site-navigation { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
    .site-navigation { flex-direction:column; align-items:stretch; }
    .site-navigation__menu-wrap,.site-navigation__utility { width:100%; }
    .site-navigation__utility { flex-direction:column; align-items:stretch; }
    .page-hero__inner--split,.section-heading,.problem-layout,.solution-layout--product,.cta-band,.listing-toolbar,.site-footer__row,.coverage-layout,.cta-strip__inner { grid-template-columns:1fr; }
    .coverage__header { position:static; }
    .home-hero__layout--product,.capability-grid--modules,.use-case-grid--editorial,.site-footer__nav-cols,.recommendation-strip,.recommendation-strip--two-col,.executive-grid--balanced,.report-workspace,.audience-list,.methodology-principles,.insights-grid,.report-manifest__row { grid-template-columns:1fr; }
    .site-footer__nav-cols { flex-wrap:wrap; gap:1.5rem; }
    .audience-item { border-right:0; border-bottom:var(--product-rule); }
    .audience-item:last-child { border-bottom:0; }
    .market-list__item { grid-template-columns:1fr auto; }
    .market-list__description { display:none; }
    .cta-strip__actions { align-items:flex-start; flex-direction:row; flex-wrap:wrap; }
}

@media (max-width:782px) {
    body.admin-bar .site-header { top:46px; }
    body.admin-bar .site-navigation { top:calc(var(--header-height) + 46px + 0.75rem); }
}

@media (max-width:640px) {
    .home-hero__title { font-size:2rem; }
    .page-hero { padding-top:3rem; }
    .site-branding__tagline { display:none; }
    .page-hero__action-group,.site-footer__actions,.home-hero__action-group { flex-direction:column; align-items:stretch; }
    .post-card__footer { align-items:flex-start; flex-direction:column; }
    .site-footer__meta { flex-direction:column; gap:0.35rem; }
    .footer-nav__note { padding-left:0; border-left:0; border-top:var(--product-rule); padding-top:1rem; }
    .hero-signal-list__item { grid-template-columns:5rem 1fr; }
    .risk-rank-list__item { grid-template-columns:1fr; }
    .report-workspace__credibility-bar { gap:0.4rem 0.9rem; }
    .brief-arch__item { grid-template-columns:2.5rem 1fr; gap:0.85rem; }
    .coverage-table__row { grid-template-columns:7rem 1fr; }
    .platform-pipeline__stage,.methodology-steps__step { grid-template-columns:1fr; gap:0.5rem; }
    .design-choices__row { grid-template-columns:1fr; gap:0.4rem; }
    .home-ident { gap:0; }
    .home-ident__item { padding:0.5rem 0.9rem; }
}

/* -----------------------------------------------------------------------
   Reveal safety net
   If JS fails or is slow, nothing stays hidden. noscript fallback.
----------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .pi-reveal,
    .pi-reveal-group,
    .pi-reveal-group > *,
    .pi-hero-enter {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* -----------------------------------------------------------------------
   Hero city backdrop — Vancouver photo with overlay treatment
   Image sits behind all hero content, desaturated + darkened,
   fading hard on the left (text legibility), soft on right and bottom.
----------------------------------------------------------------------- */

.home-hero--city {
    position: relative;
    overflow: hidden;
    padding-bottom: 7rem;
}

.hero-city-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.hero-city-bg img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 38%;
    /* Desaturate, darken, slight contrast pull — retains warm tones at low saturation */
    filter: grayscale(72%) brightness(0.38) contrast(1.08) saturate(0.6);
    display: block;
}

/* Hard left fade — fully opaque from left edge to ~40%, protecting text */
.hero-city-bg__fade-left {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        #0C1220 0%,
        #0C1220 22%,
        rgba(12, 18, 32, 0.92) 35%,
        rgba(12, 18, 32, 0.6)  52%,
        rgba(12, 18, 32, 0.15) 72%,
        transparent 100%
    );
}

/* Soft right fade — keeps right edge from looking cropped */
.hero-city-bg__fade-right {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to left,
        rgba(12, 18, 32, 0.45) 0%,
        transparent 35%
    );
}

/* Top fade — bleeds into site header */
.hero-city-bg__fade-top {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        #0C1220 0%,
        rgba(12, 18, 32, 0.5) 8%,
        transparent 22%
    );
}

/* Bottom fade — long gradual dissolve well before the section break */
.hero-city-bg__fade-bottom {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        #0C1220 0%,
        #0C1220 12%,
        rgba(12, 18, 32, 0.97) 22%,
        rgba(12, 18, 32, 0.90) 32%,
        rgba(12, 18, 32, 0.72) 44%,
        rgba(12, 18, 32, 0.45) 56%,
        rgba(12, 18, 32, 0.18) 70%,
        transparent 85%
    );
}

/* Dark navy tint overlay — ties the warm photo tones to the site palette */
.hero-city-bg__tint {
    position: absolute;
    inset: 0;
    background: rgba(12, 18, 32, 0.28);
    mix-blend-mode: multiply;
}


/* -----------------------------------------------------------------------
   Pricing page
----------------------------------------------------------------------- */

/* Hero */
.pricing-hero .page-hero__title {
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3.2vw, 2.8rem);
    font-weight: 400;
    max-width: 18ch;
}

/* Main layout: price card left, value proposition right */
.pricing-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 4vw, 4rem);
    align-items: start;
    padding-top: 3rem;
}

/* ── Price card ── */
.pricing-card {
    border: 1px solid var(--color-border-mid);
    border-radius: var(--radius-xl);
    background: var(--color-bg-surface);
    overflow: hidden;
    position: relative;
}

/* Accent line at top */
.pricing-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--color-accent), var(--color-teal));
}

.pricing-card__header {
    padding: 2rem 2rem 1.5rem;
}

.pricing-card__label {
    font-family: var(--font-mono);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-ink-ghost);
    margin: 0 0 1.25rem;
}

.pricing-card__price-row {
    display: flex;
    align-items: baseline;
    gap: 0.2rem;
    margin-bottom: 0.6rem;
}

.pricing-card__currency {
    font-family: var(--font-sans);
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--color-ink-soft);
    align-self: flex-start;
    padding-top: 0.35rem;
}

.pricing-card__amount {
    font-family: var(--font-display);
    font-size: clamp(3.5rem, 6vw, 5rem);
    font-weight: 400;
    line-height: 1;
    color: var(--color-ink);
    letter-spacing: -0.02em;
}

.pricing-card__period {
    font-family: var(--font-sans);
    font-size: 1rem;
    color: var(--color-ink-muted);
    padding-bottom: 0.35rem;
    align-self: flex-end;
}

.pricing-card__tagline {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    color: var(--color-ink-ghost);
    letter-spacing: 0.04em;
    margin: 0;
}

.pricing-card__divider {
    height: 1px;
    background: var(--color-border);
    margin: 0;
}

.pricing-card__features {
    list-style: none;
    margin: 0;
    padding: 1.5rem 2rem;
    display: grid;
    gap: 0.85rem;
}

.pricing-card__feature {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: var(--color-ink-soft);
    line-height: 1.5;
}

.pricing-card__feature-check {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: rgba(20, 184, 166, 0.15);
    border: 1px solid rgba(20, 184, 166, 0.3);
    position: relative;
    top: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Teal tick inside check circle */
.pricing-card__feature-check::after {
    content: '';
    width: 5px;
    height: 3px;
    border-left: 1.5px solid var(--color-teal);
    border-bottom: 1.5px solid var(--color-teal);
    transform: rotate(-45deg) translateY(-1px);
    display: block;
}

.pricing-card__actions {
    padding: 1.5rem 2rem 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    align-items: stretch;
}

.pricing-card__cta {
    width: 100%;
    justify-content: center;
    min-height: 3rem;
    font-size: 0.925rem;
}

.pricing-card__secondary-link {
    text-align: center;
    font-size: 0.84rem;
    color: var(--color-ink-muted);
    text-decoration: none;
    transition: color var(--transition-base);
    padding-bottom: 0.25rem;
}

.pricing-card__secondary-link:hover {
    color: var(--color-ink-soft);
}

.pricing-card__note {
    padding: 0.75rem 2rem 1.5rem;
    font-family: var(--font-mono);
    font-size: 0.65rem;
    letter-spacing: 0.06em;
    color: var(--color-ink-ghost);
    text-align: center;
    margin: 0;
    border-top: 1px solid var(--color-border);
    margin-top: 0.5rem;
}

/* ── Value sidebar ── */
.pricing-value {
    padding-top: 0.5rem;
}

.pricing-value__title {
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 2.2vw, 2rem);
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: var(--color-ink);
    margin-bottom: 0.85rem;
    max-width: 22ch;
}

.pricing-value__summary {
    font-size: 0.925rem;
    color: var(--color-ink-soft);
    line-height: 1.72;
    margin-bottom: 2rem;
    max-width: 42rem;
}

/* Comparison table */
.pricing-compare {
    display: grid;
    gap: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.pricing-compare__row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--color-border);
    align-items: center;
    transition: background var(--transition-base);
}

.pricing-compare__row:last-child {
    border-bottom: none;
}

.pricing-compare__row--them {
    background: var(--color-bg-frost);
}

.pricing-compare__row--us {
    background: rgba(59, 130, 246, 0.06);
    border-top: 1px solid rgba(59, 130, 246, 0.15);
}

.pricing-compare__label {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.875rem;
    color: var(--color-ink-soft);
    font-weight: 500;
}

.pricing-compare__row--us .pricing-compare__label {
    color: var(--color-ink);
    font-weight: 600;
}

.pricing-compare__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

.pricing-compare__dot--muted {
    background: var(--color-ink-ghost);
}

.pricing-compare__dot--accent {
    background: var(--color-accent);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}

.pricing-compare__detail {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.15rem;
    flex-shrink: 0;
}

.pricing-compare__cost {
    font-family: var(--font-mono);
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--color-ink-muted);
}

.pricing-compare__cost--accent {
    color: var(--color-accent);
    font-size: 0.9rem;
}

.pricing-compare__meta {
    font-family: var(--font-mono);
    font-size: 0.65rem;
    letter-spacing: 0.04em;
    color: var(--color-ink-ghost);
}

/* ── Why it's worth it ── */
.pricing-reasons {
    display: grid;
    gap: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.pricing-reason {
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    gap: 1.35rem;
    padding: 1.5rem 1.75rem;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-bg-frost);
    position: relative;
    overflow: hidden;
    transition: background var(--transition-base);
}

.pricing-reason:last-child {
    border-bottom: none;
}

.pricing-reason:hover {
    background: var(--color-bg-frost-hover);
}

/* Left accent bar on hover */
.pricing-reason::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 2px;
    background: var(--color-accent);
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 300ms var(--ease-expo);
}

.pricing-reason:hover::before {
    transform: scaleY(1);
}

.pricing-reason__num {
    font-family: var(--font-mono);
    font-size: 0.65rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-accent);
    opacity: 0.65;
    padding-top: 0.2rem;
    flex-shrink: 0;
}

.pricing-reason__title {
    font-size: 0.96rem;
    font-weight: 600;
    color: var(--color-ink);
    line-height: 1.4;
    margin: 0 0 0.4rem;
}

.pricing-reason__text {
    font-size: 0.875rem;
    color: var(--color-ink-soft);
    line-height: 1.68;
    margin: 0;
}

/* ── FAQ ── */
.pricing-faq {
    display: grid;
    gap: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.pricing-faq__item {
    padding: 1.5rem 1.75rem;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-bg-frost);
    transition: background var(--transition-base);
}

.pricing-faq__item:last-child {
    border-bottom: none;
}

.pricing-faq__item:hover {
    background: var(--color-bg-frost-hover);
}

.pricing-faq__q {
    font-size: 0.96rem;
    font-weight: 600;
    color: var(--color-ink);
    line-height: 1.4;
    margin: 0 0 0.6rem;
}

.pricing-faq__a {
    font-size: 0.875rem;
    color: var(--color-ink-soft);
    line-height: 1.7;
    margin: 0;
}

/* ── Responsive ── */
@media (max-width: 959px) {
    .pricing-layout {
        grid-template-columns: 1fr;
    }

    .pricing-card {
        max-width: 480px;
    }
}

@media (max-width: 640px) {
    .pricing-card__header {
        padding: 1.5rem 1.5rem 1.25rem;
    }

    .pricing-card__features,
    .pricing-card__actions {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .pricing-card__note {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .pricing-reason {
        grid-template-columns: 2.5rem 1fr;
        gap: 0.85rem;
    }

    .pricing-compare__row {
        grid-template-columns: 1fr;
        gap: 0.4rem;
    }

    .pricing-compare__detail {
        align-items: flex-start;
    }
}


/* -----------------------------------------------------------------------
   Pricing — dual tier additions
----------------------------------------------------------------------- */

/* ── Two-card side-by-side layout ── */
.pricing-dual {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    padding-top: 3rem;
    align-items: start;
}

/* ── Premium (featured) card variant ── */
.pricing-card--featured {
    border-color: rgba(245, 158, 11, 0.3);
}

.pricing-card--featured::before {
    background: linear-gradient(90deg, #F59E0B, #D97706);
}

/* ── Premium badge pill ── */
.pricing-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.25rem 0.65rem;
    border-radius: 100px;
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(245, 158, 11, 0.3);
    color: #F59E0B;
    margin-bottom: 0.85rem;
}

.pricing-badge::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #F59E0B;
    box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2);
    flex-shrink: 0;
}

/* ── Gold check variant inside premium card ── */
.pricing-card__feature-check--gold {
    background: rgba(245, 158, 11, 0.1);
    border-color: rgba(245, 158, 11, 0.3);
}

.pricing-card__feature-check--gold::after {
    border-left-color: #F59E0B;
    border-bottom-color: #F59E0B;
}

/* ── Feature group heading inside card features list ── */
.pricing-card__feature-group {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-ink-ghost);
    padding-top: 0.75rem;
    padding-bottom: 0.1rem;
    border-top: 1px solid var(--color-border);
    margin-top: 0.35rem;
}

.pricing-card__feature-group:first-child {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}

/* ── Inherited features (dimmed in premium card) ── */
.pricing-card__feature--inherited {
    opacity: 0.6;
}

/* ── Gold button variant ── */
.button--gold {
    background: #F59E0B;
    color: #0a0f1a;
    border: none;
}

.button--gold:hover,
.button--gold:focus-visible {
    background: #D97706;
    color: #0a0f1a;
}

/* ── Two-column value section ── */
.pricing-value-dual {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem, 4vw, 4rem);
    align-items: start;
}

/* ── Gold section label variant ── */
.pricing-value__label--premium {
    color: #F59E0B;
}

/* ── Gold dot + cost in compare table ── */
.pricing-compare__dot--gold {
    background: #F59E0B;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.2);
}

.pricing-compare__cost--gold {
    color: #F59E0B;
    font-size: 0.9rem;
}

/* ── Feature comparison table ── */
.pricing-tier-compare {
    margin-top: 3rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.pricing-tier-compare__head {
    display: grid;
    grid-template-columns: 1fr 160px 160px;
    background: rgba(255, 255, 255, 0.025);
    border-bottom: 1px solid var(--color-border-mid);
    padding: 0.85rem 1.5rem;
    gap: 0;
}

.pricing-tier-compare__col-label {
    font-family: var(--font-mono);
    font-size: 0.62rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-ink-ghost);
    text-align: center;
}

.pricing-tier-compare__col-label:first-child {
    text-align: left;
}

.pricing-tier-compare__col-label--featured {
    color: #F59E0B;
}

.pricing-tier-compare__row {
    display: grid;
    grid-template-columns: 1fr 160px 160px;
    padding: 0.7rem 1.5rem;
    border-bottom: 1px solid var(--color-border);
    align-items: center;
    background: var(--color-bg-frost);
    transition: background var(--transition-base);
    gap: 0;
}

.pricing-tier-compare__row:last-child {
    border-bottom: none;
}

.pricing-tier-compare__row:hover {
    background: var(--color-bg-frost-hover);
}

.pricing-tier-compare__row--section {
    background: rgba(255, 255, 255, 0.015);
    padding-top: 0.6rem;
    padding-bottom: 0.4rem;
}

.pricing-tier-compare__row--section:hover {
    background: rgba(255, 255, 255, 0.015);
}

.pricing-tier-compare__section-label {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-ink-ghost);
    grid-column: 1 / -1;
}

.pricing-tier-compare__feature {
    font-size: 0.875rem;
    color: var(--color-ink-soft);
    line-height: 1.45;
}

.pricing-tier-compare__check {
    display: flex;
    justify-content: center;
    align-items: center;
}

.pricing-tier-compare__yes {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pricing-tier-compare__yes--standard {
    background: rgba(20, 184, 166, 0.12);
    border: 1px solid rgba(20, 184, 166, 0.3);
}

.pricing-tier-compare__yes--standard::after {
    content: '';
    width: 6px;
    height: 3.5px;
    border-left: 1.5px solid var(--color-teal);
    border-bottom: 1.5px solid var(--color-teal);
    transform: rotate(-45deg) translateY(-1px);
    display: block;
}

.pricing-tier-compare__yes--premium {
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.pricing-tier-compare__yes--premium::after {
    content: '';
    width: 6px;
    height: 3.5px;
    border-left: 1.5px solid #F59E0B;
    border-bottom: 1.5px solid #F59E0B;
    transform: rotate(-45deg) translateY(-1px);
    display: block;
}

.pricing-tier-compare__no {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.8rem;
    color: var(--color-ink-ghost);
    line-height: 1;
}

/* ── Responsive: dual card + compare ── */
@media (max-width: 959px) {
    .pricing-dual {
        grid-template-columns: 1fr;
    }

    .pricing-card--featured {
        max-width: 480px;
    }

    .pricing-value-dual {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .pricing-tier-compare__head,
    .pricing-tier-compare__row {
        grid-template-columns: 1fr 100px 100px;
    }
}

@media (max-width: 640px) {
    .pricing-tier-compare__head,
    .pricing-tier-compare__row {
        grid-template-columns: 1fr 72px 72px;
        padding-left: 1rem;
        padding-right: 1rem;
    }
}


/* -----------------------------------------------------------------------
   Auth nav state
----------------------------------------------------------------------- */

.site-navigation__signout {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
}

.site-navigation__user-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--color-teal);
    flex-shrink: 0;
    animation: pulse-live 2.5s ease-in-out infinite;
}

.site-navigation__signout:hover {
    color: var(--color-ink);
}

.site-navigation__signout:hover .site-navigation__user-dot {
    background: var(--color-ink-muted);
    animation: none;
}


/* -----------------------------------------------------------------------
   Hero signal pills — replaces wide signal list rows in city-bg hero
----------------------------------------------------------------------- */
.hero-signal-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 1.75rem;
}

.hero-signal-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.75rem;
    border-radius: var(--radius-pill);
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(12,18,32,0.72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    font-size: 0.82rem;
    color: var(--color-ink-soft);
}

.hero-signal-pill__key {
    font-family: var(--font-mono);
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-ink-ghost);
}

.hero-signal-pill--live {
    border-color: rgba(20,184,166,0.25);
    background: rgba(20,184,166,0.08);
    color: var(--color-teal);
}

.hero-signal-pill--live .hero-signal-pill__key {
    color: rgba(20,184,166,0.55);
}



/* ==========================================================================
   Intelligence Centre  (page-intelligence-centre.php)
   ========================================================================== */

/* ── Layout ─────────────────────────────────────────────────────────────── */
.ic-main {
    padding-bottom: 6rem;
}

/* ── Hero ───────────────────────────────────────────────────────────────── */
.ic-hero {
    padding: clamp(4rem, 8vw, 7rem) 0 clamp(2.5rem, 5vw, 4rem);
    border-bottom: 1px solid var(--color-border);
}

.ic-hero__inner {
    max-width: 640px;
}

.ic-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.65rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-teal);
    margin-bottom: 1.25rem;
}

.ic-hero__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-teal);
    box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.18);
    flex-shrink: 0;
    animation: ic-dot-pulse 2.4s ease-in-out infinite;
}

@keyframes ic-dot-pulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.18); }
    50%       { box-shadow: 0 0 0 6px rgba(20, 184, 166, 0.06); }
}

.ic-hero__title {
    font-family: var(--font-serif);
    font-size: clamp(2rem, 4.5vw, 3rem);
    color: var(--color-ink-bright);
    line-height: 1.18;
    margin: 0 0 1rem;
}

.ic-hero__summary {
    font-size: 1.0625rem;
    color: var(--color-ink-soft);
    line-height: 1.65;
    margin: 0;
}

/* ── Reports section ────────────────────────────────────────────────────── */
.ic-reports {
    padding: clamp(3rem, 6vw, 5rem) 0;
}

/* ── No-access state ────────────────────────────────────────────────────── */
.ic-no-access {
    max-width: 520px;
    margin: 0 auto;
    text-align: center;
    padding: 4rem 2rem;
}

.ic-no-access__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 1.5rem;
    color: var(--color-ink-ghost);
}

.ic-no-access__icon svg {
    width: 100%;
    height: 100%;
}

.ic-no-access__title {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    color: var(--color-ink-bright);
    margin: 0 0 0.75rem;
}

.ic-no-access__body {
    font-size: 1rem;
    color: var(--color-ink-soft);
    line-height: 1.65;
    margin: 0 0 2rem;
}

/* ── Report cards grid ──────────────────────────────────────────────────── */
.ic-reports__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(1.5rem, 3vw, 2.5rem);
    align-items: start;
}

/* ── Individual report card ─────────────────────────────────────────────── */
.ic-report-card {
    position: relative;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.ic-report-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--color-teal), rgba(20, 184, 166, 0.4));
    border-radius: 12px 12px 0 0;
}

.ic-report-card--active:hover {
    border-color: rgba(20, 184, 166, 0.3);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(20, 184, 166, 0.12);
}

/* Premium variant (tier2) */
.ic-report-card--premium::before {
    background: linear-gradient(90deg, #F59E0B, #D97706);
}

.ic-report-card--premium.ic-report-card--active:hover {
    border-color: rgba(245, 158, 11, 0.3);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(245, 158, 11, 0.12);
}

/* Locked (no access) state */
.ic-report-card--locked {
    opacity: 0.6;
}

.ic-report-card--locked::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 12px;
    pointer-events: none;
}

/* ── Card header ────────────────────────────────────────────────────────── */
.ic-report-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 1.5rem 1.5rem 0;
}

.ic-report-card__badge {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-mono);
    font-size: 0.6rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.25rem 0.65rem;
    border-radius: 100px;
}

.ic-report-card__badge--tier1 {
    background: rgba(20, 184, 166, 0.1);
    border: 1px solid rgba(20, 184, 166, 0.25);
    color: var(--color-teal);
}

.ic-report-card__badge--tier2 {
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(245, 158, 11, 0.25);
    color: #F59E0B;
}

.ic-report-card__icon {
    width: 32px;
    height: 32px;
    color: var(--color-ink-ghost);
    flex-shrink: 0;
}

.ic-report-card__icon svg {
    width: 100%;
    height: 100%;
}

/* ── Card body ──────────────────────────────────────────────────────────── */
.ic-report-card__body {
    padding: 1.25rem 1.5rem 1.5rem;
    flex: 1;
}

.ic-report-card__title {
    font-family: var(--font-serif);
    font-size: 1.375rem;
    color: var(--color-ink-bright);
    margin: 0 0 0.6rem;
    line-height: 1.25;
}

.ic-report-card__summary {
    font-size: 0.9375rem;
    color: var(--color-ink-soft);
    line-height: 1.65;
    margin: 0 0 1.25rem;
}

.ic-report-card__features {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.ic-report-card__features li {
    font-size: 0.875rem;
    color: var(--color-ink-muted);
    padding-left: 1.25rem;
    position: relative;
}

.ic-report-card__features li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.42em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--color-teal);
    opacity: 0.55;
}

.ic-report-card--premium .ic-report-card__features li::before {
    background: #F59E0B;
}

/* ── Card footer ────────────────────────────────────────────────────────── */
.ic-report-card__footer {
    padding: 0 1.5rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.ic-report-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.875rem;
    font-weight: 600;
}

.ic-report-card__cta svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.ic-report-card__cta:hover svg {
    transform: translateX(3px);
}

/* Gold CTA button for Premium */
.button--gold {
    background: linear-gradient(135deg, #F59E0B, #D97706);
    border-color: transparent;
    color: #0C1220;
}

.button--gold:hover {
    background: linear-gradient(135deg, #FBBF24, #F59E0B);
    color: #0C1220;
}

/* Upgrade (ghost) button */
.ic-report-card__upgrade {
    font-size: 0.8125rem;
    color: var(--color-ink-ghost);
}

/* ── Session security notice ────────────────────────────────────────────── */
.ic-session-notice {
    padding: 1.25rem 0 0;
    border-top: 1px solid var(--color-border);
}

.ic-session-notice__text {
    display: inline-flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-family: var(--font-mono);
    font-size: 0.7rem;
    letter-spacing: 0.04em;
    color: var(--color-ink-ghost);
    line-height: 1.55;
    margin: 0;
}

.ic-session-notice__text svg {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
    margin-top: 0.1em;
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 800px) {
    .ic-reports__grid {
        grid-template-columns: 1fr;
    }

    .ic-report-card--locked {
        display: none; /* On small screens, hide locked cards to reduce noise */
    }
}

@media (max-width: 600px) {
    .ic-hero__title {
        font-size: 1.75rem;
    }

    .ic-report-card__header,
    .ic-report-card__body,
    .ic-report-card__footer {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
}

/* ── Light mode overrides ───────────────────────────────────────────────── */
[data-theme="light"] .ic-hero {
    border-bottom-color: var(--color-border);
}

[data-theme="light"] .ic-report-card {
    background: #FFFFFF;
    border-color: var(--color-border);
    box-shadow: var(--shadow-soft);
}

[data-theme="light"] .ic-report-card--active:hover {
    box-shadow: 0 8px 32px rgba(15, 30, 60, 0.1), 0 0 0 1px rgba(20, 184, 166, 0.2);
}

[data-theme="light"] .ic-report-card--premium.ic-report-card--active:hover {
    box-shadow: 0 8px 32px rgba(15, 30, 60, 0.1), 0 0 0 1px rgba(245, 158, 11, 0.2);
}

[data-theme="light"] .ic-session-notice {
    border-top-color: var(--color-border);
}


/* ==========================================================================
   Request Demo Page  (page-request-demo.php)
   ========================================================================== */

.demo-main {
    padding-bottom: 6rem;
}

/* ── Hero ───────────────────────────────────────────────────────────────── */
.demo-hero {
    padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

/* ── Two-column layout ──────────────────────────────────────────────────── */
.demo-layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
    padding-top: clamp(2rem, 4vw, 3.5rem);
}

/* ── Form column ────────────────────────────────────────────────────────── */
.demo-form-col {
    min-width: 0;
}

/* ── Error banner ───────────────────────────────────────────────────────── */
.demo-form-error {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.25);
    border-radius: 10px;
    color: #FDA0A0;
    font-size: 0.875rem;
    padding: 0.85rem 1rem;
    margin-bottom: 1.5rem;
    line-height: 1.5;
}

.demo-form-error svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    color: #EF4444;
}

/* ── Form shell ─────────────────────────────────────────────────────────── */
.demo-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

/* ── Split row ──────────────────────────────────────────────────────────── */
.demo-form__row--split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}

/* ── Field wrapper ──────────────────────────────────────────────────────── */
.demo-form__field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

/* ── Label ──────────────────────────────────────────────────────────────── */
.demo-form__label {
    font-family: var(--font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-ink-ghost);
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.demo-form__required {
    color: var(--color-teal);
    font-style: normal;
}

/* ── Inputs ─────────────────────────────────────────────────────────────── */
.demo-form__input {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    color: var(--color-ink);
    font-family: var(--font-sans);
    font-size: 0.9375rem;
    padding: 0.75rem 1rem;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.demo-form__input::placeholder {
    color: var(--color-ink-ghost);
}

.demo-form__input:hover {
    border-color: rgba(255, 255, 255, 0.15);
}

.demo-form__input:focus {
    border-color: rgba(59, 130, 246, 0.55);
    background: rgba(255, 255, 255, 0.04);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}

/* Textarea */
.demo-form__textarea {
    resize: vertical;
    min-height: 110px;
    line-height: 1.6;
}

/* Select */
.demo-form__select {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23556070' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.85rem center;
    background-size: 16px;
    padding-right: 2.5rem;
    color: var(--color-ink);
}

.demo-form__select option {
    background: #161F2E;
    color: var(--color-ink);
}

/* ── Submit row ─────────────────────────────────────────────────────────── */
.demo-form__submit-row {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding-top: 0.25rem;
}

.demo-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.9375rem;
    padding: 0.8rem 2rem;
    width: 100%;
}

.demo-form__submit svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.demo-form__submit:hover svg {
    transform: translateX(3px);
}

.demo-form__privacy {
    font-size: 0.775rem;
    color: var(--color-ink-ghost);
    text-align: center;
    margin: 0;
    line-height: 1.55;
}

.demo-form__privacy a {
    color: var(--color-ink-muted);
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: text-decoration-color 150ms ease, color 150ms ease;
}

.demo-form__privacy a:hover {
    color: var(--color-ink-soft);
    text-decoration-color: currentColor;
}

/* ── Success state ──────────────────────────────────────────────────────── */
.demo-success {
    background: var(--color-surface);
    border: 1px solid rgba(20, 184, 166, 0.2);
    border-radius: 16px;
    padding: 2.5rem;
    text-align: center;
}

.demo-success__icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 1.25rem;
    color: var(--color-teal);
}

.demo-success__icon svg {
    width: 100%;
    height: 100%;
}

.demo-success__title {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    color: var(--color-ink-bright);
    margin: 0 0 0.75rem;
}

.demo-success__body {
    font-size: 1rem;
    color: var(--color-ink-soft);
    line-height: 1.65;
    margin: 0 0 0.5rem;
}

.demo-success__aside {
    font-size: 0.875rem;
    color: var(--color-ink-ghost);
    margin: 0 0 1.75rem;
}

.demo-success__links {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* ── Aside panel ────────────────────────────────────────────────────────── */
.demo-aside {
    position: sticky;
    top: 5rem;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.demo-aside__block {
    padding: 1.75rem 0;
}

.demo-aside__divider {
    height: 1px;
    background: var(--color-border);
}

.demo-aside__eyebrow {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-teal);
    margin: 0 0 1.1rem;
}

/* Checklist items */
.demo-aside__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.demo-aside__item {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
}

.demo-aside__item-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: var(--color-teal);
    margin-top: 0.1em;
}

.demo-aside__item-icon svg {
    width: 100%;
    height: 100%;
}

.demo-aside__item strong {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--color-ink-bright);
    margin-bottom: 0.2rem;
}

.demo-aside__item p {
    font-size: 0.8125rem;
    color: var(--color-ink-ghost);
    line-height: 1.55;
    margin: 0;
}

/* Audience tags */
.demo-aside__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.demo-aside__tag {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.3rem 0.65rem;
    border-radius: 100px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--color-border);
    color: var(--color-ink-muted);
    white-space: nowrap;
}

/* Email link */
.demo-aside__email {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--color-ink-soft);
    text-decoration: none;
    transition: color 180ms ease;
}

.demo-aside__email svg {
    width: 18px;
    height: 18px;
    color: var(--color-ink-ghost);
    flex-shrink: 0;
    transition: color 180ms ease;
}

.demo-aside__email:hover {
    color: var(--color-ink-bright);
}

.demo-aside__email:hover svg {
    color: var(--color-teal);
}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 960px) {
    .demo-layout {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .demo-aside {
        position: static;
        border-top: 1px solid var(--color-border);
        padding-top: 2rem;
    }

    .demo-aside__block:first-child {
        padding-top: 0;
    }
}

@media (max-width: 600px) {
    .demo-form__row--split {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
}

/* ── Light mode overrides ───────────────────────────────────────────────── */
[data-theme="light"] .demo-form__input {
    background: #FFFFFF;
    border-color: var(--color-border);
    color: var(--color-ink);
}

[data-theme="light"] .demo-form__input:focus {
    background: #FFFFFF;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

[data-theme="light"] .demo-form__select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
}

[data-theme="light"] .demo-form__select option {
    background: #FFFFFF;
    color: var(--color-ink);
}

[data-theme="light"] .demo-success {
    background: #FFFFFF;
    border-color: rgba(20, 184, 166, 0.3);
    box-shadow: var(--shadow-soft);
}

[data-theme="light"] .demo-form-error {
    background: rgba(239, 68, 68, 0.05);
    color: #B91C1C;
}

/* ==========================================================================
   Executive Summary — Intelligence Centre cards & reading page
   ========================================================================== */

/* ── IC exec section ──────────────────────────────────────────────────────── */
.ic-exec-section {
    padding: clamp(2rem, 4vw, 3.5rem) 0;
    border-top: 1px solid var(--color-border);
    margin-top: clamp(2rem, 4vw, 3rem);
}

.ic-exec-section__header {
    margin-bottom: 2rem;
}

.ic-exec-section__eyebrow {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-ink-ghost);
    margin: 0 0 0.4rem;
}

.ic-exec-section__subtitle {
    font-size: 0.875rem;
    color: var(--color-ink-ghost);
    margin: 0;
}

/* ── Exec cards grid (3 columns) ──────────────────────────────────────────── */
.ic-exec-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(1rem, 2vw, 1.5rem);
}

/* ── Individual exec card ─────────────────────────────────────────────────── */
.ic-exec-card {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ic-exec-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    border-radius: 10px 10px 0 0;
}

.ic-exec-card--teal::before { background: linear-gradient(90deg, var(--color-teal), rgba(20,184,166,0.4)); }
.ic-exec-card--blue::before  { background: linear-gradient(90deg, #3B82F6, rgba(59,130,246,0.4)); }
.ic-exec-card--amber::before { background: linear-gradient(90deg, #F59E0B, rgba(245,158,11,0.4)); }

.ic-exec-card--ready.ic-exec-card--teal:hover  { border-color: rgba(20,184,166,0.3); box-shadow: 0 4px 20px rgba(0,0,0,0.15); }
.ic-exec-card--ready.ic-exec-card--blue:hover  { border-color: rgba(59,130,246,0.3); box-shadow: 0 4px 20px rgba(0,0,0,0.15); }
.ic-exec-card--ready.ic-exec-card--amber:hover { border-color: rgba(245,158,11,0.3); box-shadow: 0 4px 20px rgba(0,0,0,0.15); }

.ic-exec-card--pending { opacity: 0.55; }

.ic-exec-card__header { padding: 1rem 1rem 0; }

.ic-exec-card__badge {
    font-family: var(--font-mono);
    font-size: 0.55rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.2rem 0.5rem;
    border-radius: 100px;
    display: inline-block;
}
.ic-exec-card__badge--teal  { background: rgba(20,184,166,0.1); border: 1px solid rgba(20,184,166,0.2); color: var(--color-teal); }
.ic-exec-card__badge--blue  { background: rgba(59,130,246,0.1); border: 1px solid rgba(59,130,246,0.2); color: #60A5FA; }
.ic-exec-card__badge--amber { background: rgba(245,158,11,0.1); border: 1px solid rgba(245,158,11,0.2); color: #F59E0B; }

.ic-exec-card__body { padding: 0.75rem 1rem 0.75rem; flex: 1; }

.ic-exec-card__title {
    font-family: var(--font-serif);
    font-size: 1rem;
    color: var(--color-ink-bright);
    margin: 0 0 0.4rem;
    line-height: 1.3;
}

.ic-exec-card__description {
    font-size: 0.8125rem;
    color: var(--color-ink-ghost);
    line-height: 1.55;
    margin: 0 0 0.5rem;
}

.ic-exec-card__meta {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.06em;
    color: var(--color-ink-ghost);
    margin: 0;
}
.ic-exec-card__meta--pending { color: var(--color-ink-ghost); opacity: 0.6; }

.ic-exec-card__footer { padding: 0 1rem 1rem; }

.ic-exec-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    padding: 0.4rem 0.85rem;
}
.ic-exec-card__cta svg { width: 12px; height: 12px; flex-shrink: 0; transition: transform 0.2s ease; }
.ic-exec-card__cta:hover svg { transform: translateX(3px); }

.ic-exec-card__pending-label {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.06em;
    color: var(--color-ink-ghost);
    opacity: 0.5;
}

/* ── Executive Summary reading page ──────────────────────────────────────── */
.exec-main { padding-bottom: 6rem; }

.exec-hero {
    padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(1.5rem, 3vw, 2.5rem);
    border-bottom: 1px solid var(--color-border);
}

.exec-hero__eyebrow {
    margin: 0 0 1rem;
    font-size: 0.875rem;
}

.exec-hero__back a {
    color: var(--color-ink-ghost);
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.15s ease;
}
.exec-hero__back a:hover { color: var(--color-ink-soft); }

.exec-hero__meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.exec-hero__type-badge,
.exec-hero__perspective-badge {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.25rem 0.65rem;
    border-radius: 100px;
}

.exec-hero__type-badge--exec-teal  { background: rgba(20,184,166,0.1); border: 1px solid rgba(20,184,166,0.25); color: var(--color-teal); }
.exec-hero__type-badge--exec-blue  { background: rgba(59,130,246,0.1); border: 1px solid rgba(59,130,246,0.25); color: #60A5FA; }
.exec-hero__type-badge--exec-amber { background: rgba(245,158,11,0.1); border: 1px solid rgba(245,158,11,0.25); color: #F59E0B; }

.exec-hero__perspective-badge {
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--color-border);
    color: var(--color-ink-ghost);
}

.exec-prose-wrap {
    padding: clamp(3rem, 6vw, 5rem) 0;
}

.exec-prose-container {
    max-width: 740px;
}

.exec-doc-header {
    margin-bottom: clamp(2rem, 4vw, 3rem);
    padding-bottom: clamp(1.5rem, 3vw, 2rem);
    border-bottom: 1px solid var(--color-border);
}

.exec-doc-title {
    font-family: var(--font-serif);
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    color: var(--color-ink-bright);
    line-height: 1.2;
    margin: 0 0 0.5rem;
}

.exec-doc-period {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-ink-ghost);
    margin: 0;
}

/* ── Prose body ───────────────────────────────────────────────────────────── */
.exec-prose { display: flex; flex-direction: column; gap: 2.5rem; }

.exec-prose__lede {
    font-family: var(--font-serif);
    font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
    color: var(--color-ink-bright);
    line-height: 1.65;
    margin: 0;
}

.exec-prose__section { display: flex; flex-direction: column; gap: 0.6rem; }

.exec-prose__section-heading {
    font-family: var(--font-mono);
    font-size: 0.65rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-teal);
    margin: 0;
}

.exec-prose__section-body {
    font-size: 1rem;
    color: var(--color-ink-soft);
    line-height: 1.8;
    margin: 0;
}

.exec-prose__closing {
    font-size: 1rem;
    font-style: italic;
    color: var(--color-ink-muted);
    line-height: 1.7;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
    margin: 0;
}

/* ── Document footer ──────────────────────────────────────────────────────── */
.exec-doc-footer {
    margin-top: clamp(3rem, 5vw, 4rem);
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border);
}

.exec-doc-footer__meta {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.08em;
    color: var(--color-ink-ghost);
    margin-bottom: 0.75rem;
}

.exec-doc-footer__disclaimer {
    font-size: 0.775rem;
    color: var(--color-ink-ghost);
    opacity: 0.55;
    line-height: 1.55;
    margin: 0;
}

/* ── Not-yet-generated state ──────────────────────────────────────────────── */
.exec-not-ready {
    text-align: center;
    padding: 5rem 2rem;
    max-width: 480px;
    margin: 0 auto;
}
.exec-not-ready__title {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    color: var(--color-ink-bright);
    margin: 0 0 0.75rem;
}
.exec-not-ready__body {
    font-size: 0.9375rem;
    color: var(--color-ink-ghost);
    line-height: 1.65;
    margin: 0 0 1.5rem;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .ic-exec-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .ic-exec-grid { grid-template-columns: 1fr; }
    .ic-exec-card--pending { display: none; }
}

/* ── Light mode ───────────────────────────────────────────────────────────── */
[data-theme="light"] .ic-exec-card { background: #FFFFFF; border-color: var(--color-border); box-shadow: var(--shadow-soft); }
[data-theme="light"] .ic-exec-card--pending { opacity: 0.5; }

/* ─────────────────────────────────────────────────────────────────
   Report Preview — home page product demo section
   Uses rp- prefix to avoid cascade conflicts with the real report CSS
   which only loads on the Ontario Performance template page.
───────────────────────────────────────────────────────────────── */

/* KPI metric cards row */
.rp-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid rgba(255,255,255,.08);
    border-radius: var(--radius-lg);
    overflow: hidden;
    margin-bottom: 1.5rem;
}
.rp-metric-card {
    padding: 1.3rem 1.45rem;
    border-right: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
    background: rgba(255,255,255,.03);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 6.5rem;
    transition: background 200ms ease;
}
.rp-metric-card:hover { background: rgba(255,255,255,.055); }
.rp-metric-card:last-child { border-right: 0; }
.rp-metric-card__label {
    display: block;
    margin-bottom: .5rem;
    font-family: var(--font-mono);
    font-size: .62rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-ink-ghost);
}
.rp-metric-card__value {
    display: block;
    margin-bottom: .35rem;
    color: var(--color-ink);
    font-family: var(--font-sans);
    font-size: clamp(1.2rem, 1.6vw, 1.6rem);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -.01em;
}
.rp-metric-card__note {
    color: var(--color-ink-soft);
    font-size: .82rem;
    margin-top: auto;
}
.rp-metric-card__note--up   { color: #10B981; }
.rp-metric-card__note--down { color: #EF4444; }

/* Command + chart two-column layout */
.rp-command-chart {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 1.25rem;
    margin-bottom: 1.25rem;
}
.rp-command-panel {
    background: linear-gradient(145deg, #0C1220 0%, #111827 100%);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: var(--radius-lg);
    padding: 1.5rem 1.75rem;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.rp-command-panel::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(59,130,246,.45), transparent);
}
.rp-command-panel__eyebrow {
    font-family: var(--font-mono);
    font-size: .62rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(238,242,248,.4);
    margin: 0 0 .75rem;
}
.rp-command-panel__headline {
    font-family: var(--font-sans);
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    font-weight: 600;
    line-height: 1.35;
    color: rgba(238,242,248,.92);
    margin: 0 0 .85rem;
}
.rp-command-panel__lede {
    font-size: .9rem;
    line-height: 1.65;
    color: rgba(238,242,248,.65);
    margin: 0 0 1.25rem;
}
.rp-command-panel__reads {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .55rem;
    margin-top: auto;
}
.rp-command-panel__reads li {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    font-size: .84rem;
    line-height: 1.55;
    color: rgba(238,242,248,.65);
}
.rp-command-panel__reads li::before {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #3B82F6;
    margin-top: .55rem;
}

/* Chart panel */
.rp-chart-panel {
    border: 1px solid rgba(255,255,255,.08);
    border-radius: var(--radius-lg);
    background: var(--color-bg-frost, rgba(255,255,255,.02));
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.rp-chart-panel__header {
    padding: 1.1rem 1.35rem .75rem;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.rp-chart-panel__eyebrow {
    font-family: var(--font-mono);
    font-size: .6rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-ink-ghost);
    margin: 0 0 .3rem;
}
.rp-chart-panel__title {
    font-family: var(--font-sans);
    font-size: .9rem;
    font-weight: 600;
    color: var(--color-ink);
    margin: 0;
}
.rp-chart-svg-wrap {
    padding: .75rem 1rem .25rem;
    flex: 1;
}
.rp-chart-svg-wrap svg {
    width: 100%;
    height: auto;
    display: block;
    overflow: visible;
}
.rp-chart-snapshot {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    border-top: 1px solid rgba(255,255,255,.06);
}
.rp-chart-snapshot__cell {
    padding: .85rem 1.1rem;
    border-right: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.rp-chart-snapshot__cell:nth-child(2n) { border-right: 0; }
.rp-chart-snapshot__cell:nth-last-child(-n+2) { border-bottom: 0; }
.rp-chart-snapshot__label {
    display: block;
    font-family: var(--font-mono);
    font-size: .6rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--color-ink-ghost);
    margin-bottom: .3rem;
}
.rp-chart-snapshot__value {
    display: block;
    font-family: var(--font-sans);
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-ink);
    line-height: 1.2;
}

/* Responsive */
@media (max-width: 900px) {
    .rp-metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .rp-metric-card:nth-child(2) { border-right: 0; }
    .rp-metric-card:nth-child(3) { border-bottom: 0; }
    .rp-command-chart { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
    .rp-metric-grid { grid-template-columns: 1fr 1fr; }
}
