:root {
  --story-heading: 52px;
  --story-title: 26px;
  --story-gap: 24px;
  --story-section-space: 104px;
  --story-photo-label: rgba(20, 22, 25, .72);
}

.story-page { letter-spacing: 0; }
.story-page h1, .story-page h2, .story-page h3, .story-page p { letter-spacing: 0; }
.story-page { --home-hero-height: calc(100svh - 69px); }
.story-page .hero { min-height: var(--home-hero-height); padding: 100px 0; }
.story-page .hero-main { align-self: center; width: min(1040px, calc(100% - 40px)); margin: 0 auto; text-align: center; }
.story-page .hero h1, .story-page .hero-lead { text-align: center; }
.story-page .hero-actions { justify-content: center; }

@media (max-width: 1180px) {
  .story-page { --home-hero-height: calc(100svh - 67px); }
}

/* 宽屏才出现左右面板；同时收窄标题，给两侧留出安全间距 */
@media (min-width: 1440px) {
  .story-page .hero-panels:not([hidden]) { display: block; }
  .story-page .hero-main { max-width: 760px; }
}
@media (max-height: 790px) {
  .story-page .hero-panel-left { display: none; }
}
.story-page .hero h1 { font-size: 72px; font-weight: 600; line-height: 1.18; }
.story-page .hero-brand-name { margin: 0 0 24px; font-size: 24px; font-weight: 600; }
.story-page .hero-flow-poster { background-image: url("./yidiandian/hero-ai-production-poster.webp?v=20261023-preview2"); filter: brightness(.72); }
.story-page .hero-flow-field::after { background: rgba(0, 0, 0, .08); }
html.motion-armed .story-page .hero h1,
html.motion-armed .story-page .hero-lead,
html.motion-armed .story-page .hero-actions { opacity: 1; transform: none; }
.story-section { padding: var(--story-section-space) 0; }
.story-page #product-catalogue { padding-top: clamp(40px, 6svh, 72px); }
.story-soft { background: var(--site-surface-soft); }
.story-heading { max-width: 920px; margin: 0 auto 52px; text-align: center; }
.story-heading h2 { margin: 0 0 22px; font-size: var(--story-heading); font-weight: 600; line-height: 1.2; }
.story-heading h2 span { color: var(--site-muted); }
.story-heading p { max-width: 680px; margin: 0 auto; color: var(--site-muted); font-size: 20px; line-height: 1.65; }
.story-heading > .story-link { margin-top: 22px; }
.story-link { display: inline-flex; align-items: center; gap: 7px; color: var(--site-blue); font-size: 17px; }
.story-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.story-link > span { font-size: 26px; line-height: 1; }
.capability-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--story-gap); }
.capability { min-width: 0; }
.capability figure, .story-wide-photo { position: relative; margin: 0; overflow: hidden; border-radius: var(--site-image-radius); }
.capability figure { aspect-ratio: 1.3; }
.capability figure img, .story-wide-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.capability figure img { object-position: center; }
.capability figcaption, .story-wide-photo figcaption, .photo-disclosure { position: absolute; right: 12px; bottom: 12px; padding: 3px 8px; color: #fff; background: var(--story-photo-label); font-size: 11px; border-radius: var(--site-radius); }
.capability > div { padding: 26px 0 0; }
.capability h3 { margin: 0 0 10px; font-size: var(--story-title); line-height: 1.35; }
.capability p { margin: 0 0 20px; color: var(--site-muted); font-size: 17px; line-height: 1.65; }
.story-wide-photo { aspect-ratio: 2; }
.story-milestones { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 40px 0 0; padding: 0; list-style: none; }
.story-milestones li { min-width: 0; padding-top: 22px; border-top: 1px solid var(--site-line); }
.story-milestones span { color: var(--site-blue); font-size: 14px; font-variant-numeric: tabular-nums; }
.story-milestones b { display: block; margin: 10px 0 6px; font-size: 23px; }
.story-milestones p { margin: 0; font-size: 14px; color: var(--site-muted); }
.scene-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.scene { min-width: 0; }
.scene > img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: contain; background: var(--site-surface-soft); border-radius: var(--site-image-radius); }
.scene > div { padding: 28px 0 0; }
.scene-media { margin: 0; }
.scene-photo-window { aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--site-image-radius); }
.scene-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.scene-media figcaption { padding-top: 12px; color: var(--site-ink-soft); font-size: 12px; line-height: 1.5; }
.story-fde-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
.story-fde-actions .site-button { min-height: 48px; padding-inline: 24px; font-size: 16px; }
.scene h3 { margin: 0 0 12px; font-size: 28px; line-height: 1.3; }
.scene p { color: var(--site-muted); margin: 0 0 18px; font-size: 15px; }
.story-bottom-link { display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: 48px; }
.story-bottom-link .site-button { min-height: 48px; padding-inline: 24px; font-size: 16px; }
.partner-loop { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; list-style: none; margin: 40px 0 0; padding: 0; }
.partner-loop li { position: relative; display: grid; gap: 6px; text-align: center; padding: 16px 0; }
.partner-loop li:not(:last-child)::after { position: absolute; top: 28px; right: -12px; width: 8px; height: 8px; content: ""; border-top: 1px solid var(--site-muted); border-right: 1px solid var(--site-muted); transform: rotate(45deg); }
.partner-loop b { font-size: 21px; }
.partner-loop span { color: var(--site-muted); font-size: 14px; }
.story-note { max-width: 760px; margin: 24px auto 0; color: var(--site-muted); font-size: 13px; text-align: center; }
.story-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.story-team .person { padding: 24px 0 0; border-top: 1px solid var(--site-line); }
.story-team .person h3 { margin: 0 0 8px; font-size: 24px; }
.story-team .role { min-height: 48px; color: var(--site-blue); font-size: 14px; line-height: 1.6; }
.story-team .person p { margin: 14px 0 0; font-size: 14px; line-height: 1.75; }
.story-credentials { display: flex; justify-content: center; gap: 64px; flex-wrap: wrap; margin-top: 56px; padding-top: 30px; border-top: 1px solid var(--site-line); color: var(--site-muted); font-size: 14px; }
.story-credentials b { margin-right: 8px; color: var(--site-ink); font-size: 36px; }
.story-packages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.story-packages .package { min-width: 0; padding: 28px 0; border: 0; border-top: 1px solid var(--site-line); border-radius: 0; background: transparent; box-shadow: none; }
.story-packages .package h3 { min-height: 58px; margin: 0 0 20px; font-size: 21px; line-height: 1.4; }
.story-packages .price { min-height: 52px; margin: 0 0 22px; color: var(--site-ink); display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px; }
.story-packages .price-main { font-size: 36px; font-weight: 600; line-height: 1.2; }
.story-packages .price small { font-size: 14px; }
.story-packages .package:last-child .price-main { font-size: 28px; }
.story-packages .package p { margin: 0; font-size: 14px; }
.story-contact { text-align: center; }
.story-contact h2 { margin: 0 0 24px; font-size: 60px; line-height: 1.2; }
.story-contact p { margin: 0 auto; max-width: 620px; font-size: 19px; color: var(--site-muted); }
.story-contact-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 26px; margin: 32px 0 0; }
.story-phone { display: inline-block; margin-top: 24px; color: var(--site-muted); font-size: 15px; }

.delivery-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 680px; background: var(--site-ice); overflow: hidden; }
.delivery-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; }
.delivery-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.91) 29%, rgba(255,255,255,.08) 70%); }
.delivery-hero .site-wrap { padding-block: 70px; }
.delivery-hero h1 { margin: 0 0 24px; font-size: 22px; font-weight: 600; }
.delivery-hero-title { margin: 0 0 24px; font-size: 64px; font-weight: 600; line-height: 1.18; max-width: 680px; }
.delivery-hero-copy { margin: 0 0 30px; font-size: 20px; color: var(--site-ink-soft); }
.delivery-transformation { display: grid; grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr); gap: 22px; align-items: center; text-align: center; }
.delivery-transformation > div { padding: 32px 0; border-block: 1px solid var(--site-line); }
.delivery-transformation span { color: var(--site-muted); font-size: 14px; }
.delivery-transformation h3 { margin: 12px 0; font-size: 23px; }
.delivery-transformation p { margin: 0; color: var(--site-muted); font-size: 14px; }
.delivery-transformation .transformation-core h3 { color: var(--site-blue); }
.delivery-transformation .transformation-arrow { font-size: 26px; }
.delivery-flow .fde-flow { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; list-style: none; }
.delivery-flow .fde-flow li { min-width: 0; }
.delivery-flow .fde-flow li:not(:last-child)::after { top: 48px; height: 1px; background: var(--site-line); }
.delivery-flow .fde-flow a { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 22px 4px; border: 0; border-radius: 0; background: transparent; text-align: center; }
.delivery-flow .fde-flow a:hover { color: var(--site-blue); }
.delivery-flow .fde-flow strong { font-size: 17px; white-space: normal; }
.delivery-flow .fde-flow-icon { display: grid; place-items: center; width: 52px; height: 52px; border: 0; color: var(--site-blue); background: transparent; }
.delivery-flow .fde-flow-icon svg { width: 34px; height: 34px; }
.delivery-flow .step-no { color: var(--site-muted); font-size: 12px; }
.delivery-details { margin-top: 44px; }
.delivery-detail { border-top: 1px solid var(--site-line); scroll-margin-top: 94px; }
.delivery-detail:last-child { border-bottom: 1px solid var(--site-line); }
.delivery-detail > summary { display: grid; grid-template-columns: 40px 180px minmax(0,1fr) 24px; align-items: center; gap: 18px; padding: 26px 0; list-style: none; cursor: pointer; }
.delivery-detail > summary::-webkit-details-marker { display: none; }
.delivery-detail > summary > span { color: var(--site-muted); font-size: 14px; }
.delivery-detail > summary h3 { margin: 0; font-size: 22px; }
.delivery-detail > summary p { margin: 0; color: var(--site-muted); font-size: 16px; }
.delivery-detail > summary i { position: relative; width: 18px; height: 18px; }
.delivery-detail > summary i::before, .delivery-detail > summary i::after { position: absolute; content: ""; background: var(--site-muted); }
.delivery-detail > summary i::before { width: 18px; height: 1px; top: 8px; }
.delivery-detail > summary i::after { height: 18px; width: 1px; left: 8px; }
.delivery-detail[open] > summary i::after { display: none; }
.delivery-detail[open] > summary h3 { color: var(--site-blue); }
.delivery-detail-body { max-width: 900px; padding: 0 0 30px 58px; }
.delivery-detail-body .fde-stage-main > h3, .delivery-checklist .fde-playbook-title { display: none; }
.delivery-detail-body p, .delivery-detail-body dd { font-size: 14px; line-height: 1.8; color: var(--site-muted); }
.delivery-detail-body .fde-stage-fields { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; padding-top: 16px; }
.delivery-detail-body .fde-stage-fields > div { border: 0; background: transparent; padding: 0; }
.delivery-checklist { border-top: 1px solid var(--site-line); margin-top: 24px; padding-top: 16px; }
.delivery-checklist dl > div { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 20px; margin: 12px 0; }
.delivery-checklist dt { font-weight: 600; font-size: 14px; }
.delivery-checklist dd { margin: 0; }
.stage-redesign { max-width: none; padding: 8px 0 36px 58px; }
.stage-visual-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 64px; align-items: center; }
.stage-diagram { min-width: 0; padding: 30px 0; }
.stage-node { display: grid; gap: 8px; padding: 18px 16px; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: var(--site-bg); text-align: center; }
.stage-node b { font-size: 16px; font-weight: 600; line-height: 1.4; }
.stage-node small { color: var(--site-muted); font-size: 13px; line-height: 1.6; }
.stage-node-primary { border-color: var(--site-primary-border); background: var(--site-primary-tint); }
.stage-node-primary b { color: var(--site-blue); }
.stage-node-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.stage-node-row .stage-node { padding: 18px 8px; }
.stage-node-row .stage-node b { font-size: 14px; }
.stage-node-row:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
.stage-connector { display: block; padding: 9px 0; text-align: center; color: var(--site-muted); font-size: 22px; line-height: 1; }
.stage-branches, .stage-cycle { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.stage-cycle .stage-node { min-height: 100px; align-content: center; }
.stage-cycle-note { text-align: center; margin: 18px 0 0; }
.stage-focus h4 { margin: 0 0 30px; font-size: 28px; line-height: 1.35; font-weight: 600; }
.stage-outcome { display: grid; gap: 12px; padding: 24px 0; border-block: 1px solid var(--site-line); }
.stage-outcome span { color: var(--site-muted); font-size: 13px; }
.stage-outcome strong { color: var(--site-blue); font-size: 23px; line-height: 1.4; }
.stage-focus dl { display: grid; gap: 18px; margin: 24px 0 0; }
.stage-focus dt { color: var(--site-ink); font-size: 13px; font-weight: 600; }
.stage-focus dd { margin: 5px 0 0; }
.stage-reference { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--site-line); }
.stage-reference > summary { width: fit-content; color: var(--site-blue); font-size: 14px; cursor: pointer; padding: 10px 0; }
.stage-reference > div { padding-top: 20px; max-width: 900px; }
.delivery-demo { margin: 0; }
.delivery-demo img { display: block; width: 100%; height: auto; }
.delivery-demo figcaption { display: flex; justify-content: space-between; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--site-line); }
.delivery-takeaways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 40px; }
.delivery-takeaways h3 { margin: 0 0 12px; font-size: 28px; }
.delivery-takeaways p { margin: 0; font-size: 16px; color: var(--site-muted); }

@media (max-width: 1040px) {
  :root { --story-heading: 44px; --story-title: 23px; --story-section-space: 80px; }
  .story-packages, .story-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .story-page .hero h1 { font-size: 60px; }
  .delivery-hero-title { font-size: 54px; }
  .delivery-transformation { gap: 12px; }
  .delivery-transformation h3 { font-size: 19px; }
}
@media (max-width: 760px) {
  :root { --story-heading: 36px; --story-title: 25px; --story-section-space: 64px; }
  .story-page .hero { min-height: var(--home-hero-height); padding-block: 42px; }
  .story-page .hero-main { width: calc(100% - 40px); margin: 0 auto; }
  .story-page .hero h1 { font-size: 40px; }
  .story-heading { margin-bottom: 36px; }
  .story-heading p { font-size: 17px; }
  .capability-grid, .scene-pair { grid-template-columns: minmax(0, 1fr); gap: 42px; }
  .capability { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 26px; }
  .capability > div { padding: 0; }
  .capability figure { aspect-ratio: 1; }
  .story-wide-photo { aspect-ratio: 1.4; }
  .story-milestones { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .partner-loop { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 24px; }
  .partner-loop li { grid-template-columns: 1fr 1fr; text-align: left; border-bottom: 1px solid var(--site-line); align-items: center; }
  .partner-loop li:not(:last-child)::after { display: none; }
  .partner-loop span { text-align: right; }
  .story-team { gap: 28px; }
  .story-credentials { gap: 28px; }
  .story-contact h2 { font-size: 44px; }
  .story-contact p { font-size: 17px; }
  .delivery-hero { min-height: 650px; align-items: flex-start; }
  .delivery-hero > img { object-position: 56% center; }
  .delivery-hero::after { background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.9) 32%, rgba(255,255,255,0) 70%); }
  .delivery-hero .site-wrap { padding-block: 36px; }
  .delivery-hero-title { font-size: 44px; }
  .delivery-hero-copy { font-size: 17px; }
  .delivery-transformation { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .delivery-transformation > div { padding: 24px 0; }
  .transformation-arrow { transform: rotate(90deg); }
  .delivery-flow .fde-flow { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .delivery-flow .fde-flow li:not(:last-child)::after { display: none; }
  .delivery-flow .fde-flow strong { font-size: 15px; }
  .delivery-detail > summary { grid-template-columns: 28px minmax(0,1fr) 20px; gap: 12px; padding: 22px 0; }
  .delivery-detail > summary p { grid-column: 2; font-size: 14px; }
  .delivery-detail > summary i { grid-column: 3; grid-row: 1; }
  .delivery-detail-body { padding-left: 0; }
  .stage-visual-grid { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .stage-diagram { padding: 16px 0 0; }
  .stage-focus h4 { font-size: 23px; margin-bottom: 22px; }
  .stage-outcome strong { font-size: 21px; }
  .stage-node-row { gap: 8px; }
  .stage-node-row .stage-node b { font-size: 13px; }
  .delivery-takeaways { gap: 24px; }
  .delivery-takeaways h3 { font-size: 23px; }
  .delivery-takeaways p { font-size: 14px; }
}
@media (max-width: 560px) {
  :root { --story-heading: 32px; --story-section-space: 56px; }
  .story-page .hero { min-height: var(--home-hero-height); padding-block: 48px; }
  .story-page .hero h1 { font-size: 36px; }
  .story-page .hero-brand-name { font-size: 20px; }
  .story-page .hero-actions { flex-direction: row; align-items: center; }
  .story-page .hero-actions .site-button { width: auto; }
  .capability { display: block; }
  .capability figure { aspect-ratio: 1.5; }
  .capability > div { padding-top: 24px; }
  .capability p br { display: none; }
  .story-heading p br { display: none; }
  .story-team, .story-packages { grid-template-columns: minmax(0,1fr); }
  .story-team .role { min-height: 0; }
  .story-packages .package h3 { min-height: 0; }
  .story-packages .package { padding-block: 24px 0; }
  .story-packages .price { margin-bottom: 14px; }
  .story-credentials { gap: 16px; }
  .story-credentials b { font-size: 28px; }
  .story-credentials span { font-size: 12px; }
  .scene h3 { font-size: 25px; }
  .story-contact h2 { font-size: 36px; }
  .delivery-hero-title { font-size: 36px; }
  .delivery-hero h1 { font-size: 18px; margin-bottom: 18px; }
  .delivery-hero-copy { max-width: 270px; }
  .delivery-checklist dl > div { grid-template-columns: minmax(0,1fr); gap: 4px; }
  .delivery-takeaways { grid-template-columns: minmax(0,1fr); }
  .delivery-demo figcaption { flex-direction: column; gap: 10px; }
}

/* Homepage entry to the complete product and service catalogue. */
.catalogue-entry .story-heading { margin-bottom: 36px; }
.catalogue-entry-actions { display: flex; justify-content: center; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 28px; }
.catalogue-entry-actions .site-button { gap: 10px; }
.catalogue-entry-visual { margin: 0; }
.catalogue-entry-visual a { display: block; }
.catalogue-entry-visual img { display: block; width: 100%; height: auto; aspect-ratio: 3; object-fit: cover; object-position: center; }
.catalogue-entry-visual figcaption { margin-top: 10px; color: var(--site-muted); font-size: var(--site-micro); text-align: right; }
@media (max-width: 760px) { .catalogue-entry-visual img { aspect-ratio: 1.6; } .catalogue-entry-actions { gap: 20px; } }

/* 首页展示节奏：证书原貌、宽幅视觉、交付叙事。 */
.story-page {
  --home-stage-gap: clamp(40px, 6vw, 88px);
  --home-stage-radius: var(--site-image-radius);
  --home-stage-shadow: 0 24px 80px rgba(28, 56, 89, .1);
}
.home-authorization { overflow: hidden; background: var(--site-bg); padding: clamp(72px, 9vw, 128px) 0; }
.authorization-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: clamp(32px, 5vw, 72px); }
.authorization-copy { text-align: left; max-width: 520px; }
.authorization-label { color: var(--site-blue); font-size: 16px; font-weight: 600; }
.authorization-copy h2 { margin: 20px 0 24px; color: var(--site-ink); font-size: clamp(32px, 3.4vw, 50px); line-height: 1.14; letter-spacing: -.04em; }
.authorization-copy h2 span { color: var(--site-muted); }
.authorization-copy > p:not(.authorization-label) { max-width: 38em; margin: 0 auto 20px; font-size: clamp(17px, 1.5vw, 21px); line-height: 1.7; }
.authorization-certificate { width: 100%; max-width: 640px; margin: 0 auto; }
.authorization-certificate img { display: block; width: 100%; height: auto; box-shadow: var(--home-stage-shadow); }
.authorization-certificate figcaption { margin-top: 18px; color: var(--site-muted); font-size: 12px; text-align: center; }
.home-cinematic .catalogue-entry-visual { overflow: hidden; border-radius: var(--site-image-radius); }
.home-cinematic .catalogue-entry-visual img { aspect-ratio: 16 / 9; }
.home-capabilities .capability-grid { gap: 24px; }
.home-delivery .story-milestones { margin-top: var(--home-stage-gap); }
@media (min-width: 1000px) and (prefers-reduced-motion: no-preference) {
  .home-delivery > .site-wrap { display: grid; grid-template-columns: .85fr 1.15fr; gap: 40px 64px; align-items: start; }
  .home-delivery .story-heading { position: sticky; top: 130px; grid-row: 1 / 3; text-align: left; margin: 0; }
  .home-delivery .story-heading h2 { font-size: clamp(36px, 3.3vw, 50px); }
  .home-delivery .story-heading p { margin-left: 0; }
  .home-delivery .story-fde-actions { justify-content: flex-start; }
  .home-delivery .story-wide-photo { margin: 0; border-radius: var(--home-stage-radius); overflow: hidden; }
  .home-delivery .story-milestones { grid-column: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 36px; margin: 0; }
  .story-page .home-delivery .home-learning-entry { grid-column: 2; margin: 0; text-align: left; }
}
@media (max-width: 760px) {
  .home-cinematic .catalogue-entry-visual img { aspect-ratio: 1.6; }
  .authorization-copy h2 { font-size: clamp(32px, 8vw, 44px); }
  .authorization-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .authorization-copy { text-align: center; margin: auto; }
  .authorization-certificate { max-width: 520px; }
}

/* 图像与服务方向属于同一个展示容器，不比较能力强弱。 */
.story-page { --home-feedback-duration: .2s; }
.catalogue-showcase { display: grid; grid-template-columns: .9fr 1.1fr; background: var(--site-bg); border-radius: var(--home-stage-radius); overflow: hidden; }
.home-cinematic .catalogue-entry-visual { position: relative; border-radius: var(--site-image-radius); height: 100%; }
.catalogue-showcase .catalogue-entry-visual a { height: 100%; }
.catalogue-showcase .catalogue-entry-visual img { height: 100%; aspect-ratio: auto; object-fit: cover; object-position: 45% center; }
.catalogue-showcase .catalogue-entry-visual figcaption { position: absolute; right: 16px; bottom: 16px; margin: 0; padding: 4px 8px; background: var(--story-photo-label); color: #fff; border-radius: var(--site-radius); }
.home-service-map { padding: clamp(28px, 3.5vw, 52px); }
.home-service-map h3 { margin: 0 0 16px; font-size: clamp(28px, 3vw, 40px); line-height: 1.2; }
.home-service-map > p { color: var(--site-muted); font-size: 15px; line-height: 1.7; margin: 0 0 24px; }
.home-service-directions { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.home-service-direction { display: flex; align-items: baseline; gap: 10px; padding: 20px 0; border-top: 1px solid var(--site-line); color: var(--site-ink); min-width: 0; }
.home-direction-index { color: var(--site-blue); font-size: 12px; font-variant-numeric: tabular-nums; }
.home-service-direction b { font-size: 14px; line-height: 1.5; font-weight: 600; }
.home-service-direction small { display: block; margin-top: 6px; font-size: 12px; line-height: 1.6; color: var(--site-muted); }
.home-direction-arrow { margin-left: auto; color: var(--site-blue); }
.home-service-direction:hover b { color: var(--site-blue); }
.home-service-direction:focus-visible { outline: 2px solid var(--site-blue); outline-offset: 3px; }
@media (max-width: 1000px) { .catalogue-showcase { grid-template-columns: 1fr; } .catalogue-showcase .catalogue-entry-visual img { height: auto; aspect-ratio: 16 / 9; } }
.story-page [data-count-to] { font-variant-numeric: tabular-nums; }
.story-page .partner-loop li { border: 1px solid var(--site-line); border-radius: var(--site-radius); padding: 28px 12px; overflow: visible; }
.story-page .partner-loop li::before { content: ''; position: absolute; height: 3px; left: 16px; right: 16px; bottom: 12px; background: var(--site-blue); transform: scaleX(var(--flow-progress, 1)); transform-origin: left; }
.story-page .partner-loop li:not(:last-child)::after { top: 50%; right: -14px; border-color: var(--site-blue); }
.story-page .story-milestones li { border-top-width: 2px; }
@media (max-width: 760px) {
  .home-service-directions { gap: 0 18px; }
  .home-service-direction { gap: 7px; }
  .home-direction-arrow { display: none; }
}

@media (max-width: 480px) {
  .home-service-directions { grid-template-columns: minmax(0, 1fr); }
  .home-service-direction { padding: 16px 0; }
  .home-direction-arrow { display: block; }
}

/* 辅助服务与学习入口：保持轻量，不占用核心能力卡片。 */
.story-page .home-support-note { margin: var(--story-gap) 0 0; color: var(--site-muted); font-size: var(--site-body); line-height: 1.8; }
.home-support-note a { color: var(--site-blue); text-underline-offset: 4px; }
.home-support-note a:hover { text-decoration: underline; }
.home-learning-entry { grid-column: 1 / -1; text-align: center; }

/* 首页精选视频：独立展示，延续业务内容之后的图文节奏。 */
.home-video-feature { --home-video-gap: clamp(32px, 5vw, 72px); border-top: 1px solid var(--site-line); }
.home-video-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: var(--home-video-gap); align-items: center; }
.home-video-copy { min-width: 0; }
.home-video-copy h2 { margin: 0 0 var(--story-gap); font-size: clamp(32px, 3.3vw, 46px); font-weight: 600; line-height: 1.25; text-wrap: balance; }
.home-video-copy > p { max-width: 30em; margin: 0; color: var(--site-muted); font-size: 18px; line-height: 1.8; }
.home-video-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 32px; }
.home-video-work { min-width: 0; margin: 0; }
.home-video-stage { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--home-stage-radius); background: var(--site-ink); }
.home-video-stage :is(img, video) { display: block; width: 100%; height: 100%; object-fit: contain; }
.home-video-stage [hidden] { display: none; }
.home-video-play { position: absolute; left: 24px; bottom: 24px; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 20px; border: 0; border-radius: var(--site-button-radius); color: var(--site-ink); background: var(--site-white); font: inherit; font-weight: 600; cursor: pointer; }
.home-video-play:hover { background: var(--site-ice); }
.home-video-work figcaption { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 16px; margin-top: 16px; color: var(--site-muted); font-size: 13px; line-height: 1.7; }
.home-video-work figcaption a { display: inline-flex; align-items: center; min-height: 44px; color: var(--site-blue); }
.home-video-status { color: var(--site-muted); font-size: 14px; line-height: 1.7; }
.home-video-status:empty { display: none; }
@media (max-width: 900px) {
  .home-video-layout { grid-template-columns: minmax(0, 1fr); }
  .home-video-copy > p { max-width: none; }
}
@media (max-width: 760px) {
  .home-video-copy > p { font-size: 17px; }
  .home-video-play { left: 16px; bottom: 16px; }
}
