@charset "utf-8";
/* ============================================================================
   apple-2026 · page layer
   Builds on apple-core.css. Same tokens; no new colors, no new radii grammar.
   ========================================================================== */

/* ------------------------------------------------------------- page head -- */
.ac-pagehead { padding: var(--ac-s-xxl) 0 var(--ac-s-xl); }
.ac-pagehead--parchment { background: var(--ac-parchment); }
.ac-pagehead__title { font: 600 40px/1.1 var(--ac-font-display); letter-spacing: 0; text-wrap: balance; }
.ac-pagehead__sub { margin-top: 12px; max-width: 46em; font: 400 17px/1.47 var(--ac-font-text); letter-spacing: -0.374px; color: var(--ac-muted-48); }
.ac-pagehead--dark { background: var(--ac-tile-1); color: var(--ac-on-dark); }
.ac-pagehead--dark .ac-pagehead__sub { color: var(--ac-body-muted); }

/* --------------------------------------------------------------- filter --- */
.ac-filterbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    padding: 0 0 var(--ac-s-lg);
}
.ac-filterbar__spacer { margin-left: auto; }

/* ----------------------------------------------------------- product list - */
.ac-plist { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }

/* ---------------------------------------------------------- product show - */
.pdp__stage {
    background: var(--ac-tile-1);
    color: var(--ac-on-dark);
    padding: var(--ac-s-xxl) 0 var(--ac-s-section);
}
.pdp__stage-in {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
    gap: var(--ac-s-xxl);
    align-items: center;
}
.pdp__shot { background: var(--ac-tile-3); border-radius: var(--ac-r-sm); overflow: hidden; aspect-ratio: 16 / 9; }
.pdp__shot img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.pdp__kicker { color: var(--ac-blue-on-dark); font: 600 12px/1.2 var(--ac-font-text); letter-spacing: 0.08em; text-transform: uppercase; }
.pdp__title { margin-top: 10px; font: 600 40px/1.1 var(--ac-font-display); letter-spacing: 0; }
.pdp__sum { margin-top: 14px; font: 300 24px/1.5 var(--ac-font-text); color: var(--ac-body-muted); }
.pdp__links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: var(--ac-s-xl); }
.pdp__meta { display: grid; gap: 8px; margin-top: var(--ac-s-xl); }
.pdp__meta-row { display: flex; gap: 12px; font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-body-muted); }
.pdp__meta-row b { color: #fff; font-weight: 600; }

.pdp__body { padding: var(--ac-s-section) 0; }
.pdp__cols { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--ac-s-xxl); align-items: start; }
.pdp__aside {
    position: sticky;
    top: 116px;
    background: var(--ac-parchment);
    border-radius: var(--ac-r-lg);
    padding: var(--ac-s-lg);
}
.pdp__aside h2 { font: 600 21px/1.19 var(--ac-font-display); letter-spacing: 0.231px; }
.pdp__thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: var(--ac-s-lg); }
.pdp__thumb { display: block; aspect-ratio: 1/1; border-radius: var(--ac-r-sm); overflow: hidden; background: var(--ac-parchment); }
.pdp__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ac-prose { font: 400 17px/1.47 var(--ac-font-text); letter-spacing: -0.374px; color: var(--ac-ink); }
.ac-prose > * + * { margin-top: var(--ac-s-md); }
.ac-prose h2 { margin-top: var(--ac-s-xxl); font: 600 34px/1.47 var(--ac-font-text); letter-spacing: -0.374px; }
.ac-prose h3 { margin-top: var(--ac-s-xl); font: 600 21px/1.19 var(--ac-font-display); letter-spacing: 0.231px; }
.ac-prose ul, .ac-prose ol { padding-left: 1.2em; list-style: disc; }
.ac-prose ol { list-style: decimal; }
.ac-prose li + li { margin-top: 6px; }
.ac-prose img { border-radius: var(--ac-r-sm); }
.ac-prose blockquote {
    margin: var(--ac-s-xl) 0;
    padding: 4px 0 4px var(--ac-s-lg);
    border-left: 3px solid var(--ac-blue);
    font: 300 24px/1.5 var(--ac-font-text);
    color: var(--ac-muted-80);
}
.ac-prose table { width: 100%; border-collapse: collapse; }
.ac-prose td, .ac-prose th { padding: 10px 12px; border-bottom: 1px solid var(--ac-hairline); text-align: left; }

/* ------------------------------------------------------------ article ---- */
.art__head { padding: var(--ac-s-xxl) 0 0; }
.art__meta { display: flex; flex-wrap: wrap; gap: 8px 16px; color: var(--ac-muted-48); font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; }
.art__title { margin-top: 12px; font: 600 40px/1.1 var(--ac-font-display); letter-spacing: 0; text-wrap: balance; }
.art__lead { margin-top: 14px; font: 300 24px/1.5 var(--ac-font-text); color: var(--ac-muted-80); }
.art__cover { margin: var(--ac-s-xl) 0 0; }
.art__cover img { display: block; width: 100%; border-radius: var(--ac-r-sm); }
.art__body { padding: var(--ac-s-xl) 0 var(--ac-s-section); }
.art__foot { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding-top: var(--ac-s-lg); border-top: 1px solid var(--ac-hairline); margin-top: var(--ac-s-xxl); }
.art__tags { display: flex; flex-wrap: wrap; gap: 8px; }

/* ------------------------------------------------------------ gallery ---- */
.gal__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.gal__item {
    display: block;
    color: var(--ac-ink);
    text-decoration: none;
    background: var(--ac-parchment);
    border-radius: var(--ac-r-lg);
    overflow: hidden;
}
.gal__item:hover { text-decoration: none; }
.gal__item-media { aspect-ratio: 16/10; overflow: hidden; }
.gal__item-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gal__item-body { padding: var(--ac-s-lg); }
.gal__item-title { font: 600 21px/1.3 var(--ac-font-display); letter-spacing: 0.1px; }
.gal__item-meta { margin-top: 6px; font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-muted-48); }
.gal__stage { background: var(--ac-black); }
.gal__stage img { display: block; width: 100%; max-height: 78vh; object-fit: contain; }
.gal__strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.gal__strip button { padding: 0; border: 0; background: none; cursor: pointer; border-radius: var(--ac-r-sm); overflow: hidden; aspect-ratio: 4/3; }
.gal__strip img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* -------------------------------------------------------------- video ---- */
.vid__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.vid__item { display: block; color: var(--ac-ink); text-decoration: none; }
.vid__item:hover { text-decoration: none; }
.vid__thumb { position: relative; aspect-ratio: 16/9; border-radius: var(--ac-r-sm); overflow: hidden; background: var(--ac-tile-3); }
.vid__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vid__play {
    position: absolute;
    left: 50%; top: 50%;
    width: 44px; height: 44px;
    margin: -22px 0 0 -22px;
    border-radius: 50%;
    background: rgba(210, 210, 215, 0.64);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ac-ink);
    font-size: 14px;
}
.vid__title { margin-top: 12px; font: 600 17px/1.24 var(--ac-font-text); letter-spacing: -0.374px; }
.vid__meta { margin-top: 4px; font: 400 12px/1.4 var(--ac-font-text); letter-spacing: -0.12px; color: var(--ac-muted-48); }
.vid__stage { background: var(--ac-black); }
.vid__frame { position: relative; aspect-ratio: 16/9; background: #000; }
.vid__frame iframe, .vid__frame video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ----------------------------------------------------------- downloads --- */
.ac-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ac-dl__item {
    display: flex;
    gap: 16px;
    align-items: center;
    padding: var(--ac-s-lg);
    border: 1px solid var(--ac-hairline);
    border-radius: var(--ac-r-lg);
    color: var(--ac-ink);
    text-decoration: none;
    background: var(--ac-canvas);
}
.ac-dl__item:hover { text-decoration: none; border-color: #d2d2d7; }
.ac-dl__ext {
    flex: 0 0 auto;
    width: 44px; height: 44px;
    border-radius: var(--ac-r-sm);
    background: var(--ac-parchment);
    display: flex; align-items: center; justify-content: center;
    font: 600 12px/1 var(--ac-font-text);
    letter-spacing: 0.02em;
    color: var(--ac-muted-80);
}
.ac-dl__name { font: 600 17px/1.24 var(--ac-font-text); letter-spacing: -0.374px; }
.ac-dl__meta { margin-top: 4px; font: 400 12px/1.4 var(--ac-font-text); letter-spacing: -0.12px; color: var(--ac-muted-48); }

/* ---------------------------------------------------------------- jobs --- */
.ac-job {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--ac-s-md);
    align-items: baseline;
    padding: var(--ac-s-lg) 0;
    border-bottom: 1px solid var(--ac-hairline);
    color: var(--ac-ink);
    text-decoration: none;
}
.ac-job:hover { text-decoration: none; }
.ac-job:hover .ac-job__title { color: var(--ac-blue); }
.ac-job__title { font: 600 21px/1.3 var(--ac-font-display); letter-spacing: 0.1px; }
.ac-job__meta { margin-top: 6px; font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-muted-48); }

/* ---------------------------------------------------------------- faq ---- */
.ac-faq { border-top: 1px solid var(--ac-hairline); }
.ac-faq details { border-bottom: 1px solid var(--ac-hairline); }
.ac-faq summary {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: baseline;
    padding: var(--ac-s-md) 0;
    cursor: pointer;
    font: 600 17px/1.4 var(--ac-font-text);
    letter-spacing: -0.374px;
    list-style: none;
}
.ac-faq summary::-webkit-details-marker { display: none; }
.ac-faq summary .ac-faq__sign { color: var(--ac-blue); font-size: 21px; line-height: 1; }
.ac-faq details[open] summary .ac-faq__sign { transform: rotate(45deg); display: inline-block; }
.ac-faq__body { padding: 0 0 var(--ac-s-lg); font: 400 17px/1.47 var(--ac-font-text); letter-spacing: -0.374px; color: var(--ac-muted-80); }

/* -------------------------------------------------------------- store ---- */
.ac-stores { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ac-store {
    background: var(--ac-canvas);
    border: 1px solid var(--ac-hairline);
    border-radius: var(--ac-r-lg);
    padding: var(--ac-s-lg);
}
.ac-store h3 { font: 600 17px/1.24 var(--ac-font-text); letter-spacing: -0.374px; }
.ac-store p { margin-top: 8px; font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-muted-48); }
.ac-store a { display: inline-block; margin-top: 10px; font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; }

/* --------------------------------------------------------------- tags ---- */
.ac-tagcloud { display: flex; flex-wrap: wrap; gap: 10px; }

/* ------------------------------------------------------------- member ---- */
.ac-member { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: var(--ac-s-xxl); align-items: start; }
.ac-member__nav { position: sticky; top: 68px; }
.ac-member__nav h2 { font: 600 14px/1.29 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-muted-48); text-transform: uppercase; }
.ac-member__nav ul { margin-top: 10px; }
.ac-member__nav a {
    display: block;
    padding: 8px 0;
    font: 400 17px/1.47 var(--ac-font-text);
    letter-spacing: -0.374px;
    color: var(--ac-ink);
}
.ac-member__nav a[aria-current="page"] { color: var(--ac-blue); font-weight: 600; }
.ac-member__panel { min-width: 0; }
.ac-member__head { display: flex; flex-wrap: wrap; gap: 12px; align-items: baseline; justify-content: space-between; margin-bottom: var(--ac-s-lg); }
.ac-member__head h1 { font: 600 34px/1.2 var(--ac-font-display); letter-spacing: 0; }

.ac-auth { max-width: 460px; margin: 0 auto; padding: var(--ac-s-section) 0; }
.ac-auth--wide { max-width: 520px; }
.ac-auth__title { font: 600 34px/1.2 var(--ac-font-display); letter-spacing: 0; text-align: center; }
.ac-auth__sub { margin-top: 10px; text-align: center; color: var(--ac-muted-48); font: 400 17px/1.47 var(--ac-font-text); letter-spacing: -0.374px; }
.ac-auth form { margin-top: var(--ac-s-xl); }
.ac-auth__foot { margin-top: var(--ac-s-lg); display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: center; font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; }

/* ------------------------------------------------------------- report ---- */
.ac-report { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--ac-s-xxl); align-items: start; }

/* -------------------------------------------------------- card/invite ---- */
.ac-brandpage {
    min-height: 100vh;
    background: var(--ac-tile-1);
    color: var(--ac-on-dark);
    display: flex;
    align-items: center;
    padding: var(--ac-s-xxl) var(--ac-s-lg);
}
.ac-brandpage__in { width: 100%; max-width: 560px; margin: 0 auto; text-align: center; }
.ac-brandpage__avatar { width: 88px; height: 88px; border-radius: 50%; overflow: hidden; margin: 0 auto var(--ac-s-lg); background: var(--ac-tile-3); }
.ac-brandpage__avatar img { width: 100%; height: 100%; object-fit: cover; }
.ac-brandpage__name { font: 600 34px/1.2 var(--ac-font-display); letter-spacing: 0; }
.ac-brandpage__role { margin-top: 6px; color: var(--ac-body-muted); font: 400 17px/1.47 var(--ac-font-text); letter-spacing: -0.374px; }
.ac-brandpage__rows { margin-top: var(--ac-s-xl); text-align: left; }
.ac-brandpage__row { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.12); font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; }
.ac-brandpage__row span:first-child { color: var(--ac-body-muted); }
.ac-brandpage__row a { color: #fff; }
.ac-brandpage__links { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: var(--ac-s-xl); }

/* ------------------------------------------------------- sticky action --- */
.ac-stickybar {
    position: sticky;
    bottom: 0;
    z-index: 70;
    display: flex;
    align-items: center;
    gap: var(--ac-s-lg);
    min-height: 64px;
    padding: 12px var(--ac-s-xl);
    background: rgba(245, 245, 247, 0.8);
    -webkit-backdrop-filter: var(--ac-blur);
    backdrop-filter: var(--ac-blur);
    border-top: 1px solid var(--ac-ring);
}
.ac-stickybar__price { font: 400 17px/1.47 var(--ac-font-text); letter-spacing: -0.374px; color: var(--ac-ink); }
.ac-stickybar__spacer { margin-left: auto; }

/* ------------------------------------------------------------- 404 ------ */
.ac-404 { padding: calc(var(--ac-s-section) * 1.4) 0; text-align: center; }
.ac-404__code { font: 600 56px/1.07 var(--ac-font-display); letter-spacing: -0.28px; color: var(--ac-parchment); }
.ac-404__title { margin-top: var(--ac-s-lg); font: 600 34px/1.2 var(--ac-font-display); letter-spacing: 0; }
.ac-404__links { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: var(--ac-s-xl); }

/* ---------------------------------------------------------- landing ------ */
.ac-blk { padding: var(--ac-s-section) 0; }
.ac-blk--parchment { background: var(--ac-parchment); }
.ac-blk--dark { background: var(--ac-tile-1); color: var(--ac-on-dark); }
.ac-blk__title { font: 600 40px/1.1 var(--ac-font-display); letter-spacing: 0; }
.ac-blk__lead { margin-top: 12px; font: 300 24px/1.5 var(--ac-font-text); color: var(--ac-muted-80); }
.ac-blk--dark .ac-blk__lead { color: var(--ac-body-muted); }

/* ------------------------------------------------------------ contact ---- */
.ac-contact { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: var(--ac-s-xxl); align-items: start; }
.ac-contact__info { background: var(--ac-parchment); border-radius: var(--ac-r-lg); padding: var(--ac-s-lg); }
.ac-contact__row { padding: 12px 0; border-bottom: 1px solid var(--ac-hairline); }
.ac-contact__row:last-child { border-bottom: 0; }
.ac-contact__row dt { font: 600 14px/1.29 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-muted-48); }
.ac-contact__row dd { margin: 4px 0 0; font: 400 17px/1.47 var(--ac-font-text); letter-spacing: -0.374px; }
.ac-maplive { aspect-ratio: 16/9; border-radius: var(--ac-r-lg); overflow: hidden; background: var(--ac-parchment); border: 1px solid var(--ac-hairline); }
.ac-maplive iframe { width: 100%; height: 100%; border: 0; }

/* ------------------------------------------------------------ about ------ */
.ac-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ac-stat b { display: block; font: 600 40px/1.1 var(--ac-font-display); letter-spacing: 0; }
.ac-stat span { display: block; margin-top: 6px; font: 400 14px/1.43 var(--ac-font-text); letter-spacing: -0.224px; color: var(--ac-muted-48); }

.ac-timeline { border-left: 1px solid var(--ac-hairline); margin-left: 8px; }
.ac-timeline__row { position: relative; padding: 0 0 var(--ac-s-xl) var(--ac-s-xl); }
.ac-timeline__row::before {
    content: "";
    position: absolute;
    left: -4.5px; top: 8px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--ac-blue);
}
.ac-timeline__year { font: 600 21px/1.19 var(--ac-font-display); letter-spacing: 0.231px; }
.ac-timeline__text { margin-top: 6px; font: 400 17px/1.47 var(--ac-font-text); letter-spacing: -0.374px; color: var(--ac-muted-80); }

/* -------------------------------------------------------- responsive ----- */
@media (max-width: 1068px) {
    .ac-plist { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pdp__stage-in, .pdp__cols, .ac-contact, .ac-report { grid-template-columns: 1fr; }
    .pdp__aside, .ac-member__nav { position: static; }
    .ac-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 834px) {
    .ac-plist, .vid__grid, .ac-stores { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gal__grid { grid-template-columns: 1fr; }
    .ac-member { grid-template-columns: 1fr; }
    .ac-dl { grid-template-columns: 1fr; }
    .ac-pagehead__title, .art__title, .ac-blk__title { font-size: 34px; }
}

@media (max-width: 640px) {
    .ac-plist, .vid__grid, .ac-stores, .ac-stats { grid-template-columns: 1fr; }
    .pdp__thumbs, .gal__strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ac-stickybar { padding: 10px 16px; gap: 10px; }
    .ac-job { grid-template-columns: 1fr; }
}

/* 列表视图：同一批卡片改成横排（JS 切类名，不重排 DOM） */
.ac-plist--list { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--ac-hairline); }
.ac-plist--list .ac-card {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr) auto;
    gap: var(--ac-s-lg);
    align-items: center;
    border: 0;
    border-bottom: 1px solid var(--ac-hairline);
    border-radius: 0;
    padding: var(--ac-s-lg) 0;
}
.ac-plist--list .ac-card__media { margin: 0; aspect-ratio: 4/3; }
.ac-plist--list .ac-card__link { padding-top: 0; text-align: right; }
@media (max-width: 640px) {
    .ac-plist--list .ac-card { grid-template-columns: 96px minmax(0, 1fr); }
    .ac-plist--list .ac-card__link { display: none; }
}
/* 深底详情页：面包屑与次要文字提亮，保证对比度 */
.pdp__stage .ac-crumb a,
.pdp__stage .ac-crumb span { color: rgba(255, 255, 255, 0.55); }
.pdp__stage .ac-crumb span[aria-current],
.pdp__stage .ac-crumb a:hover { color: #fff; }

/* 没有配图时的诚实占位（不伪造产品照片） */
.ac-plate-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 120px;
    padding: 12px;
    background: var(--ac-parchment);
    color: var(--ac-muted-48);
    font: 400 12px/1.4 var(--ac-font-text);
    letter-spacing: -0.12px;
    text-align: center;
}
/* 落地页空态：没有积木时也要像一页，不要露出一块灰色大标题 */
.ac-landing-empty {
    min-height: 72vh;
    display: flex;
    align-items: center;
    text-align: center;
    background: var(--ac-parchment);
    color: var(--ac-ink);
}
.ac-landing-empty .ac-display { color: var(--ac-ink); }
.ac-landing-empty p { color: var(--ac-muted-48); }
/* ---------------------------------------------- 深色单页（名片 / 邀请函）---
   这两个页面是"一页就是一个人的名片"，底是近黑瓦片。浅色组件放上去必须换成
   深色对应物，否则会出现白底白字、亮白胶囊按钮把整页打花。 */
.ac-brandpage .ac-notice {
    background: rgba(255, 255, 255, 0.08);
    color: #f5f5f7;
}
.ac-brandpage .ac-btn--ghost {
    color: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}
.ac-brandpage .ac-btn--ghost:hover { background: rgba(255, 255, 255, 0.08); }
.ac-brandpage .ac-btn--pearl {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    box-shadow: none;
}
.ac-brandpage .ac-btn--pearl:hover { background: rgba(255, 255, 255, 0.2); }
.ac-brandpage .ac-field__label { color: #ffffff; }
.ac-brandpage .ac-field__hint,
.ac-brandpage .ac-caption { color: rgba(255, 255, 255, 0.62); }
.ac-brandpage .ac-input,
.ac-brandpage .ac-textarea,
.ac-brandpage .ac-select {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}
.ac-brandpage .ac-input::placeholder,
.ac-brandpage .ac-textarea::placeholder { color: rgba(255, 255, 255, 0.42); }
.ac-brandpage img[width] { border-radius: var(--ac-r-sm); }
.ac-brandpage .ac-brandpage__row img {
    width: 64px;
    height: 44px;
    object-fit: cover;
    border-radius: var(--ac-r-sm);
    display: block;
}
/* 404 整页铺满：深色瓦片吃满剩余高度，页脚自然贴底（只对 404 生效） */
body.ac-404-page > main { display: flex; flex-direction: column; }
body.ac-404-page .ac-404 { flex: 1 0 auto; display: flex; align-items: center; }
.ac-404-page .ac-body { background: var(--ac-canvas); }
/* v04：全站页头压深色影像（本表在 core 之后加载，所以覆盖写在这里） */
.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: #ffffff;
    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; }
}