@charset "utf-8";

.project-detail-advanced {
    --sg-navy: #234e5a;
    --sg-teal: #2f8f87;
    --sg-sea: #70bdb4;
    --sg-sky: #8ec8d3;
    --sg-pale-blue: #eaf5f7;
    --sg-pale-mint: #e7f5f0;
    --sg-pale: #f7fbfb;
    --sg-line: #c8dfe1;
    width: 100%;
    max-width: 1180px;
    min-width: 0;
    margin-left: auto;
    margin-right: auto;
}

.project-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    min-width: 0;
}

.project-back-link {
    display: inline-block;
    margin-left: 0.25rem;
}

.project-lang-switch {
    display: inline-flex;
    flex: 0 0 auto;
    overflow: hidden;
    border: 1px solid var(--sg-line);
    border-radius: 999px;
    background: #fff;
}

.project-lang-switch button {
    border: 0;
    background: transparent;
    color: #526873;
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 0.32rem 0.75rem;
}

.project-lang-switch button[aria-pressed="true"] {
    background: var(--sg-teal);
    color: #fff;
}

.i18n-zh {
    display: none !important;
}

html[data-sceneguard-lang="zh"] .i18n-en {
    display: none !important;
}

html[data-sceneguard-lang="zh"] .i18n-zh {
    display: revert !important;
}

html[data-sceneguard-lang="zh"] .section-kicker,
html[data-sceneguard-lang="zh"] .project-eyebrow,
html[data-sceneguard-lang="zh"] .overview-label,
html[data-sceneguard-lang="zh"] .comparison-label {
    letter-spacing: 0.04em;
    text-transform: none;
}

.project-hero {
    min-width: 0;
    max-width: 100%;
    border-top: 4px solid var(--sg-teal);
}

.project-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    grid-template-rows: auto 1fr;
    gap: 0.35rem 1.25rem;
    align-items: center;
}

.project-hero-heading {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
}

.project-hero-copy {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
}

.project-eyebrow,
.section-kicker {
    color: var(--sg-teal);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.project-title {
    color: #1f3541;
    font-size: clamp(2.5rem, 7vw, 4.75rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.project-subtitle {
    max-width: 850px;
    color: #526873;
    font-family: "Raleway", sans-serif;
    font-size: clamp(1.15rem, 2.5vw, 1.55rem);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.project-authors {
    font-size: 1.02rem;
}

.project-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.project-actions .btn {
    min-width: 104px;
    border-radius: 999px;
    padding: 0.5rem 1rem;
}

.project-actions .btn-primary {
    border-color: var(--sg-teal);
    background: var(--sg-teal);
}

.project-actions .btn-outline-primary {
    border-color: var(--sg-teal);
    color: var(--sg-teal);
}

.project-actions .btn-outline-primary:hover,
.project-actions .btn-outline-primary:focus {
    border-color: var(--sg-teal);
    background: var(--sg-teal);
    color: #fff;
}

.project-hero-figure {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    border: 0;
    background: transparent;
    align-self: center;
    justify-self: end;
}

.project-hero-figure img {
    display: block;
    width: 100%;
    height: auto;
}

.project-section-nav {
    position: sticky;
    top: 64px;
    z-index: 20;
    display: flex;
    gap: 0.15rem;
    overflow-x: auto;
    max-width: 100%;
    min-width: 0;
    padding: 0.55rem;
    scrollbar-width: thin;
}

.project-section-nav a {
    flex: 0 0 auto;
    border-radius: 999px;
    color: #526873;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 0.38rem 0.72rem;
}

.project-section-nav a:hover,
.project-section-nav a:focus {
    background: var(--sg-pale-mint);
    color: var(--sg-navy);
    text-decoration: none;
}

.project-section {
    min-width: 0;
    scroll-margin-top: 125px;
    margin: 1rem 0;
    padding: 2.25rem;
    border: 1px solid var(--sg-line);
    border-radius: 0.8rem;
    background: #fff;
    box-shadow: 0 0.125rem 0.45rem rgba(47, 143, 135, 0.055);
}

.project-section > h2 {
    margin: 0.3rem 0 1rem;
    color: #243b47;
    font-size: clamp(1.55rem, 3vw, 2rem);
    line-height: 1.2;
}

.project-section h3 {
    color: #2d4654;
    font-size: 1.02rem;
}

.section-intro {
    max-width: 820px;
    color: #60727d;
}

.overview-grid,
.evaluation-grid,
.result-highlight-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
}

.overview-card,
.evaluation-card {
    padding: 1.15rem;
    border: 1px solid var(--sg-line);
    border-radius: 0.65rem;
    background: var(--sg-pale-blue);
}

.overview-card:nth-child(even),
.evaluation-card:nth-child(even) {
    background: var(--sg-pale-mint);
}

.overview-label,
.comparison-label {
    margin-bottom: 0.5rem;
    color: #7a8c96;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.overview-card h3,
.evaluation-card h3 {
    margin-bottom: 0.45rem;
}

.overview-card p,
.evaluation-card p {
    margin-bottom: 0;
    color: #5f717c;
    font-size: 0.88rem;
}

.evidence-note,
.tradeoff-callout {
    padding: 0.9rem 1rem;
    border-left: 3px solid var(--sg-teal);
    border-radius: 0.35rem;
    background: var(--sg-pale-blue);
    color: #435b68;
    font-size: 0.9rem;
}

.evidence-chip {
    display: inline-block;
    margin-right: 0.3rem;
    border: 1px solid var(--sg-line);
    border-radius: 999px;
    background: var(--sg-pale-mint);
    color: var(--sg-navy);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 0.17rem 0.48rem;
    text-transform: uppercase;
}

.source-line {
    margin: 1rem 0 0;
    color: #71828b;
    font-size: 0.78rem;
}

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

.audio-sample + .audio-sample {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid #e1e7ea;
}

.audio-sample-heading {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.75rem;
}

.audio-cell {
    min-width: 0;
    padding: 1rem;
    border: 1px solid #dfe7ea;
    border-radius: 0.6rem;
    background: #fbfcfd;
}

.audio-cell audio,
.audio-cell img {
    width: 100%;
}

.audio-cell img {
    display: block;
    margin-top: 0.65rem;
    border-radius: 0.35rem;
}

.audio-placeholder-icon {
    display: grid;
    width: 2.3rem;
    height: 2.3rem;
    margin-bottom: 0.75rem;
    place-items: center;
    border-radius: 50%;
    background: #eaf1f4;
    color: #58788a;
}

.audio-demo-note {
    margin-top: 0.85rem;
    color: #5d6f79;
    font-size: 0.85rem;
}

.threat-flow {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    gap: 0.65rem;
    align-items: center;
}

.flow-node {
    display: flex;
    min-height: 150px;
    flex-direction: column;
    justify-content: center;
    padding: 1rem;
    border: 1px solid #dce5e9;
    border-radius: 0.65rem;
    background: #f9fbfc;
    text-align: center;
}

.flow-node i {
    margin-bottom: 0.65rem;
    color: var(--sg-teal);
    font-size: 1.45rem;
}

.flow-node span {
    margin-top: 0.35rem;
    color: #71818a;
    font-size: 0.78rem;
}

.flow-arrow,
.zero-shot-arrow {
    color: #8ba0ab;
    font-size: 1.45rem;
}

.comparison-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.comparison-card {
    padding: 1.25rem;
    border: 1px solid #dfe6e9;
    border-radius: 0.65rem;
    background: #fafcfc;
}

.comparison-card-accent {
    border-color: var(--sg-sea);
    background: var(--sg-pale-mint);
}

.comparison-card p {
    margin-bottom: 0;
    color: #5e717b;
}

.equation-panel {
    overflow-x: auto;
    margin: 1rem 0;
    padding: 1.25rem;
    border: 1px solid #dce5e9;
    border-radius: 0.65rem;
    background: #f7fafb;
    text-align: center;
}

.equation-panel-secondary {
    background: #fff;
}

.katex-display {
    overflow-x: auto;
    overflow-y: hidden;
}

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

.symbol-grid > div {
    display: flex;
    gap: 0.65rem;
    align-items: baseline;
    padding: 0.7rem 0.8rem;
    border-bottom: 1px solid #e3e9ec;
}

.symbol-grid code {
    color: var(--sg-teal);
    font-size: 0.95rem;
    font-weight: 700;
}

.symbol-grid span {
    color: #647680;
    font-size: 0.83rem;
}

.technical-figure {
    margin: 1.3rem 0 0;
    padding: 1rem;
    border: 1px solid #dfe7ea;
    border-radius: 0.7rem;
    background: #fafcfc;
}

.technical-figure-borderless {
    width: 100%;
    max-width: 900px;
    margin-right: auto;
    margin-left: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.technical-figure img {
    display: block;
    width: 100%;
    height: auto;
}

.technical-figure figcaption {
    max-width: 880px;
    margin: 0.7rem auto 0;
    color: #71818a;
    font-size: 0.78rem;
    text-align: center;
}

.data-figure {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    margin: 1.2rem 0 1.4rem;
    border: 1px solid var(--sg-line);
    border-radius: 0.7rem;
    background: var(--sg-pale);
}

.data-figure img {
    display: block;
    width: 100%;
    height: auto;
}

.metric-large {
    color: var(--sg-teal);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.metric-caption {
    color: #73848d;
    font-size: 0.72rem;
}

.mini-bar {
    height: 0.4rem;
    margin: 0.8rem 0;
    overflow: hidden;
    border-radius: 999px;
    background: #e0e7ea;
}

.mini-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--sg-teal);
}

.objective-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.objective-list > div {
    padding: 0.85rem;
    border-left: 2px solid #9ab3c0;
    background: #fafcfc;
}

.objective-list span {
    display: block;
    margin-top: 0.2rem;
    color: #687a84;
    font-size: 0.82rem;
}

.technical-details {
    border: 1px solid #dfe6e9;
    border-radius: 0.6rem;
    background: #fbfcfd;
}

.technical-details summary {
    cursor: pointer;
    padding: 0.85rem 1rem;
    color: var(--sg-teal);
    font-weight: 700;
}

.technical-details > p,
.technical-details > .equation-panel {
    margin-right: 1rem;
    margin-left: 1rem;
}

.technical-details > p {
    padding-bottom: 1rem;
    color: #62747e;
}

.result-table-details .table-responsive {
    margin: 0 1rem 1rem;
}

.evaluation-card i {
    margin-bottom: 0.8rem;
    color: var(--sg-teal);
    font-size: 1.25rem;
}

.result-highlight-grid > div {
    padding: 1rem;
    border-top: 3px solid var(--sg-sea);
    border-radius: 0.45rem;
    background: #f7fafb;
}

.result-highlight-grid span,
.result-highlight-grid small {
    display: block;
    color: #71828b;
    font-size: 0.73rem;
}

.result-highlight-grid strong {
    display: block;
    margin: 0.2rem 0;
    color: #243f4d;
    font-size: 1.35rem;
}

.technical-table {
    margin-bottom: 0;
    font-size: 0.86rem;
}

.technical-table caption {
    caption-side: top;
    color: #71818a;
    font-size: 0.75rem;
}

.technical-table thead th {
    border-top: 0;
    border-bottom-width: 1px;
    color: #526873;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.technical-table td,
.technical-table th {
    vertical-align: middle;
}

.table-emphasis {
    background: var(--sg-pale-mint);
    font-weight: 700;
}

.tradeoff-callout {
    margin-top: 1rem;
    border-left-color: var(--sg-sea);
    background: var(--sg-pale-mint);
}

.explorer {
    padding: 1.2rem;
    border: 1px solid var(--sg-line);
    border-radius: 0.7rem;
    background: var(--sg-pale);
}

.explorer input[type="range"] {
    width: 100%;
    margin: 1rem 0 0.35rem;
    accent-color: var(--sg-teal);
}

.range-labels {
    display: flex;
    justify-content: space-between;
    color: #7b8b94;
    font-size: 0.68rem;
}

.explorer-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    margin: 1rem 0;
}

.explorer-metrics > div {
    padding: 0.75rem;
    border: 1px solid #e0e7ea;
    border-radius: 0.45rem;
    background: #fff;
}

.explorer-metrics span,
.explorer-metrics strong {
    display: block;
}

.explorer-metrics span {
    color: #778892;
    font-size: 0.7rem;
}

.explorer-metrics strong {
    color: var(--sg-teal);
    font-size: 1.25rem;
}

.zero-shot-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 0.8rem;
    align-items: center;
}

.zero-shot-card {
    padding: 1.2rem;
    border: 1px solid #dfe7ea;
    border-radius: 0.65rem;
    background: #fafcfc;
}

.zero-shot-card span,
.zero-shot-card small,
.zero-shot-card strong {
    display: block;
}

.zero-shot-card span,
.zero-shot-card small {
    color: #74858e;
}

.zero-shot-card strong {
    margin: 0.25rem 0;
    color: var(--sg-teal);
    font-size: 1.45rem;
}

.zero-shot-card-accent {
    border-color: var(--sg-sea);
    background: var(--sg-pale-mint);
}

.implementation-table th {
    width: 34%;
    color: #425d6b;
}

.pipeline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
}

.pipeline span {
    padding: 0.65rem 0.8rem;
    border: 1px solid #dce5e9;
    border-radius: 0.5rem;
    background: #f8fafb;
    font-size: 0.82rem;
    font-weight: 700;
}

.pipeline i {
    color: #91a2ab;
}

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

.resource-list a {
    display: flex;
    gap: 0.7rem;
    align-items: center;
    padding: 0.8rem;
    border: 1px solid #dfe7ea;
    border-radius: 0.55rem;
    color: #3f5d6b;
}

.resource-list a:hover {
    border-color: #9eb5c0;
    text-decoration: none;
}

.resource-list i {
    color: var(--sg-teal);
    font-size: 1.15rem;
}

.resource-list span,
.resource-list small {
    display: block;
}

.resource-list small {
    color: #7b8a92;
}

.project-theme-rgbir {
    --sg-navy: #1e3a5f;
    --sg-teal: #3d7cc9;
    --sg-sea: #6ea3d8;
    --sg-sky: #9ec2e6;
    --sg-pale-blue: #eef4fb;
    --sg-pale-mint: #e8f1f8;
    --sg-pale: #f6f9fc;
    --sg-line: #d4e2ef;
    --rgbir-visible: #3d7cc9;
    --rgbir-infrared: #e07a3d;
    --rgbir-purple: #7a4e9a;
}

.project-theme-rgbir .project-section {
    box-shadow: 0 0.125rem 0.45rem rgba(61, 124, 201, 0.06);
}

.project-theme-rgbir .project-title {
    color: #17324d;
    font-size: clamp(1.75rem, 3.2vw, 2.45rem);
    line-height: 1.2;
    letter-spacing: -0.03em;
}

.project-theme-rgbir .project-subtitle {
    max-width: none;
    font-size: clamp(0.95rem, 1.5vw, 1.12rem);
}

.project-theme-rgbir .project-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    align-items: start;
}

.project-theme-rgbir .project-hero-heading {
    grid-column: 1 / -1;
}

.project-theme-rgbir .project-hero-copy {
    grid-column: 1;
    grid-row: 2;
}

.project-theme-rgbir .project-hero-figure {
    grid-column: 2;
    grid-row: 2;
    max-width: 520px;
    align-self: start;
    justify-self: end;
}

.project-theme-rgbir .technical-figure,
.project-theme-rgbir .data-figure {
    max-width: 760px;
    margin-right: auto;
    margin-left: auto;
}

.project-theme-rgbir .paired-input-grid,
.project-theme-rgbir .rgbir-demo-grid {
    max-width: 820px;
    margin-right: auto;
    margin-left: auto;
}

.modality-grid,
.metric-tooltip-grid,
.paired-input-grid,
.rgbir-demo-grid {
    display: grid;
    gap: 0.85rem;
}

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

.modality-card {
    padding: 1.15rem 1.2rem;
    border: 1px solid var(--sg-line);
    border-radius: 0.65rem;
}

.modality-card-visible {
    background: #eef4fb;
    border-color: #c5d8ee;
}

.modality-card-infrared {
    background: #f8ede4;
    border-color: #efd2bc;
}

.modality-card h3 {
    margin-bottom: 0.55rem;
}

.modality-card ul {
    margin: 0;
    padding-left: 1.1rem;
    color: #5b6f82;
}

.question-banner {
    margin-top: 1.1rem;
    padding: 1rem 1.15rem;
    border-radius: 0.65rem;
    background: #eef4fb;
    color: #1e3a5f;
    font-size: 1.05rem;
    font-weight: 700;
}

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

.paired-input-grid figure,
.rgbir-demo-grid figure {
    margin: 0;
    min-width: 0;
}

.paired-input-grid img,
.rgbir-demo-grid img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0.45rem;
    background: #101820;
}

.plate-label {
    display: inline-block;
    margin-bottom: 0.45rem;
    border-radius: 999px;
    padding: 0.16rem 0.55rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.plate-visible {
    background: #e3eef9;
    color: #2a5f9e;
}

.plate-infrared {
    background: #f8ede4;
    color: #c25d28;
}

.plate-equal,
.plate-dynamic {
    background: #eef4fb;
    color: #1e3a5f;
}

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

.metric-tip {
    position: relative;
    display: block;
    padding: 1rem 1.05rem;
    border: 1px solid var(--sg-line);
    border-radius: 0.65rem;
    background: var(--sg-pale-blue);
    cursor: help;
}

.metric-tip strong {
    display: block;
    color: #1e3a5f;
    font-size: 1.05rem;
}

.metric-tip span {
    display: block;
    margin-top: 0.35rem;
    color: #5b6f82;
    font-size: 0.82rem;
}

.rgbir-demo-tabs,
.fusion-explorer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.4rem 0 0.9rem;
}

.rgbir-demo-tabs button,
.fusion-explorer button {
    border: 1px solid var(--sg-line);
    border-radius: 999px;
    background: #fff;
    color: #5b6f82;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.38rem 0.8rem;
}

.rgbir-demo-tabs button[aria-pressed="true"],
.fusion-explorer button[aria-pressed="true"] {
    border-color: var(--sg-teal);
    background: var(--sg-teal);
    color: #fff;
}

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

.rgbir-empty {
    display: grid;
    min-height: 180px;
    place-items: center;
    padding: 1.1rem;
    border: 1px dashed #c5d4e2;
    border-radius: 0.45rem;
    background: #f6f9fc;
    color: #6b7d8d;
    font-size: 0.88rem;
    text-align: center;
}

.rgbir-stats {
    display: inline-block;
    margin-top: 0.35rem;
    border-radius: 999px;
    background: #eef4fb;
    color: #1e3a5f;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.16rem 0.5rem;
}

.fusion-formula {
    margin: 1rem 0;
    padding: 1rem 1.15rem;
    border-radius: 0.65rem;
    background: #eef4fb;
    color: #1e3a5f;
    text-align: center;
    font-size: 1.05rem;
}

@media (max-width: 991.98px) {
    .project-hero-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 1.4rem;
    }

    .project-hero-heading,
    .project-hero-copy,
    .project-hero-figure {
        grid-column: 1;
        grid-row: auto;
    }

    .project-hero-figure {
        max-width: 720px;
        justify-self: center;
    }

    .overview-grid,
    .evaluation-grid,
    .result-highlight-grid,
    .metric-tooltip-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-section {
        padding: 1.6rem;
    }

    .resource-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .project-section-nav {
        top: 56px;
        margin-right: -0.25rem;
        margin-left: -0.25rem;
    }

    .project-section {
        scroll-margin-top: 112px;
        padding: 1.25rem;
    }

    .audio-grid,
    .comparison-grid,
    .objective-list,
    .symbol-grid,
    .modality-grid,
    .paired-input-grid,
    .rgbir-demo-grid {
        grid-template-columns: 1fr;
    }

    .threat-flow {
        grid-template-columns: 1fr;
    }

    .flow-node {
        min-height: auto;
    }

    .flow-arrow {
        transform: rotate(90deg);
        text-align: center;
    }

    .technical-figure {
        overflow-x: auto;
    }

    .technical-figure img,
    .data-figure img {
        min-width: 720px;
    }

    .project-theme-rgbir .technical-figure img,
    .project-theme-rgbir .data-figure img {
        min-width: 0;
    }

}

@media (max-width: 575.98px) {
    .project-toolbar {
        align-items: flex-start;
    }

    .project-hero {
        padding: 1.35rem !important;
    }

    .project-title {
        font-size: 2.55rem;
    }

    .project-theme-rgbir .project-title {
        font-size: 1.85rem;
    }

    .project-actions .btn {
        min-width: 0;
    }

    .overview-grid,
    .evaluation-grid,
    .result-highlight-grid,
    .explorer-metrics,
    .metric-tooltip-grid {
        grid-template-columns: 1fr;
    }

    .zero-shot-grid {
        grid-template-columns: 1fr;
    }

    .zero-shot-arrow {
        transform: rotate(90deg);
        text-align: center;
    }

    .implementation-table th {
        width: auto;
    }

    .pipeline {
        display: grid;
        grid-template-columns: 1fr;
    }

    .pipeline i {
        transform: rotate(90deg);
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .core-project-card {
        transition: none;
    }
}
