/* ==========================================================================
   HOMEPAGE — framed layout in Solum Health colors
   Scoped to body.home-frame so no other page is affected.
   Framed page, hairline rails, caps labels, dark statement band,
   lattice panels, split FAQ, dark footer.
   ========================================================================== */

body.home-frame {
    /* Brand tokens (solum-health-brand skill) */
    --navy: #011C40;
    --blue: #468AF7;
    --page: #F2F2F9;
    --lavender: #E5DFF4;
    --teal: #70D3C6;
    --purple: #A16CF4;
    --deep-purple: #462E7D;
    --ink: #011C40;
    --ink-2: rgba(1, 28, 64, 0.72);
    --ink-3: rgba(1, 28, 64, 0.55);
    --line: rgba(1, 28, 64, 0.12);
    --line-strong: rgba(1, 28, 64, 0.24);
    --line-dark: rgba(255, 255, 255, 0.12);
    --frame: 1280px;
    --gutter: 48px;

    /* Re-point the shared design variables for this page */
    --font: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-display: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-mono: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-heading: 'Montserrat', sans-serif;
    --purple-600: #011C40;
    --purple-500: #468AF7;
    --blue-500: #468AF7;
    --blue-600: #468AF7;
    --gray-900: #011C40;
    --gray-800: #011C40;
    --off-white: #F2F2F9;
    --radius: 2px;

    background: var(--page);
    color: var(--ink);
    font-family: var(--font);
}

/* Lattice pattern used on dark bands and illustration panels */
body.home-frame .hf-lattice,
body.home-frame .product-showcase-section::before,
body.home-frame .cta-section::before,
body.home-frame .security-credentials-row::before {
    background-image:
        repeating-linear-gradient(45deg, rgba(255,255,255,0.06) 0 1px, transparent 1px 120px),
        repeating-linear-gradient(-45deg, rgba(255,255,255,0.06) 0 1px, transparent 1px 120px);
}

/* ---------- Frame: every light section sits inside hairline rails ---------- */
body.home-frame .hf-frame,
body.home-frame .logos-section,
body.home-frame .solutions-section,
body.home-frame .testimonials-section,
body.home-frame .integrations-section,
body.home-frame .press-section,
body.home-frame .outcomes-section,
body.home-frame .investors-section,
body.home-frame .enterprise-security-section,
body.home-frame .faq-section,
body.home-frame .ask-ai-section {
    width: min(var(--frame), calc(100% - 32px));
    margin: 0 auto;
    background: #fff;
    border-left: 1px solid var(--line);
    border-right: 1px solid var(--line);
    padding: 0;
    position: relative;
    overflow: hidden;
}
body.home-frame .solutions-section > .container,
body.home-frame .testimonials-section > .container,
body.home-frame .integrations-section > .container,
body.home-frame .outcomes-section > .container,
body.home-frame .enterprise-security-section > .container,
body.home-frame .faq-section > .container,
body.home-frame .ask-ai-section > .container {
    max-width: none;
    padding: 112px var(--gutter);
}

/* Hatched gutters between sections */
body.home-frame .hatched-divider {
    width: min(var(--frame), calc(100% - 32px));
    margin: 0 auto;
    height: 40px;
    opacity: 1;
    border: 1px solid var(--line);
    border-width: 1px 1px 1px 1px;
    background: repeating-linear-gradient(135deg, var(--line) 0 1px, transparent 1px 7px);
    background-color: var(--page);
}

/* ---------- Typography ---------- */
body.home-frame .section-header {
    text-align: left;
    max-width: none;
    margin: 0 0 56px;
}
body.home-frame .section-label,
body.home-frame .section-label-light {
    font-family: var(--font);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-3);
    margin-bottom: 18px;
}
body.home-frame .section-title {
    font-family: var(--font);
    font-size: clamp(30px, 3.6vw, 48px);
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.1;
    color: var(--ink);
    max-width: 22ch;
}
body.home-frame .section-sub,
body.home-frame .section-sub-detail {
    font-size: 17px;
    color: var(--ink-2);
    margin-left: 0;
    margin-right: 0;
    max-width: 62ch;
}
body.home-frame .section-sub-bold {
    font-size: 17px;
    font-weight: 600;
    color: var(--ink-2);
}
body.home-frame .section-cta-wrap { text-align: left; }

/* ---------- Buttons: caps, square, navy ---------- */
body.home-frame .btn,
body.home-frame .btn-cta-main,
body.home-frame .btn-outline,
body.home-frame .hero-cta-row .btn-outline-hero,
body.home-frame .btn-outline-hero,
body.home-frame .btn-primary-pill,
body.home-frame .btn-accent,
body.home-frame .btn-int-cta {
    font-family: var(--font);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 2px;
    min-height: 42px;
    padding: 0 22px;
    line-height: 1;
    box-shadow: none;
    transform: none;
}
body.home-frame .btn-cta-main,
body.home-frame .btn-primary-pill,
body.home-frame .btn-accent,
body.home-frame .btn-int-cta {
    background: var(--navy);
    color: #fff;
    border: 1px solid var(--navy);
}
body.home-frame .btn-cta-main:hover,
body.home-frame .btn-primary-pill:hover,
body.home-frame .btn-accent:hover,
body.home-frame .btn-int-cta:hover {
    background: var(--blue);
    border-color: var(--blue);
    color: #fff;
    transform: none;
    box-shadow: none;
}
body.home-frame .btn-outline,
body.home-frame .btn-outline-hero,
body.home-frame .hero-cta-row .btn-outline-hero {
    background: #fff;
    color: var(--navy);
    border: 1px solid var(--line-strong);
}
body.home-frame .btn-outline:hover,
body.home-frame .btn-outline-hero:hover,
body.home-frame .hero-cta-row .btn-outline-hero:hover {
    border-color: var(--navy);
    background: #fff;
    color: var(--navy);
}

/* ---------- Navbar ---------- */
body.home-frame .navbar,
body.home-frame .navbar.scrolled {
    background: rgba(242, 242, 249, 0.92);
    border-bottom: 1px solid var(--line);
}
body.home-frame .navbar-inner { max-width: var(--frame); }
body.home-frame .nav-link {
    font-family: var(--font);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink-2);
    padding: 8px 12px;
}
body.home-frame .nav-link:hover,
body.home-frame .nav-link.active { color: var(--navy); background: transparent; }
body.home-frame .nav-link.active::after { display: none; }
body.home-frame .navbar-actions { display: flex; align-items: center; gap: 8px; }
body.home-frame .nav-text-cta {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--navy);
    padding: 12px 14px;
    white-space: nowrap;
}
body.home-frame .nav-text-cta:hover { color: var(--blue); }
body.home-frame .dropdown-item strong { font-family: var(--font); color: var(--navy); }

/* ---------- Hero ---------- */
body.home-frame .hero {
    width: min(var(--frame), calc(100% - 32px));
    margin: var(--nav-h) auto 0;
    padding: 112px var(--gutter) 104px;
    background: #fff;
    border-left: 1px solid var(--line);
    border-right: 1px solid var(--line);
}
/* Folded corner, top right */
body.home-frame .hero::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 64px;
    height: 64px;
    z-index: 3;
    border-left: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: linear-gradient(to bottom left, var(--page) calc(50% - 0.5px), var(--line-strong) 50%, #fff calc(50% + 0.5px));
}
body.home-frame .hero-wave { display: none; }
body.home-frame .hero-bg::after { animation: none; opacity: 0.8; }
body.home-frame .hero-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 32px;
    padding: 7px 14px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--deep-purple);
    background: var(--lavender);
    border: 1px solid rgba(70, 46, 125, 0.28);
    border-radius: 2px;
    transition: border-color 0.2s, color 0.2s;
}
body.home-frame .hero-pill:hover { border-color: var(--deep-purple); }
body.home-frame .hero-title {
    font-family: var(--font);
    font-size: clamp(40px, 5.6vw, 76px);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.06;
    color: var(--navy);
}
body.home-frame .hero-rotate-word {
    background: none;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    -webkit-text-fill-color: var(--blue);
    color: var(--blue);
}
body.home-frame .hero-subtitle {
    font-size: 18px;
    color: var(--ink-2);
    max-width: 560px;
}
body.home-frame .hero-cta-row .btn-cta-main,
body.home-frame .hero-cta-row .btn-outline-hero { padding: 0 24px; min-height: 46px; }
body.home-frame .hero-proof {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-3);
    gap: 8px 32px;
    margin-top: 40px;
}

/* ---------- Logos strip ---------- */
body.home-frame .logos-section {
    padding: 0;
    border-top: 1px solid var(--line);
}
body.home-frame .logos-label {
    font-family: var(--font);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-3);
    margin: 0;
    padding: 22px 0 18px;
    text-align: center;
}
body.home-frame .logos-section > .container { max-width: none; padding: 0; border-bottom: 1px solid var(--line); }
body.home-frame .logos-carousel { padding: 18px 0; border-bottom: 1px solid var(--line); }
body.home-frame .client-logo { height: 60px; filter: grayscale(100%); opacity: 0.7; }
body.home-frame .client-logo:hover { filter: none; opacity: 1; }
body.home-frame .logos-section > .container:last-child {
    border-bottom: 0;
    padding: 20px 0 !important;
    margin-top: 0 !important;
}

/* ---------- [01] Products: the dark statement band ---------- */
body.home-frame .product-showcase-section {
    position: relative;
    background: var(--navy);
    color: #fff;
    padding: 0;
    overflow: hidden;
}
body.home-frame .product-showcase-section::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
body.home-frame .product-showcase-section::after {
    content: '';
    position: absolute;
    left: 50%;
    top: -20%;
    width: 1100px;
    height: 700px;
    transform: translateX(-50%);
    background: radial-gradient(closest-side, rgba(70, 138, 247, 0.28), transparent);
    pointer-events: none;
    z-index: 0;
}
body.home-frame .product-showcase-section > .container {
    position: relative;
    z-index: 1;
    max-width: var(--frame);
    width: calc(100% - 32px);
    padding: 128px var(--gutter) 120px;
    border-left: 1px solid var(--line-dark);
    border-right: 1px solid var(--line-dark);
}
body.home-frame .product-showcase-section .section-header {
    text-align: center;
    margin: 0 auto 64px;
}
body.home-frame .product-showcase-section .section-label { color: rgba(255,255,255,0.6); }
body.home-frame .product-showcase-section .section-title {
    color: #fff;
    font-size: clamp(36px, 5.4vw, 72px);
    max-width: 18ch;
    margin: 0 auto 24px;
    letter-spacing: -0.035em;
}
body.home-frame .product-showcase-section .section-title .text-upper { color: var(--blue); }
body.home-frame .product-showcase-section .section-sub {
    color: rgba(255,255,255,0.72);
    margin: 0 auto;
}

/* Tab bar */
body.home-frame .product-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    border: 1px solid var(--line-dark);
    border-bottom: 0;
    overflow-x: auto;
    scrollbar-width: none;
}
body.home-frame .product-tabs::-webkit-scrollbar { display: none; }
body.home-frame .product-tab {
    padding: 16px 24px;
    border: 0;
    border-right: 1px solid var(--line-dark);
    border-radius: 0;
    background: transparent;
    color: rgba(255,255,255,0.6);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    white-space: nowrap;
}
body.home-frame .product-tab:last-child { border-right: 0; }
body.home-frame .product-tab:hover { color: #fff; background: rgba(255,255,255,0.04); }
body.home-frame .product-tab.active {
    color: #fff;
    background: rgba(70, 138, 247, 0.16);
    box-shadow: inset 0 -2px 0 var(--blue);
}
body.home-frame .product-tab::after { display: none; }

/* Panel: copy on top, full-width product replica below */
body.home-frame .product-frame-container {
    border: 1px solid var(--line-dark);
    background: rgba(255,255,255,0.02);
}
body.home-frame .product-panel.active {
    display: block;
}
body.home-frame .product-panel-info {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    column-gap: 64px;
    align-items: start;
    padding: 48px 48px 40px;
}
body.home-frame .product-panel-info h3 { grid-column: 1; }
body.home-frame .product-panel-info > p { grid-column: 1; margin-bottom: 0; }
body.home-frame .product-panel-info .product-features-list {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 24px;
    margin: 6px 0 24px;
}
body.home-frame .product-panel-info .product-features-list li { margin: 0; }
body.home-frame .product-panel-info > .btn { grid-column: 2; justify-self: start; }
body.home-frame .product-panel-info h3 {
    font-family: var(--font);
    font-size: clamp(24px, 2.4vw, 32px);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #fff;
}
body.home-frame .product-panel-info > p { color: rgba(255,255,255,0.72); font-size: 15px; }
body.home-frame .product-features-list li { color: rgba(255,255,255,0.88); }
body.home-frame .product-features-list li::before {
    top: 7px;
    border-radius: 0;
    background: transparent;
    border: 0;
    border-left: 2px solid var(--teal);
    border-bottom: 2px solid var(--teal);
    width: 10px;
    height: 5px;
    transform: rotate(-45deg);
}
body.home-frame .product-panel-info .btn-outline {
    background: transparent;
    color: #fff;
    border-color: rgba(255,255,255,0.4);
}
body.home-frame .product-panel-info .btn-outline:hover { border-color: #fff; color: #fff; background: transparent; }
body.home-frame .product-mockup {
    position: relative;
    padding: 48px;
    background-color: var(--blue);
    background-image:
        repeating-linear-gradient(45deg, rgba(255,255,255,0.16) 0 1px, transparent 1px 90px),
        repeating-linear-gradient(-45deg, rgba(255,255,255,0.16) 0 1px, transparent 1px 90px);
    border-top: 1px solid var(--line-dark);
    perspective: none;
}

/* ---------- [02] Solutions: hairline grid ---------- */
body.home-frame .solutions-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin: 0 calc(var(--gutter) * -1);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
body.home-frame .solution-card {
    border: 0;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    padding: 36px var(--gutter) 40px;
    background: #fff;
    box-shadow: none;
    transform: none;
}
body.home-frame .solution-card:nth-child(3n) { border-right: 0; }
body.home-frame .solution-card:nth-last-child(-n+3) { border-bottom: 0; }
body.home-frame .solution-card:hover { background: var(--page); transform: none; box-shadow: none; }
body.home-frame .solution-icon {
    width: 40px;
    height: 40px;
    border-radius: 2px;
    background: var(--page);
    color: var(--navy);
    border: 1px solid var(--line);
}
body.home-frame .solution-card h3 {
    font-family: var(--font);
    font-size: 18px;
    font-weight: 600;
    color: var(--navy);
    letter-spacing: -0.01em;
}
body.home-frame .solution-card p { color: var(--ink-2); font-size: 14px; }
body.home-frame .solution-card-link {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--blue);
}
body.home-frame .solutions-subline { text-align: left; color: var(--ink-2); margin-top: 32px; }
body.home-frame .solutions-subline a { color: var(--blue); }

/* ---------- [03] Success stories ---------- */
body.home-frame .testimonial-card {
    border: 1px solid var(--line);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}
body.home-frame .testimonial-card:hover { border-color: var(--line-strong); box-shadow: none; }
body.home-frame .tc-stars svg { fill: var(--blue); color: var(--blue); }
body.home-frame .tc-quote {
    font-family: var(--font);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--navy);
    font-style: normal;
}
body.home-frame .tc-author img { border-radius: 2px; }
body.home-frame .tc-author strong { color: var(--navy); }
body.home-frame .tc-author span { color: var(--ink-3); }

/* ---------- [04] Integrations: light logo grid ---------- */
body.home-frame .integrations-section { background: #fff; }
body.home-frame .integrations-section::before,
body.home-frame .integrations-section::after,
body.home-frame .int-lines { display: none; }
body.home-frame .integrations-section .section-label-light { color: var(--ink-3); }
body.home-frame .int-grid {
    max-width: none;
    margin: 0 calc(var(--gutter) * -1);
    gap: 0;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    grid-template-columns: repeat(5, 1fr);
}
body.home-frame .int-cell {
    background: #fff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    min-height: 120px;
}
body.home-frame .int-cell:nth-child(5n) { border-right: 0; }
body.home-frame .int-cell::after { display: none; }
body.home-frame .int-cell:hover { background: var(--page); }
body.home-frame .int-cell img,
body.home-frame .int-cell:hover img {
    filter: grayscale(100%);
    opacity: 0.75;
    transform: none;
}
body.home-frame .int-cell:hover img { filter: none; opacity: 1; }
body.home-frame .int-text-logo,
body.home-frame .int-cell-text:hover .int-text-logo {
    font-family: var(--font);
    color: var(--navy);
    opacity: 0.6;
    text-shadow: none;
}
body.home-frame .int-center-cell,
body.home-frame .int-center-cell:hover {
    background: #fff;
    background-image: repeating-linear-gradient(135deg, var(--line) 0 1px, transparent 1px 7px);
    border: 0;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
body.home-frame .int-center-cell > * { background: #fff; padding: 4px 12px; }
body.home-frame .int-tag {
    font-family: var(--font);
    background: #fff;
    color: var(--ink-3);
    font-weight: 600;
    letter-spacing: 0.14em;
    border-radius: 0;
}
body.home-frame .int-title { font-family: var(--font); font-weight: 600; color: var(--navy); letter-spacing: -0.02em; }
body.home-frame .int-badge,
body.home-frame .int-badge-pulse {
    color: var(--navy);
    background: var(--lavender);
    border: 1px solid rgba(70, 46, 125, 0.24);
    border-radius: 2px;
    animation: none;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
body.home-frame .int-cta-wrap { text-align: left; margin-top: 40px; }

/* ---------- Press + investors strips ---------- */
body.home-frame .press-section,
body.home-frame .investors-section { border-top: 1px solid var(--line); }
body.home-frame .press-section > .container,
body.home-frame .investors-section > .container {
    max-width: none;
    padding: 40px var(--gutter);
}
body.home-frame .press-label,
body.home-frame .investors-label {
    font-family: var(--font);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-3);
}
body.home-frame .press-logo,
body.home-frame .investor-logo { filter: grayscale(100%); opacity: 0.6; }
body.home-frame .press-logo:hover,
body.home-frame .investor-logo:hover { filter: none; opacity: 1; }

/* ---------- [05] Outcomes: numbers in a hairline grid ---------- */
body.home-frame .outcomes-section { background: #fff; }
body.home-frame .outcomes-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin: 0 calc(var(--gutter) * -1) 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
body.home-frame .outcome-card {
    border: 0;
    border-right: 1px solid var(--line);
    border-radius: 0;
    padding: 40px 32px;
    background: #fff;
    box-shadow: none;
}
body.home-frame .outcome-card:last-child { border-right: 0; }
body.home-frame .outcome-card::before,
body.home-frame .outcome-card::after { display: none; }
body.home-frame .outcome-card:hover { box-shadow: none; background: var(--page); }
body.home-frame .outcome-metric {
    font-family: var(--font);
    font-size: clamp(44px, 4.4vw, 60px);
    font-weight: 600;
    letter-spacing: -0.04em;
    color: var(--navy);
    background: none;
    -webkit-text-fill-color: var(--navy);
}
body.home-frame .outcome-metric-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--blue);
}
body.home-frame .outcome-card h3 { font-family: var(--font); font-size: 16px; font-weight: 600; color: var(--navy); }
body.home-frame .outcome-card p { font-size: 14px; color: var(--ink-2); }
body.home-frame .outcome-comparator {
    font-size: 12px;
    color: var(--ink-3);
    border-top: 1px dashed var(--line-strong);
    background: none;
    padding: 12px 0 0;
    border-radius: 0;
}
body.home-frame .outcomes-guarantee { margin: 0 calc(var(--gutter) * -1) -112px; }
body.home-frame .outcomes-guarantee-inner {
    background: var(--navy);
    color: #fff;
    border: 0;
    border-radius: 0;
    padding: 32px var(--gutter);
}
body.home-frame .outcomes-guarantee-inner::before { display: none; }
body.home-frame .outcomes-guarantee-text,
body.home-frame .outcomes-guarantee-text strong { color: #fff; }
body.home-frame .outcomes-guarantee .btn-accent { background: #fff; color: var(--navy); border-color: #fff; }
body.home-frame .outcomes-guarantee .btn-accent:hover { background: var(--blue); color: #fff; border-color: var(--blue); }
body.home-frame .outcomes-proof-link { color: rgba(255,255,255,0.8); }

/* ---------- [06] Enterprise ready: centered, navy lattice panel ---------- */
body.home-frame .enterprise-security-section .section-header { text-align: center; }
body.home-frame .enterprise-security-section .section-title { margin-left: auto; margin-right: auto; }
body.home-frame .enterprise-security-section .section-sub { margin: 0 auto; }
body.home-frame .enterprise-security-section .section-cta-wrap { text-align: center; }
body.home-frame .security-credentials-row {
    position: relative;
    max-width: none;
    background: var(--navy);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 56px 32px;
}
body.home-frame .security-credentials-row::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
}
body.home-frame .security-credential {
    position: relative;
    z-index: 1;
    border-right: 1px solid var(--line-dark);
    background: transparent;
}
body.home-frame .security-credential:last-child { border-right: 0; }
body.home-frame .security-credential:hover { background: rgba(255,255,255,0.04); }
body.home-frame .credential-icon { color: var(--blue); background: rgba(70,138,247,0.14); border-radius: 2px; }
body.home-frame .credential-label { color: #fff; font-family: var(--font); }
body.home-frame .credential-status,
body.home-frame .credential-status.highlight {
    color: var(--teal);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* ---------- [07] FAQ: split layout ---------- */
body.home-frame .faq-split {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: 0;
    padding: 0 !important;
}
body.home-frame .faq-intro {
    padding: 112px var(--gutter);
    border-right: 1px solid var(--line);
}
body.home-frame .faq-intro .section-header { margin-bottom: 32px; }
body.home-frame .faq-intro-ctas { display: flex; gap: 8px; flex-wrap: wrap; }
body.home-frame .faq-split .faq-list {
    max-width: none;
    margin: 0;
    padding: 112px var(--gutter);
    background: repeating-linear-gradient(135deg, var(--line) 0 1px, transparent 1px 7px);
    background-color: var(--page);
}
body.home-frame .faq-split .faq-item {
    background: #fff;
    border: 1px solid var(--line);
    border-top: 0;
}
body.home-frame .faq-split .faq-item:first-child { border-top: 1px solid var(--line); }
body.home-frame .faq-question {
    font-family: var(--font);
    font-size: 16px;
    font-weight: 600;
    color: var(--navy);
    padding: 22px 24px;
}
body.home-frame .faq-question:hover,
body.home-frame .faq-item.open .faq-chevron { color: var(--blue); }
body.home-frame .faq-answer { padding: 0 24px; }
body.home-frame .faq-item.open .faq-answer { padding: 0 24px 22px; }
body.home-frame .faq-answer p { color: var(--ink-2); }

/* ---------- [08] Ask AI ---------- */
body.home-frame .ask-ai-section > .container { text-align: center; }
body.home-frame .ask-ai-section .section-title { margin-left: auto; margin-right: auto; }
body.home-frame .ask-ai-section .section-sub { margin-left: auto; margin-right: auto; }
body.home-frame .ai-logo-icon { border-radius: 2px; }

/* ---------- Final CTA + footer: one continuous navy block ---------- */
body.home-frame .cta-section {
    background: var(--navy);
    border-top: 0;
    padding: 136px 24px 120px;
}
body.home-frame .cta-section::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
}
body.home-frame .cta-wave-canvas { display: none; }
body.home-frame .cta-content { position: relative; z-index: 1; }
body.home-frame .cta-content h2 {
    font-family: var(--font);
    font-size: clamp(34px, 5vw, 64px);
    font-weight: 600;
    letter-spacing: -0.035em;
    color: #fff;
}
body.home-frame .cta-content p { color: rgba(255,255,255,0.72); }
body.home-frame .cta-section .btn-cta-main { background: #fff; color: var(--navy); border-color: #fff; }
body.home-frame .cta-section .btn-cta-main:hover { background: var(--blue); color: #fff; border-color: var(--blue); }
body.home-frame .cta-section .btn-outline-hero {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255,255,255,0.4);
}
body.home-frame .cta-section .btn-outline-hero:hover { border-color: #fff; color: #fff; }
body.home-frame .cta-cert-badge {
    border-radius: 2px;
    border-color: var(--line-dark);
    background: rgba(255,255,255,0.03);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.75);
}

body.home-frame .footer {
    background: var(--navy);
    border-top: 1px solid var(--line-dark);
}
body.home-frame .footer-crosshatch { opacity: 0.5; }
body.home-frame .footer-inner { max-width: var(--frame); }
body.home-frame .footer-col h4 {
    font-family: var(--font);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: rgba(255,255,255,0.9);
}
body.home-frame .footer-col a {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.6);
}
body.home-frame .footer-col a:hover { color: #fff; }
body.home-frame .footer-watermark-svg text { stroke: rgba(255,255,255,0.1); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1024px) {
    body.home-frame { --gutter: 32px; }
    body.home-frame .outcomes-grid { grid-template-columns: repeat(2, 1fr); }
    body.home-frame .outcome-card:nth-child(2n) { border-right: 0; }
    body.home-frame .outcome-card:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    body.home-frame .product-panel-info { grid-template-columns: 1fr; }
    body.home-frame .product-panel-info .product-features-list,
    body.home-frame .product-panel-info > .btn { grid-column: 1; grid-row: auto; }
    body.home-frame .product-panel-info .product-features-list { margin-top: 24px; }
    body.home-frame .product-mockup { padding: 32px; }
    body.home-frame .nav-text-cta { display: none; }
}

@media (max-width: 768px) {
    body.home-frame { --gutter: 20px; }
    body.home-frame .hero { padding: 80px var(--gutter) 72px; }
    body.home-frame .hero::after { width: 40px; height: 40px; }
    body.home-frame .solutions-section > .container,
    body.home-frame .testimonials-section > .container,
    body.home-frame .integrations-section > .container,
    body.home-frame .outcomes-section > .container,
    body.home-frame .enterprise-security-section > .container,
    body.home-frame .ask-ai-section > .container { padding: 72px var(--gutter); }
    body.home-frame .outcomes-guarantee { margin-bottom: -72px; }
    body.home-frame .product-showcase-section > .container { padding: 88px var(--gutter) 72px; }
    body.home-frame .product-panel-info { padding: 32px var(--gutter); }
    body.home-frame .product-mockup { padding: 16px; }
    body.home-frame .product-panel-info .product-features-list { grid-template-columns: 1fr; }
    body.home-frame .product-tabs { width: 100%; justify-content: flex-start; }
    body.home-frame .product-tab { padding: 14px 16px; }

    body.home-frame .solutions-grid { grid-template-columns: 1fr; }
    body.home-frame .solution-card,
    body.home-frame .solution-card:nth-child(3n) { border-right: 0; border-bottom: 1px solid var(--line); padding: 28px var(--gutter); }
    body.home-frame .solution-card:last-child { border-bottom: 0; }

    body.home-frame .int-grid { grid-template-columns: repeat(2, 1fr); }
    body.home-frame .int-cell,
    body.home-frame .int-cell:nth-child(5n) { border-right: 1px solid var(--line); }
    body.home-frame .int-cell:nth-child(2n) { border-right: 0; }
    body.home-frame .int-center-cell { grid-column: 1 / -1; grid-row: auto; order: -1; border-right: 0; }

    body.home-frame .faq-split { grid-template-columns: 1fr; }
    body.home-frame .faq-intro { border-right: 0; border-bottom: 1px solid var(--line); padding: 72px var(--gutter) 40px; }
    body.home-frame .faq-split .faq-list { padding: 40px var(--gutter) 72px; }

    body.home-frame .security-credentials-row { flex-wrap: wrap; padding: 24px 0; }
    body.home-frame .security-credential { flex: 1 1 50%; border-right: 0; border-bottom: 1px solid var(--line-dark); }

    /* Rotating headline word: put it on its own line, let long phrases wrap
       instead of clipping, and center short ones. */
    body.home-frame .hero-title .hero-inline { display: block; white-space: normal; }
    body.home-frame .hero-rotate-wrapper { display: block; height: auto; min-height: 1.15em; }
    body.home-frame .hero-rotate-words { grid-template-columns: minmax(0, 1fr); }
    body.home-frame .hero-rotate-word {
        justify-self: center;
        width: auto;
        max-width: 100%;
        white-space: normal;
        text-align: center;
    }
}

@media (max-width: 480px) {
    body.home-frame .hf-frame,
    body.home-frame .hero,
    body.home-frame .hatched-divider,
    body.home-frame .logos-section,
    body.home-frame .solutions-section,
    body.home-frame .testimonials-section,
    body.home-frame .integrations-section,
    body.home-frame .press-section,
    body.home-frame .outcomes-section,
    body.home-frame .investors-section,
    body.home-frame .enterprise-security-section,
    body.home-frame .faq-section,
    body.home-frame .ask-ai-section { width: calc(100% - 16px); }
    body.home-frame .product-showcase-section > .container { width: calc(100% - 16px); }
    body.home-frame .hero-title { font-size: 34px; letter-spacing: -0.03em; }
    body.home-frame .outcomes-grid { grid-template-columns: 1fr; }
    body.home-frame .outcome-card,
    body.home-frame .outcome-card:nth-child(2n) { border-right: 0; border-bottom: 1px solid var(--line); }
    body.home-frame .outcome-card:last-child { border-bottom: 0; }
    body.home-frame .security-credential { flex-basis: 100%; }
    body.home-frame .hero-proof { gap: 6px; }
}

/* ==========================================================================
   PRODUCT MOCKUPS — replicas of app.getsolum.com screens (pm- prefix)
   Rendered at the app's native 1120 x 760 and scaled to fit by JS (--pm-s).
   Font is Inter here on purpose: it matches the real product UI.
   ========================================================================== */
.pm-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.pm-viewport {
    position: relative;
    width: 100%;
    aspect-ratio: 1120 / 760;
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 0 rgba(255,255,255,0.4) inset, 0 30px 80px rgba(1, 28, 64, 0.45);
}
.pm-screen {
    position: absolute;
    top: 0;
    left: 0;
    width: 1120px;
    height: 760px;
    transform: scale(var(--pm-s, 0.9));
    transform-origin: 0 0;
    display: flex;
    background: #fff;
    color: #0a0a0a;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 12px;
    line-height: 1.4;
    text-align: left;
    letter-spacing: 0;
    text-transform: none;
}
.pm-screen * { box-sizing: border-box; }
.pm-screen b { font-weight: 600; }
.pm-i { width: 14px; height: 14px; flex-shrink: 0; }
.pm-muted { color: #737373; }
.pm-small { font-size: 11px; }
.pm-mono { font-family: 'DM Mono', ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; }
.pm-spacer { flex: 1; }
.pm-green { color: #16a34a; }
.pm-mt { margin-top: 14px; }

/* Sidebar */
.pm-side {
    width: 196px;
    flex-shrink: 0;
    border-right: 1px solid #e5e5e5;
    background: #fafafa;
    padding: 16px 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.pm-logo { width: 118px; height: auto; margin: 2px 6px 14px; }
.pm-org {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    margin-bottom: 10px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #fff;
    font-weight: 500;
    font-size: 12px;
}
.pm-org-ic .pm-i { width: 12px; height: 12px; color: #737373; }
.pm-org-chev { margin-left: auto; width: 12px; height: 12px; color: #a3a3a3; }
.pm-nav-group { display: flex; flex-direction: column; gap: 1px; padding-bottom: 10px; }
.pm-nav-item {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 6px 10px;
    border-radius: 6px;
    color: #262626;
    font-size: 12px;
    white-space: nowrap;
}
.pm-nav-item .pm-i { color: #525252; }
.pm-nav-item.active { background: #ededed; font-weight: 500; }
.pm-nav-item.active .pm-i { color: #0a0a0a; }
.pm-nav-chev { margin-left: auto; width: 12px; height: 12px; color: #a3a3a3; }
.pm-badge {
    margin-left: auto;
    min-width: 17px;
    height: 17px;
    border-radius: 9px;
    font-size: 10px;
    font-weight: 600;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
}
.pm-badge-amber { background: #eab308; }
.pm-badge-green { background: #16a34a; }
.pm-badge-orange { background: #ea580c; }
.pm-badge-blue { background: #468AF7; }
.pm-side-foot { margin-top: auto; border-top: 1px solid #e5e5e5; padding-top: 8px; }
.pm-side-foot .pm-nav-item span { overflow: hidden; text-overflow: ellipsis; }

.pm-fab {
    position: absolute;
    right: 0;
    top: 58px;
    width: 26px;
    height: 26px;
    border-radius: 6px 0 0 6px;
    background: #0a0a0a;
}
.pm-fab::after {
    content: '';
    position: absolute;
    inset: 6px;
    border-radius: 50%;
    background: radial-gradient(circle, #d9f99d 0 30%, transparent 32%), conic-gradient(from 0deg, #bef264 0 10%, transparent 10% 20%, #bef264 20% 30%, transparent 30% 40%, #bef264 40% 50%, transparent 50% 60%, #bef264 60% 70%, transparent 70% 80%, #bef264 80% 90%, transparent 90%);
}

/* Main area */
.pm-main { flex: 1; min-width: 0; padding: 18px 20px 16px; display: flex; flex-direction: column; gap: 12px; overflow: hidden; }
.pm-main-flush { padding: 0; }
.pm-head { display: flex; align-items: center; }
.pm-h1 { font-family: 'Inter', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: -0.02em; color: #0a0a0a; margin: 0; }
.pm-h1-sm { font-size: 17px; }
.pm-seg { margin-left: auto; display: flex; border: 1px solid #e5e5e5; border-radius: 8px; padding: 2px; gap: 2px; }
.pm-seg span { display: flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: 6px; font-size: 11px; color: #525252; }
.pm-seg span.on { background: #f5f5f5; color: #0a0a0a; font-weight: 500; box-shadow: 0 1px 2px rgba(0,0,0,0.06); }
.pm-seg .pm-i { width: 12px; height: 12px; }
.pm-toolbar { display: flex; align-items: center; gap: 8px; }
.pm-filter {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 10px; border: 1px dashed #d4d4d4; border-radius: 7px;
    font-size: 11px; font-weight: 500; color: #404040;
}
.pm-filter .pm-i { width: 12px; height: 12px; color: #737373; }
.pm-filter-date { border-style: solid; color: #737373; font-weight: 400; min-width: 150px; }
.pm-ghost { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 500; color: #404040; padding: 5px 8px; }
.pm-ghost .pm-i { width: 12px; height: 12px; }
.pm-btn-dark {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px; border-radius: 7px; background: #0a0a0a; color: #fff;
    font-size: 11px; font-weight: 500;
}
.pm-btn-dark .pm-i { width: 12px; height: 12px; }
.pm-btn-sm { padding: 5px 10px; }
.pm-btn-out {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 5px 10px; border-radius: 7px; border: 1px solid #e5e5e5; background: #fff;
    font-size: 11px; font-weight: 500; color: #262626; white-space: nowrap;
}
.pm-btn-out .pm-i { width: 12px; height: 12px; }
.pm-red { color: #dc2626; }

/* Payer badge */
.pm-payer { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: #404040; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pm-pay {
    width: 14px; height: 14px; border-radius: 3px; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 9px; font-weight: 700; color: #fff; line-height: 1;
}
.pm-pay-aetna { background: #7d3f98; }
.pm-pay-cigna { background: #0a7abf; }
.pm-pay-uhc { background: #1f4e9c; }
.pm-pay-humana { background: #3a8d2f; }
.pm-pay-anthem { background: #0f5fa8; }
.pm-pay-bsc { background: #1b75bb; }
.pm-pay-tricare { background: #16325c; }
.pm-pay-medi { background: #d97706; }
.pm-pay-molina { background: #0e8a8a; }
.pm-pay-sup { background: #b91c1c; }

/* Pills */
.pm-pill { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 6px; font-size: 10px; font-weight: 600; white-space: nowrap; }
.pm-pill-green { background: #dcfce7; color: #15803d; }
.pm-pill-amber { background: #fef3c7; color: #b45309; }
.pm-pill-blue { background: #dbeafe; color: #1d4ed8; }
.pm-kcount { display: inline-flex; min-width: 18px; justify-content: center; font-size: 10px; font-weight: 600; color: #525252; background: #f5f5f5; border-radius: 5px; padding: 1px 5px; }

/* ---- 1. Kanban ---- */
.pm-board { display: flex; gap: 12px; min-height: 0; flex: 1; overflow: hidden; }
.pm-kcol { width: 196px; flex-shrink: 0; background: #f7f7f7; border: 1px solid #ededed; border-radius: 10px; padding: 8px; display: flex; flex-direction: column; gap: 8px; }
.pm-kcol-head { display: flex; align-items: center; justify-content: space-between; padding: 2px 4px 4px; font-size: 11px; font-weight: 600; }
.pm-kcol-head > span:first-child { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pm-col-ic { width: 12px; height: 12px; color: #737373; }
.pm-kcard { background: #fff; border: 1px solid #e5e5e5; border-radius: 8px; padding: 8px 9px; display: flex; flex-direction: column; gap: 5px; box-shadow: 0 1px 2px rgba(0,0,0,0.04); }
.pm-kcard-top { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.pm-kname { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; font-size: 11.5px; white-space: nowrap; }
.pm-kname .pm-i { width: 11px; height: 11px; color: #737373; }
.pm-kupd { display: inline-flex; align-items: center; gap: 5px; font-size: 10.5px; color: #737373; }
.pm-kupd .pm-i { width: 11px; height: 11px; }
.pm-st-warn { width: 13px; height: 13px; color: #eab308; }
.pm-st-ok { width: 13px; height: 13px; color: #16a34a; }
.pm-st-sync { width: 13px; height: 13px; color: #468AF7; }
.pm-st-err { width: 13px; height: 13px; color: #ea580c; }
.pm-kcard-top .pm-st-sync + .pm-st-ok { margin-left: -6px; }
.pm-kcard-new { border-color: #468AF7; box-shadow: 0 0 0 3px rgba(70,138,247,0.18); animation: pmDrop 0.6s cubic-bezier(.2,.9,.3,1.2) var(--d, 1s) both; }
@keyframes pmDrop { from { opacity: 0; transform: translateY(-14px) scale(0.96); } to { opacity: 1; transform: none; } }

/* ---- shared cards / fields ---- */
.pm-card { border: 1px solid #e5e5e5; border-radius: 10px; background: #fff; padding: 12px 14px; }
.pm-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pm-sec { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.pm-sec-caps { display: flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #525252; margin-bottom: 6px; }
.pm-sec-caps .pm-i { width: 11px; height: 11px; color: #a3a3a3; }
.pm-sub { margin: 4px 0 10px; font-size: 11px; color: #737373; }
.pm-fgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 16px; }
.pm-fgrid-2 { grid-template-columns: repeat(2, 1fr); }
.pm-fgrid-3 { grid-template-columns: repeat(3, 1fr); }
.pm-fgrid-4 { grid-template-columns: repeat(4, 1fr); }
.pm-field { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pm-flabel { font-size: 10.5px; color: #737373; }
.pm-caps { text-transform: uppercase; letter-spacing: 0.05em; font-size: 9.5px; font-weight: 600; }
.pm-fval { font-size: 11.5px; font-weight: 500; color: #0a0a0a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pm-code { font-family: 'DM Mono', ui-monospace, monospace; font-size: 10.5px; background: #f5f5f5; border: 1px solid #e5e5e5; border-radius: 4px; padding: 0 4px; }
.pm-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pm-chip { font-size: 10.5px; font-weight: 500; padding: 2px 8px; border-radius: 6px; background: #f5f5f5; border: 1px solid #e5e5e5; }
.pm-chip-soft { font-size: 10.5px; padding: 2px 8px; border-radius: 6px; background: #f5f5f5; color: #404040; }
.pm-doc { display: flex; align-items: center; gap: 8px; padding: 6px 0; border-top: 1px solid #f0f0f0; }
.pm-doc:first-of-type { border-top: 0; }
.pm-doc .pm-i { color: #737373; }
.pm-doc div { display: flex; flex-direction: column; min-width: 0; }
.pm-doc b { font-size: 11px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pm-doc span { font-size: 10px; color: #a3a3a3; }
.pm-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.pm-table th { text-align: left; font-weight: 500; color: #737373; font-size: 10.5px; padding: 6px 8px; border-bottom: 1px solid #e5e5e5; white-space: nowrap; }
.pm-table td { padding: 6px 8px; border-bottom: 1px solid #f0f0f0; white-space: nowrap; }
.pm-table .num { text-align: right; }
.pm-avatar { width: 28px; height: 28px; border-radius: 50%; background: #f0f0f0; color: #525252; font-size: 10px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* animated entrance for feed items / rows (replays on tab switch) */
.product-panel.active .pm-anim { animation: pmIn 0.45s ease var(--d, 0s) both; }
.product-panel.active .pm-anim-row { animation: pmIn 0.35s ease var(--d, 0s) both; }
@keyframes pmIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* ---- 2. Intake drawer ---- */
.pm-drawer { display: flex; height: 100%; }
.pm-drawer-l { flex: 1.35; min-width: 0; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; border-right: 1px solid #e5e5e5; background: #fafafa; }
.pm-drawer-r { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pm-tabs4 { display: grid; grid-template-columns: repeat(4, 1fr); background: #f0f0f0; border-radius: 8px; padding: 3px; }
.pm-tabs4 span { text-align: center; padding: 5px 0; font-size: 11px; font-weight: 500; color: #525252; border-radius: 6px; }
.pm-tabs4 span.on { background: #fff; color: #0a0a0a; box-shadow: 0 1px 2px rgba(0,0,0,0.08); }
.pm-ref-title { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 700; }
.pm-ref-title .pm-i { color: #468AF7; }
.pm-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pm-check { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pm-check li { display: flex; align-items: center; gap: 7px; font-size: 11px; }
.pm-check li.done .pm-i { color: #16a34a; }
.pm-check li.todo { color: #737373; }
.pm-check li.todo .pm-i { color: #eab308; }
.pm-check em { margin-left: auto; font-style: normal; font-size: 10px; color: #b45309; }
.pm-act-head { display: flex; align-items: center; gap: 6px; padding: 14px 16px 10px; font-size: 13px; border-bottom: 1px solid #f0f0f0; }
.pm-feed { flex: 1; padding: 10px 16px; display: flex; flex-direction: column; gap: 8px; overflow: hidden; }
.pm-day { align-self: center; font-size: 10px; font-weight: 500; color: #525252; background: #f5f5f5; border-radius: 6px; padding: 2px 8px; }
.pm-event { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 9px; border: 1px solid; }
.pm-event div { display: flex; flex-direction: column; }
.pm-event b { font-size: 11.5px; }
.pm-event span { font-size: 10.5px; color: #737373; }
.pm-ev-blue { background: #eff6ff; border-color: #dbeafe; }
.pm-ev-blue > .pm-i { color: #2563eb; }
.pm-ev-green { background: #f0fdf4; border-color: #dcfce7; }
.pm-ev-green > .pm-i { color: #16a34a; }
.pm-ev-purple { background: #f5f3ff; border-color: #ede9fe; }
.pm-ev-purple > .pm-i { color: #7c3aed; }
.pm-ev-chev { margin-left: auto; color: #a3a3a3; }
.pm-bubble { align-self: flex-end; max-width: 82%; background: #f5f5f5; border-radius: 10px 10px 2px 10px; padding: 9px 11px; font-size: 11.5px; }
.pm-bubble-meta { display: block; margin-top: 4px; font-size: 10px; color: #737373; text-align: right; }
.pm-composer { border-top: 1px solid #e5e5e5; padding: 10px 16px 12px; }
.pm-comp-tabs { display: flex; gap: 6px; margin-bottom: 8px; }
.pm-comp-tabs span { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 500; padding: 4px 9px; border-radius: 6px; border: 1px solid #e5e5e5; color: #525252; }
.pm-comp-tabs span.on { background: #f5f5f5; color: #0a0a0a; }
.pm-comp-tabs .pm-i { width: 12px; height: 12px; }
.pm-comp-input { border: 1px solid #e5e5e5; border-radius: 8px; padding: 9px 10px; font-size: 11.5px; color: #a3a3a3; }
.pm-comp-foot { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.pm-send { width: 26px; height: 26px; border-radius: 50%; background: #e5e5e5; display: inline-flex; align-items: center; justify-content: center; color: #737373; }
.pm-send .pm-i { width: 12px; height: 12px; }

/* ---- 3. Prior auth ---- */
.pm-pa-head { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.pm-pa-head > .pm-i { color: #525252; }
.pm-back { color: #0a0a0a !important; }
.pm-tag-purple { font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: 6px; background: #ede9fe; color: #6d28d9; }
.pm-pa-patient { display: flex; align-items: center; gap: 10px; font-size: 12.5px; }
.pm-stepper { display: flex; align-items: center; gap: 10px; padding: 10px 18px; }
.pm-step { display: flex; flex-direction: column; align-items: center; gap: 3px; font-size: 10px; color: #737373; }
.pm-step-dot { width: 24px; height: 24px; border-radius: 50%; border: 2px solid #d4d4d4; display: inline-flex; align-items: center; justify-content: center; }
.pm-step-dot .pm-i { width: 12px; height: 12px; }
.pm-step.done .pm-step-dot { border-color: #0a0a0a; background: #0a0a0a; color: #fff; }
.pm-step.done { color: #0a0a0a; }
.pm-step.approved .pm-step-dot { border-color: #16a34a; background: #16a34a; color: #fff; box-shadow: 0 0 0 4px #dcfce7; }
.pm-step.approved { color: #15803d; font-weight: 600; }
.pm-step-line { flex: 1; height: 2px; background: #e5e5e5; margin-bottom: 14px; }
.pm-step-line.done { background: #0a0a0a; }
.pm-pa-body { display: grid; grid-template-columns: 1.55fr 1fr; gap: 12px; min-height: 0; flex: 1; }
.pm-pa-l, .pm-pa-r { min-height: 0; overflow: hidden; }
.pm-req { border-left: 3px solid #16a34a; height: 100%; }
.pm-req-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.pm-rot { transform: rotate(180deg); color: #a3a3a3; width: 12px; height: 12px; }
.pm-cpt { margin-top: 8px; }
.pm-cpt td:nth-child(2) { white-space: normal; color: #404040; }
.pm-act { height: 100%; display: flex; flex-direction: column; }
.pm-act-top { display: flex; align-items: center; gap: 6px; font-size: 12.5px; margin-bottom: 8px; }
.pm-mini-seg { display: flex; gap: 2px; background: #f5f5f5; border-radius: 6px; padding: 2px; }
.pm-mini-seg span { font-size: 10px; padding: 2px 6px; border-radius: 4px; color: #525252; }
.pm-mini-seg span.on { background: #fff; color: #0a0a0a; font-weight: 500; }
.pm-tl { flex: 1; display: flex; flex-direction: column; gap: 6px; overflow: hidden; }
.pm-tl-day { font-size: 9.5px; font-weight: 600; letter-spacing: 0.06em; color: #737373; margin-top: 2px; display: flex; align-items: center; gap: 6px; }
.pm-tl-day::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #d4d4d4; }
.pm-tl-item { margin-left: 3px; padding-left: 12px; border-left: 1px solid #e5e5e5; font-size: 11px; }
.pm-tl-item p { margin: 1px 0 0; color: #404040; }
.pm-tl-warn p { color: #b45309; }
.pm-tl-ok p { color: #15803d; font-weight: 500; }
.pm-comment { border: 1px solid #e5e5e5; border-radius: 8px; padding: 8px 10px; font-size: 11px; color: #a3a3a3; margin-top: 8px; }
.pm-toggle { width: 22px; height: 12px; border-radius: 6px; background: #e5e5e5; position: relative; }
.pm-toggle::after { content: ''; position: absolute; left: 2px; top: 2px; width: 8px; height: 8px; border-radius: 50%; background: #fff; }

/* ---- 4. VOB ---- */
.pm-vob-patient { padding-bottom: 2px; }
.pm-vob-body { display: grid; grid-template-columns: 1.5fr 1fr; gap: 12px; min-height: 0; flex: 1; }
.pm-vob-l, .pm-vob-r { display: flex; flex-direction: column; gap: 10px; min-height: 0; overflow: hidden; }
.pm-payor-head { display: flex; align-items: center; gap: 8px; }
.pm-payor-head .pm-payer { font-size: 12.5px; font-weight: 600; color: #0a0a0a; }
.pm-payor-meta { display: flex; align-items: center; gap: 8px; font-size: 11px; margin-top: -4px; }
.pm-svc-tabs { display: flex; align-items: center; gap: 6px; }
.pm-svc-tabs > span:not(.pm-btn-out) { font-size: 11px; font-weight: 500; padding: 5px 10px; border-radius: 7px; color: #525252; border: 1px solid #e5e5e5; }
.pm-svc-tabs > span.on { background: #0a0a0a; color: #fff; border-color: #0a0a0a; }
.pm-vob th, .pm-vob td { text-align: center; padding: 5px 6px; border: 1px solid #e5e5e5; }
.pm-vob thead th { background: #fafafa; color: #262626; font-weight: 600; }
.pm-vob tbody th { text-align: left; font-weight: 500; color: #262626; background: #fafafa; }
.pm-tick { width: 13px; height: 13px; color: #16a34a; }
.pm-bars-h { font-size: 11px; font-weight: 600; color: #262626; padding-bottom: 6px; border-bottom: 1px solid #e5e5e5; margin-bottom: 8px; }
.pm-bar { display: flex; flex-direction: column; gap: 2px; margin-bottom: 9px; }
.pm-bar b { font-size: 11px; font-weight: 500; }
.pm-bar span { font-size: 10px; color: #737373; }
.pm-track { height: 5px; border-radius: 3px; background: #ededed; overflow: hidden; margin-top: 3px; }
.pm-fill { height: 100%; width: var(--w); background: #468AF7; border-radius: 3px; }
.pm-fill.met { background: #16a34a; }
.product-panel.active .pm-fill { animation: pmGrow 1s ease 0.3s both; }
@keyframes pmGrow { from { width: 0; } }
.pm-comment-box p { margin: 0 0 4px; font-size: 11px; color: #262626; }

/* ---- 5. Eligibility batch ---- */
.pm-batch-head { display: flex; align-items: center; gap: 10px; }
.pm-note { display: flex; align-items: center; gap: 7px; font-size: 11px; color: #6d28d9; }
.pm-note .pm-i { width: 12px; height: 12px; }
.pm-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.pm-stat { border: 1px solid #e5e5e5; border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; }
.pm-stat.sel { border-color: #0a0a0a; box-shadow: 0 0 0 1px #0a0a0a; }
.pm-stat-top { display: flex; align-items: center; justify-content: space-between; font-size: 11px; color: #404040; }
.pm-stat b { font-size: 24px; font-weight: 700; letter-spacing: -0.02em; }
.pm-stat .pm-muted { font-size: 10.5px; }
.pm-pct { font-size: 10px; font-weight: 600; padding: 1px 6px; border-radius: 5px; }
.pm-pct-green { background: #dcfce7; color: #15803d; }
.pm-pct-amber { background: #fef3c7; color: #b45309; }
.pm-pct-red { background: #fee2e2; color: #b91c1c; }
.pm-elig { display: inline-flex; align-items: center; gap: 3px; font-size: 10px; font-weight: 600; padding: 2px 7px; border-radius: 6px; }
.pm-elig .pm-i { width: 10px; height: 10px; }
.pm-elig-active { background: #dcfce7; color: #15803d; }
.pm-elig-inactive { background: #fef3c7; color: #b45309; }
.pm-elig-failed { background: #fee2e2; color: #b91c1c; }
.pm-batch tr.pm-flag td { background: #fffbeb; }
.pm-chg { font-size: 10.5px; font-weight: 500; }
.pm-chg-mco { color: #6d28d9; }
.pm-chg-term { color: #b45309; }
.pm-chg-fail { color: #b91c1c; }
.pm-task-badge { font-size: 10px; font-weight: 500; padding: 1px 6px; border-radius: 5px; background: #eff6ff; color: #1d4ed8; }
.pm-icons { color: #737373; }
.pm-icons .pm-i { width: 13px; height: 13px; margin-left: 6px; }
.pm-pager { display: flex; align-items: center; gap: 6px; font-size: 11px; margin-top: auto; }

@media (prefers-reduced-motion: reduce) {
    .product-panel.active .pm-anim,
    .product-panel.active .pm-anim-row,
    .product-panel.active .pm-fill,
    .pm-kcard-new { animation: none; }
}
.pm-cpt td:nth-child(2) { white-space: nowrap; max-width: 250px; overflow: hidden; text-overflow: ellipsis; }
.pm-cpt td, .pm-cpt th { padding: 4px 8px; }
.pm-req .pm-mt { margin-top: 10px; }
.pm-req .pm-fgrid { gap: 8px 16px; }
.pm-svc-tabs > span { white-space: nowrap; }
.pm-batch td { padding: 5px 8px; }

/* ---------- Fixes after visual QA ---------- */
/* Headshots are already circular crops: keep them round, no frame */
body.home-frame .tc-author img { border-radius: 50%; border: 0; background: transparent; }
/* Keep "Capture Every Patient," on one line at desktop widths */
body.home-frame .hero-content { max-width: 1040px; }
/* Salesforce's logo is white-on-blue; grayscale turns it into a dark blob */
body.home-frame .int-cell img[src*="salesforce"] { filter: none; opacity: 0.9; }
/* Six footer columns on one row */
body.home-frame .footer-grid { grid-template-columns: repeat(6, 1fr); }
@media (max-width: 1024px) {
    body.home-frame .footer-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    body.home-frame .navbar-actions { display: none; }
    body.home-frame .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---- v2 mockup components ---- */
.pm-blue { color: #468AF7; }
.pm-mt-s { margin-top: 8px; }
.pm-card-s { padding: 10px 12px; }
.pm-fgrid-6 { grid-template-columns: repeat(6, 1fr); }
.pm-ehr { display: inline-flex; align-items: center; gap: 5px; font-size: 10.5px; font-weight: 500; color: #15803d; background: #f0fdf4; border: 1px solid #dcfce7; border-radius: 6px; padding: 2px 8px; white-space: nowrap; }
.pm-ehr .pm-i { width: 11px; height: 11px; }
.pm-ehr-head { margin-left: auto; margin-right: 10px; }
.pm-head .pm-seg { margin-left: 0; }
.pm-card-head .pm-ehr { margin-left: auto; }
.pm-tag-blue { font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: 6px; background: #dbeafe; color: #1d4ed8; }

/* prior auth v2 */
.pm-pa-row { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; align-items: center; }
.pm-stepper-s { padding: 8px 14px; }
.pm-step.partial .pm-step-dot { border-color: #d97706; background: #d97706; color: #fff; }
.pm-step.partial { color: #b45309; font-weight: 600; }
.pm-step.appeal .pm-step-dot { border-color: #468AF7; background: #fff; color: #468AF7; box-shadow: 0 0 0 4px #dbeafe; }
.pm-step.appeal { color: #1d4ed8; font-weight: 600; }
.pm-pa-l { display: flex; flex-direction: column; gap: 10px; }
.pm-pa-r { display: flex; flex-direction: column; gap: 10px; }
.pm-req { height: auto; border-left-color: #d97706; }
.pm-cpt td:nth-child(2) { max-width: 230px; }
.pm-appeal-u { font-size: 10px; font-weight: 600; color: #1d4ed8; background: #dbeafe; border-radius: 5px; padding: 1px 6px; }
.pm-appeal { border-left: 3px solid #468AF7; }
.pm-appeal .pm-ref-title .pm-i { color: #468AF7; }
.pm-appeal-docs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.pm-appeal-docs .pm-chip { display: inline-flex; align-items: center; gap: 5px; }
.pm-appeal-docs .pm-i { width: 11px; height: 11px; color: #737373; }
.pm-intel { border-color: #ddd6fe; background: linear-gradient(180deg, #faf5ff, #fff 45%); }
.pm-intel-head { display: flex; align-items: center; gap: 6px; font-size: 12.5px; margin-bottom: 10px; }
.pm-intel-head .pm-i { color: #7c3aed; }
.pm-likely { display: flex; align-items: center; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid #ede9fe; margin-bottom: 8px; }
.pm-likely > div:last-child { display: flex; flex-direction: column; gap: 2px; font-size: 11px; }
.pm-likely b { font-size: 12px; color: #15803d; }
.pm-gauge { width: 54px; height: 54px; border-radius: 50%; flex-shrink: 0; display: grid; place-items: center;
    background: conic-gradient(#16a34a calc(var(--p) * 1%), #ede9fe 0); }
.pm-gauge span { width: 42px; height: 42px; border-radius: 50%; background: #fff; display: grid; place-items: center; font-size: 13px; font-weight: 700; color: #15803d; }
.pm-gaps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.pm-gap { display: flex; gap: 8px; align-items: flex-start; }
.pm-gap .pm-i { width: 13px; height: 13px; margin-top: 1px; }
.pm-gap div { display: flex; flex-direction: column; font-size: 10.5px; line-height: 1.35; }
.pm-gap b { font-size: 11px; }
.pm-gap span { color: #525252; }
.pm-gap-ok .pm-i { color: #16a34a; }
.pm-gap-fixed .pm-i { color: #fff; background: #468AF7; border-radius: 50%; padding: 2px; }
.pm-gap-warn .pm-i { color: #d97706; }
.pm-gap-warn span { color: #b45309; }
.pm-act-s { flex: 1; min-height: 0; }
.pm-tl-blue p { color: #1d4ed8; font-weight: 500; }

/* VOB v2 */
.pm-tabs-inline { max-width: 420px; }
.pm-vob-body { grid-template-columns: 1.62fr 1fr; }
.pm-payor-head .pm-pill { margin-left: 2px; }
.pm-cob { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.pm-cob-item { display: flex; gap: 7px; align-items: flex-start; border: 1px solid #e5e5e5; border-radius: 8px; padding: 7px 9px; background: #fff; }
.pm-cob-item div { display: flex; flex-direction: column; font-size: 10px; color: #737373; }
.pm-cob-item b { font-size: 11px; color: #0a0a0a; }
.pm-cptb th, .pm-cptb td { padding: 4px 6px; }
.pm-cptb td:nth-child(2) { max-width: 190px; overflow: hidden; text-overflow: ellipsis; }
.pm-cptb tr.pm-nc td { color: #a3a3a3; }
.pm-auth { font-size: 10px; font-weight: 600; padding: 1px 6px; border-radius: 5px; }
.pm-auth-no { background: #f0fdf4; color: #15803d; }
.pm-auth-yes { background: #fef3c7; color: #b45309; }
.pm-foot-note { margin: 8px 0 0; font-size: 10px; color: #737373; }
.pm-call .pm-sub { margin-bottom: 8px; }
.pm-player { display: flex; align-items: center; gap: 8px; background: #fafafa; border: 1px solid #ededed; border-radius: 8px; padding: 7px 9px; }
.pm-play { width: 24px; height: 24px; border-radius: 50%; background: #0a0a0a; flex-shrink: 0; position: relative; }
.pm-play::after { content: ''; position: absolute; left: 9px; top: 7px; border-left: 8px solid #fff; border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.pm-wave { flex: 1; height: 26px; display: flex; align-items: center; gap: 2px; }
.pm-wave span { flex: 1; height: calc(var(--h) * 1%); background: #d4d4d4; border-radius: 2px; }
.pm-wave span:nth-child(-n+18) { background: #468AF7; }
.pm-refs { display: grid; grid-template-columns: 1.1fr 0.7fr 1.1fr; gap: 8px; margin: 9px 0; padding: 8px 0; border-top: 1px solid #f0f0f0; border-bottom: 1px solid #f0f0f0; }
.pm-refs div { display: flex; flex-direction: column; gap: 2px; }
.pm-refs b { font-size: 11px; }
.pm-transcript { display: flex; flex-direction: column; gap: 5px; }
.pm-transcript p { margin: 0; font-size: 10.5px; color: #404040; line-height: 1.4; }
.pm-transcript b { margin-right: 4px; color: #0a0a0a; }
.pm-ts { font-family: 'DM Mono', monospace; font-size: 9.5px; color: #468AF7; margin-right: 6px; }
.pm-transcript .pm-hl { background: #fef9c3; border-radius: 4px; padding: 2px 4px; margin: 0 -4px; }
.pm-calls { display: flex; flex-direction: column; }
.pm-hist { display: flex; align-items: center; gap: 7px; font-size: 10.5px; padding: 5px 0; border-top: 1px solid #f0f0f0; }
.pm-hist .pm-i { width: 12px; height: 12px; color: #737373; }
.pm-hist > span:nth-child(2) { flex: 1; }

/* Monitoring v2 */
.pm-stats-5 { grid-template-columns: repeat(5, 1fr); }
.pm-stat-purple { border-color: #ddd6fe; background: #faf5ff; }
.pm-stat-purple b { color: #6d28d9; }
.pm-issue-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.pm-issue-row .pm-flabel { margin-right: 4px; }
.pm-issue { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 600; padding: 2px 7px; border-radius: 6px; white-space: nowrap; }
.pm-issue b { font-weight: 700; }
.pm-issue-mco { background: #ede9fe; color: #6d28d9; }
.pm-issue-tpa { background: #e0f2fe; color: #0369a1; }
.pm-issue-grp { background: #ccfbf1; color: #0f766e; }
.pm-issue-id { background: #dbeafe; color: #1d4ed8; }
.pm-issue-name { background: #fce7f3; color: #be185d; }
.pm-issue-dob { background: #fee2e2; color: #b91c1c; }
.pm-issue-term { background: #fef3c7; color: #b45309; }
.pm-iss-cell { display: flex; align-items: center; gap: 6px; max-width: 330px; }
.pm-issue-d { font-size: 10.5px; color: #404040; overflow: hidden; text-overflow: ellipsis; }
.pm-res { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; font-weight: 500; }
.pm-res .pm-i { width: 11px; height: 11px; }
.pm-res-ok { color: #15803d; }
.pm-res-task { color: #1d4ed8; }
.pm-res-rev { color: #b45309; }
.pm-pname { font-weight: 500; }
.pm-batch td { padding: 5px 7px; }
.pm-cpt { table-layout: auto; }
.pm-cpt td:nth-child(2) { max-width: 150px; }
.pm-cpt th, .pm-cpt td { padding: 4px 6px; }
.pm-cptb td:nth-child(2) { max-width: 150px; }
.pm-payor-head .pm-payer { overflow: visible; }
.pm-iss-cell { max-width: 290px; }
.pm-batch th:nth-child(3), .pm-batch td:nth-child(3) { padding-right: 4px; }

/* ==========================================================================
   Round 3: first-screen fit, headline alignment, contrast, ROI, logos
   ========================================================================== */
/* Hero sized to the window so the client logos show in the first screen */
body.home-frame .hero { padding: clamp(40px, 8vh, 96px) var(--gutter) clamp(36px, 6vh, 72px); }
body.home-frame .hero-pill { margin-bottom: clamp(16px, 3vh, 28px); }
body.home-frame .hero-content { max-width: none; }
body.home-frame .hero-title {
    font-size: clamp(36px, min(4.3vw, 7.6vh), 66px);
    margin-bottom: clamp(14px, 2.4vh, 24px);
}
body.home-frame .hero-subtitle { margin-bottom: clamp(20px, 3.4vh, 32px); }
body.home-frame .hero-proof { margin-top: clamp(20px, 3.6vh, 36px); }
body.home-frame .logos-label { padding: 16px 0 12px; }
body.home-frame .logos-carousel { padding: 10px 0; }
body.home-frame .client-logo { height: 52px; }

/* Rotating word: slot width animates to the visible word (JS), line stays centered */
@media (min-width: 769px) {
    body.home-frame .hero-rotate-wrapper { transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1); vertical-align: bottom; }
    body.home-frame .hero-rotate-words { grid-template-columns: max-content; }
    body.home-frame .hero-rotate-word { justify-self: start; }
}
body.home-frame .hero-rotate-tag {
    font-size: 0.42em;
    font-weight: 600;
    letter-spacing: 0.02em;
    vertical-align: 0.55em;
    -webkit-text-fill-color: var(--deep-purple);
    color: var(--deep-purple);
}

/* Contrast: calmer pattern, clear zone behind the copy, solid proof chips */
body.home-frame .hero-bg::before {
    opacity: 0.55;
    -webkit-mask-image: radial-gradient(ellipse 46% 44% at 50% 50%, transparent 0%, transparent 55%, rgba(0,0,0,0.5) 78%, black 100%);
    mask-image: radial-gradient(ellipse 46% 44% at 50% 50%, transparent 0%, transparent 55%, rgba(0,0,0,0.5) 78%, black 100%);
}
body.home-frame .hero-subtitle { color: rgba(1, 28, 64, 0.86); font-weight: 500; }
body.home-frame .hero-proof { gap: 10px; }
body.home-frame .hero-proof li {
    background: #fff;
    border: 1px solid var(--line);
    padding: 7px 12px 7px 26px;
    color: var(--navy);
    border-radius: 2px;
}
body.home-frame .hero-proof li + li::before { display: none; }
body.home-frame .hero-proof li::after {
    content: '';
    position: absolute;
    left: 11px;
    top: 50%;
    width: 8px;
    height: 4px;
    border-left: 2px solid var(--blue);
    border-bottom: 2px solid var(--blue);
    transform: translateY(-65%) rotate(-45deg);
}

/* ROI button: center the label vertically */
body.home-frame .btn-accent,
body.home-frame .outcomes-guarantee-actions .btn-accent {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 28px;
    line-height: 1;
}

/* Section titles: balanced line breaks, no single-word orphans */
body.home-frame .section-title,
body.home-frame .hero-title,
body.home-frame .cta-content h2 { text-wrap: balance; }
body.home-frame .enterprise-security-section .section-title { max-width: 20ch; }
body.home-frame .enterprise-security-section .section-sub { max-width: 68ch; color: rgba(1, 28, 64, 0.8); }
body.home-frame .enterprise-security-section .section-cta-wrap { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }

/* AI logos: official marks on uniform white tiles */
body.home-frame .ai-logo-icon,
body.home-frame .ai-logo-chatgpt,
body.home-frame .ai-logo-perplexity,
body.home-frame .ai-logo-claude,
body.home-frame .ai-logo-gemini,
body.home-frame .ai-logo-copilot {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(1, 28, 64, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
}
body.home-frame .ai-logo-link:hover .ai-logo-icon { border-color: var(--line-strong); transform: translateY(-2px); }
body.home-frame .ai-logo-name { color: var(--ink-2); font-weight: 500; }

/* Product panels: copy left (the message), compact product screen right */
body.home-frame .product-panel.active {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    align-items: stretch;
}
body.home-frame .product-panel-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 48px 44px;
}
body.home-frame .product-panel-info h3 {
    font-size: clamp(26px, 2.6vw, 36px);
    line-height: 1.12;
    margin-bottom: 16px;
    text-wrap: balance;
}
body.home-frame .product-panel-info > p {
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.82);
    margin-bottom: 24px;
}
body.home-frame .product-panel-info .product-features-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 28px;
}
body.home-frame .product-panel-info .product-features-list li { font-size: 15px; font-weight: 500; color: #fff; }
body.home-frame .product-mockup {
    border-top: 0;
    border-left: 1px solid var(--line-dark);
    padding: 36px 32px;
    display: flex;
    align-items: center;
}
body.home-frame .product-mockup .pm-viewport { width: 100%; }

@media (max-width: 1024px) {
    body.home-frame .product-panel.active { grid-template-columns: 1fr; }
    body.home-frame .product-panel-info { padding: 36px 32px 28px; }
    body.home-frame .product-mockup { border-left: 0; border-top: 1px solid var(--line-dark); padding: 24px; }
    body.home-frame .product-mockup .pm-viewport { max-width: 720px; margin: 0 auto; }
}
@media (max-width: 768px) {
    body.home-frame .product-panel-info { padding: 28px var(--gutter) 24px; }
    body.home-frame .product-mockup { padding: 14px; }
}

/* Mockups: map the app's neutral accents onto the Solum palette */
.pm-btn-dark,
.pm-svc-tabs > span.on,
.pm-play,
.pm-step.done .pm-step-dot { background: #011C40; border-color: #011C40; }
.pm-step-line.done { background: #011C40; }
.pm-step.done { color: #011C40; }
.pm-stat.sel { border-color: #011C40; box-shadow: 0 0 0 1px #011C40; }
.pm-nav-item.active { background: #E5E8F2; color: #011C40; }
.pm-nav-item.active .pm-i { color: #011C40; }
.pm-h1, .pm-kname, .pm-sec, .pm-ref-title, .pm-fval, .pm-stat b { color: #011C40; }
.pm-kcard-new { border-color: #468AF7; }
.pm-fab { display: none; }
.pm-side { background: #F7F8FC; }
.pm-kcol { background: #F5F6FA; border-color: #ECEEF4; }

/* Nav: fit between the hamburger breakpoint and wide desktop */
@media (max-width: 1200px) {
    body.home-frame .nav-text-cta { display: none; }
}
@media (max-width: 1100px) and (min-width: 769px) {
    body.home-frame .nav-link { font-size: 11px; letter-spacing: 0.06em; padding: 6px 8px; }
    body.home-frame .navbar-logo .logo-img { width: 150px; height: auto; }
    body.home-frame .navbar-inner { gap: 12px; }
}
@media (max-width: 960px) and (min-width: 769px) {
    body.home-frame .navbar-actions { display: none; }
}

/* Phones: tighter hero so the client logos land in the first screen */
@media (max-width: 480px) {
    body.home-frame .hero { padding: 28px 16px 24px; }
    body.home-frame .hero-pill { margin-bottom: 14px; font-size: 10px; padding: 6px 10px; }
    body.home-frame .hero-title { font-size: 31px; margin-bottom: 12px; }
    body.home-frame .hero-subtitle { font-size: 15px; line-height: 1.55; margin-bottom: 18px; }
    body.home-frame .hero-cta-row { flex-direction: row; gap: 8px; }
    body.home-frame .hero-cta-row .btn-cta-main,
    body.home-frame .hero-cta-row .btn-outline-hero { flex: 1; width: auto; min-height: 44px; padding: 0 10px; font-size: 11px; letter-spacing: 0.08em; }
    body.home-frame .hero-proof { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 18px; }
    body.home-frame .hero-proof li { font-size: 10px; padding: 5px 9px 5px 22px; }
    body.home-frame .hero-proof li::after { left: 9px; }
    body.home-frame .logos-label { padding: 12px 12px 8px; font-size: 10px; }
    body.home-frame .client-logo { height: 44px; }
    body.home-frame .logos-carousel { padding: 6px 0; }
}

/* ==========================================================================
   QA round (design system, UI, SEO, mobile reviews)
   ========================================================================== */
/* Legacy background layers and decorative rings don't belong to this design */
body.home-frame::before, body.home-frame::after { display: none; }
body.home-frame .cta-section::after { background: linear-gradient(180deg, rgba(70,138,247,0.10) 0%, transparent 30%); border: 0; border-radius: 0; width: auto; height: auto; inset: 0; }

/* Accent for the payoff line in the Products heading */
body.home-frame .hf-accent { color: var(--blue); }

/* One display tier below the hero, one label spec, one card-title size */
body.home-frame .product-showcase-section .section-title,
body.home-frame .cta-content h2 { font-size: clamp(34px, 4.6vw, 60px); }
body.home-frame .cta-content h2 { max-width: 20ch; margin-left: auto; margin-right: auto; }
body.home-frame .section-label,
body.home-frame .section-label-light { font-size: 11px; font-weight: 600; }
body.home-frame .section-sub-bold { font-weight: 400; }
body.home-frame .outcome-card h3 { font-size: 18px; letter-spacing: -0.01em; }
body.home-frame .outcome-metric-label { min-height: 2.6em; }
body.home-frame .hero-cta-row,
body.home-frame .ai-cta-row { gap: 8px; }
body.home-frame .footer-col h4 { font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.5); }
body.home-frame .footer-col a { color: rgba(255,255,255,0.75); }
body.home-frame .outcomes-proof-link { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }

/* Logos: a touch stronger in the first screen */
body.home-frame .client-logo { opacity: 0.9; }
@media (min-width: 769px) { body.home-frame .client-logo { height: 56px; } }

/* Hero proof chips on one line at desktop */
@media (min-width: 769px) {
    body.home-frame .hero-proof { max-width: none; flex-wrap: nowrap; }
}

/* Products band: tighter padding, tab bar spans the panel */
body.home-frame .product-showcase-section > .container { padding-top: 96px; padding-bottom: 88px; }
body.home-frame .product-showcase-section .section-header { margin-bottom: 48px; }
@media (min-width: 769px) {
    body.home-frame .product-tabs { width: 100%; display: grid; grid-template-columns: repeat(5, 1fr); }
    body.home-frame .product-tab { text-align: center; }
}

/* Enterprise: uptime figure readable, labels don't break mid-phrase */
body.home-frame .credential-status.highlight {
    background: none;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    -webkit-text-fill-color: currentColor;
    color: var(--teal);
}
@media (min-width: 769px) {
    body.home-frame .security-credential { flex-direction: column; align-items: flex-start; gap: 12px; padding: 28px 20px; }
}
body.home-frame .credential-label { white-space: nowrap; font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }

/* Integrations: less dead space, centered CTA */
body.home-frame .integrations-section > .container { padding-top: 72px; padding-bottom: 72px; }
body.home-frame .integrations-section .section-header,
body.home-frame .integrations-section .container > div:first-of-type { margin-bottom: 32px !important; }
body.home-frame .int-cta-wrap { text-align: center; }

/* FAQ: intro stays in view, less hatch padding */
body.home-frame .faq-split { align-items: start; }
@media (min-width: 769px) {
    body.home-frame .faq-intro { position: sticky; top: 96px; }
    body.home-frame .faq-split .faq-list { padding: 72px var(--gutter); }
}

/* Final CTA: less empty space above the headline */
body.home-frame .cta-section { padding-top: 104px; padding-bottom: 104px; }
body.home-frame .cta-logo { margin-bottom: 20px; opacity: 0.8; }

/* Ask AI tiles match the square system */
body.home-frame .ai-logo-icon { border-radius: 2px; box-shadow: none; }
body.home-frame .ai-logo-link:hover .ai-logo-icon { box-shadow: none; }

/* Cookie banner in brand colors (inline-styled component) */
body.home-frame #cookieConsent,
body.home-frame #cookiePrefs > div { background: #011C40 !important; border-radius: 2px !important; font-family: var(--font) !important; border-color: rgba(255,255,255,0.12) !important; }
body.home-frame #cookieConsent button,
body.home-frame #cookiePrefs button { border-radius: 2px !important; font-family: var(--font) !important; }
body.home-frame [onclick="acceptCookies()"],
body.home-frame [onclick="saveCookiePrefs()"] { background: #468AF7 !important; border-color: #468AF7 !important; }

/* Mockup accents mapped to brand hues (status green / amber / red kept) */
.pm-pill-blue, .pm-task-badge, .pm-tag-blue, .pm-appeal-u { background: #E3EDFE; color: #2F6FD6; }
.pm-ev-blue { background: #F2F2F9; border-color: #E3EDFE; }
.pm-ev-blue > .pm-i, .pm-issue-id { color: #2F6FD6; }
.pm-issue-id { background: #E3EDFE; }
.pm-ev-purple { background: #F6F3FC; border-color: #E5DFF4; }
.pm-ev-purple > .pm-i, .pm-note, .pm-chg-mco, .pm-intel-head .pm-i { color: #462E7D; }
.pm-tag-purple, .pm-issue-mco { background: #E5DFF4; color: #462E7D; }
.pm-intel { border-color: #E5DFF4; background: linear-gradient(180deg, #F6F3FC, #fff 45%); }
.pm-stat-purple { border-color: #E5DFF4; background: #F6F3FC; }
.pm-stat-purple b { color: #462E7D; }
.pm-gauge { background: conic-gradient(#16a34a calc(var(--p) * 1%), #E5DFF4 0); }
.pm-res-task, .pm-tl-blue p { color: #2F6FD6; }
.pm-step.appeal .pm-step-dot { border-color: #468AF7; color: #468AF7; box-shadow: 0 0 0 4px #E3EDFE; }
.pm-step.appeal { color: #2F6FD6; }

/* ---------- Mobile (reviews) ---------- */
@media (max-width: 768px) {
    /* tap targets */
    body.home-frame .footer-col a { display: block; padding: 10px 0; font-size: 12px; }
    body.home-frame .footer-bottom-left a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; }
    body.home-frame .solution-card-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
    /* product tabs: show there are more to swipe */
    body.home-frame .product-tabs { -webkit-mask-image: linear-gradient(to right, #000 82%, transparent); mask-image: linear-gradient(to right, #000 82%, transparent); scroll-snap-type: x proximity; }
    body.home-frame .product-tab { scroll-snap-align: start; }
}
@media (max-width: 480px) {
    /* chat widget: fit the phone */
    #chat-iframe { width: calc(100vw - 16px) !important; right: 8px !important; height: calc(100dvh - 96px) !important; bottom: 84px !important; }
    #notification-message { right: 8px !important; max-width: calc(100vw - 96px) !important; }
    #chat-bubble { width: 52px !important; height: 52px !important; right: 12px !important; bottom: 12px !important; }
    /* hero text floor 11px */
    body.home-frame .hero-pill { font-size: 11px; padding: 9px 12px; }
    body.home-frame .hero-proof li { font-size: 11px; }
    body.home-frame .logos-label { font-size: 11px; }
    /* final CTA buttons: stacked, full size (hero rule was squeezing them) */
    body.home-frame .cta-content .hero-cta-row { flex-direction: column; align-items: stretch; max-width: 320px; margin: 0 auto; }
    body.home-frame .cta-content .hero-cta-row .btn { flex: none; width: 100%; min-height: 48px; font-size: 12px; }
    /* shorter solutions stack, readable enterprise intro */
    body.home-frame .solution-card, body.home-frame .solution-card:nth-child(3n) { padding: 22px var(--gutter); }
    body.home-frame .enterprise-security-section .section-header { text-align: left; }
    body.home-frame .enterprise-security-section .section-sub { font-size: 15px; }
    body.home-frame .enterprise-security-section .section-cta-wrap { justify-content: flex-start; }
    /* product screen: crop to the main area at a readable zoom */
    body.home-frame .pm-viewport { aspect-ratio: 4 / 3; }
    body.home-frame .pm-side { display: none; }
    body.home-frame .pm-screen { transform: scale(calc(var(--pm-s, 0.3) * 1.9)); }
}
body.home-frame .cta-section::after { pointer-events: none; z-index: 0; }
body.home-frame .int-tag { font-size: 11px; }

/* ==========================================================================
   Round 4: compact mobile hero, mobile menu dropdown, chat greeting
   ========================================================================== */
@media (max-width: 768px) {
    /* each headline line stays whole (JS fits the size); words never wrap */
    body.home-frame .hero-title .hero-inline { display: block; }
    body.home-frame .hero-rotate-word { white-space: nowrap; }
    body.home-frame .hero-title br { display: block; }

    /* mobile menu: dropdowns sit in the flow, full width, no desktop centering shift */
    body.home-frame .navbar-menu .nav-item { width: 100%; max-width: 360px; text-align: center; }
    body.home-frame .navbar-menu .dropdown-menu,
    body.home-frame .navbar-menu .dropdown-menu-wide {
        position: static !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
        min-width: 0 !important;
        box-shadow: none;
        text-align: left;
    }
    body.home-frame .navbar-menu .dropdown-columns { padding: 0 8px; }
    body.home-frame .navbar-menu .dropdown-item strong { white-space: normal; }
}
@media (max-width: 480px) {
    body.home-frame .hero { padding-left: 12px; padding-right: 12px; }
    body.home-frame .hero-title { letter-spacing: -0.035em; line-height: 1.08; }
    /* subtitle in two lines */
    body.home-frame .hero-subtitle { font-size: 14px; line-height: 1.5; max-width: none; letter-spacing: -0.005em; }
    /* proof chips: sentence case so they fit in two rows */
    body.home-frame .hero-proof li { text-transform: none; letter-spacing: 0; font-size: 12px; font-weight: 600; }
}

/* Chat greeting in brand type and color (inline-styled widget) */
body.home-frame #notification-message {
    font-family: var(--font) !important;
    color: var(--navy) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    border: 1px solid var(--line) !important;
    box-shadow: 0 8px 24px rgba(1, 28, 64, 0.14) !important;
}
body.home-frame #notification-badge { background-color: #468AF7 !important; }
@media (max-width: 400px) {
    body.home-frame .hero-subtitle { font-size: min(14px, 3.55vw); }
    body.home-frame .hero-proof { gap: 5px; }
    body.home-frame .hero-proof li { font-size: 11px; padding: 5px 8px 5px 20px; }
    body.home-frame .hero-proof li::after { left: 8px; }
}
@media (max-width: 768px) {
    body.home-frame .hero .hero-container { padding-left: 0; padding-right: 0; }
}

/* ==========================================================================
   Round 5: static "Automate", cross-fade words, lighter proof points
   ========================================================================== */
/* Slot keeps the width of the longest word: nothing on the line moves */
body.home-frame .hero-rotate-wrapper {
    transition: none;
    overflow: visible;
    height: auto;
}
body.home-frame .hero-rotate-words { grid-template-columns: max-content; }
@media (max-width: 768px) {
    body.home-frame .hero-rotate-words { grid-template-columns: minmax(0, 1fr); }
}
/* Cross-fade in place: old word fades out, then the new one fades in */
body.home-frame .hero-rotate-word,
body.home-frame .hero-rotate-word.exit {
    opacity: 0;
    transform: none;
    filter: blur(4px);
    transition: opacity 0.35s ease, filter 0.35s ease;
    transition-delay: 0s;
}
body.home-frame .hero-rotate-word.active {
    opacity: 1;
    filter: blur(0);
    transition: opacity 0.45s ease 0.3s, filter 0.45s ease 0.3s;
}
@media (prefers-reduced-motion: reduce) {
    body.home-frame .hero-rotate-word,
    body.home-frame .hero-rotate-word.active { transition: opacity 0.2s linear; filter: none; }
}

/* Proof points: quiet supporting text, clearly not buttons */
body.home-frame .hero-proof { gap: 6px 28px; margin-top: clamp(18px, 3vh, 30px); }
body.home-frame .hero-proof li {
    background: rgba(255, 255, 255, 0.72);
    border: 0;
    border-radius: 2px;
    padding: 3px 8px 3px 22px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: rgba(1, 28, 64, 0.78);
}
body.home-frame .hero-proof li::after { left: 8px; width: 7px; height: 3.5px; border-width: 0 0 1.5px 1.5px; border-style: solid; }
@media (max-width: 480px) {
    body.home-frame .hero-proof { gap: 4px 14px; }
    body.home-frame .hero-proof li { font-size: 11px; letter-spacing: 0.02em; padding: 2px 6px 2px 19px; }
    body.home-frame .hero-proof li::after { left: 6px; }
}

/* ---- Intake v3: scan -> extract -> send -> consolidate (plays on tab open) ---- */
.pm-ref-body { display: grid; grid-template-columns: 150px 1fr; gap: 14px; align-items: start; }
.pm-fax { display: flex; flex-direction: column; gap: 6px; }
.pm-fax-page { position: relative; height: 190px; background: #fbfbf8; border: 1px solid #e5e5e5; border-radius: 4px; padding: 10px 9px; overflow: hidden; box-shadow: 0 2px 6px rgba(1,28,64,0.06); display: flex; flex-direction: column; gap: 5px; }
.pm-fax-head { display: flex; flex-direction: column; gap: 1px; margin-bottom: 3px; }
.pm-fax-head b { font-size: 6.5px; letter-spacing: 0.04em; color: #262626; }
.pm-fax-head span { font-size: 5.5px; color: #737373; }
.pm-fax-line { height: 3px; border-radius: 2px; background: #d9d9d9; }
.pm-fax-sign { margin-top: auto; font: italic 8px/1 Georgia, serif; color: #404040; }
.pm-fax-box { position: absolute; left: 7px; right: 7px; height: 12px; border: 1.5px solid #468AF7; border-radius: 2px; background: rgba(70,138,247,0.10); opacity: 0; }
.pm-fb1 { top: 44px; right: 40px; } .pm-fb2 { top: 60px; left: 40px; } .pm-fb3 { top: 76px; right: 20px; } .pm-fb4 { top: 92px; right: 55px; }
.pm-scanline { position: absolute; left: 0; right: 0; top: -20px; height: 20px; background: linear-gradient(180deg, transparent, rgba(70,138,247,0.35) 80%, #468AF7); opacity: 0; }
.pm-fax-meta { position: relative; height: 14px; font-size: 10px; font-weight: 600; }
.pm-scan-state { position: absolute; left: 0; top: 0; white-space: nowrap; }
.pm-s1 { color: #b45309; } .pm-s2 { color: #15803d; opacity: 0; }
.pm-xgrid { gap: 7px 14px; }
.pm-swap { position: relative; display: inline-grid; }
.pm-swap > * { grid-area: 1 / 1; justify-self: end; }
.pm-ml { margin-left: auto; }
.pm-sw2, .pm-sw4 { opacity: 0; }
.pm-ck { display: flex; align-items: center; gap: 7px; font-size: 11px; }
.pm-ck-ic { position: relative; width: 14px; height: 14px; display: inline-grid; }
.pm-ck-ic .pm-i { grid-area: 1 / 1; }
.pm-ck-wait { color: #d4d4d4; } .pm-ck-done { color: #16a34a; opacity: 0; }
.pm-ev-ready { background: #011C40; border-color: #011C40; }
.pm-ev-ready b { color: #fff; } .pm-ev-ready span { color: rgba(255,255,255,0.75) !important; }
.pm-ev-ready > .pm-i { color: #70D3C6; } .pm-ev-ready .pm-ev-chev { color: rgba(255,255,255,0.6); }

.product-panel.active .pm-scanline { animation: pmScan 1.2s ease-in-out 0.2s 1 both; }
.product-panel.active .pm-fax-box { animation: pmFlash 0.5s ease both; }
.product-panel.active .pm-fb1 { animation-delay: 0.45s; } .product-panel.active .pm-fb2 { animation-delay: 0.65s; }
.product-panel.active .pm-fb3 { animation-delay: 0.85s; } .product-panel.active .pm-fb4 { animation-delay: 1.05s; }
.product-panel.active .pm-xf { animation: pmIn 0.35s ease var(--d) both; }
.product-panel.active .pm-s1 { animation: pmOut 0.3s ease 1.4s both; }
.product-panel.active .pm-s2 { animation: pmIn 0.3s ease 1.5s both; }
.product-panel.active .pm-sw1 { animation: pmOut 0.3s ease 1.4s both; }
.product-panel.active .pm-sw2 { animation: pmIn 0.3s ease 1.5s both; }
.product-panel.active .pm-sw3 { animation: pmOut 0.3s ease 4.9s both; }
.product-panel.active .pm-sw4 { animation: pmIn 0.3s ease 5s both; }
.product-panel.active .pm-ck-wait { animation: pmOut 0.25s ease var(--d) both; }
.product-panel.active .pm-ck-done { animation: pmPop 0.35s ease var(--d) both; }
@keyframes pmScan { 0% { top: -20px; opacity: 1; } 90% { opacity: 1; } 100% { top: 100%; opacity: 0; } }
@keyframes pmFlash { from { opacity: 0; } to { opacity: 1; } }
@keyframes pmOut { to { opacity: 0; } }
@keyframes pmPop { 0% { opacity: 0; transform: scale(0.6); } 70% { transform: scale(1.15); } 100% { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
    .product-panel.active .pm-scanline, .product-panel.active .pm-fax-box, .product-panel.active .pm-xf,
    .product-panel.active .pm-s1, .product-panel.active .pm-s2, .product-panel.active .pm-sw1, .product-panel.active .pm-sw2,
    .product-panel.active .pm-sw3, .product-panel.active .pm-sw4, .product-panel.active .pm-ck-wait, .product-panel.active .pm-ck-done { animation-duration: 0.01s; }
}

/* Press: linked logos keep the same size and hover treatment */
body.home-frame .press-logo-link { display: inline-flex; align-items: center; }
body.home-frame .press-logo-link:hover .press-logo,
body.home-frame .press-logo-link:focus-visible .press-logo { filter: none; opacity: 1; }
body.home-frame .press-logo-link:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }

/* Press: text link under the logo row — the logos are deliberately muted and
   do not read as interactive on their own */
body.home-frame .press-more { text-align: center; margin: 22px 0 0; font-size: 14px; }
body.home-frame .press-more a {
    color: var(--ink-3);
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    padding-bottom: 2px;
    transition: color 0.2s ease, border-color 0.2s ease;
}
body.home-frame .press-more a:hover,
/* not var(--blue): #468AF7 is 3.37:1 on white, which fails AA for 14px text */
body.home-frame .press-more a:focus-visible { color: #2C66C4; }

/* Product mockups are fabricated sample data, and this says so on the page.
   The mockup containers already carry aria-hidden + data-nosnippet, but
   neither stops a crawler or an LLM from indexing the text inside them. */
body.home-frame .product-disclaimer {
    margin: 0;
    padding: 20px var(--gutter, 32px) 40px;
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
    color: rgba(255, 255, 255, 0.62);
}
