/* Relatório DISC — estilos compartilhados entre a plataforma e o portal. */

.disc-result-page {
    --result-navy: #0b2f4a;
    --result-blue: #0879a8;
    --result-ink: #172c3f;
    --result-muted: #66798b;
    --result-line: #dce7ef;
    --result-paper: #ffffff;
    --result-canvas: #edf4f8;
    --disc-d: #d84452;
    --disc-i: #dca400;
    --disc-s: #159169;
    --disc-c: #1678aa;
    width: 100%;
    min-height: 100vh;
    padding: clamp(0.75rem, 2.5vw, 2rem);
    overflow-x: clip;
    background:
        radial-gradient(circle at 5% 3%, rgba(8, 121, 168, 0.1), transparent 24rem),
        radial-gradient(circle at 96% 12%, rgba(220, 164, 0, 0.075), transparent 20rem),
        var(--result-canvas);
    color: var(--result-ink);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    line-height: 1.65;
}

.disc-result-page *,
.disc-result-page *::before,
.disc-result-page *::after {
    box-sizing: border-box;
}

.result-report {
    display: grid;
    width: min(100%, 76rem);
    margin-inline: auto;
    gap: 1rem;
}

.result-toolbar {
    position: sticky;
    z-index: 40;
    top: calc(var(--disc-header-height, 4.75rem) + 0.65rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem;
    border: 1px solid rgba(13, 71, 105, 0.12);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 0.65rem 1.75rem rgba(14, 49, 73, 0.1);
    backdrop-filter: blur(16px);
}

.app-main--standalone .result-toolbar {
    top: 0.65rem;
}

.result-toolbar .btn {
    min-height: 2.65rem;
}

.result-toolbar__back {
    border-color: #d9e5ed;
    color: #425b70;
}

.result-hero,
.result-summary,
.result-profile-section,
.result-behaviour-section,
.result-narrative,
.result-management,
.result-context-note,
.result-footer {
    border: 1px solid rgba(104, 135, 158, 0.2);
    border-radius: 1.35rem;
    background: var(--result-paper);
    box-shadow: 0 0.75rem 2.25rem rgba(14, 49, 73, 0.075);
}

.result-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(1.2rem, 4vw, 2.4rem);
    border: 0;
    background:
        radial-gradient(circle at 50% -40%, rgba(30, 181, 223, 0.28), transparent 30rem),
        linear-gradient(135deg, #092b44, #0a4668 58%, #0b5f82);
    color: #fff;
    box-shadow: 0 1.3rem 3.5rem rgba(7, 45, 68, 0.2);
}

.result-hero::before {
    position: absolute;
    z-index: -1;
    top: -7rem;
    right: -4rem;
    width: 18rem;
    height: 18rem;
    border: 2.4rem solid rgba(255, 255, 255, 0.035);
    border-radius: 50%;
    content: "";
}

.result-hero::after {
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: 0;
    left: 0;
    height: 0.3rem;
    background: linear-gradient(90deg, var(--disc-d) 0 25%, var(--disc-i) 25% 50%, var(--disc-s) 50% 75%, var(--disc-c) 75%);
    content: "";
}

.result-hero__brands {
    display: grid;
    grid-template-columns: minmax(8rem, 0.7fr) minmax(14rem, 1.6fr) minmax(8rem, 0.7fr);
    align-items: center;
    gap: clamp(1rem, 3vw, 2.5rem);
}

.result-brand-lockup {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    flex-direction: column;
}

.result-brand-lockup--end {
    align-items: flex-end;
    text-align: right;
}

.result-brand-logo {
    display: inline-grid;
    width: 4.4rem;
    height: 4.4rem;
    place-items: center;
    overflow: hidden;
    padding: 0.45rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, 0.96);
    color: var(--result-blue);
    font-size: 1.35rem;
    box-shadow: 0 0.7rem 1.5rem rgba(3, 25, 39, 0.18);
}

.result-brand-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.result-brand-lockup small {
    margin-top: 0.65rem;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.65rem;
    font-weight: 750;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.result-brand-lockup strong {
    display: block;
    max-width: 15rem;
    margin-top: 0.18rem;
    overflow: hidden;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 650;
    line-height: 1.35;
    text-overflow: ellipsis;
}

.result-hero__identity {
    min-width: 0;
    text-align: center;
}

.result-disc-mark {
    display: inline-grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.25rem;
}

.disc-letter {
    display: inline-grid;
    width: 2.15rem;
    height: 2.15rem;
    place-items: center;
    border-radius: 0.62rem;
    color: #fff;
    font-size: 0.92rem;
    font-style: normal;
    font-weight: 850;
    line-height: 1;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.2);
}

.disc-letter--d { background: var(--disc-d); }
.disc-letter--i { background: var(--disc-i); }
.disc-letter--s { background: var(--disc-s); }
.disc-letter--c { background: var(--disc-c); }

.result-hero__identity > p {
    margin: 0.9rem 0 0.25rem;
    color: rgba(255, 255, 255, 0.66);
    font-size: 0.68rem;
    font-weight: 750;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.result-hero__identity h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.65rem, 1.1rem + 2vw, 2.8rem);
    font-weight: 820;
    letter-spacing: -0.045em;
    line-height: 1.08;
}

.result-hero__profile {
    display: inline-block;
    margin-top: 0.6rem;
    color: #bfeafa;
    font-size: clamp(0.95rem, 0.85rem + 0.35vw, 1.2rem);
    font-weight: 650;
}

.result-summary,
.result-profile-section,
.result-behaviour-section,
.result-narrative,
.result-management {
    padding: clamp(1rem, 3vw, 1.75rem);
}

.result-section-heading {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1.1rem;
}

.result-section-heading__icon {
    display: inline-grid;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.85rem;
    background: #e9f5fa;
    color: var(--result-blue);
    font-size: 1rem;
}

.result-section-heading__icon--success {
    background: #e8f8f1;
    color: var(--disc-s);
}

.result-section-heading__icon--accent {
    background: #fff5db;
    color: #af7900;
}

.result-section-heading__icon--purple {
    background: #f2edff;
    color: #7052ad;
}

.result-section-heading p {
    margin: 0 0 0.08rem;
    color: var(--result-muted);
    font-size: 0.67rem;
    font-weight: 750;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.result-section-heading h2 {
    margin: 0;
    color: var(--result-ink);
    font-size: clamp(1.1rem, 1rem + 0.45vw, 1.4rem);
    font-weight: 780;
    letter-spacing: -0.025em;
}

.result-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
    margin: 0;
}

.result-meta-item {
    min-width: 0;
    padding: 0.85rem;
    border: 1px solid #e2eaf1;
    border-radius: 0.85rem;
    background: #f9fbfd;
}

.result-meta-item--featured {
    background: linear-gradient(145deg, #edf8fc, #f9fcfe);
}

.result-meta-item dt {
    display: flex;
    align-items: center;
    gap: 0.38rem;
    color: #768799;
    font-size: 0.66rem;
    font-weight: 750;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.result-meta-item dt i {
    color: #8ba0b1;
}

.result-meta-item dd {
    margin: 0.3rem 0 0;
    overflow-wrap: anywhere;
    color: #263e52;
    font-size: 0.87rem;
    font-weight: 650;
    line-height: 1.35;
}

.result-meta-item--id dd {
    color: #617587;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 0.68rem;
}

.result-code-chip {
    display: inline-flex;
    min-height: 1.65rem;
    align-items: center;
    padding: 0.22rem 0.52rem;
    border: 1px solid #c9e2ee;
    border-radius: 999px;
    background: #e9f6fb;
    color: #075985;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.result-profile-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.result-kicker {
    margin: 0 0 0.12rem;
    color: var(--result-blue);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.result-profile-intro h2 {
    margin: 0;
    color: var(--result-ink);
    font-size: clamp(1.2rem, 1rem + 0.7vw, 1.6rem);
    font-weight: 790;
    letter-spacing: -0.03em;
}

.result-profile-intro > div:first-child > p:last-child {
    max-width: 42rem;
    margin: 0.3rem 0 0;
    color: var(--result-muted);
    font-size: 0.85rem;
}

.result-profile-badge {
    display: flex;
    min-width: min(100%, 12rem);
    flex-direction: column;
    align-items: flex-end;
    padding: 0.7rem 0.85rem;
    border: 1px solid #cae2ed;
    border-radius: 0.9rem;
    background: linear-gradient(145deg, #edf8fc, #fafdfe);
}

.result-profile-badge small {
    color: #6d8192;
    font-size: 0.62rem;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.result-profile-badge strong {
    color: #123f5c;
    font-size: 0.98rem;
    font-weight: 780;
    text-align: right;
}

.result-profile-badge span {
    color: var(--result-blue);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.result-chart-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
}

.result-chart-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfe9f0;
    border-radius: 1rem;
    background: linear-gradient(180deg, #fff, #f8fbfd);
    box-shadow: 0 0.35rem 1.1rem rgba(14, 49, 73, 0.055);
}

.result-chart-card__header {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.85rem 0.9rem 0;
}

.result-chart-card__number {
    display: inline-grid;
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.65rem;
    background: #e8f4f9;
    color: var(--result-blue);
    font-size: 0.68rem;
    font-weight: 800;
}

.result-chart-card__header small {
    display: block;
    color: #8393a1;
    font-size: 0.58rem;
    font-weight: 750;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.result-chart-card__header h3 {
    margin: 0.05rem 0 0;
    color: #294359;
    font-size: 0.85rem;
    font-weight: 720;
    line-height: 1.25;
}

.result-chart {
    display: block;
    width: 100%;
    height: 18.5rem;
    padding: 0.35rem;
}

.disc-result-page .result-chart > div,
.disc-result-page .result-chart .highcharts-container,
.disc-result-page .result-chart svg {
    width: 100% !important;
    height: 100% !important;
}

.result-disc-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.55rem 1rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e5edf3;
}

.result-disc-legend > span {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    color: #5d7183;
    font-size: 0.72rem;
    font-weight: 650;
}

.result-disc-legend .disc-letter {
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 0.45rem;
    font-size: 0.68rem;
}

.result-behaviour-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.result-behaviour-grid li {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.75rem;
    border: 1px solid #dfebe5;
    border-radius: 0.8rem;
    background: #f8fcfa;
}

.result-behaviour-grid li > span {
    display: inline-grid;
    width: 1.65rem;
    height: 1.65rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.5rem;
    background: #e0f4ea;
    color: var(--disc-s);
    font-size: 0.65rem;
}

.result-behaviour-grid p {
    margin: 0;
    color: #3e584b;
    font-size: 0.78rem;
    font-weight: 620;
    line-height: 1.4;
}

.result-context-note {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.1rem;
    border-color: #d7e6ee;
    background: linear-gradient(145deg, #f5fafc, #fff);
    box-shadow: none;
}

.result-context-note > i {
    margin-top: 0.22rem;
    color: var(--result-blue);
}

.result-context-note p {
    margin: 0;
    color: #5d7081;
    font-size: 0.78rem;
}

.result-prose-card {
    margin-top: 0.85rem;
    padding: clamp(1rem, 2.5vw, 1.5rem);
    border: 1px solid #e1e9f0;
    border-radius: 1rem;
    background: #fff;
}

.result-prose-card--management {
    border-color: #e2daf7;
    background: linear-gradient(145deg, #fcfaff, #fff);
}

.result-prose {
    max-width: 76ch;
    margin-inline: auto;
    color: #344b5e;
    font-size: 0.94rem;
    line-height: 1.78;
}

.result-prose > :first-child {
    margin-top: 0 !important;
}

.result-prose > :last-child {
    margin-bottom: 0 !important;
}

.result-prose h1,
.result-prose h2,
.result-prose h3,
.result-prose h4,
.result-prose h5,
.result-prose h6 {
    margin: 1.55em 0 0.65em;
    color: #173b56;
    font-family: inherit;
    font-weight: 760;
    line-height: 1.25;
    break-after: avoid-page;
}

.result-prose h1 { font-size: 1.55rem; }
.result-prose h2 { font-size: 1.35rem; }
.result-prose h3 { font-size: 1.18rem; }
.result-prose h4 { font-size: 1.05rem; }
.result-prose h5,
.result-prose h6 { font-size: 0.98rem; }

.result-prose p,
.result-prose li {
    color: #3d5366;
    orphans: 3;
    widows: 3;
}

.result-prose ul,
.result-prose ol {
    padding-left: 1.25rem;
}

.result-prose li + li {
    margin-top: 0.38rem;
}

.result-prose blockquote {
    margin: 1rem 0;
    padding: 0.85rem 1rem;
    border-left: 0.25rem solid var(--result-blue);
    border-radius: 0 0.75rem 0.75rem 0;
    background: #f1f8fb;
}

.result-prose img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 1rem auto;
    border-radius: 0.75rem;
}

.result-prose table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}

.result-prose th,
.result-prose td {
    padding: 0.55rem;
    border: 1px solid #dfe8ee;
}

.result-alert-card {
    margin-top: 0.85rem;
    overflow: hidden;
    border: 1px solid #f0d8a8;
    border-radius: 1rem;
    background: #fffbf2;
}

.result-alert-card > header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.8rem 1rem;
    border-bottom: 1px solid #f1dfbb;
    background: #fff6df;
    color: #805a08;
}

.result-alert-card > header strong {
    color: inherit;
    font-size: 0.8rem;
    font-weight: 780;
}

.result-alert-card > header span {
    margin-left: auto;
    padding: 0.18rem 0.45rem;
    border-radius: 999px;
    background: rgba(151, 103, 0, 0.09);
    font-size: 0.65rem;
    font-weight: 700;
}

.result-alert-card .result-prose {
    padding: 1rem;
}

.result-footer {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    box-shadow: none;
}

.result-disc-mark--small {
    gap: 0.12rem;
}

.result-disc-mark--small .disc-letter {
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 0.35rem;
    font-size: 0.58rem;
}

.result-footer p {
    margin: 0;
    color: #627587;
    font-size: 0.7rem;
}

.result-footer small {
    margin-left: auto;
    overflow: hidden;
    color: #8a99a6;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 0.58rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.result-print-cover,
.result-page-break {
    display: none;
}

.result-loading,
.result-error,
.result-empty {
    width: min(100%, 46rem);
    margin: clamp(1rem, 6vw, 5rem) auto;
    padding: clamp(1.25rem, 4vw, 2rem);
    border: 1px solid rgba(104, 135, 158, 0.22);
    border-radius: 1.35rem;
    background: #fff;
    box-shadow: 0 1rem 3rem rgba(14, 49, 73, 0.1);
}

.result-loading {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0.9rem;
    overflow: hidden;
}

.result-loading__spinner {
    width: 2.5rem;
    height: 2.5rem;
    border: 0.2rem solid #d8eaf2;
    border-top-color: var(--result-blue);
    border-radius: 50%;
    animation: result-spin 0.8s linear infinite;
}

.result-loading strong {
    display: block;
    color: var(--result-ink);
    font-size: 1rem;
}

.result-loading p {
    margin: 0.15rem 0 0;
    color: var(--result-muted);
    font-size: 0.8rem;
}

.result-loading__skeleton {
    display: grid;
    grid-column: 1 / -1;
    gap: 0.5rem;
    margin-top: 0.4rem;
}

.result-loading__skeleton span {
    height: 2.8rem;
    border-radius: 0.65rem;
    background: linear-gradient(90deg, #edf3f6 25%, #f8fbfc 50%, #edf3f6 75%);
    background-size: 200% 100%;
    animation: result-shimmer 1.35s linear infinite;
}

.result-error {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    border-color: #f0cbd2;
}

.result-error__icon,
.result-empty > span:first-child {
    display: inline-grid;
    width: 3.2rem;
    height: 3.2rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 0.95rem;
    background: #fcecef;
    color: #b72f42;
    font-size: 1.15rem;
}

.result-error__copy {
    min-width: 0;
    flex: 1;
}

.result-error__copy strong {
    color: #7d2634;
}

.result-error__copy p {
    margin: 0.2rem 0 0;
    color: #7b5360;
    font-size: 0.82rem;
}

.result-empty {
    text-align: center;
}

.result-empty > span:first-child {
    margin: 0 auto 1rem;
    background: #e9f5fa;
    color: var(--result-blue);
}

.result-empty h1 {
    margin: 0;
    color: var(--result-ink);
    font-size: 1.4rem;
}

.result-empty p {
    margin: 0.4rem auto 1rem;
    color: var(--result-muted);
}

@keyframes result-spin {
    to { transform: rotate(360deg); }
}

@keyframes result-shimmer {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
}

@media (max-width: 61.999rem) {
    .result-hero__brands {
        grid-template-columns: minmax(0, 1fr) minmax(13rem, 1.6fr) minmax(0, 1fr);
    }

    .result-brand-lockup strong {
        max-width: 9rem;
    }

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

    .result-chart-grid {
        grid-template-columns: 1fr;
    }

    .result-chart-card {
        display: grid;
        grid-template-columns: minmax(11rem, 0.5fr) minmax(15rem, 1fr);
        align-items: center;
    }

    .result-chart-card__header {
        padding: 1rem;
    }

    .result-chart {
        height: 17rem;
    }
}

@media (max-width: 47.999rem) {
    .disc-result-page {
        padding: 0.6rem;
    }

    .result-report {
        gap: 0.7rem;
    }

    .result-toolbar {
        top: calc(var(--disc-header-height, 4.75rem) + 0.35rem);
        align-items: stretch;
        flex-direction: column;
        border-radius: 0.9rem;
    }

    .app-main--standalone .result-toolbar {
        top: 0.35rem;
    }

    .result-toolbar .btn {
        width: 100%;
    }

    .result-hero,
    .result-summary,
    .result-profile-section,
    .result-behaviour-section,
    .result-narrative,
    .result-management,
    .result-context-note,
    .result-footer {
        border-radius: 1rem;
    }

    .result-hero__brands {
        grid-template-columns: 1fr 1fr;
    }

    .result-hero__identity {
        grid-column: 1 / -1;
        grid-row: 1;
        margin-bottom: 0.5rem;
    }

    .result-brand-logo {
        width: 3.45rem;
        height: 3.45rem;
        border-radius: 0.9rem;
    }

    .result-brand-lockup--end {
        align-items: flex-end;
    }

    .result-brand-lockup strong {
        max-width: 8.5rem;
    }

    .result-meta-grid {
        grid-template-columns: 1fr 1fr;
    }

    .result-meta-item--featured,
    .result-meta-item--id {
        grid-column: 1 / -1;
    }

    .result-profile-intro {
        align-items: stretch;
        flex-direction: column;
    }

    .result-profile-badge {
        align-items: flex-start;
    }

    .result-profile-badge strong {
        text-align: left;
    }

    .result-chart-card {
        display: block;
    }

    .result-chart {
        height: 18rem;
    }

    .result-behaviour-grid {
        grid-template-columns: 1fr;
    }

    .result-footer {
        flex-wrap: wrap;
    }

    .result-footer small {
        width: 100%;
        margin-left: 0;
    }

    .result-error {
        align-items: stretch;
        flex-direction: column;
        text-align: center;
    }

    .result-error__icon {
        margin-inline: auto;
    }
}

@media print {
    @page {
        size: A4 portrait;
        margin: 12mm;
    }

    html,
    body {
        width: auto !important;
        height: auto !important;
        background: #fff !important;
    }

    .disc-result-page {
        width: 100%;
        min-height: 0;
        padding: 0 !important;
        overflow: visible;
        background: #fff !important;
        color: #172c3f;
        font-size: 9.5pt;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .result-report {
        display: block;
        width: 100%;
        max-width: none;
        margin: 0;
    }

    /* Fallbacks compatíveis com o WebKit antigo usado pelo gerador oficial. */
    .result-disc-mark,
    .result-print-cover__accent {
        display: -webkit-box;
        display: flex;
    }

    .result-disc-mark .disc-letter,
    .result-print-cover__accent .disc-letter {
        margin-right: 1.5mm;
    }

    .result-disc-mark .disc-letter:last-child,
    .result-print-cover__accent .disc-letter:last-child {
        margin-right: 0;
    }

    .disc-letter--d { background: #d84452 !important; }
    .disc-letter--i { background: #dca400 !important; }
    .disc-letter--s { background: #159169 !important; }
    .disc-letter--c { background: #1678aa !important; }

    .result-hero__brands {
        display: -webkit-box;
        display: flex;
        width: 100%;
        align-items: center;
    }

    .result-brand-lockup {
        width: 22%;
    }

    .result-hero__identity {
        width: 56%;
    }

    .result-meta-grid,
    .result-chart-grid,
    .result-behaviour-grid {
        display: -webkit-box;
        display: flex;
        width: 100%;
        flex-wrap: wrap;
    }

    .result-meta-item,
    .result-chart-card,
    .result-behaviour-grid li {
        width: 31.333%;
        margin: 1%;
    }

    .result-section-heading,
    .result-profile-intro,
    .result-context-note,
    .result-footer {
        display: -webkit-box;
        display: flex;
    }

    .result-hero {
        background: #0a4668 !important;
        color: #fff !important;
    }

    .result-hero__identity h1,
    .result-brand-lockup strong {
        color: #fff !important;
    }

    .result-summary,
    .result-profile-section,
    .result-behaviour-section,
    .result-narrative,
    .result-management,
    .result-context-note,
    .result-footer,
    .result-chart-card,
    .result-prose-card {
        background: #fff !important;
        color: #172c3f !important;
    }

    .result-section-heading h2,
    .result-profile-intro h2,
    .result-prose h1,
    .result-prose h2,
    .result-prose h3,
    .result-prose h4,
    .result-prose h5,
    .result-prose h6 {
        color: #173b56 !important;
    }

    .result-print-cover {
        position: relative;
        isolation: isolate;
        display: flex;
        min-height: 273mm;
        overflow: hidden;
        flex-direction: column;
        justify-content: space-between;
        padding: 18mm;
        border-radius: 5mm;
        background-color: #0a4668;
        background:
            radial-gradient(circle at 80% 12%, rgba(44, 190, 222, 0.3), transparent 75mm),
            linear-gradient(145deg, #092b44, #0a5275);
        color: #fff;
        break-after: page;
        page-break-after: always;
    }

    .result-print-cover::before {
        position: absolute;
        z-index: -1;
        right: -40mm;
        bottom: -38mm;
        width: 125mm;
        height: 125mm;
        border: 18mm solid rgba(255, 255, 255, 0.035);
        border-radius: 50%;
        content: "";
    }

    .result-print-cover__accent {
        display: flex;
        gap: 2mm;
    }

    .result-print-cover__accent .disc-letter {
        width: 12mm;
        height: 12mm;
        border-radius: 3mm;
        font-size: 14pt;
    }

    .result-print-cover__eyebrow {
        margin: 0 0 5mm;
        color: rgba(255, 255, 255, 0.68);
        font-size: 9pt;
        font-weight: 750;
        letter-spacing: 0.16em;
        text-transform: uppercase;
    }

    .result-print-cover h1 {
        max-width: 150mm;
        margin: 0;
        color: #fff;
        font-size: 32pt;
        font-weight: 820;
        letter-spacing: -0.04em;
        line-height: 1.08;
    }

    .result-print-cover__profile {
        margin: 4mm 0 0;
        color: #bfeafa;
        font-size: 17pt;
        font-weight: 650;
    }

    .result-print-cover__person {
        display: flex;
        margin-top: 22mm;
        flex-direction: column;
    }

    .result-print-cover__person strong {
        color: #fff;
        font-size: 16pt;
    }

    .result-print-cover__person span {
        color: rgba(255, 255, 255, 0.7);
        font-size: 9pt;
    }

    .result-print-cover__footer {
        display: flex;
        justify-content: space-between;
        gap: 8mm;
        color: rgba(255, 255, 255, 0.62);
        font-size: 7.5pt;
    }

    .result-print-cover__footer span:last-child {
        max-width: 90mm;
        overflow-wrap: anywhere;
        text-align: right;
    }

    .result-hero,
    .result-summary,
    .result-profile-section,
    .result-behaviour-section,
    .result-narrative,
    .result-management,
    .result-context-note,
    .result-footer {
        margin-bottom: 4mm;
        border-radius: 3mm;
        box-shadow: none;
    }

    .result-hero,
    .result-summary,
    .result-profile-section,
    .result-behaviour-section,
    .result-context-note,
    .result-chart-card,
    .result-alert-card,
    .result-footer {
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    .result-hero {
        padding: 8mm;
    }

    .result-brand-logo {
        width: 16mm;
        height: 16mm;
        border-radius: 4mm;
    }

    .result-hero__identity h1 {
        font-size: 20pt;
    }

    .result-summary,
    .result-profile-section,
    .result-behaviour-section,
    .result-narrative,
    .result-management {
        padding: 6mm;
    }

    .result-chart-card {
        display: block;
    }

    .result-chart {
        height: 70mm;
    }

    .result-disc-legend {
        margin-top: 4mm;
        padding-top: 4mm;
    }

    .result-prose-card {
        margin-top: 3mm;
        padding: 5mm;
        border-radius: 3mm;
    }

    .result-prose {
        max-width: none;
        font-size: 9.5pt;
        line-height: 1.62;
    }

    .result-prose table {
        display: table;
        overflow: visible;
    }

    .result-page-break {
        display: block;
        height: 0;
        break-after: page;
        page-break-after: always;
    }

    .result-footer {
        padding: 3mm 4mm;
    }

    .result-loading,
    .result-error,
    .result-empty {
        box-shadow: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .result-loading__spinner,
    .result-loading__skeleton span {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
