@font-face {
    font-family: "Poppins";
    src: url("../fonts/Poppins-Bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter-Regular.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter-Bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter-Italic.ttf") format("truetype");
    font-style: italic;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter-BoldItalic.ttf") format("truetype");
    font-style: italic;
    font-weight: 700;
    font-display: swap;
}

:root {
    --momentum-red: #e31e24;
    --momentum-charcoal: #2d2d2d;
    --momentum-blue: #2e5f8a;
    --momentum-blue-light: #eaf1f8;
    --momentum-off-white: #f5f5f5;
    --momentum-white: #ffffff;
    --momentum-rule: #dddddd;
}

body {
    background: var(--momentum-off-white);
    color: var(--momentum-charcoal);
    font-family: "Inter", sans-serif;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--momentum-charcoal);
    font-family: "Poppins", sans-serif;
    font-weight: 700;
}

a {
    color: var(--momentum-blue);
}

a:hover {
    color: var(--momentum-charcoal);
}

.btn-primary {
    background-color: var(--momentum-blue);
    border-color: var(--momentum-blue);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--momentum-charcoal);
    border-color: var(--momentum-charcoal);
}

.btn-outline-primary {
    border-color: var(--momentum-blue);
    color: var(--momentum-blue);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: var(--momentum-blue);
    border-color: var(--momentum-blue);
    color: var(--momentum-white);
}

.momentum-company-brand {
    width: 100%;
    margin: 0 0 24px;
}

.momentum-company-logo {
    display: block;
    width: 420px;
    max-width: 100%;
    height: auto;
}

.momentum-product-brand {
    width: 100%;
    margin: 0 0 28px;
}

.momentum-product-logo {
    display: block;
    width: 420px;
    max-width: 100%;
    height: auto;
}

.momentum-home-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 1.25rem;
    padding: .25rem;
}

.momentum-home-mark img {
    display: block;
    width: 39px;
    height: auto;
}

.momentum-account-nav {
    border-top: 1px solid #dee2e6;
    margin-top: .5rem;
    padding-top: .5rem;
}

.momentum-account-name { font-weight: 600; }

.momentum-account-label {
    cursor: default;
}

.momentum-signout-form {
    margin: 0;
}

.momentum-account-action {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
}

.momentum-account-action:hover,
.momentum-account-action:focus {
    background: var(--momentum-off-white);
    color: var(--momentum-charcoal);
}

@media (min-width: 992px) {
    .momentum-account-nav {
        border-top: 0;
        border-left: 1px solid #dee2e6;
        margin-top: 0;
        margin-left: 1rem !important;
        padding-top: 0;
        padding-left: 1rem;
    }
}

.footer.momentum-footer {
    white-space: normal;
    line-height: 1.6;
    padding-block: 12px;
}

.momentum-page {
    --mdag-red: var(--momentum-red);
    --mdag-blue: var(--momentum-blue);
    max-width: 1080px;
    margin: 32px auto 48px;
}

.narrow-page { max-width: 620px; }

.momentum-workspace-header {
    margin-bottom: 28px;
}

.momentum-workspace-header .momentum-product-brand {
    margin-bottom: 22px;
}

.momentum-workspace-header .momentum-product-logo {
    width: 320px;
}

.momentum-workspace-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px 28px;
}

.momentum-workspace-copy {
    min-width: 0;
}

.momentum-workspace-title {
    max-width: 900px;
    margin: 0;
    font-size: clamp(2rem, 3.2vw, 2.5rem);
    line-height: 1.15;
}

.momentum-workspace-title-long {
    font-size: clamp(1.8rem, 3vw, 2.25rem);
}

.momentum-workspace-lead {
    max-width: 760px;
    margin: 8px 0 0;
    color: rgba(45, 45, 45, .72);
    font-size: clamp(1rem, 1.4vw, 1.0625rem);
    line-height: 1.55;
}

.momentum-workspace-meta {
    margin: 8px 0 0;
    color: rgba(45, 45, 45, .72);
    font-size: .9375rem;
    line-height: 1.5;
}

.momentum-workspace-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.momentum-eyebrow {
    color: var(--momentum-red);
    font-family: "Poppins", sans-serif;
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.momentum-card {
    padding: clamp(20px, 4vw, 34px);
    background: #fff;
    border: 1px solid #ddd;
    border-top: 4px solid var(--mdag-blue, #2e5f8a);
    box-shadow: 0 12px 35px rgba(16, 16, 17, .06);
}

.momentum-primary {
    background: var(--momentum-red);
    border-color: var(--momentum-red);
    color: #fff;
}

.momentum-primary:hover {
    background: var(--momentum-charcoal);
    border-color: var(--momentum-charcoal);
    color: var(--momentum-white);
}

.momentum-home {
    max-width: 1120px;
    margin: 32px auto 56px;
}

.momentum-home-public {
    max-width: 940px;
}

.momentum-home-guidance {
    max-width: 780px;
}

.momentum-home-hero {
    padding: clamp(28px, 6vw, 68px);
    background: var(--momentum-white);
    border: 1px solid var(--momentum-rule);
    border-top: 5px solid var(--momentum-blue);
    box-shadow: 0 16px 42px rgba(45, 45, 45, .08);
}

.momentum-home-hero h1 {
    max-width: 760px;
    margin-bottom: 20px;
    font-size: clamp(2rem, 3.25vw, 2.75rem);
    line-height: 1.15;
}

.momentum-home-lead {
    max-width: 700px;
    margin-bottom: 28px;
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    line-height: 1.55;
}

.momentum-home-actions,
.workspace-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.momentum-outcome-line {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 0;
    margin: 22px 0 0;
    padding: 0;
    color: rgba(45, 45, 45, .7);
    font-size: .875rem;
    line-height: 1.5;
    list-style: none;
}

.momentum-outcome-line li + li::before {
    margin: 0 10px;
    color: var(--momentum-blue);
    content: "\2022";
}

.momentum-home-hero-compact {
    margin-bottom: 28px;
    padding-block: clamp(24px, 4vw, 42px);
}

.momentum-home-hero-compact .momentum-product-logo {
    width: 340px;
}

.momentum-home-hero-compact h1 {
    margin-bottom: 12px;
    font-size: clamp(2rem, 3vw, 2.5rem);
}

.momentum-home-hero-compact .momentum-home-lead {
    margin-bottom: 0;
}

.workspace-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.workspace-card {
    display: flex;
    min-height: 260px;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    padding: clamp(22px, 3vw, 32px);
    background: var(--momentum-white);
    border: 1px solid var(--momentum-rule);
    border-left: 5px solid var(--momentum-blue);
}

.workspace-card h2 {
    margin-bottom: 12px;
    color: var(--momentum-blue);
    font-size: 1.65rem;
}

.workspace-card p:not(.momentum-eyebrow) {
    margin-bottom: 0;
    line-height: 1.6;
}

.my-work-empty-state {
    padding: 22px;
    background: var(--momentum-blue-light);
    border-left: 4px solid var(--momentum-blue);
}

.capture-page {
    max-width: 820px;
    margin: 40px auto;
}

.capture-intro {
    margin: 20px 0 30px;
    line-height: 1.65;
}

.capture-card {
    padding: clamp(20px, 4vw, 36px);
    background: var(--momentum-white);
    border: 1px solid var(--momentum-rule);
    border-top: 4px solid var(--momentum-blue);
    box-shadow: 0 12px 35px rgba(45, 45, 45, .06);
}

.capture-card label {
    display: block;
    margin-bottom: 8px;
    font-weight: 700;
}

.capture-help {
    color: rgba(45, 45, 45, .7);
    font-size: .9rem;
}

.capture-card textarea {
    width: 100%;
    min-height: 230px;
    padding: 16px;
    border: 1px solid var(--momentum-rule);
    border-radius: 2px;
    font-size: 1rem;
    line-height: 1.6;
    resize: vertical;
}

.capture-card textarea:focus {
    outline: 3px solid rgba(46, 95, 138, .2);
    border-color: var(--momentum-blue);
}

.capture-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.capture-save,
.capture-cancel {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border: 1px solid;
    border-radius: 2px;
    font-weight: 700;
    text-decoration: none;
}

.capture-save {
    background: var(--momentum-red);
    border-color: var(--momentum-red);
    color: var(--momentum-white);
}

.capture-save:hover {
    background: var(--momentum-charcoal);
    border-color: var(--momentum-charcoal);
    color: var(--momentum-white);
}

.capture-cancel {
    background: var(--momentum-white);
    border-color: var(--momentum-rule);
    color: var(--momentum-charcoal);
}

.capture-cancel:hover {
    background: var(--momentum-off-white);
    color: var(--momentum-charcoal);
}

.capture-success {
    margin-bottom: 20px;
    padding: 16px;
    background: var(--momentum-blue-light);
    border-left: 4px solid var(--momentum-blue);
}

.capture-error {
    display: block;
    margin-top: 8px;
    color: #c62828;
}

.domain-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .65rem 1rem;
}

.guided-layout {
    display: grid;
    grid-template-columns: minmax(230px, 300px) 1fr;
    gap: 24px;
    align-items: start;
}

.guided-nav { padding: 20px; border-top-color: #65707a; }
.guided-nav summary { cursor: pointer; font-weight: 700; }
.guided-link { display: flex; flex-direction: column; padding: 10px 12px; color: #202428; text-decoration: none; border-left: 3px solid transparent; }
.guided-link:hover, .guided-link.active { background: #eef3f7; border-left-color: var(--mdag-blue, #2e5f8a); color: #173b5b; }
.guided-link small { color: #687078; }
.guided-placeholder { padding: 24px; background: #f5f7f8; border-left: 4px solid #aeb6bd; }
.guided-stepper { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .65rem; }
.guided-stepper li { min-width: 0; }
.guided-stepper .guided-link { height: 100%; border: 1px solid #d6dce2; }
.guided-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; }
.save-status { color: #5f666d; font-size: .9rem; }

@media (max-width: 767.98px) {
    .momentum-page { margin-top: 20px; }
    .momentum-home { margin-top: 16px; }
    .momentum-workspace-header .momentum-product-logo { width: 280px; }
    .momentum-workspace-heading { align-items: flex-start; }
    .momentum-workspace-actions {
        width: 100%;
        justify-content: flex-start;
    }
    .workspace-card-grid { grid-template-columns: 1fr; }
    .workspace-card { min-height: 0; }
    .guided-layout { grid-template-columns: 1fr; }
    .guided-nav details:not([open]) { padding-bottom: 0; }
    .guided-stepper { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
    .momentum-home-hero {
        padding: 24px 20px;
    }

    .momentum-home-actions,
    .workspace-card-actions {
        display: grid;
    }

    .momentum-home-actions .btn,
    .workspace-card-actions .btn {
        width: 100%;
    }

    .momentum-home-mark img {
        width: 34px;
    }

    .momentum-workspace-header .momentum-product-logo {
        width: 240px;
    }

    .momentum-workspace-actions {
        display: grid;
    }

    .momentum-workspace-actions .btn,
    .momentum-workspace-actions form,
    .momentum-workspace-actions form .btn {
        width: 100%;
    }
}

/* Decision workspace notices and responsive section navigation. */
.decision-workspace .workspace-notice { padding: 12px 16px; }
.workspace-notice > summary { cursor: pointer; overflow-wrap: anywhere; }
.decision-workspace .guided-content { min-width: 0; }
.handoff-badge { background: #eef3f7; color: #173b5b; border: 1px solid #2e5f8a; }
@media (min-width: 768px) {
 .decision-workspace .decision-section-navigation { padding: 0; }
 .decision-section-navigation .guided-stepper { gap: 0; }
 .decision-section-navigation .guided-link { padding: 12px 14px; border: 0; border-right: 1px solid #d6dce2; border-bottom: 4px solid transparent; overflow-wrap: anywhere; }
 .decision-section-navigation li:last-child .guided-link { border-right: 0; }
 .decision-section-navigation .guided-link.active { background: #eef3f7; border-bottom-color: #2e5f8a; font-weight: 600; }
}
@media (max-width: 767.98px) {
 .decision-workspace .momentum-workspace-actions { display: flex; flex-direction: column; align-items: stretch; }
 .decision-workspace .momentum-workspace-meta { width: 100%; }
 .decision-workspace .momentum-workspace-actions > .btn { width: 100%; white-space: normal; }
}

@media (max-width: 767.98px) {
 .decision-workspace .decision-section-navigation { padding: 0; }
 .decision-section-navigation .guided-stepper { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; }
 .decision-section-navigation .section-name { display: none; }
 .decision-section-navigation .guided-link { padding: 10px 2px; text-align: center; border: 0; border-right: 1px solid #d6dce2; border-bottom: 4px solid transparent; }
 .decision-section-navigation li:last-child .guided-link { border-right: 0; }
 .decision-section-navigation .guided-link small { overflow-wrap: anywhere; }
 .decision-section-navigation .guided-link.active { background: #eef3f7; border-bottom-color: #2e5f8a; font-weight: 600; }
}

/* Executive result actions stay consistent as titles wrap. */
.executive-cart-result-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.executive-cart-result-copy { flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; }
.executive-cart-result-header form { flex: 0 0 auto; }
@media (max-width: 767.98px) {
    .executive-cart-result-header { flex-direction: column; gap: .5rem; }
}

/* Main actions within Executive briefing preparation. */
.btn-briefing-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--momentum-red);
    --bs-btn-border-color: var(--momentum-red);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--momentum-charcoal);
    --bs-btn-hover-border-color: var(--momentum-charcoal);
    --bs-btn-focus-shadow-rgb: 227, 30, 36;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--momentum-charcoal);
    --bs-btn-active-border-color: var(--momentum-charcoal);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--momentum-red);
    --bs-btn-disabled-border-color: var(--momentum-red);
}
