@charset "utf-8";
/* ============================================================================
   apple-2026 · core design system
   ----------------------------------------------------------------------------
   Source of truth: 01_Workspace/design-md/apple/DESIGN.md (562 lines).
   Every value below is a token from that document. Do not invent a second
   accent, a second shadow, or a weight-500 reading.

     surface   #ffffff / #f5f5f7 / #fafafc / #272729 / #2a2a2c / #252527 / #000
     accent    #0066cc (light surfaces) · #2997ff (dark surfaces only)
     focus     #0071e3
     ink       #1d1d1f · muted-80 #333 · muted-48 #7a7a7a · on-dark #fff
     radius    5 / 8 / 11 / 18 / pill
     spacing   4 / 8 / 12 / 17 / 24 / 32 / 48 / 80

   The single drop-shadow (3px 5px 30px rgba(0,0,0,.22)) belongs to product
   imagery resting on a surface. Never to cards, buttons or text.
   ========================================================================== */

:root {
    --ac-blue: #0066cc;
    --ac-blue-focus: #0071e3;
    --ac-blue-on-dark: #2997ff;
    --ac-ink: #1d1d1f;
    --ac-muted-80: #333333;
    --ac-muted-48: #7a7a7a;
    --ac-on-dark: #ffffff;
    --ac-body-muted: #cccccc;

    --ac-canvas: #ffffff;
    --ac-parchment: #f5f5f7;
    --ac-pearl: #fafafc;
    --ac-tile-1: #272729;
    --ac-tile-2: #2a2a2c;
    --ac-tile-3: #252527;
    --ac-black: #000000;
    --ac-chip: #d2d2d7;

    --ac-hairline: #e0e0e0;
    --ac-divider: #f0f0f0;
    --ac-ring: rgba(0, 0, 0, 0.08);

    --ac-r-xs: 5px;
    --ac-r-sm: 8px;
    --ac-r-md: 11px;
    --ac-r-lg: 18px;
    --ac-r-pill: 9999px;

    --ac-s-xxs: 4px;
    --ac-s-xs: 8px;
    --ac-s-sm: 12px;
    --ac-s-md: 17px;
    --ac-s-lg: 24px;
    --ac-s-xl: 32px;
    --ac-s-xxl: 48px;
    --ac-s-section: 80px;

    --ac-shadow-shot: 3px 5px 30px 0 rgba(0, 0, 0, 0.22);
    --ac-blur: saturate(180%) blur(20px);

    --ac-font-display: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;
    --ac-font-text: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;
}

/* ---------------------------------------------------------------- base ---- */
*,
*::before,
*::after { box-sizing: border-box; }

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--ac-canvas);
    color: var(--ac-ink);
    font: 400 17px/1.47 var(--ac-font-text);
    letter-spacing: -0.374px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

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

img { border: 0; }

a { color: var(--ac-blue); text-decoration: none; }
a:hover { text-decoration: underline; }

p { margin: 0 0 var(--ac-s-md); }
p:last-child { margin-bottom: 0; }

h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: 600; }

ul, ol { margin: 0; padding: 0; list-style: none; }

button { font: inherit; }

:focus-visible {
    outline: 2px solid var(--ac-blue-focus);
    outline-offset: 2px;
    border-radius: var(--ac-r-xs);
}

.ac-skip {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 200;
    padding: 12px 20px;
    background: var(--ac-black);
    color: #fff;
    border-radius: 0 0 var(--ac-r-sm) 0;
}
.ac-skip:focus { left: 0; }

.ac-visually-hidden {
    position: absolute !important;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* ----------------------------------------------------------- typography --- */
.ac-hero {
    font: 600 56px/1.07 var(--ac-font-display);
    letter-spacing: -0.28px;
    text-wrap: balance;
}
.ac-display {
    font: 600 40px/1.1 var(--ac-font-display);
    letter-spacing: 0;
    text-wrap: balance;
}
.ac-display-md {
    font: 600 34px/1.47 var(--ac-font-text);
    letter-spacing: -0.374px;
}
.ac-lead {
    font: 400 28px/1.14 var(--ac-font-display);
    letter-spacing: 0.196px;
}
.ac-lead-airy {
    font: 300 24px/1.5 var(--ac-font-text);
    letter-spacing: 0;
}
.ac-tagline {
    font: 600 21px/1.19 var(--ac-font-display);
    letter-spacing: 0.231px;
}
.ac-strong {
    font: 600 17px/1.24 var(--ac-font-text);
    letter-spacing: -0.374px;
}
.ac-body { font: 400 17px/1.47 var(--ac-font-text); letter-spacing: -0.374px; }
.ac-dense { font: 400 17px/2.41 var(--ac-font-text); letter-spacing: 0; }
.ac-caption { font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; }
.ac-caption-strong { font: 600 14px/1.29 var(--ac-font-text); letter-spacing: -0.224px; }
.ac-fine { font: 400 12px/1.4 var(--ac-font-text); letter-spacing: -0.12px; }
.ac-micro { font: 400 10px/1.3 var(--ac-font-text); letter-spacing: -0.08px; }

.ac-eyebrow {
    font: 600 12px/1.2 var(--ac-font-text);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ac-muted-48);
}
.ac-muted { color: var(--ac-muted-48); }
.ac-dim { color: var(--ac-muted-80); }

/* -------------------------------------------------------------- layout ---- */
.ac-wrap {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 var(--ac-s-lg);
}
.ac-wrap--narrow { max-width: 980px; }
.ac-wrap--text { max-width: 980px; margin: 0 auto; padding: 0 var(--ac-s-lg); }

.ac-section { padding: var(--ac-s-section) 0; }
.ac-section--tight { padding: var(--ac-s-xxl) 0; }

.ac-stack > * + * { margin-top: var(--ac-s-md); }
.ac-center { text-align: center; }

/* --------------------------------------------------------- global nav ---- */
.ac-gnav {
    position: sticky;
    top: 0;
    z-index: 90;
    background: var(--ac-black);
    color: var(--ac-on-dark);
}
.ac-gnav__in {
    display: flex;
    align-items: center;
    gap: var(--ac-s-lg);
    height: 44px;
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 var(--ac-s-lg);
}
.ac-gnav__brand {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--ac-on-dark);
    font: 600 14px/1 var(--ac-font-text);
    letter-spacing: -0.224px;
    white-space: nowrap;
}
.ac-gnav__brand:hover { text-decoration: none; opacity: 0.85; }
.ac-gnav__mark {
    width: 12px; height: 12px;
    border-radius: 50%;
    border: 1.5px solid currentColor;
    display: inline-block;
}
.ac-gnav__list {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 0 auto;
    min-width: 0;
}
.ac-gnav__link {
    color: rgba(255, 255, 255, 0.88);
    font: 400 12px/1 var(--ac-font-text);
    letter-spacing: -0.12px;
    white-space: nowrap;
    padding: 6px 0;
}
.ac-gnav__link:hover { color: #fff; text-decoration: none; }
.ac-gnav__tools {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-left: auto;
}
.ac-gnav__tool {
    color: rgba(255, 255, 255, 0.88);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    min-height: 32px;
    background: none;
    border: 0;
    cursor: pointer;
    padding: 0;
}
.ac-gnav__tool:hover { color: #fff; }
.ac-gnav__tool svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; }

.ac-gnav__menu { position: relative; }
.ac-gnav__panel {
    position: absolute;
    top: 34px;
    right: 0;
    min-width: 210px;
    padding: 10px;
    background: rgba(22, 22, 23, 0.96);
    backdrop-filter: var(--ac-blur);
    border-radius: var(--ac-r-md);
    display: none;
    z-index: 95;
}
.ac-gnav__menu[open] .ac-gnav__panel,
.ac-gnav__menu.is-open .ac-gnav__panel { display: block; }
.ac-gnav__panel a,
.ac-gnav__panel button {
    display: block;
    width: 100%;
    text-align: left;
    padding: 10px 12px;
    border-radius: var(--ac-r-sm);
    color: rgba(255, 255, 255, 0.9);
    font: 400 14px/1.29 var(--ac-font-text);
    letter-spacing: -0.224px;
    background: none;
    border: 0;
    cursor: pointer;
}
.ac-gnav__panel a:hover,
.ac-gnav__panel button:hover { background: rgba(255, 255, 255, 0.1); text-decoration: none; }
.ac-gnav__panel [aria-current="true"] { color: var(--ac-blue-on-dark); }

.ac-gnav__search {
    position: absolute;
    left: 0; right: 0;
    top: 44px;
    background: rgba(22, 22, 23, 0.98);
    backdrop-filter: var(--ac-blur);
    display: none;
    padding: 20px var(--ac-s-lg);
}
.ac-gnav__search.is-open { display: block; }
.ac-gnav__search form {
    max-width: 720px;
    margin: 0 auto;
    display: flex;
    gap: 12px;
}
.ac-gnav__search input {
    flex: 1 1 auto;
    min-height: 44px;
    border: 0;
    border-radius: var(--ac-r-pill);
    padding: 0 20px;
    font: 400 17px/1 var(--ac-font-text);
    letter-spacing: -0.374px;
    background: #1d1d1f;
    color: #fff;
}
.ac-gnav__search input::placeholder { color: rgba(255, 255, 255, 0.45); }

/* mobile menu button lives in the black bar (marker: nav-toggle) */
.ac-burger {
    display: none;
    width: 32px; height: 32px;
    border: 0;
    background: none;
    cursor: pointer;
    padding: 0;
    color: #fff;
}
.ac-burger span {
    display: block;
    width: 17px;
    height: 1px;
    margin: 4px auto;
    background: currentColor;
    transition: transform 0.2s ease, opacity 0.2s ease;
}
body.ac-nav-open .ac-burger span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
body.ac-nav-open .ac-burger span:nth-child(2) { opacity: 0; }
body.ac-nav-open .ac-burger span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

/* ------------------------------------------------------------ sub nav ---- */
.ac-subnav {
    position: sticky;
    top: 44px;
    z-index: 80;
    background: rgba(245, 245, 247, 0.8);
    -webkit-backdrop-filter: var(--ac-blur);
    backdrop-filter: var(--ac-blur);
    border-bottom: 1px solid var(--ac-ring);
}
.ac-subnav__in {
    display: flex;
    align-items: center;
    gap: var(--ac-s-lg);
    height: 52px;
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 var(--ac-s-lg);
}
.ac-subnav__title {
    font: 600 21px/1.19 var(--ac-font-display);
    letter-spacing: 0.231px;
    color: var(--ac-ink);
    white-space: nowrap;
}
.ac-subnav__links {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-left: auto;
    overflow-x: auto;
    scrollbar-width: none;
}
.ac-subnav__links::-webkit-scrollbar { display: none; }
.ac-subnav__link {
    font: 400 14px/1.29 var(--ac-font-text);
    letter-spacing: -0.224px;
    color: var(--ac-ink);
    white-space: nowrap;
}
.ac-subnav__link[aria-current="page"] { color: var(--ac-blue); }
.ac-subnav__cta {
    flex: 0 0 auto;
    min-height: 32px;
    padding: 7px 16px;
    font-size: 14px;
    letter-spacing: -0.224px;
}

/* -------------------------------------------------------------- buttons --- */
.ac-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 11px 22px;
    border: 0;
    border-radius: var(--ac-r-pill);
    background: var(--ac-blue);
    color: #fff;
    font: 400 17px/1 var(--ac-font-text);
    letter-spacing: -0.374px;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.18s ease, background-color 0.18s ease;
    -webkit-appearance: none;
    appearance: none;
}
.ac-btn:hover { text-decoration: none; }
.ac-btn:active { transform: scale(0.95); }
.ac-btn[disabled], .ac-btn[aria-disabled="true"] { opacity: 0.45; pointer-events: none; }

.ac-btn--ghost {
    background: transparent;
    color: var(--ac-blue);
    box-shadow: inset 0 0 0 1px var(--ac-blue);
}
.ac-btn--ghost:hover { background: rgba(0, 102, 204, 0.06); }

.ac-btn--dark {
    min-height: 32px;
    padding: 8px 15px;
    border-radius: var(--ac-r-sm);
    background: var(--ac-ink);
    color: var(--ac-on-dark);
    font: 400 14px/1.29 var(--ac-font-text);
    letter-spacing: -0.224px;
}

.ac-btn--pearl {
    min-height: 34px;
    padding: 8px 14px;
    border-radius: var(--ac-r-md);
    background: var(--ac-pearl);
    color: var(--ac-muted-80);
    font: 400 14px/1.43 var(--ac-font-text);
    letter-spacing: -0.224px;
    box-shadow: inset 0 0 0 3px var(--ac-divider);
}
.ac-btn--pearl:hover { background: rgba(0, 0, 0, 0.04); }

.ac-btn--lg {
    min-height: 52px;
    padding: 14px 28px;
    font: 300 18px/1 var(--ac-font-text);
    letter-spacing: 0;
}

.ac-btn--sm { min-height: 36px; padding: 8px 16px; font-size: 14px; letter-spacing: -0.224px; }

/* 深色瓦片上的次级药丸：与 button-secondary-pill 同构，只是把 Action Blue 换成
   文档指定的 Sky Link Blue（{colors.primary-on-dark}）。 */
.ac-btn--ghost-dark {
    min-height: 40px;
    padding: 9px 20px;
    background: transparent;
    color: var(--ac-blue-on-dark);
    box-shadow: inset 0 0 0 1px var(--ac-blue-on-dark);
}
.ac-btn--ghost-dark:hover { background: rgba(41, 151, 255, 0.08); }

.ac-btn--block { width: 100%; }

.ac-link {
    color: var(--ac-blue);
    font: 400 17px/1.47 var(--ac-font-text);
    letter-spacing: -0.374px;
}
.ac-link:hover { text-decoration: underline; }

.ac-link--dark { color: var(--ac-blue-on-dark); }

.ac-arrow { font-size: 1.05em; line-height: 1; }

/* --------------------------------------------------------------- tiles ---- */
.ac-tile {
    position: relative;
    padding: var(--ac-s-section) var(--ac-s-lg);
    text-align: center;
}
.ac-tile--light { background: var(--ac-canvas); color: var(--ac-ink); }
.ac-tile--parchment { background: var(--ac-parchment); color: var(--ac-ink); }
.ac-tile--dark { background: var(--ac-tile-1); color: var(--ac-on-dark); }
.ac-tile--dark-2 { background: var(--ac-tile-2); color: var(--ac-on-dark); }
.ac-tile--dark-3 { background: var(--ac-tile-3); color: var(--ac-on-dark); }
.ac-tile--black { background: var(--ac-black); color: var(--ac-on-dark); }

.ac-tile__in { max-width: 980px; margin: 0 auto; }
.ac-tile__title { font: 600 40px/1.1 var(--ac-font-display); letter-spacing: 0; }
.ac-tile__sub {
    margin-top: 10px;
    font: 400 28px/1.14 var(--ac-font-display);
    letter-spacing: 0.196px;
}
.ac-tile--dark .ac-tile__sub,
.ac-tile--dark-2 .ac-tile__sub,
.ac-tile--dark-3 .ac-tile__sub,
.ac-tile--black .ac-tile__sub { color: var(--ac-body-muted); }
.ac-tile__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-top: var(--ac-s-lg);
}
.ac-tile__media {
    margin: var(--ac-s-xxl) auto 0;
    max-width: 760px;
}
.ac-tile__media img {
    display: block;
    width: 100%;
    border-radius: 0;
}
.ac-tile__media--shadow img { box-shadow: var(--ac-shadow-shot); }

/* -------------------------------------------------------------- hero ----- */
.ac-hero-tile {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 88vh;
    padding: var(--ac-s-section) var(--ac-s-lg);
    background: var(--ac-tile-1);
    color: var(--ac-on-dark);
    overflow: hidden;
    text-align: center;
}
.ac-hero-tile__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.ac-hero-tile__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
    display: block;
    animation: ac-kenburns 26s ease-in-out infinite alternate;
    will-change: transform;
}
@keyframes ac-kenburns {
    from { transform: scale(1.02) translate3d(0, 0, 0); }
    to   { transform: scale(1.12) translate3d(0, -1.2%, 0); }
}
/* 文档："不要用渐变做装饰背景"。这里原本是一层自上而下的渐变压暗，
   已改成**平铺半透明**（不是渐变，只是把照片压到能读白字的亮度）。 */
.ac-hero-tile__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
}
.ac-hero-tile__in {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}
.ac-hero-tile__sub { margin-left: auto; margin-right: auto; }
.ac-hero-tile__links { justify-content: center; }
.ac-hero-facts { justify-content: center; text-align: center; }
.ac-hero-tile__eyebrow { color: rgba(255, 255, 255, 0.72); }
.ac-hero-tile__title {
    margin-top: 12px;
    font: 600 56px/1.07 var(--ac-font-display);
    letter-spacing: -0.28px;
    text-wrap: balance;
}
.ac-hero-tile__sub {
    margin-top: 14px;
    max-width: 34em;
    font: 400 24px/1.4 var(--ac-font-display);
    letter-spacing: 0.1px;
    color: rgba(255, 255, 255, 0.86);
}
.ac-hero-tile__links { display: flex; flex-wrap: wrap; gap: 14px; margin-top: var(--ac-s-xl); }

/* ------------------------------------------------------------- cards ----- */
.ac-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
.ac-card {
    display: flex;
    flex-direction: column;
    background: var(--ac-canvas);
    border: 1px solid var(--ac-hairline);
    border-radius: var(--ac-r-lg);
    padding: var(--ac-s-lg);
    color: var(--ac-ink);
    text-decoration: none;
}
.ac-card:hover { text-decoration: none; border-color: #d2d2d7; }
.ac-card__media {
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: var(--ac-r-sm);
    overflow: hidden;
    background: var(--ac-parchment);
    margin-bottom: var(--ac-s-md);
}
.ac-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ac-card__name { font: 600 17px/1.24 var(--ac-font-text); letter-spacing: -0.374px; }
.ac-card__meta { margin-top: 6px; font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-muted-48); }
.ac-card__link { margin-top: auto; padding-top: var(--ac-s-sm); font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-blue); }

/* ------------------------------------------------------------- lists ----- */
.ac-list { border-top: 1px solid var(--ac-hairline); }
body.ac-list { border-top: 0; }
.ac-list__row {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) 24px;
    gap: var(--ac-s-lg);
    align-items: baseline;
    padding: var(--ac-s-md) 0;
    border-bottom: 1px solid var(--ac-hairline);
    color: var(--ac-ink);
    text-decoration: none;
}
.ac-list__row:hover { text-decoration: none; }
.ac-list__row:hover .ac-list__title { color: var(--ac-blue); }
.ac-list__date { font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-muted-48); white-space: nowrap; }
.ac-list__title { font: 600 21px/1.3 var(--ac-font-display); letter-spacing: 0.1px; }
.ac-list__desc { margin-top: 4px; font: 400 17px/1.47 var(--ac-font-text); letter-spacing: -0.374px; color: var(--ac-muted-48); }
.ac-list__go { color: var(--ac-blue); font-size: 17px; }

/* media list rows (cover + text) */
.ac-rows { display: grid; gap: 0; border-top: 1px solid var(--ac-hairline); }
.ac-row {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr) 24px;
    gap: var(--ac-s-lg);
    align-items: center;
    padding: var(--ac-s-lg) 0;
    border-bottom: 1px solid var(--ac-hairline);
    color: var(--ac-ink);
    text-decoration: none;
}
.ac-row:hover { text-decoration: none; }
.ac-row__media {
    aspect-ratio: 4 / 3;
    border-radius: var(--ac-r-sm);
    overflow: hidden;
    background: var(--ac-parchment);
}
.ac-row__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ac-row__title { font: 600 21px/1.3 var(--ac-font-display); letter-spacing: 0.1px; }
.ac-row__meta { margin-top: 6px; font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-muted-48); }
.ac-row__desc { margin-top: 10px; font: 400 17px/1.47 var(--ac-font-text); letter-spacing: -0.374px; color: var(--ac-muted-80); }

/* ------------------------------------------------------------ chips ------ */
.ac-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.ac-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 12px 16px;
    border-radius: var(--ac-r-pill);
    background: var(--ac-canvas);
    color: var(--ac-ink);
    font: 400 14px/1.2 var(--ac-font-text);
    letter-spacing: -0.224px;
    box-shadow: inset 0 0 0 1px var(--ac-hairline);
    text-decoration: none;
}
.ac-chip:hover { text-decoration: none; box-shadow: inset 0 0 0 1px var(--ac-blue); color: var(--ac-blue); }
.ac-chip[aria-pressed="true"],
.ac-chip.is-selected { box-shadow: inset 0 0 0 2px var(--ac-blue-focus); }
.ac-chip__count { color: var(--ac-muted-48); font-size: 12px; }

/* ------------------------------------------------------------ search ----- */
.ac-search-form { display: flex; gap: 12px; max-width: 640px; }
.ac-search-input {
    flex: 1 1 auto;
    height: 44px;
    padding: 12px 20px;
    border: 1px solid var(--ac-ring);
    border-radius: var(--ac-r-pill);
    background: var(--ac-canvas);
    color: var(--ac-ink);
    font: 400 17px/1 var(--ac-font-text);
    letter-spacing: -0.374px;
}
.ac-search-input:focus { outline: 2px solid var(--ac-blue-focus); outline-offset: 1px; }

/* ------------------------------------------------------------- forms ----- */
.ac-form { max-width: 720px; }
.ac-field { margin-bottom: var(--ac-s-lg); }
.ac-field__label {
    display: block;
    margin-bottom: 8px;
    font: 600 14px/1.29 var(--ac-font-text);
    letter-spacing: -0.224px;
}
.ac-field__hint { margin-top: 6px; font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-muted-48); }
.ac-input,
.ac-select,
.ac-textarea {
    width: 100%;
    min-height: 48px;
    padding: 12px 20px;
    border: 1px solid var(--ac-ring);
    border-radius: var(--ac-r-pill);
    background: var(--ac-canvas);
    color: var(--ac-ink);
    font: 400 17px/1.47 var(--ac-font-text);
    letter-spacing: -0.374px;
    -webkit-appearance: none;
    appearance: none;
}
.ac-textarea { min-height: 140px; border-radius: var(--ac-r-lg); padding: 14px 20px; resize: vertical; }
.ac-select { padding-right: 44px; background-image: none; }
.ac-input:focus,
.ac-select:focus,
.ac-textarea:focus { outline: 2px solid var(--ac-blue-focus); outline-offset: 1px; border-color: transparent; }
.ac-check { display: flex; gap: 10px; align-items: flex-start; font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; }
.ac-check input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--ac-blue); }
.ac-required { color: var(--ac-blue); }

.ac-notice {
    padding: 14px 18px;
    border-radius: var(--ac-r-md);
    background: var(--ac-parchment);
    color: var(--ac-ink);            /* 显式给色：否则放进深色单页会白底白字 */
    font: 400 14px/1.43 var(--ac-font-text);
    letter-spacing: -0.224px;
}
.ac-notice--error { background: var(--ac-parchment); color: var(--ac-ink); box-shadow: inset 3px 0 0 0 var(--ac-blue); }
.ac-notice--ok { background: var(--ac-parchment); color: var(--ac-ink); box-shadow: inset 3px 0 0 0 var(--ac-blue); }

.ac-errors { margin: 0 0 var(--ac-s-md); padding: 14px 18px; border-radius: var(--ac-r-md); background: var(--ac-parchment); color: var(--ac-ink); box-shadow: inset 3px 0 0 0 var(--ac-blue); }
.ac-errors li + li { margin-top: 6px; }

/* ------------------------------------------------------------- table ----- */
.ac-table { width: 100%; border-collapse: collapse; font: 400 14px/1.5 var(--ac-font-text); letter-spacing: -0.224px; }
.ac-table th,
.ac-table td { padding: 12px 0; border-bottom: 1px solid var(--ac-hairline); text-align: left; vertical-align: baseline; }
.ac-table th { font-weight: 600; color: var(--ac-ink); width: 32%; }
.ac-table td { color: var(--ac-muted-80); }

/* --------------------------------------------------------- breadcrumb ---- */
.ac-crumb { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 var(--ac-s-lg); }
.ac-crumb a, .ac-crumb span { font: 400 12px/1.4 var(--ac-font-text); letter-spacing: -0.12px; color: var(--ac-muted-48); }
.ac-crumb a:hover { color: var(--ac-blue); text-decoration: none; }
.ac-crumb span[aria-current] { color: var(--ac-ink); }

/* ------------------------------------------------------------- pager ----- */
.ac-pager { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: var(--ac-s-xxl); }
.ac-pager a,
.ac-pager span {
    min-width: 40px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border-radius: var(--ac-r-pill);
    background: var(--ac-parchment);
    color: var(--ac-ink);
    font: 400 14px/1 var(--ac-font-text);
    letter-spacing: -0.224px;
}
.ac-pager a:hover { text-decoration: none; background: rgba(0, 0, 0, 0.06); }
.ac-pager [aria-current="page"] { background: var(--ac-ink); color: #fff; }

/* ------------------------------------------------------------- empty ----- */
.ac-empty { padding: var(--ac-s-xxl) 0; text-align: center; color: var(--ac-muted-48); }
.ac-empty p { margin-bottom: var(--ac-s-lg); }

/* ------------------------------------------------------------ footer ----- */
.ac-foot {
    background: var(--ac-parchment);
    color: var(--ac-muted-80);
    padding: 64px 0 32px;
    font: 400 12px/1.4 var(--ac-font-text);
    letter-spacing: -0.12px;
}
.ac-foot__in { max-width: 980px; margin: 0 auto; padding: 0 var(--ac-s-lg); }
.ac-foot__cols {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--ac-s-xl);
    padding-bottom: var(--ac-s-xl);
    border-bottom: 1px solid var(--ac-hairline);
}
.ac-foot__col h3 { margin-bottom: 10px; font: 600 14px/1.29 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-ink); }
.ac-foot__links { display: block; }
.ac-foot__links a {
    display: block;
    font: 400 17px/2.41 var(--ac-font-text);
    letter-spacing: 0;
    color: var(--ac-muted-80);
}
.ac-foot__links a:hover { color: var(--ac-blue); }
.ac-foot__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    align-items: center;
    padding-top: var(--ac-s-lg);
    color: var(--ac-muted-48);
    font: 400 12px/1.4 var(--ac-font-text);
    letter-spacing: -0.12px;
}
.ac-foot__legal a { color: var(--ac-muted-48); }
.ac-foot__legal a:hover { color: var(--ac-blue); }

/* --------------------------------------------------------- utilities ----- */
.ac-mt-0 { margin-top: 0; }
.ac-mt-sm { margin-top: var(--ac-s-sm); }
.ac-mt-md { margin-top: var(--ac-s-md); }
.ac-mt-lg { margin-top: var(--ac-s-lg); }
.ac-mt-xl { margin-top: var(--ac-s-xl); }
.ac-mt-xxl { margin-top: var(--ac-s-xxl); }
.ac-mb-lg { margin-bottom: var(--ac-s-lg); }
.ac-hr { height: 1px; border: 0; background: var(--ac-hairline); margin: var(--ac-s-xl) 0; }
.ac-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ac-s-xl); }

/* -------------------------------------------------------- responsive ----- */
@media (max-width: 1068px) {
    .ac-hero-tile__title { font-size: 40px; }
    .ac-hero { font-size: 40px; }
    .ac-display, .ac-tile__title { font-size: 34px; }
    .ac-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 834px) {
    .ac-gnav__list { display: none; }
    .ac-burger { display: block; }
    .ac-gnav__brand { margin-right: auto; }
    .ac-gnav__in { gap: 14px; }
    .ac-subnav__links .ac-subnav__link { display: none; }
    .ac-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ac-foot__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ac-row { grid-template-columns: 140px minmax(0, 1fr) 20px; }
    .ac-split { grid-template-columns: 1fr; }
    .ac-hero-tile { min-height: 520px; }
}

@media (max-width: 640px) {
    body { font-size: 17px; }
    .ac-tile { padding: var(--ac-s-xxl) var(--ac-s-lg); }
    .ac-hero-tile { min-height: 460px; padding: var(--ac-s-xxl) var(--ac-s-lg); }
    .ac-hero-tile__title, .ac-hero { font-size: 34px; }
    .ac-tile__title, .ac-display { font-size: 28px; }
    .ac-tile__sub, .ac-lead { font-size: 21px; }
    .ac-cards { grid-template-columns: 1fr; }
    .ac-list__row { grid-template-columns: minmax(0, 1fr) 20px; }
    .ac-list__date { grid-column: 1 / -1; }
    .ac-row { grid-template-columns: minmax(0, 1fr); }
    .ac-row__go { display: none; }
    .ac-foot__cols { grid-template-columns: 1fr; }
    .ac-gnav__in, .ac-subnav__in, .ac-wrap, .ac-foot__in { padding-left: 16px; padding-right: 16px; }
    .ac-btn { width: 100%; }
    .ac-tile__links .ac-btn, .ac-hero-tile__links .ac-btn, .ac-subnav__cta, .ac-stickybar .ac-btn { width: auto; }
}

@media (max-width: 419px) {
    .ac-hero-tile__title { font-size: 28px; }
    .ac-hero { font-size: 28px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}

/* -------------------------------------------------- mobile nav (open) ---- */
body.ac-nav-open { overflow: hidden; }

@media (max-width: 834px) {
    body.ac-nav-open .ac-gnav__list {
        display: flex;
        position: fixed;
        left: 0; right: 0;
        top: 44px; bottom: 0;
        z-index: 88;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin: 0;
        padding: 8px 24px 32px;
        background: var(--ac-black);
        overflow-y: auto;
    }
    body.ac-nav-open .ac-gnav__list .ac-gnav__link {
        display: block;
        padding: 16px 0;
        font: 400 17px/1.2 var(--ac-font-text);
        letter-spacing: -0.374px;
        color: #fff;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }
    .ac-gnav__search { top: 44px; }
}

/* --------------------------------------------------------- hero facts ---- */
.ac-hero-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 28px;
    margin-top: var(--ac-s-xl);
    padding-top: var(--ac-s-md);
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.72);
    font: 400 12px/1.4 var(--ac-font-text);
    letter-spacing: -0.12px;
}
.ac-hero-facts b {
    font: 600 21px/1.19 var(--ac-font-display);
    letter-spacing: 0.231px;
    color: #fff;
    margin-right: 6px;
}

/* ------------------------------------------------------ service widget --- */
.ac-svc {
    position: fixed;
    right: 20px;
    bottom: 24px;
    z-index: 86;
}
.ac-svc__btn {
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(210, 210, 215, 0.64);
    -webkit-backdrop-filter: var(--ac-blur);
    backdrop-filter: var(--ac-blur);
    color: var(--ac-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.ac-svc__btn svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.ac-svc__panel {
    position: absolute;
    right: 0;
    bottom: 56px;
    width: 300px;
    max-width: calc(100vw - 40px);
    background: var(--ac-canvas);
    border: 1px solid var(--ac-hairline);
    border-radius: var(--ac-r-lg);
    padding: var(--ac-s-lg);
    display: none;
}
.ac-svc.is-open .ac-svc__panel { display: block; }
.ac-svc__head { position: relative; padding-right: 28px; }
.ac-svc__head h2 { font: 600 21px/1.19 var(--ac-font-display); letter-spacing: 0.231px; }
.ac-svc__welcome { margin-top: 6px; font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-muted-48); }
.ac-svc__close {
    position: absolute;
    right: -6px; top: -6px;
    width: 32px; height: 32px;
    border: 0;
    background: none;
    font-size: 21px;
    line-height: 1;
    color: var(--ac-muted-48);
    cursor: pointer;
}
.ac-svc__qr { margin-top: var(--ac-s-md); text-align: center; }
.ac-svc__qr img { width: 150px; height: 150px; object-fit: contain; border-radius: var(--ac-r-sm); }
.ac-svc__qr p { margin-top: 6px; font: 400 12px/1.4 var(--ac-font-text); letter-spacing: -0.12px; color: var(--ac-muted-48); }
.ac-svc__rows { margin-top: var(--ac-s-md); }
.ac-svc__rows li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--ac-hairline); font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; }
.ac-svc__rows li:last-child { border-bottom: 0; }
.ac-svc__label { color: var(--ac-muted-48); }
.ac-svc__value { color: var(--ac-ink); text-align: right; word-break: break-all; }
.ac-svc__copy { border: 0; background: none; color: var(--ac-blue); font: inherit; cursor: pointer; padding: 0 0 0 8px; }
.ac-svc__worktime { margin-top: var(--ac-s-sm); font: 400 12px/1.4 var(--ac-font-text); letter-spacing: -0.12px; color: var(--ac-muted-48); }

/* -------------------------------------------------------- sticky bar ---- */
.ac-stickybar.is-visible { display: flex; }
.ac-stickybar { display: none; }

/* 窄屏：语言切换只留代码，别把黑色导航挤爆 */
@media (max-width: 834px) {
    .ac-lang__txt { display: none; }
    .ac-gnav__tools { gap: 10px; }
}
/* 页面钩子与小组件（都是真实用到的，登记在此以便判据能对上） */
.ac-home { background: var(--ac-canvas); }
.ac-detail { background: var(--ac-canvas); }
.ac-lang { position: relative; }
.ac-sechead { margin-bottom: var(--ac-s-sm); }
.ac-svc__body { padding-top: 2px; }
.ac-tile--last { padding-bottom: calc(var(--ac-s-section) + var(--ac-s-xxl)); }

/* 无日期列的文字列表（搜索结果、纯链接列表） */
.ac-list__row--plain { grid-template-columns: minmax(0, 1fr) 24px; }
/* ---- 深色瓦片上的组件对应物（全部只用文档 token，不新增色相） ---- */
.ac-btn--ghost-light {
    background: transparent;
    color: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7);
}
.ac-btn--ghost-light:hover { background: rgba(255, 255, 255, 0.08); }

.ac-crumb--on-dark a,
.ac-crumb--on-dark span { color: rgba(255, 255, 255, 0.55); }
.ac-crumb--on-dark span[aria-current],
.ac-crumb--on-dark a:hover { color: #ffffff; }

.ac-chip--on-dark {
    background: transparent;
    color: rgba(255, 255, 255, 0.72);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3);
}
.ac-chip--on-dark:hover { color: #ffffff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6); }
.ac-chip--on-dark[aria-current="page"] {
    color: #ffffff;
    box-shadow: inset 0 0 0 2px var(--ac-blue-on-dark);
}

.ac-eyebrow--on-dark { color: rgba(255, 255, 255, 0.6); }
.ac-plate-empty--on-dark { background: var(--ac-tile-3); color: rgba(255, 255, 255, 0.55); }

/* 视频时长chip：压在画面右下角，同 {component.button-icon-circular} 的半透明语法 */
.ac-dur {
    position: absolute;
    right: 8px;
    bottom: 8px;
    padding: 2px 8px;
    border-radius: var(--ac-r-pill);
    background: rgba(0, 0, 0, 0.62);
    color: #ffffff;
}
/* 页脚贴底：内容不足一屏时（如 404）不要让页脚悬在半空 */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
body > main { flex: 1 0 auto; }
body > .ac-foot { flex: 0 0 auto; }
/* ============================================================================
   2026-10-30 · v03 首页重构：按 DESIGN.md 的"全出血瓦片 + 摄影优先"
   - 每块瓦片接近一屏（min-height 84vh），标题 40、副题 28、两枚药丸
   - 产品图放到 1180 宽（接近满版），不再缩在 760 居中
   - 动效只有三件事：进场（位移+淡入）、媒体慢推、悬停微放大
   ========================================================================== */
.ac-tile--product {
    display: flex;
    align-items: center;
    min-height: 84vh;
    padding: var(--ac-s-section) var(--ac-s-lg);
    overflow: hidden;
}
.ac-tile--product .ac-tile__in { max-width: 1280px; }
.ac-tile--product .ac-tile__media {
    margin-top: var(--ac-s-xl);
    max-width: 1280px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--ac-tile-3);
}
.ac-tile--product .ac-tile__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.ac-tile--product:hover .ac-tile__media img { transform: scale(1.02); }

/* 进场：默认抬起 24px，进入视口后落位 */
.ac-js [data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: opacity, transform;
}
.ac-js [data-reveal].is-in { opacity: 1; transform: none; }
[data-reveal][data-delay="1"] { transition-delay: 0.08s; }
[data-reveal][data-delay="2"] { transition-delay: 0.16s; }
[data-reveal][data-delay="3"] { transition-delay: 0.24s; }

/* 首页"探索"带：大字号入口，一条一条读 */
.ac-explore { background: var(--ac-parchment); padding: var(--ac-s-xxl) 0; }
.ac-explore__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--ac-s-lg);
    align-items: baseline;
    padding: var(--ac-s-lg) 0;
    border-bottom: 1px solid var(--ac-hairline);
    color: var(--ac-ink);
    text-decoration: none;
}
.ac-explore__row:first-child { border-top: 1px solid var(--ac-hairline); }
.ac-explore__row:hover { text-decoration: none; }
.ac-explore__row:hover .ac-explore__t { color: var(--ac-blue); }
.ac-explore__t { font: 600 34px/1.2 var(--ac-font-display); letter-spacing: -0.374px; }
.ac-explore__meta { font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-muted-48); }
.ac-explore__arrow { color: var(--ac-blue); font-size: 24px; line-height: 1; }

@media (max-width: 834px) {
    .ac-tile--product { min-height: 0; padding: var(--ac-s-xxl) var(--ac-s-lg); }
    .ac-explore__t { font-size: 24px; }
}
/* 首屏"产品渲染"版：文字在上、产品图压在下缘（Apple 首页的构图） */
.ac-hero-tile--render {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 92vh;
    padding: var(--ac-s-section) var(--ac-s-lg) 0;
    background: var(--ac-black);
    text-align: center;
}
.ac-hero-tile--render .ac-hero-tile__in { max-width: 980px; margin: 0 auto; }
.ac-hero-tile__render {
    position: relative;
    width: 100%;
    max-width: 1180px;
    margin: var(--ac-s-xxl) auto 0;
    flex: 0 0 auto;
}
.ac-hero-tile__render--plate {
    max-width: 1280px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--ac-tile-3);
}
.ac-hero-tile__render.ac-hero-tile__render--plate img { width: 100%; height: 100%; object-fit: cover; object-position: center; max-height: none; }
.ac-hero-tile__render img {
    display: block;
    width: 100%;
    max-height: 52vh;
    object-fit: contain;
    animation: ac-kenburns-soft 24s ease-in-out infinite alternate;
}
@keyframes ac-kenburns-soft {
    from { transform: scale(1.0); }
    to   { transform: scale(1.035); }
}
@media (max-width: 834px) {
    .ac-hero-tile--render { min-height: 0; padding: var(--ac-s-xxl) var(--ac-s-lg) 0; }
    .ac-hero-tile__render { margin-top: var(--ac-s-xl); }
}
/* 首屏"横幅 + 说明条"：图铺满，说明条压在图片下缘（也正好盖住演示图自带的角标） */
.ac-hero-band { position: relative; background: var(--ac-tile-1); }
.ac-hero-band__media { position: relative; height: 72vh; min-height: 460px; overflow: hidden; }
.ac-hero-band__media img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center 42%;
    display: block;
    animation: ac-kenburns-soft 26s ease-in-out infinite alternate;
}
.ac-hero-band__in {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--ac-s-section) var(--ac-s-lg) calc(var(--ac-s-section) + 40px);
    color: var(--ac-on-dark);
}
.ac-hero-band__title { font: 600 56px/1.07 var(--ac-font-display); letter-spacing: -0.28px; text-wrap: balance; }
.ac-hero-band__sub { margin-top: 12px; font: 400 28px/1.14 var(--ac-font-display); letter-spacing: 0.196px; color: rgba(255,255,255,.88); }
.ac-hero-band__links { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: var(--ac-s-xl); }
.ac-hero-band__cap {
    position: relative;
    z-index: 2;
    margin-top: 0;
    display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px;
    min-height: 96px;
    padding: 16px var(--ac-s-lg);
    background: var(--ac-parchment);
    color: var(--ac-ink);
    justify-content: center;
}
.ac-hero-band + .ac-hero-band__cap { margin-top: -140px; }
.ac-hero-band__facts { display: flex; flex-wrap: wrap; gap: 10px 28px; font: 400 12px/1.4 var(--ac-font-text); letter-spacing: -0.12px; color: var(--ac-muted-48); }
.ac-hero-band__facts b { font: 600 21px/1.19 var(--ac-font-display); letter-spacing: 0.231px; color: var(--ac-ink); margin-right: 6px; }
@media (max-width: 834px) {
    .ac-hero-band__media { height: 58vh; min-height: 360px; }
    .ac-hero-band__title { font-size: 34px; }
    .ac-hero-band__sub { font-size: 21px; }
}
/* 窄屏：把 4:3 的图按 2:1 裁，裁掉的正好是演示图上下两条角标 */
@media (max-width: 834px) {
    .ac-tile--product .ac-tile__media,
    .ac-hero-tile__render--plate { aspect-ratio: 2 / 1; }
}
/* ============================================================================
   v04 · 全站"深色影像页头" + 2026 动效层
   页头不再是一块纸色平底：所有列表/单页页头统一压在同一张深色影像上，
   标题左对齐、白字，进入视口时整体轻微上浮。
   ========================================================================== */
.ac-pagehead--parchment {
    position: relative;
    min-height: 40vh;
    display: flex;
    align-items: flex-end;
    padding: 140px 0 44px;
    background: #070a10 url('/themes/apple-2026/img/hero-b.jpg') center 26% / cover no-repeat;
    color: var(--ac-on-dark);
    overflow: hidden;
}
.ac-pagehead--parchment::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(5, 8, 14, 0.42);
}
.ac-pagehead--parchment > .ac-wrap { position: relative; z-index: 1; width: 100%; }
.ac-pagehead--parchment .ac-pagehead__title { color: #ffffff; }
.ac-pagehead--parchment .ac-pagehead__sub { color: rgba(255, 255, 255, 0.78); }
.ac-pagehead--parchment .ac-crumb a,
.ac-pagehead--parchment .ac-crumb span { color: rgba(255, 255, 255, 0.62); }
.ac-pagehead--parchment .ac-crumb span[aria-current] { color: #ffffff; }
.ac-pagehead--parchment .ac-crumb a:hover { color: #ffffff; }

@media (max-width: 834px) {
    .ac-pagehead--parchment { min-height: 32vh; padding: 110px 0 32px; }
}

/* 首页首屏：左侧负空间承载文字（两张 banner 都是"主体在右、左侧留白"） */
.ac-hero-band--left .ac-hero-band__in {
    align-items: flex-start;
    text-align: left;
    padding-left: max(var(--ac-s-lg), 7vw);
    padding-right: var(--ac-s-lg);
}
.ac-hero-band--left .ac-hero-band__in > * { max-width: 620px; }
.ac-hero-band--left .ac-hero-band__links { justify-content: flex-start; }
.ac-hero-band--left .ac-hero-band__title { text-wrap: balance; }

/* 卡片/图文行的媒体悬停统一微放大 */
.ac-card__media img,
.gal__item-media img,
.vid__thumb img,
.ac-row__media img {
    transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.ac-card:hover .ac-card__media img,
.gal__item:hover .gal__item-media img,
.vid__item:hover .vid__thumb img,
.ac-row:hover .ac-row__media img { transform: scale(1.04); }