:root {
    --website-blue:#0b63f6;
    --website-blue-dark:#073b9a;
    --website-blue-soft:#eef6ff;
    --website-blue-lighter:#f7fbff;
    --website-text:#16263a;
    --website-muted:#63758a;
    --website-border:#dce8f7;
    --website-surface:#ffffff;
    --website-bg:#f6f9fd;
    --website-shadow:0 22px 60px rgba(22, 38, 58, .09);
}

* {
    box-sizing:border-box;
}

body {
    margin:0;
    font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color:var(--website-text);
    background:
        radial-gradient(circle at top left, rgba(11, 99, 246, .08), transparent 34rem),
        linear-gradient(180deg, #fff 0, var(--website-bg) 34rem);
}

a {
    color:inherit;
    text-decoration:none;
}

.website-header {
    position:sticky;
    top:0;
    z-index:20;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:18px clamp(20px, 5vw, 72px);
    background:rgba(255, 255, 255, .95);
    border-bottom:1px solid var(--website-border);
    backdrop-filter:blur(16px);
}

.website-brand {
    display:flex;
    align-items:center;
    gap:12px;
    min-width:224px;
}

.website-brand__mark {
    display:inline-flex;
    width:46px;
    height:46px;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    color:#fff;
    background:linear-gradient(135deg, var(--website-blue-dark), var(--website-blue));
    font-weight:900;
    letter-spacing:.05em;
}

.website-brand__copy strong,
.website-brand__copy small {
    display:block;
}

.website-brand__copy small {
    color:var(--website-muted);
    margin-top:2px;
}

.website-nav,
.website-header__actions,
.hero-actions {
    display:flex;
    align-items:center;
}

.website-nav {
    justify-content:center;
    gap:22px;
    color:#40546b;
    font-weight:750;
}

.website-header__actions,
.hero-actions {
    gap:12px;
}

.website-link,
.website-nav a {
    transition:color .18s ease;
}

.website-link:hover,
.website-nav a:hover {
    color:var(--website-blue);
}

.website-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 18px;
    border:1px solid transparent;
    border-radius:14px;
    font-weight:850;
}

.website-button--primary {
    color:#fff;
    background:var(--website-blue);
    box-shadow:0 16px 34px rgba(11, 99, 246, .25);
}

.website-button--secondary {
    color:var(--website-blue-dark);
    background:#fff;
    border-color:var(--website-border);
}

.website-button:hover {
    transform:translateY(-1px);
}

.website-menu-button {
    display:none;
    width:44px;
    height:44px;
    border:1px solid var(--website-border);
    border-radius:14px;
    background:#fff;
}

.website-menu-button span {
    display:block;
    width:18px;
    height:2px;
    margin:4px auto;
    background:var(--website-text);
    border-radius:99px;
}

.hero-section,
.page-hero,
.content-section,
.website-footer {
    width:min(1180px, calc(100% - 40px));
    margin:0 auto;
}

.hero-section {
    display:grid;
    grid-template-columns:minmax(0, 1.04fr) minmax(360px, .82fr);
    align-items:center;
    gap:54px;
    padding:96px 0 70px;
}

.eyebrow {
    display:inline-flex;
    margin-bottom:14px;
    color:var(--website-blue);
    font-size:13px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.hero-section h1,
.page-hero h1,
.section-heading h2,
.split-section h2 {
    margin:0;
    letter-spacing:0;
    line-height:1.03;
}

.hero-section h1 {
    max-width:760px;
    font-size:clamp(42px, 7vw, 76px);
}

.page-hero h1,
.section-heading h2,
.split-section h2 {
    font-size:clamp(34px, 5vw, 54px);
}

.hero-section p,
.page-hero p,
.content-section p,
.website-footer p {
    color:var(--website-muted);
    line-height:1.72;
}

.hero-section__copy > p {
    max-width:650px;
    margin:24px 0 30px;
    font-size:18px;
}

.hero-dashboard,
.website-card,
.faq-card,
.contact-form {
    background:var(--website-surface);
    border:1px solid var(--website-border);
    border-radius:24px;
    box-shadow:var(--website-shadow);
}

.hero-dashboard {
    position:relative;
    padding:22px;
    overflow:hidden;
}

.hero-dashboard::before {
    content:"";
    position:absolute;
    inset:-40% -20% auto auto;
    width:220px;
    height:220px;
    border-radius:999px;
    background:rgba(11, 99, 246, .09);
}

.hero-dashboard__header {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}

.hero-dashboard__header span {
    color:var(--website-muted);
    font-size:13px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.hero-dashboard__header strong {
    color:var(--website-blue-dark);
}

.snapshot-card {
    position:relative;
    padding:24px;
    border-radius:22px;
    color:#fff;
    background:linear-gradient(145deg, var(--website-blue-dark), var(--website-blue));
}

.snapshot-card small,
.snapshot-card strong {
    display:block;
}

.snapshot-card small {
    color:rgba(255,255,255,.72);
    font-weight:800;
    margin-bottom:8px;
}

.snapshot-card strong {
    font-size:34px;
}

.snapshot-card p {
    margin:14px 0 0;
    color:rgba(255, 255, 255, .84);
}

.trust-row {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:26px;
}

.trust-row span {
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border:1px solid var(--website-border);
    border-radius:999px;
    color:var(--website-blue-dark);
    background:#fff;
    font-size:13px;
    font-weight:850;
}

.stat-grid {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:14px;
    margin-top:16px;
}

.stat-grid div {
    padding:18px;
    border-radius:18px;
    background:var(--website-blue-soft);
}

.stat-grid strong,
.stat-grid span {
    display:block;
}

.stat-grid strong {
    color:var(--website-blue-dark);
    font-size:30px;
}

.stat-grid span {
    color:var(--website-muted);
    font-weight:750;
}

.content-section {
    padding:68px 0;
}

.content-section--surface {
    width:100%;
    padding:76px max(20px, calc((100vw - 1180px) / 2));
    background:#fff;
    border-top:1px solid var(--website-border);
    border-bottom:1px solid var(--website-border);
}

.section-heading {
    max-width:760px;
    margin-bottom:26px;
}

.section-heading--center {
    margin-right:auto;
    margin-left:auto;
    text-align:center;
}

.section-heading p {
    margin-bottom:0;
    font-size:17px;
}

.card-grid,
.dimension-grid,
.domain-list,
.process-grid,
.faq-grid {
    display:grid;
    gap:18px;
}

.card-grid--three {
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

.card-grid--four,
.dimension-grid {
    grid-template-columns:repeat(4, minmax(0, 1fr));
}

.website-card,
.faq-card {
    padding:28px;
}

.website-card h3,
.faq-card h3 {
    margin:0 0 10px;
    font-size:20px;
}

.card-icon {
    display:inline-flex;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
    border-radius:14px;
    color:#fff;
    background:var(--website-blue);
    font-weight:900;
}

.feature-card {
    min-height:250px;
}

.feature-card h3 {
    font-size:22px;
}

.dimension-card {
    padding:26px;
    border:1px solid var(--website-border);
    border-radius:22px;
    background:linear-gradient(180deg, #fff, var(--website-blue-lighter));
    box-shadow:0 14px 34px rgba(22, 38, 58, .055);
}

.dimension-card strong {
    display:block;
    margin-bottom:10px;
    font-size:22px;
}

.domain-list {
    grid-template-columns:repeat(5, minmax(0, 1fr));
}

.domain-list article {
    display:flex;
    align-items:center;
    gap:12px;
    min-height:76px;
    padding:18px;
    border-radius:20px;
    background:#fff;
    border:1px solid var(--website-border);
}

.domain-list span {
    width:12px;
    height:12px;
    flex:0 0 auto;
    border-radius:50%;
    background:var(--website-blue);
}

.split-section {
    display:grid;
    grid-template-columns:minmax(0, .95fr) minmax(320px, .85fr);
    align-items:start;
    gap:28px;
}

.report-preview-section {
    display:grid;
    grid-template-columns:minmax(0, .82fr) minmax(440px, 1fr);
    align-items:center;
    gap:44px;
}

.report-preview-section h2 {
    margin:0;
    font-size:clamp(34px, 5vw, 54px);
    line-height:1.04;
}

.report-preview {
    padding:22px;
    border:1px solid var(--website-border);
    border-radius:28px;
    background:#fff;
    box-shadow:var(--website-shadow);
}

.report-preview__header {
    display:flex;
    align-items:center;
    gap:14px;
    padding-bottom:18px;
    border-bottom:1px solid var(--website-border);
}

.report-preview__header > span {
    display:inline-flex;
    width:46px;
    height:46px;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    color:#fff;
    background:var(--website-blue);
    font-weight:900;
}

.report-preview__header strong,
.report-preview__header small {
    display:block;
}

.report-preview__header small {
    color:var(--website-muted);
    margin-top:2px;
}

.report-preview__grid {
    display:grid;
    grid-template-columns:1.05fr .8fr;
    gap:16px;
    margin-top:18px;
}

.report-preview__grid section,
.report-preview__cards span {
    border:1px solid var(--website-border);
    border-radius:18px;
    background:var(--website-blue-lighter);
}

.report-preview__grid section {
    padding:16px;
}

.report-preview small {
    display:block;
    color:var(--website-muted);
    font-weight:900;
    margin-bottom:12px;
}

.preview-table {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:8px;
}

.preview-table span {
    height:18px;
    border-radius:8px;
    background:#dceaff;
}

.preview-radar {
    width:132px;
    height:132px;
    margin:0 auto;
    border:2px solid var(--website-blue);
    clip-path:polygon(50% 0, 100% 38%, 82% 100%, 18% 100%, 0 38%);
    background:linear-gradient(145deg, rgba(11,99,246,.1), rgba(11,99,246,.24));
}

.report-preview__cards {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:12px;
    margin-top:16px;
}

.report-preview__cards span {
    padding:14px;
    color:var(--website-blue-dark);
    font-size:13px;
    font-weight:900;
}

.stacked-list {
    display:grid;
    gap:14px;
}

.stacked-list article {
    padding:20px;
    border:1px solid var(--website-border);
    border-radius:20px;
    background:#fff;
}

.stacked-list strong,
.stacked-list span {
    display:block;
}

.stacked-list span {
    margin-top:6px;
    color:var(--website-muted);
    line-height:1.58;
}

.process-grid,
.journey-grid {
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

.journey-grid {
    grid-template-columns:repeat(4, minmax(0, 1fr));
}

.process-grid article,
.journey-grid article {
    padding:28px;
    border-radius:24px;
    background:#fff;
    border:1px solid var(--website-border);
    box-shadow:var(--website-shadow);
}

.process-grid span,
.journey-grid span {
    display:inline-flex;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
    border-radius:14px;
    color:#fff;
    background:var(--website-blue);
    font-weight:900;
}

.journey-grid strong,
.journey-grid p {
    display:block;
}

.journey-grid strong {
    font-size:20px;
}

.compact-card {
    min-height:190px;
}

.stakeholder-grid {
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:16px;
}

.stakeholder-card {
    min-height:250px;
    padding:24px;
    border:1px solid var(--website-border);
    border-radius:24px;
    background:linear-gradient(180deg, #fff, var(--website-blue-lighter));
    box-shadow:0 14px 34px rgba(22, 38, 58, .055);
}

.stakeholder-card span {
    display:inline-flex;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
    border-radius:14px;
    color:#fff;
    background:var(--website-blue);
    font-weight:900;
}

.stakeholder-card h3 {
    margin:0 0 10px;
    font-size:20px;
}

.page-hero {
    padding:78px 0 28px;
    text-align:center;
}

.page-hero p {
    max-width:780px;
    margin:20px auto 0;
    font-size:18px;
}

.faq-list {
    display:grid;
    gap:16px;
}

.faq-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
}

.contact-panel p {
    display:grid;
    grid-template-columns:120px 1fr;
    gap:16px;
    margin:14px 0;
}

.contact-panel span {
    color:var(--website-muted);
}

.contact-form {
    display:grid;
    gap:16px;
    padding:26px;
}

.login-guidance {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:var(--website-card-gap-compact, 16px);
}

.login-guidance h2,
.contact-info-state h2 {
    margin:16px 0 10px;
    font-size:22px;
}

.contact-info-state {
    display:grid;
    gap:14px;
}

.contact-info-list {
    display:grid;
    gap:10px;
    margin:2px 0 4px;
}

.contact-info-list span {
    display:block;
    padding:12px 14px;
    border:1px solid var(--website-border);
    border-radius:16px;
    color:var(--website-muted);
    background:var(--website-blue-lighter);
    line-height:1.55;
}

.contact-info-list strong {
    display:block;
    color:var(--website-text);
    margin-bottom:2px;
}

.contact-form label {
    display:grid;
    gap:8px;
    font-weight:800;
}

.contact-form input,
.contact-form textarea {
    width:100%;
    border:1px solid var(--website-border);
    border-radius:14px;
    padding:13px 14px;
    color:var(--website-text);
    font:inherit;
}

.hero-actions--center {
    justify-content:center;
    margin-top:24px;
}

.website-footer {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:30px;
    padding:38px 0 52px;
    border-top:1px solid var(--website-border);
}

.website-footer p {
    max-width:520px;
}

.website-footer__links {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:14px;
    color:var(--website-muted);
    font-weight:800;
}

@media (max-width: 1040px) {
    .website-header {
        align-items:flex-start;
        flex-direction:column;
    }

    .website-nav,
    .website-header__actions {
        flex-wrap:wrap;
        justify-content:flex-start;
    }

    .hero-section,
    .split-section,
    .card-grid--three,
    .card-grid--four,
    .dimension-grid,
    .domain-list,
    .process-grid,
    .journey-grid,
    .faq-grid,
    .login-guidance {
        grid-template-columns:1fr;
    }

    .report-preview-section {
        grid-template-columns:1fr;
    }

    .stakeholder-grid {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .website-header {
        gap:14px;
    }

    .website-menu-button {
        display:inline-block;
        position:absolute;
        top:18px;
        right:20px;
    }

    .website-nav,
    .website-header__actions {
        display:none;
        width:100%;
    }

    .website-nav.is-open,
    .website-header:has(.website-nav.is-open) .website-header__actions {
        display:flex;
        flex-direction:column;
        align-items:stretch;
    }

    .hero-section,
    .page-hero,
    .content-section,
    .website-footer {
        width:min(100% - 28px, 1180px);
    }

    .content-section--surface {
        width:100%;
        padding-right:14px;
        padding-left:14px;
    }

    .hero-section {
        padding-top:54px;
    }

    .hero-actions,
    .website-footer {
        align-items:stretch;
        flex-direction:column;
    }

    .stat-grid {
        grid-template-columns:1fr;
    }

    .report-preview__grid,
    .report-preview__cards,
    .stakeholder-grid {
        grid-template-columns:1fr;
    }
}

/* Sprint 2 premium SaaS polish */
:root {
    --website-cyan:#30b7ff;
    --website-green:#16a673;
    --website-purple:#6d5dfc;
    --website-shadow-hover:0 28px 70px rgba(22, 38, 58, .14);
    --website-radius:24px;
}

.hero-section {
    padding-top:108px;
    padding-bottom:76px;
}

.hero-section h1 {
    max-width:820px;
    font-size:clamp(46px, 7vw, 82px);
}

.hero-section__copy > p {
    max-width:720px;
}

.website-button {
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.website-button:hover {
    box-shadow:0 20px 42px rgba(11, 99, 246, .18);
}

.product-mockup {
    position:relative;
}

.product-mockup::before,
.product-mockup::after {
    content:"";
    position:absolute;
    z-index:-1;
    border-radius:999px;
}

.product-mockup::before {
    width:220px;
    height:220px;
    right:-42px;
    top:-42px;
    background:rgba(11, 99, 246, .13);
}

.product-mockup::after {
    width:160px;
    height:160px;
    left:-32px;
    bottom:-28px;
    background:rgba(48, 183, 255, .12);
}

.mockup-window {
    overflow:hidden;
    border:1px solid rgba(220, 232, 247, .95);
    border-radius:30px;
    background:#fff;
    box-shadow:0 34px 90px rgba(22, 38, 58, .16);
}

.mockup-bar {
    display:flex;
    align-items:center;
    gap:8px;
    min-height:48px;
    padding:0 18px;
    border-bottom:1px solid var(--website-border);
    background:linear-gradient(180deg, #fff, #f8fbff);
}

.mockup-bar span {
    width:10px;
    height:10px;
    border-radius:50%;
    background:#c8d7ea;
}

.mockup-bar strong {
    margin-left:auto;
    color:var(--website-muted);
    font-size:13px;
}

.mockup-body {
    display:grid;
    grid-template-columns:92px 1fr;
    min-height:420px;
}

.mockup-sidebar {
    display:grid;
    align-content:start;
    gap:12px;
    padding:20px 16px;
    color:#fff;
    background:var(--website-blue-dark);
}

.mockup-sidebar strong {
    margin-bottom:10px;
}

.mockup-sidebar span {
    height:10px;
    border-radius:999px;
    background:rgba(255, 255, 255, .28);
}

.mockup-main {
    padding:22px;
    background:linear-gradient(180deg, #f8fbff, #fff);
}

.mockup-section-title {
    margin-bottom:16px;
}

.mockup-section-title small,
.mockup-section-title strong {
    display:block;
}

.mockup-section-title small {
    color:var(--website-blue);
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.mockup-section-title strong {
    margin-top:5px;
    font-size:20px;
}

.mockup-grid {
    display:grid;
    grid-template-columns:1fr .72fr;
    gap:14px;
}

.mockup-card {
    min-height:160px;
    padding:16px;
    border:1px solid var(--website-border);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 28px rgba(22, 38, 58, .055);
}

.mockup-card small {
    display:block;
    margin-bottom:12px;
    color:var(--website-muted);
    font-weight:900;
}

.mockup-table {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:8px;
}

.mockup-table span {
    height:18px;
    border-radius:8px;
    background:#dceaff;
}

.mockup-table span:nth-child(4n+1) {
    background:rgba(11, 99, 246, .22);
}

.mockup-radar {
    width:126px;
    height:126px;
    margin:4px auto 0;
    border:2px solid var(--website-blue);
    clip-path:polygon(50% 0, 100% 38%, 82% 100%, 18% 100%, 0 38%);
    background:linear-gradient(145deg, rgba(11, 99, 246, .08), rgba(11, 99, 246, .24));
}

.mockup-recommendations {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:12px;
    margin-top:14px;
}

.mockup-recommendations span {
    min-height:72px;
    padding:14px;
    border-radius:16px;
    color:var(--website-blue-dark);
    background:var(--website-blue-soft);
    font-size:13px;
    font-weight:900;
}

.enterprise-icon {
    display:inline-flex;
    width:46px;
    height:46px;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    color:#fff;
    background:linear-gradient(135deg, var(--website-blue), var(--website-cyan));
}

.enterprise-icon svg {
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.outcome-grid,
.domain-card-grid {
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:18px;
}

.outcome-card,
.domain-card {
    min-height:260px;
    padding:24px;
    border:1px solid var(--website-border);
    border-radius:var(--website-radius);
    background:#fff;
    box-shadow:0 14px 34px rgba(22, 38, 58, .055);
}

.outcome-card {
    min-height:280px;
}

.outcome-card h3,
.domain-card strong {
    display:block;
    margin:18px 0 10px;
    font-size:20px;
}

.dimension-grid--premium .dimension-card:nth-child(2) .enterprise-icon {
    background:linear-gradient(135deg, var(--website-green), #4fd7a8);
}

.dimension-grid--premium .dimension-card:nth-child(3) .enterprise-icon {
    background:linear-gradient(135deg, #0f8fb9, #57c7e8);
}

.dimension-grid--premium .dimension-card:nth-child(4) .enterprise-icon {
    background:linear-gradient(135deg, var(--website-purple), #9e8cff);
}

.stakeholder-grid--premium {
    grid-template-columns:repeat(5, minmax(0, 1fr));
}

.timeline-flow {
    position:relative;
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:16px;
}

.timeline-flow::before {
    content:"";
    position:absolute;
    top:49px;
    right:8%;
    left:8%;
    height:2px;
    background:linear-gradient(90deg, rgba(11, 99, 246, .12), rgba(11, 99, 246, .45), rgba(11, 99, 246, .12));
}

.timeline-flow article {
    position:relative;
    padding:28px;
    border:1px solid var(--website-border);
    border-radius:24px;
    background:#fff;
    box-shadow:var(--website-shadow);
}

.timeline-flow span {
    position:relative;
    z-index:1;
    display:inline-flex;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
    border-radius:14px;
    color:#fff;
    background:var(--website-blue);
    font-weight:900;
}

.timeline-flow strong {
    display:block;
    font-size:20px;
}

.website-card,
.faq-card,
.dimension-card,
.domain-card,
.stakeholder-card,
.outcome-card,
.timeline-flow article,
.report-preview {
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.website-card:hover,
.faq-card:hover,
.dimension-card:hover,
.domain-card:hover,
.stakeholder-card:hover,
.outcome-card:hover,
.timeline-flow article:hover,
.report-preview:hover {
    transform:translateY(-3px);
    border-color:#c6dcfb;
    box-shadow:var(--website-shadow-hover);
}

.action-showcase {
    padding-top:34px;
}

.showcase-flow {
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:14px;
}

.showcase-card {
    position:relative;
    min-height:210px;
    padding:22px;
    border:1px solid var(--website-border);
    border-radius:24px;
    background:#fff;
    box-shadow:0 14px 34px rgba(22, 38, 58, .055);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.showcase-card:not(:last-child)::after {
    content:"";
    position:absolute;
    top:50%;
    right:-13px;
    width:12px;
    height:2px;
    background:rgba(11, 99, 246, .38);
}

.showcase-card strong {
    display:block;
    margin:18px 0 8px;
    font-size:18px;
}

.showcase-card p {
    margin:0;
}

.showcase-card:hover {
    transform:translateY(-3px);
    border-color:#c6dcfb;
    box-shadow:var(--website-shadow-hover);
}

.visual-timeline,
.contact-journey {
    display:grid;
    gap:14px;
}

.visual-timeline article,
.contact-journey article {
    display:grid;
    grid-template-columns:48px 1fr;
    gap:14px;
    padding:18px;
    border:1px solid var(--website-border);
    border-radius:20px;
    background:#fff;
}

.visual-timeline span,
.contact-journey span {
    display:inline-flex;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    color:#fff;
    background:var(--website-blue);
    font-weight:900;
}

.visual-timeline strong,
.contact-journey strong {
    display:block;
    margin-bottom:4px;
}

.visual-timeline p,
.contact-journey p {
    margin:0;
}

.faq-accordion {
    max-width:920px;
}

.faq-accordion .faq-card {
    padding:0;
    overflow:hidden;
}

.faq-accordion summary {
    cursor:pointer;
    list-style:none;
    padding:22px 26px;
    font-size:18px;
    font-weight:900;
}

.faq-accordion summary::-webkit-details-marker {
    display:none;
}

.faq-accordion summary::after {
    content:"+";
    float:right;
    color:var(--website-blue);
    font-size:22px;
}

.faq-accordion details[open] summary::after {
    content:"-";
}

.faq-accordion p {
    margin:0;
    padding:0 26px 24px;
}

.website-footer {
    display:grid;
    grid-template-columns:minmax(280px, .75fr) minmax(0, 1fr);
    gap:54px;
    padding-top:48px;
    padding-bottom:58px;
}

.website-footer__columns {
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:22px;
}

.website-footer__columns nav {
    display:grid;
    align-content:start;
    gap:10px;
}

.website-footer__columns strong {
    color:var(--website-text);
}

.website-footer__columns a,
.website-footer__columns span {
    color:var(--website-muted);
    font-weight:800;
}

/*
 * RC2 freeze polish: compact the marketing website with one spacing rhythm
 * while leaving routes, copy, assessment modules, and browser behavior intact.
 */
:root {
    --website-section-y-compact:54px;
    --website-surface-y-compact:60px;
    --website-card-pad-compact:20px;
    --website-card-gap-compact:16px;
    --website-radius-compact:22px;
}

.content-section {
    padding-top:var(--website-section-y-compact);
    padding-bottom:var(--website-section-y-compact);
}

.content-section--surface {
    padding-top:var(--website-surface-y-compact);
    padding-bottom:var(--website-surface-y-compact);
}

.page-hero {
    padding-top:62px;
    padding-bottom:18px;
}

.hero-section {
    padding-top:86px;
    padding-bottom:58px;
}

.section-heading {
    margin-bottom:22px;
}

.section-heading p {
    margin-top:12px;
}

.content-section--surface > .section-heading,
.content-section--surface > .dimension-grid,
.content-section--surface > .stakeholder-grid,
.content-section--surface > .card-grid {
    max-width:1180px;
    margin-left:auto;
    margin-right:auto;
}

.card-grid,
.dimension-grid,
.domain-list,
.process-grid,
.faq-grid,
.outcome-grid,
.domain-card-grid,
.timeline-flow,
.journey-grid,
.stakeholder-grid,
.showcase-flow {
    gap:var(--website-card-gap-compact);
}

.website-card,
.faq-card,
.contact-form,
.dimension-card,
.domain-card,
.stakeholder-card,
.outcome-card,
.timeline-flow article,
.journey-grid article,
.showcase-card,
.report-preview {
    border-radius:var(--website-radius-compact);
}

.website-card,
.faq-card,
.contact-form {
    padding:22px;
}

.dimension-card,
.domain-card,
.stakeholder-card,
.outcome-card,
.showcase-card,
.timeline-flow article,
.journey-grid article {
    padding:var(--website-card-pad-compact);
}

.feature-card,
.compact-card,
.dimension-card,
.domain-card,
.stakeholder-card,
.outcome-card,
.showcase-card {
    min-height:0;
}

.feature-card {
    min-height:210px;
}

.stakeholder-card,
.domain-card {
    min-height:220px;
}

.outcome-card {
    min-height:230px;
}

.showcase-card {
    min-height:180px;
}

.dimension-card strong,
.domain-card strong,
.outcome-card h3,
.stakeholder-card h3 {
    margin-top:14px;
    margin-bottom:8px;
}

.enterprise-icon,
.stakeholder-card span,
.process-grid span,
.journey-grid span,
.timeline-flow span,
.visual-timeline span,
.contact-journey span {
    width:38px;
    height:38px;
    border-radius:13px;
}

.enterprise-icon svg {
    width:20px;
    height:20px;
}

.timeline-flow::before {
    top:47px;
}

.timeline-flow strong,
.journey-grid strong {
    font-size:19px;
}

.split-section {
    gap:24px;
}

.about-timeline-section {
    grid-template-columns:minmax(0, .72fr) minmax(520px, 1fr);
    align-items:stretch;
}

.about-timeline-section .visual-timeline {
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

.about-timeline-section .visual-timeline article {
    display:block;
    padding:22px;
}

.about-timeline-section .visual-timeline span {
    margin-bottom:14px;
}

.visual-timeline,
.contact-journey {
    gap:12px;
}

.visual-timeline article,
.contact-journey article {
    grid-template-columns:42px 1fr;
    gap:12px;
    padding:16px;
}

.contact-panel h2 {
    margin-bottom:18px;
}

.contact-panel p {
    margin-top:10px;
    margin-bottom:10px;
}

.contact-form {
    gap:14px;
}

.contact-form textarea {
    min-height:118px;
}

.report-preview {
    padding:18px;
}

.report-preview-section {
    gap:36px;
}

.report-preview__header {
    padding-bottom:14px;
}

.report-preview__grid {
    gap:14px;
    margin-top:14px;
}

.report-preview__grid section {
    padding:14px;
}

.report-preview__cards {
    gap:10px;
    margin-top:14px;
}

.report-preview__cards span {
    padding:12px;
}

.mockup-body {
    min-height:382px;
}

.mockup-main {
    padding:18px;
}

.mockup-section-title {
    margin-bottom:12px;
}

.mockup-card {
    min-height:136px;
    padding:14px;
}

.mockup-radar {
    width:116px;
    height:116px;
}

.mockup-recommendations span {
    min-height:58px;
    padding:12px;
}

.journey-grid article {
    min-height:0;
}

.website-footer {
    gap:44px;
    padding-top:42px;
    padding-bottom:50px;
}

.website-footer__columns {
    gap:18px;
}

.soon-label {
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.soon-label em {
    display:inline-flex;
    align-items:center;
    min-height:20px;
    padding:2px 8px;
    border:1px solid rgba(11, 99, 246, .2);
    border-radius:999px;
    color:var(--website-blue-dark);
    background:var(--website-blue-soft);
    font-size:10px;
    font-style:normal;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.consumer-dashboard {
    padding:clamp(32px, 5vw, 64px) clamp(18px, 5vw, 72px);
}

.consumer-dashboard__shell {
    width:min(1180px, 100%);
    margin:0 auto;
    display:grid;
    gap:24px;
}

.consumer-welcome-card,
.consumer-panel,
.consumer-stat-strip article,
.consumer-catalog-card {
    border:1px solid var(--website-border);
    border-radius:24px;
    background:rgba(255, 255, 255, .96);
    box-shadow:var(--website-shadow);
}

.consumer-welcome-card {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:32px;
    overflow:hidden;
    background:
        linear-gradient(135deg, rgba(11, 99, 246, .10), transparent 48%),
        #fff;
}

.consumer-welcome-card h1,
.consumer-panel h2,
.consumer-panel h3,
.consumer-catalog-card h3 {
    margin:0;
}

.consumer-welcome-card h1 {
    margin-top:8px;
    font-size:clamp(32px, 5vw, 54px);
    line-height:1.02;
}

.consumer-welcome-card p {
    max-width:720px;
    margin:14px 0 0;
    color:var(--website-muted);
    font-size:17px;
    line-height:1.7;
}

.consumer-welcome-card__meta {
    min-width:260px;
    padding:18px;
    border:1px solid rgba(11, 99, 246, .16);
    border-radius:18px;
    background:var(--website-blue-lighter);
}

.consumer-welcome-card__meta span,
.consumer-welcome-card__meta strong {
    display:block;
}

.consumer-welcome-card__meta span {
    color:var(--website-muted);
    overflow-wrap:anywhere;
}

.consumer-welcome-card__meta strong {
    margin-top:6px;
    color:var(--website-blue-dark);
}

.consumer-dashboard-grid,
.consumer-two-column {
    display:grid;
    grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
    gap:24px;
}

.consumer-panel {
    padding:24px;
}

.consumer-panel--primary {
    background:
        linear-gradient(135deg, rgba(11, 99, 246, .12), rgba(238, 246, 255, .22)),
        #fff;
}

.consumer-panel__header,
.consumer-panel__title {
    display:flex;
    align-items:center;
    gap:14px;
}

.consumer-panel__header {
    margin-bottom:18px;
}

.consumer-panel__header--spread {
    justify-content:space-between;
    gap:18px;
}

.consumer-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    flex:0 0 46px;
    border-radius:16px;
    color:#fff;
    background:linear-gradient(135deg, var(--website-blue-dark), var(--website-blue));
}

.consumer-icon svg {
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.consumer-panel small {
    display:block;
    color:var(--website-muted);
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.consumer-panel h2 {
    margin-top:3px;
    font-size:22px;
}

.assessment-state h3 {
    font-size:30px;
    line-height:1.15;
}

.consumer-panel p,
.consumer-catalog-card p,
.consumer-empty-state p {
    color:var(--website-muted);
    line-height:1.65;
}

.consumer-panel p {
    margin:12px 0 20px;
}

.consumer-button-row,
.consumer-stat-strip {
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.consumer-stat-strip {
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:16px;
}

.consumer-stat-strip article {
    padding:20px;
}

.consumer-stat-strip span {
    display:block;
    color:var(--website-blue);
    font-size:34px;
    font-weight:950;
}

.consumer-stat-strip strong {
    display:block;
    margin-top:2px;
}

.consumer-stat-strip p {
    margin:4px 0 0;
    color:var(--website-muted);
    font-size:13px;
}

.consumer-catalog {
    display:grid;
    gap:12px;
}

.consumer-catalog-card {
    padding:16px;
    box-shadow:none;
}

.consumer-catalog-card h3 {
    margin-top:10px;
    font-size:18px;
}

.consumer-catalog-card p {
    margin:7px 0 0;
    font-size:14px;
}

.consumer-catalog-card--available {
    border-color:rgba(11, 99, 246, .32);
    background:var(--website-blue-lighter);
}

.consumer-status-pill {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:26px;
    padding:4px 10px;
    border-radius:999px;
    color:var(--website-muted);
    background:#eef3f8;
    font-size:11px;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.consumer-status-pill--available {
    color:var(--website-blue-dark);
    background:var(--website-blue-soft);
}

.consumer-definition-list {
    display:grid;
    gap:10px;
    margin:0 0 18px;
}

.consumer-definition-list div,
.consumer-history-row {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}

.consumer-definition-list dt {
    color:var(--website-muted);
    font-size:13px;
    font-weight:800;
}

.consumer-definition-list dd {
    margin:0;
    text-align:right;
    font-weight:800;
    overflow-wrap:anywhere;
}

.consumer-progress {
    height:10px;
    overflow:hidden;
    margin-bottom:18px;
    border-radius:999px;
    background:#e8f0fb;
}

.consumer-progress span {
    display:block;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg, var(--website-blue-dark), var(--website-blue));
}

.consumer-history-row {
    padding:16px 0;
    border-top:1px solid var(--website-border);
}

.consumer-history-row strong,
.consumer-history-row span,
.consumer-history-row small {
    display:block;
}

.consumer-history-row span,
.consumer-history-row small {
    margin-top:4px;
    color:var(--website-muted);
}

.consumer-history-row > div:last-child {
    text-align:right;
}

.consumer-empty-state {
    padding:24px;
    border:1px dashed var(--website-border);
    border-radius:18px;
    background:var(--website-blue-lighter);
}

.consumer-text-link {
    color:var(--website-blue);
    font-weight:900;
}

.consumer-tip-list {
    display:grid;
    gap:12px;
    margin:0;
    padding-left:20px;
    color:var(--website-muted);
    line-height:1.65;
}

.consumer-tip-list li::marker {
    color:var(--website-blue);
}

.consumer-app {
    min-height:100vh;
    background:
        radial-gradient(circle at top left, rgba(11, 99, 246, .08), transparent 34rem),
        linear-gradient(180deg, #fff 0, var(--website-bg) 34rem);
}

.consumer-app-header {
    position:sticky;
    top:0;
    z-index:30;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:16px clamp(20px, 5vw, 72px);
    background:rgba(255, 255, 255, .96);
    border-bottom:1px solid var(--website-border);
    backdrop-filter:blur(16px);
}

.consumer-app-nav {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:6px;
    border:1px solid var(--website-border);
    border-radius:999px;
    background:rgba(247, 251, 255, .92);
}

.consumer-app-nav a {
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:0 14px;
    border-radius:999px;
    color:#40546b;
    font-size:14px;
    font-weight:850;
    transition:background .18s ease, color .18s ease;
}

.consumer-app-nav a:hover,
.consumer-app-nav a.is-active {
    color:var(--website-blue-dark);
    background:#fff;
    box-shadow:0 8px 20px rgba(22, 38, 58, .06);
}

.consumer-user-menu {
    position:relative;
    flex:0 0 auto;
}

.consumer-user-menu summary {
    display:flex;
    align-items:center;
    gap:10px;
    min-height:46px;
    padding:5px 12px 5px 5px;
    border:1px solid var(--website-border);
    border-radius:999px;
    background:#fff;
    cursor:pointer;
    list-style:none;
    color:var(--website-text);
    font-weight:900;
}

.consumer-user-menu summary::-webkit-details-marker {
    display:none;
}

.consumer-user-menu summary::after {
    content:"";
    width:7px;
    height:7px;
    margin-left:2px;
    border-right:2px solid var(--website-muted);
    border-bottom:2px solid var(--website-muted);
    transform:rotate(45deg) translateY(-2px);
}

.consumer-avatar {
    display:inline-flex;
    width:36px;
    height:36px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#fff;
    background:linear-gradient(135deg, var(--website-blue-dark), var(--website-blue));
    font-size:13px;
    font-weight:950;
}

.consumer-user-menu__name {
    max-width:180px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.consumer-user-menu__panel {
    position:absolute;
    right:0;
    top:calc(100% + 10px);
    display:grid;
    min-width:210px;
    padding:8px;
    border:1px solid var(--website-border);
    border-radius:18px;
    background:#fff;
    box-shadow:var(--website-shadow);
}

.consumer-user-menu__panel a,
.consumer-user-menu__panel button {
    width:100%;
    display:flex;
    align-items:center;
    min-height:40px;
    padding:0 12px;
    border:0;
    border-radius:12px;
    color:var(--website-text);
    background:transparent;
    font:inherit;
    font-weight:850;
    text-align:left;
    cursor:pointer;
}

.consumer-user-menu__panel a:hover,
.consumer-user-menu__panel button:hover {
    color:var(--website-blue-dark);
    background:var(--website-blue-lighter);
}

.consumer-app-footer {
    width:min(1180px, calc(100% - 40px));
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:26px 0 34px;
    border-top:1px solid var(--website-border);
    color:var(--website-muted);
    font-weight:800;
}

.consumer-app-footer nav {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:16px;
}

.consumer-flash {
    width:min(1180px, calc(100% - 40px));
    margin:18px auto 0;
    padding:14px 16px;
    border:1px solid rgba(22, 166, 115, .28);
    border-radius:16px;
    color:#075f42;
    background:#ecfdf6;
    font-weight:850;
}

.website-button:disabled,
.website-button[disabled] {
    cursor:not-allowed;
    opacity:.58;
    box-shadow:none;
}

@media (max-width: 1040px) {
    .product-mockup,
    .mockup-body,
    .mockup-grid,
    .mockup-recommendations,
    .outcome-grid,
    .domain-card-grid,
    .timeline-flow,
    .showcase-flow,
    .website-footer,
    .website-footer__columns {
        grid-template-columns:1fr;
    }

    .timeline-flow::before,
    .showcase-card::after {
        display:none;
    }

    .about-timeline-section {
        grid-template-columns:1fr;
    }

    .about-timeline-section .visual-timeline {
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }

    .consumer-welcome-card,
    .consumer-dashboard-grid,
    .consumer-two-column,
    .consumer-stat-strip {
        grid-template-columns:1fr;
    }

    .consumer-welcome-card {
        display:grid;
    }

    .consumer-app-header {
        align-items:flex-start;
        flex-direction:column;
    }

    .consumer-app-nav {
        flex-wrap:wrap;
        justify-content:flex-start;
        border-radius:22px;
    }
}

@media (max-width: 760px) {
    .about-timeline-section .visual-timeline {
        grid-template-columns:1fr;
    }

    .consumer-dashboard {
        padding:22px 14px;
    }

    .consumer-welcome-card,
    .consumer-panel,
    .consumer-stat-strip article {
        border-radius:20px;
        padding:20px;
    }

    .consumer-definition-list div,
    .consumer-history-row,
    .consumer-panel__header--spread {
        display:grid;
    }

    .consumer-definition-list dd,
    .consumer-history-row > div:last-child {
        text-align:left;
    }

    .consumer-app-header {
        gap:14px;
    }

    .consumer-menu-button {
        display:inline-block;
        position:absolute;
        top:18px;
        right:20px;
    }

    .consumer-app-nav,
    .consumer-user-menu {
        display:none;
        width:100%;
    }

    .consumer-app-nav.is-open,
    .consumer-app-header:has(.consumer-app-nav.is-open) .consumer-user-menu {
        display:flex;
    }

    .consumer-app-nav.is-open {
        flex-direction:column;
        align-items:stretch;
    }

    .consumer-app-nav a {
        justify-content:center;
    }

    .consumer-user-menu summary {
        justify-content:space-between;
    }

    .consumer-user-menu__panel {
        position:static;
        margin-top:8px;
    }

    .consumer-app-footer {
        align-items:flex-start;
        flex-direction:column;
        width:min(100% - 28px, 1180px);
    }
}
