:root {
    --bg: #f4f1ee;
    --grid: rgba(17, 17, 17, 0.05);
    --ink: #111111;
    --muted: #5d5a57;
    --line: rgba(17, 17, 17, 0.14);
    --panel: rgba(255, 255, 255, 0.12);
    --font-mono: "SFMono-Regular", "Consolas", monospace;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: auto;
    min-height: 100vh;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

main {
    width: 100%;
    display: block;
    transform: none !important;
    transition: none !important;
}

.fullpage-wrapper {
    width: 100%;
    min-height: 100%;
    background-color: #ffffff;
    transition: none;
    will-change: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    width: 100%;
    height: auto;
    background: transparent;
}

.page-shell {
    width: 100%;
    min-height: 100vh;
    margin: 0;
    overflow: visible;
    background-color: #ffffff;
    position: relative;
}

header {
    position: fixed;
    top: 2rem;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 12rem);
    max-width: 1300px;
    z-index: 100;
}

.top-profile-bar {
    position: fixed;
    top: 18px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.8rem;
    width: min(1440px, calc(100vw - 60px));
    padding: 1rem 2rem;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(17, 17, 17, 0.08);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 10px 35px rgba(17, 17, 17, 0.04);
    opacity: 0;
    animation: topBarIn 0.8s ease-out 0.15s forwards;
}

@keyframes topBarIn {
    0% {
        opacity: 0;
        transform: translateX(-50%) translateY(-12px);
    }
    100% {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

.profile-chip {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.profile-name {
    font-size: 0.7rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-weight: 600;
}

.profile-role,
.profile-meta {
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
}

.profile-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    justify-content: flex-end;
}

.case-section {
    width: 100%;
    height: auto !important;
    min-height: 100vh;
    padding: 8rem 0 6rem 0 !important;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: visible !important;
}

.section-inner {
    width: 90vw;
    max-width: 1440px;
    margin: 0 auto !important;
    padding: 0 2rem;
    box-sizing: border-box;
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.section-anchor {
    border-top: none;
}

.section-inner.narrow {
    max-width: 900px;
}

.case-section:not(#s01) .section-inner,
.case-section:not(#s01) .wide-two-col {
    width: 88vw !important;
    max-width: 1440px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

#s02 .section-inner.wide-two-col {
    display: grid !important;
    grid-template-columns: 1fr 1.18fr !important;
    gap: 5rem !important;
    align-items: start !important;
    padding: 6rem 0 !important;
}

#s02 .col-text {
    display: flex;
    flex-direction: column;
}

#s02 .section-kicker {
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    color: #888;
    margin-bottom: 2rem;
}

#s02 .section-heading {
    font-size: 2.2rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 1.5rem;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

#s02 .body-text {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #333;
    margin-bottom: 1.25rem;
}

#s02 .quote-line {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.4;
    color: #111;
    margin: 2rem 0 1.5rem 0;
    padding-left: 1.2rem;
    border-left: 3px solid #111;
    text-transform: none !important;
    letter-spacing: -0.01em !important;
}

#s02 .fig-callout {
    font-size: 0.75rem;
    color: #888;
    letter-spacing: 0.08em;
    margin-bottom: 1.5rem;
}

#s02 .section-footer-tagline {
    font-family: "Helvetica Neue", Arial, sans-serif !important;
    font-size: 0.85rem;
    color: #666;
    margin-top: 2.5rem;
    letter-spacing: 0.02em !important;
    border-top: 1px solid #eee;
    padding-top: 1rem;
    text-transform: none !important;
}

#s02 .col-media,
#s02 .media-figure,
#s02 .media-figure img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

#s02 .media-figure {
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
    background: #f4f4f4;
}

#s02 .media-figure img {
    border-radius: 2px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    object-fit: cover;
}

#s02 .fig-caption {
    font-size: 0.64rem;
    letter-spacing: 0.14em;
    color: #666;
    padding: 0.8rem 0 0;
}

#s03 .section-header {
    margin-bottom: 2.5rem;
}

#s03 .section-heading {
    font-size: 2.2rem;
    font-weight: 700;
    color: #111;
    margin: 0.5rem 0 1rem 0;
    letter-spacing: -0.02em;
}

#s03 .section-intro {
    font-size: 1.05rem;
    color: #555;
    max-width: 800px;
    line-height: 1.6;
}

#s03 .ergo-features-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid #eee;
}

#s03 .ergo-card {
    background: #fafafa;
    padding: 1.25rem;
    border-radius: 2px;
    border: 1px solid #eee;
}

#s03 .ergo-num {
    font-size: 0.72rem;
    color: #888;
    display: block;
    margin-bottom: 0.5rem;
}

#s03 .ergo-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 0.4rem;
}

#s03 .ergo-desc {
    font-size: 0.82rem;
    color: #666;
    line-height: 1.5;
    margin: 0;
}

#s03 .media-grid-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: start;
}

#s03 .media-figure img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: contain;
    display: block;
    background: #f8f9fa;
    padding: 2rem 1.5rem;
    box-sizing: border-box;
    border: 1px solid #eaeaea;
    border-radius: 2px;
}

/* --- P05 SENSOR SPINE --- */
#s05 .spine-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin: 2.5rem 0;
    border-top: 1px solid #eaeaea;
    padding-top: 2rem;
}

#s05 .spine-feature-item h4 {
    font-size: 0.8rem;
    font-weight: 600;
    color: #111;
    margin-bottom: 0.75rem;
    letter-spacing: 0.05em;
}

#s05 .spine-feature-item p {
    font-size: 0.88rem;
    color: #555;
    line-height: 1.6;
}

#s05 .media-figure img {
    width: 100%;
    height: auto;
    display: block;
    background: #f8f9fa;
    padding: 1rem;
    box-sizing: border-box;
    border: 1px solid #eaeaea;
    border-radius: 2px;
}

#s05 .spine-part1-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: center;
    margin-top: 2rem;
}

#s05 .spine-text-card {
    background: #fcfcfc;
    border: 1px solid #e8e8e8;
    padding: 2rem;
    border-left: 3px solid #111;
}

#s05 .card-tag {
    font-size: 0.75rem;
    color: #888;
    margin-bottom: 1rem;
}

#s05 .card-p {
    font-size: 0.92rem;
    color: #444;
    line-height: 1.65;
    margin-bottom: 1rem;
}

#s05 .card-p.highlight {
    color: #111;
    font-weight: 500;
    margin-bottom: 0;
}

#s05 .spine-philosophy-banner {
    background: #111;
    color: #fff;
    padding: 2rem 2.5rem;
    margin: 1.5rem 0 2.5rem 0;
    border-radius: 2px;
}

#s05 .philo-line {
    font-size: 1rem;
    letter-spacing: 0.05em;
    color: #aaa;
}

#s05 .philo-bold {
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff;
    margin-top: 0.25rem;
}

#s05 .spine-part2-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: start;
}

#s05 .body-p {
    font-size: 0.92rem;
    color: #444;
    line-height: 1.65;
    margin-bottom: 1rem;
}

#s05 .strategy-box {
    background: #f8f9fa;
    border: 1px solid #eaeaea;
    padding: 1.25rem 1.5rem;
    margin: 1.5rem 0;
}

#s05 .strat-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.88rem;
    line-height: 1.8;
}

#s05 .strat-label {
    font-weight: 700;
    color: #111;
    min-width: 110px;
}

#s05 .strat-arrow {
    color: #888;
}

#s05 .strat-desc {
    color: #444;
}

#s05 .summary-p {
    font-size: 0.82rem;
    color: #111;
    background: #f0f0f0;
    padding: 0.75rem 1rem;
    border-left: 2px solid #111;
}

@media (max-width: 768px) {
    #s05 .spine-features {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    #s05 .spine-part1-grid,
    #s05 .spine-part2-grid {
        grid-template-columns: 1fr;
    }
}

/* --- P03 KINEMATIC CALLOUT --- */
#s03 .kinematic-callout {
    background: #f8f9fa;
    border-left: 3px solid #111;
    padding: 1.75rem 2rem;
    margin: 2rem 0;
    border-radius: 2px;
}

#s03 .kinematic-title {
    font-size: 0.75rem;
    font-weight: 600;
    color: #888;
    margin-bottom: 0.75rem;
}

#s03 .kinematic-text {
    font-size: 0.95rem;
    color: #444;
    line-height: 1.6;
    font-style: italic;
    font-weight: 400;
    max-width: 900px;
}

@media (max-width: 768px) {
    #s03 .kinematic-callout {
        padding: 1.5rem;
        margin: 2rem 0;
    }
}

.section-inner.wide {
    max-width: 1150px;
}

.figure-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-top: 2rem;
}

.figure-row img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.hero-wallhack-stage {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1350px;
    height: 82vh;
    margin: 0 auto;
    background: #ffffff;
    border: none;
}

.floor-watermark {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: 160vw;
    height: 160vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.2vw;
    font-family: 'Helvetica Neue', Arial, sans-serif;
    font-weight: 900;
    font-size: 3vw;
    line-height: 1;
    letter-spacing: 0.08em;
    white-space: nowrap;
    color: rgba(0, 0, 0, 0.05);
    transform-origin: center center;
    transform: translate(-50%, -50%) perspective(1000px) rotateX(62deg) rotateZ(-24deg) scaleY(1.35);
    pointer-events: none;
    user-select: none;
    -webkit-mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0.3) 45%, rgba(0, 0, 0, 0) 70%);
    mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0.3) 45%, rgba(0, 0, 0, 0) 70%);
}

.watermark-row {
    display: flex;
    gap: 2.5vw;
}

.watermark-row:nth-child(even) {
    transform: none !important;
}

.watermark-row span {
    display: block;
    text-align: center;
}

.hero-wallhack-stage .hero-visual {
    width: 100%;
    max-width: none;
    height: 72vh;
    margin: 0 auto 0.5rem auto;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
    transform: none !important;
    position: relative;
    z-index: 10;
    background: transparent;
}

.hero-wallhack-stage .hero-visual img {
    width: 110% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain !important;
    transform: scale(1.5) translateY(18px) !important;
    transform-origin: center center !important;
    filter: drop-shadow(0px 30px 40px rgba(0, 0, 0, 0.15));
    margin: 0 auto;
    display: block;
    background: transparent;
}

.hero-info-panel {
    position: absolute;
    right: 1.5rem;
    bottom: 3.5rem;
    text-align: right;
    max-width: 80vw;
    z-index: 20;
}

.hero-title-group {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin: 0;
}

.hero-title-group h1 {
    font-size: 4rem;
    font-weight: 900;
    line-height: 0.88;
    letter-spacing: -0.02em;
    margin: 0.25rem 0 0.4rem;
    max-width: 630px;
}

.hero-title-group .eyebrow {
    font-size: 0.72rem;
    color: #666;
    letter-spacing: 0.1em;
    margin: 0;
    line-height: 1.4;
}

.hero-title-group .sub-title {
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    margin: 0;
    color: #666;
    line-height: 1.5;
    white-space: nowrap;
}

.eyebrow,
.section-kicker,
.control-header,
.mono,
.case-chain,
.quote-line,
.keywords span,
.points-list span,
.summary-list span {
    font-family: var(--font-mono);
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

h1 {
    font-size: clamp(2.2rem, 3.2vw, 3.6rem);
    line-height: 0.92;
    letter-spacing: -0.075em;
    text-transform: uppercase;
    margin-bottom: 1rem;
    max-width: 630px;
}

.side-picker-nav {
    position: fixed !important;
    right: 2rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 9999 !important;
}

.hero-copy,
.section-copy,
.grid-thirds article,
figure,
.hero-visual,
.keywords > div,
.points-list > div,
.summary-list > div {
    position: relative;
    z-index: 1;
}

.eyebrow,
.section-kicker,
.control-header,
.mono,
.case-chain,
.quote-line,
.keywords span,
.points-list span,
.summary-list span {
    font-family: var(--font-mono);
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.eyebrow,
.section-kicker {
    font-size: 0.7rem;
    color: var(--muted);
    margin-bottom: 1.1rem;
}

h1 {
    font-size: clamp(2.2rem, 3.2vw, 3.6rem);
    line-height: 0.92;
    letter-spacing: -0.075em;
    text-transform: uppercase;
    margin-bottom: 1rem;
    max-width: 630px;
}

h2 {
    font-size: clamp(2.1rem, 3.4vw, 3.2rem);
    line-height: 0.94;
    letter-spacing: -0.06em;
    margin-bottom: 1rem;
}

h3 {
    font-size: 1.1rem;
    line-height: 1.3;
    letter-spacing: -0.04em;
    margin-bottom: 0.7rem;
}

.lede {
    font-size: 1.02rem;
    color: var(--muted);
    margin-bottom: 1.5rem;
}

.quote-line {
    display: block;
    font-size: 0.66rem;
    color: var(--ink);
    margin-bottom: 1rem;
}

.case-chain {
    display: block;
    font-size: 0.68rem;
    color: var(--ink);
    margin-bottom: 1rem;
}

.body-copy,
.section-copy p,
.grid-thirds p,
.keywords p,
.points-list p,
.summary-list p,
.ending {
    color: var(--muted);
}

.keywords,
.points-list,
.summary-list {
    display: grid;
    gap: 1rem;
    margin-top: 1.8rem;
}

.keywords {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.points-list,
.summary-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.keywords > div,
.points-list > div,
.summary-list > div {
    padding-top: 1rem;
    border-top: 1px solid var(--line);
}

.keywords span,
.points-list span,
.summary-list span {
    display: inline-block;
    font-size: 0.6rem;
    color: var(--muted);
    margin-bottom: 0.9rem;
}

.keywords strong,
.points-list strong,
.summary-list strong {
    display: block;
    margin-bottom: 0.45rem;
    letter-spacing: -0.04em;
    font-size: 1.15rem;
}

.hero-visual {
    width: min(100%, 820px);
    margin-left: auto;
    margin-top: 3.2rem;
}

.hero-visual img,
.media-figure img,
.figure-row img {
    display: block;
    width: 100%;
    height: auto;
}

.figure-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

.grid-thirds {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: 2rem;
}

.grid-thirds article {
    padding-top: 1rem;
    border-top: 1px solid var(--line);
}

.media-figure,
.figure-row figure {
    margin-top: 1.8rem;
    overflow: hidden;
}

.section-copy {
    max-width: 720px;
}

.section-copy p {
    font-size: 1.04rem;
}

.exploded-view-container {
    --explode-factor: 0;
    width: min(100%, 860px);
    margin: 2rem auto 0;
}

.image-stack {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    margin-bottom: 1.5rem;
    background: transparent;
}

.explode-layer {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.12s ease-out;
}

.layer-top {
    transform: translateY(calc(var(--explode-factor) * -0.3px));
    z-index: 4;
}

.layer-pcb {
    transform: translateY(calc(var(--explode-factor) * -0.15px));
    z-index: 3;
}

.layer-spine {
    transform: translateY(calc(var(--explode-factor) * 0.05px));
    z-index: 2;
}

.layer-bottom {
    transform: translateY(calc(var(--explode-factor) * 0.22px));
    z-index: 1;
}

.controls {
    width: min(100%, 420px);
    margin: 0 auto;
}

.control-header {
    display: flex;
    justify-content: space-between;
    font-size: 0.68rem;
    color: var(--muted);
    margin-bottom: 0.7rem;
}

input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    background: transparent;
}

input[type="range"]::-webkit-slider-runnable-track {
    height: 1px;
    background: var(--line);
    cursor: pointer;
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 7px;
    height: 18px;
    background: var(--ink);
    border: 0;
    margin-top: -8px;
    cursor: pointer;
}

input[type="range"]:focus {
    outline: none;
}

.comparison-slider {
    --compare-pos: 50%;
    position: relative;
    width: min(100%, 920px);
    aspect-ratio: 16 / 9;
    margin: 2rem auto 0;
    overflow: hidden;
    background: transparent;
}

.img-layer {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.img-before {
    z-index: 1;
}

.img-after {
    z-index: 2;
    width: var(--compare-pos);
    border-right: 1px solid rgba(255, 255, 255, 0.9);
}

.compare-divider {
    position: absolute;
    left: var(--compare-pos);
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(255, 255, 255, 0.9);
    z-index: 3;
    pointer-events: none;
}

.compare-range {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 4;
    opacity: 0;
    cursor: ew-resize;
}

.side-nav,
.side-picker-nav {
    position: fixed !important;
    right: 2rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    align-items: flex-end !important;
    z-index: 9999 !important;
    pointer-events: auto;
    min-height: 540px;
    justify-content: center;
}

.side-nav .nav-item,
.side-picker-nav .picker-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.7rem !important;
    text-decoration: none !important;
    color: currentColor;
    transform: scale(1.08);
    transform-origin: right center;
    min-height: 32px;
}

.nav-item,
.picker-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    color: var(--muted);
    transition: color 0.2s ease, transform 0.2s ease;
}

.nav-item .num,
.picker-num {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 0.8rem;
    line-height: 1;
    letter-spacing: 0.14em;
    opacity: 0.4;
    transform: scale(1);
    transition: opacity 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.nav-item .label,
.picker-label {
    position: absolute;
    right: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%) translateX(5px);
    font-family: var(--font-mono);
    font-size: 0.65rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0;
    white-space: nowrap;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.nav-item.active .num,
.nav-item:hover .num,
.nav-item:focus-visible .num,
.picker-item.active .picker-num,
.picker-item:hover .picker-num,
.picker-item:focus-visible .picker-num {
    opacity: 1;
    transform: scale(1.15);
    color: var(--ink);
}

.nav-item.active .label,
.nav-item:hover .label,
.nav-item:focus-visible .label,
.picker-item.active .picker-label,
.picker-item:hover .picker-label,
.picker-item:focus-visible .picker-label {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}


@keyframes revealUp {
    0% {
        opacity: 0;
        transform: translateY(28px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes revealUp {
    0% {
        opacity: 0;
        transform: translateY(28px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes revealNav {
    0% {
        opacity: 0;
        transform: translateX(18px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.side-nav .nav-item,
.side-picker-nav .picker-item {
    opacity: 0;
    transform: translateX(18px);
    animation: revealNav 1.2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: var(--reveal-delay, 0ms);
}

.floor-watermark {
    opacity: 0;
    animation: revealFade 1.4s ease forwards;
}

.watermark-row {
    opacity: 0;
    transform: translateY(18px);
    animation: watermarkRowIn 1.2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: calc(var(--row-index, 0) * 150ms);
}

.watermark-row:nth-child(1) { --row-index: 0; }
.watermark-row:nth-child(2) { --row-index: 1; }
.watermark-row:nth-child(3) { --row-index: 2; }
.watermark-row:nth-child(4) { --row-index: 3; }
.watermark-row:nth-child(5) { --row-index: 4; }
.watermark-row:nth-child(6) { --row-index: 5; }

@keyframes revealFade {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes watermarkRowIn {
    0% {
        opacity: 0;
        transform: translateY(18px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.ending {
    margin-top: 1.8rem;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
}

body,
main.page-shell,
.fullpage-wrapper {
    margin: 0 !important;
    padding: 0 !important;
    width: 100vw !important;
    box-sizing: border-box !important;
}

main,
.case-section {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
}

#s01 {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh;
    overflow: hidden;
    position: relative;
}

#s01 .section-inner {
    width: 100% !important;
    max-width: none !important;
    height: 100%;
}

.section-inner {
    width: 90vw !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
    padding: 0 2rem !important;
    box-sizing: border-box !important;
}

.hero-layout {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3rem !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hero-copy {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    width: 100 !important;
}

.hero-visual {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

.hero-visual img {
    width: 100% !important;
    height: auto !important;
    max-height: 55vh !important;
    object-fit: contain !important;
    transform: scale(1.5) !important;
    transform-origin: center center;
}

.side-picker-nav {
    position: fixed !important;
    right: 2rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 9999 !important;
}

@media (max-width: 900px) {
    .page-shell {
        width: min(100% - 32px, 1240px);
    }

    .top-profile-bar {
        left: 16px;
        right: 16px;
        width: auto;
        transform: none;
        max-width: none;
        min-width: 0;
    }

    .hero-layout,
    .figure-row,
    .grid-thirds,
    .keywords,
    .points-list,
    .summary-list {
        grid-template-columns: 1fr;
    }

    .hero-layout {
        padding-top: 7rem;
    }

    .hero-visual {
        margin-top: 0;
    }

    .side-picker-nav {
        right: 0.8rem;
    }
}

/* --- Scroll Reveal Animations --- */
.reveal-element {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

.reveal-element.is-visible {
    opacity: 1 !important;
    transform: none !important;
}

.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }

/* --- P04 PACKAGING --- */
#s04 .problem-solution-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin: 2rem 0;
}

#s04 .ps-card {
    background: #fcfcfc;
    border: 1px solid #e5e5e5;
    border-left: 3px solid #111;
    padding: 1.75rem;
    border-radius: 2px;
}

#s04 .ps-header {
    font-size: 0.72rem;
    color: #888;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
}

#s04 .ps-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 0.75rem;
}

#s04 .ps-text {
    font-size: 0.88rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 1.25rem;
}

#s04 .ps-tag {
    font-size: 0.7rem;
    color: #222;
    background: #eee;
    display: inline-block;
    padding: 0.3rem 0.6rem;
    border-radius: 2px;
}

#s04 .media-figure img {
    width: 100%;
    height: auto;
    display: block;
    background: #f8f9fa;
    padding: 2rem;
    box-sizing: border-box;
    border: 1px solid #eaeaea;
    border-radius: 2px;
}

@media (max-width: 768px) {
    #s04 .problem-solution-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .case-section {
        padding: 56px 0;
    }

    .side-picker-nav {
        display: none;
    }
}

/* --- P04 STYLES --- */
#s04 .problem-grid-three {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin: 2.5rem 0;
}
#s04 .p-card {
    background: #fdfdfd;
    border: 1px solid #e8e8e8;
    padding: 1.5rem;
    border-radius: 2px;
}
#s04 .p-num {
    font-size: 0.8rem;
    font-weight: 600;
    color: #111;
    margin-bottom: 0.75rem;
}
#s04 .p-text {
    font-size: 0.88rem;
    color: #555;
    line-height: 1.6;
    margin: 0;
}
#s04 .section-transition-note {
    font-size: 0.85rem;
    color: #111;
    background: #f4f4f4;
    padding: 1.25rem 1.75rem;
    border-left: 3px solid #111;
    margin-top: 2rem;
}

/* --- P05 STYLES --- */
#s05 .spine-compare-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin: 2rem 0;
}
#s05 .spine-logic-card {
    background: #fcfcfc;
    border: 1px solid #e5e5e5;
    padding: 2rem;
    margin: 2rem 0;
}
#s05 .spine-logic-card .card-title {
    font-size: 0.75rem;
    color: #888;
    margin-bottom: 1rem;
}
#s05 .spine-logic-card .card-desc {
    font-size: 0.95rem;
    color: #111;
    font-weight: 500;
    margin-bottom: 1rem;
}
#s05 .spine-conn-list {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem 0;
}
#s05 .spine-conn-list li {
    font-size: 0.9rem;
    color: #333;
    line-height: 1.8;
}
#s05 .spine-logic-card .card-summary {
    font-size: 0.88rem;
    color: #555;
    line-height: 1.65;
    border-top: 1px solid #eee;
    padding-top: 1.25rem;
    margin: 0;
}
#s05 .open-structure-banner {
    display: flex;
    align-items: center;
    justify-content: space-around;
    background: #111;
    color: #fff;
    padding: 1.25rem 2rem;
    font-size: 0.85rem;
    margin-top: 2.5rem;
}
#s05 .open-structure-banner .arrow {
    color: #888;
}
#s05 .banner-subtext {
    font-size: 0.88rem;
    color: #666;
    margin: 0.75rem 0 2.5rem 0;
    text-align: center;
}

/* --- P06 STYLES --- */
#s06 {
    min-height: 100vh !important;
    padding-top: 5rem !important;
    padding-bottom: 2.2rem !important;
    scroll-margin-top: 108px;
}

#s06 .section-inner.container {
    padding-top: 0;
}

#s06 .chapter-header {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin-bottom: 0.85rem;
}

#s06 .chapter-headline-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

#s06 .chapter-header .section-kicker {
    margin-bottom: 0;
    font-size: 0.7rem;
}

#s06 .chapter-header .section-heading {
    font-size: clamp(2rem, 2.5vw, 2.8rem);
    margin: 0;
    line-height: 1;
    letter-spacing: -0.06em;
    text-transform: uppercase;
}

#s06 .chapter-subtitle {
    font-size: 0.76rem;
    letter-spacing: 0.08em;
    color: #666;
    text-transform: none;
}

#s06 .chapter-body-copy {
    max-width: 760px;
    font-size: 0.96rem;
    line-height: 1.7;
    color: #444;
    margin-bottom: 1.5rem;
    font-style: italic;
}

#s06 .proto-visual-grid {
    display: grid;
    grid-template-columns: 1.38fr 1fr;
    gap: 1.1rem;
    align-items: start;
    margin-bottom: 0.9rem;
}

#s06 .proto-main-figure,
#s06 .proto-side-figure {
    margin: 0;
    display: flex;
    flex-direction: column;
    overflow: visible;
    background: transparent;
    position: relative;
}

#s06 .proto-overlay-note {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 1;
    max-width: 68%;
    font-size: 0.58rem;
    line-height: 1.6;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.95);
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
    font-style: italic;
}

#s06 .proto-main-figure img,
#s06 .proto-side-figure img {
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
    background: transparent;
    border-radius: 2px;
    display: block;
}

#s06 .chapter-fig-caption {
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    color: #666;
    padding-top: 0.5rem;
    text-transform: uppercase;
    font-weight: 400;
}

#s06 .proto-validation-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem 1.4rem;
    margin: 0;
    padding-top: 0.85rem;
    border-top: 1px solid #eaeaea;
}

#s06 .proto-validation-item {
    padding-top: 0.1rem;
    min-width: 0;
}

#s06 .proto-tag {
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.5;
    color: #111;
    margin-bottom: 0.45rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#s06 .proto-validation-item p {
    font-size: 0.74rem;
    line-height: 1.6;
    color: #555;
    margin: 0;
}

#s06 .proto-footer {
    margin-top: 1.1rem;
    padding-top: 0.9rem;
    border-top: 1px solid #eaeaea;
    text-align: center;
}

#s06 .proto-footer-line {
    font-size: 0.7rem;
    letter-spacing: 0.16em;
    color: #111;
    margin-bottom: 0.5rem;
}

#s06 .proto-footer-meta {
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    color: #777;
    text-transform: none;
}

/* --- P07 STYLES --- */
#s07 {
    min-height: auto;
    padding-top: 0 !important;
    padding-bottom: 5rem !important;
}

#s07 .conclusion-hero-stage {
    height: 82vh;
}

#s07 .conclusion-body-wrap {
    width: 58vw;
    max-width: 860px;
    margin-top: 2rem !important;
    padding: 0 0 0 0 !important;
}

#s07 .conclusion-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 0;
}

#s07 .conclusion-body .main-text {
    font-size: 1rem;
    color: #222;
    line-height: 1.75;
}

#s07 .process-flow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    margin-top: 2.1rem;
    padding: 0.8rem 1.2rem;
    border-top: 1px solid #eaeaea;
    border-bottom: 1px solid #eaeaea;
    width: 100%;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: #111;
}

#s07 .process-flow .arr {
    color: #888;
}

#s07 .conclusion-keywords {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 2.1rem;
    padding-top: 1rem;
    border-top: 1px solid #eaeaea;
}

#s07 .conclusion-keywords span {
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.18em;
    color: #111;
    text-align: center;
    padding-top: 0.15rem;
}

#s07 .closing-statement {
    margin-top: 2.5rem;
    text-align: center;
    color: #111;
}

#s07 .closing-statement div {
    font-size: clamp(1.2rem, 1.8vw, 1.8rem);
    line-height: 1.4;
    letter-spacing: 0.06em;
}

#s07 .hero-title-group .eyebrow {
    margin-bottom: 0;
}

#s07 .hero-title-group h1 {
    font-size: clamp(2rem, 3vw, 3.2rem);
    margin: 0.15rem 0 0.4rem;
}

#s07 .hero-title-group .sub-title {
    white-space: normal;
    text-align: right;
}

/* Chapter 06/07 responsive */
@media (max-width: 1024px) {
    #s06 .proto-visual-grid,
    #s06 .proto-validation-grid {
        grid-template-columns: 1fr 1fr;
    }

    #s07 .conclusion-body-wrap {
        width: min(84vw, 860px);
    }
}

@media (max-width: 768px) {
    #s06 .proto-visual-grid,
    #s06 .proto-validation-grid,
    #s07 .conclusion-keywords {
        grid-template-columns: 1fr;
    }

    #s07 .process-flow {
        gap: 0.5rem 0.7rem;
    }

    #s06 .chapter-body-copy {
        font-size: 0.9rem;
    }
}

/* 移动端适配 */
@media (max-width: 768px) {
    #s04 .problem-grid-three,
    #s05 .spine-compare-grid,
    #s06 .proto-grid-four {
        grid-template-columns: 1fr;
    }
    #s05 .open-structure-banner {
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
    }
}

/* ==========================================
P05 SENSOR SPINE (DUAL-SCREEN LAYOUT)
========================================== */
/* --- Part 1 Layout --- */
#s05 .spine-part1-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 2.5rem;
    align-items: center;
    margin-top: 1.5rem;
}

#s05 .spine-text-card {
    background: #fcfcfc;
    border: 1px solid #e8e8e8;
    border-left: 3px solid #111;
    padding: 2rem;
}

#s05 .card-tag {
    font-size: 0.75rem;
    color: #888;
    margin-bottom: 1rem;
    letter-spacing: 0.05em;
}

#s05 .card-p {
    font-size: 0.92rem;
    color: #444;
    line-height: 1.65;
    margin-bottom: 1.25rem;
}

#s05 .card-p.highlight {
    color: #111;
    font-weight: 500;
    margin-bottom: 0;
    background: #f4f4f4;
    padding: 1rem;
    border-radius: 2px;
}

/* --- Part 2 Layout --- */
#s05 .spine-philosophy-banner {
    background: #111;
    color: #fff;
    padding: 1.75rem 2.25rem;
    margin: 1.25rem 0 2rem 0;
    border-radius: 2px;
}

#s05 .philo-line {
    font-size: 0.95rem;
    letter-spacing: 0.05em;
    color: #aaa;
}

#s05 .philo-bold {
    font-size: 1.35rem;
    font-weight: 700;
    color: #fff;
    margin-top: 0.2rem;
}

#s05 .spine-part2-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: start;
}

#s05 .body-p {
    font-size: 0.9rem;
    color: #444;
    line-height: 1.65;
    margin-bottom: 1rem;
}

#s05 .strategy-box {
    background: #f8f9fa;
    border: 1px solid #eaeaea;
    padding: 1.25rem 1.5rem;
    margin: 1.25rem 0;
}

#s05 .strat-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.88rem;
    line-height: 1.8;
}

#s05 .strat-label {
    font-weight: 700;
    color: #111;
    min-width: 110px;
}

#s05 .strat-arrow {
    color: #888;
}

#s05 .strat-desc {
    color: #444;
}

#s05 .summary-p {
    font-size: 0.82rem;
    color: #111;
    background: #f0f0f0;
    padding: 0.75rem 1rem;
    border-left: 2px solid #111;
    margin: 0;
}

#s05 .media-figure img,
#s05 .media-figure img {
    width: 100%;
    height: auto;
    display: block;
    background: #f8f9fa;
    padding: 1.25rem;
    box-sizing: border-box;
    border: 1px solid #eaeaea;
    border-radius: 2px;
}

@media (max-width: 768px) {
    #s05 .spine-part1-grid,
    #s05 .spine-part2-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================
P05 SENSOR SPINE — THREE-ACT STORY
========================================== */

/* --- PART II: 4-FUNCTION GRID --- */
#s05 .spine-four-grid-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    margin-top: 2rem;
    align-items: start;
}

#s05 .spine-functions-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}

#s05 .spine-fn-card {
    background: #fcfcfc;
    border: 1px solid #e8e8e8;
    border-top: 2px solid #111;
    padding: 1.25rem;
}

#s05 .fn-num {
    font-size: 0.75rem;
    color: #888;
    margin-bottom: 0.5rem;
}

#s05 .fn-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 0.5rem;
}

#s05 .fn-desc {
    font-size: 0.82rem;
    color: #555;
    line-height: 1.5;
    margin: 0;
}

#s05 .spine-backbone-quote {
    background: #111;
    color: #fff;
    text-align: center;
    padding: 1.25rem 2rem;
    font-size: 0.95rem;
    letter-spacing: 0.03em;
    margin-top: 2.5rem;
}

/* --- PART III: WHY OPEN STRUCTURE --- */
#s05-b .sub-heading-tag {
    font-size: 0.8rem;
    color: #888;
    letter-spacing: 0.08em;
    margin-top: -0.5rem;
    margin-bottom: 1.5rem;
}

#s05-b .open-structure-layout {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 2.5rem;
    align-items: start;
}

#s05-b .body-p {
    font-size: 0.92rem;
    color: #444;
    line-height: 1.65;
    margin-bottom: 1.25rem;
}

#s05-b .key-takeaway-box {
    background: #f8f9fa;
    border-left: 3px solid #111;
    padding: 1.25rem 1.5rem;
    margin-top: 1.5rem;
}

#s05-b .takeaway-text {
    font-size: 0.9rem;
    font-weight: 500;
    color: #111;
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 768px) {
    #s05 .spine-four-grid-layout,
    #s05 .spine-functions-grid,
    #s05-b .open-structure-layout {
        grid-template-columns: 1fr;
    }
}

/* 限制 P05 引言宽度，避免行长过长 */
#s05 .section-intro {
    max-width: 850px;
    margin-right: auto;
    line-height: 1.7;
    font-size: 0.95rem;
}

/* ==========================================
   FRONT-END ENGINEERING ANNOTATION (REFINED)
   ========================================== */
.eng-annotation {
    position: absolute;
    z-index: 10;
    pointer-events: none;
}

.target-dot {
    position: absolute;
    top: -4px;
    left: -4px;
    width: 8px;
    height: 8px;
    background: #e63946;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(230, 57, 70, 0.2);
}

.anno-line {
    position: absolute;
    top: 0;
    right: 12px;
    width: 140px;
    height: 1px;
    background: #e63946;
}

.anno-text {
    position: absolute;
    top: -24px;
    right: 160px;
    background: #111;
    color: #fff;
    border: none;
    border-left: 2px solid #e63946;
    font-size: 0.65rem;
    letter-spacing: 0.05em;
    padding: 0.6rem 0.8rem;
    line-height: 1.6;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    white-space: nowrap;
    text-align: left;
}

.anno-text br {
    display: block;
    content: "";
    margin-top: 2px;
}

@media (max-width: 768px) {
    .eng-annotation {
        display: none;
    }
}

/* ==========================================
   P04: THE STRUCTURAL PROBLEM - LAYOUT FIXES
   ========================================== */

/* 1. 解除硬性高度限制，增加顶部防遮挡留白 */
#s04 {
    height: auto !important;
    min-height: 100vh;
    padding-top: 8rem !important;
    padding-bottom: 6rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* 2. 限制引言文本宽度，增加右侧负空间 */
#s04 .section-intro {
    max-width: 850px;
    margin-right: auto;
    line-height: 1.7;
    font-size: 0.95rem;
    margin-bottom: 1rem;
}

/* 3. 增加大图上下的呼吸感 */
#s04 .col-media {
    margin: 3.5rem 0 !important;
}

/* 4. 优化流程条与下方卡片的间距 */
/* 5. 精致化 3 个问题卡片 */
#s04 .problem-grid-three {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

#s04 .p-card {
    background: #fcfcfc;
    border: 1px solid #e8e8e8;
    border-top: 2px solid #111;
    padding: 2rem;
}

#s04 .p-num {
    font-size: 0.75rem;
    font-weight: 700;
    color: #888;
    margin-bottom: 1rem;
    letter-spacing: 0.05em;
}

#s04 .p-text {
    font-size: 0.88rem;
    color: #444;
    line-height: 1.65;
    margin: 0;
}

/* 移动端适配响应式 */
@media (max-width: 768px) {
    #s04 .problem-grid-three {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* ==========================================
MINIMALIST INDUSTRIAL ANIMATIONS
========================================== */

/* 1. 图片微悬停放大（极简高级感） */
.media-figure img {
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.media-figure:hover img {
    transform: scale(1.018);
}

/* 2. 所有功能与问题卡片 hover 浮起与边框高亮 */
.p-card,
.spine-fn-card,
.proto-card {
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.p-card:hover,
.spine-fn-card:hover,
.proto-card:hover {
    transform: translateY(-3px);
    border-color: #111 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

/* 3. P04 红色干涉原点呼吸脉冲 */
.target-dot {
    animation: pulse-red 2s infinite ease-in-out;
}

@keyframes pulse-red {
    0% { box-shadow: 0 0 0 0 rgba(230, 57, 70, 0.5); }
    70% { box-shadow: 0 0 0 8px rgba(230, 57, 70, 0); }
    100% { box-shadow: 0 0 0 0 rgba(230, 57, 70, 0); }
}

/* 4. 黑色宣言 Banner 光泽平滑过渡 */
.impact-transition-box,
.spine-backbone-quote {
    transition: background-color 0.4s ease, transform 0.3s ease;
}

.impact-transition-box:hover {
    background: #050505;
}

/* 5. 滚动视口平滑渐现（支持原生 CSS Scroll-Driven Animation） */
@supports (animation-timeline: view()) {
    .case-section {
        animation: fade-in-up linear both;
        animation-timeline: view();
        animation-range: entry 10% cover 30%;
    }

    @keyframes fade-in-up {
        from {
            opacity: 0.3;
            transform: translateY(20px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

/* ==========================================
   ANCHOR POSITIONING FIX FOR P06
   ========================================== */

/* 1. 清除 P05-b 底部外边距，防止干扰下一个 Section */
#s05-b {
    margin-bottom: 0 !important;
}

/* 2. 修正 P06 锚点对齐位置与视口高度 */
#s06 {
    min-height: 100vh;
    padding-top: 4rem !important;
    padding-bottom: 2rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    scroll-margin-top: 0px !important;
}

/* 3. 统一全局章节锚点跳转行为 */
.case-section {
    scroll-margin-top: 0px;
}

/* ==========================================
   P04: IMPACT TRANSITION BOX
   ========================================== */
#s04 .impact-transition-box {
    background: #111;
    color: #fff;
    padding: 3.5rem 4rem;
    margin-top: 4rem;
    border-radius: 2px;
    text-align: center;
}

#s04 .impact-flow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    font-size: 0.8rem;
    color: #888;
    letter-spacing: 0.05em;
    margin-bottom: 2rem;
}

#s04 .impact-flow .highlight {
    color: #fff;
    border-bottom: 1px solid #fff;
    padding-bottom: 2px;
}

#s04 .impact-statement {
    font-size: 1.35rem;
    line-height: 1.6;
    font-weight: 500;
    color: #f4f4f4;
    max-width: 900px;
    margin: 0 auto;
    font-style: italic;
}

@media (max-width: 768px) {
    #s04 .impact-transition-box {
        padding: 2.5rem 1.5rem;
    }

    #s04 .impact-flow {
        flex-direction: column;
        gap: 0.5rem;
    }

    #s04 .impact-flow .arr {
        transform: rotate(90deg);
    }

    #s04 .impact-statement {
        font-size: 1.1rem;
    }
}

/* ==========================================
P04: SINGLE SCREEN DASHBOARD (COMPACT)
========================================== */
#s04 {
    min-height: 100vh;
    padding-top: 5rem !important;
    padding-bottom: 2rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

#s04 .section-header {
    margin-bottom: 1.25rem;
}

#s04 .section-intro {
    max-width: 750px;
    font-size: 0.88rem;
    line-height: 1.5;
    margin-bottom: 0;
}

/* 左右双栏 */
#s04 .p04-main-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 1.75rem;
    align-items: center;
    margin-bottom: 1.25rem;
}

#s04 .p04-cards-col {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

#s04 .p-card {
    background: #fcfcfc;
    border: 1px solid #e8e8e8;
    border-left: 3px solid #111;
    padding: 0.85rem 1.1rem;
}

#s04 .p-num {
    font-size: 0.7rem;
    font-weight: 700;
    color: #888;
    margin-bottom: 0.3rem;
    letter-spacing: 0.05em;
}

#s04 .p-text {
    font-size: 0.82rem;
    color: #444;
    line-height: 1.45;
    margin: 0;
}

/* 底部紧凑型 Banner */
#s04 .impact-transition-box {
    background: #111;
    color: #fff;
    padding: 1rem 1.5rem;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

#s04 .impact-flow {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.72rem;
    color: #888;
    white-space: nowrap;
}

#s04 .impact-flow .highlight {
    color: #fff;
    border-bottom: 1px solid #fff;
}

#s04 .impact-statement {
    font-size: 0.85rem;
    line-height: 1.4;
    color: #f4f4f4;
    margin: 0;
    font-style: italic;
    text-align: right;
}

@media (max-width: 900px) {
    #s04 .p04-main-grid {
        grid-template-columns: 1fr;
    }

    #s04 .impact-transition-box {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    #s04 .impact-statement {
        text-align: left;
    }
}

/* ==========================================
P04: HIGH IMPACT & WIDE SCREEN LAYOUT
========================================== */

/* 1. 解除全局容器限制，放大 P04 容器宽度 */
#s04 .container {
    max-width: 1550px !important;
    width: 92vw;
}

/* 2. 调整内边距，确保纵向正好装满一屏 */
#s04 {
    min-height: 100vh;
    padding-top: 4.5rem !important;
    padding-bottom: 2rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

#s04 .section-header {
    margin-bottom: 1rem;
}

#s04 .section-heading {
    font-size: 2.2rem;
}

#s04 .section-intro {
    max-width: 900px;
    font-size: 0.95rem;
    line-height: 1.55;
}

/* 3. 重构左右双栏：给剖视图 65% 的绝对主体面积 */
#s04 .p04-main-grid {
    display: grid;
    grid-template-columns: 1.35fr 0.65fr;
    gap: 2.5rem;
    align-items: center;
    margin-bottom: 1.5rem;
}

/* 4. 放大 CAD 图像容器 */
#s04 .media-figure img {
    width: 100%;
    height: auto;
    display: block;
    padding: 0;
}

/* 5. 优化右侧卡片与字体尺寸 */
#s04 .p04-cards-col {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#s04 .p-card {
    background: #fcfcfc;
    border: 1px solid #e8e8e8;
    border-left: 4px solid #111;
    padding: 1.1rem 1.4rem;
}

#s04 .p-num {
    font-size: 0.75rem;
    font-weight: 700;
    color: #888;
    margin-bottom: 0.4rem;
}

#s04 .p-text {
    font-size: 0.88rem;
    color: #444;
    line-height: 1.5;
}

/* 6. 拓宽底部深色宣言 Banner */
#s04 .impact-transition-box {
    background: #111;
    color: #fff;
    padding: 1.25rem 2.25rem;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    width: 100%;
    box-sizing: border-box;
}

#s04 .impact-flow {
    font-size: 0.78rem;
    gap: 0.8rem;
}

#s04 .impact-statement {
    font-size: 0.95rem;
    line-height: 1.45;
}

/* ==========================================
FRONT-END ENGINEERING ANNOTATION (POLYLINE TOP-RIGHT)
========================================== */
.eng-annotation {
    position: absolute;
    z-index: 20;
    pointer-events: none;
}

/* 目标原点红点 */
.target-dot {
    position: absolute;
    top: -4px;
    left: -4px;
    width: 8px;
    height: 8px;
    background: #e63946;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(230, 57, 70, 0.25);
}

/* 右上方黑底白字卡片 */
.anno-text {
    position: absolute;
    top: -62px;
    left: 75px;
    background: #111;
    color: #fff;
    border-left: 3px solid #e63946;
    font-size: 0.65rem;
    letter-spacing: 0.05em;
    padding: 0.55rem 0.8rem;
    line-height: 1.5;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
    white-space: nowrap;
    text-align: left;
}


/* ==========================================
P05 SENSOR SPINE: HIGH-IMPACT WIDE LAYOUT
========================================== */

/* 容器统一放大至 1550px / 92vw */
#s05 .container,
#s05-b .container {
    max-width: 1550px !important;
    width: 92vw;
}

#s05,
#s05-b {
    min-height: 100vh;
    padding-top: 4.5rem !important;
    padding-bottom: 2.5rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

#s05 .section-intro {
    max-width: 950px;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #444;
}

/* Part 1 布局优化 */
#s05 .p05-main-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: center;
    margin: 1.5rem 0;
}

#s05 .spine-functions-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}

#s05 .spine-fn-card {
    background: #fcfcfc;
    border: 1px solid #e8e8e8;
    border-top: 3px solid #111;
    padding: 1.25rem 1.5rem;
}

#s05 .fn-num {
    font-size: 0.75rem;
    font-weight: 700;
    color: #888;
    margin-bottom: 0.4rem;
}

#s05 .fn-title {
    font-size: 0.98rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 0.5rem;
}

#s05 .fn-desc {
    font-size: 0.85rem;
    color: #555;
    line-height: 1.5;
    margin: 0;
}

#s05 .spine-media-col img,
#s05-b .open-media-col img {
    width: 100%;
    height: auto;
    display: block;
    padding: 0;
}

#s05 .spine-backbone-quote {
    background: #111;
    color: #fff;
    text-align: center;
    padding: 1.1rem 2rem;
    font-size: 0.88rem;
    letter-spacing: 0.05em;
    margin-top: 1rem;
}

/* Part 2 布局优化 */
#s05-b .sub-heading-tag {
    font-size: 0.8rem;
    color: #888;
    letter-spacing: 0.08em;
    margin-top: -0.5rem;
    margin-bottom: 1.5rem;
}

#s05-b .open-structure-layout {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 3rem;
    align-items: center;
    margin-top: 1rem;
}

#s05-b .body-p {
    font-size: 0.95rem;
    color: #444;
    line-height: 1.65;
    margin-bottom: 1.25rem;
}

#s05-b .key-takeaway-box {
    background: #f8f9fa;
    border-left: 4px solid #111;
    padding: 1.25rem 1.75rem;
    margin-top: 1.75rem;
}

#s05-b .takeaway-text {
    font-size: 0.92rem;
    font-weight: 500;
    color: #111;
    line-height: 1.6;
    margin: 0;
}

@media (max-width: 900px) {
    #s05 .p05-main-grid,
    #s05 .spine-functions-grid,
    #s05-b .open-structure-layout {
        grid-template-columns: 1fr;
    }
}

/* ==========================================
P05-PART II: FUNCTIONAL DECOUPLING LAYOUT
========================================== */

#s05-b .container {
    max-width: 1550px !important;
    width: 92vw;
}

#s05-b {
    min-height: 100vh;
    padding-top: 4.5rem !important;
    padding-bottom: 2.5rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

#s05-b .sub-heading-tag {
    font-size: 0.8rem;
    color: #888;
    letter-spacing: 0.08em;
    margin-top: -0.25rem;
    margin-bottom: 1.5rem;
}

#s05-b .open-structure-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
    margin-top: 0.5rem;
}

#s05-b .body-p {
    font-size: 0.92rem;
    color: #444;
    line-height: 1.6;
    margin-bottom: 1.25rem;
}

/* 逻辑解耦对比框 */
#s05-b .decoupling-box {
    background: #f8f9fa;
    border: 1px solid #eaeaea;
    padding: 1.25rem;
    margin: 1.5rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

#s05-b .decouple-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.85rem;
}

#s05-b .decouple-tag {
    font-weight: 700;
    color: #111;
    min-width: 120px;
    font-size: 0.75rem;
}

#s05-b .decouple-arrow {
    color: #888;
}

#s05-b .decouple-desc {
    color: #555;
}

#s05-b .decouple-row.highlight .decouple-tag {
    color: #e63946;
}

#s05-b .decouple-row.highlight .decouple-desc {
    color: #111;
    font-weight: 500;
}

#s05-b .key-takeaway-box {
    background: #111;
    color: #fff;
    padding: 1.25rem 1.5rem;
    border-left: 3px solid #e63946;
}

#s05-b .takeaway-text {
    font-size: 0.88rem;
    line-height: 1.5;
    color: #f4f4f4;
    margin: 0;
    font-style: italic;
}

#s05-b .open-media-col img {
    width: 100%;
    height: auto;
    display: block;
    padding: 0;
}

@media (max-width: 900px) {
    #s05-b .open-structure-layout {
        grid-template-columns: 1fr;
    }
}

/* ==========================================
   P05-PART II: REDUCE VERTICAL FOOTPRINT
   ========================================== */

/* 取消强制 100vh 全屏，改为自适应高度，并紧缩上下内边距 */
#s05-b {
    min-height: auto !important;
    padding-top: 2rem !important;
    padding-bottom: 5rem !important;
    justify-content: flex-start !important;
}

/* 稍微收紧网格的上下间距，提升视觉密度 */
#s05-b .open-structure-layout {
    margin-top: 0;
    align-items: flex-start;
}

#s05-b .sub-heading-tag {
    margin-bottom: 1rem;
}

/* 允许图片容器溢出显示标注 */
#s04 .p04-media-col,
#s04 .media-figure {
    overflow: visible !important;
}

/* 精确控制标注线与文本框，使其完整显示 */
.eng-annotation {
    position: absolute;
    z-index: 20;
    pointer-events: none;
}

.target-dot {
    position: absolute;
    top: -4px;
    left: -4px;
    width: 8px;
    height: 8px;
    background: #e63946;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(230, 57, 70, 0.25);
}

.anno-line {
    position: absolute;
    top: 0;
    right: 8px;
    width: 50px;
    height: 1px;
    background: #e63946;
}

.anno-text {
    position: absolute;
    top: -22px;
    right: 65px;
    background: #111;
    color: #fff;
    border-left: 2px solid #e63946;
    font-size: 0.65rem;
    letter-spacing: 0.05em;
    padding: 0.5rem 0.7rem;
    line-height: 1.5;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    white-space: nowrap;
    text-align: left;
}

/* ==========================================
   FRONT-END ENGINEERING ANNOTATION (CLEAN SKY AREA)
   ========================================== */
.eng-annotation {
    position: absolute !important;
    z-index: 25 !important;
    pointer-events: none !important;
}

.target-dot {
    position: absolute !important;
    top: -4px !important;
    left: -4px !important;
    width: 8px !important;
    height: 8px !important;
    background: #e63946 !important;
    border-radius: 50% !important;
    box-shadow: 0 0 0 4px rgba(230, 57, 70, 0.25) !important;
}

.anno-corner-line {
    position: absolute !important;
    bottom: 0 !important;
    right: 0 !important;
    width: 60px !important;
    height: 45px !important;
    border-top: 1px solid #e63946 !important;
    border-right: 1px solid #e63946 !important;
}

.anno-text {
    position: absolute !important;
    top: -62px !important;
    right: 68px !important;
    left: auto !important;
    background: #111 !important;
    color: #fff !important;
    border-left: 3px solid #e63946 !important;
    font-size: 0.65rem !important;
    letter-spacing: 0.05em !important;
    padding: 0.55rem 0.85rem !important;
    line-height: 1.5 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18) !important;
    white-space: nowrap !important;
    text-align: left !important;
}

/* ==========================================
P04: HIGH IMPACT DASHBOARD RESET
========================================== */

/* 解除窄屏容器限制 */
#s04 .container {
    max-width: 1550px !important;
    width: 92vw;
}

#s04 {
    min-height: 100vh;
    padding-top: 4.5rem !important;
    padding-bottom: 2rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

#s04 .section-header {
    margin-bottom: 1rem;
}

#s04 .section-heading {
    font-size: 2.2rem;
}

#s04 .section-intro {
    max-width: 900px;
    font-size: 0.95rem;
    line-height: 1.55;
}

/* 大屏双栏网格：左大图 68% / 右卡片 32% */
#s04 .p04-main-grid {
    display: grid;
    grid-template-columns: 1.35fr 0.65fr;
    gap: 2.5rem;
    align-items: center;
    margin-bottom: 1.25rem;
}

#s04 .p04-media-col,
#s04 .media-figure {
    overflow: visible !important;
}

#s04 .media-figure img {
    width: 100%;
    height: auto;
    display: block;
}

/* 纯 CSS 稳健工程标注定位 */
.eng-annotation {
    position: absolute;
    z-index: 25;
    pointer-events: none;
}

.target-dot {
    position: absolute;
    top: -4px;
    left: -4px;
    width: 8px;
    height: 8px;
    background: #e63946;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(230, 57, 70, 0.25);
}

.anno-line {
    position: absolute;
    top: 0;
    right: 8px;
    width: 50px;
    height: 1px;
    background: #e63946;
}

.anno-text {
    position: absolute;
    top: -22px;
    right: 65px;
    background: #111;
    color: #fff;
    border-left: 3px solid #e63946;
    font-size: 0.65rem;
    letter-spacing: 0.05em;
    padding: 0.5rem 0.75rem;
    line-height: 1.5;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    white-space: nowrap;
    text-align: left;
}

/* 右侧卡片与底部 Banner */
#s04 .p04-cards-col {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

#s04 .p-card {
    background: #fcfcfc;
    border: 1px solid #e8e8e8;
    border-left: 4px solid #111;
    padding: 1rem 1.25rem;
}

#s04 .p-num {
    font-size: 0.72rem;
    font-weight: 700;
    color: #888;
    margin-bottom: 0.35rem;
}

#s04 .p-text {
    font-size: 0.85rem;
    color: #444;
    line-height: 1.5;
    margin: 0;
}

#s04 .impact-transition-box {
    background: #111;
    color: #fff;
    padding: 1.1rem 2.25rem;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    width: 100%;
    box-sizing: border-box;
}

#s04 .impact-flow {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.75rem;
    color: #888;
    white-space: nowrap;
}

#s04 .impact-flow .highlight {
    color: #fff;
    border-bottom: 1px solid #fff;
}

#s04 .impact-statement {
    font-size: 0.9rem;
    line-height: 1.45;
    color: #f4f4f4;
    margin: 0;
    font-style: italic;
    text-align: right;
}

@media (max-width: 900px) {
    #s04 .p04-main-grid {
        grid-template-columns: 1fr;
    }

    #s04 .impact-transition-box {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    #s04 .impact-statement {
        text-align: left;
    }
}

/* ==========================================
FRONT-END ENGINEERING ANNOTATION (POLYLINE TOP-RIGHT)
========================================== */
.eng-annotation {
    position: absolute;
    z-index: 20;
    pointer-events: none;
}

.target-dot {
    position: absolute;
    top: -4px;
    left: -4px;
    width: 8px;
    height: 8px;
    background: #e63946;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(230, 57, 70, 0.25);
}

.anno-line {
    position: absolute;
    top: 0;
    right: 8px;
    width: 50px;
    height: 1px;
    background: #e63946;
}

.anno-text {
    position: absolute;
    top: -22px;
    right: 65px;
    background: #111;
    color: #fff;
    border-left: 3px solid #e63946;
    font-size: 0.65rem;
    letter-spacing: 0.05em;
    padding: 0.5rem 0.7rem;
    line-height: 1.5;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    white-space: nowrap;
    text-align: left;
}

/* ==========================================
P07: FIX opacity "VEIL" & ADD TEXT REVEAL
========================================== */

/* 1. 解除第七章整体的滚动半透明遮罩，彻底消除“蒙纱感” */
#s07 {
    opacity: 1 !important;
    animation: none !important;
}

/* 2. 针对第七章内部文字节点，设置逐层浮现与模糊到清晰的动画 */
#s07 .hero-title-group h1,
#s07 .hero-title-group .sub-title,
#s07 .conclusion-body .main-text,
#s07 .process-flow,
#s07 .conclusion-keywords span,
#s07 .closing-statement div {
    animation: text-blur-reveal 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* 支持原生 Scroll-Driven Animation 滚动触发 */
@supports (animation-timeline: view()) {
    #s07 .hero-title-group h1,
    #s07 .hero-title-group .sub-title,
    #s07 .conclusion-body .main-text,
    #s07 .process-flow,
    #s07 .conclusion-keywords span,
    #s07 .closing-statement div {
        animation-timeline: view();
        animation-range: entry 5% cover 30%;
    }
}

/* 文字阶梯式浮现时延 */
#s07 .hero-title-group .sub-title {
    animation-delay: 0.15s;
}
#s07 .conclusion-body .main-text {
    animation-delay: 0.3s;
}
#s07 .process-flow {
    animation-delay: 0.45s;
}
#s07 .conclusion-keywords span {
    animation-delay: 0.55s;
}
#s07 .closing-statement div {
    animation-delay: 0.65s;
}

/* 关键帧：平滑位移 + 消除模糊 */
@keyframes text-blur-reveal {
    from {
        opacity: 0;
        transform: translateY(28px);
        filter: blur(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

/* ==========================================
P07: CRISP & BULLETPROOF TEXT ANIMATION FIX
========================================== */

/* 1. 强制恢复第七章主体与文字的默认清晰度，彻底清理模糊与透明度残余 */
#s07,
#s07 *,
#s07 .section-heading,
#s07 .section-intro,
#s07 .conclusion-text,
#s07 .impact-flow {
    opacity: 1 !important;
    filter: none !important;
    transform: none;
    animation: none !important;
}

/* 2. 使用稳健的普通 keyframe 进入动画（无视口滚动判定 BUG） */
#s07 .section-heading {
    animation: crisp-slide-up 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

#s07 .section-intro,
#s07 .conclusion-text {
    animation: crisp-slide-up 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards !important;
}

#s07 .impact-flow {
    animation: crisp-slide-up 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.3s forwards !important;
}

/* 3. 稳健动画关键帧：仅保留平滑位移与透明度，确保终态 100% 纯净清晰 */
@keyframes crisp-slide-up {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================
BULLETPROOF SCROLL REVEAL & HERO TIMING
========================================== */

/* 1. 封面大图专属：放缓入场节奏 (1.8s 优雅拉长) */
#s01 img,
.hero-section img {
    animation: hero-smooth-fade 1.8s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

@keyframes hero-smooth-fade {
    from {
        opacity: 0;
        transform: translateY(35px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* 2. 全局通用入场基类 (默认隐去 + 下移) */
.reveal-item {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1.1s cubic-bezier(0.16, 1, 0.3, 1),
                transform 1.1s cubic-bezier(0.16, 1, 0.3, 1),
                filter 1.1s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

/* 图片元素进入时额外叠加微模糊消除 */
img.reveal-item,
.media-figure.reveal-item {
    filter: blur(4px);
}

/* 触发进入视口后的最终状态 */
.reveal-item.is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
    filter: blur(0) !important;
}

/* 3. 文字与卡片阶梯式延迟（错落有致入场） */
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.25s; }
.reveal-delay-3 { transition-delay: 0.4s; }

/* ==========================================
P06 & P07 ANIMATION & SINGLE-SCREEN COMPACT FIX
========================================== */

/* 1. 清除之前强行关闭 P07 动画和透明度的冲突代码 */
#s07, #s07 *, #s06, #s06 * {
    filter: none;
}

/* 2. 压缩 P07 垂直间距，确保 100vh 内装下全部内容 */
#s07 {
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    padding-top: 3.5rem !important;
    padding-bottom: 1.5rem !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
    overflow: hidden;
}

#s07 .section-header {
    margin-bottom: 0.5rem !important;
}

#s07 .conclusion-text,
#s07 .impact-flow {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}

/* 缩减底部特写宣示与三关键词区域的上下边距 */
#s07 .impact-statement-footer,
#s07 .keywords-grid,
#s07 .final-motto {
    margin-top: 0.3rem !important;
    margin-bottom: 0.3rem !important;
}


