/* ============================================================================
   ImplicitifyAI — "Calibrated" editorial design system
   A precision scientific instrument set on fine paper: warm paper ground,
   ink text, hairline rules, a refined serif for display against a clean sans
   for UI, generous whitespace, and one restrained deep-terracotta accent.
   Pure CSS, zero client JS. All color/type flows from the tokens below, so
   every shared class restyles in lockstep.
   ============================================================================ */

:root {
    /* Paper & ink */
    --bg: #f6f3ec;          /* warm paper */
    --surface: #ffffff;     /* raised card */
    --surface-2: #efeae1;   /* subtle tint (inputs, wells) */
    --text: #1c1a16;        /* near-black ink */
    --muted: #6c665b;       /* secondary ink */
    --accent: #ad4a26;      /* deep terracotta (editorial evolution of orange) */
    --accent-ink: #8f3c1e;  /* darker accent for hover/active */
    --accent-2: #2f4a6b;    /* deep ink-blue, for quiet labels/badges */
    --border: #e2dccf;      /* hairline rule */
    --border-strong: #d3ccba;

    /* Semantic state colors (single source — restyle once) */
    --success: #2f8a5b;
    --success-ink: #226639;
    --success-bg: #eef7f0;
    --success-border: #c4ddc4;
    --danger-bg: #fbeae6;
    --danger-border: #e6b9ab;
    --danger-ink: #8f3c1e;
    --info-bg: #eef2f9;
    --info-border: #c3d3ea;
    --band-higher-bg: #e7f0e7;
    --band-higher-ink: #2f6b3a;
    --band-lower-bg: #f3e7e2;
    --band-lower-ink: #8f3c1e;
    --band-lower-border: #e4cabd;

    /* Assessment category accent tokens (badge dots, etc.) */
    --cat-personality: #ad4a26;
    --cat-attachment: #2f4a6b;
    --cat-psychodynamic: #6a4a86;
    --cat-cognitive: #2f8a5b;
    --cat-projective: #b07a2a;
    --cat-takenow: #2f8a5b;

    --radius: 8px;
    --radius-sm: 5px;
    --maxw: 1100px;
    --measure: 720px;       /* comfortable reading measure */

    --font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;
    --font-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    --shadow-sm: 0 1px 2px rgba(28, 26, 22, 0.04);
    --shadow: 0 14px 40px -24px rgba(28, 26, 22, 0.35);
}

* { box-sizing: border-box; }

html { color-scheme: light; }

html, body {
    margin: 0;
    padding: 0;
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-sans);
    font-size: 16.5px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

::selection { background: rgba(173, 74, 38, 0.16); }

/* Links default to inherit so link-wrapped cards keep ink text; genuine inline
   content links opt into the accent + underline affordance below. */
a { color: inherit; text-decoration: none; }
a:hover { color: var(--accent); }

/* :not(.btn) so button links inside these containers keep their button styling. */
p a:not(.btn), .prose a:not(.btn), .qa a:not(.btn), .disclaimer-note a:not(.btn),
.measure-note a:not(.btn), .result-about-card a:not(.btn), .pricing-footnotes a:not(.btn),
.auth-alt a:not(.btn), .take-note a:not(.btn), .take-meta a:not(.btn),
.take-subtitle a:not(.btn), .take-complete-note a:not(.btn), .result-pending a:not(.btn) {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}
p a:not(.btn):hover, .prose a:not(.btn):hover, .qa a:not(.btn):hover,
.disclaimer-note a:not(.btn):hover, .measure-note a:not(.btn):hover,
.result-about-card a:not(.btn):hover, .pricing-footnotes a:not(.btn):hover,
.auth-alt a:not(.btn):hover, .take-note a:not(.btn):hover, .take-meta a:not(.btn):hover,
.take-subtitle a:not(.btn):hover, .take-complete-note a:not(.btn):hover,
.result-pending a:not(.btn):hover { color: var(--accent-ink); }

h1, h2, h3, h4 {
    font-family: var(--font-serif);
    font-weight: 600;
    line-height: 1.18;
    letter-spacing: -0.015em;
    color: var(--text);
}

p { margin: 0 0 1rem; }

.container {
    width: 100%;
    max-width: var(--maxw);
    margin: 0 auto;
    padding: 0 28px;
}

/* ── Header ──────────────────────────────────────────────────────────────── */
.site-header {
    border-bottom: 1px solid var(--border);
    background: rgba(246, 243, 236, 0.86);
    backdrop-filter: saturate(180%) blur(8px);
    position: sticky;
    top: 0;
    z-index: 10;
}
.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
}
.brand {
    font-family: var(--font-serif);
    font-weight: 600;
    font-size: 1.4rem;
    letter-spacing: -0.02em;
    color: var(--text);
}
.brand-ai { color: var(--accent); }
.main-nav { display: flex; gap: 26px; align-items: center; }
.main-nav a {
    color: var(--muted);
    font-size: 0.92rem;
    font-weight: 500;
    letter-spacing: 0.005em;
    transition: color .15s ease;
}
.main-nav a:hover { color: var(--text); }
.nav-cta {
    background: var(--accent);
    color: #fff !important;
    padding: 9px 18px;
    border-radius: 999px;
    font-weight: 600;
}
.nav-cta:hover { background: var(--accent-ink); color: #fff !important; }

/* ── Hero ────────────────────────────────────────────────────────────────── */
.hero { padding: 120px 0 80px; text-align: center; }
.hero h1 {
    font-size: clamp(2.7rem, 7vw, 4.75rem);
    margin: 0 0 20px;
    letter-spacing: -0.03em;
    line-height: 1.04;
}
.lead {
    font-size: 1.3rem;
    line-height: 1.55;
    color: var(--muted);
    max-width: 660px;
    margin: 0 auto 36px;
}
.hero-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; align-items: center; }
.hero-cta { display: flex; flex-direction: column; align-items: center; gap: 9px; }
.btn-cap { font-size: 0.82rem; color: var(--muted); letter-spacing: 0.01em; }
.hero-starts {
    margin-top: 30px; display: flex; flex-wrap: wrap; gap: 10px;
    align-items: center; justify-content: center;
}
.hero-starts-label {
    font-size: 0.74rem; font-weight: 700; letter-spacing: 0.12em;
    text-transform: uppercase; color: var(--muted); margin-right: 4px;
}
.chip {
    display: inline-block; font-size: 0.92rem; font-weight: 500;
    color: var(--text); background: var(--surface);
    border: 1px solid var(--border-strong); border-radius: 999px;
    padding: 8px 16px;
    transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.chip:hover { border-color: var(--accent); color: var(--accent); background: var(--surface-2); }
.hero-trust {
    list-style: none; padding: 0; margin: 44px auto 0; max-width: 740px;
    display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 30px;
    font-size: 0.76rem; font-weight: 700; letter-spacing: 0.1em;
    text-transform: uppercase; color: var(--muted);
}
.hero-trust li { position: relative; }
.hero-trust li + li::before {
    content: ""; position: absolute; left: -16px; top: 50%;
    width: 4px; height: 4px; margin-top: -2px; border-radius: 50%;
    background: var(--border-strong);
}
.closing-cta { text-align: center; padding: 24px 0 96px; }
.closing-cta h2 { font-size: clamp(1.7rem, 4vw, 2.4rem); margin: 0 0 14px; letter-spacing: -0.02em; }
.closing-cta .lead { margin-bottom: 28px; }

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.btn {
    display: inline-block;
    padding: 13px 26px;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 0.98rem;
    letter-spacing: 0.005em;
    border: 1px solid transparent;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0,0,0,.10), 0 1px 2px rgba(0,0,0,.07);
    transition: background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease, box-shadow .12s ease;
}
.btn:hover { transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0,0,0,.13), 0 2px 4px rgba(0,0,0,.09); }
.btn:active { transform: translateY(1px); box-shadow: 0 1px 2px rgba(0,0,0,.10); }
.btn-primary { background: var(--accent); color: #fff; }
.btn-primary:hover { background: var(--accent-ink); color: #fff; }
.btn-ghost { border-color: var(--border-strong); color: var(--text); background: transparent; }
.btn-ghost:hover { border-color: var(--accent); color: var(--accent); background: rgba(99,102,241,.06); }
.btn-block { display: block; width: 100%; text-align: center; }
.btn-google { background: #fff; border-color: var(--border-strong); color: var(--text); display: flex; align-items: center; justify-content: center; gap: 10px; }
.g-logo { flex: 0 0 auto; display: inline-block; }
.btn-google:hover { border-color: var(--accent); color: var(--accent); }
.auth-divider { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 0.82rem; margin: 4px 0 16px; }
.auth-divider::before, .auth-divider::after { content: ""; flex: 1; height: 1px; background: var(--border); }

/* ── Feature / card grids ────────────────────────────────────────────────── */
.feature-grid, .card-grid, .pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 24px;
    padding: 40px 0;
}
.feature, .price-card, .measure-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 30px 30px;
    box-shadow: var(--shadow-sm);
}
.feature h3, .price-card h3, .measure-card h3 { margin-top: 0; font-size: 1.2rem; }
.feature p { color: var(--muted); margin-bottom: 0; }

/* ── Band ────────────────────────────────────────────────────────────────── */
.band {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 56px 40px;
    margin: 56px 0;
    text-align: center;
    box-shadow: var(--shadow-sm);
}
.band h2 { font-size: clamp(1.6rem, 3.5vw, 2.1rem); margin: 0; }
.band-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap: 28px; margin-top: 32px; }
.band-cols h4 { margin: 0 0 6px; color: var(--accent); font-size: 1.05rem; }
.band-cols p { margin: 0; color: var(--muted); }

/* ── Page head ───────────────────────────────────────────────────────────── */
.page-head { padding: 72px 0 16px; }
.page-head.center { text-align: center; }
.page-head h1 { font-size: clamp(2.1rem, 5vw, 3.1rem); margin: 0 0 14px; letter-spacing: -0.025em; }
.page-head.center .muted { max-width: 660px; margin-left: auto; margin-right: auto; }
.muted { color: var(--muted); }

/* ── Pricing ─────────────────────────────────────────────────────────────── */
.price-card.featured { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent), var(--shadow); }
.price { font-family: var(--font-serif); font-size: 2.4rem; font-weight: 600; margin: 8px 0; letter-spacing: -0.02em; }
.cadence { font-size: 1rem; color: var(--muted); font-weight: 500; margin-left: 4px; font-family: var(--font-sans); }
.blurb { color: var(--muted); }
.price-card ul, .feature ul { padding-left: 18px; }
.price-card li { margin: 7px 0; }

/* ── Catalog section headings ────────────────────────────────────────────── */
.catalog-section { margin-bottom: 3.25rem; }
.catalog-section-heading {
    font-family: var(--font-sans);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
    border-bottom: 1px solid var(--border);
    padding-bottom: 12px;
    margin: 0 0 4px;
}

/* ── Catalog cards ───────────────────────────────────────────────────────── */
.measure-card { display: flex; flex-direction: column; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.measure-card:hover { border-color: var(--accent); box-shadow: var(--shadow); transform: translateY(-2px); }
.measure-card p, .measure-card .blurb { color: var(--muted); }
.measure-card .blurb-text { flex: 1 1 auto; margin-bottom: 0; }
.card-foot { margin-top: 18px; }
.measure-card .go { font-size: 0.92rem; font-weight: 600; color: var(--accent); }
.measure-card:hover .go { color: var(--accent-ink); }
.measure-card.has-media { padding-top: 0; }
.card-media {
    display: block;
    margin: 0 -30px 18px;
    border-radius: var(--radius) var(--radius) 0 0;
    border-bottom: 1px solid var(--border);
    overflow: hidden;
}
.card-figure { display: block; width: 100%; height: auto; }
.media-profile { background: linear-gradient(180deg, #fbf4ee, #f4e8de); }
.media-circumplex { background: linear-gradient(180deg, #f1f4f8, #e7edf4); }
.media-scale { background: linear-gradient(180deg, #fbf5ec, #f4ecdc); }
.measure-card .badge::before {
    content: ""; display: inline-block; width: 7px; height: 7px;
    border-radius: 50%; background: var(--accent-2); margin-right: 7px;
}
.cat-personality .badge::before { background: var(--cat-personality); }
.cat-attachment .badge::before { background: var(--cat-attachment); }
.cat-psychodynamic .badge::before { background: var(--cat-psychodynamic); }
.cat-cognitive .badge::before { background: var(--cat-cognitive); }
.cat-projective .badge::before { background: var(--cat-projective); }
.cat-takenow .badge::before { background: var(--cat-takenow); }
.cat-clinical .badge::before { background: var(--accent-2); }
.cat-screener .badge::before { background: var(--accent-2); }
.measure-card.is-featured { position: relative; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent), var(--shadow); }
.measure-card.is-featured:hover { transform: translateY(-3px); }
.featured-badge {
    position: absolute; top: 12px; right: 12px; z-index: 1;
    font-size: 0.66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    padding: 4px 10px; border-radius: 999px;
    background: var(--accent); color: #fff;
    box-shadow: 0 2px 8px -2px rgba(28, 26, 22, 0.45);
}

/* ── Clinician-access (informational, non-takeable) section ───────────────── */
/* Visually subordinate: a quiet well behind smaller, flat cards that read as
   reference, not as a public call-to-action to self-take. */
.clinical-access {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 28px 30px 8px;
}
.clinical-access .catalog-section-heading { border-bottom-color: var(--border-strong); }
.clinical-access .card-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 18px;
    padding: 28px 0;
}
.clinical-card {
    cursor: default;
    padding: 22px 24px;
    box-shadow: none;
}
.clinical-card h3 { font-size: 1.05rem; }
/* No hover lift — these are display cards, not links. */
.clinical-card:hover { border-color: var(--border); box-shadow: none; transform: none; }
.badge {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--accent-2);
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    padding: 3px 11px;
    margin-bottom: 14px;
}

/* ── Prose ───────────────────────────────────────────────────────────────── */
.prose { max-width: var(--measure); padding-bottom: 56px; }
.prose p { color: #2c2925; }
.prose h2 { margin-top: 40px; font-size: 1.5rem; }
.prose h3 { font-size: 1.15rem; }
.prose .qa { border-bottom: 1px solid var(--border); padding: 20px 0; }
.prose .qa h3 { margin: 0 0 6px; }
.prose .qa:last-child { border-bottom: none; }
.faq-list { max-width: 720px; }
.faq-item { border-bottom: 1px solid var(--border); padding: 0; }
.faq-item:last-child { border-bottom: none; }
.faq-item summary.faq-q { display: block; cursor: pointer; font-size: 1rem; font-weight: 600; color: var(--text); padding: 18px 28px 18px 0; margin: 0; list-style: none; position: relative; }
.faq-item summary.faq-q::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 1.2rem; font-weight: 400; color: var(--muted); transition: transform .2s; }
.faq-item[open] summary.faq-q::after { content: "−"; }
.faq-item summary.faq-q::-webkit-details-marker { display: none; }
.faq-a { padding: 0 0 18px; }
.faq-a p { margin: 0; color: var(--muted); line-height: 1.7; }

/* ── Forms ───────────────────────────────────────────────────────────────── */
.form { max-width: 480px; display: flex; flex-direction: column; gap: 18px; padding: 28px 0 56px; }
.form label { display: flex; flex-direction: column; gap: 6px; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.02em; color: var(--muted); }
.form input, .form select, .form textarea {
    background: var(--surface);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    padding: 12px 14px;
    color: var(--text);
    font-size: 1rem;
    font-family: inherit;
}
.form input:focus, .form select:focus, .form textarea:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(173, 74, 38, 0.16);
}
.form button { align-self: flex-start; }

.auth-wrap { max-width: 430px; margin: 72px auto; }
.auth-alt { color: var(--muted); }
.notice { background: var(--surface-2); border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: var(--radius-sm); padding: 13px 15px; margin: 14px 0; }
.notice.success { border-left-color: var(--success); }

/* ── Tables ──────────────────────────────────────────────────────────────── */
.data-table { width: 100%; border-collapse: collapse; margin: 28px 0 56px; }
.data-table th, .data-table td { text-align: left; padding: 13px 15px; border-bottom: 1px solid var(--border); }
.data-table th { color: var(--muted); font-size: 0.76rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; }
.data-table tr:hover td { background: var(--surface-2); }
.empty-state { background: var(--surface); border: 1px dashed var(--border-strong); border-radius: var(--radius); padding: 56px; text-align: center; margin: 28px 0; }

/* ── Footer ──────────────────────────────────────────────────────────────── */
.site-footer { border-top: 1px solid var(--border); margin-top: 88px; padding: 64px 0 28px; background: var(--surface); }
.footer-inner { display: flex; flex-wrap: wrap; gap: 48px; justify-content: space-between; }
.footer-brand .brand { font-size: 1.3rem; }
.footer-tagline { color: var(--muted); font-style: italic; font-family: var(--font-serif); }
.footer-cols { display: flex; flex-wrap: wrap; gap: 56px; }
.footer-col h4 { font-family: var(--font-sans); margin: 0 0 14px; font-size: 0.76rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.11em; color: var(--muted); }
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { margin: 9px 0; }
.footer-col a { color: var(--text); font-size: 0.92rem; }
.footer-col a:hover { color: var(--accent); }
.footer-legal { color: var(--muted); font-size: 0.82rem; margin-top: 40px; padding-top: 18px; border-top: 1px solid var(--border); }

/* ── Disclaimer page ─────────────────────────────────────────────────────── */
.disclaimer-section { padding: 56px 0; border-bottom: 1px solid var(--border); }
.disclaimer-section:last-child { border-bottom: none; }
.disclaimer-section--individual { background: #fdf8ee; }
.disclaimer-section--professional { background: #f1f5fb; }
.disclaimer-section--research { background: #f5f1fb; }
.disclaimer-section--crisis { background: #fcf2f0; }
.disclaimer-section h2 { font-size: 1.6rem; margin-bottom: 18px; }
.disclaimer-section p { max-width: var(--measure); line-height: 1.75; margin-bottom: 16px; }

.disclaimer-permissions { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 28px 0; }
@media (max-width: 700px) { .disclaimer-permissions { grid-template-columns: 1fr; } }

.permission-group { padding: 22px 26px; border-radius: var(--radius-sm); }
.permission-group h3 { font-family: var(--font-sans); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 14px; }
.permission-group ul { margin: 0; padding-left: 20px; }
.permission-group li { margin: 9px 0; font-size: 0.95rem; line-height: 1.55; }
.permission-group--allowed { background: var(--success-bg); border-left: 3px solid var(--success); }
.permission-group--allowed h3 { color: var(--success-ink); }
.permission-group--restricted { background: #fbf1ea; border-left: 3px solid var(--accent); }
.permission-group--restricted h3 { color: var(--accent-ink); }

.disclaimer-note { font-size: 0.92rem; color: var(--muted); background: rgba(28,26,22,.03); padding: 16px 20px; border-radius: var(--radius-sm); max-width: var(--measure); line-height: 1.7; }
.disclaimer-callout { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 22px 26px; margin: 22px 0; max-width: var(--measure); box-shadow: var(--shadow-sm); }
.disclaimer-callout h3 { font-size: 1.05rem; margin-bottom: 8px; }
.disclaimer-callout p { font-size: 0.93rem; margin: 0; }

.measure-note { margin: 22px 0; padding-bottom: 22px; border-bottom: 1px solid var(--border); max-width: var(--measure); }
.measure-note:last-child { border-bottom: none; }
.measure-note h3 { font-size: 1.05rem; margin-bottom: 8px; }
.measure-note p { font-size: 0.93rem; color: var(--muted); margin: 0; }

.tier-table-wrap { overflow-x: auto; margin: 22px 0; }
.tier-table { width: 100%; border-collapse: collapse; font-size: 0.93rem; }
.tier-table th { text-align: left; padding: 11px 15px; background: var(--surface-2); border-bottom: 2px solid var(--border-strong); font-weight: 700; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
.tier-table td { padding: 11px 15px; border-bottom: 1px solid var(--border); vertical-align: top; }
.tier-table tr:last-child td { border-bottom: none; }

.crisis-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 22px 0; }
@media (max-width: 600px) { .crisis-grid { grid-template-columns: 1fr; } }
.crisis-card { background: var(--surface); border: 1px solid var(--danger-border); border-radius: var(--radius-sm); padding: 22px; display: flex; flex-direction: column; gap: 4px; box-shadow: var(--shadow-sm); }
.crisis-card strong { font-family: var(--font-serif); font-size: 1.2rem; }
.crisis-card span { font-size: 0.88rem; color: var(--muted); }
.crisis-card span:first-of-type { color: var(--text); font-size: 0.95rem; }

/* ── Assessment take flow ────────────────────────────────────────────────── */
.take-hero { padding: 80px 0 56px; text-align: center; }
.take-hero h1 { font-size: clamp(2rem, 4.5vw, 2.6rem); margin-bottom: 14px; }
.take-label { font-size: 0.74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--accent); margin-bottom: 12px; }
.take-subtitle { max-width: 640px; margin: 0 auto 22px; color: var(--muted); line-height: 1.7; font-size: 1.05rem; }
.take-meta-row { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 0.9rem; color: var(--muted); }
.take-meta-sep { color: var(--border-strong); }

.take-info-section { padding-bottom: 72px; }
.take-info-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin-bottom: 28px; }
.take-info-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px 26px; box-shadow: var(--shadow-sm); }
.take-info-card h3 { font-size: 1rem; margin-bottom: 8px; }
.take-info-card p { font-size: 0.88rem; color: var(--muted); margin: 0; line-height: 1.65; }
@media (max-width: 700px) {
  /* Compact the intro so respondents reach "Begin" without a long scroll. */
  .take-hero { padding: 40px 0 28px; }
  .take-info-section { padding-bottom: 44px; }
  .take-info-grid { grid-template-columns: 1fr; gap: 12px; margin-bottom: 20px; }
  .take-info-card { padding: 16px 18px; }
  .take-subtitle { margin-bottom: 18px; }
}
.take-citation-block { margin-bottom: 28px; }
.take-citation { font-size: 0.84rem; color: var(--muted); border-left: 3px solid var(--border-strong); padding-left: 16px; line-height: 1.65; font-family: var(--font-serif); font-style: italic; }
.take-start-cta { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.take-back-link { font-size: 0.9rem; color: var(--muted); }
.take-back-link:hover { color: var(--accent); }
.btn-lg { padding: 15px 40px; font-size: 1.02rem; }

/* Assessment step */
.take-step-wrap { padding-bottom: 88px; }
.take-progress-bar-outer { width: 100%; height: 4px; background: var(--border); border-radius: 999px; overflow: hidden; }
.take-progress-bar-inner { height: 100%; background: var(--accent); transition: width 0.3s; }
.take-step-header { display: flex; justify-content: space-between; align-items: baseline; padding: 32px 0 8px; }
.take-step-label { font-weight: 600; font-size: 1rem; font-family: var(--font-serif); }
.take-step-page { font-size: 0.85rem; color: var(--muted); }

.take-form { max-width: 860px; }
.take-scale-header { display: grid; grid-template-columns: 1fr auto; gap: 16px; margin-bottom: 4px; padding: 0 0 4px; border-bottom: 1px solid var(--border); }
.take-scale-options { display: flex; gap: 0; }
.take-scale-label { min-width: 64px; text-align: center; font-size: 0.7rem; color: var(--muted); line-height: 1.2; padding: 0 2px; }

/* Sticky low/high anchor strip — hidden on desktop (the header shows full
   column labels there), shown on mobile where that header collapses. */
.take-scale-anchors { display: none; }

.take-item-row { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--border); }
.take-item-row:last-of-type { border-bottom: none; }
.take-item-text { font-size: 1rem; line-height: 1.55; }
.take-item-num { color: var(--muted); font-size: 0.82rem; margin-right: 8px; }
.take-item-r { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); opacity: 0.4; vertical-align: middle; margin-left: 4px; }

.take-radio-label { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 64px; cursor: pointer; padding: 8px 4px; border-radius: 4px; transition: background .15s; }
.take-radio-label:hover { background: var(--surface-2); }
.take-radio { position: absolute; opacity: 0; width: 0; height: 0; }
.take-radio-dot { width: 20px; height: 20px; border: 2px solid var(--border-strong); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: all .15s; }
input.take-radio:checked ~ .take-radio-dot { border-color: var(--accent); background: var(--accent); }
.take-radio-num { font-size: 0.75rem; color: var(--muted); }

.take-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 36px; padding-top: 22px; border-top: 1px solid var(--border); }
@media (max-width: 600px) {
  /* Reach the first item quickly: trim top whitespace. */
  .take-step-wrap { padding-bottom: 64px; }
  .take-step-header { padding: 18px 0 6px; flex-wrap: wrap; gap: 2px 12px; }

  /* The full column header doesn't fit; replace it with a sticky low/high
     anchor strip that stays visible while scrolling the items. */
  .take-scale-header { display: none; }
  .take-scale-anchors {
    display: flex; justify-content: space-between; gap: 12px;
    position: sticky; top: 0; z-index: 5;
    background: var(--bg); padding: 10px 0 8px; margin-bottom: 2px;
    border-bottom: 1px solid var(--border);
  }
  .take-anchor {
    font-size: 0.72rem; font-weight: 600; color: var(--muted);
    text-transform: uppercase; letter-spacing: .04em; line-height: 1.25;
  }
  .take-anchor-high { text-align: right; }

  /* Stack statement above its answer row, give items room to breathe. */
  .take-item-row { grid-template-columns: 1fr; gap: 12px; padding: 18px 0; }
  .take-item-text { font-size: 1.02rem; }

  /* Evenly spread, full-width, thumb-friendly option pills. */
  .take-scale-options { flex-wrap: nowrap; gap: 6px; width: 100%; }
  .take-radio-label {
    flex: 1 1 0; min-width: 0; gap: 6px; padding: 10px 2px;
    border: 1px solid var(--border); border-radius: 8px;
    background: var(--surface);
  }
  .take-radio-label:hover { background: var(--surface); }
  .take-radio-label:active { background: var(--surface-2); }
  .take-radio-label:has(.take-radio:checked) {
    border-color: var(--accent); background: rgba(173, 74, 38, 0.08);
  }
  .take-radio-dot { width: 22px; height: 22px; }
  .take-radio-num { font-size: 0.82rem; font-weight: 600; }

  /* Full-width nav buttons that are easy to tap. */
  .take-nav { gap: 10px; margin-top: 28px; }
  .take-nav .btn { flex: 1 1 0; text-align: center; padding-left: 8px; padding-right: 8px; }
}

/* Per-item anchored items (screeners like AUDIT): full-label vertical options */
.take-item-anchored { grid-template-columns: 1fr; gap: 12px; align-items: stretch; padding: 20px 0; }
.take-anchored-options { display: flex; flex-direction: column; gap: 8px; }
.take-anchored-label {
  display: flex; align-items: center; gap: 12px; cursor: pointer;
  padding: 10px 14px; border: 1px solid var(--border); border-radius: 8px;
  background: var(--surface); transition: background .15s, border-color .15s;
}
.take-anchored-label:hover { background: var(--surface-2); }
.take-anchored-label:has(.take-radio:checked) {
  border-color: var(--accent); background: rgba(173, 74, 38, 0.08);
}
.take-anchored-num {
  flex: 0 0 auto; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center;
  border: 2px solid var(--border-strong); border-radius: 50%;
  font-size: 0.82rem; font-weight: 600; color: var(--muted); transition: all .15s;
}
.take-anchored-label:has(.take-radio:checked) .take-anchored-num {
  border-color: var(--accent); background: var(--accent); color: var(--accent-ink);
}
.take-anchored-text { font-size: 0.95rem; line-height: 1.4; }

/* Screener (cutoff-scored) result block */
.screener-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin: 18px 0 8px; }
.screener-total-block { display: flex; align-items: baseline; gap: 6px; }
.screener-total-value { font-family: var(--font-serif); font-size: 2.6rem; font-weight: 600; color: var(--accent); line-height: 1; }
.screener-total-max { font-size: 1.1rem; color: var(--muted); }
.screener-total-label { font-size: 0.8rem; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; margin-left: 8px; align-self: center; }
.screener-band-block { margin-left: auto; }
.screener-band-label {
  display: inline-block; padding: 8px 16px; border-radius: 999px;
  background: var(--accent); color: var(--accent-ink);
  font-weight: 600; font-size: 0.95rem;
}
.screener-disclaimer { font-size: 0.85rem; color: var(--muted); margin-top: 10px; }
.screener-scoring-source { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); }
.screener-scoring-source h3 { font-size: 0.95rem; margin-bottom: 6px; }

/* Assessment complete */
.take-complete-wrap { text-align: center; }
.take-complete-icon { font-size: 3rem; color: var(--success); margin-bottom: 16px; }
.take-complete-sub { font-size: 1.1rem; color: var(--muted); margin-bottom: 20px; }
.take-complete-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin: 24px 0; }
.take-complete-note { max-width: 560px; margin: 0 auto; font-size: 0.85rem; color: var(--muted); line-height: 1.65; }

/* ── Result report page ──────────────────────────────────────────────────── */
.result-hero { padding: 80px 0 48px; text-align: center; }
.result-hero h1 { font-size: clamp(2rem, 4.5vw, 2.6rem); margin-bottom: 12px; }
.result-meta { font-size: 0.9rem; color: var(--muted); }
.result-share { margin-top: 18px; display: flex; align-items: center; justify-content: center; gap: 12px; }
.result-share-confirm { font-size: 0.85rem; color: var(--accent-ink); font-weight: 600; }
.result-body { padding-bottom: 88px; }
.result-grid { display: grid; grid-template-columns: 1fr; gap: 26px; max-width: 800px; margin: 0 auto; }
.result-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 36px 40px; box-shadow: var(--shadow-sm); }
.result-card h2 { font-size: 1.4rem; margin-bottom: 18px; }
.score-section-heading { font-size: 1.05rem; font-weight: 600; margin: 28px 0 14px; color: var(--text); border-top: 1px solid var(--border); padding-top: 20px; }
.score-virtue-heading { font-size: 0.78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--accent-ink); margin: 26px 0 12px; padding-bottom: 7px; border-bottom: 1px solid var(--border); }
.score-list .score-virtue-heading:first-child { margin-top: 4px; }
.score-domains .score-row { background: color-mix(in srgb, var(--accent) 5%, var(--surface)); }
.result-pending { text-align: center; }
.result-pending-icon { font-size: 3rem; margin-bottom: 16px; }
.result-pending p { color: var(--muted); margin-bottom: 12px; line-height: 1.7; }
.result-pending-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 24px; }
.result-about-card { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius); padding: 26px 30px; }
.result-about-card h3 { font-size: 1rem; font-weight: 700; margin-bottom: 8px; }
.result-about-card p { font-size: 0.88rem; color: var(--muted); line-height: 1.7; margin-bottom: 10px; }
.result-citation { font-size: 0.8rem; border-left: 3px solid var(--border-strong); padding-left: 14px; font-family: var(--font-serif); font-style: italic; }
.sample-banner-wrap { background: var(--surface-2); border-bottom: 1px solid var(--border); padding: 16px 0; }
.sample-banner { display: flex; gap: 18px; align-items: center; justify-content: space-between; flex-wrap: wrap; border: 1px solid var(--accent); border-radius: var(--radius); background: var(--surface); padding: 16px 22px; }
.sample-banner-copy { flex: 1 1 320px; }
.sample-banner-title { font-size: 0.9rem; font-weight: 700; color: var(--accent-ink); margin-bottom: 4px; }
.sample-banner-text { font-size: 0.8rem; color: var(--muted); line-height: 1.6; margin: 0; }
.sample-banner-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.score-band { display: inline-block; font-size: 0.68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; margin-left: 8px; vertical-align: middle; border: 1px solid var(--border-strong); color: var(--muted); }
.score-band--higher { background: var(--band-higher-bg); color: var(--band-higher-ink); border-color: var(--success-border); }
.score-band--lower { background: var(--band-lower-bg); color: var(--band-lower-ink); border-color: var(--band-lower-border); }
.score-band--average { background: #ece8df; color: var(--muted); border-color: var(--border-strong); }
.score-interpretation { font-size: 0.84rem; color: var(--muted); line-height: 1.6; margin-top: 7px; }
.score-norm-comparison { font-size: 0.82rem; color: var(--muted); line-height: 1.55; margin-top: 6px; padding: 7px 12px; background: var(--surface-2); border-left: 3px solid var(--border-strong); border-radius: 0 4px 4px 0; }
.norm-label { font-weight: 600; color: var(--text); }
.norm-gauge { margin-top: 10px; }
.norm-gauge-track { position: relative; height: 10px; border-radius: 999px; background: var(--surface-2); border: 1px solid var(--border); }
.norm-gauge-band { position: absolute; top: -1px; bottom: -1px; left: 16%; width: 68%; background: var(--band-higher-bg); border-left: 1px solid var(--success-border); border-right: 1px solid var(--success-border); border-radius: 2px; }
.norm-gauge-marker { position: absolute; top: 50%; width: 14px; height: 14px; border-radius: 50%; background: var(--text); border: 2px solid var(--surface); box-shadow: 0 1px 3px rgba(0,0,0,.25); transform: translate(-50%, -50%); }
.norm-gauge-scale { display: flex; justify-content: space-between; font-size: 0.7rem; color: var(--muted); margin-top: 5px; }
.norm-gauge-mid { color: var(--band-higher-ink); font-weight: 600; }
.norm-gauge-caption { font-size: 0.72rem; color: var(--muted); font-style: italic; margin-top: 4px; line-height: 1.5; }
.score-row--domain { margin-top: 18px; padding: 14px 16px; background: var(--surface-2); border: 1px solid var(--border); border-left: 4px solid var(--accent-ink); border-radius: 0 6px 6px 0; }
.score-row--domain .score-name { font-size: 1.02rem; font-weight: 700; }
.score-domain-tag { display: inline-block; font-size: 0.6rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 2px 7px; border-radius: 999px; background: var(--accent-ink); color: var(--surface); vertical-align: middle; margin-right: 4px; }
.result-norm-source { font-size: 0.78rem; color: var(--muted); font-style: italic; margin-top: 14px; line-height: 1.5; }
.circumplex-figure { margin: 4px 0 26px; padding: 18px; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius); }
.circumplex-figure .circumplex { display: block; width: 100%; max-width: 360px; height: auto; margin: 0 auto; }
.circumplex-figure figcaption { font-size: 0.78rem; color: var(--muted); line-height: 1.55; margin-top: 12px; }
.circumplex-figure figcaption strong { color: var(--text); }
.result-summary { margin-top: 26px; padding: 20px 24px; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius); }
.result-summary h3 { font-size: 1rem; font-weight: 700; margin-bottom: 8px; }
.result-summary p { font-size: 0.9rem; color: var(--text); line-height: 1.7; margin: 0; }

/* ── RSQ top-scenarios highlight ─────────────────────────────────────────── */
.rsq-top-scenarios { margin-bottom: 32px; padding: 20px 24px; background: var(--surface-2); border: 1px solid var(--border); border-left: 4px solid var(--accent-ink); border-radius: 0 var(--radius) var(--radius) 0; }
.rsq-top-scenarios h3 { font-size: 1rem; font-weight: 700; margin-bottom: 6px; }
.rsq-top-list { list-style: none; padding: 0; margin: 12px 0 0; display: flex; flex-direction: column; gap: 14px; }
.rsq-top-list li { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; row-gap: 5px; }
.rsq-top-label { font-size: 0.92rem; font-weight: 600; color: var(--text); grid-column: 1; }
.rsq-top-context { font-size: 0.78rem; color: var(--muted); font-style: italic; margin-left: 4px; }
.rsq-top-score { font-size: 0.9rem; font-weight: 700; color: var(--accent-ink); grid-column: 2; grid-row: 1; text-align: right; padding-left: 12px; align-self: center; }
.rsq-top-bar { grid-column: 1 / -1; grid-row: 2; margin: 0; }

/* ── Pricing page extras ─────────────────────────────────────────────────── */
.price-card-badge {
  display: inline-block;
  background: var(--accent);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 4px 11px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.price-card-form { margin-top: 22px; }
.btn-full { width: 100%; text-align: center; display: block; }
.btn-outline {
  display: inline-block;
  padding: 11px 24px;
  border: 1px solid var(--accent);
  color: var(--accent);
  border-radius: var(--radius-sm);
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0,0,0,.10), 0 1px 2px rgba(0,0,0,.07);
  transition: background .15s, color .15s, transform .12s ease, box-shadow .12s ease;
}
.btn-outline:hover { background: var(--accent); color: #fff; transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0,0,0,.13), 0 2px 4px rgba(0,0,0,.09); }
.btn-outline:active { transform: translateY(1px); box-shadow: 0 1px 2px rgba(0,0,0,.10); }
.pricing-footnotes {
  max-width: 680px;
  margin: 56px auto 0;
  font-size: 0.82rem;
  color: var(--muted);
  line-height: 1.7;
  text-align: center;
}
.pricing-footnotes p { margin-bottom: 8px; }

/* ── Alert banners ───────────────────────────────────────────────────────── */
.alert {
  max-width: 800px;
  margin: 0 auto 28px;
  padding: 15px 20px;
  border-radius: var(--radius-sm);
  font-size: 0.92rem;
  line-height: 1.55;
}
.alert-error { background: var(--danger-bg); border: 1px solid var(--danger-border); color: var(--danger-ink); }
.alert-info  { background: var(--info-bg); border: 1px solid var(--info-border); color: var(--accent-2); }

/* Action button rows (dashboard / clinician) */
.dashboard-actions .container,
.dashboard-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}
.inline-form { display: inline-block; margin: 0; }

/* ── Picture Story Exercise (PSE) ────────────────────────────────────────── */
.take-intro { max-width: var(--measure); margin: 3.5rem auto; }
.take-intro h1 { margin: .25rem 0 1rem; font-size: clamp(2rem, 4.5vw, 2.6rem); }
.take-lead { font-size: 1.15rem; line-height: 1.65; color: var(--muted); }
.take-points { line-height: 1.85; margin: 1.25rem 0; padding-left: 1.2rem; }
.take-meta { color: var(--muted); font-size: .95rem; margin: 1rem 0; }
.take-note { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: .85rem 1.1rem; font-size: .95rem; }
.take-begin-form { margin-top: 1.75rem; }

.pse-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.5rem;
  align-items: start; margin-top: 1.5rem; }
.pse-figure { position: sticky; top: 1.5rem; margin: 0; text-align: center; }
.pse-image { width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: contain;
  background: var(--surface-2); border-radius: var(--radius);
  border: 1px solid var(--border); display: block; box-shadow: var(--shadow-sm); }
.pse-caption { color: var(--muted); font-size: .9rem; margin-top: .6rem; font-family: var(--font-serif); font-style: italic; }
.pse-form { max-width: none; }

@media (max-width: 860px) {
  .pse-layout { grid-template-columns: 1fr; gap: 1.25rem; }
  .pse-figure { position: static; }
  .pse-image { aspect-ratio: auto; max-height: 40vh; }
}

.pse-prompts { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: 1.1rem 1.35rem; margin: 1.35rem 0; }
.pse-prompts-title { font-weight: 600; margin: 0 0 .5rem; font-family: var(--font-serif); }
.pse-prompts ul { margin: 0; padding-left: 1.2rem; line-height: 1.75; color: var(--text); }
/* Desktop: prompts are always visible; the summary acts as a plain heading. */
.pse-prompts > summary { list-style: none; cursor: default; }
.pse-prompts > summary::-webkit-details-marker { display: none; }
.pse-prompts > summary::marker { content: ""; }
.pse-prompts > ul { display: block; }
.pse-prompts-hint { display: none; }

/* Mobile: collapse the prompts so the writing area is reachable immediately. */
@media (max-width: 860px) {
  .pse-prompts { margin: 1rem 0; padding: .85rem 1.1rem; }
  .pse-prompts-title { margin: 0; }
  .pse-prompts > summary { list-style: revert; cursor: pointer; }
  .pse-prompts > summary::-webkit-details-marker { display: revert; }
  .pse-prompts > summary::marker { content: revert; }
  .pse-prompts-hint { display: inline; font-weight: 400; color: var(--muted); font-family: var(--font-sans); }
  .pse-prompts:not([open]) > ul { display: none; }
  .pse-prompts[open] > summary { margin-bottom: .5rem; }
}

.pse-textarea { width: 100%; box-sizing: border-box; font: inherit; line-height: 1.65;
  padding: 1rem 1.1rem; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); resize: vertical;
  min-height: 12rem; background: var(--surface); color: var(--text); }
.pse-textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(173, 74, 38, 0.16); }
.form-error { color: var(--accent-ink); font-weight: 600; margin: .85rem 0; }
.form-notice { color: var(--success); font-weight: 600; margin: .85rem 0; }

.signin-methods { list-style: none; padding: 0; margin: 0 0 .75rem; }
.signin-methods li { padding: .25rem 0; color: var(--text); }
.signin-note { color: var(--muted); font-size: .9rem; margin: .25rem 0 1rem; }
.set-password-form { display: flex; flex-direction: column; gap: .4rem; margin-top: .5rem; }
.set-password-form label { font-weight: 600; font-size: .9rem; }
.set-password-form input { font: inherit; padding: .5rem .65rem; border: 1px solid var(--border-strong);
  border-radius: var(--radius-sm); background: var(--surface); color: var(--text); }
.set-password-form input:focus { outline: none; border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(173, 74, 38, 0.16); }
.set-password-form button { margin-top: .5rem; align-self: flex-start; }

.motive-bars { margin: 1rem 0 1.5rem; }
.motive-row { margin: 1.2rem 0; }
.motive-head { display: flex; justify-content: space-between; align-items: baseline; }
.motive-name { font-weight: 600; font-family: var(--font-serif); }
.motive-value { font-variant-numeric: tabular-nums; color: var(--muted); }
.motive-track { height: 12px; background: var(--surface-2); border-radius: 999px; overflow: hidden;
  margin: .45rem 0 .35rem; border: 1px solid var(--border); }
.motive-fill { height: 100%; background: linear-gradient(90deg, var(--accent), var(--accent-ink));
  border-radius: 999px; }
.motive-blurb { color: var(--muted); font-size: .9rem; margin: 0; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 760px) {
  .main-nav { gap: 16px; flex-wrap: wrap; justify-content: flex-end; }
  .header-inner { height: auto; padding: 14px 0; gap: 12px; flex-wrap: wrap; }
  .hero { padding: 72px 0 48px; }
  .container { padding: 0 20px; }
}

/* ============================================================================
   Migrated per-page styles (previously inline <style> blocks).
   All color values reference the :root tokens above, so a palette/theme
   change is a single edit. Page-specific rules are scoped under a per-page
   body class (.p-<slug>) emitted by base.html's {% block body_class %}.
   ============================================================================ */

/* ── Blog articles — shared .art-* family (single source for every post) ──── */
.art-wrap { max-width: 46rem; margin: 0 auto; padding: 4rem 0 5rem; }
.art-back { font-size: .82rem; color: var(--muted); text-decoration: none; display: inline-block; margin-bottom: 1.75rem; }
.art-back:hover { color: var(--text); }
.art-meta { display: flex; gap: .65rem; align-items: center; margin-bottom: 1rem; }
.art-cat { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; border: 1px solid var(--border-strong); border-radius: 4px; padding: .1rem .45rem; color: var(--muted); }
.art-author { font-size: .75rem; color: var(--muted); }
.art-h1 { font-size: clamp(1.4rem,3.5vw,2rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; margin-bottom: 2rem; }
.art-body { font-size: .9rem; color: var(--muted); line-height: 1.85; }
.art-body h2 { font-size: 1.05rem; font-weight: 700; color: var(--text); margin: 2.2rem 0 .75rem; }
.art-body h3 { font-size: .92rem; font-weight: 700; color: var(--text); margin: 1.5rem 0 .5rem; }
.art-body p { margin-bottom: 1rem; }
.art-body ul { padding-left: 1.4rem; margin-bottom: 1rem; }
.art-body li { margin-bottom: .35rem; }
.art-body blockquote { border-left: 3px solid var(--border-strong); padding-left: 1rem; margin: 1.25rem 0; color: var(--muted); font-style: italic; }
.art-body a { color: var(--accent); text-decoration: none; }
.art-body a:hover { text-decoration: underline; }
.art-body strong { color: var(--text); font-weight: 700; }
.art-body code { background: var(--surface); border-radius: 3px; padding: .1rem .35rem; font-size: .85em; }
.art-cta { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.4rem; margin-top: 3rem; }
.art-cta h3 { font-size: .9rem; font-weight: 700; margin-bottom: .35rem; }
.art-cta p { font-size: .82rem; color: var(--muted); line-height: 1.6; margin-bottom: .85rem; }
.art-cta .cta-row { display: flex; gap: .6rem; flex-wrap: wrap; }

/* Shared compact buttons used by blog + scoped pages (single source) */
.btn-p { background: var(--accent); border: none; border-radius: 6px; padding: .55rem 1.2rem; color: var(--surface); font-size: .85rem; font-weight: 600; text-decoration: none; box-shadow: 0 1px 3px rgba(0,0,0,.10), 0 1px 2px rgba(0,0,0,.07); transition: background .15s, transform .12s ease, box-shadow .12s ease; }
.btn-p:hover { background: var(--accent-ink); transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0,0,0,.13), 0 2px 4px rgba(0,0,0,.09); }
.btn-p:active { transform: translateY(1px); box-shadow: 0 1px 2px rgba(0,0,0,.10); }
.btn-s { border: 1px solid var(--border-strong); border-radius: 6px; padding: .55rem .95rem; color: var(--muted); font-size: .82rem; text-decoration: none; box-shadow: 0 1px 3px rgba(0,0,0,.10), 0 1px 2px rgba(0,0,0,.07); transition: color .15s, background .15s, transform .12s ease, box-shadow .12s ease; }
.btn-s:hover { color: var(--text); transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0,0,0,.13), 0 2px 4px rgba(0,0,0,.09); }
.btn-s:active { transform: translateY(1px); box-shadow: 0 1px 2px rgba(0,0,0,.10); }

/* ============================================================================
   Shared patterns — rule bodies repeated across multiple pages, consolidated
   into one comma-joined selector list. Each page keeps its own scoped selector
   (rendering is identical); only deviations remain in the per-page blocks below.
   ============================================================================ */
.p-apps .apps-hero h1, .p-blog .blog-hero h1, .p-science .science-hero h1 { font-size: clamp(2rem,5vw,3rem); font-weight: 800; letter-spacing: -.02em; }
.p-apps .status-beta, .p-blog .cat-research-methods { background: hsl(35 48% 92%); color: hsl(35 90% 33%); }
.p-apps .app-link:hover, .p-science .btn-outline:hover { background: var(--accent); color: var(--surface); }
.p-axispoint .ax-wrap, .p-labs .labs-wrap, .p-research-hub .rh-wrap { max-width: 58rem; margin: 0 auto; padding: 4rem 0 5rem; }
.p-axispoint .ax-hero .badge, .p-construct-quantifier .cq-hero .badge, .p-ip .ip-hero .badge, .p-labs .labs-hero .badge, .p-lexical-decision-landing .ldt-hero .badge, .p-narrative-lab .nl-hero .badge, .p-psychometric-testing .pm-hero .badge, .p-research-for-graduate-programs .gp-hero .badge, .p-research-for-institutions .inst-hero .badge, .p-research-hub .rh-hero .badge, .p-schizoid-avoidant-tutorial .sat-hero .badge, .p-scholar .sch-hero .badge, .p-stroop-landing .st-hero .badge { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; border: 1px solid var(--border-strong); border-radius: 4px; padding: .2rem .55rem; color: var(--muted); margin-bottom: 1rem; display: inline-block; }
.p-axispoint .ax-hero h1, .p-lexical-decision-landing .ldt-hero h1, .p-stroop-landing .st-hero h1 { font-size: clamp(2rem,5vw,3rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; }
.p-axispoint .module-content p, .p-ferpa .alert-box p, .p-scholar .tool-card .tc p, .p-stroop-landing .block-content p { font-size: .82rem; color: var(--muted); line-height: 1.6; margin: 0; }
.p-axispoint .status-integrated, .p-sample-report-ldt .badge-norm, .p-sample-report-stroop .badge-hi { background: hsl(145 48% 92%); color: hsl(145 50% 33%); border: 1px solid hsl(145 48% 92%); }
.p-axispoint .section-h2, .p-custom-batteries .roadmap-batteries h2, .p-investors .section h2, .p-research-hub .tools-section h2, .p-research-hub .measures-section h2, .p-schizoid-avoidant-tutorial .section h2 { font-size: 1.1rem; font-weight: 700; margin-bottom: 1rem; padding-bottom: .5rem; border-bottom: 1px solid var(--border); }
.p-axispoint .section-block, .p-cv .cv-section, .p-for-graduate-programs .section-block, .p-investors .section, .p-ip .ip-section, .p-learn-cognitive .section, .p-learn-interpersonal .section, .p-lexical-decision-landing .what-section, .p-lexical-decision-landing .faq-section, .p-narrative-lab .protocol-section, .p-narrative-lab .output-section, .p-psychometric-testing .pm-section, .p-research-for-graduate-programs .gp-section, .p-research-for-institutions .inst-section, .p-research-hub .tools-section, .p-research-hub .measures-section, .p-schizoid-avoidant-tutorial .section, .p-schizoid-landing .section, .p-scholar .tools-section, .p-scholar .pricing-section, .p-stroop-landing .blocks-section, .p-stroop-landing .faq-section { margin-bottom: 3rem; }
.p-axispoint .section-block p, .p-for-graduate-programs .section-block p, .p-high-stakes-testing .section-block p, .p-hipaa .hipaa-section p, .p-investors .section p, .p-lexical-decision-landing .what-section p { font-size: .88rem; color: var(--muted); line-height: 1.7; margin-bottom: .75rem; }
.p-axispoint .earlyaccess-form button:hover, .p-construct-quantifier .cq-btn:hover, .p-custom-batteries .cta-btn:hover, .p-for-graduate-programs .inquiry-form button:hover, .p-high-stakes-testing .inquiry-form button:hover, .p-investors .contact-cta a:hover, .p-psychometric-testing .cta-strip .btn-p:hover, .p-request-baa .baa-form button:hover, .p-research-hub .access-cta .btn-p:hover, .p-research-institutions .btn-orange:hover, .p-sample-report-ldt .cta-btn:hover, .p-sample-report-stroop .cta-btn:hover { background: var(--accent-ink); }
.p-blog-article .art-back:hover, .p-construct-quantifier .cq-reset:hover, .p-construct-quantifier .cq-facet b, .p-cv .pub-item p span, .p-ferpa .ferpa-card li strong, .p-for-graduate-programs .section-block li strong, .p-high-stakes-testing .section-block li strong, .p-hipaa .hipaa-section li strong, .p-learn-cognitive .breadcrumb a:hover, .p-learn-cognitive .nav-row a:hover, .p-learn-interpersonal .breadcrumb a:hover, .p-learn-interpersonal .nav-row a:hover, .p-learn .learn-meta strong, .p-product-sadt .sample-score-table td:first-child, .p-psychometric-testing .cta-strip .btn-s:hover, .p-request-baa .back-link:hover, .p-research-hub .access-cta .btn-s:hover, .p-sample-report-ldt .soa-table td:first-child, .p-sample-report-ldt .freq-bands td:first-child, .p-sample-report-ldt .cta-secondary:hover, .p-sample-report-stroop .cta-secondary:hover, .p-schizoid-avoidant-tutorial .section li strong, .p-schizoid-avoidant-tutorial .nav-row a:hover, .p-schizoid-landing .section li strong { color: var(--text); }
.p-blog-article .art-author, .p-custom-batteries .roadmap-item p, .p-narrative-lab .out-chip .ov, .p-sample-report-ldt .rep-header .meta-item, .p-sample-report-stroop .rep-header .meta-item { font-size: .75rem; color: var(--muted); }
.p-blog-article .art-body p, .p-cv .pub-item { margin-bottom: 1rem; }
.p-blog-article .art-cta h3, .p-narrative-lab .protocol-card h3 { font-size: .9rem; font-weight: 700; margin-bottom: .35rem; }
.p-blog-article .art-cta .cta-row, .p-product-ecrsf .prod-hero .cta-row, .p-product-ipc32 .prod-hero .cta-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.p-blog .cat-btn.active, .p-schizoid-landing .action-primary { background: var(--accent); border-color: var(--accent); color: var(--surface); }
.p-blog .article-card:hover, .p-learn .module-card:hover, .p-research-institutions .inst-form input:focus,
.p-research-institutions .inst-form select:focus,
.p-research-institutions .inst-form textarea:focus { border-color: var(--accent); }
.p-blog .cat-personality, .p-science .cat-label.personality { background: hsl(265 48% 92%); color: hsl(265 60% 33%); }
.p-blog .cat-relationships, .p-science .cat-label.clinical { background: hsl(350 48% 92%); color: hsl(350 70% 33%); }
.p-blog .cat-cognition, .p-science .cat-label.cognitive { background: hsl(210 48% 92%); color: hsl(210 70% 33%); }
.p-blog .card-author, .p-labs .lab-item.soon, .p-learn-cognitive .breadcrumb span, .p-learn-interpersonal .breadcrumb span, .p-sample-report-ldt .rep-header .meta-item strong, .p-sample-report-stroop .rep-header .meta-item strong { color: var(--muted); }
.p-construct-quantifier .cq-hero, .p-custom-batteries .batt-hero, .p-for-graduate-programs .grad-hero, .p-high-stakes-testing .hst-hero, .p-hipaa .hipaa-hero, .p-product-ccrt .prod-hero, .p-product-pse .prod-hero, .p-product-sadt .prod-hero, .p-research-hub .rh-hero, .p-resources .res-hero, .p-schizoid-landing .schi-hero { padding: 2rem 0 2.5rem; border-bottom: 1px solid var(--border); margin-bottom: 2.5rem; }
.p-construct-quantifier .cq-hero h1, .p-custom-batteries .batt-hero h1, .p-high-stakes-testing .hst-hero h1, .p-hipaa .hipaa-hero h1, .p-labs .labs-hero h1, .p-product-ccrt .prod-hero h1, .p-product-pse .prod-hero h1, .p-product-sadt .prod-hero h1, .p-research-hub .rh-hero h1, .p-resources .res-hero h1, .p-schizoid-landing .schi-hero h1 { font-size: clamp(1.7rem,4vw,2.5rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.p-construct-quantifier .cq-field, .p-research-hub .measures-cat { margin-bottom: 1.25rem; }
.p-construct-quantifier .cq-reset, .p-learn-cognitive .nav-row a, .p-learn-interpersonal .nav-row a, .p-schizoid-avoidant-tutorial .nav-row a { color: var(--muted); font-size: .85rem; text-decoration: none; }
.p-construct-quantifier .cq-sec, .p-science .cat-block { margin-bottom: 2rem; }
.p-construct-quantifier .cq-cells, .p-request-baa .baa-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.p-construct-quantifier .cq-inst a:hover, .p-construct-quantifier .cq-battery .bi a:hover, .p-ferpa .ferpa-cta a:hover, .p-learn-cognitive .measure-link:hover, .p-learn-interpersonal .measure-link:hover, .p-learn .module-link:hover, .p-research-hub .tool-cta:hover, .p-science .instr-table a:hover { text-decoration: underline; }
.p-construct-quantifier .cq-battery .bi a, .p-ferpa .ferpa-cta a, .p-science .instr-table a { color: var(--accent); text-decoration: none; }
.p-custom-batteries .batt-wrap, .p-ferpa .ferpa-wrap, .p-for-graduate-programs .grad-wrap, .p-high-stakes-testing .hst-wrap, .p-hipaa .hipaa-wrap, .p-narrative-lab .nl-wrap, .p-product-ecrsf .prod-wrap, .p-product-ipc32 .prod-wrap, .p-psychometric-testing .pm-wrap, .p-research-for-graduate-programs .gp-wrap, .p-research-for-institutions .inst-wrap, .p-resources .res-wrap, .p-sample-report-ldt .ldt-rep-wrap, .p-sample-report-stroop .str-rep-wrap, .p-schizoid-landing .schi-wrap, .p-scholar .sch-wrap { max-width: 56rem; margin: 0 auto; padding: 4rem 0 5rem; }
.p-custom-batteries .batt-hero .badge, .p-ferpa .ferpa-badge, .p-for-graduate-programs .grad-hero .badge, .p-high-stakes-testing .hst-hero .badge, .p-hipaa .hipaa-hero .badge, .p-schizoid-landing .schi-hero .badge { display: inline-flex; align-items: center; gap: .35rem; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; border: 1px solid var(--border-strong); border-radius: 4px; padding: .2rem .55rem; color: var(--muted); margin-bottom: 1rem; }
.p-custom-batteries .batt-hero .sub, .p-high-stakes-testing .hst-hero .sub { margin-top: .7rem; color: var(--muted); font-size: .9rem; line-height: 1.65; max-width: 58ch; }
.p-custom-batteries .battery-card .features, .p-labs .lab-items, .p-learn .module-instruments, .p-research-hub .measures-list { display: flex; flex-wrap: wrap; gap: .4rem; }
.p-cv .cv-wrap, .p-investors .inv-wrap, .p-ip .ip-wrap, .p-learn-cognitive .lcog-wrap, .p-learn-interpersonal .lint-wrap, .p-lexical-decision-landing .ldt-land-wrap, .p-product-ccrt .prod-wrap, .p-product-pse .prod-wrap, .p-product-sadt .prod-wrap, .p-schizoid-avoidant-tutorial .sat-wrap, .p-stroop-landing .st-wrap { max-width: 52rem; margin: 0 auto; padding: 4rem 0 5rem; }
.p-cv .cv-header h1, .p-request-baa .baa-hero h1 { font-size: clamp(1.5rem,3.5vw,2rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; }
.p-cv .cv-header .contact-row span, .p-product-ecrsf .desc-block cite, .p-product-ipc32 .desc-block cite { font-size: .78rem; color: var(--muted); }
.p-cv .pub-item p, .p-hipaa .baa-box p, .p-schizoid-landing .faq-item p { font-size: .83rem; color: var(--muted); line-height: 1.65; margin: 0; }
.p-ferpa .ferpa-back:hover, .p-hipaa .hipaa-cta a, .p-learn-cognitive .measure-link, .p-learn-interpersonal .measure-link, .p-learn .learn-note a, .p-research-institutions .inst-hero .back:hover, .p-schizoid-landing .pub-box .doi a { color: var(--accent); }
.p-ferpa .ferpa-card ul, .p-for-graduate-programs .section-block ul, .p-high-stakes-testing .section-block ul, .p-hipaa .hipaa-section ul, .p-schizoid-avoidant-tutorial .section ul, .p-schizoid-landing .section ul { list-style: disc; padding-left: 1.25rem; }
.p-ferpa .ferpa-card li, .p-hipaa .hipaa-section li { font-size: .85rem; color: var(--muted); line-height: 1.65; padding: .2rem 0; }
.p-for-graduate-programs .grad-hero .sub, .p-investors .inv-hero .sub, .p-ip .ip-hero .sub, .p-labs .labs-hero .sub, .p-psychometric-testing .pm-hero .sub, .p-research-hub .rh-hero .sub, .p-resources .res-hero .sub, .p-schizoid-avoidant-tutorial .sat-hero .sub, .p-scholar .sch-hero .sub { margin-top: .7rem; color: var(--muted); font-size: .9rem; line-height: 1.65; max-width: 60ch; }
.p-for-graduate-programs .benefit-card, .p-investors .quad-card, .p-resources .book-card { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.25rem; }
.p-for-graduate-programs .benefit-card p, .p-high-stakes-testing .step-content p { font-size: .82rem; color: var(--muted); line-height: 1.6; }
.p-for-graduate-programs .section-h2, .p-high-stakes-testing .section-h2, .p-hipaa .hipaa-section h2, .p-schizoid-landing .section h2 { font-size: 1.15rem; font-weight: 700; margin-bottom: .85rem; padding-bottom: .5rem; border-bottom: 1px solid var(--border); }
.p-for-graduate-programs .section-block li, .p-high-stakes-testing .section-block li, .p-schizoid-avoidant-tutorial .section li, .p-schizoid-landing .section li { font-size: .85rem; color: var(--muted); line-height: 1.65; padding: .25rem 0; }
.p-for-graduate-programs .tier, .p-hipaa .pillar { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.35rem; }
.p-for-graduate-programs .tier ul, .p-request-baa .what-box ul { list-style: disc; padding-left: 1.1rem; }
.p-for-graduate-programs .inquiry-section, .p-high-stakes-testing .inquiry-section { margin-top: 3.5rem; border-top: 1px solid var(--border); padding-top: 2.5rem; }
.p-for-graduate-programs .inquiry-section h2, .p-high-stakes-testing .inquiry-section h2 { font-size: 1.2rem; font-weight: 700; margin-bottom: .3rem; }
.p-for-graduate-programs .inquiry-section .sub, .p-high-stakes-testing .inquiry-section .sub { font-size: .85rem; color: var(--muted); margin-bottom: 1.5rem; }
.p-for-graduate-programs .inquiry-form, .p-high-stakes-testing .inquiry-form { display: flex; flex-direction: column; gap: 1rem; max-width: 42rem; }
.p-for-graduate-programs .inquiry-form label, .p-high-stakes-testing .inquiry-form label { display: block; font-size: .82rem; font-weight: 600; margin-bottom: .3rem; color: var(--text); }
.p-for-graduate-programs .inquiry-form input,
.p-for-graduate-programs .inquiry-form textarea,
.p-for-graduate-programs .inquiry-form select, .p-high-stakes-testing .inquiry-form input,
.p-high-stakes-testing .inquiry-form textarea,
.p-high-stakes-testing .inquiry-form select { width: 100%; background: var(--surface); border: 1px solid var(--border-strong); border-radius: 6px; padding: .6rem .8rem; font-size: .85rem; color: var(--text); box-sizing: border-box; font-family: inherit; }
.p-for-graduate-programs .inquiry-form textarea, .p-high-stakes-testing .inquiry-form textarea { min-height: 5rem; resize: vertical; }
.p-for-graduate-programs .inquiry-form button, .p-high-stakes-testing .inquiry-form button { align-self: flex-start; background: var(--accent); border: none; border-radius: 6px; padding: .6rem 1.5rem; color: var(--surface); font-size: .88rem; font-weight: 600; cursor: pointer; }
.p-high-stakes-testing .exam-card, .p-resources .article-card { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1rem 1.1rem; }
.p-high-stakes-testing .exam-card h3, .p-learn-cognitive .task-card h4, .p-product-pse .motive-card h3 { font-size: .88rem; font-weight: 700; margin-bottom: .3rem; }
.p-high-stakes-testing .section-block, .p-hipaa .hipaa-section, .p-product-ccrt .prod-section, .p-product-ecrsf .pm-section, .p-product-ipc32 .pm-section, .p-product-pse .prod-section, .p-product-sadt .prod-section, .p-sample-report-ldt .rep-section, .p-sample-report-stroop .rep-section { margin-bottom: 2.5rem; }
.p-investors .inv-hero, .p-ip .ip-hero, .p-labs .labs-hero, .p-narrative-lab .nl-hero, .p-psychometric-testing .pm-hero, .p-research-for-graduate-programs .gp-hero, .p-research-for-institutions .inst-hero, .p-scholar .sch-hero { padding: 2rem 0 2.5rem; border-bottom: 1px solid var(--border); margin-bottom: 3rem; }
.p-investors .inv-hero h1, .p-narrative-lab .nl-hero h1, .p-psychometric-testing .pm-hero h1, .p-research-for-graduate-programs .gp-hero h1, .p-research-for-institutions .inst-hero h1, .p-scholar .sch-hero h1 { font-size: clamp(1.7rem,4vw,2.4rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.p-investors .quad-card p, .p-learn-interpersonal .instrument p, .p-narrative-lab .protocol-card p, .p-psychometric-testing .inst-body p, .p-research-for-graduate-programs .track-card p, .p-research-for-institutions .use-card p, .p-research-for-institutions .feat-body p, .p-resources .article-card p { font-size: .8rem; color: var(--muted); line-height: 1.6; margin: 0; }
.p-investors .defensibility-list, .p-product-sadt .scales-list { display: flex; flex-direction: column; gap: .6rem; }
.p-investors .def-item h3, .p-learn-interpersonal .instrument-name, .p-research-for-institutions .feat-body h3, .p-scholar .price-card h3 { font-size: .88rem; font-weight: 700; margin-bottom: .2rem; }
.p-investors .contact-cta h2, .p-psychometric-testing .cta-strip h2 { font-size: 1.1rem; font-weight: 700; margin-bottom: .5rem; }
.p-investors .contact-cta p, .p-psychometric-testing .cta-strip p { font-size: .88rem; color: var(--muted); margin-bottom: 1.25rem; }
.p-ip .intro-block p, .p-narrative-lab .intro-block p { font-size: .87rem; color: var(--muted); line-height: 1.7; margin-bottom: .65rem; }
.p-ip .intro-block p:last-child, .p-narrative-lab .intro-block p:last-child, .p-product-ecrsf .desc-block p:last-child, .p-product-ipc32 .desc-block p:last-child, .p-sample-report-ldt .narrative p:last-child, .p-sample-report-stroop .narrative p:last-child { margin-bottom: 0; }
.p-ip .ip-section h2, .p-narrative-lab .protocol-section h2, .p-narrative-lab .output-section h2, .p-product-ecrsf .pm-section h2, .p-product-ipc32 .pm-section h2, .p-psychometric-testing .pm-section h2, .p-research-for-graduate-programs .gp-section h2, .p-research-for-institutions .inst-section h2 { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: 1rem; padding-bottom: .4rem; border-bottom: 1px solid var(--border); }
.p-ip .tech-card h3, .p-research-for-graduate-programs .track-card h3, .p-research-for-institutions .use-card h3, .p-schizoid-landing .faq-item h3 { font-size: .88rem; font-weight: 700; margin-bottom: .35rem; }
.p-ip .tech-card p, .p-lexical-decision-landing .faq-item p, .p-resources .book-card p, .p-stroop-landing .faq-item p { font-size: .82rem; color: var(--muted); line-height: 1.65; margin: 0; }
.p-labs .lab-item.live, .p-lexical-decision-landing .chip.hi, .p-stroop-landing .chip.hi { border-color: hsl(145 48% 92%); color: hsl(145 50% 33%); }
.p-learn-cognitive .breadcrumb, .p-learn-interpersonal .breadcrumb { display: flex; gap: .4rem; align-items: center; font-size: .78rem; color: var(--muted); margin-bottom: 2rem; }
.p-learn-cognitive .breadcrumb a, .p-learn-interpersonal .breadcrumb a { color: var(--muted); text-decoration: none; }
.p-learn-cognitive .lcog-hero, .p-learn-interpersonal .lint-hero, .p-schizoid-avoidant-tutorial .sat-hero { padding: 0 0 2.5rem; border-bottom: 1px solid var(--border); margin-bottom: 2.5rem; }
.p-learn-cognitive .lcog-hero h1, .p-learn-interpersonal .lint-hero h1, .p-schizoid-avoidant-tutorial .sat-hero h1 { font-size: clamp(1.6rem,3.5vw,2.2rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.p-learn-cognitive .lcog-hero .subtitle, .p-learn-interpersonal .lint-hero .subtitle { margin-top: .5rem; font-size: .88rem; color: var(--muted); }
.p-learn-cognitive .lcog-hero .intro, .p-learn-interpersonal .lint-hero .intro { margin-top: 1rem; font-size: .9rem; color: var(--muted); line-height: 1.7; max-width: 62ch; }
.p-learn-cognitive .objectives, .p-learn-interpersonal .objectives { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.25rem 1.5rem; margin: 2rem 0; }
.p-learn-cognitive .objectives h3, .p-learn-interpersonal .objectives h3 { font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: .75rem; }
.p-learn-cognitive .objectives ul, .p-learn-interpersonal .objectives ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: .45rem; }
.p-learn-cognitive .objectives li, .p-learn-interpersonal .objectives li { display: flex; gap: .6rem; align-items: flex-start; font-size: .84rem; color: var(--muted); line-height: 1.55; }
.p-learn-cognitive .objectives li::before, .p-learn-interpersonal .objectives li::before { content: "→"; color: var(--accent); flex-shrink: 0; margin-top: .05rem; }
.p-learn-cognitive .section-header, .p-learn-interpersonal .section-header { display: flex; align-items: baseline; gap: .75rem; margin-bottom: 1rem; padding-bottom: .5rem; border-bottom: 1px solid var(--border); }
.p-learn-cognitive .section-num, .p-learn-interpersonal .section-num { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.p-learn-cognitive .section-header h2, .p-learn-interpersonal .section-header h2 { font-size: 1.1rem; font-weight: 700; }
.p-learn-cognitive .section p, .p-learn-interpersonal .section p, .p-schizoid-avoidant-tutorial .section p, .p-schizoid-landing .section p { font-size: .88rem; color: var(--muted); line-height: 1.75; margin-bottom: .75rem; }
.p-learn-cognitive .concept p, .p-learn-interpersonal .concept p { font-size: .84rem; color: var(--muted); line-height: 1.65; margin: 0; }
.p-learn-cognitive .diagram, .p-learn-interpersonal .diagram { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.5rem; margin: 1.5rem 0; }
.p-learn-cognitive .diagram .diagram-title, .p-learn-interpersonal .diagram .diagram-title { font-size: .82rem; font-weight: 700; text-align: center; margin-bottom: .3rem; }
.p-learn-cognitive .diagram .diagram-sub, .p-learn-interpersonal .diagram .diagram-sub { font-size: .72rem; color: var(--muted); text-align: center; margin-bottom: 1.25rem; }
.p-learn-cognitive .dbox .dbox-desc, .p-learn-interpersonal .dbox .dbox-desc { font-size: .68rem; color: var(--muted); margin-top: .2rem; line-height: 1.4; }
.p-learn-cognitive .darrow, .p-learn-interpersonal .darrow { text-align: center; color: var(--muted); font-size: 1.25rem; margin: .4rem 0; }
.p-learn-cognitive .task-card, .p-narrative-lab .protocol-card, .p-product-ccrt .tier-card, .p-product-pse .tier-card, .p-research-for-graduate-programs .track-card, .p-research-for-institutions .use-card, .p-schizoid-avoidant-tutorial .quote-card, .p-schizoid-landing .dist-card, .p-scholar .price-card { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.1rem; }
.p-learn-cognitive .nav-row, .p-learn-interpersonal .nav-row, .p-schizoid-avoidant-tutorial .nav-row { display: flex; justify-content: space-between; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.p-learn .learn-hero, .p-science .science-hero { padding: 5rem 0 3rem; text-align: center; }
.p-lexical-decision-landing .ldt-hero, .p-stroop-landing .st-hero { text-align: center; padding: 2rem 0 3rem; border-bottom: 1px solid var(--border); margin-bottom: 3rem; }
.p-lexical-decision-landing .ldt-hero .sub, .p-stroop-landing .st-hero .sub { margin: 1rem auto 0; color: var(--muted); font-size: .95rem; line-height: 1.65; max-width: 50ch; }
.p-lexical-decision-landing .chips, .p-stroop-landing .chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 1.5rem 0; }
.p-lexical-decision-landing .chip, .p-stroop-landing .chip { border: 1px solid var(--border-strong); border-radius: 20px; padding: .25rem .85rem; font-size: .78rem; color: var(--muted); }
.p-lexical-decision-landing .cta-center, .p-stroop-landing .cta-center { display: flex; justify-content: center; gap: .75rem; flex-wrap: wrap; margin: 1.5rem 0 0; }
.p-lexical-decision-landing .btn-s, .p-stroop-landing .btn-s { border: 1px solid var(--border-strong); border-radius: 6px; padding: .65rem 1.25rem; color: var(--muted); font-size: .88rem; text-decoration: none; }
.p-lexical-decision-landing .what-section h2, .p-product-ccrt .prod-section h2, .p-product-pse .prod-section h2, .p-product-sadt .prod-section h2 { font-size: 1rem; font-weight: 700; margin-bottom: .85rem; padding-bottom: .4rem; border-bottom: 1px solid var(--border); }
.p-lexical-decision-landing .faq-section h2, .p-sample-report-ldt .rep-section h2, .p-sample-report-stroop .rep-section h2, .p-scholar .tools-section h2, .p-scholar .pricing-section h2, .p-stroop-landing .blocks-section h2, .p-stroop-landing .faq-section h2 { font-size: 1rem; font-weight: 700; margin-bottom: 1rem; padding-bottom: .4rem; border-bottom: 1px solid var(--border); }
.p-lexical-decision-landing .faq-item, .p-stroop-landing .faq-item { border-bottom: 1px solid var(--border); padding: .9rem 0; }
.p-lexical-decision-landing .faq-item:last-child, .p-research-for-institutions .tiers-table tr:last-child td, .p-stroop-landing .faq-item:last-child { border-bottom: none; }
.p-lexical-decision-landing .faq-item h3, .p-stroop-landing .faq-item h3 { font-size: .9rem; font-weight: 600; margin-bottom: .45rem; color: var(--text); }
.p-narrative-lab .nl-hero .sub, .p-research-for-graduate-programs .gp-hero .sub, .p-research-for-institutions .inst-hero .sub, .p-schizoid-landing .schi-hero .sub { margin-top: .7rem; color: var(--muted); font-size: .9rem; line-height: 1.65; max-width: 62ch; }
.p-narrative-lab .protocol-grid, .p-product-ccrt .tier-grid, .p-product-pse .tier-grid, .p-research-for-graduate-programs .track-grid, .p-research-for-institutions .use-grid, .p-scholar .pricing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.p-narrative-lab .btn-p, .p-product-ccrt .btn-p, .p-product-pse .btn-p, .p-product-sadt .btn-p, .p-psychometric-testing .cta-strip .btn-p, .p-research-for-graduate-programs .btn-p, .p-research-for-institutions .btn-p, .p-scholar .btn-p { background: var(--accent); border: none; border-radius: 6px; padding: .65rem 1.4rem; color: var(--surface); font-size: .88rem; font-weight: 600; text-decoration: none; }
.p-narrative-lab .btn-s, .p-product-ccrt .btn-s, .p-product-pse .btn-s, .p-product-sadt .btn-s, .p-psychometric-testing .cta-strip .btn-s, .p-research-for-graduate-programs .btn-s, .p-research-for-institutions .btn-s, .p-scholar .btn-s { border: 1px solid var(--border-strong); border-radius: 6px; padding: .65rem 1.1rem; color: var(--muted); font-size: .85rem; text-decoration: none; }
.p-product-ccrt .prod-hero .badge, .p-product-pse .prod-hero .badge, .p-product-sadt .prod-hero .badge, .p-request-baa .baa-hero .badge { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; border: 1px solid var(--border-strong); border-radius: 4px; padding: .2rem .55rem; color: var(--muted); margin-bottom: .75rem; display: inline-block; }
.p-product-ccrt .prod-hero .subtitle, .p-product-pse .prod-hero .subtitle, .p-product-sadt .prod-hero .subtitle { font-size: .95rem; color: var(--muted); margin-top: .3rem; }
.p-product-ccrt .prod-hero .desc, .p-product-pse .prod-hero .desc, .p-product-sadt .prod-hero .desc { margin-top: .85rem; font-size: .9rem; color: var(--muted); line-height: 1.7; max-width: 60ch; }
.p-product-ccrt .prod-section p, .p-product-pse .prod-section p, .p-product-sadt .prod-section p { font-size: .87rem; color: var(--muted); line-height: 1.7; margin-bottom: .7rem; }
.p-product-ccrt .tier-card.featured, .p-product-pse .tier-card.featured { border-color: hsl(38 48% 92%); }
.p-product-ccrt .tier-card .tc-name, .p-product-pse .tc-name { font-size: .82rem; font-weight: 700; margin-bottom: .15rem; }
.p-product-ccrt .tier-card .tc-tag, .p-product-pse .tc-tag { font-size: .7rem; border: 1px solid var(--border-strong); border-radius: 4px; padding: .06rem .35rem; color: var(--muted); margin-bottom: .6rem; display: inline-block; }
.p-product-ccrt .tier-card .tc-tag.pop, .p-product-pse .tc-tag.pop { border-color: hsl(38 48% 92%); color: hsl(38 80% 33%); }
.p-product-ccrt .tier-card ul, .p-product-pse .tier-card ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .25rem; }
.p-product-ccrt .tier-card li, .p-product-pse .tier-card li { font-size: .75rem; color: var(--muted); line-height: 1.5; }
.p-product-ccrt .tier-card li::before, .p-product-pse .tier-card li::before { content: "✓ "; color: hsl(145 50% 33%); }
.p-product-ccrt .comp-text p, .p-product-sadt .scale-text p { font-size: .78rem; color: var(--muted); margin: 0; line-height: 1.55; }
.p-product-ccrt .cta-row, .p-product-pse .cta-row, .p-product-sadt .cta-row, .p-research-for-graduate-programs .cta-row, .p-scholar .cta-row { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 2rem; }
.p-product-ecrsf .prod-hero, .p-product-ipc32 .prod-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; padding: 2rem 0 3rem; border-bottom: 1px solid var(--border); margin-bottom: 3rem; }
.p-product-ecrsf .prod-hero h1, .p-product-ipc32 .prod-hero h1 { font-size: clamp(1.5rem,3.5vw,2rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; margin-bottom: .5rem; }
.p-product-ecrsf .prod-hero .sub, .p-product-ipc32 .prod-hero .sub { font-size: .85rem; color: var(--muted); line-height: 1.6; margin-bottom: 1.25rem; }
.p-product-ecrsf .btn-p, .p-product-ipc32 .btn-p { background: var(--accent); border: none; border-radius: 6px; padding: .6rem 1.3rem; color: var(--surface); font-size: .85rem; font-weight: 600; text-decoration: none; }
.p-product-ecrsf .btn-s, .p-product-ipc32 .btn-s { border: 1px solid var(--border-strong); border-radius: 6px; padding: .6rem 1rem; color: var(--muted); font-size: .82rem; text-decoration: none; }
.p-product-ecrsf .stat-grid, .p-product-ipc32 .stat-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(9rem,1fr)); gap: .6rem; }
.p-product-ecrsf .stat-chip, .p-product-ipc32 .stat-chip { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: .8rem; }
.p-product-ecrsf .stat-chip .s-label, .p-product-ipc32 .stat-chip .s-label { font-size: .7rem; color: var(--muted); margin-bottom: .15rem; }
.p-product-ecrsf .stat-chip .s-val, .p-product-ipc32 .stat-chip .s-val { font-size: .85rem; font-weight: 700; }
.p-product-ecrsf .desc-block, .p-product-ipc32 .desc-block { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.1rem 1.25rem; }
.p-product-ecrsf .desc-block p, .p-product-ipc32 .desc-block p { font-size: .84rem; color: var(--muted); line-height: 1.7; margin-bottom: .65rem; }
.p-product-pse .motive-card, .p-product-sadt .stat-box { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: .85rem 1rem; }
.p-product-pse .motive-card p, .p-research-for-graduate-programs .tool-row p, .p-schizoid-avoidant-tutorial .cd p { font-size: .78rem; color: var(--muted); line-height: 1.55; margin: 0; }
.p-psychometric-testing .instrument-grid, .p-resources .article-list { display: flex; flex-direction: column; gap: .75rem; }
.p-psychometric-testing .inst-body h3, .p-resources .article-card h3 { font-size: .88rem; font-weight: 700; margin-bottom: .25rem; }
.p-psychometric-testing .cta-strip .btns, .p-research-hub .access-cta .btns { display: flex; justify-content: center; gap: .75rem; flex-wrap: wrap; }
.p-research-for-graduate-programs .tools-list, .p-research-for-institutions .feature-list { display: flex; flex-direction: column; gap: .7rem; }
.p-research-for-graduate-programs .tier-card, .p-sample-report-ldt .metric, .p-sample-report-stroop .metric { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1rem; }
.p-research-for-institutions .tiers-table td:first-child, .p-schizoid-avoidant-tutorial .measure-table td:first-child { font-weight: 600; color: var(--text); }
.p-research-hub .tools-grid, .p-scholar .tool-list, .p-stroop-landing .blocks-grid { display: flex; flex-direction: column; gap: .85rem; }
.p-research-hub .tool-num, .p-scholar .tool-card .num { flex-shrink: 0; font-size: .72rem; font-weight: 700; color: var(--muted); width: 1.5rem; padding-top: .1rem; }
.p-research-institutions .access-section h2, .p-research-institutions .exports-section h2 { font-size: 1.4rem; font-weight: 700; margin-bottom: 1.25rem; }
.p-research-institutions .tier-table tr:hover td, .p-science .instr-table tr:hover td { background: var(--surface); }
.p-resources .article-card .journal, .p-sample-report-ldt .metric .label, .p-sample-report-stroop .metric .label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: .3rem; }
.p-sample-report-ldt .rep-header, .p-sample-report-stroop .rep-header { padding: 2rem 0 2rem; border-bottom: 1px solid var(--border); margin-bottom: 2rem; }
.p-sample-report-ldt .rep-header .meta, .p-sample-report-stroop .rep-header .meta { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.p-sample-report-ldt .rep-header h1, .p-sample-report-stroop .rep-header h1 { font-size: clamp(1.4rem,3vw,2rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; }
.p-sample-report-ldt .rep-header .instrument, .p-sample-report-stroop .rep-header .instrument { font-size: .85rem; color: var(--muted); margin-top: .4rem; }
.p-sample-report-ldt .sample-banner, .p-sample-report-stroop .sample-banner { border: 1px solid hsl(38 48% 92%); border-radius: 8px; background: hsl(38 48% 92%); padding: .7rem 1.1rem; margin-bottom: 2rem; }
.p-sample-report-ldt .sample-banner p, .p-sample-report-stroop .sample-banner p { font-size: .8rem; color: hsl(38 80% 33%); margin: 0; }
.p-sample-report-ldt .metrics-grid, .p-sample-report-stroop .metrics-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .85rem; margin-bottom: 2rem; }
.p-sample-report-ldt .metric .value, .p-sample-report-stroop .metric .value { font-size: 1.35rem; font-weight: 800; line-height: 1; margin-bottom: .2rem; }
.p-sample-report-ldt .metric .sub, .p-sample-report-stroop .metric .sub { font-size: .72rem; color: var(--muted); }
.p-sample-report-ldt .metric .badge, .p-sample-report-stroop .metric .badge { display: inline-block; margin-top: .4rem; font-size: .7rem; font-weight: 700; border-radius: 4px; padding: .1rem .45rem; }
.p-sample-report-ldt .badge-avg, .p-sample-report-stroop .badge-avg { background: hsl(210 48% 92%); color: hsl(210 60% 33%); border: 1px solid hsl(210 48% 92%); }
.p-sample-report-ldt .badge-mod, .p-sample-report-stroop .badge-el { background: hsl(38 48% 92%); color: hsl(38 70% 33%); border: 1px solid hsl(38 48% 92%); }
.p-sample-report-ldt .rt-table th, .p-sample-report-ldt .soa-table th, .p-sample-report-stroop .condition-table th { text-align: left; padding: .45rem .7rem; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); border-bottom: 1px solid var(--border); }
.p-sample-report-ldt .rt-table td, .p-sample-report-ldt .soa-table td, .p-sample-report-stroop .condition-table td { padding: .5rem .7rem; border-bottom: 1px solid var(--border); color: var(--muted); }
.p-sample-report-ldt .rt-table td:first-child, .p-sample-report-stroop .condition-table td:first-child { color: var(--text); font-weight: 500; }
.p-sample-report-ldt .soa-table, .p-sample-report-ldt .freq-bands { width: 100%; border-collapse: collapse; font-size: .82rem; }
.p-sample-report-ldt .narrative, .p-sample-report-stroop .narrative { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.25rem 1.5rem; }
.p-sample-report-ldt .narrative p, .p-sample-report-stroop .narrative p { font-size: .85rem; color: var(--muted); line-height: 1.75; margin-bottom: .65rem; }
.p-sample-report-ldt .disclaimer, .p-sample-report-stroop .disclaimer { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--border); font-size: .75rem; color: var(--muted); line-height: 1.6; }
.p-sample-report-ldt .cta-row, .p-sample-report-stroop .cta-row { display: flex; gap: .75rem; margin-top: 2rem; flex-wrap: wrap; }
.p-sample-report-ldt .cta-btn, .p-sample-report-stroop .cta-btn { background: var(--accent); border: none; border-radius: 6px; padding: .6rem 1.25rem; color: var(--surface); font-size: .85rem; font-weight: 600; text-decoration: none; }
.p-sample-report-ldt .cta-secondary, .p-sample-report-stroop .cta-secondary { border: 1px solid var(--border-strong); border-radius: 6px; padding: .6rem 1.25rem; color: var(--muted); font-size: .85rem; text-decoration: none; }
.p-schizoid-avoidant-tutorial .toc a:hover, .p-schizoid-landing .action-btn:hover { color: var(--accent); border-color: var(--accent); }
.p-schizoid-avoidant-tutorial .quote-pair, .p-schizoid-landing .distinguish-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.5rem 0; }

/* ── Shared responsive (@media) patterns ─────────────────────────── */
@media (min-width: 640px) {
  .p-apps .apps-grid, .p-blog .blog-grid, .p-for-graduate-programs .tiers, .p-hipaa .pillars-2, .p-learn-cognitive .task-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 540px) {
  .p-for-graduate-programs .benefits-grid, .p-high-stakes-testing .exam-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 700px) {
  .p-learn .modules-grid, .p-research-institutions .pillars-grid, .p-science .method-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width:640px) {
  .p-narrative-lab .protocol-grid, .p-research-for-graduate-programs .track-grid, .p-research-for-graduate-programs .tiers, .p-research-for-institutions .use-grid { grid-template-columns: 1fr; }
}
@media (min-width: 640px) {
  .p-product-ccrt .tier-grid, .p-product-pse .tier-grid, .p-sample-report-ldt .metrics-grid, .p-sample-report-stroop .metrics-grid { grid-template-columns: repeat(3,1fr); }
}
@media(max-width:640px) {
  .p-product-ecrsf .prod-hero, .p-product-ipc32 .prod-hero { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* ============================================================================
   Per-page residual styles — only rules unique to a single page remain here.
   ============================================================================ */

/* ── page: p-apps ─────────────────────────────────────── */
.p-apps .apps-hero { padding: 4.5rem 0 2.5rem; text-align: center; }
.p-apps .apps-hero .sub { margin-top: .65rem; color: var(--muted); font-size: 1rem; max-width: 50ch; margin-left: auto; margin-right: auto; }
.p-apps .apps-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; padding: 2.5rem 0 5rem; }
@media (min-width: 960px) {
  .p-apps .apps-grid { grid-template-columns: 1fr 1fr 1fr; }
}
.p-apps .app-card { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); padding: 1.5rem; display: flex; flex-direction: column; gap: .9rem; }
.p-apps .app-top { display: flex; align-items: flex-start; gap: .9rem; }
.p-apps .app-icon { width: 44px; height: 44px; border-radius: 10px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: 800; color: var(--surface); }
.p-apps .app-titles h3 { font-size: .95rem; font-weight: 700; line-height: 1.2; }
.p-apps .app-titles .tagline { font-size: .78rem; color: var(--muted); margin-top: .15rem; }
.p-apps .app-desc { font-size: .83rem; color: var(--muted); line-height: 1.6; flex: 1; }
.p-apps .app-footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; }
.p-apps .status-pill { font-size: .67rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .15rem .45rem; border-radius: 4px; }
.p-apps .status-live { background: hsl(145 48% 92%); color: hsl(145 60% 33%); }
.p-apps .status-soon { background: var(--surface); color: var(--muted); }
.p-apps .app-links { display: flex; gap: .5rem; }
.p-apps .app-link { font-size: .78rem; color: var(--accent); text-decoration: none; border: 1px solid var(--accent); padding: .2rem .6rem; border-radius: 5px; }

/* ── page: p-axispoint ─────────────────────────────────────── */
.p-axispoint .ax-hero { padding: 2rem 0 3rem; border-bottom: 1px solid var(--border); margin-bottom: 3rem; text-align: center; }
.p-axispoint .ax-hero .sub { margin: 1rem auto 0; color: var(--muted); font-size: .95rem; line-height: 1.65; max-width: 52ch; }
.p-axispoint .modules-grid { display: flex; flex-direction: column; gap: 1rem; margin: 2.5rem 0 3.5rem; }
.p-axispoint .module-card { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.35rem; display: flex; gap: 1rem; }
.p-axispoint .module-num { flex-shrink: 0; width: 2rem; height: 2rem; border-radius: 6px; background: var(--surface); border: 1px solid var(--border-strong); display: flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 700; color: var(--muted); }
.p-axispoint .module-content h3 { font-size: .92rem; font-weight: 700; margin-bottom: .2rem; }
.p-axispoint .module-content .focus { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--accent); margin-bottom: .4rem; }
.p-axispoint .module-content .method-badge { font-size: .7rem; border: 1px solid var(--border-strong); border-radius: 4px; padding: .08rem .4rem; color: var(--muted); margin-left: .4rem; }
.p-axispoint .divergence-demo { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.5rem; margin: 2.5rem 0; }
.p-axispoint .divergence-demo h3 { font-size: .88rem; font-weight: 700; margin-bottom: 1rem; }
.p-axispoint .value-row { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.p-axispoint .value-name { width: 8rem; font-size: .82rem; color: var(--muted); flex-shrink: 0; }
.p-axispoint .bars { flex: 1; display: flex; flex-direction: column; gap: .25rem; }
.p-axispoint .bar-wrap { display: flex; align-items: center; gap: .5rem; }
.p-axispoint .bar-label { font-size: .67rem; color: var(--muted); width: 4.5rem; text-align: right; flex-shrink: 0; }
.p-axispoint .bar { height: 7px; border-radius: 4px; }
.p-axispoint .bar-implicit { background: hsl(210 60% 33%); }
.p-axispoint .bar-explicit { background: hsl(145 50% 33%); }
.p-axispoint .status-badge { font-size: .67rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; border-radius: 4px; padding: .08rem .4rem; white-space: nowrap; flex-shrink: 0; }
.p-axispoint .status-suppressed { background: hsl(210 48% 92%); color: hsl(210 50% 33%); border: 1px solid hsl(210 48% 92%); }
.p-axispoint .status-divergent { background: hsl(10 48% 92%); color: hsl(10 70% 33%); border: 1px solid hsl(10 48% 92%); }
.p-axispoint .earlyaccess-form { max-width: 34rem; margin: 2rem auto 0; }
.p-axispoint .earlyaccess-form .field-row { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: .75rem; }
.p-axispoint .earlyaccess-form input,
.p-axispoint .earlyaccess-form select { flex: 1; min-width: 10rem; background: var(--surface); border: 1px solid var(--border-strong); border-radius: 6px; padding: .6rem .8rem; font-size: .85rem; color: var(--text); font-family: inherit; }
.p-axispoint .earlyaccess-form button { width: 100%; background: var(--accent); border: none; border-radius: 6px; padding: .7rem; color: var(--surface); font-size: .9rem; font-weight: 600; cursor: pointer; margin-top: .25rem; }

/* ── page: p-blog-article ─────────────────────────────────────── */
.p-blog-article .art-wrap { max-width: 46rem; margin: 0 auto; padding: 4rem 0 5rem; }
.p-blog-article .art-back { font-size: .82rem; color: var(--muted); text-decoration: none; display: inline-block; margin-bottom: 1.75rem; }
.p-blog-article .art-meta { display: flex; gap: .65rem; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; }
.p-blog-article .art-cat { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; border: 1px solid var(--border-strong); border-radius: 4px; padding: .1rem .45rem; color: var(--muted); }
.p-blog-article .art-h1 { font-size: clamp(1.5rem,3.8vw,2.1rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; margin-bottom: 2rem; }
.p-blog-article .art-body { font-size: .9rem; color: var(--muted); line-height: 1.8; }
.p-blog-article .art-body h2 { font-size: 1.05rem; font-weight: 700; color: var(--text); margin: 2.2rem 0 .75rem; }
.p-blog-article .art-body h3 { font-size: .92rem; font-weight: 700; color: var(--text); margin: 1.5rem 0 .5rem; }
.p-blog-article .art-body blockquote { border-left: 3px solid var(--border-strong); padding-left: 1rem; margin: 1.25rem 0; color: var(--muted); font-style: italic; }
.p-blog-article .art-body cite { font-size: .78rem; color: var(--muted); display: block; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.p-blog-article .art-cta { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.4rem; margin-top: 3rem; }
.p-blog-article .art-cta p { font-size: .82rem; color: var(--muted); line-height: 1.6; margin-bottom: .85rem; }

/* ── page: p-blog ─────────────────────────────────────── */
.p-blog .blog-hero { padding: 4rem 0 2.5rem; text-align: center; }
.p-blog .blog-hero .sub { margin-top: .65rem; color: var(--muted); font-size: 1rem; max-width: 52ch; margin-left: auto; margin-right: auto; }
.p-blog .blog-cats { display: flex; gap: .5rem; justify-content: center; flex-wrap: wrap; margin: 1.5rem 0 2.5rem; }
.p-blog .cat-btn { padding: .35rem .85rem; border-radius: 99px; font-size: .78rem; font-weight: 600; border: 1px solid var(--border-strong); background: transparent; color: var(--muted); cursor: pointer; text-decoration: none; transition: all .15s; }
.p-blog .cat-btn:hover { border-color: var(--accent); color: var(--accent); }
.p-blog .blog-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; padding-bottom: 5rem; }
@media (min-width: 1024px) {
  .p-blog .blog-grid { grid-template-columns: 1fr 1fr 1fr; }
}
.p-blog .article-card { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); padding: 1.5rem; display: flex; flex-direction: column; gap: .85rem; text-decoration: none; color: inherit; transition: border-color .2s; }
.p-blog .card-cat { display: inline-block; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .18rem .5rem; border-radius: 4px; width: fit-content; }
.p-blog .card-title { font-size: 1.02rem; font-weight: 700; line-height: 1.3; }
.p-blog .card-excerpt { font-size: .85rem; color: var(--muted); line-height: 1.6; flex: 1; }
.p-blog .card-meta { display: flex; align-items: center; justify-content: space-between; font-size: .75rem; color: var(--muted); margin-top: auto; }

/* ── page: p-construct-quantifier ─────────────────────────────────────── */
.p-construct-quantifier .cq-wrap { max-width: 64rem; margin: 0 auto; padding: 4rem 0 5rem; }
.p-construct-quantifier .cq-hero .sub { margin-top: .7rem; color: var(--muted); font-size: .9rem; line-height: 1.65; max-width: 64ch; }
.p-construct-quantifier .cq-card { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); padding: 1.75rem; margin-bottom: 2rem; }
.p-construct-quantifier .cq-card h2 { font-size: 1.05rem; font-weight: 700; margin-bottom: 1rem; }
.p-construct-quantifier .cq-field label.lbl { display: block; font-size: .8rem; font-weight: 700; color: #4a463e; margin-bottom: .4rem; }
.p-construct-quantifier .cq-field input[type=text],
.p-construct-quantifier .cq-field select { width: 100%; border: 1px solid var(--border-strong); border-radius: 7px; padding: .6rem .75rem; font-size: .9rem; background: #fdfbf6; color: var(--text); }
.p-construct-quantifier .cq-help { font-size: .76rem; color: #8a8276; margin-top: .35rem; }
.p-construct-quantifier .cq-groups { display: grid; grid-template-columns: repeat(auto-fit,minmax(15rem,1fr)); gap: 1.1rem; }
.p-construct-quantifier .cq-group { border: 1px solid #ece6d8; border-radius: 9px; padding: .9rem 1rem; background: #fdfbf6; }
.p-construct-quantifier .cq-group h3 { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: .55rem; }
.p-construct-quantifier .cq-opt { display: flex; align-items: flex-start; gap: .5rem; font-size: .83rem; color: #34302a; padding: .15rem 0; }
.p-construct-quantifier .cq-opt input { margin-top: .15rem; }
.p-construct-quantifier .cq-btn { background: var(--accent); border: none; border-radius: 7px; padding: .7rem 1.6rem; color: var(--surface); font-size: .9rem; font-weight: 600; cursor: pointer; }
.p-construct-quantifier .cq-actions { margin-top: 1.5rem; display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; }
.p-construct-quantifier .cq-error { border: 1px solid #e6c9bd; background: #fbf1ec; color: var(--accent-ink); border-radius: 8px; padding: .8rem 1rem; font-size: .85rem; margin-bottom: 1.5rem; }
.p-construct-quantifier .cq-result h2 { font-size: 1.4rem; font-weight: 800; letter-spacing: -.01em; }
.p-construct-quantifier .cq-narr { color: #4a463e; font-size: .9rem; line-height: 1.7; margin: .85rem 0 1.25rem; }
.p-construct-quantifier .cq-stats { display: flex; gap: 1.5rem; flex-wrap: wrap; padding: 1rem 0; border-top: 1px solid #ece6d8; border-bottom: 1px solid #ece6d8; margin-bottom: 1.5rem; }
.p-construct-quantifier .cq-stat .n { font-size: 1.5rem; font-weight: 800; color: var(--accent); }
.p-construct-quantifier .cq-stat .l { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: #8a8276; }
.p-construct-quantifier .cq-sec > h3 { font-size: .95rem; font-weight: 700; margin-bottom: .85rem; padding-bottom: .45rem; border-bottom: 1px solid var(--border); }
.p-construct-quantifier .cq-facets { display: flex; flex-wrap: wrap; gap: .45rem; }
.p-construct-quantifier .cq-facet { border: 1px solid #ece6d8; border-radius: 18px; padding: .3rem .8rem; font-size: .78rem; color: #4a463e; background: #fdfbf6; }
.p-construct-quantifier .cq-row { border: 1px solid var(--border); border-radius: 10px; padding: 1.1rem 1.25rem; margin-bottom: 1rem; background: var(--surface); }
.p-construct-quantifier .cq-row .rh { font-size: .92rem; font-weight: 700; margin-bottom: .15rem; }
.p-construct-quantifier .cq-row .rc { font-size: .76rem; color: #8a8276; margin-bottom: .85rem; }
@media (max-width: 38rem) {
  .p-construct-quantifier .cq-cells { grid-template-columns: 1fr; }
}
.p-construct-quantifier .cq-cell h4 { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: .45rem; }
.p-construct-quantifier .cq-inst { font-size: .82rem; color: #34302a; padding: .2rem 0; line-height: 1.45; }
.p-construct-quantifier .cq-inst .dir { color: #8a8276; }
.p-construct-quantifier .cq-inst a { color: var(--accent); text-decoration: none; font-weight: 600; }
.p-construct-quantifier .cq-take { display: inline-block; font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; border: 1px solid hsl(145 48% 88%); color: hsl(145 50% 33%); border-radius: 4px; padding: 0 .3rem; margin-left: .3rem; }
.p-construct-quantifier .cq-empty { font-size: .8rem; color: #b3aa9a; font-style: italic; }
.p-construct-quantifier .cq-valid { font-size: .76rem; color: var(--muted); line-height: 1.55; margin-top: .75rem; padding-top: .65rem; border-top: 1px dashed #ece6d8; }
.p-construct-quantifier .cq-valid p { margin-bottom: .35rem; }
.p-construct-quantifier .cq-battery { border: 1px solid #ece6d8; border-radius: 9px; padding: .9rem 1.1rem; margin-bottom: .9rem; background: #fdfbf6; }
.p-construct-quantifier .cq-battery .bi { font-size: .84rem; color: #34302a; padding: .25rem 0; }
.p-construct-quantifier .cq-battery .bi .ab { font-weight: 700; }
.p-construct-quantifier .cq-method-note { font-size: .78rem; color: #8a8276; line-height: 1.6; background: #fbf7ee; border: 1px solid #ece6d8; border-radius: 8px; padding: .85rem 1rem; }

/* ── page: p-custom-batteries ─────────────────────────────────────── */
.p-custom-batteries .battery-cards { display: flex; flex-direction: column; gap: 1.25rem; margin: 2rem 0 3rem; }
.p-custom-batteries .battery-card { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); padding: 1.75rem; }
.p-custom-batteries .battery-card .label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: .4rem; }
.p-custom-batteries .battery-card h2 { font-size: 1.2rem; font-weight: 800; margin-bottom: .3rem; }
.p-custom-batteries .battery-card .shortname { font-size: .82rem; color: var(--muted); margin-bottom: .75rem; }
.p-custom-batteries .battery-card .desc { font-size: .86rem; color: var(--muted); line-height: 1.65; margin-bottom: 1rem; }
.p-custom-batteries .feature-tag { border: 1px solid var(--border-strong); border-radius: 20px; padding: .2rem .7rem; font-size: .75rem; color: var(--muted); }
.p-custom-batteries .roadmap-batteries { margin: 2.5rem 0; }
.p-custom-batteries .roadmap-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
@media (min-width: 640px) {
  .p-custom-batteries .roadmap-grid { grid-template-columns: 1fr 1fr 1fr 1fr; }
}
.p-custom-batteries .roadmap-item { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: .75rem; }
.p-custom-batteries .roadmap-item h4 { font-size: .82rem; font-weight: 700; margin-bottom: .2rem; }
.p-custom-batteries .cta-row { display: flex; gap: 1rem; margin-top: 2.5rem; flex-wrap: wrap; }
.p-custom-batteries .cta-btn { background: var(--accent); border: none; border-radius: 6px; padding: .65rem 1.5rem; color: var(--surface); font-size: .88rem; font-weight: 600; text-decoration: none; display: inline-block; }
.p-custom-batteries .cta-secondary { border: 1px solid var(--border-strong); border-radius: 6px; padding: .65rem 1.5rem; color: var(--muted); font-size: .88rem; text-decoration: none; display: inline-block; }
.p-custom-batteries .cta-secondary:hover { color: var(--text); border-color: var(--muted); }

/* ── page: p-cv ─────────────────────────────────────── */
.p-cv .cv-header { padding: 2rem 0 2rem; border-bottom: 1px solid var(--border); margin-bottom: 2.5rem; }
.p-cv .cv-header .title { font-size: .9rem; color: var(--muted); margin-top: .25rem; }
.p-cv .cv-header .affil { font-size: .82rem; color: var(--muted); margin-top: .15rem; }
.p-cv .cv-header .contact-row { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-top: 1rem; }
.p-cv .cv-section h2 { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: 1rem; padding-bottom: .4rem; border-bottom: 1px solid var(--border); }
.p-cv .cv-entry { display: flex; gap: 1.25rem; margin-bottom: 1.1rem; }
.p-cv .cv-entry .years { flex-shrink: 0; width: 5.5rem; font-size: .78rem; color: var(--muted); padding-top: .1rem; text-align: right; }
.p-cv .cv-entry .content h3 { font-size: .9rem; font-weight: 700; margin-bottom: .12rem; }
.p-cv .cv-entry .content .inst { font-size: .82rem; color: var(--muted); }
.p-cv .cv-entry .content .sub { font-size: .78rem; color: var(--muted); margin-top: .1rem; }
.p-cv .teaching-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.p-cv .teach-card { border: 1px solid var(--border); border-radius: 6px; background: var(--surface); padding: .75rem; }
.p-cv .teach-card .course { font-size: .82rem; font-weight: 600; margin-bottom: .15rem; }
.p-cv .teach-card .dept { font-size: .73rem; color: var(--muted); }

/* ── page: p-ferpa ─────────────────────────────────────── */
.p-ferpa .ferpa-back { font-size: .82rem; color: var(--muted); text-decoration: none; margin-bottom: 2rem; display: inline-block; }
.p-ferpa .ferpa-hero h1 { font-size: clamp(1.7rem,4vw,2.5rem); font-weight: 800; letter-spacing: -.02em; }
.p-ferpa .ferpa-hero .sub { margin-top: .65rem; font-size: .88rem; color: var(--muted); line-height: 1.6; }
.p-ferpa .alert-box { margin: 2rem 0; border: 1px solid hsl(35 48% 92%); border-radius: 8px; padding: 1.1rem 1.25rem; background: hsl(35 48% 92%); display: flex; gap: .85rem; align-items: flex-start; }
.p-ferpa .alert-box .alert-icon { font-size: 1.1rem; margin-top: .1rem; }
.p-ferpa .alert-box strong { font-size: .88rem; color: var(--text); display: block; margin-bottom: .25rem; }
.p-ferpa .ferpa-card { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.4rem 1.5rem; margin-bottom: 1.25rem; }
.p-ferpa .ferpa-card h2 { font-size: 1rem; font-weight: 700; margin-bottom: .75rem; display: flex; align-items: center; gap: .5rem; }
.p-ferpa .ferpa-card p { font-size: .85rem; color: var(--muted); line-height: 1.65; margin-top: .65rem; }
.p-ferpa .ferpa-card code { background: var(--surface); border: 1px solid var(--border-strong); border-radius: 3px; padding: .1rem .35rem; font-size: .8rem; color: var(--muted); }
.p-ferpa .ferpa-table { width: 100%; border-collapse: collapse; font-size: .83rem; margin-top: .75rem; }
.p-ferpa .ferpa-table th { text-align: left; padding: .4rem .7rem; color: var(--muted); font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; border-bottom: 1px solid var(--border); font-weight: 600; }
.p-ferpa .ferpa-table td { padding: .5rem .7rem; border-bottom: 1px solid var(--border); color: var(--muted); vertical-align: top; }
.p-ferpa .ferpa-cta { margin-top: 2.5rem; text-align: center; }

/* ── page: p-for-graduate-programs ─────────────────────────────────────── */
.p-for-graduate-programs .grad-hero h1 { font-size: clamp(1.7rem,4vw,2.6rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.p-for-graduate-programs .benefits-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; margin: 2.5rem 0; }
@media (min-width: 900px) {
  .p-for-graduate-programs .benefits-grid { grid-template-columns: 1fr 1fr 1fr; }
}
.p-for-graduate-programs .benefit-card h3 { font-size: .9rem; font-weight: 700; margin-bottom: .4rem; }
.p-for-graduate-programs .program-types { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0; }
.p-for-graduate-programs .prog-tag { border: 1px solid var(--border-strong); border-radius: 20px; padding: .25rem .8rem; font-size: .78rem; color: var(--muted); }
.p-for-graduate-programs .tiers { display: grid; grid-template-columns: 1fr; gap: 1rem; margin: 1.5rem 0 2.5rem; }
.p-for-graduate-programs .tier .tier-name { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: .5rem; }
.p-for-graduate-programs .tier h3 { font-size: 1rem; font-weight: 700; margin-bottom: .5rem; }
.p-for-graduate-programs .tier li { font-size: .82rem; color: var(--muted); line-height: 1.6; padding: .15rem 0; }
.p-for-graduate-programs .roadmap-chip { display: inline-block; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; border: 1px solid var(--border-strong); border-radius: 4px; padding: .1rem .4rem; color: var(--muted); margin-left: .4rem; vertical-align: middle; }
.p-for-graduate-programs .live-chip { color: hsl(145 60% 33%); border-color: hsl(145 48% 92%); }
/* Inquiry form */

/* ── page: p-high-stakes-testing ─────────────────────────────────────── */
.p-high-stakes-testing .exam-grid { display: grid; grid-template-columns: 1fr; gap: .75rem; margin: 2rem 0 3rem; }
@media (min-width: 860px) {
  .p-high-stakes-testing .exam-grid { grid-template-columns: 1fr 1fr 1fr; }
}
.p-high-stakes-testing .exam-card p { font-size: .78rem; color: var(--muted); line-height: 1.55; }
.p-high-stakes-testing .process-steps { display: flex; flex-direction: column; gap: .75rem; margin: 1.5rem 0; }
.p-high-stakes-testing .step { display: flex; gap: 1rem; align-items: flex-start; }
.p-high-stakes-testing .step-num { flex-shrink: 0; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--border); border: 1px solid var(--border-strong); display: flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 700; color: var(--muted); }
.p-high-stakes-testing .step-content h4 { font-size: .88rem; font-weight: 700; margin-bottom: .15rem; }
.p-high-stakes-testing .disclaimer { border: 1px solid var(--border-strong); border-radius: 8px; background: var(--surface); padding: 1rem 1.25rem; margin: 2rem 0; }
.p-high-stakes-testing .disclaimer p { font-size: .78rem; color: var(--muted); line-height: 1.6; margin: 0; }
/* Inquiry form */

/* ── page: p-hipaa ─────────────────────────────────────── */
.p-hipaa .hipaa-hero .sub { margin-top: .7rem; color: var(--muted); font-size: .9rem; line-height: 1.65; max-width: 55ch; }
.p-hipaa .pillars-2 { display: grid; grid-template-columns: 1fr; gap: 1rem; margin: 2rem 0 3rem; }
.p-hipaa .pillar h3 { font-size: .92rem; font-weight: 700; margin-bottom: .5rem; }
.p-hipaa .pillar p { font-size: .83rem; color: var(--muted); line-height: 1.65; }
.p-hipaa .baa-box { border: 1px solid hsl(145 48% 92%); border-radius: 8px; background: hsl(145 48% 92%); padding: 1.25rem 1.5rem; margin: 2rem 0; }
.p-hipaa .baa-box h3 { font-size: .95rem; font-weight: 700; color: hsl(145 60% 33%); margin-bottom: .5rem; }
.p-hipaa .hipaa-cta { text-align: center; padding: 2rem 0; }
.p-hipaa .hipaa-cta p { font-size: .88rem; color: var(--muted); margin-bottom: .75rem; }
.p-hipaa .updated { font-size: .75rem; color: var(--muted); margin-top: 2.5rem; }

/* ── page: p-investors ─────────────────────────────────────── */
.p-investors .stats-bar { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 3rem; padding-bottom: 2rem; border-bottom: 1px solid var(--border); }
.p-investors .stat-item { ; }
.p-investors .stat-item .val { font-size: 1.5rem; font-weight: 800; }
.p-investors .stat-item .lbl { font-size: .72rem; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.p-investors .quad-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0; }
.p-investors .quad-card h3 { font-size: .92rem; font-weight: 700; margin-bottom: .4rem; }
.p-investors .def-item { border: 1px solid var(--border); border-radius: 6px; background: var(--surface); padding: .75rem 1rem; }
.p-investors .def-item p { font-size: .8rem; color: var(--muted); line-height: 1.55; margin: 0; }
.p-investors .contact-cta { text-align: center; padding: 2rem 0; border-top: 1px solid var(--border); margin-top: 1rem; }
.p-investors .contact-cta a { background: var(--accent); border-radius: 6px; padding: .65rem 1.5rem; color: var(--surface); font-size: .88rem; font-weight: 600; text-decoration: none; }

/* ── page: p-ip ─────────────────────────────────────── */
.p-ip .ip-hero h1 { font-size: clamp(1.7rem,4vw,2.3rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.p-ip .intro-block { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.5rem; margin-bottom: 2.5rem; }
.p-ip .patent-card { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.25rem; margin-bottom: .9rem; }
.p-ip .patent-card .meta { display: flex; gap: 1rem; margin-bottom: .6rem; flex-wrap: wrap; }
.p-ip .patent-card .index { font-size: .7rem; font-weight: 700; color: var(--accent); }
.p-ip .patent-card .filed { font-size: .7rem; color: var(--muted); }
.p-ip .patent-card .status { font-size: .7rem; border: 1px solid hsl(38 48% 92%); border-radius: 4px; padding: .06rem .4rem; color: hsl(38 80% 33%); }
.p-ip .patent-card h3 { font-size: .88rem; font-weight: 700; line-height: 1.45; margin: 0; }
.p-ip .tech-card { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.1rem; margin-bottom: .75rem; }

/* ── page: p-labs ─────────────────────────────────────── */
.p-labs .lab-card { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); padding: 1.5rem; margin-bottom: 1.25rem; }
.p-labs .lab-card h2 { font-size: 1.05rem; font-weight: 700; margin-bottom: .2rem; }
.p-labs .lab-card .subtitle { font-size: .8rem; color: var(--muted); margin-bottom: .85rem; }
.p-labs .lab-card .body { font-size: .85rem; color: var(--muted); line-height: 1.7; margin-bottom: 1rem; }
.p-labs .lab-item { font-size: .72rem; border: 1px solid var(--border-strong); border-radius: 20px; padding: .18rem .7rem; color: var(--muted); text-decoration: none; }
.p-labs .lab-item.live:hover { border-color: hsl(145 50% 33%); }

/* ── page: p-learn-cognitive ─────────────────────────────────────── */
.p-learn-cognitive .concept { border: 1px solid hsl(210 48% 92%); border-radius: 8px; background: hsl(210 48% 92%); padding: 1rem 1.25rem; margin: 1.25rem 0; }
.p-learn-cognitive .concept .term { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: hsl(210 60% 33%); margin-bottom: .35rem; }
.p-learn-cognitive .diagram-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .5rem; }
@media (min-width: 500px) {
  .p-learn-cognitive .diagram-grid { grid-template-columns: repeat(4,1fr); }
}
.p-learn-cognitive .dbox { border: 1px solid hsl(210 48% 92%); border-radius: 6px; background: hsl(210 48% 92%); padding: .6rem .5rem; text-align: center; }
.p-learn-cognitive .dbox .dbox-label { font-size: .78rem; font-weight: 700; color: hsl(210 60% 33%); }
.p-learn-cognitive .dfull { border: 1px solid hsl(210 48% 92%); border-radius: 6px; background: hsl(210 48% 92%); padding: .6rem 1rem; text-align: center; }
.p-learn-cognitive .dfull span { font-size: .82rem; font-weight: 700; color: hsl(210 50% 33%); }
.p-learn-cognitive .task-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; margin: 1.5rem 0; }
.p-learn-cognitive .task-card p { font-size: .8rem; color: var(--muted); line-height: 1.6; }
.p-learn-cognitive .task-card a { color: var(--accent); font-size: .8rem; }

/* ── page: p-learn-interpersonal ─────────────────────────────────────── */
.p-learn-interpersonal .concept { border: 1px solid hsl(280 48% 92%); border-radius: 8px; background: hsl(280 48% 92%); padding: 1rem 1.25rem; margin: 1.25rem 0; }
.p-learn-interpersonal .concept .term { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: hsl(280 55% 33%); margin-bottom: .35rem; }
.p-learn-interpersonal .dbox { border: 1px solid hsl(280 48% 92%); border-radius: 6px; background: hsl(280 48% 92%); padding: .6rem .75rem; margin-bottom: .4rem; }
.p-learn-interpersonal .dbox .dbox-label { font-size: .78rem; font-weight: 700; color: hsl(280 50% 33%); }
.p-learn-interpersonal .dfull { border: 1px solid hsl(280 40% 92%); border-radius: 6px; background: hsl(280 40% 92%); padding: .6rem 1rem; text-align: center; }
.p-learn-interpersonal .dfull span { font-size: .82rem; font-weight: 700; color: hsl(280 40% 33%); }
.p-learn-interpersonal .instruments-list { display: flex; flex-direction: column; gap: .75rem; margin: 1.25rem 0; }
.p-learn-interpersonal .instrument { display: flex; gap: 1rem; align-items: flex-start; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: .9rem 1rem; }

/* ── page: p-learn ─────────────────────────────────────── */
.p-learn .learn-hero h1 { font-size: clamp(2rem,5vw,3.25rem); font-weight: 800; letter-spacing: -.02em; }
.p-learn .learn-hero .sub { margin-top: .75rem; color: var(--muted); font-size: 1.1rem; max-width: 50ch; margin-left: auto; margin-right: auto; line-height: 1.6; }
.p-learn .learn-meta { display: flex; gap: 2rem; justify-content: center; margin-top: 1.5rem; font-size: .85rem; color: var(--muted); flex-wrap: wrap; }
.p-learn .modules-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; padding: 2rem 0 5rem; }
.p-learn .module-card { border-radius: 12px; border: 1px solid var(--border); background: var(--surface); padding: 1.75rem; display: flex; flex-direction: column; gap: 1rem; transition: border-color .2s; }
.p-learn .module-top { display: flex; align-items: flex-start; gap: 1rem; }
.p-learn .module-num { font-size: .7rem; font-weight: 700; letter-spacing: .1em; padding: .25rem .55rem; border-radius: 4px; white-space: nowrap; flex-shrink: 0; }
.p-learn .module-titles h2 { font-size: 1.15rem; font-weight: 700; line-height: 1.2; }
.p-learn .module-titles .sub-label { font-size: .8rem; color: var(--muted); margin-top: .2rem; }
.p-learn .module-desc { font-size: .88rem; color: var(--muted); line-height: 1.65; }
.p-learn .instr-badge { font-size: .72rem; padding: .2rem .5rem; border-radius: 4px; background: var(--surface); border: 1px solid var(--border-strong); color: var(--muted); }
.p-learn .module-research { font-size: .75rem; color: var(--muted); font-style: italic; }
.p-learn .module-link { display: inline-flex; align-items: center; gap: .35rem; font-size: .82rem; color: var(--accent); text-decoration: none; margin-top: auto; }
.p-learn .learn-note { text-align: center; padding: 2rem 0 4rem; color: var(--muted); font-size: .85rem; line-height: 1.7; max-width: 60ch; margin: 0 auto; }

/* ── page: p-lexical-decision-landing ─────────────────────────────────────── */
.p-lexical-decision-landing .btn-p { background: var(--accent); border: none; border-radius: 6px; padding: .65rem 1.5rem; color: var(--surface); font-size: .9rem; font-weight: 600; text-decoration: none; }
.p-lexical-decision-landing .metrics-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .5rem; }
.p-lexical-decision-landing .metrics-list li { font-size: .85rem; color: var(--muted); padding: .5rem .75rem; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); }
.p-lexical-decision-landing .metrics-list li::before { content: "→ "; color: var(--accent); }

/* ── page: p-narrative-lab ─────────────────────────────────────── */
.p-narrative-lab .intro-block { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.4rem; margin-bottom: 2.5rem; }
.p-narrative-lab .protocol-card .proto-tag { font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--accent); margin-bottom: .4rem; }
.p-narrative-lab .output-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .6rem; }
@media(max-width:640px) {
  .p-narrative-lab .output-grid { grid-template-columns: 1fr 1fr; }
}
.p-narrative-lab .out-chip { border: 1px solid var(--border); border-radius: 6px; background: var(--surface); padding: .6rem .8rem; }
.p-narrative-lab .out-chip .ol { font-size: .68rem; color: var(--accent); font-weight: 700; margin-bottom: .15rem; }
.p-narrative-lab .cta-row { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1.5rem; }

/* ── page: p-product-ccrt ─────────────────────────────────────── */
.p-product-ccrt .ccrt-components { display: flex; flex-direction: column; gap: .65rem; }
.p-product-ccrt .component-row { display: flex; gap: 1rem; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); padding: .75rem 1rem; align-items: flex-start; }
.p-product-ccrt .comp-abbr { flex-shrink: 0; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; width: 2.5rem; color: var(--accent); }
.p-product-ccrt .comp-text h3 { font-size: .85rem; font-weight: 600; margin-bottom: .12rem; }

/* ── CCRT triad + episode prompts (sample report + live report + take flow) ─── */
.ccrt-triad { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-top: .5rem; }
.ccrt-component { border: 1px solid var(--border); border-left: 4px solid var(--accent); border-radius: 8px; background: var(--surface); padding: 1rem 1.1rem; }
.ccrt-component.ccrt-ro { border-left-color: #b06a2c; }
.ccrt-component.ccrt-rs { border-left-color: #5a7d5a; }
.ccrt-component h3 { font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: .4rem; }
.ccrt-theme { font-size: 1.05rem; font-weight: 600; line-height: 1.35; margin-bottom: .35rem; }
.ccrt-freq { font-size: .8rem; color: var(--muted); margin: 0; }
.ccrt-prompt-card { border: 1px solid var(--border); border-left: 4px solid var(--accent); border-radius: 8px; background: var(--surface); padding: 1rem 1.2rem; margin-bottom: 1rem; }
.ccrt-prompt-text { font-size: 1.05rem; line-height: 1.5; margin: 0; }

/* ── page: p-product-ecrsf ─────────────────────────────────────── */
.p-product-ecrsf .prod-hero .tag { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; border: 1px solid hsl(350 48% 92%); border-radius: 4px; padding: .15rem .5rem; color: hsl(350 50% 33%); display: inline-block; margin-bottom: .75rem; }
.p-product-ecrsf .free-badge { display: inline-block; background: hsl(145 48% 92%); border: 1px solid hsl(145 48% 92%); border-radius: 6px; padding: .25rem .75rem; font-size: .78rem; font-weight: 700; color: hsl(145 60% 33%); margin-bottom: 1rem; }
.p-product-ecrsf .quad-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.p-product-ecrsf .quad-card { border: 1px solid var(--border-strong); border-radius: 8px; background: var(--surface); padding: .8rem; }
.p-product-ecrsf .quad-card h3 { font-size: .75rem; font-weight: 700; margin-bottom: .25rem; }
.p-product-ecrsf .quad-card.secure h3 { color: hsl(145 60% 33%); }
.p-product-ecrsf .quad-card.anxious h3 { color: hsl(38 80% 33%); }
.p-product-ecrsf .quad-card.dismissive h3 { color: hsl(210 60% 33%); }
.p-product-ecrsf .quad-card.fearful h3 { color: hsl(280 50% 33%); }
.p-product-ecrsf .quad-card p { font-size: .7rem; color: var(--muted); line-height: 1.5; margin: 0; }
.p-product-ecrsf .axes-label { display: flex; justify-content: space-between; font-size: .68rem; color: var(--muted); margin-bottom: .4rem; padding: 0 .25rem; }

/* ── page: p-product-ipc32 ─────────────────────────────────────── */
.p-product-ipc32 .prod-hero .tag { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; border: 1px solid hsl(280 48% 92%); border-radius: 4px; padding: .15rem .5rem; color: hsl(280 50% 33%); display: inline-block; margin-bottom: .75rem; }
.p-product-ipc32 .prod-hero .price-pill { display: flex; align-items: center; gap: .5rem; font-size: .8rem; color: var(--muted); margin-bottom: 1rem; }
.p-product-ipc32 .prod-hero .price-pill strong { color: var(--text); font-size: 1rem; }
.p-product-ipc32 .circumplex-demo { border: 1px solid var(--border-strong); border-radius: 12px; background: var(--surface); padding: 1.5rem; text-align: center; }
.p-product-ipc32 .circumplex-ring { width: 160px; height: 160px; border-radius: 50%; border: 2px solid var(--border-strong); margin: 0 auto 1rem; position: relative; display: flex; align-items: center; justify-content: center; }
.p-product-ipc32 .circ-label { font-size: .65rem; color: var(--muted); position: absolute; }
.p-product-ipc32 .circ-label.top { top: -1.2rem; }
.p-product-ipc32 .circ-label.bottom { bottom: -1.2rem; }
.p-product-ipc32 .circ-label.left { left: -2.5rem; }
.p-product-ipc32 .circ-label.right { right: -2.5rem; }
.p-product-ipc32 .circ-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); position: absolute; top: 35%; left: 60%; }
.p-product-ipc32 .circ-inner { font-size: .7rem; color: var(--muted); text-align: center; line-height: 1.4; }
.p-product-ipc32 .octant-row { display: grid; grid-template-columns: repeat(4,1fr); gap: .35rem; margin-top: 1rem; }
.p-product-ipc32 .octant-chip { font-size: .65rem; background: var(--surface); border: 1px solid var(--border-strong); border-radius: 4px; padding: .25rem .35rem; text-align: center; color: var(--muted); }
.p-product-ipc32 .octant-chip span { display: block; font-weight: 700; color: var(--text); font-size: .72rem; }

/* ── page: p-product-pse ─────────────────────────────────────── */
.p-product-pse .motive-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: 1rem 0; }

/* ── page: p-product-sadt ─────────────────────────────────────── */
.p-product-sadt .prod-hero .tier { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; border: 1px solid hsl(38 48% 92%); border-radius: 4px; padding: .2rem .55rem; color: hsl(38 80% 33%); margin-bottom: .75rem; display: inline-block; margin-left: .5rem; }
.p-product-sadt .stats-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .75rem; margin-bottom: 1.5rem; }
@media (min-width: 500px) {
  .p-product-sadt .stats-grid { grid-template-columns: repeat(3,1fr); }
}
.p-product-sadt .stat-box .lbl { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: .2rem; }
.p-product-sadt .stat-box .val { font-size: 1.1rem; font-weight: 800; }
.p-product-sadt .stat-box .sub { font-size: .72rem; color: var(--muted); margin-top: .1rem; }
.p-product-sadt .scale-row { display: flex; gap: .75rem; align-items: flex-start; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); padding: .75rem 1rem; }
.p-product-sadt .scale-abbr { flex-shrink: 0; width: 4rem; font-size: .78rem; font-weight: 700; color: var(--accent); }
.p-product-sadt .scale-text h3 { font-size: .85rem; font-weight: 600; margin-bottom: .15rem; }
.p-product-sadt .scale-tag { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; border-radius: 4px; padding: .06rem .35rem; margin-left: .4rem; }
.p-product-sadt .tag-s { border: 1px solid hsl(210 48% 92%); color: hsl(210 50% 33%); }
.p-product-sadt .tag-a { border: 1px solid hsl(350 48% 92%); color: hsl(350 50% 33%); }
.p-product-sadt .sample-score-table { width: 100%; border-collapse: collapse; font-size: .82rem; margin: 1rem 0; }
.p-product-sadt .sample-score-table th { text-align: left; padding: .4rem .75rem; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); border-bottom: 1px solid var(--border); }
.p-product-sadt .sample-score-table td { padding: .5rem .75rem; border-bottom: 1px solid var(--border); color: var(--muted); }

/* ── page: p-psychometric-testing ─────────────────────────────────────── */
.p-psychometric-testing .inst-card { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.1rem; display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; align-items: start; }
.p-psychometric-testing .inst-short { font-size: .8rem; font-weight: 700; color: var(--accent); padding-top: .08rem; }
.p-psychometric-testing .cta-strip { text-align: center; padding: 2.5rem 0; border-top: 1px solid var(--border); }

/* ── page: p-request-baa ─────────────────────────────────────── */
.p-request-baa .baa-wrap { max-width: 42rem; margin: 0 auto; padding: 4rem 0 5rem; }
.p-request-baa .baa-hero { padding: 1.5rem 0 2rem; border-bottom: 1px solid var(--border); margin-bottom: 2.5rem; }
.p-request-baa .baa-hero .sub { margin-top: .6rem; color: var(--muted); font-size: .85rem; line-height: 1.65; }
.p-request-baa .what-box { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.1rem 1.25rem; margin-bottom: 2rem; }
.p-request-baa .what-box h3 { font-size: .85rem; font-weight: 700; margin-bottom: .5rem; }
.p-request-baa .what-box li { font-size: .82rem; color: var(--muted); line-height: 1.65; padding: .15rem 0; }
.p-request-baa .baa-form label { display: block; font-size: .8rem; font-weight: 600; color: var(--text); margin-bottom: .35rem; }
.p-request-baa .baa-form .field { margin-bottom: 1.1rem; }
.p-request-baa .baa-form input,
.p-request-baa .baa-form select,
.p-request-baa .baa-form textarea { width: 100%; background: var(--surface); border: 1px solid var(--border-strong); border-radius: 6px; padding: .6rem .8rem; font-size: .85rem; color: var(--text); font-family: inherit; box-sizing: border-box; }
.p-request-baa .baa-form textarea { min-height: 100px; resize: vertical; }
.p-request-baa .baa-form .hint { font-size: .73rem; color: var(--muted); margin-top: .25rem; }
.p-request-baa .baa-form button { width: 100%; background: var(--accent); border: none; border-radius: 6px; padding: .75rem; color: var(--surface); font-size: .9rem; font-weight: 600; cursor: pointer; margin-top: .5rem; }
.p-request-baa .back-link { font-size: .82rem; color: var(--muted); text-decoration: none; display: inline-block; margin-bottom: 1.5rem; }

/* ── page: p-research-for-graduate-programs ─────────────────────────────────────── */
.p-research-for-graduate-programs .track-card .tnum { font-size: .7rem; font-weight: 700; color: var(--accent); margin-bottom: .3rem; }
.p-research-for-graduate-programs .tool-row { border: 1px solid var(--border); border-radius: 6px; background: var(--surface); padding: .85rem 1rem; display: flex; gap: .75rem; align-items: start; }
.p-research-for-graduate-programs .tool-icon { flex-shrink: 0; font-size: .72rem; font-weight: 700; color: var(--muted); width: 1.5rem; padding-top: .05rem; }
.p-research-for-graduate-programs .tool-row h3 { font-size: .87rem; font-weight: 700; margin-bottom: .15rem; }
.p-research-for-graduate-programs .tiers { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: .6rem; }
.p-research-for-graduate-programs .tier-card h3 { font-size: .85rem; font-weight: 700; margin-bottom: .2rem; }
.p-research-for-graduate-programs .tier-card .cap { font-size: .73rem; color: var(--muted); margin-bottom: .4rem; }
.p-research-for-graduate-programs .tier-card ul { list-style: none; padding: 0; margin: 0; }
.p-research-for-graduate-programs .tier-card li { font-size: .75rem; color: var(--muted); padding: .12rem 0; }
.p-research-for-graduate-programs .tier-card li::before { content: "· "; }

/* ── page: p-research-for-institutions ─────────────────────────────────────── */
.p-research-for-institutions .feature-row { display: flex; gap: .75rem; align-items: start; }
.p-research-for-institutions .feat-num { flex-shrink: 0; font-size: .68rem; font-weight: 700; color: var(--accent); width: 1.5rem; padding-top: .08rem; }
.p-research-for-institutions .tiers-table { width: 100%; border-collapse: collapse; }
.p-research-for-institutions .tiers-table th { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); text-align: left; padding: .5rem .75rem; border-bottom: 1px solid var(--border); }
.p-research-for-institutions .tiers-table td { font-size: .82rem; color: var(--muted); padding: .55rem .75rem; border-bottom: 1px solid var(--border); vertical-align: top; }
.p-research-for-institutions .cta-strip { padding: 2rem 0; border-top: 1px solid var(--border); margin-top: 1rem; display: flex; gap: .75rem; flex-wrap: wrap; }

/* ── page: p-research-hub ─────────────────────────────────────── */
.p-research-hub .tool-card { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.25rem 1.5rem; display: flex; gap: 1.25rem; align-items: flex-start; }
.p-research-hub .tool-content { flex: 1; }
.p-research-hub .tool-content h3 { font-size: .95rem; font-weight: 700; margin-bottom: .3rem; }
.p-research-hub .tool-content p { font-size: .82rem; color: var(--muted); line-height: 1.6; margin-bottom: .6rem; }
.p-research-hub .tool-chip { display: inline-block; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; border: 1px solid hsl(145 48% 92%); border-radius: 4px; padding: .1rem .45rem; color: hsl(145 50% 33%); }
.p-research-hub .tool-chip-road { border-color: var(--muted); color: var(--muted); }
.p-research-hub .tool-cta { color: var(--accent); font-size: .82rem; text-decoration: none; margin-left: auto; flex-shrink: 0; white-space: nowrap; }
.p-research-hub .measures-cat h3 { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: .6rem; }
.p-research-hub .mchip { border: 1px solid var(--border); border-radius: 20px; padding: .25rem .85rem; font-size: .78rem; color: var(--muted); }
.p-research-hub .mchip.hi { border-color: hsl(28 48% 92%); color: hsl(28 80% 33%); }
.p-research-hub .access-cta { text-align: center; padding: 2.5rem 0; border-top: 1px solid var(--border); margin-top: 1rem; }
.p-research-hub .access-cta h2 { font-size: 1.2rem; font-weight: 700; margin-bottom: .5rem; }
.p-research-hub .access-cta p { color: var(--muted); font-size: .88rem; margin-bottom: 1.25rem; }
.p-research-hub .access-cta .btn-p { background: var(--accent); border: none; border-radius: 6px; padding: .65rem 1.5rem; color: var(--surface); font-size: .88rem; font-weight: 600; text-decoration: none; }
.p-research-hub .access-cta .btn-s { border: 1px solid var(--border-strong); border-radius: 6px; padding: .65rem 1.5rem; color: var(--muted); font-size: .88rem; text-decoration: none; }

/* ── page: p-research-institutions ─────────────────────────────────────── */
.p-research-institutions .inst-hero { padding: 4.5rem 0 2.5rem; max-width: 60ch; }
.p-research-institutions .inst-hero .back { font-size: .82rem; color: var(--muted); text-decoration: none; margin-bottom: 1.5rem; display: inline-block; }
.p-research-institutions .inst-hero h1 { font-size: clamp(1.8rem,4vw,2.75rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.p-research-institutions .inst-hero .sub { margin-top: .85rem; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.p-research-institutions .pillars-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; padding: 2rem 0 3rem; }
.p-research-institutions .pillar-card { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.4rem; }
.p-research-institutions .pillar-card h3 { font-size: .95rem; font-weight: 700; margin-bottom: .5rem; }
.p-research-institutions .pillar-card p { font-size: .85rem; color: var(--muted); line-height: 1.6; }
.p-research-institutions .tier-table { width: 100%; border-collapse: collapse; font-size: .87rem; margin-bottom: 3rem; }
.p-research-institutions .tier-table th { text-align: left; padding: .5rem .75rem; color: var(--muted); font-size: .75rem; letter-spacing: .07em; text-transform: uppercase; border-bottom: 1px solid var(--border); font-weight: 600; }
.p-research-institutions .tier-table td { padding: .65rem .75rem; border-bottom: 1px solid var(--border); color: var(--text); line-height: 1.5; vertical-align: top; }
.p-research-institutions .tier-name { font-weight: 700; color: var(--text); }
.p-research-institutions .tier-audience { color: var(--muted); font-size: .8rem; }
.p-research-institutions .export-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-bottom: 3rem; }
@media (min-width: 700px) {
  .p-research-institutions .export-grid { grid-template-columns: repeat(3, 1fr); }
}
.p-research-institutions .export-pill { border: 1px solid var(--border); border-radius: 8px; padding: .75rem 1rem; }
.p-research-institutions .export-pill .fmt { font-size: .85rem; font-weight: 700; color: var(--text); }
.p-research-institutions .export-pill .use { font-size: .75rem; color: var(--muted); margin-top: .2rem; }
.p-research-institutions .inst-contact { border: 1px solid var(--border); border-radius: 12px; background: var(--surface); padding: 2rem; max-width: 560px; margin: 0 auto 5rem; }
.p-research-institutions .inst-contact h2 { font-size: 1.3rem; font-weight: 700; margin-bottom: .5rem; }
.p-research-institutions .inst-contact p { font-size: .88rem; color: var(--muted); margin-bottom: 1.5rem; line-height: 1.6; }
.p-research-institutions .inst-form label { display: block; font-size: .8rem; color: var(--muted); margin-bottom: .3rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.p-research-institutions .inst-form input,
.p-research-institutions .inst-form select,
.p-research-institutions .inst-form textarea { width: 100%; padding: .6rem .85rem; border: 1px solid var(--border-strong); border-radius: 6px; background: var(--surface); color: var(--text); font-size: .9rem; font-family: inherit; margin-bottom: 1rem; outline: none; }
.p-research-institutions .inst-form textarea { min-height: 80px; resize: vertical; }
.p-research-institutions .btn-orange { display: block; width: 100%; padding: .7rem; background: var(--accent); color: var(--surface); font-weight: 700; font-size: .95rem; border: none; border-radius: 6px; cursor: pointer; }

/* ── page: p-resources ─────────────────────────────────────── */
.p-resources .res-section { margin-bottom: 3.5rem; }
.p-resources .res-section h2 { font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); margin-bottom: 1rem; padding-bottom: .5rem; border-bottom: 1px solid var(--border); }
.p-resources .book-list { display: flex; flex-direction: column; gap: .9rem; }
.p-resources .book-card h3 { font-size: .92rem; font-weight: 700; margin-bottom: .1rem; }
.p-resources .book-card .subtitle { font-size: .78rem; color: var(--muted); margin-bottom: .3rem; }
.p-resources .book-card .author { font-size: .75rem; color: var(--muted); margin-bottom: .55rem; }
.p-resources .article-card .authors { font-size: .75rem; color: var(--muted); margin-bottom: .4rem; }

/* ── page: p-sample-report-ldt ─────────────────────────────────────── */
.p-sample-report-ldt .badge-red { background: hsl(25 48% 92%); color: hsl(25 70% 33%); border: 1px solid hsl(25 48% 92%); }
.p-sample-report-ldt .rt-table { width: 100%; border-collapse: collapse; font-size: .82rem; margin-bottom: 1.25rem; }
.p-sample-report-ldt .sig { font-size: .72rem; color: hsl(145 50% 33%); }
.p-sample-report-ldt .freq-bands th { text-align: left; padding: .4rem .7rem; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); border-bottom: 1px solid var(--border); }
.p-sample-report-ldt .freq-bands td { padding: .45rem .7rem; border-bottom: 1px solid var(--border); color: var(--muted); }

/* ── page: p-sample-report-stroop ─────────────────────────────────────── */
.p-sample-report-stroop .badge-la { background: hsl(80 48% 92%); color: hsl(80 50% 33%); border: 1px solid hsl(80 48% 92%); }
.p-sample-report-stroop .condition-table { width: 100%; border-collapse: collapse; font-size: .82rem; margin-bottom: 1rem; }

/* ── page: p-schizoid-avoidant-tutorial ─────────────────────────────────────── */
.p-schizoid-avoidant-tutorial .toc { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 2.5rem; }
.p-schizoid-avoidant-tutorial .toc a { border: 1px solid var(--border-strong); border-radius: 20px; padding: .22rem .75rem; font-size: .76rem; color: var(--muted); text-decoration: none; }
.p-schizoid-avoidant-tutorial .quote-card .speaker { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: .5rem; }
.p-schizoid-avoidant-tutorial .quote-card q { font-size: .85rem; color: var(--text); line-height: 1.6; font-style: italic; }
.p-schizoid-avoidant-tutorial .continuum { margin: 2rem 0; }
.p-schizoid-avoidant-tutorial .continuum-bar { height: 8px; border-radius: 4px; background: linear-gradient(90deg, hsl(210 60% 33%) 0%, var(--border-strong) 50%, hsl(350 60% 33%) 100%); margin: .75rem 0; }
.p-schizoid-avoidant-tutorial .continuum-labels { display: flex; justify-content: space-between; font-size: .72rem; color: var(--muted); }
.p-schizoid-avoidant-tutorial .continuum-desc { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.p-schizoid-avoidant-tutorial .cd { padding: .6rem .75rem; border-radius: 6px; background: var(--surface); border: 1px solid var(--border); }
.p-schizoid-avoidant-tutorial .cd .cd-label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: .2rem; }
.p-schizoid-avoidant-tutorial .measure-table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: .82rem; }
.p-schizoid-avoidant-tutorial .measure-table th { text-align: left; padding: .5rem .75rem; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); border-bottom: 1px solid var(--border); }
.p-schizoid-avoidant-tutorial .measure-table td { padding: .55rem .75rem; border-bottom: 1px solid var(--border); vertical-align: top; }
.p-schizoid-avoidant-tutorial .measure-table td:last-child { color: var(--muted); line-height: 1.55; }
.p-schizoid-avoidant-tutorial .badge-s { font-size: .7rem; border: 1px solid hsl(210 48% 92%); color: hsl(210 50% 33%); border-radius: 4px; padding: .08rem .4rem; white-space: nowrap; }
.p-schizoid-avoidant-tutorial .badge-a { font-size: .7rem; border: 1px solid hsl(350 48% 92%); color: hsl(350 50% 33%); border-radius: 4px; padding: .08rem .4rem; white-space: nowrap; }
.p-schizoid-avoidant-tutorial .key-takeaway { border: 1px solid hsl(145 48% 92%); border-radius: 10px; background: hsl(145 48% 92%); padding: 1.5rem; margin: 2rem 0; }
.p-schizoid-avoidant-tutorial .key-takeaway h3 { font-size: .88rem; font-weight: 700; color: hsl(145 50% 33%); margin-bottom: .6rem; }
.p-schizoid-avoidant-tutorial .key-takeaway p { font-size: .85rem; color: var(--muted); line-height: 1.7; margin: 0; }

/* ── page: p-schizoid-landing ─────────────────────────────────────── */
.p-schizoid-landing .action-row { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1.75rem 0 2.5rem; }
.p-schizoid-landing .action-btn { border: 1px solid var(--border-strong); border-radius: 7px; padding: .55rem 1rem; font-size: .83rem; color: var(--muted); text-decoration: none; display: inline-flex; align-items: center; gap: .45rem; }
.p-schizoid-landing .action-primary:hover { background: var(--accent-ink); color: var(--surface); }
.p-schizoid-landing .pub-box { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.5rem; margin: 1.5rem 0; }
.p-schizoid-landing .pub-box .journal { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); margin-bottom: .6rem; }
.p-schizoid-landing .pub-box h3 { font-size: .98rem; font-weight: 700; line-height: 1.4; margin-bottom: .6rem; }
.p-schizoid-landing .pub-box .authors { font-size: .78rem; color: var(--muted); margin-bottom: .5rem; }
.p-schizoid-landing .pub-box .abstract { font-size: .82rem; color: var(--muted); line-height: 1.65; margin-bottom: .75rem; }
.p-schizoid-landing .pub-box .doi { font-size: .75rem; }
.p-schizoid-landing .dist-card h4 { font-size: .88rem; font-weight: 700; margin-bottom: .5rem; }
.p-schizoid-landing .dist-card ul { list-style: none; padding: 0; }
.p-schizoid-landing .dist-card li { font-size: .8rem; color: var(--muted); line-height: 1.6; padding: .15rem 0; display: flex; gap: .5rem; }
.p-schizoid-landing .dist-card li::before { content: "·"; color: var(--muted); flex-shrink: 0; }
.p-schizoid-landing .faq { margin-top: 2.5rem; }
.p-schizoid-landing .faq h2 { font-size: 1.15rem; font-weight: 700; margin-bottom: 1.25rem; padding-bottom: .5rem; border-bottom: 1px solid var(--border); }
.p-schizoid-landing .faq-item { border-bottom: 1px solid var(--border); padding: .85rem 0; }

/* ── page: p-scholar ─────────────────────────────────────── */
.p-scholar .workflow-steps { display: flex; gap: .5rem; flex-wrap: wrap; margin: 1.25rem 0 2.5rem; }
.p-scholar .wf-step { border: 1px solid var(--border-strong); border-radius: 4px; padding: .25rem .75rem; font-size: .75rem; color: var(--muted); }
.p-scholar .wf-step .num { color: var(--accent); font-weight: 700; margin-right: .3rem; }
.p-scholar .tool-card { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.2rem; display: flex; gap: 1rem; }
.p-scholar .tool-card .tc h3 { font-size: .9rem; font-weight: 700; margin-bottom: .25rem; }
.p-scholar .price-card .cap { font-size: .75rem; color: var(--muted); margin-bottom: .5rem; }
.p-scholar .price-card .tag { font-size: .72rem; color: var(--muted); font-style: italic; }

/* ── page: p-science ─────────────────────────────────────── */
.p-science .science-hero .sub { margin-top: .75rem; color: var(--muted); font-size: 1.05rem; max-width: 55ch; margin-left: auto; margin-right: auto; line-height: 1.6; }
.p-science .method-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; padding: 2rem 0 3.5rem; }
.p-science .method-card { border: 1px solid var(--border); border-radius: 10px; background: var(--surface); padding: 1.5rem; }
.p-science .method-card h3 { font-size: 1rem; font-weight: 700; margin-bottom: .6rem; }
.p-science .method-card p { font-size: .87rem; color: var(--muted); line-height: 1.65; }
.p-science .cat-section { padding: 0 0 4rem; }
.p-science .cat-section h2 { font-size: 1.4rem; font-weight: 700; margin-bottom: 1.25rem; border-bottom: 1px solid var(--border); padding-bottom: .75rem; }
.p-science .cat-label { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; padding: .2rem .55rem; border-radius: 4px; margin-bottom: .9rem; }
.p-science .instr-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.p-science .instr-table th { text-align: left; padding: .4rem .7rem; color: var(--muted); font-weight: 600; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; border-bottom: 1px solid var(--border); }
.p-science .instr-table td { padding: .5rem .7rem; border-bottom: 1px solid var(--border); color: var(--text); line-height: 1.5; }
.p-science .instr-table .citation { color: var(--muted); font-style: italic; font-size: .8rem; }
.p-science .science-cta { text-align: center; padding: 2rem 0 5rem; }
.p-science .science-cta p { color: var(--muted); font-size: .9rem; margin-bottom: 1rem; }
.p-science .btn-outline { display: inline-block; padding: .65rem 1.5rem; border: 1px solid var(--accent); color: var(--accent); border-radius: 6px; text-decoration: none; font-size: .9rem; font-weight: 600; }

/* ── page: p-stroop-landing ─────────────────────────────────────── */
.p-stroop-landing .btn-p { background: var(--accent); border: none; border-radius: 6px; padding: .65rem 1.5rem; color: var(--surface); font-size: .9rem; font-weight: 600; text-decoration: none; cursor: pointer; }
.p-stroop-landing .block-card { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.1rem; display: flex; gap: 1rem; }
.p-stroop-landing .block-num { font-size: .72rem; font-weight: 700; color: var(--muted); flex-shrink: 0; width: 1.5rem; padding-top: .1rem; }
.p-stroop-landing .block-content h3 { font-size: .9rem; font-weight: 700; margin-bottom: .2rem; }


/* ── Report writer (hub + composite + portrait) ───────────────────────────── */
.p-reports .reports-count { margin: 0 0 1.25rem; color: var(--ink-soft, #555); }
.p-reports .reports-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
}
.p-reports .reports-card { display: flex; flex-direction: column; }
.p-reports .reports-card .btn { margin-top: auto; align-self: flex-start; }

.p-report-composite .composite-pick-list { list-style: none; margin: 0 0 1.25rem; padding: 0; }
.p-report-composite .composite-pick {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--rule, #e7e0d4);
  cursor: pointer;
}
.p-report-composite .composite-pick-name { font-weight: 600; }
.p-report-composite .composite-pick-date { margin-left: auto; font-size: 0.85rem; color: var(--ink-soft, #777); }
.p-report-composite .composite-picker .btn { margin-right: 0.5rem; }

/* Printable report document */
.report-doc {
  background: #fff;
  border: 1px solid var(--rule, #e7e0d4);
  border-radius: 10px;
  padding: 2.25rem clamp(1.25rem, 4vw, 3rem);
  max-width: 820px;
  margin: 0 auto 1.5rem;
}
.report-doc-header { border-bottom: 2px solid var(--ink, #1d1a16); padding-bottom: 1rem; margin-bottom: 1.5rem; }
.report-doc-kicker { text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.75rem; color: var(--ink-soft, #777); margin: 0 0 0.4rem; }
.report-doc-title { margin: 0 0 0.4rem; }
.report-doc-meta { margin: 0; color: var(--ink-soft, #555); }
.report-section { padding: 1.25rem 0; border-bottom: 1px solid var(--rule, #efe8db); break-inside: avoid; }
.report-section:last-of-type { border-bottom: none; }
.report-section-meta { margin: 0 0 0.85rem; font-size: 0.85rem; color: var(--ink-soft, #777); }
.report-section-summary { margin: 1rem 0 0; }
.report-overall .report-section-summary { font-size: 1.05rem; }
.report-doc-footer { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--rule, #efe8db); font-size: 0.85rem; color: var(--ink-soft, #777); }
.report-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; max-width: 820px; margin: 0 auto; }
.report-actions p { margin: 0 0.5rem 0 0; color: var(--ink-soft, #555); }

@media print {
  body.p-report-composite .site-header,
  body.p-report-composite .site-footer,
  body.p-report-composite .no-print,
  body.p-report-portrait .site-header,
  body.p-report-portrait .site-footer,
  body.p-report-portrait .no-print { display: none !important; }
  body.p-report-composite, body.p-report-portrait { background: #fff; }
  body.p-report-composite .report-doc,
  body.p-report-portrait .report-doc { border: none; border-radius: 0; max-width: 100%; margin: 0; padding: 0; }
  .report-section { break-inside: avoid; }
  @page { margin: 1.5cm; }
}

/* ── Clinician how-to helper (no-PHI guidance) ──────────────────────────────── */
.p-clinician .howto { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-sm); margin-bottom: 28px; overflow: hidden; }
.p-clinician .howto > summary { cursor: pointer; list-style: none; padding: 22px 40px; font-size: 1.25rem; font-weight: 600; color: var(--text); font-family: var(--font-serif); }
.p-clinician .howto > summary::-webkit-details-marker { display: none; }
.p-clinician .howto > summary::after { content: "+"; float: right; color: var(--muted); font-weight: 400; }
.p-clinician .howto[open] > summary::after { content: "\2212"; }
.p-clinician .howto[open] > summary { border-bottom: 1px solid var(--border); }
.p-clinician .howto-body { padding: 24px 40px 32px; }
.p-clinician .howto-body > p { color: var(--muted); margin-bottom: 16px; line-height: 1.65; }
.p-clinician .howto-steps { margin: 0 0 18px; padding-left: 22px; display: grid; gap: 12px; }
.p-clinician .howto-steps li { line-height: 1.55; color: var(--text); }
.p-clinician .howto-steps code, .p-clinician .howto-note code { background: var(--surface-2); border-radius: var(--radius-sm); padding: 1px 6px; font-size: 0.92em; }
.p-clinician .howto-note { background: var(--info-bg); border: 1px solid var(--info-border); border-radius: var(--radius-sm); padding: 14px 18px; color: var(--text); line-height: 1.6; margin: 0; }
.p-clinician .howto-sub { margin: 8px 0 0; padding-left: 20px; list-style: disc; display: grid; gap: 4px; }
.p-clinician .howto-sub li { line-height: 1.5; color: var(--muted); }
.p-clinician .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.p-clinician .link-cell { min-width: 340px; }
.p-clinician .patient-link { font-family: var(--font-mono, monospace); font-size: 0.82rem; word-break: break-all; color: var(--accent); text-decoration: underline; }
.p-clinician .patient-link:hover { color: var(--accent-dark, var(--accent)); }
.p-clinician .link-copy-input { font-family: var(--font-mono, monospace); font-size: 0.82rem; width: 100%; min-width: 380px; background: var(--surface-2); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 6px 10px; color: var(--text); cursor: text; }
.p-clinician .link-copy-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(173, 74, 38, 0.12); }
.p-clinician .clinician-field-hint { font-size: 0.78rem; color: var(--muted); font-weight: 400; margin-top: 2px; }
.p-clinician .clinician-summary-line { margin-bottom: 12px; }
.p-clinician .clinician-ref-cell { min-width: 160px; }
.p-clinician .clinician-link-label { display: block; font-weight: 600; }
.p-clinician .clinician-link-code { display: block; font-size: 0.8rem; color: var(--muted); margin-top: 2px; }
.p-clinician .clinician-measures-cell { min-width: 180px; }
.p-clinician .clinician-measure-row { display: flex; align-items: center; gap: 8px; padding: 2px 0; }
.p-clinician .clinician-measure-name { font-size: 0.88rem; }
.p-clinician .clinician-actions-cell { min-width: 120px; }
.p-clinician .clinician-actions-cell > div { margin-bottom: 4px; }
.p-clinician .clinician-actions-cell > div:last-child { margin-bottom: 0; }
.p-clinician .status-pill { display: inline-block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; white-space: nowrap; }
.p-clinician .status-completed { background: var(--success-bg); color: var(--success-ink); border: 1px solid var(--success-border); }
.p-clinician .status-pending { background: #fef3e2; color: #92600a; border: 1px solid #f5d48a; }
.p-clinician .clinician-ref-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin-bottom: 20px; }
.p-clinician .clinician-ref-fields label { display: flex; flex-direction: column; gap: 5px; font-size: 0.85rem; font-weight: 600; color: var(--muted); }
.p-clinician .clinician-ref-fields input, .p-clinician .clinician-ref-fields select { background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 9px 12px; font: inherit; color: var(--text); }
.p-clinician .clinician-ref-fields input:focus, .p-clinician .clinician-ref-fields select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(173, 74, 38, 0.12); }
.p-clinician .measure-group-details { margin-bottom: 6px; }
.p-clinician .measure-group-summary { cursor: pointer; list-style: none; font-size: 0.88rem; font-weight: 700; letter-spacing: 0.02em; color: var(--muted); background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 10px 14px; }
.p-clinician .measure-group-summary::-webkit-details-marker { display: none; }
.p-clinician .measure-group-summary::after { content: " ▸"; font-weight: 400; }
.p-clinician .measure-group-details[open] .measure-group-summary::after { content: " ▾"; }
.p-clinician .measure-group--collapsed { border-top: none; border-radius: 0 0 var(--radius-sm) var(--radius-sm); margin-top: 0; }
.p-clinician .measure-check a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; font-weight: 400; }
.p-clinician .measure-check a:hover { color: var(--accent-ink); }
.p-clinician .clinician-filter { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px; margin-bottom: 14px; }
.p-clinician .clinician-filter-field { display: flex; flex-direction: column; gap: 5px; font-size: 0.85rem; font-weight: 600; color: var(--muted); }
.p-clinician .clinician-filter-search { flex: 1 1 240px; }
.p-clinician .clinician-filter-field input, .p-clinician .clinician-filter-field select { background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 9px 12px; font: inherit; color: var(--text); width: 100%; }
.p-clinician .clinician-filter-field input:focus, .p-clinician .clinician-filter-field select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(173, 74, 38, 0.12); }
.p-clinician .clinician-filter-actions { display: flex; gap: 8px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ── Pre-migration History (legacy search + table) ──────────────────── */
.p-clinician .legacy-search-form { margin: 12px 0 16px; }
.p-clinician .legacy-search-label { display: block; font-size: 0.82rem; font-weight: 600; color: var(--muted); margin-bottom: 6px; letter-spacing: 0.02em; }
.p-clinician .legacy-search-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.p-clinician .legacy-search-input { flex: 1 1 220px; background: var(--surface); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 8px 11px; font: inherit; font-size: 0.9rem; color: var(--text); min-width: 0; }
.p-clinician .legacy-search-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(173, 74, 38, 0.12); }
.p-clinician .legacy-empty { color: var(--muted); font-size: 0.92rem; margin: 16px 0 4px; }
.p-clinician .legacy-export-row { margin-top: 12px; }
.p-clinician .legacy-history-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.p-clinician .legacy-history-table th { text-align: left; padding: 8px 10px; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: var(--muted); border-bottom: 1px solid var(--border-strong); white-space: nowrap; }
.p-clinician .legacy-history-table td { padding: 8px 10px; border-bottom: 1px solid var(--border); vertical-align: top; line-height: 1.45; }
.p-clinician .legacy-history-table tbody tr:hover td { background: var(--surface-2); }
.p-clinician .legacy-history-table tbody tr:last-child td { border-bottom: none; }
.p-clinician .legacy-label-cell { font-size: 0.875rem; color: var(--text); max-width: 200px; }
.p-clinician .legacy-measures-cell { display: flex; flex-wrap: wrap; gap: 4px; padding-top: 9px; max-width: 260px; }
.p-clinician .legacy-measure-pill { display: inline-block; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.02em; padding: 2px 8px; border-radius: 999px; background: var(--surface-2); border: 1px solid var(--border-strong); color: var(--muted); white-space: nowrap; }
.p-clinician .legacy-date-cell { color: var(--muted); font-size: 0.84rem; white-space: nowrap; }
.p-clinician .legacy-flags-cell { display: flex; flex-wrap: wrap; gap: 4px; padding-top: 9px; max-width: 200px; }
.p-clinician .legacy-flag-badge { display: inline-block; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.01em; padding: 2px 8px; border-radius: 4px; background: var(--danger-bg); border: 1px solid var(--danger-border); color: var(--danger-ink); max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.p-clinician .legacy-no-flags { color: var(--muted); }
.p-clinician .legacy-count-cell { color: var(--muted); font-size: 0.875rem; text-align: right; white-space: nowrap; }

/* ── Studies (researcher console + participant runner) ──────────────────────── */
.p-studies .study-form { display: grid; gap: 16px; max-width: 640px; }
.p-studies .study-form label { display: grid; gap: 6px; font-weight: 600; color: var(--text); }
.p-studies .study-form input,
.p-studies .study-form textarea { font: inherit; padding: 9px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--text); width: 100%; }
.p-studies .study-form .field-hint { font-weight: 400; font-size: 0.85rem; color: var(--muted); }
.p-studies .study-form button { justify-self: start; }
.p-studies .study-form .label-inline { display: flex; align-items: flex-start; gap: 10px; font-weight: 600; cursor: pointer; }
.p-studies .study-form .label-inline input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; width: auto; cursor: pointer; }
.p-studies .study-form .label-inline .field-hint { display: block; margin-top: 4px; }
.p-studies .study-battery { margin: 0 0 8px; padding-left: 22px; display: grid; gap: 6px; }
.p-studies .study-consent,
.p-studies .study-debrief { white-space: pre-wrap; line-height: 1.6; color: var(--text); }
.p-studies .result-card { margin-bottom: 24px; }
.p-studies code { background: var(--surface-2); border-radius: var(--radius-sm); padding: 1px 6px; font-size: 0.92em; word-break: break-all; }
.p-studies .status-pill { font-size: .67rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .15rem .45rem; border-radius: 4px; }
.p-studies .status-completed { background: hsl(145 48% 92%); color: hsl(145 60% 33%); }
.p-studies .status-started { background: hsl(210 48% 92%); color: hsl(210 60% 33%); }
.p-studies .status-abandoned { background: hsl(0 0% 92%); color: hsl(0 0% 40%); }
.p-studies .status-sent { background: hsl(45 70% 91%); color: hsl(38 70% 34%); }
.p-studies .status-in_progress { background: hsl(210 48% 92%); color: hsl(210 60% 33%); }

.p-studies .compare-scroll { overflow-x: auto; margin-top: .75rem; }
.p-studies .compare-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.p-studies .compare-table th, .p-studies .compare-table td { padding: .5rem .65rem; border-bottom: 1px solid var(--border); text-align: left; white-space: nowrap; }
.p-studies .compare-table thead th { font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.p-studies .compare-table .compare-score-col { text-align: center; }
.p-studies .compare-table th a { color: inherit; text-decoration: none; }
.p-studies .compare-table th a:hover { color: var(--accent); text-decoration: underline; }
.p-studies .compare-table tbody tr:hover { background: var(--surface-2, rgba(0,0,0,.02)); }

.sd-launch { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border); }
.sd-launch form { margin: 14px 0; }

/* ── For Educators (contact-only) ───────────────────────────────────────────── */
.p-for-educators .edu-hero { padding: 64px 0 8px; max-width: var(--measure); }
.p-for-educators .edu-hero h1 { font-size: clamp(2.1rem, 5vw, 3.1rem); margin: 0 0 14px; letter-spacing: -0.025em; }
.p-for-educators .edu-hero .sub { color: var(--muted); font-size: 1.12rem; line-height: 1.7; margin-bottom: 20px; }
.p-for-educators .edu-cta { display: flex; flex-wrap: wrap; gap: 14px; margin: 8px 0 24px; }
.p-for-educators .edu-foot-note { color: var(--muted); font-size: 0.9rem; max-width: var(--measure); margin: 24px 0 16px; }

/* ── New-study form ── */
.study-new-form .result-card { margin-bottom: 24px; }
.measure-checklist { display: grid; gap: 4px; max-width: 640px; }
.measure-check-row { display: flex; align-items: baseline; gap: 10px; padding: 8px 10px; border-radius: var(--radius-sm); cursor: pointer; font-weight: 400; }
.measure-check-row:hover { background: var(--surface-2); }
.measure-check-row input[type="checkbox"] { flex-shrink: 0; accent-color: var(--accent); width: 16px; height: 16px; cursor: pointer; }
.measure-check-name { flex: 1; color: var(--text); }
.measure-check-time { font-size: 0.82rem; color: var(--muted); white-space: nowrap; }
.study-new-actions { display: flex; gap: 12px; margin-top: 8px; }

/* Curated selection battery templates */
.template-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.template-card { display: flex; flex-direction: column; gap: 8px; padding: 16px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.template-card-active { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent) inset; }
.template-card-name { margin: 0; font-size: 1.02rem; }
.template-card-rationale { margin: 0; color: var(--muted); font-size: 0.9rem; }
.template-card-measures { margin: 4px 0 0; padding-left: 18px; font-size: 0.88rem; color: var(--text); display: grid; gap: 2px; }
.template-card-time { margin: 4px 0 0; font-size: 0.82rem; color: var(--muted); font-weight: 600; }
.template-card-note { margin: 4px 0 0; font-size: 0.8rem; color: var(--muted); font-style: italic; }
.template-card .btn { margin-top: auto; align-self: start; }
.template-card-owner { margin: 0; font-size: 0.82rem; color: var(--muted); }
.template-badge { display: inline-block; font-size: 0.72rem; font-weight: 600; padding: 1px 7px; border-radius: 99px; vertical-align: middle; margin-left: 6px; }
.template-badge--shared { background: var(--accent-muted, #e8f0fe); color: var(--accent, #2563eb); }

/* IPIP-NEO-120 product page */
.p-product-neo120 .prod-wrap { max-width: 56rem; margin: 0 auto; padding: 4rem 0 5rem; }
.p-product-neo120 .prod-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; padding: 2rem 0 3rem; border-bottom: 1px solid var(--border); margin-bottom: 3rem; }
.p-product-neo120 .prod-hero h1 { font-size: clamp(1.5rem,3.5vw,2rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; margin-bottom: .5rem; }
.p-product-neo120 .prod-hero .sub { font-size: .85rem; color: var(--muted); line-height: 1.6; margin-bottom: 1.25rem; }
.p-product-neo120 .prod-hero .tag { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; border: 1px solid hsl(210 48% 92%); border-radius: 4px; padding: .15rem .5rem; color: hsl(210 50% 33%); display: inline-block; margin-bottom: .75rem; }
.p-product-neo120 .free-badge { display: inline-block; background: hsl(145 48% 92%); border: 1px solid hsl(145 48% 92%); border-radius: 6px; padding: .25rem .75rem; font-size: .78rem; font-weight: 700; color: hsl(145 60% 33%); margin-bottom: 1rem; }
.p-product-neo120 .prod-hero .cta-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.p-product-neo120 .cta-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.p-product-neo120 .pm-section { margin-bottom: 2.5rem; }
.p-product-neo120 .pm-section h2 { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: 1rem; padding-bottom: .4rem; border-bottom: 1px solid var(--border); }
.p-product-neo120 .stat-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(9rem,1fr)); gap: .6rem; }
.p-product-neo120 .stat-chip { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: .8rem; }
.p-product-neo120 .stat-chip .s-label { font-size: .7rem; color: var(--muted); margin-bottom: .15rem; }
.p-product-neo120 .stat-chip .s-val { font-size: .85rem; font-weight: 700; }
.p-product-neo120 .desc-block { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.1rem 1.25rem; margin-bottom: 1rem; }
.p-product-neo120 .desc-block p { font-size: .84rem; color: var(--muted); line-height: 1.7; margin-bottom: .65rem; }
.p-product-neo120 .desc-block p:last-child { margin-bottom: 0; }
.p-product-neo120 .desc-block cite { display: block; margin-top: .5rem; font-size: .78rem; color: var(--muted); font-style: normal; }
.p-product-neo120 .domain-stack { display: flex; flex-direction: column; gap: .5rem; }
.p-product-neo120 .domain-card { border: 1px solid var(--border-strong); border-left-width: 3px; border-radius: 8px; background: var(--surface); padding: .7rem .85rem; }
.p-product-neo120 .domain-card h3 { font-size: .78rem; font-weight: 700; margin-bottom: .2rem; }
.p-product-neo120 .domain-card p { font-size: .7rem; color: var(--muted); line-height: 1.5; margin: 0; }
.p-product-neo120 .domain-card.d-n { border-left-color: hsl(350 50% 55%); }
.p-product-neo120 .domain-card.d-n h3 { color: hsl(350 50% 38%); }
.p-product-neo120 .domain-card.d-e { border-left-color: hsl(38 75% 50%); }
.p-product-neo120 .domain-card.d-e h3 { color: hsl(38 70% 35%); }
.p-product-neo120 .domain-card.d-o { border-left-color: hsl(280 45% 55%); }
.p-product-neo120 .domain-card.d-o h3 { color: hsl(280 45% 40%); }
.p-product-neo120 .domain-card.d-a { border-left-color: hsl(145 50% 45%); }
.p-product-neo120 .domain-card.d-a h3 { color: hsl(145 55% 30%); }
.p-product-neo120 .domain-card.d-c { border-left-color: hsl(210 55% 50%); }
.p-product-neo120 .domain-card.d-c h3 { color: hsl(210 55% 35%); }
.p-product-neo120 .facet-domains { display: grid; grid-template-columns: repeat(auto-fit,minmax(15rem,1fr)); gap: .8rem; }
.p-product-neo120 .facet-domain { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1rem 1.1rem; }
.p-product-neo120 .facet-domain h3 { font-size: .85rem; font-weight: 700; margin-bottom: .2rem; }
.p-product-neo120 .facet-domain .fd-sub { font-size: .72rem; color: var(--muted); line-height: 1.45; margin-bottom: .6rem; }
.p-product-neo120 .facet-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .25rem .75rem; }
.p-product-neo120 .facet-list li { font-size: .76rem; color: var(--text); position: relative; padding-left: .8rem; }
.p-product-neo120 .facet-list li::before { content: "\2022"; position: absolute; left: 0; color: var(--muted); }
@media (max-width: 640px) {
  .p-product-neo120 .prod-hero { grid-template-columns: 1fr; gap: 1.5rem; }
}
.p-product-mini-ipip .prod-wrap { max-width: 56rem; margin: 0 auto; padding: 4rem 0 5rem; }
.p-product-mini-ipip .prod-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; padding: 2rem 0 3rem; border-bottom: 1px solid var(--border); margin-bottom: 3rem; }
.p-product-mini-ipip .prod-hero h1 { font-size: clamp(1.5rem,3.5vw,2rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; margin-bottom: .5rem; }
.p-product-mini-ipip .prod-hero .sub { font-size: .85rem; color: var(--muted); line-height: 1.6; margin-bottom: 1.25rem; }
.p-product-mini-ipip .prod-hero .tag { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; border: 1px solid hsl(210 48% 92%); border-radius: 4px; padding: .15rem .5rem; color: hsl(210 50% 33%); display: inline-block; margin-bottom: .75rem; }
.p-product-mini-ipip .free-badge { display: inline-block; background: hsl(145 48% 92%); border: 1px solid hsl(145 48% 92%); border-radius: 6px; padding: .25rem .75rem; font-size: .78rem; font-weight: 700; color: hsl(145 60% 33%); margin-bottom: 1rem; }
.p-product-mini-ipip .prod-hero .cta-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.p-product-mini-ipip .cta-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.p-product-mini-ipip .pm-section { margin-bottom: 2.5rem; }
.p-product-mini-ipip .pm-section h2 { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: 1rem; padding-bottom: .4rem; border-bottom: 1px solid var(--border); }
.p-product-mini-ipip .stat-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(9rem,1fr)); gap: .6rem; }
.p-product-mini-ipip .stat-chip { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: .8rem; }
.p-product-mini-ipip .stat-chip .s-label { font-size: .7rem; color: var(--muted); margin-bottom: .15rem; }
.p-product-mini-ipip .stat-chip .s-val { font-size: .85rem; font-weight: 700; }
.p-product-mini-ipip .desc-block { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.1rem 1.25rem; margin-bottom: 1rem; }
.p-product-mini-ipip .desc-block p { font-size: .84rem; color: var(--muted); line-height: 1.7; margin-bottom: .65rem; }
.p-product-mini-ipip .desc-block p:last-child { margin-bottom: 0; }
.p-product-mini-ipip .desc-block cite { display: block; margin-top: .5rem; font-size: .78rem; color: var(--muted); font-style: normal; }
.p-product-mini-ipip .domain-stack { display: flex; flex-direction: column; gap: .5rem; }
.p-product-mini-ipip .domain-card { border: 1px solid var(--border-strong); border-left-width: 3px; border-radius: 8px; background: var(--surface); padding: .7rem .85rem; }
.p-product-mini-ipip .domain-card h3 { font-size: .78rem; font-weight: 700; margin-bottom: .2rem; }
.p-product-mini-ipip .domain-card p { font-size: .7rem; color: var(--muted); line-height: 1.5; margin: 0; }
.p-product-mini-ipip .domain-card.d-n { border-left-color: hsl(350 50% 55%); }
.p-product-mini-ipip .domain-card.d-n h3 { color: hsl(350 50% 38%); }
.p-product-mini-ipip .domain-card.d-e { border-left-color: hsl(38 75% 50%); }
.p-product-mini-ipip .domain-card.d-e h3 { color: hsl(38 70% 35%); }
.p-product-mini-ipip .domain-card.d-o { border-left-color: hsl(280 45% 55%); }
.p-product-mini-ipip .domain-card.d-o h3 { color: hsl(280 45% 40%); }
.p-product-mini-ipip .domain-card.d-a { border-left-color: hsl(145 50% 45%); }
.p-product-mini-ipip .domain-card.d-a h3 { color: hsl(145 55% 30%); }
.p-product-mini-ipip .domain-card.d-c { border-left-color: hsl(210 55% 50%); }
.p-product-mini-ipip .domain-card.d-c h3 { color: hsl(210 55% 35%); }
.p-product-mini-ipip .facet-domains { display: grid; grid-template-columns: repeat(auto-fit,minmax(15rem,1fr)); gap: .8rem; }
.p-product-mini-ipip .facet-domain { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1rem 1.1rem; }
.p-product-mini-ipip .facet-domain h3 { font-size: .85rem; font-weight: 700; margin-bottom: .2rem; }
.p-product-mini-ipip .facet-domain .fd-sub { font-size: .72rem; color: var(--muted); line-height: 1.45; margin-bottom: 0; }
@media (max-width: 640px) {
  .p-product-mini-ipip .prod-hero { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* New personality product pages — shared layout (same structure as product-neo120) */
.p-product-ipip-via-r .prod-wrap, .p-product-ipip-neo60 .prod-wrap, .p-product-ipip-ffm-markers .prod-wrap, .p-product-ipip-bfas .prod-wrap, .p-product-dmq-30 .prod-wrap, .p-product-efa-36 .prod-wrap, .p-product-ipip-work-styles .prod-wrap, .p-product-ipip-under-pressure .prod-wrap, .p-product-ipip-sixteen-factor .prod-wrap, .p-product-panas-state .prod-wrap, .p-product-panas-trait .prod-wrap { max-width: 56rem; margin: 0 auto; padding: 4rem 0 5rem; }
.p-product-ipip-via-r .prod-hero, .p-product-ipip-neo60 .prod-hero, .p-product-ipip-ffm-markers .prod-hero, .p-product-ipip-bfas .prod-hero, .p-product-dmq-30 .prod-hero, .p-product-efa-36 .prod-hero, .p-product-ipip-work-styles .prod-hero, .p-product-ipip-under-pressure .prod-hero, .p-product-ipip-sixteen-factor .prod-hero, .p-product-panas-state .prod-hero, .p-product-panas-trait .prod-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; padding: 2rem 0 3rem; border-bottom: 1px solid var(--border); margin-bottom: 3rem; }
.p-product-ipip-via-r .prod-hero h1, .p-product-ipip-neo60 .prod-hero h1, .p-product-ipip-ffm-markers .prod-hero h1, .p-product-ipip-bfas .prod-hero h1, .p-product-dmq-30 .prod-hero h1, .p-product-efa-36 .prod-hero h1, .p-product-ipip-work-styles .prod-hero h1, .p-product-ipip-under-pressure .prod-hero h1, .p-product-ipip-sixteen-factor .prod-hero h1, .p-product-panas-state .prod-hero h1, .p-product-panas-trait .prod-hero h1 { font-size: clamp(1.5rem,3.5vw,2rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; margin-bottom: .5rem; }
.p-product-ipip-via-r .prod-hero .sub, .p-product-ipip-neo60 .prod-hero .sub, .p-product-ipip-ffm-markers .prod-hero .sub, .p-product-ipip-bfas .prod-hero .sub, .p-product-dmq-30 .prod-hero .sub, .p-product-efa-36 .prod-hero .sub, .p-product-ipip-work-styles .prod-hero .sub, .p-product-ipip-under-pressure .prod-hero .sub, .p-product-ipip-sixteen-factor .prod-hero .sub, .p-product-panas-state .prod-hero .sub, .p-product-panas-trait .prod-hero .sub { font-size: .85rem; color: var(--muted); line-height: 1.6; margin-bottom: 1.25rem; }
.p-product-ipip-via-r .prod-hero .tag, .p-product-ipip-neo60 .prod-hero .tag, .p-product-ipip-ffm-markers .prod-hero .tag, .p-product-ipip-bfas .prod-hero .tag, .p-product-dmq-30 .prod-hero .tag, .p-product-efa-36 .prod-hero .tag, .p-product-ipip-work-styles .prod-hero .tag, .p-product-ipip-under-pressure .prod-hero .tag, .p-product-ipip-sixteen-factor .prod-hero .tag, .p-product-panas-state .prod-hero .tag, .p-product-panas-trait .prod-hero .tag { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; border: 1px solid hsl(210 48% 92%); border-radius: 4px; padding: .15rem .5rem; color: hsl(210 50% 33%); display: inline-block; margin-bottom: .75rem; }
.p-product-ipip-via-r .free-badge, .p-product-ipip-neo60 .free-badge, .p-product-ipip-ffm-markers .free-badge, .p-product-ipip-bfas .free-badge, .p-product-dmq-30 .free-badge, .p-product-efa-36 .free-badge, .p-product-ipip-work-styles .free-badge, .p-product-ipip-under-pressure .free-badge, .p-product-ipip-sixteen-factor .free-badge, .p-product-panas-state .free-badge, .p-product-panas-trait .free-badge { display: inline-block; background: hsl(145 48% 92%); border: 1px solid hsl(145 48% 92%); border-radius: 6px; padding: .25rem .75rem; font-size: .78rem; font-weight: 700; color: hsl(145 60% 33%); margin-bottom: 1rem; }
.p-product-ipip-via-r .prod-hero .cta-row, .p-product-ipip-neo60 .prod-hero .cta-row, .p-product-ipip-ffm-markers .prod-hero .cta-row, .p-product-ipip-bfas .prod-hero .cta-row, .p-product-dmq-30 .prod-hero .cta-row, .p-product-efa-36 .prod-hero .cta-row, .p-product-ipip-work-styles .prod-hero .cta-row, .p-product-ipip-under-pressure .prod-hero .cta-row, .p-product-ipip-sixteen-factor .prod-hero .cta-row, .p-product-panas-state .prod-hero .cta-row, .p-product-panas-trait .prod-hero .cta-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.p-product-ipip-via-r .cta-row, .p-product-ipip-neo60 .cta-row, .p-product-ipip-ffm-markers .cta-row, .p-product-ipip-bfas .cta-row, .p-product-dmq-30 .cta-row, .p-product-efa-36 .cta-row, .p-product-ipip-work-styles .cta-row, .p-product-ipip-under-pressure .cta-row, .p-product-ipip-sixteen-factor .cta-row, .p-product-panas-state .cta-row, .p-product-panas-trait .cta-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.p-product-ipip-via-r .pm-section, .p-product-ipip-neo60 .pm-section, .p-product-ipip-ffm-markers .pm-section, .p-product-ipip-bfas .pm-section, .p-product-dmq-30 .pm-section, .p-product-efa-36 .pm-section, .p-product-ipip-work-styles .pm-section, .p-product-ipip-under-pressure .pm-section, .p-product-ipip-sixteen-factor .pm-section, .p-product-panas-state .pm-section, .p-product-panas-trait .pm-section { margin-bottom: 2.5rem; }
.p-product-ipip-via-r .pm-section h2, .p-product-ipip-neo60 .pm-section h2, .p-product-ipip-ffm-markers .pm-section h2, .p-product-ipip-bfas .pm-section h2, .p-product-dmq-30 .pm-section h2, .p-product-efa-36 .pm-section h2, .p-product-ipip-work-styles .pm-section h2, .p-product-ipip-under-pressure .pm-section h2, .p-product-ipip-sixteen-factor .pm-section h2, .p-product-panas-state .pm-section h2, .p-product-panas-trait .pm-section h2 { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: 1rem; padding-bottom: .4rem; border-bottom: 1px solid var(--border); }
.p-product-ipip-via-r .stat-grid, .p-product-ipip-neo60 .stat-grid, .p-product-ipip-ffm-markers .stat-grid, .p-product-ipip-bfas .stat-grid, .p-product-dmq-30 .stat-grid, .p-product-efa-36 .stat-grid, .p-product-ipip-work-styles .stat-grid, .p-product-ipip-under-pressure .stat-grid, .p-product-ipip-sixteen-factor .stat-grid, .p-product-panas-state .stat-grid, .p-product-panas-trait .stat-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(9rem,1fr)); gap: .6rem; }
.p-product-ipip-via-r .stat-chip, .p-product-ipip-neo60 .stat-chip, .p-product-ipip-ffm-markers .stat-chip, .p-product-ipip-bfas .stat-chip, .p-product-dmq-30 .stat-chip, .p-product-efa-36 .stat-chip, .p-product-ipip-work-styles .stat-chip, .p-product-ipip-under-pressure .stat-chip, .p-product-ipip-sixteen-factor .stat-chip, .p-product-panas-state .stat-chip, .p-product-panas-trait .stat-chip { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: .8rem; }
.p-product-ipip-via-r .stat-chip .s-label, .p-product-ipip-neo60 .stat-chip .s-label, .p-product-ipip-ffm-markers .stat-chip .s-label, .p-product-ipip-bfas .stat-chip .s-label, .p-product-dmq-30 .stat-chip .s-label, .p-product-efa-36 .stat-chip .s-label, .p-product-ipip-work-styles .stat-chip .s-label, .p-product-ipip-under-pressure .stat-chip .s-label, .p-product-ipip-sixteen-factor .stat-chip .s-label, .p-product-panas-state .stat-chip .s-label, .p-product-panas-trait .stat-chip .s-label { font-size: .7rem; color: var(--muted); margin-bottom: .15rem; }
.p-product-ipip-via-r .stat-chip .s-val, .p-product-ipip-neo60 .stat-chip .s-val, .p-product-ipip-ffm-markers .stat-chip .s-val, .p-product-ipip-bfas .stat-chip .s-val, .p-product-dmq-30 .stat-chip .s-val, .p-product-efa-36 .stat-chip .s-val, .p-product-ipip-work-styles .stat-chip .s-val, .p-product-ipip-under-pressure .stat-chip .s-val, .p-product-ipip-sixteen-factor .stat-chip .s-val, .p-product-panas-state .stat-chip .s-val, .p-product-panas-trait .stat-chip .s-val { font-size: .85rem; font-weight: 700; }
.p-product-ipip-via-r .desc-block, .p-product-ipip-neo60 .desc-block, .p-product-ipip-ffm-markers .desc-block, .p-product-ipip-bfas .desc-block, .p-product-dmq-30 .desc-block, .p-product-efa-36 .desc-block, .p-product-ipip-work-styles .desc-block, .p-product-ipip-under-pressure .desc-block, .p-product-ipip-sixteen-factor .desc-block, .p-product-panas-state .desc-block, .p-product-panas-trait .desc-block { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.1rem 1.25rem; margin-bottom: 1rem; }
.p-product-ipip-via-r .desc-block p, .p-product-ipip-neo60 .desc-block p, .p-product-ipip-ffm-markers .desc-block p, .p-product-ipip-bfas .desc-block p, .p-product-dmq-30 .desc-block p, .p-product-efa-36 .desc-block p, .p-product-ipip-work-styles .desc-block p, .p-product-ipip-under-pressure .desc-block p, .p-product-ipip-sixteen-factor .desc-block p, .p-product-panas-state .desc-block p, .p-product-panas-trait .desc-block p { font-size: .84rem; color: var(--muted); line-height: 1.7; margin-bottom: .65rem; }
.p-product-ipip-via-r .desc-block p:last-child, .p-product-ipip-neo60 .desc-block p:last-child, .p-product-ipip-ffm-markers .desc-block p:last-child, .p-product-ipip-bfas .desc-block p:last-child, .p-product-dmq-30 .desc-block p:last-child, .p-product-efa-36 .desc-block p:last-child, .p-product-ipip-work-styles .desc-block p:last-child, .p-product-ipip-under-pressure .desc-block p:last-child, .p-product-ipip-sixteen-factor .desc-block p:last-child, .p-product-panas-state .desc-block p:last-child, .p-product-panas-trait .desc-block p:last-child { margin-bottom: 0; }
.p-product-ipip-via-r .desc-block cite, .p-product-ipip-neo60 .desc-block cite, .p-product-ipip-ffm-markers .desc-block cite, .p-product-ipip-bfas .desc-block cite, .p-product-dmq-30 .desc-block cite, .p-product-efa-36 .desc-block cite, .p-product-ipip-work-styles .desc-block cite, .p-product-ipip-under-pressure .desc-block cite, .p-product-ipip-sixteen-factor .desc-block cite, .p-product-panas-state .desc-block cite, .p-product-panas-trait .desc-block cite { display: block; margin-top: .5rem; font-size: .78rem; color: var(--muted); font-style: normal; }
.p-product-ipip-via-r .domain-stack, .p-product-ipip-neo60 .domain-stack, .p-product-ipip-ffm-markers .domain-stack, .p-product-ipip-bfas .domain-stack, .p-product-dmq-30 .domain-stack, .p-product-efa-36 .domain-stack, .p-product-ipip-work-styles .domain-stack, .p-product-ipip-under-pressure .domain-stack, .p-product-ipip-sixteen-factor .domain-stack, .p-product-panas-state .domain-stack, .p-product-panas-trait .domain-stack { display: flex; flex-direction: column; gap: .5rem; }
.p-product-ipip-via-r .domain-card, .p-product-ipip-neo60 .domain-card, .p-product-ipip-ffm-markers .domain-card, .p-product-ipip-bfas .domain-card, .p-product-dmq-30 .domain-card, .p-product-efa-36 .domain-card, .p-product-ipip-work-styles .domain-card, .p-product-ipip-under-pressure .domain-card, .p-product-ipip-sixteen-factor .domain-card, .p-product-panas-state .domain-card, .p-product-panas-trait .domain-card { border: 1px solid var(--border-strong); border-left-width: 3px; border-radius: 8px; background: var(--surface); padding: .7rem .85rem; }
.p-product-ipip-via-r .domain-card h3, .p-product-ipip-neo60 .domain-card h3, .p-product-ipip-ffm-markers .domain-card h3, .p-product-ipip-bfas .domain-card h3, .p-product-dmq-30 .domain-card h3, .p-product-efa-36 .domain-card h3, .p-product-ipip-work-styles .domain-card h3, .p-product-ipip-under-pressure .domain-card h3, .p-product-ipip-sixteen-factor .domain-card h3, .p-product-panas-state .domain-card h3, .p-product-panas-trait .domain-card h3 { font-size: .78rem; font-weight: 700; margin-bottom: .2rem; }
.p-product-ipip-via-r .domain-card p, .p-product-ipip-neo60 .domain-card p, .p-product-ipip-ffm-markers .domain-card p, .p-product-ipip-bfas .domain-card p, .p-product-dmq-30 .domain-card p, .p-product-efa-36 .domain-card p, .p-product-ipip-work-styles .domain-card p, .p-product-ipip-under-pressure .domain-card p, .p-product-ipip-sixteen-factor .domain-card p, .p-product-panas-state .domain-card p, .p-product-panas-trait .domain-card p { font-size: .7rem; color: var(--muted); line-height: 1.5; margin: 0; }
.p-product-ipip-via-r .domain-card.d-n, .p-product-ipip-neo60 .domain-card.d-n, .p-product-ipip-ffm-markers .domain-card.d-n, .p-product-ipip-bfas .domain-card.d-n, .p-product-dmq-30 .domain-card.d-n, .p-product-efa-36 .domain-card.d-n, .p-product-ipip-work-styles .domain-card.d-n, .p-product-ipip-under-pressure .domain-card.d-n, .p-product-ipip-sixteen-factor .domain-card.d-n, .p-product-panas-state .domain-card.d-n, .p-product-panas-trait .domain-card.d-n { border-left-color: hsl(350 50% 55%); }
.p-product-ipip-via-r .domain-card.d-n h3, .p-product-ipip-neo60 .domain-card.d-n h3, .p-product-ipip-ffm-markers .domain-card.d-n h3, .p-product-ipip-bfas .domain-card.d-n h3, .p-product-dmq-30 .domain-card.d-n h3, .p-product-efa-36 .domain-card.d-n h3, .p-product-ipip-work-styles .domain-card.d-n h3, .p-product-ipip-under-pressure .domain-card.d-n h3, .p-product-ipip-sixteen-factor .domain-card.d-n h3, .p-product-panas-state .domain-card.d-n h3, .p-product-panas-trait .domain-card.d-n h3 { color: hsl(350 50% 38%); }
.p-product-ipip-via-r .domain-card.d-e, .p-product-ipip-neo60 .domain-card.d-e, .p-product-ipip-ffm-markers .domain-card.d-e, .p-product-ipip-bfas .domain-card.d-e, .p-product-dmq-30 .domain-card.d-e, .p-product-efa-36 .domain-card.d-e, .p-product-ipip-work-styles .domain-card.d-e, .p-product-ipip-under-pressure .domain-card.d-e, .p-product-ipip-sixteen-factor .domain-card.d-e, .p-product-panas-state .domain-card.d-e, .p-product-panas-trait .domain-card.d-e { border-left-color: hsl(38 75% 50%); }
.p-product-ipip-via-r .domain-card.d-e h3, .p-product-ipip-neo60 .domain-card.d-e h3, .p-product-ipip-ffm-markers .domain-card.d-e h3, .p-product-ipip-bfas .domain-card.d-e h3, .p-product-dmq-30 .domain-card.d-e h3, .p-product-efa-36 .domain-card.d-e h3, .p-product-ipip-work-styles .domain-card.d-e h3, .p-product-ipip-under-pressure .domain-card.d-e h3, .p-product-ipip-sixteen-factor .domain-card.d-e h3, .p-product-panas-state .domain-card.d-e h3, .p-product-panas-trait .domain-card.d-e h3 { color: hsl(38 70% 35%); }
.p-product-ipip-via-r .domain-card.d-o, .p-product-ipip-neo60 .domain-card.d-o, .p-product-ipip-ffm-markers .domain-card.d-o, .p-product-ipip-bfas .domain-card.d-o, .p-product-dmq-30 .domain-card.d-o, .p-product-efa-36 .domain-card.d-o, .p-product-ipip-work-styles .domain-card.d-o, .p-product-ipip-under-pressure .domain-card.d-o, .p-product-ipip-sixteen-factor .domain-card.d-o, .p-product-panas-state .domain-card.d-o, .p-product-panas-trait .domain-card.d-o { border-left-color: hsl(280 45% 55%); }
.p-product-ipip-via-r .domain-card.d-o h3, .p-product-ipip-neo60 .domain-card.d-o h3, .p-product-ipip-ffm-markers .domain-card.d-o h3, .p-product-ipip-bfas .domain-card.d-o h3, .p-product-dmq-30 .domain-card.d-o h3, .p-product-efa-36 .domain-card.d-o h3, .p-product-ipip-work-styles .domain-card.d-o h3, .p-product-ipip-under-pressure .domain-card.d-o h3, .p-product-ipip-sixteen-factor .domain-card.d-o h3, .p-product-panas-state .domain-card.d-o h3, .p-product-panas-trait .domain-card.d-o h3 { color: hsl(280 45% 40%); }
.p-product-ipip-via-r .domain-card.d-a, .p-product-ipip-neo60 .domain-card.d-a, .p-product-ipip-ffm-markers .domain-card.d-a, .p-product-ipip-bfas .domain-card.d-a, .p-product-dmq-30 .domain-card.d-a, .p-product-efa-36 .domain-card.d-a, .p-product-ipip-work-styles .domain-card.d-a, .p-product-ipip-under-pressure .domain-card.d-a, .p-product-ipip-sixteen-factor .domain-card.d-a, .p-product-panas-state .domain-card.d-a, .p-product-panas-trait .domain-card.d-a { border-left-color: hsl(145 50% 45%); }
.p-product-ipip-via-r .domain-card.d-a h3, .p-product-ipip-neo60 .domain-card.d-a h3, .p-product-ipip-ffm-markers .domain-card.d-a h3, .p-product-ipip-bfas .domain-card.d-a h3, .p-product-dmq-30 .domain-card.d-a h3, .p-product-efa-36 .domain-card.d-a h3, .p-product-ipip-work-styles .domain-card.d-a h3, .p-product-ipip-under-pressure .domain-card.d-a h3, .p-product-ipip-sixteen-factor .domain-card.d-a h3, .p-product-panas-state .domain-card.d-a h3, .p-product-panas-trait .domain-card.d-a h3 { color: hsl(145 55% 30%); }
.p-product-ipip-via-r .domain-card.d-c, .p-product-ipip-neo60 .domain-card.d-c, .p-product-ipip-ffm-markers .domain-card.d-c, .p-product-ipip-bfas .domain-card.d-c, .p-product-dmq-30 .domain-card.d-c, .p-product-efa-36 .domain-card.d-c, .p-product-ipip-work-styles .domain-card.d-c, .p-product-ipip-under-pressure .domain-card.d-c, .p-product-ipip-sixteen-factor .domain-card.d-c, .p-product-panas-state .domain-card.d-c, .p-product-panas-trait .domain-card.d-c { border-left-color: hsl(210 55% 50%); }
.p-product-ipip-via-r .domain-card.d-c h3, .p-product-ipip-neo60 .domain-card.d-c h3, .p-product-ipip-ffm-markers .domain-card.d-c h3, .p-product-ipip-bfas .domain-card.d-c h3, .p-product-dmq-30 .domain-card.d-c h3, .p-product-efa-36 .domain-card.d-c h3, .p-product-ipip-work-styles .domain-card.d-c h3, .p-product-ipip-under-pressure .domain-card.d-c h3, .p-product-ipip-sixteen-factor .domain-card.d-c h3, .p-product-panas-state .domain-card.d-c h3, .p-product-panas-trait .domain-card.d-c h3 { color: hsl(210 55% 35%); }
.p-product-ipip-via-r .facet-domains, .p-product-ipip-neo60 .facet-domains, .p-product-ipip-ffm-markers .facet-domains, .p-product-ipip-bfas .facet-domains, .p-product-dmq-30 .facet-domains, .p-product-efa-36 .facet-domains, .p-product-ipip-work-styles .facet-domains, .p-product-ipip-under-pressure .facet-domains, .p-product-ipip-sixteen-factor .facet-domains, .p-product-panas-state .facet-domains, .p-product-panas-trait .facet-domains { display: grid; grid-template-columns: repeat(auto-fit,minmax(15rem,1fr)); gap: .8rem; }
.p-product-ipip-via-r .facet-domain, .p-product-ipip-neo60 .facet-domain, .p-product-ipip-ffm-markers .facet-domain, .p-product-ipip-bfas .facet-domain, .p-product-dmq-30 .facet-domain, .p-product-efa-36 .facet-domain, .p-product-ipip-work-styles .facet-domain, .p-product-ipip-under-pressure .facet-domain, .p-product-ipip-sixteen-factor .facet-domain, .p-product-panas-state .facet-domain, .p-product-panas-trait .facet-domain { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1rem 1.1rem; }
.p-product-ipip-via-r .facet-domain h3, .p-product-ipip-neo60 .facet-domain h3, .p-product-ipip-ffm-markers .facet-domain h3, .p-product-ipip-bfas .facet-domain h3, .p-product-dmq-30 .facet-domain h3, .p-product-efa-36 .facet-domain h3, .p-product-ipip-work-styles .facet-domain h3, .p-product-ipip-under-pressure .facet-domain h3, .p-product-ipip-sixteen-factor .facet-domain h3, .p-product-panas-state .facet-domain h3, .p-product-panas-trait .facet-domain h3 { font-size: .85rem; font-weight: 700; margin-bottom: .2rem; }
.p-product-ipip-via-r .facet-domain .fd-sub, .p-product-ipip-neo60 .facet-domain .fd-sub, .p-product-ipip-ffm-markers .facet-domain .fd-sub, .p-product-ipip-bfas .facet-domain .fd-sub, .p-product-dmq-30 .facet-domain .fd-sub, .p-product-efa-36 .facet-domain .fd-sub, .p-product-ipip-work-styles .facet-domain .fd-sub, .p-product-ipip-under-pressure .facet-domain .fd-sub, .p-product-ipip-sixteen-factor .facet-domain .fd-sub, .p-product-panas-state .facet-domain .fd-sub, .p-product-panas-trait .facet-domain .fd-sub { font-size: .72rem; color: var(--muted); line-height: 1.45; margin-bottom: .6rem; }
.p-product-ipip-via-r .facet-list, .p-product-ipip-neo60 .facet-list, .p-product-ipip-ffm-markers .facet-list, .p-product-ipip-bfas .facet-list, .p-product-dmq-30 .facet-list, .p-product-efa-36 .facet-list, .p-product-ipip-work-styles .facet-list, .p-product-ipip-under-pressure .facet-list, .p-product-ipip-sixteen-factor .facet-list, .p-product-panas-state .facet-list, .p-product-panas-trait .facet-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .25rem .75rem; }
.p-product-ipip-via-r .facet-list li, .p-product-ipip-neo60 .facet-list li, .p-product-ipip-ffm-markers .facet-list li, .p-product-ipip-bfas .facet-list li, .p-product-dmq-30 .facet-list li, .p-product-efa-36 .facet-list li, .p-product-ipip-work-styles .facet-list li, .p-product-ipip-under-pressure .facet-list li, .p-product-ipip-sixteen-factor .facet-list li, .p-product-panas-state .facet-list li, .p-product-panas-trait .facet-list li { font-size: .76rem; color: var(--text); position: relative; padding-left: .8rem; }
.p-product-ipip-via-r .facet-list li::before, .p-product-ipip-neo60 .facet-list li::before, .p-product-ipip-ffm-markers .facet-list li::before, .p-product-ipip-bfas .facet-list li::before, .p-product-dmq-30 .facet-list li::before, .p-product-efa-36 .facet-list li::before, .p-product-ipip-work-styles .facet-list li::before, .p-product-ipip-under-pressure .facet-list li::before, .p-product-ipip-sixteen-factor .facet-list li::before, .p-product-panas-state .facet-list li::before, .p-product-panas-trait .facet-list li::before { content: "\2022"; position: absolute; left: 0; color: var(--muted); }
@media (max-width: 640px) {
  .p-product-ipip-via-r .prod-hero, .p-product-ipip-neo60 .prod-hero, .p-product-ipip-ffm-markers .prod-hero, .p-product-ipip-bfas .prod-hero, .p-product-dmq-30 .prod-hero, .p-product-efa-36 .prod-hero, .p-product-ipip-work-styles .prod-hero, .p-product-ipip-under-pressure .prod-hero, .p-product-ipip-sixteen-factor .prod-hero, .p-product-panas-state .prod-hero, .p-product-panas-trait .prod-hero { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* IPIP single-construct scales grouped page */
.p-product-ipip-scales .prod-wrap { max-width: 56rem; margin: 0 auto; padding: 4rem 0 5rem; }
.p-product-ipip-scales .prod-hero-simple { padding: 2rem 0 3rem; border-bottom: 1px solid var(--border); margin-bottom: 3rem; }
.p-product-ipip-scales .prod-hero-simple h1 { font-size: clamp(1.5rem,3.5vw,2rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; margin-bottom: .5rem; }
.p-product-ipip-scales .prod-hero-simple .sub { font-size: .85rem; color: var(--muted); line-height: 1.6; margin-bottom: 1.25rem; max-width: 56ch; }
.p-product-ipip-scales .prod-hero-simple .tag { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; border: 1px solid hsl(210 48% 92%); border-radius: 4px; padding: .15rem .5rem; color: hsl(210 50% 33%); display: inline-block; margin-bottom: .75rem; }
.p-product-ipip-scales .free-badge { display: inline-block; background: hsl(145 48% 92%); border: 1px solid hsl(145 48% 92%); border-radius: 6px; padding: .25rem .75rem; font-size: .78rem; font-weight: 700; color: hsl(145 60% 33%); margin-bottom: 1rem; }
.p-product-ipip-scales .cta-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.p-product-ipip-scales .pm-section { margin-bottom: 2.5rem; }
.p-product-ipip-scales .pm-section h2 { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: 1rem; padding-bottom: .4rem; border-bottom: 1px solid var(--border); }
.p-product-ipip-scales .desc-block { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.1rem 1.25rem; margin-bottom: 1rem; }
.p-product-ipip-scales .desc-block p { font-size: .84rem; color: var(--muted); line-height: 1.7; margin-bottom: .65rem; }
.p-product-ipip-scales .desc-block p:last-child { margin-bottom: 0; }
.p-product-ipip-scales .desc-block cite { display: block; margin-top: .5rem; font-size: .78rem; color: var(--muted); font-style: normal; }
.p-product-ipip-scales .scale-list { display: flex; flex-direction: column; gap: .4rem; }
.p-product-ipip-scales .scale-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: .75rem 1rem; text-decoration: none; color: inherit; transition: border-color .15s; }
.p-product-ipip-scales .scale-row:hover { border-color: var(--border-strong); }
.p-product-ipip-scales .scale-info h3 { font-size: .85rem; font-weight: 700; margin-bottom: .1rem; }
.p-product-ipip-scales .scale-info p { font-size: .75rem; color: var(--muted); margin: 0; }
.p-product-ipip-scales .scale-go { font-size: .78rem; font-weight: 600; color: var(--muted); white-space: nowrap; flex-shrink: 0; }
.p-product-ipip-scales .scale-row:hover .scale-go { color: var(--text); }

/* Wellbeing / affect screening product pages (PSS-10, WHO-5, K10) */
.p-product-pss-10 .prod-wrap, .p-product-who-5 .prod-wrap, .p-product-k10 .prod-wrap { max-width: 56rem; margin: 0 auto; padding: 4rem 0 5rem; }
.p-product-pss-10 .prod-hero, .p-product-who-5 .prod-hero, .p-product-k10 .prod-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; padding: 2rem 0 3rem; border-bottom: 1px solid var(--border); margin-bottom: 3rem; }
.p-product-pss-10 .prod-hero h1, .p-product-who-5 .prod-hero h1, .p-product-k10 .prod-hero h1 { font-size: clamp(1.5rem,3.5vw,2rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.2; margin-bottom: .5rem; }
.p-product-pss-10 .prod-hero .sub, .p-product-who-5 .prod-hero .sub, .p-product-k10 .prod-hero .sub { font-size: .85rem; color: var(--muted); line-height: 1.6; margin-bottom: 1.25rem; }
.p-product-pss-10 .prod-hero .tag, .p-product-who-5 .prod-hero .tag, .p-product-k10 .prod-hero .tag { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; border: 1px solid hsl(210 48% 92%); border-radius: 4px; padding: .15rem .5rem; color: hsl(210 50% 33%); display: inline-block; margin-bottom: .75rem; }
.p-product-pss-10 .free-badge, .p-product-who-5 .free-badge, .p-product-k10 .free-badge { display: inline-block; background: hsl(145 48% 92%); border: 1px solid hsl(145 48% 92%); border-radius: 6px; padding: .25rem .75rem; font-size: .78rem; font-weight: 700; color: hsl(145 60% 33%); margin-bottom: 1rem; }
.p-product-pss-10 .prod-hero .cta-row, .p-product-who-5 .prod-hero .cta-row, .p-product-k10 .prod-hero .cta-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.p-product-pss-10 .cta-row, .p-product-who-5 .cta-row, .p-product-k10 .cta-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.p-product-pss-10 .pm-section, .p-product-who-5 .pm-section, .p-product-k10 .pm-section { margin-bottom: 2.5rem; }
.p-product-pss-10 .pm-section h2, .p-product-who-5 .pm-section h2, .p-product-k10 .pm-section h2 { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-bottom: 1rem; padding-bottom: .4rem; border-bottom: 1px solid var(--border); }
.p-product-pss-10 .stat-grid, .p-product-who-5 .stat-grid, .p-product-k10 .stat-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(9rem,1fr)); gap: .6rem; }
.p-product-pss-10 .stat-chip, .p-product-who-5 .stat-chip, .p-product-k10 .stat-chip { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: .8rem; }
.p-product-pss-10 .stat-chip .s-label, .p-product-who-5 .stat-chip .s-label, .p-product-k10 .stat-chip .s-label { font-size: .7rem; color: var(--muted); margin-bottom: .15rem; }
.p-product-pss-10 .stat-chip .s-val, .p-product-who-5 .stat-chip .s-val, .p-product-k10 .stat-chip .s-val { font-size: .85rem; font-weight: 700; }
.p-product-pss-10 .desc-block, .p-product-who-5 .desc-block, .p-product-k10 .desc-block { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 1.1rem 1.25rem; margin-bottom: 1rem; }
.p-product-pss-10 .desc-block p, .p-product-who-5 .desc-block p, .p-product-k10 .desc-block p { font-size: .84rem; color: var(--muted); line-height: 1.7; margin-bottom: .65rem; }
.p-product-pss-10 .desc-block p:last-child, .p-product-who-5 .desc-block p:last-child, .p-product-k10 .desc-block p:last-child { margin-bottom: 0; }
.p-product-pss-10 .desc-block cite, .p-product-who-5 .desc-block cite, .p-product-k10 .desc-block cite { display: block; margin-top: .5rem; font-size: .78rem; color: var(--muted); font-style: normal; }
.p-product-pss-10 .domain-stack, .p-product-who-5 .domain-stack, .p-product-k10 .domain-stack { display: flex; flex-direction: column; gap: .5rem; }
.p-product-pss-10 .domain-card, .p-product-who-5 .domain-card, .p-product-k10 .domain-card { border: 1px solid var(--border-strong); border-left-width: 3px; border-radius: 8px; background: var(--surface); padding: .7rem .85rem; }
.p-product-pss-10 .domain-card h3, .p-product-who-5 .domain-card h3, .p-product-k10 .domain-card h3 { font-size: .78rem; font-weight: 700; margin-bottom: .2rem; }
.p-product-pss-10 .domain-card p, .p-product-who-5 .domain-card p, .p-product-k10 .domain-card p { font-size: .7rem; color: var(--muted); line-height: 1.5; margin: 0; }
.p-product-pss-10 .domain-card.d-e, .p-product-who-5 .domain-card.d-e, .p-product-k10 .domain-card.d-e { border-left-color: hsl(145 50% 45%); }
.p-product-pss-10 .domain-card.d-e h3, .p-product-who-5 .domain-card.d-e h3, .p-product-k10 .domain-card.d-e h3 { color: hsl(145 55% 30%); }
.p-product-pss-10 .domain-card.d-m, .p-product-who-5 .domain-card.d-m, .p-product-k10 .domain-card.d-m { border-left-color: hsl(38 75% 50%); }
.p-product-pss-10 .domain-card.d-m h3, .p-product-who-5 .domain-card.d-m h3, .p-product-k10 .domain-card.d-m h3 { color: hsl(38 70% 35%); }
.p-product-pss-10 .domain-card.d-h, .p-product-who-5 .domain-card.d-h, .p-product-k10 .domain-card.d-h { border-left-color: hsl(22 80% 50%); }
.p-product-pss-10 .domain-card.d-h h3, .p-product-who-5 .domain-card.d-h h3, .p-product-k10 .domain-card.d-h h3 { color: hsl(22 75% 35%); }
.p-product-pss-10 .domain-card.d-n, .p-product-who-5 .domain-card.d-n, .p-product-k10 .domain-card.d-n { border-left-color: hsl(350 50% 55%); }
.p-product-pss-10 .domain-card.d-n h3, .p-product-who-5 .domain-card.d-n h3, .p-product-k10 .domain-card.d-n h3 { color: hsl(350 50% 38%); }
@media (max-width: 640px) {
  .p-product-pss-10 .prod-hero, .p-product-who-5 .prod-hero, .p-product-k10 .prod-hero { grid-template-columns: 1fr; gap: 1.5rem; }
}
