/* === THEME === */
    :root {
      --stage-bg: #0f1816;
      --stage-width: 3387px;
      --stage-height: 1905px;
      --design-scale-x: 1.7640625;
      --design-scale-y: 1.7638888889;
      --stone: #e9eee8;
      --stone-deep: #d4ddd5;
      --pine: #12352f;
      --pine-black: #0d211e;
      --signal: #f0522d;
      --moss: #b8ca7d;
      --ink-soft: #53645e;
      --font-display: "Noto Serif SC", serif;
      --font-body: "Noto Sans SC", sans-serif;
      --font-latin: "Cormorant Garamond", serif;
      --ease: cubic-bezier(0.16, 1, 0.3, 1);
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    /* === MANDATORY FIXED 3387:1905 STAGE === */
    html,
    body {
      width: 100%;
      height: 100%;
      margin: 0;
      overflow: hidden;
      background: var(--stage-bg, #000);
    }

    .deck-viewport {
      position: fixed;
      inset: 0;
      overflow: hidden;
      background: var(--stage-bg, #000);
    }

    .deck-stage {
      position: absolute;
      left: 0;
      top: 0;
      width: var(--stage-width);
      height: var(--stage-height);
      overflow: hidden;
      transform-origin: 0 0;
      background: var(--stone);
    }

    .slide-frame {
      position: absolute;
      inset: 0;
      width: var(--stage-width);
      height: var(--stage-height);
      overflow: hidden;
      visibility: hidden;
      opacity: 0;
      pointer-events: none;
      background: var(--stone);
    }

    .slide-frame.active {
      visibility: visible;
      opacity: 1;
      pointer-events: auto;
      z-index: 1;
    }

    .slide {
      position: absolute;
      left: 0;
      top: 0;
      width: 1920px;
      height: 1080px;
      overflow: hidden;
      display: block;
      visibility: hidden;
      opacity: 0;
      pointer-events: none;
      transform: scaleX(var(--design-scale-x)) scaleY(var(--design-scale-y));
      transform-origin: 0 0;
      background: var(--stone);
    }

    .slide.active,
    .slide.visible {
      visibility: visible;
      opacity: 1;
      pointer-events: auto;
      z-index: 1;
    }

    img,
    video,
    canvas,
    svg {
      max-width: 100%;
      max-height: 100%;
    }

    .deck-controls {
      position: fixed;
      left: 50%;
      bottom: 22px;
      transform: translateX(-50%);
      z-index: 1000;
    }

    @media print {
      @page {
        size: var(--stage-width) var(--stage-height);
        margin: 0;
      }

      html,
      body {
        width: var(--stage-width);
        height: auto;
        overflow: visible;
        background: #fff;
      }

      .deck-viewport {
        position: static;
        overflow: visible;
        background: #fff;
      }

      .deck-stage {
        position: static;
        width: var(--stage-width);
        height: auto;
        transform: none !important;
        background: none;
      }

      .slide-frame {
        position: relative;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        width: var(--stage-width);
        height: var(--stage-height);
        break-after: page;
        page-break-after: always;
      }

      .slide-frame:last-child {
        break-after: auto;
        page-break-after: auto;
      }

      .slide {
        position: absolute;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        width: 1920px;
        height: 1080px;
      }

      .deck-controls {
        display: none !important;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *,
      *::before,
      *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.2s !important;
      }
    }

    /* === MOUNTAIN SECTION COVER === */
    .cover {
      background:
        repeating-radial-gradient(
          ellipse at 22% 72%,
          transparent 0 55px,
          rgba(18, 53, 47, 0.08) 56px 57px,
          transparent 58px 104px,
          rgba(18, 53, 47, 0.055) 105px 106px
        ),
        linear-gradient(112deg, var(--stone) 0 70%, var(--stone-deep) 70%);
    }

    .cover::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, transparent 0 74%, rgba(18, 53, 47, 0.06) 74% 74.1%, transparent 74.1%),
        linear-gradient(0deg, transparent 0 12%, rgba(18, 53, 47, 0.05) 12% 12.1%, transparent 12.1%);
      pointer-events: none;
    }

    .section-marker {
      position: absolute;
      top: 64px;
      left: 82px;
      display: flex;
      align-items: center;
      gap: 24px;
      font-family: var(--font-body);
      font-size: 17px;
      font-weight: 700;
      letter-spacing: 0.12em;
      color: var(--pine);
    }

    .section-marker span:first-child {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--signal);
    }

    .section-marker .line {
      width: 220px;
      height: 1px;
      background: rgba(18, 53, 47, 0.3);
    }

    .title-wrap {
      position: absolute;
      top: 190px;
      left: 90px;
      width: 1000px;
      color: var(--pine-black);
    }

    .kicker {
      margin-bottom: 34px;
      font-family: var(--font-body);
      font-size: 23px;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--signal);
    }

    .kicker small {
      display: block;
      margin-top: 8px;
      font-family: var(--font-latin);
      font-size: 24px;
      font-weight: 600;
      letter-spacing: 0.1em;
      color: var(--ink-soft);
    }

    .kicker small.proposal-title-en {
      font-size: 18px;
      letter-spacing: 0.055em;
      white-space: nowrap;
    }

    .title-wrap h1 {
      font-family: var(--font-display);
      font-size: 190px;
      line-height: 0.95;
      font-weight: 900;
      letter-spacing: 0;
      white-space: nowrap;
    }

    .title-wrap h1 em {
      font-style: normal;
      color: var(--signal);
    }

    .title-wrap h2 {
      display: flex;
      align-items: center;
      gap: 24px;
      margin-top: 24px;
      font-family: var(--font-display);
      font-size: 98px;
      line-height: 1;
      font-weight: 700;
      letter-spacing: 0;
    }

    .title-wrap h2::after {
      content: "";
      width: 360px;
      height: 1px;
      background: rgba(18, 53, 47, 0.28);
    }

    .title-wrap p {
      width: 850px;
      margin-top: 40px;
      font-family: var(--font-body);
      font-size: 31px;
      line-height: 1.65;
      font-weight: 500;
      color: var(--ink-soft);
    }

    .route-map {
      position: absolute;
      left: 90px;
      bottom: 118px;
      width: 1120px;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      border-top: 3px solid var(--pine);
    }

    .route-stop {
      position: relative;
      padding: 28px 24px 0 0;
      font-family: var(--font-body);
      font-size: 26px;
      font-weight: 700;
      color: var(--pine);
    }

    .route-stop::before {
      content: "";
      position: absolute;
      top: -10px;
      left: 0;
      width: 17px;
      height: 17px;
      border-radius: 50%;
      background: var(--stone);
      border: 3px solid var(--pine);
    }

    .route-stop:first-child::before {
      background: var(--signal);
      border-color: var(--signal);
    }

    .route-stop small {
      display: block;
      margin-top: 8px;
      font-family: var(--font-body);
      font-size: 16px;
      font-weight: 600;
      letter-spacing: 0.045em;
      color: var(--ink-soft);
    }

    .policy-note {
      position: absolute;
      left: 90px;
      bottom: 52px;
      font-family: var(--font-body);
      font-size: 18px;
      letter-spacing: 0.03em;
      color: var(--ink-soft);
    }

    .policy-note strong {
      color: var(--pine);
    }

    .photo-cut {
      position: absolute;
      top: 0;
      right: 0;
      width: 690px;
      height: 100%;
      overflow: hidden;
      clip-path: polygon(16% 0, 100% 0, 100% 100%, 0 100%);
    }

    .photo-cut img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 48% 50%;
      filter: saturate(0.72) contrast(1.08) brightness(0.77);
      transform: scale(1.08);
    }

    .photo-cut::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(110deg, rgba(18, 53, 47, 0.82), rgba(18, 53, 47, 0.12) 56%),
        linear-gradient(0deg, rgba(13, 33, 30, 0.45), transparent 50%);
    }

    .photo-label {
      position: absolute;
      top: 91px;
      right: 62px;
      z-index: 2;
      color: var(--stone);
      font-family: var(--font-body);
      font-size: 17px;
      letter-spacing: 0.12em;
      writing-mode: vertical-rl;
    }

    .photo-label::after {
      content: "";
      display: inline-block;
      width: 1px;
      height: 98px;
      margin-top: 22px;
      background: rgba(233, 238, 232, 0.62);
    }

    .signature {
      position: absolute;
      right: 62px;
      bottom: 44px;
      z-index: 3;
      font-family: var(--font-body);
      font-size: 31px;
      font-weight: 700;
      letter-spacing: 0.035em;
      color: rgba(233, 238, 232, 0.96);
      text-shadow: 0 2px 16px rgba(13, 33, 30, 0.7);
    }

    /* === SLIDE 02: FIELD OBSERVATION === */
    .observation {
      background:
        repeating-radial-gradient(
          ellipse at 82% 74%,
          transparent 0 58px,
          rgba(18, 53, 47, 0.075) 59px 60px,
          transparent 61px 108px,
          rgba(18, 53, 47, 0.045) 109px 110px
        ),
        var(--stone);
    }

    .obs-photo {
      position: absolute;
      inset: 0 auto 0 0;
      width: 1230px;
      height: 100%;
      overflow: hidden;
      clip-path: polygon(0 0, 91% 0, 100% 100%, 0 100%);
    }

    .obs-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 0 50%;
      filter: saturate(0.72) contrast(1.02) brightness(1.01);
      transform: scale(1);
      transform-origin: 31% 44%;
      transition:
        transform 0.9s var(--ease),
        filter 0.6s var(--ease);
    }

    .obs-photo::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, transparent 0 78%, rgba(13, 33, 30, 0.2) 100%);
      pointer-events: none;
    }

    .map-focus {
      position: absolute;
      top: 300px;
      left: 160px;
      z-index: 4;
      width: 500px;
      height: 400px;
      border: 0;
      background: transparent;
      box-shadow: inset 0 0 0 2px rgba(240, 82, 45, 0);
      cursor: zoom-in;
      transition:
        background 0.25s ease,
        box-shadow 0.25s ease;
    }

    .map-focus:hover {
      background: rgba(240, 82, 45, 0.055);
      box-shadow: inset 0 0 0 2px rgba(240, 82, 45, 0.5);
    }

    .map-focus:focus-visible {
      outline: 4px solid var(--signal);
      outline-offset: 5px;
    }

    .observation.is-map-zoomed .obs-photo img {
      transform: scale(2.15);
      filter: saturate(0.82) contrast(1.08) brightness(1.03);
    }

    .observation.is-map-zoomed .map-focus {
      cursor: zoom-out;
    }

    .obs-panel {
      position: absolute;
      top: 70px;
      right: 94px;
      width: 548px;
      height: 940px;
      color: var(--pine-black);
    }

    .obs-section {
      display: flex;
      align-items: center;
      gap: 18px;
      font-family: var(--font-body);
      font-size: 17px;
      font-weight: 700;
      letter-spacing: 0.11em;
      color: var(--pine);
    }

    .obs-section span {
      font-family: var(--font-latin);
      font-size: 28px;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--signal);
    }

    .obs-section-en {
      margin-left: 2px;
      font-family: var(--font-latin);
      font-size: 20px;
      font-weight: 600;
      letter-spacing: 0.12em;
      color: var(--ink-soft);
    }

    .obs-section::after {
      content: "";
      flex: 1;
      height: 1px;
      margin-left: 4px;
      background: rgba(18, 53, 47, 0.28);
    }

    .obs-index-row {
      display: flex;
      align-items: flex-end;
      gap: 24px;
      margin-top: 78px;
    }

    .obs-number {
      font-family: var(--font-latin);
      font-size: 270px;
      line-height: 0.72;
      font-weight: 700;
      letter-spacing: -0.045em;
      color: var(--signal);
    }

    .obs-number-unit {
      width: 190px;
      padding-bottom: 12px;
      font-family: var(--font-display);
      font-size: 35px;
      line-height: 1.28;
      font-weight: 700;
      color: var(--pine);
    }

    .obs-title {
      margin-top: 56px;
      font-family: var(--font-display);
      font-size: 72px;
      line-height: 1.18;
      font-weight: 900;
      letter-spacing: 0;
    }

    .obs-title em {
      position: relative;
      font-style: normal;
      color: var(--signal);
    }

    .obs-facts {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 33px 32px;
      margin-top: 56px;
    }

    .obs-fact {
      position: relative;
      padding-top: 20px;
      border-top: 2px solid rgba(18, 53, 47, 0.26);
      font-family: var(--font-body);
      font-size: 30px;
      line-height: 1.2;
      font-weight: 700;
      color: var(--pine);
    }

    .obs-fact::before {
      content: "";
      position: absolute;
      top: -7px;
      left: 0;
      width: 11px;
      height: 11px;
      border-radius: 50%;
      background: var(--pine);
    }

    .obs-fact.is-gap {
      color: var(--signal);
    }

    .obs-fact.is-gap::before {
      background: var(--signal);
    }

    .obs-conclusion {
      margin-top: 58px;
      padding-left: 28px;
      border-left: 6px solid var(--signal);
      font-family: var(--font-body);
      font-size: 31px;
      line-height: 1.52;
      font-weight: 500;
      color: var(--ink-soft);
    }

    .obs-conclusion strong {
      display: block;
      margin-bottom: 2px;
      font-family: var(--font-display);
      font-size: 41px;
      font-weight: 900;
      color: var(--pine-black);
    }

    /* === SLIDE 03: BENCHMARKS AND ASSET BASE === */
    .comparison {
      background:
        repeating-radial-gradient(
          ellipse at 82% 18%,
          transparent 0 58px,
          rgba(18, 53, 47, 0.07) 59px 60px,
          transparent 61px 108px,
          rgba(18, 53, 47, 0.04) 109px 110px
        ),
        var(--stone);
    }

    .comparison::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, transparent 0 72%, rgba(18, 53, 47, 0.055) 72% 72.08%, transparent 72.08%),
        linear-gradient(0deg, transparent 0 68%, rgba(18, 53, 47, 0.05) 68% 68.08%, transparent 68.08%);
      pointer-events: none;
    }

    .compare-header {
      position: absolute;
      top: 64px;
      left: 82px;
      z-index: 2;
      display: flex;
      align-items: center;
      gap: 20px;
      font-family: var(--font-body);
      font-size: 17px;
      font-weight: 700;
      letter-spacing: 0.11em;
      color: var(--pine);
    }

    .compare-header .compare-chapter {
      font-family: var(--font-latin);
      font-size: 29px;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--signal);
    }

    .compare-header::after {
      content: "";
      width: 260px;
      height: 1px;
      margin-left: 2px;
      background: rgba(18, 53, 47, 0.3);
    }

    .compare-header-en {
      margin-left: 2px;
      font-family: var(--font-latin);
      font-size: 20px;
      font-weight: 600;
      letter-spacing: 0.12em;
      color: var(--ink-soft);
    }

    .compare-heading {
      position: absolute;
      top: 150px;
      left: 90px;
      color: var(--pine-black);
    }

    .compare-kicker {
      margin-bottom: 20px;
      font-family: var(--font-body);
      font-size: 23px;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--signal);
    }

    .compare-heading h2 {
      font-family: var(--font-display);
      font-size: 88px;
      line-height: 1.12;
      font-weight: 900;
      letter-spacing: 0;
    }

    .compare-verdict {
      position: absolute;
      top: 178px;
      right: 92px;
      width: 600px;
      padding-left: 28px;
      border-left: 5px solid var(--signal);
    }

    .compare-verdict p {
      font-family: var(--font-display);
      font-size: 41px;
      line-height: 1.45;
      font-weight: 700;
      color: var(--pine);
    }

    .compare-verdict strong {
      color: var(--signal);
      font-weight: 900;
    }

    .compare-benchmarks {
      position: absolute;
      top: 400px;
      left: 90px;
      width: 1740px;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 82px;
      border-top: 2px solid rgba(18, 53, 47, 0.32);
    }

    .benchmark {
      position: relative;
      min-height: 260px;
      padding: 28px 40px 0 0;
    }

    .benchmark::before {
      content: "";
      position: absolute;
      top: -9px;
      left: 0;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: var(--signal);
    }

    .benchmark-label {
      font-family: var(--font-body);
      font-size: 23px;
      font-weight: 700;
      letter-spacing: 0.03em;
      color: var(--pine);
    }

    .benchmark-main {
      display: flex;
      align-items: flex-end;
      gap: 18px;
      margin-top: 22px;
      color: var(--pine-black);
    }

    .benchmark-number {
      font-family: var(--font-latin);
      font-size: 132px;
      line-height: 0.72;
      font-weight: 700;
      letter-spacing: 0.01em;
    }

    .benchmark-number.is-accent {
      color: var(--signal);
    }

    .benchmark-unit {
      padding-bottom: 3px;
      font-family: var(--font-display);
      font-size: 36px;
      line-height: 1.15;
      font-weight: 700;
      color: var(--pine);
    }

    .benchmark-note {
      max-width: 360px;
      margin-top: 24px;
      font-family: var(--font-body);
      font-size: 27px;
      line-height: 1.5;
      font-weight: 500;
      color: var(--ink-soft);
    }

    .benchmark-note strong {
      font-family: var(--font-display);
      font-size: 36px;
      font-weight: 900;
      white-space: nowrap;
      color: var(--pine);
    }

    .benchmark-source {
      display: block;
      margin-top: 10px;
      font-family: var(--font-body);
      font-size: 17px;
      line-height: 1.4;
      font-weight: 500;
      letter-spacing: 0.02em;
      color: rgba(83, 100, 94, 0.72);
    }

    .benchmark-photo {
      position: absolute;
      top: 35px;
      right: 0;
      width: 460px;
      height: 320px;
      overflow: hidden;
      background: rgba(212, 221, 213, 0.52);
      box-shadow: inset 0 0 0 1px rgba(18, 53, 47, 0.12);
    }

    .benchmark-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: saturate(0.82) contrast(1.03) brightness(1.01);
    }

    .benchmark-photo.is-map img {
      object-fit: cover;
      object-position: 50% 48%;
      filter: saturate(0.76) contrast(1.02) brightness(1.03);
    }

    .benchmark-photo::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(0deg, rgba(13, 33, 30, 0.1), transparent 48%);
      pointer-events: none;
    }

    .asset-base {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 2;
      height: 306px;
      display: grid;
      grid-template-columns: 285px 390px 390px 1fr;
      align-items: center;
      gap: 38px;
      padding: 0 92px;
      background: var(--pine-black);
      color: var(--stone);
    }

    .asset-base-label {
      align-self: stretch;
      display: flex;
      flex-direction: column;
      justify-content: center;
      border-right: 1px solid rgba(233, 238, 232, 0.24);
    }

    .asset-base-label span {
      font-family: var(--font-body);
      font-size: 18px;
      font-weight: 700;
      letter-spacing: 0.11em;
      color: rgba(233, 238, 232, 0.58);
    }

    .asset-base-label strong {
      margin-top: 15px;
      font-family: var(--font-display);
      font-size: 47px;
      line-height: 1.2;
      font-weight: 900;
    }

    .asset-stat {
      min-width: 0;
    }

    .asset-stat-number {
      display: flex;
      align-items: flex-end;
      gap: 12px;
    }

    .asset-stat-number strong {
      font-family: var(--font-latin);
      font-size: 92px;
      line-height: 0.72;
      font-weight: 700;
      color: var(--signal);
    }

    .asset-stat-number span {
      padding-bottom: 2px;
      font-family: var(--font-display);
      font-size: 26px;
      font-weight: 700;
      color: var(--stone);
    }

    .asset-stat p {
      margin-top: 17px;
      font-family: var(--font-body);
      font-size: 24px;
      font-weight: 700;
      color: rgba(233, 238, 232, 0.72);
    }

    .asset-gap {
      padding-left: 34px;
      border-left: 1px solid rgba(233, 238, 232, 0.24);
    }

    .asset-gap strong {
      display: block;
      font-family: var(--font-display);
      font-size: 40px;
      line-height: 1.25;
      font-weight: 900;
    }

    .asset-gap p {
      margin-top: 17px;
      font-family: var(--font-body);
      font-size: 24px;
      line-height: 1.55;
      font-weight: 500;
      color: rgba(233, 238, 232, 0.66);
    }

    .asset-source {
      position: absolute;
      left: 440px;
      bottom: 15px;
      font-family: var(--font-body);
      font-size: 17px;
      line-height: 1.35;
      font-weight: 500;
      letter-spacing: 0.015em;
      color: rgba(233, 238, 232, 0.58);
    }

    /* === SLIDE 04: THREE LOCKS === */
    .locks {
      background:
        repeating-radial-gradient(
          ellipse at 18% 88%,
          transparent 0 62px,
          rgba(18, 53, 47, 0.075) 63px 64px,
          transparent 65px 116px,
          rgba(18, 53, 47, 0.045) 117px 118px
        ),
        linear-gradient(102deg, var(--stone) 0 76%, rgba(212, 221, 213, 0.7) 76%);
    }

    .locks::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, transparent 0 78%, rgba(18, 53, 47, 0.07) 78% 78.1%, transparent 78.1%),
        linear-gradient(0deg, transparent 0 20%, rgba(18, 53, 47, 0.045) 20% 20.1%, transparent 20.1%);
      pointer-events: none;
    }

    .lock-header {
      position: absolute;
      top: 64px;
      left: 82px;
      display: flex;
      align-items: center;
      gap: 20px;
      font-family: var(--font-body);
      font-size: 17px;
      font-weight: 700;
      letter-spacing: 0.11em;
      color: var(--pine);
    }

    .lock-header .lock-chapter {
      font-family: var(--font-latin);
      font-size: 29px;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--signal);
    }

    .lock-header::after {
      content: "";
      width: 260px;
      height: 1px;
      background: rgba(18, 53, 47, 0.3);
    }

    .lock-header-en {
      font-family: var(--font-latin);
      font-size: 20px;
      font-weight: 600;
      letter-spacing: 0.12em;
      color: var(--ink-soft);
    }

    .lock-heading {
      position: absolute;
      top: 150px;
      left: 90px;
      color: var(--pine-black);
    }

    .lock-kicker {
      margin-bottom: 20px;
      font-family: var(--font-body);
      font-size: 23px;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--signal);
    }

    .lock-heading h2 {
      font-family: var(--font-display);
      font-size: 128px;
      line-height: 1;
      font-weight: 900;
      letter-spacing: 0;
    }

    .lock-grid {
      position: absolute;
      top: 342px;
      left: 90px;
      width: 1740px;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      grid-template-rows: 244px 252px;
      column-gap: 32px;
      row-gap: 12px;
    }

    .lock-card {
      position: relative;
      min-height: 0;
      padding: 16px 0 0;
      border-top: 2px solid rgba(18, 53, 47, 0.32);
    }

    .brand-lock-card {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: 500px minmax(0, 1fr);
      grid-template-rows: 122px minmax(0, 1fr);
      align-items: start;
      column-gap: 32px;
      row-gap: 6px;
    }

    .brand-lock-card .lock-card-intro {
      grid-column: 1;
      grid-row: 1;
    }

    .brand-lock-card .lock-card-copy {
      grid-column: 1;
      grid-row: 2;
    }

    .compact-lock-card {
      display: block;
    }

    .compact-lock-card .lock-card-intro {
      margin-bottom: 8px;
    }

    .lock-card-intro {
      display: grid;
      grid-template-columns: 156px minmax(0, 1fr);
      align-items: center;
      gap: 16px;
    }

    .lock-card-copy {
      min-width: 0;
    }

    .lock-card-title {
      min-width: 0;
    }

    .brand-lock-card .lock-card-head {
      gap: 12px;
    }

    .brand-lock-card .lock-card h3 {
      font-size: 46px;
    }

    .brand-lock-card .lock-detail {
      margin-top: 0;
      font-size: 26px;
      line-height: 1.3;
    }

    .brand-lock-card .lock-effect {
      margin-top: 7px;
      padding-left: 14px;
      font-size: 21px;
      line-height: 1.4;
    }

    .compact-lock-card .lock-tags span {
      font-size: 19px;
    }

    .compact-lock-card .lock-detail {
      margin-top: 8px;
      font-size: 26px;
      line-height: 1.3;
    }

    .compact-lock-card .lock-effect {
      margin-top: 8px;
      font-size: 21px;
      line-height: 1.45;
    }

    .lock-visual {
      position: relative;
      top: auto;
      left: auto;
      width: 146px;
      height: 122px;
      opacity: 0;
      transform: translateY(-8px);
      transition:
        opacity 0.55s var(--ease) 0.2s,
        transform 0.55s var(--ease) 0.2s;
    }

    .slide.visible .lock-visual {
      opacity: 1;
      transform: translateY(0);
    }

    .lock-body,
    .lock-shackle,
    .lock-route,
    .lock-shackle-part {
      position: absolute;
      display: block;
    }

    .lock-body {
      left: 21px;
      bottom: 0;
      width: 104px;
      height: 78px;
      border: 5px solid var(--pine);
      border-radius: 11px;
      background: var(--stone);
    }

    .lock-keyhole {
      position: absolute;
      top: 25px;
      left: 44px;
      width: 8px;
      height: 23px;
      border-radius: 6px;
      background: var(--signal);
    }

    .lock-keyhole::before {
      content: "";
      position: absolute;
      top: -7px;
      left: -5px;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: var(--signal);
    }

    .lock-shackle {
      top: 0;
      left: 39px;
      width: 68px;
      height: 64px;
      border: 5px solid var(--pine);
      border-bottom: 0;
      border-radius: 38px 38px 0 0;
    }

    .brand-lock .lock-shackle {
      display: none;
    }

    .brand-lock .lock-shackle-part {
      top: 5px;
      height: 48px;
      border-top: 5px solid var(--pine);
    }

    .brand-lock .lock-shackle-part.part-left {
      left: 35px;
      width: 27px;
      border-left: 5px solid var(--pine);
      border-radius: 29px 0 0 0;
    }

    .brand-lock .lock-shackle-part.part-mid {
      left: 69px;
      width: 22px;
      height: 5px;
      border-radius: 8px;
    }

    .brand-lock .lock-shackle-part.part-right {
      right: 26px;
      width: 27px;
      border-right: 5px solid var(--pine);
      border-radius: 0 29px 0 0;
    }

    .institution-lock .lock-body {
      overflow: hidden;
    }

    .institution-lock .lock-body::after {
      content: "";
      position: absolute;
      inset: 14px 12px;
      opacity: 0.66;
      background: repeating-linear-gradient(
        0deg,
        rgba(18, 53, 47, 0.48) 0 2px,
        transparent 2px 12px
      );
    }

    .institution-lock .lock-keyhole {
      z-index: 2;
      background: var(--signal);
      box-shadow: 0 0 0 7px var(--stone);
    }

    .institution-lock .lock-route {
      top: 79px;
      left: -7px;
      z-index: 3;
      width: 160px;
      height: 3px;
      background: var(--signal);
    }

    .coordination-lock .lock-body {
      background:
        linear-gradient(
          0deg,
          transparent 0 29px,
          var(--signal) 29px 34px,
          transparent 34px 100%
        ),
        var(--stone);
    }

    .coordination-lock .lock-body::after {
      content: "";
      position: absolute;
      top: 31px;
      left: 44px;
      width: 17px;
      height: 17px;
      border-radius: 50%;
      background: var(--stone);
    }

    .coordination-lock .lock-shackle {
      border-right-color: transparent;
    }

    .coordination-lock .lock-route {
      top: 38px;
      right: 7px;
      width: 28px;
      height: 5px;
      background: var(--pine);
      transform: rotate(-18deg);
    }

    .lock-card-head {
      display: flex;
      align-items: flex-end;
      gap: 18px;
    }

    .lock-number {
      font-family: var(--font-latin);
      font-size: 64px;
      line-height: 0.75;
      font-weight: 700;
      letter-spacing: 0.01em;
      color: var(--signal);
    }

    .lock-card h3 {
      font-family: var(--font-display);
      font-size: 48px;
      line-height: 1;
      font-weight: 900;
      color: var(--pine-black);
    }

    .lock-en {
      margin-top: 11px;
      font-family: var(--font-latin);
      font-size: 18px;
      font-weight: 700;
      letter-spacing: 0.12em;
      color: var(--ink-soft);
    }

    .lock-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 9px 12px;
      margin-top: 0;
      min-height: 30px;
    }

    .lock-tags span {
      font-family: var(--font-body);
      font-size: 20px;
      line-height: 1.25;
      font-weight: 700;
      color: var(--pine);
    }

    .lock-tags span:not(:last-child)::after {
      content: "·";
      margin-left: 12px;
      color: var(--signal);
    }

    .lock-detail {
      margin-top: 10px;
      font-family: var(--font-body);
      font-size: 28px;
      line-height: 1.45;
      font-weight: 700;
      color: var(--pine);
    }

    .lock-effect {
      margin-top: 10px;
      padding-left: 17px;
      border-left: 4px solid var(--signal);
      font-family: var(--font-body);
      font-size: 23px;
      line-height: 1.55;
      font-weight: 500;
      color: var(--ink-soft);
    }

    .brand-photo-strip {
      position: relative;
      top: auto;
      right: auto;
      z-index: 2;
      grid-column: 2;
      grid-row: 1 / span 2;
      align-self: stretch;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      width: 100%;
      height: 100%;
      margin-top: 0;
    }

    .brand-photo-strip figure {
      position: relative;
      height: 100%;
      overflow: hidden;
      background: var(--stone-deep);
      box-shadow: inset 0 0 0 1px rgba(18, 53, 47, 0.1);
    }

    .brand-photo-strip img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: saturate(0.82) contrast(1.03) brightness(1.02);
    }

    .brand-photo-strip .is-two-rivers img {
      object-position: 50% 45%;
    }

    .brand-photo-strip .is-yuzhong img {
      object-position: 50% 70%;
    }

    .brand-photo-strip .is-cliffside img {
      object-position: 50% 50%;
    }

    .brand-photo-strip figcaption {
      position: absolute;
      left: 8px;
      bottom: 6px;
      font-family: var(--font-body);
      font-size: 14px;
      line-height: 1.2;
      font-weight: 700;
      color: var(--stone);
      text-shadow: 0 1px 8px rgba(13, 33, 30, 0.88);
      background: rgba(13, 33, 30, 0.76);
      padding: 4px 7px;
    }

    .lock-conclusion {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 198px;
      overflow: hidden;
      display: grid;
      grid-template-columns: 270px 1fr;
      align-items: center;
      gap: 42px;
      padding: 0 92px;
      background: var(--pine-black);
      color: var(--stone);
      transform: translateY(100%);
      transition: transform 0.9s var(--ease) 0.28s;
    }

    .slide.visible .lock-conclusion {
      transform: translateY(0);
    }

    .lock-conclusion-label {
      align-self: stretch;
      display: flex;
      align-items: center;
      gap: 14px;
      border-right: 1px solid rgba(233, 238, 232, 0.28);
      font-family: var(--font-body);
      font-size: 25px;
      font-weight: 700;
      letter-spacing: 0.08em;
      color: var(--signal);
      opacity: 0;
      transform: translateY(18px);
      transition:
        opacity 0.5s var(--ease) 0.72s,
        transform 0.5s var(--ease) 0.72s;
    }

    .slide.visible .lock-conclusion-label {
      opacity: 1;
      transform: translateY(0);
    }

    .lock-conclusion-label::before {
      content: "";
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--signal);
    }

    .lock-conclusion p {
      font-family: var(--font-display);
      font-size: 45px;
      line-height: 1.42;
      font-weight: 700;
      letter-spacing: 0;
      opacity: 0;
      transform: translateY(22px);
      transition:
        opacity 0.6s var(--ease) 0.84s,
        transform 0.6s var(--ease) 0.84s;
    }

    .slide.visible .lock-conclusion p {
      opacity: 1;
      transform: translateY(0);
    }

    .lock-conclusion strong {
      color: var(--signal);
      font-weight: 900;
    }

    /* === SLIDE 05: WHY NOW === */
    .why-now {
      color: var(--stone);
      background: var(--pine-black);
    }

    .now-photo {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      width: 1210px;
      overflow: hidden;
      opacity: 0;
      transform: scale(1.045) translateX(28px);
      clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
      transition:
        opacity 1s var(--ease) 0.1s,
        transform 1.35s var(--ease) 0.1s;
    }

    .now-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 48%;
      filter: saturate(0.78) contrast(1.06) brightness(0.88);
    }

    .now-photo::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(13, 33, 30, 0.9) 0%, rgba(13, 33, 30, 0.36) 19%, transparent 52%),
        linear-gradient(0deg, rgba(13, 33, 30, 0.58) 0%, transparent 45%);
      pointer-events: none;
    }

    .why-now::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      background:
        repeating-radial-gradient(
          ellipse at 2% 106%,
          transparent 0 74px,
          rgba(233, 238, 232, 0.055) 75px 76px,
          transparent 77px 133px
        ),
        linear-gradient(102deg, var(--pine-black) 0 34%, rgba(13, 33, 30, 0.96) 44%, transparent 66%);
      pointer-events: none;
    }

    .why-now::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      width: 880px;
      z-index: 1;
      background:
        linear-gradient(90deg, rgba(13, 33, 30, 0.96) 0%, rgba(13, 33, 30, 0.74) 52%, transparent 100%);
      pointer-events: none;
    }

    .slide.visible .now-photo {
      opacity: 1;
      transform: scale(1);
    }

    .now-header {
      position: absolute;
      top: 64px;
      left: 90px;
      z-index: 3;
      display: flex;
      align-items: center;
      gap: 20px;
      font-family: var(--font-body);
      font-size: 17px;
      font-weight: 700;
      letter-spacing: 0.11em;
      color: rgba(233, 238, 232, 0.85);
    }

    .now-header .now-chapter {
      font-family: var(--font-latin);
      font-size: 29px;
      letter-spacing: 0.04em;
      color: var(--signal);
    }

    .now-header::after {
      content: "";
      width: 260px;
      height: 1px;
      background: rgba(233, 238, 232, 0.28);
    }

    .now-header-en {
      font-family: var(--font-latin);
      font-size: 20px;
      font-weight: 600;
      letter-spacing: 0.12em;
      color: rgba(233, 238, 232, 0.62);
    }

    .now-copy {
      position: absolute;
      top: 184px;
      left: 92px;
      z-index: 3;
      width: 790px;
    }

    .now-kicker {
      margin-bottom: 24px;
      font-family: var(--font-body);
      font-size: 23px;
      font-weight: 700;
      letter-spacing: 0.045em;
      color: var(--signal);
    }

    .now-title {
      font-family: var(--font-display);
      font-size: 96px;
      line-height: 1.14;
      font-weight: 900;
      letter-spacing: 0;
      text-shadow: 0 5px 28px rgba(13, 33, 30, 0.48);
    }

    .now-title em {
      font-style: normal;
      color: var(--signal);
    }

    .now-sub {
      width: 660px;
      margin-top: 32px;
      padding-left: 22px;
      border-left: 5px solid var(--signal);
      font-family: var(--font-body);
      font-size: 31px;
      line-height: 1.55;
      font-weight: 700;
      color: rgba(233, 238, 232, 0.92);
    }

    .now-conditions {
      position: absolute;
      left: 92px;
      bottom: 245px;
      z-index: 3;
      display: flex;
      gap: 52px;
    }

    .now-condition {
      min-width: 196px;
      padding-top: 15px;
      border-top: 1px solid rgba(233, 238, 232, 0.36);
    }

    .now-condition strong {
      display: block;
      font-family: var(--font-display);
      font-size: 31px;
      line-height: 1.1;
      font-weight: 700;
      color: var(--stone);
    }

    .now-condition small {
      display: block;
      margin-top: 8px;
      font-family: var(--font-latin);
      font-size: 16px;
      font-weight: 600;
      letter-spacing: 0.1em;
      color: rgba(233, 238, 232, 0.55);
    }

    .now-condition.is-focus {
      border-top-color: var(--signal);
      border-top-width: 4px;
      padding-top: 12px;
    }

    .now-condition.is-focus strong {
      color: var(--signal);
    }

    .now-condition.is-focus small {
      color: rgba(233, 238, 232, 0.88);
    }

    .now-happiness {
      position: absolute;
      left: 92px;
      bottom: 76px;
      z-index: 3;
      display: flex;
      align-items: baseline;
      gap: 32px;
    }

    .now-happiness strong {
      font-family: var(--font-display);
      font-size: 42px;
      line-height: 1;
      font-weight: 700;
      color: var(--stone);
    }

    .now-happiness span {
      font-family: var(--font-body);
      font-size: 21px;
      line-height: 1.4;
      font-weight: 500;
      color: rgba(233, 238, 232, 0.62);
    }

    .now-place {
      position: absolute;
      right: 86px;
      bottom: 72px;
      z-index: 3;
      width: 420px;
      padding-left: 24px;
      border-left: 4px solid var(--signal);
      text-shadow: 0 3px 18px rgba(13, 33, 30, 0.7);
    }

    .now-place strong {
      display: block;
      font-family: var(--font-body);
      font-size: 23px;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--stone);
    }

    .now-place span {
      display: block;
      margin-top: 8px;
      font-family: var(--font-latin);
      font-size: 16px;
      line-height: 1.4;
      font-weight: 600;
      letter-spacing: 0.1em;
      color: rgba(233, 238, 232, 0.62);
    }

    /* === SLIDE 06: THREE KEYS === */
    .three-keys {
      background:
        repeating-radial-gradient(
          ellipse at 92% 88%,
          transparent 0 62px,
          rgba(18, 53, 47, 0.07) 63px 64px,
          transparent 65px 118px
        ),
        var(--stone);
    }

    .three-keys::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      width: 620px;
      background:
        repeating-radial-gradient(
          ellipse at 10% 110%,
          transparent 0 66px,
          rgba(233, 238, 232, 0.055) 67px 68px,
          transparent 69px 124px
        ),
        var(--pine-black);
    }

    .key-header {
      position: absolute;
      top: 64px;
      left: 76px;
      z-index: 3;
      display: flex;
      align-items: center;
      gap: 20px;
      font-family: var(--font-body);
      font-size: 17px;
      font-weight: 700;
      letter-spacing: 0.11em;
      color: rgba(233, 238, 232, 0.86);
    }

    .key-header .key-chapter {
      font-family: var(--font-latin);
      font-size: 29px;
      letter-spacing: 0.04em;
      color: var(--signal);
    }

    .key-header::after {
      content: "";
      width: 168px;
      height: 1px;
      background: rgba(233, 238, 232, 0.28);
    }

    .key-header-en {
      font-family: var(--font-latin);
      font-size: 20px;
      font-weight: 600;
      letter-spacing: 0.12em;
      color: rgba(233, 238, 232, 0.58);
    }

    .key-side {
      position: absolute;
      top: 188px;
      left: 76px;
      z-index: 3;
      width: 500px;
      color: var(--stone);
    }

    .key-title {
      font-family: var(--font-display);
      font-size: 98px;
      line-height: 1.08;
      font-weight: 900;
      letter-spacing: 0;
    }

    .key-title em {
      font-style: normal;
      color: var(--signal);
    }

    .key-note {
      margin-top: 44px;
      padding-left: 20px;
      border-left: 4px solid var(--signal);
      font-family: var(--font-body);
      font-size: 27px;
      line-height: 1.55;
      font-weight: 600;
      color: rgba(233, 238, 232, 0.72);
    }

    .key-map {
      position: absolute;
      top: 196px;
      left: 700px;
      z-index: 3;
      width: 1120px;
      display: grid;
      grid-template-rows: repeat(3, 196px);
      row-gap: 26px;
    }

    .key-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 160px 260px;
      align-items: center;
      border-top: 2px solid rgba(18, 53, 47, 0.28);
    }

    .key-lock {
      order: 3;
      display: grid;
      grid-template-columns: auto 1fr;
      grid-template-rows: auto auto;
      align-items: end;
      gap: 2px 16px;
      color: var(--pine-black);
    }

    .key-row-index {
      grid-row: 1 / span 2;
      font-family: var(--font-latin);
      font-size: 62px;
      line-height: 0.82;
      font-weight: 700;
      color: var(--signal);
    }

    .key-lock strong {
      font-family: var(--font-display);
      font-size: 44px;
      line-height: 1;
      font-weight: 900;
      color: var(--pine-black);
    }

    .key-lock small {
      font-family: var(--font-latin);
      font-size: 16px;
      line-height: 1.2;
      font-weight: 700;
      letter-spacing: 0.1em;
      color: var(--ink-soft);
    }

    .key-link {
      order: 2;
      position: relative;
      height: 76px;
    }

    .key-link::before {
      content: "";
      position: absolute;
      top: 37px;
      left: 0;
      right: 8px;
      height: 2px;
      background: rgba(18, 53, 47, 0.38);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform 0.75s var(--ease) 0.55s;
    }

    .key-link::after {
      content: "";
      position: absolute;
      top: 29px;
      right: 0;
      width: 14px;
      height: 14px;
      border-top: 3px solid var(--signal);
      border-right: 3px solid var(--signal);
      transform: rotate(45deg) scale(0);
      transition: transform 0.35s var(--ease) 1.08s;
    }

    .slide.visible .key-row:nth-child(1) .key-link::before {
      transform: scaleX(1);
    }

    .slide.visible .key-row:nth-child(2) .key-link::before {
      transform: scaleX(1);
      transition-delay: 0.7s;
    }

    .slide.visible .key-row:nth-child(3) .key-link::before {
      transform: scaleX(1);
      transition-delay: 0.85s;
    }

    .slide.visible .key-row:nth-child(1) .key-link::after {
      transform: rotate(45deg) scale(1);
    }

    .slide.visible .key-row:nth-child(2) .key-link::after {
      transform: rotate(45deg) scale(1);
      transition-delay: 1.22s;
    }

    .slide.visible .key-row:nth-child(3) .key-link::after {
      transform: rotate(45deg) scale(1);
      transition-delay: 1.38s;
    }

    .key-icon {
      position: absolute;
      top: 16px;
      left: 50%;
      z-index: 1;
      width: 72px;
      height: 44px;
      padding: 6px 8px;
      background: var(--stone);
      transform: translateX(-50%) scale(0.82);
      opacity: 0;
      transition:
        opacity 0.35s ease 0.72s,
        transform 0.45s var(--ease) 0.72s;
    }

    .slide.visible .key-icon {
      opacity: 1;
      transform: translateX(-50%) scale(1);
    }

    .key-icon path,
    .key-icon circle {
      fill: none;
      stroke: var(--signal);
      stroke-width: 3.4;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .key-solution {
      order: 1;
      padding-left: 36px;
      border-left: 4px solid var(--signal);
    }

    .key-solution strong {
      display: block;
      font-family: var(--font-display);
      font-size: 50px;
      line-height: 1.1;
      font-weight: 900;
      color: var(--pine-black);
    }

    .key-solution span {
      display: block;
      margin-top: 9px;
      font-family: var(--font-latin);
      font-size: 16px;
      line-height: 1.35;
      font-weight: 700;
      letter-spacing: 0.09em;
      color: var(--ink-soft);
    }

    /* === SLIDE 07: BAYU TRAIL BRAND === */
    .key-brand {
      background:
        repeating-radial-gradient(
          ellipse at 92% 82%,
          transparent 0 64px,
          rgba(18, 53, 47, 0.065) 65px 66px,
          transparent 67px 122px
        ),
        var(--stone);
    }

    .brand-step-photo {
      position: absolute;
      inset: 0 auto 0 0;
      width: 760px;
      overflow: hidden;
      clip-path: polygon(0 0, 91% 0, 100% 100%, 0 100%);
    }

    .brand-step-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 48%;
      filter: saturate(0.8) contrast(1.04) brightness(0.98);
    }

    .brand-step-photo::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, transparent 0 66%, rgba(13, 33, 30, 0.42) 100%);
      pointer-events: none;
    }

    .brand-photo-label {
      position: absolute;
      left: 54px;
      bottom: 38px;
      z-index: 2;
      font-family: var(--font-body);
      font-size: 20px;
      line-height: 1.4;
      font-weight: 700;
      letter-spacing: 0.05em;
      color: rgba(233, 238, 232, 0.92);
      text-shadow: 0 2px 12px rgba(13, 33, 30, 0.8);
    }

    .brand-step-header,
    .creator-step-header,
    .network-step-header,
    .action-step-header {
      position: absolute;
      top: 64px;
      display: flex;
      align-items: center;
      gap: 20px;
      font-family: var(--font-body);
      font-size: 17px;
      font-weight: 700;
      letter-spacing: 0.11em;
    }

    .brand-step-header {
      left: 846px;
      color: var(--pine);
    }

    .brand-step-header::after,
    .creator-step-header::after,
    .network-step-header::after,
    .action-step-header::after {
      content: "";
      width: 220px;
      height: 1px;
      background: currentColor;
      opacity: 0.28;
    }

    .step-number {
      font-family: var(--font-latin);
      font-size: 29px;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--signal);
    }

    .step-header-en {
      font-family: var(--font-latin);
      font-size: 19px;
      font-weight: 600;
      letter-spacing: 0.12em;
      opacity: 0.62;
    }

    .brand-step-copy {
      position: absolute;
      top: 138px;
      left: 846px;
      z-index: 3;
      width: 950px;
      color: var(--pine-black);
    }

    .solution-kicker {
      font-family: var(--font-body);
      font-size: 23px;
      line-height: 1.4;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--signal);
    }

    .brand-step-title {
      margin-top: 20px;
      font-family: var(--font-display);
      font-size: 132px;
      line-height: 0.94;
      font-weight: 900;
      letter-spacing: 0;
    }

    .brand-step-title small {
      display: inline-block;
      margin-left: 18px;
      font-family: var(--font-body);
      font-size: 25px;
      line-height: 1;
      font-weight: 700;
      letter-spacing: 0.1em;
      color: var(--ink-soft);
      vertical-align: 22px;
    }

    .brand-step-sub {
      margin-top: 20px;
      font-family: var(--font-body);
      font-size: 31px;
      line-height: 1.45;
      font-weight: 700;
      color: var(--pine);
    }

    .brand-step-meta {
      display: flex;
      gap: 42px;
      margin-top: 30px;
    }

    .brand-meta-item {
      min-width: 250px;
      padding-top: 13px;
      border-top: 1px solid rgba(18, 53, 47, 0.3);
    }

    .brand-meta-item small {
      display: block;
      font-family: var(--font-body);
      font-size: 16px;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: 0.1em;
      color: var(--ink-soft);
    }

    .brand-meta-item strong {
      display: block;
      margin-top: 7px;
      font-family: var(--font-body);
      font-size: 26px;
      line-height: 1.3;
      font-weight: 700;
      color: var(--pine-black);
    }

    .brand-meta-item.is-accent {
      border-top-color: var(--signal);
    }

    .brand-meta-item.is-accent small,
    .brand-meta-item.is-accent strong {
      color: var(--signal);
    }

    .brand-tree {
      position: relative;
      margin-top: 42px;
      padding-top: 2px;
    }

    .brand-tree-parent {
      display: inline-flex;
      align-items: center;
      gap: 16px;
      padding: 16px 22px;
      background: var(--pine);
      color: var(--stone);
    }

    .brand-tree-parent strong {
      font-family: var(--font-display);
      font-size: 39px;
      line-height: 1;
      font-weight: 900;
    }

    .brand-tree-parent span {
      font-family: var(--font-latin);
      font-size: 15px;
      font-weight: 700;
      letter-spacing: 0.1em;
      opacity: 0.66;
    }

    .brand-tree-stem {
      width: 2px;
      height: 28px;
      margin-left: 68px;
      background: var(--signal);
    }

    .brand-branches {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      width: 760px;
    }

    .brand-branches-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      width: 760px;
      margin-bottom: 13px;
      font-family: var(--font-body);
    }

    .brand-branches-head strong {
      font-size: 18px;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: 0.06em;
      color: var(--pine);
    }

    .brand-branches-head small {
      font-size: 17px;
      line-height: 1.3;
      font-weight: 600;
      color: var(--ink-soft);
    }

    .brand-branch {
      padding-top: 13px;
      border-top: 3px solid var(--signal);
      font-family: var(--font-body);
      font-size: 23px;
      line-height: 1.4;
      font-weight: 700;
      color: var(--pine);
    }

    .brand-branch small {
      display: block;
      margin-top: 4px;
      font-family: var(--font-latin);
      font-size: 14px;
      font-weight: 600;
      letter-spacing: 0.1em;
      color: var(--ink-soft);
    }

    .brand-step-conclusion {
      position: absolute;
      left: 846px;
      bottom: 66px;
      z-index: 3;
      width: 900px;
      padding-left: 22px;
      border-left: 5px solid var(--signal);
      font-family: var(--font-display);
      font-size: 36px;
      line-height: 1.4;
      font-weight: 800;
      color: var(--pine-black);
    }

    /* === SLIDE 08: TRAIL CO-CREATOR SYSTEM === */
    .key-institution {
      color: var(--stone);
      background:
        repeating-radial-gradient(
          ellipse at 91% 94%,
          transparent 0 68px,
          rgba(233, 238, 232, 0.05) 69px 70px,
          transparent 71px 126px
        ),
        var(--pine-black);
    }

    .creator-photo {
      position: absolute;
      inset: 0 auto 0 0;
      width: 780px;
      overflow: hidden;
      clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
    }

    .creator-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 52%;
      filter: saturate(0.82) contrast(1.04) brightness(0.9);
    }

    .creator-photo::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, transparent 0 58%, rgba(13, 33, 30, 0.84) 100%),
        linear-gradient(0deg, rgba(13, 33, 30, 0.68), transparent 44%);
      pointer-events: none;
    }

    .creator-photo .brand-photo-label {
      top: 32px;
      bottom: auto;
      left: 42px;
    }

    .creator-step-header {
      left: 846px;
      color: rgba(233, 238, 232, 0.86);
    }

    .creator-copy {
      position: absolute;
      top: 140px;
      left: 846px;
      z-index: 3;
      width: 970px;
    }

    .creator-title {
      margin-top: 19px;
      font-family: var(--font-display);
      font-size: 88px;
      line-height: 1.02;
      font-weight: 900;
      letter-spacing: 0;
      color: var(--stone);
    }

    .creator-sub {
      width: 760px;
      margin-top: 23px;
      font-family: var(--font-body);
      font-size: 31px;
      line-height: 1.48;
      font-weight: 600;
      color: rgba(233, 238, 232, 0.78);
    }

    .creator-policy {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 22px;
      width: 960px;
      margin-top: 28px;
    }

    .creator-policy-item {
      padding-top: 13px;
      border-top: 1px solid rgba(233, 238, 232, 0.26);
    }

    .creator-policy-item.is-accent {
      border-top-color: var(--signal);
    }

    .creator-policy-item small {
      display: block;
      font-family: var(--font-body);
      font-size: 14px;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: 0.1em;
      color: rgba(233, 238, 232, 0.5);
    }

    .creator-policy-item.is-accent small {
      color: var(--signal);
    }

    .creator-policy-item.is-accent strong {
      color: var(--signal);
    }

    .creator-policy-item strong {
      display: block;
      margin-top: 7px;
      font-family: var(--font-body);
      font-size: 22px;
      line-height: 1.32;
      font-weight: 700;
      color: var(--stone);
    }

    .creator-rules-head {
      position: absolute;
      left: 846px;
      right: 90px;
      top: 491px;
      z-index: 3;
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      padding-bottom: 12px;
      border-bottom: 1px solid rgba(233, 238, 232, 0.22);
    }

    .creator-rules-head strong {
      font-family: var(--font-body);
      font-size: 18px;
      font-weight: 700;
      letter-spacing: 0.1em;
      color: rgba(233, 238, 232, 0.6);
    }

    .creator-rules-head span {
      font-family: var(--font-body);
      font-size: 20px;
      line-height: 1.3;
      font-weight: 700;
      color: var(--signal);
    }

    .creator-mechanisms {
      position: absolute;
      left: 846px;
      right: 90px;
      top: 536px;
      z-index: 3;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 24px 54px;
    }

    .creator-mechanism {
      display: grid;
      grid-template-columns: 122px minmax(0, 1fr);
      gap: 18px;
      min-height: 88px;
      padding-top: 16px;
      border-top: 2px solid rgba(233, 238, 232, 0.24);
    }

    .creator-mechanism small {
      font-family: var(--font-body);
      font-size: 18px;
      line-height: 1.4;
      font-weight: 700;
      color: var(--signal);
    }

    .creator-mechanism strong {
      display: block;
      font-family: var(--font-body);
      font-size: 24px;
      line-height: 1.42;
      font-weight: 600;
      color: var(--stone);
    }

    .creator-loop {
      position: absolute;
      left: 846px;
      right: 90px;
      bottom: 60px;
      z-index: 3;
      padding-top: 19px;
      border-top: 1px solid rgba(233, 238, 232, 0.22);
    }

    .creator-loop-title {
      font-family: var(--font-body);
      font-size: 28px;
      line-height: 1.3;
      font-weight: 700;
      color: var(--stone);
    }

    .creator-loop-title strong {
      margin-right: 10px;
      color: var(--signal);
    }

    .creator-loop-detail {
      display: block;
      margin-top: 11px;
      font-family: var(--font-body);
      font-size: 18px;
      line-height: 1.4;
      font-weight: 600;
      letter-spacing: 0.03em;
      color: rgba(233, 238, 232, 0.62);
    }

    .creator-loop-detail span {
      display: inline-block;
      margin-right: 24px;
    }

    .creator-loop-detail span::before {
      content: "";
      display: inline-block;
      width: 6px;
      height: 6px;
      margin-right: 9px;
      border-radius: 50%;
      background: var(--signal);
      vertical-align: 2px;
    }

    /* === SLIDE 09: ONE NETWORK === */
    .key-network {
      background:
        repeating-radial-gradient(
          ellipse at 84% 78%,
          transparent 0 62px,
          rgba(18, 53, 47, 0.06) 63px 64px,
          transparent 65px 118px
        ),
        var(--stone);
    }

    .network-step-header {
      left: 90px;
      color: var(--pine);
    }

    .network-copy {
      position: absolute;
      top: 142px;
      left: 90px;
      z-index: 3;
      width: 600px;
      color: var(--pine-black);
    }

    .network-title {
      margin-top: 16px;
      font-family: var(--font-display);
      font-size: 76px;
      line-height: 1.13;
      font-weight: 900;
      letter-spacing: 0;
    }

    .network-title span,
    .network-title em {
      display: block;
      font-style: normal;
    }

    .network-title em {
      color: var(--signal);
    }

    .network-channel {
      display: grid;
      grid-template-columns: 160px 1fr;
      gap: 15px;
      margin-top: 30px;
      padding-top: 15px;
      border-top: 1px solid rgba(18, 53, 47, 0.28);
    }

    .network-channel strong {
      font-family: var(--font-body);
      font-size: 22px;
      line-height: 1.35;
      font-weight: 700;
      color: var(--signal);
      white-space: nowrap;
    }

    .network-channel b {
      font-weight: 700;
      color: var(--signal);
    }

    .network-channel span {
      font-family: var(--font-body);
      font-size: 24px;
      line-height: 1.4;
      font-weight: 700;
      color: var(--pine);
      white-space: nowrap;
    }

    .network-channel small {
      display: block;
      margin-top: 6px;
      font-family: var(--font-latin);
      font-size: 14px;
      font-weight: 600;
      letter-spacing: 0.08em;
      color: var(--ink-soft);
    }

    .network-data-tags {
      display: flex;
      gap: 10px;
      margin-top: 30px;
      flex-wrap: wrap;
    }

    .network-data-tags span {
      padding: 8px 12px;
      border: 1px solid rgba(18, 53, 47, 0.24);
      font-family: var(--font-body);
      font-size: 17px;
      line-height: 1.2;
      font-weight: 700;
      color: var(--pine);
    }

    .network-canvas {
      position: absolute;
      top: 132px;
      left: 700px;
      width: 1130px;
      height: 810px;
      overflow: visible;
    }

    .network-layer {
      position: absolute;
      left: 0;
      width: 100%;
    }

    .network-layer--offline {
      top: 0;
      height: 470px;
    }

    .network-layer--online {
      top: 500px;
      height: 290px;
    }

    .network-layer-header {
      display: flex;
      align-items: baseline;
      gap: 13px;
      font-family: var(--font-body);
      font-size: 17px;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: 0.08em;
      color: var(--pine);
    }

    .network-layer-header span {
      font-family: var(--font-latin);
      font-size: 24px;
      font-weight: 700;
      color: var(--signal);
    }

    .network-layer-header strong {
      font-size: 18px;
      font-weight: 700;
      color: var(--pine);
    }

    .network-layer-header small {
      margin-left: 4px;
      font-family: var(--font-latin);
      font-size: 14px;
      font-weight: 600;
      color: var(--ink-soft);
    }

    .network-diagram {
      position: absolute;
      top: 26px;
      right: 0;
      width: 1130px;
      height: 430px;
      overflow: visible;
    }

    .network-map {
      width: 100%;
      height: 100%;
      overflow: visible;
    }

    .network-river {
      fill: none;
      stroke: rgba(49, 95, 91, 0.14);
      stroke-width: 7;
      stroke-linecap: round;
    }

    .network-edge,
    .network-cross {
      fill: none;
      stroke: var(--pine);
      stroke-width: 4;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-dasharray: 1450;
      stroke-dashoffset: 1450;
      transition: stroke-dashoffset 1.35s var(--ease) 0.45s;
    }

    .network-cross {
      stroke-width: 2.4;
      opacity: 0.55;
      transition-delay: 0.75s;
    }

    .slide.visible .network-edge,
    .slide.visible .network-cross {
      stroke-dashoffset: 0;
    }

    .network-gap {
      fill: none;
      stroke: var(--signal);
      stroke-width: 6;
      stroke-linecap: round;
      stroke-dasharray: 12 12;
    }

    .network-node {
      fill: var(--stone);
      stroke: var(--pine);
      stroke-width: 3.5;
    }

    .network-node.is-gap {
      fill: var(--signal);
      stroke: var(--signal);
    }

    .network-label {
      font-family: var(--font-body);
      font-size: 18px;
      font-weight: 700;
      fill: var(--pine);
    }

    .network-label.is-gap {
      fill: var(--signal);
    }

    .network-platform {
      position: absolute;
      top: 40px;
      right: 0;
      left: 0;
      height: 220px;
      display: grid;
      grid-template-columns: 350px 1fr 270px;
      align-items: center;
      gap: 34px;
      padding: 28px 32px 28px 36px;
      background: var(--pine-black);
      color: var(--stone);
    }

    .network-platform-title strong {
      display: block;
      font-family: var(--font-display);
      font-size: 38px;
      line-height: 1.2;
      font-weight: 900;
    }

    .network-platform-title span {
      display: block;
      margin-top: 12px;
      font-family: var(--font-latin);
      font-size: 15px;
      font-weight: 700;
      letter-spacing: 0.12em;
      color: var(--signal);
    }

    .network-platform-metrics {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      border-top: 1px solid rgba(233, 238, 232, 0.22);
      border-bottom: 1px solid rgba(233, 238, 232, 0.22);
    }

    .network-platform-metrics span {
      position: relative;
      padding: 24px 18px 24px 24px;
      font-family: var(--font-body);
      font-size: 21px;
      line-height: 1.35;
      font-weight: 700;
      white-space: nowrap;
    }

    .network-platform-metrics span + span {
      border-left: 1px solid rgba(233, 238, 232, 0.16);
    }

    .network-platform-metrics span::before {
      content: "";
      position: absolute;
      top: 31px;
      left: 10px;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--signal);
    }

    .network-platform-note {
      font-family: var(--font-body);
      font-size: 18px;
      line-height: 1.55;
      font-weight: 500;
      color: rgba(233, 238, 232, 0.62);
    }

    /* === SLIDE 10: FROM PRACTICE TO NETWORK === */
    .action-network {
      background:
        repeating-radial-gradient(
          ellipse at 10% 18%,
          transparent 0 74px,
          rgba(18, 53, 47, 0.05) 75px 76px,
          transparent 77px 142px
        ),
        var(--stone);
    }

    .action-step-header {
      left: 90px;
      color: var(--pine);
    }

    .action-title-block {
      position: absolute;
      top: 126px;
      left: 90px;
      z-index: 2;
      width: 1740px;
    }

    .action-title {
      margin-top: 14px;
      font-family: var(--font-display);
      font-size: 78px;
      line-height: 1.14;
      font-weight: 900;
      letter-spacing: 0;
      color: var(--pine-black);
      white-space: nowrap;
    }

    .action-title em {
      font-style: normal;
      color: var(--signal);
    }

    .action-case-strip {
      position: absolute;
      top: 278px;
      left: 90px;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
      width: 1740px;
      height: 282px;
    }

    .action-case {
      position: relative;
      overflow: hidden;
      background: var(--pine-black);
      border-radius: 4px;
    }

    .action-case img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 50%;
      filter: saturate(0.86) contrast(1.04) brightness(0.94);
    }

    .action-case.is-shibati img {
      object-position: 50% 2%;
    }

    .action-case.is-niujiaotuo img {
      object-position: 50% 58%;
    }

    .action-case.is-nanbinlu img {
      object-position: 50% 58%;
    }

    .action-case::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(13, 33, 30, 0.1) 0 28%, transparent 56%),
        linear-gradient(0deg, rgba(13, 33, 30, 0.92), transparent 52%);
      pointer-events: none;
    }

    .action-case-index {
      position: absolute;
      top: 18px;
      left: 18px;
      z-index: 2;
      display: grid;
      place-items: center;
      width: 38px;
      height: 38px;
      background: var(--signal);
      font-family: var(--font-latin);
      font-size: 20px;
      font-weight: 700;
      color: var(--stone);
    }

    .action-case-caption {
      position: absolute;
      right: 22px;
      bottom: 18px;
      left: 22px;
      z-index: 2;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 18px;
      color: var(--stone);
    }

    .action-case-caption strong {
      font-family: var(--font-display);
      font-size: 33px;
      line-height: 1.1;
      font-weight: 900;
    }

    .action-case-caption span {
      font-family: var(--font-body);
      font-size: 18px;
      line-height: 1.3;
      font-weight: 700;
      color: rgba(233, 238, 232, 0.82);
    }

    .action-path {
      position: absolute;
      top: 606px;
      left: 90px;
      width: 1740px;
    }

    .action-path-head {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 24px;
      padding-top: 14px;
      border-top: 1px solid rgba(18, 53, 47, 0.28);
    }

    .action-path-head strong {
      font-family: var(--font-body);
      font-size: 22px;
      line-height: 1.3;
      font-weight: 700;
      color: var(--pine);
    }

    .action-path-head small {
      font-family: var(--font-latin);
      font-size: 15px;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: 0.12em;
      color: var(--ink-soft);
    }

    .action-path-track {
      position: relative;
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      margin-top: 28px;
    }

    .action-path-track::before {
      content: "";
      position: absolute;
      top: 34px;
      right: 10%;
      left: 10%;
      height: 2px;
      background: var(--pine);
      opacity: 0.72;
    }

    .action-path-step {
      position: relative;
      z-index: 1;
      text-align: center;
    }

    .action-path-step > span {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 68px;
      height: 68px;
      margin: 0 auto;
      border: 2px solid var(--pine);
      border-radius: 50%;
      background: var(--stone);
      font-family: var(--font-latin);
      font-size: 23px;
      line-height: 1;
      font-weight: 700;
      color: var(--signal);
    }

    .action-path-step.is-start > span,
    .action-path-step.is-end > span {
      background: var(--pine);
      color: var(--stone);
    }

    .action-path-step strong {
      display: block;
      margin-top: 18px;
      font-family: var(--font-body);
      font-size: 24px;
      line-height: 1.3;
      font-weight: 700;
      color: var(--pine-black);
      white-space: nowrap;
    }

    .action-path-step small {
      display: block;
      margin-top: 6px;
      font-family: var(--font-latin);
      font-size: 13px;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: 0.1em;
      color: var(--ink-soft);
    }

    .action-motto {
      position: absolute;
      right: 90px;
      bottom: 56px;
      left: 90px;
      display: flex;
      align-items: center;
      gap: 24px;
      padding-top: 20px;
      border-top: 1px solid rgba(18, 53, 47, 0.28);
    }

    .action-motto span {
      font-family: var(--font-display);
      font-size: 34px;
      line-height: 1.2;
      font-weight: 900;
      color: var(--pine);
    }

    .action-motto span:last-of-type {
      color: var(--signal);
    }

    .action-motto i {
      width: 1px;
      height: 28px;
      background: rgba(18, 53, 47, 0.24);
    }

    .action-motto small {
      margin-left: auto;
      font-family: var(--font-latin);
      font-size: 15px;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: 0.12em;
      color: var(--ink-soft);
    }

    /* === SLIDE 11: CLOSING === */
    .closing {
      color: var(--stone);
      background: var(--pine-black);
    }

    .closing-photo {
      position: absolute;
      inset: 0;
      overflow: hidden;
    }

    .closing-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 50%;
      filter: saturate(0.88) contrast(1.06) brightness(0.78);
      transform: scale(1.035);
      transition: transform 1.45s var(--ease);
    }

    .slide.visible .closing-photo img {
      transform: scale(1);
    }

    .closing-photo::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(13, 33, 30, 0.97) 0%, rgba(13, 33, 30, 0.88) 34%, rgba(13, 33, 30, 0.42) 66%, rgba(13, 33, 30, 0.12) 100%),
        linear-gradient(0deg, rgba(13, 33, 30, 0.92) 0%, rgba(13, 33, 30, 0.36) 24%, transparent 48%),
        linear-gradient(180deg, rgba(13, 33, 30, 0.48) 0%, transparent 28%);
    }

    .closing::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      background:
        repeating-radial-gradient(
          ellipse at 3% 108%,
          transparent 0 73px,
          rgba(233, 238, 232, 0.06) 74px 75px,
          transparent 76px 132px,
          rgba(233, 238, 232, 0.035) 133px 134px
        );
      pointer-events: none;
    }

    .closing-header {
      position: absolute;
      top: 64px;
      left: 90px;
      z-index: 3;
      display: flex;
      align-items: center;
      gap: 20px;
      font-family: var(--font-body);
      font-size: 17px;
      font-weight: 700;
      letter-spacing: 0.11em;
      color: rgba(233, 238, 232, 0.9);
    }

    .closing-index {
      font-family: var(--font-latin);
      font-size: 30px;
      line-height: 1;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: var(--signal);
    }

    .closing-header::after {
      content: "";
      width: 260px;
      height: 1px;
      background: rgba(233, 238, 232, 0.28);
    }

    .closing-header-en {
      font-family: var(--font-latin);
      font-size: 19px;
      line-height: 1.2;
      font-weight: 600;
      letter-spacing: 0.12em;
      color: rgba(233, 238, 232, 0.58);
    }

    .closing-copy {
      position: absolute;
      top: 180px;
      left: 92px;
      z-index: 3;
      width: 1020px;
    }

    .closing-kicker {
      margin-bottom: 20px;
      font-family: var(--font-body);
      font-size: 23px;
      line-height: 1.3;
      font-weight: 700;
      letter-spacing: 0.055em;
      color: var(--signal);
    }

    .closing-title {
      font-family: var(--font-display);
      font-size: 132px;
      line-height: 1.02;
      font-weight: 900;
      letter-spacing: 0;
      text-shadow: 0 6px 30px rgba(13, 33, 30, 0.52);
    }

    .closing-title em {
      font-style: normal;
      color: var(--signal);
    }

    .closing-references {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 28px;
      width: 900px;
      margin-top: 42px;
    }

    .closing-reference {
      padding-top: 16px;
      border-top: 1px solid rgba(233, 238, 232, 0.42);
    }

    .closing-reference span {
      display: block;
      font-family: var(--font-body);
      font-size: 16px;
      line-height: 1.2;
      font-weight: 700;
      letter-spacing: 0.16em;
      color: var(--moss);
    }

    .closing-reference strong {
      display: block;
      margin-top: 10px;
      font-family: var(--font-display);
      font-size: 31px;
      line-height: 1.25;
      font-weight: 700;
      color: var(--stone);
      white-space: nowrap;
    }

    .closing-reference small {
      display: block;
      margin-top: 7px;
      font-family: var(--font-latin);
      font-size: 14px;
      line-height: 1.2;
      font-weight: 700;
      letter-spacing: 0.1em;
      color: rgba(233, 238, 232, 0.55);
    }

    .closing-action {
      position: absolute;
      top: 690px;
      left: 92px;
      z-index: 3;
      width: 1180px;
      padding: 20px 0 22px 28px;
      border-left: 6px solid var(--signal);
    }

    .closing-action small {
      display: block;
      font-family: var(--font-body);
      font-size: 16px;
      line-height: 1.2;
      font-weight: 700;
      letter-spacing: 0.16em;
      color: rgba(233, 238, 232, 0.62);
    }

    .closing-action strong {
      display: block;
      margin-top: 8px;
      font-family: var(--font-display);
      font-size: 41px;
      line-height: 1.4;
      font-weight: 900;
      color: var(--stone);
      text-shadow: 0 4px 22px rgba(13, 33, 30, 0.5);
    }

    .closing-action strong span {
      color: var(--signal);
    }

    .closing-quote {
      position: absolute;
      right: 90px;
      bottom: 112px;
      left: 90px;
      z-index: 3;
      padding-top: 22px;
      border-top: 1px solid rgba(233, 238, 232, 0.34);
      font-family: var(--font-display);
      font-size: 41px;
      line-height: 1.38;
      font-weight: 700;
      letter-spacing: 0;
      color: rgba(233, 238, 232, 0.98);
      text-shadow: 0 3px 18px rgba(13, 33, 30, 0.62);
    }

    .closing-quote strong {
      font-weight: 900;
      color: var(--moss);
    }

    .closing-signoff {
      position: absolute;
      right: 91px;
      bottom: 47px;
      z-index: 3;
      display: flex;
      align-items: center;
      gap: 26px;
      font-family: var(--font-body);
      font-size: 24px;
      line-height: 1.2;
      font-weight: 600;
      letter-spacing: 0.08em;
      color: rgba(233, 238, 232, 0.72);
    }

    .closing-signoff i {
      width: 28px;
      height: 1px;
      background: rgba(233, 238, 232, 0.36);
    }

    .closing-signoff strong {
      font-size: 25px;
      font-weight: 700;
      color: rgba(233, 238, 232, 0.94);
    }

    .closing-signoff .signoff-name {
      font-weight: 900;
      color: var(--signal);
    }

    /* === ENTRANCE MOTION === */
    .reveal {
      opacity: 0;
      transform: translateY(26px);
      transition:
        opacity 0.8s var(--ease),
        transform 0.8s var(--ease);
    }

    .photo-cut {
      opacity: 0;
      transform: translateX(70px);
      transition:
        opacity 1s var(--ease),
        transform 1s var(--ease);
    }

    .obs-photo {
      opacity: 0;
      transform: translateX(-72px);
      transition:
        opacity 1s var(--ease),
        transform 1.05s var(--ease);
    }

    .slide.visible .reveal {
      opacity: 1;
      transform: translateY(0);
    }

    .slide.visible .photo-cut {
      opacity: 1;
      transform: translateX(0);
    }

    .slide.visible .obs-photo {
      opacity: 1;
      transform: translateX(0);
    }

    .d1 { transition-delay: 0.08s; }
    .d2 { transition-delay: 0.2s; }
    .d3 { transition-delay: 0.34s; }
    .d4 { transition-delay: 0.48s; }
    .d5 { transition-delay: 0.62s; }
    .d6 { transition-delay: 0.76s; }