/* AFBC · Phase 03. Red / warm-white palette refined with September 10 campaign assets. */
:root {
  --color-primary:#B51F24; --color-primary-hover:#94171C; --color-secondary:#2E2421;
  --color-accent:#997445; --color-bg:#FAF7F2; --color-surface:#FFFFFF;
  --color-section-cream:#FBF3E6; --color-section-rose:#F8E9E7;
  --color-text:#292321; --color-text-secondary:#655D58; --color-inverse:#FFFFFF;
  --color-border:#E2DAD2; --color-control-border:#84766C; --color-focus:#9A431C;
  --color-success:#206348; --color-success-bg:#ECF5EE;
  --color-pending:#805600; --color-pending-bg:#FFF5D6;
  --color-error:#A51D2D; --color-error-bg:#FFF0F1;
  --font-sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;
  --font-number:Arial,Helvetica,system-ui,sans-serif;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-6:24px;
  --space-8:32px; --space-12:48px; --space-16:64px; --space-20:80px; --space-24:96px;
  --container:1280px; --gutter:48px; --section-space:96px;
  --radius-button:6px; --radius-card:8px; --radius-image:12px;
  --header-height:80px; --ease:cubic-bezier(.2,.65,.3,1);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; interpolate-size:allow-keywords; }
body { margin:0; background:var(--color-bg); color:var(--color-text); font:400 16px/1.75 var(--font-sans); -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
button { color:inherit; }
img { display:block; max-width:100%; height:auto; }
figure,blockquote { margin:0; }
p,h1,h2,h3,h4 { margin:0; }
h1,h2,h3 { font-weight:700; }
h2 { font-size:40px; line-height:1.3; letter-spacing:-.025em; text-wrap:balance; }
h3 { font-size:24px; line-height:1.45; letter-spacing:-.01em; }
ul,ol { margin:0; padding:0; list-style:none; }
button { border:0; }
[hidden] { display:none !important; }
:focus-visible { outline:2px solid var(--color-focus); outline-offset:4px; }
.dark-section :focus-visible,.final-cta :focus-visible { outline-color:white; }
::selection { background:var(--color-primary); color:white; }
.container { width:min(var(--container),calc(100% - var(--gutter)*2)); margin-inline:auto; }
.section { padding-block:var(--section-space); }
.eyebrow { display:flex; align-items:center; gap:12px; font:600 13px/1.5 var(--font-sans); letter-spacing:.09em; color:var(--color-primary); margin-bottom:24px; }
.body-large { font-size:20px; line-height:1.7; color:var(--color-text-secondary); }
.caption,figcaption { font-size:14px; line-height:1.6; }
.muted { color:var(--color-text-secondary); }
.text-link { display:inline-flex; align-items:center; gap:20px; min-height:44px; font-weight:600; color:var(--color-primary); }
.text-link span:last-child { transition:transform .2s var(--ease); }
.text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.text-link:hover span:last-child { transform:translate(2px,-2px); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:48px; padding:12px 24px; border:1px solid transparent; border-radius:var(--radius-button); font-size:16px; font-weight:600; line-height:1.25; transition:background .18s,color .18s,border-color .18s; }
.button-primary { background:var(--color-primary); color:white; }
.button-primary:hover { background:var(--color-primary-hover); }
.button-outline { border-color:var(--color-secondary); color:var(--color-secondary); }
.button-outline:hover { background:var(--color-secondary); color:white; }
.button-inverse { border-color:rgba(255,255,255,.7); color:white; }
.button-inverse:hover { background:rgba(255,255,255,.1); }
.button-white { background:white; color:var(--color-primary); }
.button-white:hover { background:var(--color-bg); }
.button-large { min-height:52px; padding-inline:32px; }
.inline-actions { display:flex; gap:28px; flex-wrap:wrap; }
.skip-link { position:fixed; top:8px; left:16px; z-index:200; background:white; padding:12px 24px; box-shadow:0 2px 20px #0002; transform:translateY(-160%); clip-path:inset(50%); }
.skip-link:focus { transform:translateY(0); clip-path:none; }
.section-top { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; margin-bottom:48px; }
.section-top>p { color:var(--color-text-secondary); max-width:380px; }
.section-foot { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:32px; }

/* Header: stable sticky geometry, no content shift during scroll. */
.site-header { position:sticky; top:0; z-index:50; height:var(--header-height); background:var(--color-surface); border-bottom:1px solid var(--color-border); transition:box-shadow .15s; }
.site-header.is-scrolled { box-shadow:0 4px 20px #17212b0a; }
.header-inner { display:flex; height:100%; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.brand>img { width:168px; height:auto; }
.brand-edition { display:none; font-size:12px; border-left:1px solid var(--color-border); padding-left:16px; line-height:1.7; color:var(--color-text-secondary); }
.main-nav { display:flex; align-items:center; gap:26px; font-size:15px; font-weight:500; }
.main-nav>a,.nav-group>a { display:flex; align-items:center; min-height:48px; white-space:nowrap; }
.main-nav>a:hover,.nav-group>a:hover { color:var(--color-primary); }
.nav-group { display:flex; position:relative; align-items:center; gap:2px; }
.nav-toggle { width:26px; height:44px; display:grid; place-items:center; background:none; }
.chevron { display:block; width:7px; height:7px; border-right:1.5px solid; border-bottom:1.5px solid; transform:rotate(45deg) translateY(-2px); }
.nav-toggle[aria-expanded=true] .chevron { transform:rotate(225deg); }
.nav-submenu { position:absolute; top:calc(100% + 10px); left:-24px; padding:16px; min-width:190px; border:1px solid var(--color-border); border-radius:8px; background:white; box-shadow:0 12px 28px #17212b15; }
.nav-submenu a { display:block; padding:9px 12px; min-height:44px; border-radius:4px; }
.nav-submenu a:hover { background:var(--color-bg); color:var(--color-primary); }
.header-actions { display:flex; gap:12px; margin-left:8px; }
.header-actions .button { padding-inline:20px; min-height:44px; font-size:14px; gap:16px; }
.menu-toggle { display:none; width:48px; height:48px; background:none; padding:14px 10px; }
.menu-toggle span { display:block; height:2px; width:26px; background:var(--color-secondary); margin:6px 0; transition:transform .2s; }

/* 02 / editorial definition and facts */
.intro { padding-block:80px; }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:112px; }
.intro .body-large { margin-top:24px; max-width:550px; }
.intro .text-link { margin-top:20px; }
.facts-block { padding-top:8px; }
.stat { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; border-bottom:1px solid var(--color-border); }
.stat:first-child { padding-top:0; }
.stat>div { white-space:nowrap; }
.stat strong { font-family:var(--font-number); font-weight:500; font-size:64px; line-height:1.1; letter-spacing:-.055em; }
.stat>div>span { font-size:18px; margin-left:8px; }
.stat p { min-width:160px; line-height:1.7; font-weight:500; }
.stat p span { font-weight:400; font-size:13px; color:var(--color-text-secondary); }

/* 03 / 04 / two distinct participant stories */
.value-section { background:white; }
.value-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:80px; align-items:center; }
.value-copy .body-large { margin-top:24px; }
.value-steps { margin-top:32px; }
.value-steps li { display:flex; gap:20px; padding:16px 0; border-top:1px solid var(--color-border); }
.value-steps li>span { font-family:var(--font-number); font-size:13px; color:var(--color-text-secondary); padding-top:3px; }
.value-steps h3 { font-size:18px; font-weight:600; }
.value-steps p { font-size:14px; color:var(--color-text-secondary); margin-top:5px; }
.value-copy>.text-link { margin-top:16px; }
.value-photo { position:relative; align-self:stretch; padding-top:40px; display:flex; flex-direction:column; justify-content:center; }
.value-photo img { width:100%; height:570px; object-fit:cover; object-position:53% 50%; border-radius:var(--radius-image) 0 0 0; }
.value-photo figcaption { display:flex; justify-content:space-between; padding-top:16px; color:var(--color-text-secondary); gap:12px; }
.photo-corner { position:absolute; width:72px; height:72px; border-left:3px solid var(--color-primary); border-bottom:3px solid var(--color-primary); left:-20px; bottom:64px; pointer-events:none; }
.evidence-strip { border-top:1px solid var(--color-border); margin-top:64px; padding-top:24px; display:flex; gap:32px; align-items:center; }
.evidence-strip>span { font-size:14px; font-weight:600; white-space:nowrap; }
.evidence-strip p { font-size:14px; color:var(--color-text-secondary); }
.evidence-strip strong { font-weight:500; color:var(--color-text); }
.evidence-strip .text-link { font-size:14px; margin-left:auto; white-space:nowrap; }
.visitor-grid { display:grid; grid-template-columns:1fr 1fr; gap:96px; align-items:center; }
.visitor-photo>img { width:100%; height:560px; object-fit:cover; border-radius:0 var(--radius-image) 0 0; object-position:48% 50%; }
.visitor-photo figcaption { margin-top:16px; color:var(--color-text-secondary); }
.visitor-copy .body-large { margin-top:24px; }
.task-links { margin-top:32px; border-top:1px solid var(--color-border); }
.task-links>a { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--color-border); padding:18px 0; font-size:22px; font-weight:600; gap:16px; }
.task-links small { display:block; color:var(--color-text-secondary); font-size:12px; font-weight:400; margin-bottom:4px; }
.task-links>a>span:last-child { font-size:22px; color:var(--color-primary); }
.task-links>a:hover { color:var(--color-primary); }

/* 05 / a typographic sector index, not a card wall */
.zones-section { border-top:1px solid var(--color-border); }
.zones-grid { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:80px; }
.section-heading>p:not(.eyebrow) { margin-top:24px; color:var(--color-text-secondary); }
.section-heading .text-link { margin-top:20px; }
.zone-list { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.zone-item { position:relative; isolation:isolate; overflow:hidden; border-top:1px solid var(--color-border); background:white; transition:background .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease); }
.zone-item:before { content:""; position:absolute; z-index:-1; inset:0; background-image:linear-gradient(115deg,rgba(181,31,36,.56),rgba(78,8,14,.7)),var(--zone-bg); background-position:center; background-size:cover; opacity:0; transform:scale(1.04); transition:opacity .35s var(--ease),transform .55s var(--ease); }
.zone-item summary { list-style:none; position:relative; display:flex; gap:16px; align-items:flex-start; padding:22px 20px; min-height:115px; cursor:pointer; }
summary::-webkit-details-marker { display:none; }
.zone-index { font-family:var(--font-number); font-size:12px; color:var(--color-text-secondary); margin-top:5px; }
.zone-name { flex:1; min-width:0; }
.zone-name strong { font-size:clamp(18px,1.45vw,22px); line-height:1.4; font-weight:600; display:block; }
.zone-name small { display:block; font-size:10px; letter-spacing:.1em; margin-top:8px; color:var(--color-text-secondary); }
.zone-toggle { font-size:22px; color:var(--color-primary); font-weight:400; }
.zone-item[open] .zone-toggle { transform:rotate(45deg); }
.zone-item[open] summary { min-height:0; padding-bottom:12px; }
.zone-item>p { margin:0; padding:0 20px 20px 50px; font-size:14px; color:var(--color-text-secondary); }
@media (hover:hover) {
  .zone-item:hover { color:white; border-color:transparent; box-shadow:0 18px 38px rgba(95,17,20,.18); transform:translateY(-2px); }
  .zone-item:hover:before { opacity:1; transform:scale(1); }
  .zone-item:hover .zone-index,.zone-item:hover .zone-name small,.zone-item:hover>p,.zone-item:hover .zone-toggle { color:rgba(255,255,255,.9); }
  .zone-item:hover .zone-name strong,.zone-item:hover>p { text-shadow:0 1px 12px rgba(40,0,0,.42); }
}
.zone-map { margin-top:56px; }
.zone-map .image-motion-frame { display:block; overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-image); background:#F3EEEE; }
.zone-map img { display:block; width:100%; height:auto; }
.zone-map figcaption { margin-top:12px; color:var(--color-text-secondary); font-size:12px; text-align:right; }

/* 06 / dark programme editorial */
.dark-section { background:var(--color-secondary); color:white; }
.dark-section .eyebrow { color:rgba(255,255,255,.67); }
.dark-section .section-top>p,.dark-section .caption { color:rgba(255,255,255,.7); }
.dark-section .text-link { color:white; }
.activities-grid { display:grid; grid-template-columns:5fr 7fr; gap:64px; align-items:start; }
.forum-photo>img { width:100%; height:440px; object-fit:cover; object-position:47% 50%; }
.forum-photo figcaption { color:rgba(255,255,255,.65); margin-top:16px; }
.activity-item { border-top:1px solid rgba(255,255,255,.22); }
.activity-item:last-child { border-bottom:1px solid rgba(255,255,255,.22); }
.activity-item summary { display:flex; gap:20px; cursor:pointer; list-style:none; padding:20px 0; align-items:flex-start; }
.activity-item summary>span:first-child { font-family:var(--font-number); font-size:12px; padding-top:5px; color:rgba(255,255,255,.65); }
.activity-title { flex:1; font-size:22px; font-weight:500; line-height:1.5; }
.activity-title small { display:block; font-size:11px; font-weight:400; line-height:1.5; color:rgba(255,255,255,.65); margin-top:6px; }
.activity-item summary>span:last-child { font-size:20px; }
.activity-item[open] summary>span:last-child { transform:rotate(45deg); }
.activity-item>p { color:rgba(255,255,255,.75); padding:0 32px 24px; font-size:14px; }
.dark-section .section-foot { border-top:1px solid rgba(255,255,255,.2); padding-top:24px; }
.programme-heading { max-width:1040px; }
.programme-heading h2 { white-space:nowrap; }
.programme-heading>p:not(.eyebrow) { max-width:920px; margin-top:24px; color:rgba(255,255,255,.72); font-size:18px; line-height:1.9; }
.conference-programme { display:grid; grid-template-columns:minmax(0,6.25fr) minmax(0,5.75fr); gap:56px; align-items:start; margin-top:56px; }
.programme-label { display:flex; align-items:center; gap:12px; margin-bottom:18px; color:rgba(255,255,255,.62); font:500 11px/1.4 var(--font-number); letter-spacing:.12em; }
.programme-label span { color:#F3CB82; }
.opening-conference figure { overflow:hidden; border-radius:8px; }
.opening-conference img { display:block; width:100%; height:auto; }
.opening-conference h3 { margin-bottom:20px; font-size:28px; line-height:1.4; }
.summit-directory { border-top:1px solid rgba(255,255,255,.24); }
.summit-directory>.programme-label { margin:0; padding:16px 0 18px; border-bottom:1px solid rgba(255,255,255,.24); }
.summit-directory-title { padding:22px 0; border-bottom:1px solid rgba(255,255,255,.24); font-size:28px; font-weight:600; }
.summit-table-head { display:grid; grid-template-columns:112px 1fr; gap:20px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.24); color:rgba(255,255,255,.54); font-size:11px; letter-spacing:.08em; }
.summit-group { display:grid; grid-template-columns:112px 1fr; gap:20px; border-bottom:1px solid rgba(255,255,255,.24); }
.summit-group>h3 { display:flex; align-items:center; align-self:stretch; padding:18px 0; font-size:17px; font-weight:500; color:#F3CB82; }
.summit-group li { display:grid; grid-template-columns:30px 1fr; gap:12px; padding:12px 0; border-top:1px solid rgba(255,255,255,.14); }
.summit-group li:first-child { border-top:0; }
.summit-group li>span { padding-top:3px; color:rgba(255,255,255,.48); font:400 11px/1.5 var(--font-number); }
.summit-group li>strong { font-size:15px; font-weight:500; line-height:1.55; }
.conference-programme+.section-foot { margin-top:42px; }

/* 07 / honest directory state */
.directory-section { padding-block:64px; border-bottom:1px solid var(--color-border); }
.directory-grid { display:grid; grid-template-columns:1fr 1fr; gap:112px; align-items:center; }
.directory-section h2 { font-size:32px; }
.status-label { display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--color-pending); }
.status-label>span { width:6px; height:6px; border-radius:50%; background:currentColor; }
.directory-note>p { color:var(--color-text-secondary); margin-top:16px; }
.directory-note .inline-actions { margin-top:16px; }

/* 08 / day-by-day state, no fabricated sessions */
.agenda-section { padding-bottom:80px; }
.agenda-grid { display:grid; grid-template-columns:8fr 4fr; gap:64px; }
.date-tabs { display:flex; border-bottom:1px solid var(--color-border); gap:32px; }
.date-tabs button { background:none; padding:12px 8px 20px; border-bottom:2px solid transparent; text-align:left; color:var(--color-text-secondary); flex:1; }
.date-tabs button strong { display:block; font:500 26px/1.2 var(--font-number); color:inherit; }
.date-tabs button small { font-size:12px; display:block; margin-top:8px; }
.date-tabs [aria-selected=true] { color:var(--color-primary); border-color:var(--color-primary); }
.schedule-panel { padding:36px 0 8px; }
.schedule-panel>p { font-size:18px; font-weight:500; margin-bottom:12px; }
.schedule-fields { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding:20px 0; border-top:1px solid var(--color-border); margin-top:24px; }
.schedule-fields span { display:block; font-size:12px; color:var(--color-text-secondary); margin-bottom:4px; }
.schedule-fields strong { font-size:14px; font-weight:400; }
.speaker-note { border-left:1px solid var(--color-border); padding-left:40px; }
.editorial-number { font-family:Georgia,serif; font-size:80px; color:var(--color-accent); font-style:italic; line-height:1; }
.speaker-note h3 { margin-top:20px; font-size:22px; }
.speaker-note p { color:var(--color-text-secondary); font-size:14px; margin-top:12px; }
.speaker-note .text-link { margin-top:16px; font-size:14px; }

/* 09 / an archive, with each photograph's actual year */
.history-section { background:white; }
.history-tabs { display:flex; position:relative; border-bottom:1px solid var(--color-border); margin-bottom:48px; }
.history-tabs button { flex:1; min-width:0; background:transparent; font:400 18px/1.4 var(--font-number); color:var(--color-text-secondary); padding:20px 0; border-bottom:2px solid transparent; }
.history-tabs [aria-selected=true] { color:var(--color-primary); border-color:transparent; font-weight:600; }
.history-tabs-indicator { position:absolute; bottom:0; left:0; height:2px; width:0; background:var(--color-primary); transition:transform .4s var(--ease, ease), width .4s var(--ease, ease); }
.history-select-label { display:none; }
.history-panel { display:grid; grid-template-columns:minmax(0,7fr) minmax(320px,5fr); gap:56px; align-items:center; }
.history-panel.is-entering { animation:historySlideIn .5s var(--ease, ease) both; }
@keyframes historySlideIn { from { opacity:0; transform:translateX(var(--slide-from, 40px)); } to { opacity:1; transform:translateX(0); } }
@media (prefers-reduced-motion:reduce) { .history-panel.is-entering { animation:none; } }
.history-visual .image-motion-frame { display:block; width:100%; background:transparent; border-radius:8px; }
.history-visual .image-motion-frame>img { display:block; width:100%; height:auto; }
.history-panel figcaption { color:var(--color-text-secondary); margin-top:12px; }
.history-year { font:500 80px/1 var(--font-number); letter-spacing:-.05em; }
.history-copy .eyebrow { margin-top:22px; margin-bottom:18px; font-size:17px; font-weight:600; letter-spacing:.05em; }
.history-copy h3 { font-size:28px; margin-bottom:20px; }
.history-copy>p:not(.eyebrow) { color:var(--color-text-secondary); }
.history-copy .text-link { margin-top:20px; }
.history-typography { min-height:360px; display:flex; flex-direction:column; justify-content:center; padding:56px; border-left:4px solid var(--color-primary); background:var(--color-bg); }
.history-typography>span { font:400 110px/1 var(--font-number); letter-spacing:-.05em; }
.history-typography>p { margin-top:20px; font-size:28px; }
.history-typography>small { font-size:12px; color:var(--color-text-secondary); margin-top:24px; }
.case-evidence { margin-top:48px; padding-top:32px; border-top:1px solid var(--color-border); }
.case-evidence .eyebrow { font-size:12px; }
.case-evidence>a { display:grid; grid-template-columns:160px 1fr 120px 24px; gap:24px; padding:18px 0; align-items:center; border-top:1px solid var(--color-border); }
.case-evidence>a strong { font-size:20px; font-weight:600; }
.case-evidence>a span,.case-evidence>a time { color:var(--color-text-secondary); font-size:14px; }
.case-evidence>a>span:last-child { color:var(--color-primary); font-size:22px; }
.case-evidence>a:hover strong { color:var(--color-primary); }
.case-evidence>p:last-child { margin-top:16px; }

/* 10 / news and insight editorial */
.content-tabs { display:flex; gap:24px; border-bottom:1px solid var(--color-border); }
.content-tabs>button { background:none; min-height:48px; padding:12px 4px; color:var(--color-text-secondary); border-bottom:2px solid transparent; }
.content-tabs>[aria-selected=true] { color:var(--color-primary); border-color:var(--color-primary); font-weight:600; }
.content-panel { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:64px; }
.story-image { display:block; position:relative; overflow:hidden; }
.story-image>img { width:100%; aspect-ratio:16/9; object-fit:cover; transition:transform .25s var(--ease); }
.story-image>span { position:absolute; bottom:12px; left:12px; background:var(--color-secondary); color:white; padding:4px 10px; font-size:11px; }
.story-image:hover>img { transform:scale(1.02); }
.story-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:12px; color:var(--color-text-secondary); margin-top:20px; margin-bottom:14px; }
.story-meta>span:first-child { color:var(--color-primary); }
.featured-story h3 { font-size:26px; }
.featured-story p { margin-top:12px; color:var(--color-text-secondary); }
.story-list>article { padding:0 0 28px; border-top:1px solid var(--color-border); }
.story-list>article+article { padding-top:12px; }
.story-list h3 { font-size:24px; }
.story-list p { margin-top:12px; font-size:14px; color:var(--color-text-secondary); }
.story-list .text-link { font-size:14px; margin-top:12px; }
.story-list h3 a:hover,.featured-story h3 a:hover { color:var(--color-primary); }
.insight-quote { display:flex; flex-direction:column; justify-content:space-between; min-height:390px; padding:40px; background:var(--color-secondary); color:white; }
.insight-quote>span { font-size:12px; letter-spacing:.08em; color:rgba(255,255,255,.7); }
.insight-quote>strong { font-size:56px; line-height:1.3; }
.insight-copy { align-self:center; }
.insight-copy h3 { font-size:30px; margin:24px 0; }
.insight-copy p { margin-bottom:20px; }

/* 11 / a real, native FAQ */
.guide-section { border-top:1px solid var(--color-border); }
.guide-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:96px; }
.venue-box { margin-top:40px; padding-left:24px; border-left:2px solid var(--color-primary); }
.venue-box>span { color:var(--color-text-secondary); }
.venue-box h3 { margin-top:8px; font-size:22px; }
.venue-box p { font-size:14px; color:var(--color-text-secondary); margin-top:12px; }
.venue-box .text-link { background:none; padding:0; font-size:14px; margin-top:12px; }
.faq-list>details { border-top:1px solid var(--color-border); }
.faq-list>details:last-child { border-bottom:1px solid var(--color-border); }
.faq-list summary { list-style:none; padding:22px 36px 22px 0; position:relative; cursor:pointer; font-weight:500; font-size:18px; }
.faq-list summary:after { content:"+"; position:absolute; right:0; top:20px; color:var(--color-primary); font-weight:400; font-size:22px; }
.faq-list details[open] summary:after { content:"−"; }
.faq-list details[open] summary { color:var(--color-primary); }
.faq-list details>p,
.faq-list details .faq-answer>p { color:var(--color-text-secondary); font-size:15px; padding:0 28px 24px 0; }
/* 用原生 ::details-content 伪元素做展开/收起双向平滑过渡（配合 html 的 interpolate-size:allow-keywords） */
.faq-list details::details-content { height:0; overflow:hidden; transition:height .35s var(--ease, ease), content-visibility .35s allow-discrete; }
.faq-list details[open]::details-content { height:auto; }
.faq-list p>a { color:var(--color-primary); text-decoration:underline; text-underline-offset:4px; }

/* 12 / decisive business action */
.final-cta { background:var(--color-primary); color:white; padding-block:80px; }
.final-cta .eyebrow { color:rgba(255,255,255,.77); font-size:12px; }
.final-cta h2 { font-size:48px; }
.final-choices { display:grid; grid-template-columns:1fr 1fr; gap:80px; margin-top:48px; }
.final-choices>div { border-top:1px solid rgba(255,255,255,.4); padding-top:24px; }
.final-choices .caption { font-size:11px; letter-spacing:.1em; color:rgba(255,255,255,.75); }
.final-choices h3 { margin-top:12px; }
.final-choices p { margin-top:12px; color:rgba(255,255,255,.8); }
.final-choices .button { margin-top:24px; min-width:196px; justify-content:space-between; }

/* Footer and general feedback */
.site-footer { background:rgb(166,20,27); color:#fff; padding-top:44px; }
.site-footer .container { max-width:1040px; }
.footer-grid { display:grid; grid-template-columns:1.6fr .8fr .9fr 1.2fr; gap:48px; padding-bottom:36px; }
.footer-brand>img { width:180px; height:auto; filter:brightness(0) invert(1); }
.footer-brand>p { color:rgba(255,255,255,.82); margin-top:24px; }
.footer-brand .caption { font-size:12px; line-height:1.55; color:rgba(255,255,255,.72); margin-top:28px; max-width:320px; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; }
.footer-column h2 { font-size:15px; line-height:1.6; font-weight:600; margin-bottom:20px; letter-spacing:0; color:#fff; }
.footer-column>a { min-height:40px; display:flex; align-items:center; font-size:14px; color:rgba(255,255,255,.82); }
.footer-column>a:hover { color:#FFE3A3; }
.footer-contact .caption { display:block; font-size:15px; color:rgba(255,255,255,.72); margin-bottom:5px; }
.footer-grid .footer-contact>a { min-height:0; }
.footer-contact .phone { font:400 15px/1.6 var(--font-sans); color:#fff; margin-bottom:6px; white-space:nowrap; }
.footer-contact .text-link { margin-top:0; font-size:15px; color:#fff; }
.footer-bottom { display:flex; gap:24px; justify-content:space-between; border-top:1px solid rgba(255,255,255,.2); padding-block:24px; font-size:11px; color:rgba(255,255,255,.72); }
.footer-bottom>div { display:flex; gap:20px; flex-wrap:wrap; }
.toast { position:fixed; bottom:90px; left:50%; transform:translateX(-50%); background:var(--color-secondary); color:white; border:1px solid rgba(255,255,255,.2); border-radius:8px; padding:14px 24px; z-index:100; width:max-content; max-width:calc(100% - 40px); font-size:14px; box-shadow:0 8px 24px #0002; }
.mobile-action-bar { display:none; }
/* 返回顶部浮动按钮：简约圆形上箭头，滚动一屏后右下角淡入 */
.to-top { position:fixed; right:24px; bottom:24px; z-index:50; width:46px; height:46px; border-radius:50%; display:grid; place-items:center; background:var(--color-surface); color:var(--color-secondary); border:1px solid var(--color-border); box-shadow:0 8px 24px rgba(23,33,43,.16); cursor:pointer; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(12px); transition:opacity .3s var(--ease), transform .3s var(--ease), background .25s, color .25s, box-shadow .25s; }
.to-top svg { width:22px; height:22px; display:block; }
.to-top.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.to-top:hover { background:var(--color-primary); color:#fff; box-shadow:0 10px 28px rgba(181,31,36,.32); }
.to-top:focus-visible { outline:2px solid var(--color-primary); outline-offset:3px; }
@media (max-width:768px) { .to-top { right:16px; bottom:calc(78px + env(safe-area-inset-bottom)); } }

/* Supporting routes share typography, tokens, facts and forms. */
.page-hero { padding:56px 0 64px; background:var(--color-secondary); color:white; }
.breadcrumbs { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:40px; font-size:13px; color:rgba(255,255,255,.7); }
.page-hero .eyebrow { color:rgba(255,255,255,.7); }
.page-hero h1 { font-size:48px; line-height:1.3; }
.page-hero .lead { font-size:24px; margin-top:20px; }
.page-hero .sub-facts { font-size:16px; margin-top:20px; color:rgba(255,255,255,.75); }
.page-hero .button { margin-top:32px; }
.page-hero--primary { background:var(--color-primary); color:white; }
.page-hero--primary .breadcrumbs { color:rgba(255,255,255,.8); }
.page-hero--primary .breadcrumbs a:hover { color:white; }
.page-hero--primary .eyebrow { color:rgba(255,255,255,.85); }
.page-hero--primary .sub-facts { color:rgba(255,255,255,.85); }
.page-hero--primary .button-outline { border-color:rgba(255,255,255,.7); color:white; }
.page-hero--primary .button-primary { background:white; color:var(--color-primary); border-color:white; }
.page-hero--primary .button-primary:hover { background:rgba(255,255,255,.86); border-color:rgba(255,255,255,.86); color:var(--color-primary); }
.service-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.service-layout h2 { font-size:32px; margin-bottom:24px; }
.service-layout p { color:var(--color-text-secondary); margin-bottom:20px; }
.service-list { display:grid; gap:24px; margin-block:32px; }
.service-list li { border-top:1px solid var(--color-border); padding-top:20px; }
.service-list h3 { font-size:20px; margin-bottom:8px; }
.service-list p { font-size:15px; }
.form-panel { background:white; padding:40px; border-top:3px solid var(--color-primary); }
.form-panel.qr-panel { background:var(--color-bg); }
.form-panel h2 { font-size:26px; }
.form-panel .qr-code { display:block; width:100%; max-width:260px; height:auto; margin:0 auto 20px; padding:10px; background:white; border:1px solid var(--color-border); border-radius:12px; }
.preview-note { color:var(--color-pending) !important; background:var(--color-pending-bg); border-left:2px solid var(--color-pending); padding:12px 16px; font-size:14px; }
.service-form { display:grid; gap:20px; }
.field>label { display:block; margin-bottom:8px; font-size:14px; font-weight:500; }
.field input,.field select,.field textarea { width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--color-control-border); border-radius:6px; background:white; color:var(--color-text); font-size:16px; }
.field textarea { min-height:120px; resize:vertical; }
.field .field-error { color:var(--color-error); font-size:13px; margin-top:6px; margin-bottom:0; }
.field [aria-invalid=true] { border-color:var(--color-error); background:var(--color-error-bg); }
.form-note { font-size:13px; }
.form-feedback { padding:16px; border-left:2px solid var(--color-pending); background:var(--color-pending-bg); color:var(--color-pending); }
.form-feedback h3 { font-size:18px; margin-bottom:8px; }
.form-feedback p { font-size:14px; color:inherit; margin:0; }
.official-links { border-top:1px solid var(--color-border); padding-top:24px; margin-top:24px; }
.official-links p { font-size:13px; margin-bottom:8px; }
.official-links .text-link { font-size:14px; }
.annual-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; }
.annual-layout>* { min-width:0; }
.annual-layout h2 { font-size:30px; margin-bottom:24px; }
.fact-table { margin:0; }
.fact-table>div { display:grid; grid-template-columns:110px 1fr; gap:20px; border-top:1px solid var(--color-border); padding-block:16px; }
.fact-table dt { color:var(--color-text-secondary); font-size:14px; }
.fact-table dd { margin:0; }
.annual-block { margin-top:48px; }
.annual-block h3 { margin-bottom:16px; }
.annual-block ul li { margin:12px 0; padding-left:18px; position:relative; }
.annual-block ul li:before { content:""; position:absolute; width:4px; height:4px; background:var(--color-primary); left:0; top:12px; }

/* 大会介绍图集：“品”字式轮播，上方大图、下方缩略图条 */
.intro-gallery { --intro-thumb-width:104px; }
.intro-gallery__stage { position:relative; display:grid; place-items:center; aspect-ratio:16/9; background:var(--color-section-cream); border:1px solid var(--color-border); border-radius:var(--radius-image); overflow:hidden; touch-action:pan-y; }
.intro-gallery__viewport { position:absolute; inset:0; z-index:0; overflow:hidden; }
.intro-gallery__track { position:absolute; inset:0; }
.intro-gallery__image { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; transition:transform .45s var(--ease); will-change:transform; }
.intro-gallery__nav { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(255,255,255,.5); background:rgba(41,35,33,.5); color:#fff; font-size:26px; line-height:1; transition:background .18s,border-color .18s; }
.intro-gallery__nav:hover { background:var(--color-primary); border-color:var(--color-primary); }
.intro-gallery__nav--prev { left:14px; }
.intro-gallery__nav--next { right:14px; }
.intro-gallery__counter { position:absolute; right:16px; bottom:14px; padding:4px 14px; border-radius:999px; background:rgba(41,35,33,.6); color:#fff; font:600 13px/1.6 var(--font-number); letter-spacing:.04em; }
.intro-gallery__thumbs { margin-top:16px; display:flex; gap:10px; width:100%; max-width:100%; min-width:0; overflow-x:auto; overscroll-behavior-inline:contain; scroll-behavior:smooth; padding-bottom:8px; scrollbar-width:thin; }
.intro-gallery__thumb { flex:0 0 auto; width:var(--intro-thumb-width); padding:0; border:2px solid transparent; border-radius:6px; background:var(--color-surface); overflow:hidden; opacity:.55; transition:opacity .18s,border-color .18s; }
.intro-gallery__thumb img { width:100%; height:70px; object-fit:cover; }
.intro-gallery__thumb:hover { opacity:1; }
.intro-gallery__thumb.is-active { opacity:1; border-color:var(--color-primary); }

@media (min-width:1600px) {
  :root { --container:1440px; --gutter:64px; --section-space:112px; }
  .brand-edition { display:block; }
  .main-nav { gap:28px; }
}
@media (max-width:1199px) {
  :root { --header-height:72px; --section-space:72px; }
  h2 { font-size:34px; }
  .body-large { font-size:18px; }
  .header-inner { gap:16px; }
  .menu-toggle { display:block; }
  .main-nav { display:none; }
  .main-nav.is-open { display:flex; position:fixed; left:0; right:0; top:var(--header-height); bottom:0; background:var(--color-bg); padding:24px var(--gutter) 32px; flex-direction:column; align-items:stretch; gap:0; overflow-y:auto; }
  .main-nav.is-open>a { border-bottom:1px solid var(--color-border); min-height:62px; font-size:20px; }
  .main-nav.is-open .nav-group { flex-wrap:wrap; justify-content:space-between; border-bottom:1px solid var(--color-border); min-height:62px; }
  .main-nav.is-open .nav-group>a { flex:1; font-size:20px; min-height:62px; }
  .nav-toggle { width:48px; height:48px; }
  .nav-submenu { position:static; flex-basis:100%; box-shadow:none; border:0; background:none; padding:0 0 16px 12px; }
  .nav-submenu a { padding-left:0; font-size:16px; }
  .header-actions { margin:32px 0 0; gap:16px; }
  .header-actions .button { flex:1; font-size:16px; min-height:48px; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .intro-grid,.value-grid,.visitor-grid,.zones-grid,.activities-grid,.directory-grid,.guide-grid { gap:48px; }
  .intro-grid { grid-template-columns:1fr 1fr; }
  .stat strong { font-size:52px; }
  .stat p { min-width:124px; font-size:14px; }
  .stat p span { font-size:11px; }
  .stat>div>span { font-size:16px; }
  .value-grid { grid-template-columns:1fr 1fr; }
  .value-photo img { height:530px; }
  .visitor-photo>img { height:520px; }
  .zone-list { gap:0 24px; }
  .zone-name strong { font-size:20px; }
  .activities-grid { grid-template-columns:1fr 1fr; }
  .forum-photo>img { height:420px; }
  .activity-title { font-size:20px; }
  .agenda-grid { gap:40px; }
  .speaker-note { padding-left:32px; }
  .history-tabs button { font-size:16px; }
  .history-panel { gap:40px; grid-template-columns:1.5fr 1fr; }
  .history-year { font-size:64px; }
  .history-copy h3 { font-size:24px; }
  .content-panel { gap:40px; }
  .featured-story h3,.story-list h3 { font-size:22px; }
  .footer-grid { grid-template-columns:1.4fr .8fr .9fr; gap:32px; }
  .footer-contact { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; align-items:center; row-gap:6px; }
  .footer-contact h2 { grid-column:1/-1; margin-bottom:12px; }
  .footer-contact .phone { margin:0; }
  .footer-contact .text-link { grid-column:1/-1; }
  .footer-bottom { flex-wrap:wrap; font-size:11px; }
  .service-layout { gap:40px; }
  .form-panel { padding:28px; }
}
@media (min-width:768px) and (max-width:1023px) {
  :root { --gutter:32px; --section-space:64px; }
  .intro-grid { gap:40px; }
  .stat { flex-direction:column; align-items:flex-start; gap:8px; padding-block:18px; }
  .stat p { min-width:0; }
  .stat p br { display:none; }
  .stat p span { margin-left:12px; }
  .stat strong { font-size:44px; }
  .value-grid,.visitor-grid { gap:32px; }
  .value-photo img { height:580px; }
  .visitor-photo>img { height:540px; }
  .evidence-strip { flex-wrap:wrap; gap:8px 24px; }
  .evidence-strip .text-link { margin-left:0; }
  .zones-grid { grid-template-columns:1fr 1.5fr; gap:32px; }
  .zone-list { grid-template-columns:1fr; }
  .zone-item summary { min-height:80px; }
  .zone-name strong { font-size:20px; }
  .section-top { gap:32px; }
  .section-top>p { max-width:250px; }
  .activities-grid { gap:32px; }
  .conference-programme { grid-template-columns:1fr; gap:48px; }
  .activity-title { font-size:18px; }
  .directory-grid { gap:40px; }
  .directory-section h2 { font-size:28px; }
  .agenda-grid { grid-template-columns:1.6fr 1fr; gap:32px; }
  .date-tabs { gap:16px; }
  .date-tabs button strong { font-size:22px; }
  .speaker-note { padding-left:24px; }
  .history-panel { grid-template-columns:1.2fr 1fr; }
  .history-copy h3 { font-size:22px; }
  .history-tabs button { font-size:14px; }
  .case-evidence>a { grid-template-columns:100px 1fr 100px 20px; gap:16px; }
  .content-panel { grid-template-columns:1.1fr 1fr; gap:32px; }
  .featured-story h3,.story-list h3 { font-size:20px; }
  .guide-grid { gap:40px; }
  .faq-list summary { font-size:16px; }
  .final-choices { gap:40px; }
  .service-layout,.annual-layout { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  :root { --header-height:64px; --gutter:20px; --section-space:56px; }
  html { scroll-padding-top:84px; }
  h2 { font-size:28px; line-height:1.35; }
  h3 { font-size:20px; }
  .body-large { font-size:18px; line-height:1.65; }
  .eyebrow { font-size:11px; margin-bottom:20px; letter-spacing:.07em; }
  .brand>img { width:146px; }
  .header-inner { gap:8px; }
  .fact-label { font-size:11px; white-space:nowrap; }
  .intro { padding-block:48px; }
  .intro-grid { grid-template-columns:1fr; gap:32px; }
  .intro .body-large { margin-top:20px; }
  .intro .text-link { margin-top:12px; }
  .facts-block { padding-top:0; }
  .stat { flex-direction:row; gap:16px; padding-block:20px; align-items:center; }
  .stat strong { font-size:48px; }
  .stat>div>span { font-size:16px; margin-left:4px; }
  .stat p { min-width:130px; font-size:14px; }
  .stat p span { font-size:11px; }
  .value-grid,.visitor-grid { grid-template-columns:1fr; gap:32px; }
  .value-copy .body-large { margin-top:20px; }
  .value-steps { margin-top:24px; }
  .value-steps li { padding-block:16px; }
  .value-steps p { font-size:14px; }
  .value-photo { padding-top:0; }
  .value-photo img { height:auto; aspect-ratio:4/3; border-radius:8px 0 0 0; }
  .value-photo figcaption { padding-top:12px; font-size:11px; }
  .photo-corner { width:40px; height:40px; left:-8px; bottom:40px; border-width:2px; }
  .evidence-strip { flex-direction:column; align-items:flex-start; margin-top:32px; padding-top:20px; gap:12px; }
  .evidence-strip .text-link { margin-left:0; }
  .visitor-copy { grid-row:1; }
  .visitor-copy .body-large { margin-top:20px; }
  .visitor-photo>img { height:auto; aspect-ratio:4/3; border-radius:0 8px 0 0; }
  .visitor-photo figcaption { font-size:11px; margin-top:12px; }
  .task-links { margin-top:24px; }
  .task-links>a { font-size:20px; padding-block:16px; }
  .zones-grid { grid-template-columns:1fr; gap:32px; }
  .zone-map { margin-top:32px; }
  .zone-map figcaption { font-size:11px; text-align:left; }
  .section-heading>p:not(.eyebrow) { margin-top:20px; }
  .section-heading>p br { display:none; }
  .section-heading .text-link { margin-top:12px; }
  .section-heading>p.caption { font-size:12px; margin-top:12px; }
  .zone-list { grid-template-columns:1fr; gap:0; }
  .zone-item summary { min-height:82px; padding-block:20px; }
  .zone-name strong { font-size:20px; }
  .zone-name small { font-size:10px; margin-top:6px; }
  .zone-item:last-child { border-bottom:1px solid var(--color-border); }
  .section-top { display:block; margin-bottom:32px; }
  .section-top>p { margin-top:20px; max-width:none; font-size:15px; }
  .section-top>p br { display:none; }
  .activities-grid { display:flex; flex-direction:column-reverse; gap:32px; }
  .activity-list { width:100%; }
  .activity-item summary { gap:14px; padding-block:20px; }
  .activity-title { font-size:20px; }
  .activity-title small { font-size:11px; }
  .activity-item>p { padding-inline:28px; }
  .forum-photo>img { height:auto; aspect-ratio:3/2; object-fit:cover; }
  .forum-photo figcaption { font-size:11px; margin-top:12px; }
  .section-foot { display:block; margin-top:28px; }
  .section-foot .caption { font-size:12px; }
  .section-foot .text-link { margin-top:12px; font-size:14px; }
  .directory-section { padding-block:40px; }
  .directory-grid { grid-template-columns:1fr; gap:24px; }
  .directory-section h2 { font-size:28px; }
  .directory-note>p { font-size:15px; margin-top:12px; }
  .directory-note .inline-actions { gap:12px 28px; margin-top:12px; }
  .directory-note .text-link { font-size:14px; }
  .agenda-grid { grid-template-columns:1fr; gap:28px; }
  .date-tabs { gap:12px; }
  .date-tabs button { padding:12px 4px 16px; }
  .date-tabs button strong { font-size:24px; }
  .date-tabs button small { font-size:11px; }
  .schedule-panel { padding-block:24px 0; }
  .schedule-panel>p { font-size:17px; }
  .schedule-panel .caption { font-size:14px; }
  .schedule-fields { gap:12px; padding-block:16px; margin-top:20px; }
  .schedule-fields strong { font-size:13px; }
  .speaker-note { border:0; border-top:1px solid var(--color-border); padding:24px 0 0; }
  .editorial-number { display:none; }
  .speaker-note h3 { margin-top:0; font-size:20px; }
  .speaker-note p { font-size:14px; }
  .speaker-note .text-link { margin-top:12px; }
  .programme-heading>p:not(.eyebrow) { margin-top:18px; font-size:15px; line-height:1.75; }
  .conference-programme { grid-template-columns:1fr; margin-top:36px; gap:38px; }
  .opening-conference h3 { margin-bottom:14px; font-size:22px; }
  .summit-table-head { display:none; }
  .summit-group { grid-template-columns:1fr; gap:0; }
  .summit-directory-title { padding:18px 0; font-size:22px; }
  .summit-group>h3 { display:block; padding:16px 0 10px; font-size:15px; }
  .summit-group li { padding:13px 0; }
  .summit-group li>strong { font-size:15px; }
  .conference-programme+.section-foot { margin-top:32px; }
  .history-tabs { display:none; }
  .history-select-label { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); padding-block:14px; font-size:14px; margin-bottom:28px; }
  .history-select-label select { border:1px solid var(--color-control-border); background:white; min-height:44px; min-width:130px; border-radius:6px; padding:8px 12px; color:var(--color-text); font-size:16px; }
  .history-panel { grid-template-columns:1fr; gap:24px; }
  .history-panel figcaption { font-size:11px; }
  .history-year { font-size:56px; }
  .history-copy .eyebrow { margin-top:16px; margin-bottom:14px; font-size:15px; }
  .history-copy h3 { font-size:24px; margin-bottom:16px; }
  .history-copy>p:not(.eyebrow) { font-size:15px; }
  .history-copy .text-link { margin-top:12px; font-size:14px; }
  .history-typography { min-height:240px; padding:32px; grid-row:2; }
  .history-typography>span { font-size:80px; }
  .history-typography>p { font-size:24px; }
  .case-evidence { margin-top:32px; padding-top:24px; }
  .case-evidence>a { grid-template-columns:1fr auto 16px; gap:8px 12px; padding-block:18px; }
  .case-evidence>a strong { font-size:20px; }
  .case-evidence>a>span:nth-child(2) { grid-row:2; grid-column:1/3; font-size:13px; }
  .case-evidence>a>time { font-size:12px; }
  .case-evidence>a>span:last-child { grid-column:3; grid-row:1/3; }
  .case-evidence>p:last-child { font-size:12px; }
  .content-tabs { width:max-content; margin-top:24px; }
  .content-panel { grid-template-columns:1fr; gap:28px; }
  .featured-story h3 { font-size:24px; }
  .featured-story>p { font-size:15px; }
  .story-list>article { padding-bottom:20px; }
  .story-list h3 { font-size:22px; }
  .story-list .text-link { margin-top:8px; }
  .insight-quote { min-height:300px; padding:28px; }
  .insight-quote>strong { font-size:48px; }
  .insight-copy h3 { font-size:26px; }
  .guide-grid { grid-template-columns:1fr; gap:32px; }
  .venue-box { margin-top:28px; padding-left:20px; }
  .venue-box h3 { font-size:20px; }
  .faq-list summary { font-size:16px; padding-block:20px; }
  .faq-list details>p,
.faq-list details .faq-answer>p { font-size:14px; }
  .final-cta { padding-block:56px; }
  .final-cta h2 { font-size:30px; }
  .final-cta .eyebrow { font-size:10px; }
  .final-choices { grid-template-columns:1fr; gap:28px; margin-top:32px; }
  .final-choices>div { padding-top:24px; }
  .final-choices h3 { font-size:22px; }
  .final-choices p { font-size:14px; }
  .final-choices .button { margin-top:20px; min-width:0; width:100%; }
  .site-footer { padding-top:40px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px 24px; padding-bottom:32px; }
  .footer-brand { grid-column:1/-1; }
  .footer-brand>img { width:160px; }
  .footer-brand>p { margin-top:20px; font-size:15px; }
  .footer-brand .caption { margin-top:16px; font-size:12px; }
  .footer-column h2 { font-size:14px; margin-bottom:12px; }
  .footer-column>a { min-height:44px; }
  .footer-contact { grid-template-columns:1fr; border-top:1px solid var(--color-border); padding-top:24px; }
  .footer-contact h2 { margin-bottom:16px; }
  .footer-contact .phone { margin-bottom:6px; }
  .footer-contact .text-link { margin-top:0; }
  .footer-bottom { display:block; padding-block:20px 28px; line-height:1.8; }
  .footer-bottom>div { display:flex; flex-direction:column; gap:4px; margin:12px 0; }
  .mobile-action-bar { position:fixed; bottom:0; left:0; right:0; display:grid; grid-template-columns:1fr 1fr; gap:1px; z-index:40; background:white; box-shadow:0 -2px 20px #17212b12; padding:8px 20px calc(8px + env(safe-area-inset-bottom)); }
  .mobile-action-bar>a { min-height:44px; display:flex; justify-content:center; align-items:center; gap:32px; font-size:15px; font-weight:600; border:1px solid var(--color-primary); color:var(--color-primary); }
  .mobile-action-bar>a:first-child { background:var(--color-primary); color:white; border-radius:6px 0 0 6px; }
  .mobile-action-bar>a:last-child { border-radius:0 6px 6px 0; }
  .page-hero { padding:28px 0 40px; }
  .breadcrumbs { margin-bottom:24px; font-size:12px; gap:8px; }
  .page-hero h1 { font-size:30px; }
  .service-title { display:block; margin-top:8px; }
  .page-hero .lead { font-size:20px; }
  .page-hero .sub-facts { font-size:14px; }
  .service-layout,.annual-layout { grid-template-columns:1fr; gap:32px; }
  .service-layout h2,.annual-layout h2 { font-size:26px; }
  .form-panel { padding:24px 20px; }
  .form-panel h2 { font-size:24px; }
  .service-form { gap:20px; }
  .fact-table>div { grid-template-columns:80px 1fr; gap:16px; }
  .fact-table dd { font-size:15px; }
  .intro-gallery { --intro-thumb-width:84px; }
  .intro-gallery__thumb img { height:58px; }
  .intro-gallery__nav { width:38px; height:38px; font-size:22px; }
}
@media (prefers-reduced-motion:reduce) { .intro-gallery__thumbs { scroll-behavior:auto; } .intro-gallery__image { transition:none; } }
@media (max-width:389px) {
  :root { --section-space:48px; }
  .stat strong { font-size:40px; }
}
@media (max-width:350px) {
  .stat { flex-wrap:wrap; }
}
/* QA: keep meaningful captions readable on phones; decorative English stays quiet. */
@media (max-width:767px) {
  .fact-label,.hero-photo figcaption,.value-photo figcaption,.visitor-photo figcaption,
  .forum-photo figcaption,.history-panel figcaption,.stat p span,.section-heading>p.caption,
  .section-foot .caption,.activity-title small,.date-tabs button small,.story-meta,
  .case-evidence>p:last-child,.schedule-fields span,.footer-brand .caption { font-size:14px; }
  .stat p { min-width:146px; }
  .footer-bottom { font-size:12px; }
  .value-photo figcaption { flex-wrap:wrap; gap:4px 16px; }
}
.button:disabled { opacity:.55; cursor:not-allowed; }
.no-js [role="tablist"],.no-js .history-select-label,.no-js .menu-toggle { display:none; }
.no-js [role="tabpanel"][hidden] { display:grid !important; margin-top:32px; }
.no-js .schedule-panel[hidden] { display:block !important; }
@media (max-width:1199px) {
  .no-js .site-header { height:auto; position:static; }
  .no-js .header-inner { display:block; padding-block:16px; }
  .no-js .main-nav { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:16px; }
  .no-js .header-actions { margin:0; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation-duration:.01ms !important; transition-duration:.01ms !important; animation-iteration-count:1 !important; }
}
@media print {
  .site-header,.mobile-action-bar,.menu-toggle,.toast,.to-top { display:none !important; }
  .hero,.dark-section,.final-cta { background:white; color:black; }
  .section { padding-block:24px; }
  details>p { display:block; }
}

/* Full-width moving cover. Text remains live HTML above the archival event footage. */
.hero { background:var(--color-surface); }
.campaign-video { position:relative; height:clamp(500px,calc(100svh - 260px),720px); min-height:500px; overflow:hidden; background:#521012; color:white; isolation:isolate; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.015); }
.hero-video-overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(32,8,9,.78) 0%,rgba(60,7,10,.55) 34%,rgba(46,9,10,.18) 67%,rgba(18,7,6,.3) 100%),linear-gradient(0deg,rgba(25,8,7,.44),transparent 40%); }
.hero-video-copy { position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding-block:56px; text-shadow:0 2px 20px rgba(0,0,0,.32); }
.hero-video-kicker { display:flex; align-items:center; gap:12px; margin-bottom:22px; font-size:13px; font-weight:600; letter-spacing:.12em; color:#F4D7A6; }
.hero-video-kicker::before { content:""; width:36px; height:2px; background:#E8B45F; }
.hero-video-theme { font-size:clamp(46px,5.1vw,78px); font-weight:700; line-height:1.12; letter-spacing:-.045em; }
.hero-video-name { margin-top:22px; font-size:clamp(24px,2.1vw,34px); font-weight:600; letter-spacing:.015em; }
.hero-video-meta { display:flex; gap:18px; align-items:center; margin-top:24px; font-size:17px; }
.hero-video-meta time { font:600 21px/1.4 var(--font-number); }
.hero-video-meta span { padding-left:18px; border-left:1px solid rgba(255,255,255,.5); }
.hero-summary { border-bottom:1px solid var(--color-border); background:linear-gradient(110deg,#fff 40%,#FCF4E9); }
.hero-summary-grid { display:grid; grid-template-columns:1.2fr 1fr auto; align-items:center; gap:32px; padding-block:28px; }
.hero h1 { font-size:26px; line-height:1.35; letter-spacing:-.02em; }
.hero-name { display:block; }
.hero-formal { display:block; margin-top:7px; font-size:14px; font-weight:500; letter-spacing:0; }
.hero-organizers { font-size:13px; color:var(--color-text-secondary); margin-top:10px; }
.hero-facts { display:flex; flex-direction:column; gap:8px; padding-left:28px; border-left:1px solid var(--color-border); }
.hero-facts>div { display:flex; gap:16px; align-items:baseline; }
.fact-label { color:var(--color-text-secondary); font-size:13px; flex:none; }
.hero-facts strong { font-size:17px; font-weight:600; }
.hero-facts time strong { font:600 22px/1.4 var(--font-number); letter-spacing:-.02em; }
.hero-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; }
.hero-actions .button { padding:12px 20px; gap:20px; }
.hero-actions .button-outline { border-color:var(--color-primary); color:var(--color-primary); }
.hero-actions .button-outline:hover { background:var(--color-primary); color:white; }
.hero-detail-link { grid-column:1/-1; justify-self:center; display:flex; align-items:center; gap:20px; min-height:32px; font-size:13px; color:var(--color-text-secondary); }
.hero-detail-link:hover { color:var(--color-primary); }
.selection-poster img { width:100%; height:auto; border-radius:8px; }
.selection-poster figcaption { margin-top:10px; color:#DDD0C4; }
.selection-date { color:#F0C78F; font-size:14px; margin-top:28px; }
.selection-feature h3 { margin-top:8px; }
.selection-feature>p:not(.selection-date) { margin-top:14px; color:#DDD0C4; font-size:15px; }
.selection-feature .text-link { margin-top:16px; }
@media (min-width:1600px) { .hero h1 { font-size:30px; } .hero-formal { font-size:16px; } }
@media (min-width:768px) and (max-width:1199px) {
  .hero-summary-grid { grid-template-columns:1fr auto; gap:20px 32px; }
  .hero-identity { grid-row:1/3; }
  .hero-facts { padding-left:0; border:0; }
  .hero-actions { grid-column:2; }
  .campaign-video { height:clamp(460px,calc(100svh - 250px),620px); min-height:460px; }
}
@media (max-width:767px) {
  .campaign-video { height:clamp(300px,76vw,390px); min-height:300px; }
  .hero-video { object-position:center; transform:scale(1.02); }
  .hero-video-overlay { background:linear-gradient(90deg,rgba(36,6,8,.8),rgba(50,7,9,.3) 78%),linear-gradient(0deg,rgba(24,5,6,.5),transparent 55%); }
  .hero-video-copy { justify-content:flex-end; padding-block:32px; }
  .hero-video-kicker { margin-bottom:12px; font-size:9px; letter-spacing:.08em; }
  .hero-video-kicker::before { width:22px; }
  .hero-video-theme { font-size:34px; }
  .hero-video-name { margin-top:10px; font-size:18px; }
  .hero-video-meta { gap:10px; margin-top:10px; font-size:12px; }
  .hero-video-meta time { font-size:14px; }
  .hero-video-meta span { padding-left:10px; }
  .hero-summary-grid { grid-template-columns:1fr; gap:18px; padding-block:22px 20px; }
  .hero h1 { font-size:25px; }
  .hero-formal { font-size:14px; margin-top:5px; }
  .hero-organizers { margin-top:8px; font-size:13px; }
  .hero-facts { border-left:0; border-top:1px solid var(--color-border); padding:16px 0 0; gap:6px; }
  .hero-facts strong { font-size:16px; }
  .hero-facts time strong { font-size:21px; }
  .hero-actions .button { min-height:48px; justify-content:space-between; }
  .hero-detail-link { min-height:36px; }
}
@media print { .hero,.dark-section,.final-cta { background:white; color:black; } .campaign-video { height:auto; min-height:0; } .hero-video { display:none; } .hero-video-copy { min-height:260px; background:#B51F24; } }

/* Campaign interaction refinement: compact actions, calendar countdown, warm red glass header. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.opening-countdown { display:flex; flex-direction:column; justify-content:center; flex:none; border-left:1px solid var(--color-border); padding-left:18px; min-width:104px; min-height:44px; color:var(--color-primary); line-height:1.3; }
.countdown-label { font-size:11px; letter-spacing:.04em; }
.countdown-value { font:600 23px/1.35 var(--font-number); font-variant-numeric:tabular-nums; }
.header-inner { gap:18px; }
.main-nav { margin-left:auto; gap:18px; font-size:14px; }
.header-actions { gap:8px; margin-left:0; }
.header-actions .button { padding-inline:16px; }
.site-header { transition:background .25s ease,color .25s ease,box-shadow .25s ease; }
.site-header.is-scrolled { background:rgba(166,20,27,.94); color:white; border-bottom-color:rgba(255,255,255,.16); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:0 5px 24px #58070e24; }
.site-header.is-scrolled .brand>img { filter:brightness(0) invert(1); }
.site-header.is-scrolled .opening-countdown { color:#FFF0CA; border-color:#ffffff40; }
.site-header.is-scrolled .menu-toggle span { background:white; }
.site-header.is-scrolled .main-nav>a:hover,.site-header.is-scrolled .nav-group>a:hover { color:#FFE2A9; }
.site-header.is-scrolled .header-actions .button-primary { background:white; color:var(--color-primary); }
.site-header.is-scrolled .header-actions .button-outline { color:white; border-color:#ffffffa6; }
.site-header.is-scrolled .header-actions .button-outline:hover { background:#ffffff20; }
.site-header.is-scrolled .nav-submenu { color:var(--color-text); }
.site-header.is-scrolled :focus-visible { outline-color:#FFDF9A; }
.hero-summary-grid { grid-template-columns:1fr auto; padding-block:20px; gap:24px; }
.hero h1 { font-size:22px; }
.hero-organizers { margin-top:4px; }
.hero-summary .hero-facts { display:none; }
.hero-actions { display:flex; align-items:center; gap:12px; }
.hero-detail-link { margin-left:12px; min-height:44px; }
.count-up { display:inline-block; font-variant-numeric:tabular-nums; }
.count-up [data-count] { display:inline-block; min-width:2ch; }
.stat:first-child [data-count] { min-width:4ch; }
.stat:nth-child(3) [data-count] { min-width:6ch; }
.image-motion-frame { display:block; overflow:hidden; border-radius:inherit; }
.image-motion-frame img { transition:transform .65s cubic-bezier(.2,.65,.3,1); }
@media (hover:hover) and (pointer:fine) {
  .image-motion-frame:hover img { transform:scale(1.025); }
}
@media (max-width:1199px) {
  .opening-countdown { margin-right:auto; }
  .main-nav { margin-left:0; }
  .site-header.is-scrolled .main-nav.is-open { background:rgba(154,18,25,.98); color:white; }
  .site-header.is-scrolled .main-nav.is-open .nav-submenu { color:white; }
  .site-header.is-scrolled .nav-submenu a:hover { background:#ffffff18; }
  .hero-identity { grid-row:auto; }
  .hero-actions { grid-column:auto; }
}
@media (min-width:1200px) and (max-width:1350px) {
  .header-inner { gap:12px; }
  .brand>img { width:145px; }
  .opening-countdown { padding-left:12px; min-width:88px; }
  .main-nav { gap:12px; font-size:13px; }
  .header-actions .button { padding-inline:12px; font-size:13px; }
}
@media (max-width:767px) {
  .header-inner { gap:12px; }
  .brand>img { width:140px; }
  .opening-countdown { padding-left:12px; min-width:92px; }
  .countdown-value { font-size:21px; }
  .hero-summary-grid { grid-template-columns:1fr; gap:14px; padding-block:20px 14px; }
  .hero h1 { font-size:23px; }
  .hero-organizers { display:none; }
  .hero-summary .hero-facts { display:flex; flex-direction:row; flex-wrap:wrap; gap:2px 14px; border:0; padding:0; }
  .hero-facts .fact-label { display:none; }
  .hero-facts strong,.hero-facts time strong { font-size:14px; font-weight:500; }
  .hero-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; }
  .hero-detail-link { margin:0; }
}
@media (prefers-reduced-motion:reduce) {
  .image-motion-frame img,.site-header { transition:none; }
  .image-motion-frame:hover img { transform:none; }
  .hero-video { display:none; }
  .campaign-video { background:#521012 url('https://res.httoutiao.com/wsdh/assets/video/wanshang-hero-2026-poster.jpg') center/cover no-repeat; }
}
@media (max-width:1199px) {
  /* A blurred header contains fixed descendants; give its menu an explicit viewport height. */
  .main-nav.is-open { bottom:auto; height:calc(100dvh - var(--header-height)); }
}

/* Countdown as a prominent red-and-gold masthead signature. */
.opening-countdown { position:relative; flex-direction:row; align-items:center; justify-content:flex-start; gap:20px; min-width:202px; min-height:56px; padding:0 0 0 24px; border-left:1px solid #D8C6AA; }
.countdown-label { font-size:15px; font-weight:600; letter-spacing:.12em; color:var(--color-text); }
.countdown-value { display:flex; align-items:baseline; gap:6px; font-variant-numeric:tabular-nums; line-height:1; }
.countdown-number { font:500 46px/.95 var(--font-number); letter-spacing:-.06em; }
.countdown-unit { font-size:14px; font-weight:500; }
.opening-countdown::after { content:""; position:absolute; bottom:0; left:24px; width:30px; height:2px; background:#C39758; transition:width .25s ease; }
.opening-countdown:hover::after { width:calc(100% - 24px); }
.opening-countdown[data-phase="event"] .countdown-number { font-size:21px; letter-spacing:0; }
.site-header.is-scrolled .opening-countdown { border-color:#ffffff45; color:#FFE3A3; }
.site-header.is-scrolled .countdown-label { color:white; }
.site-header.is-scrolled .opening-countdown::after { background:#FFE3A3; }
@media (min-width:1200px) and (max-width:1350px) {
 .opening-countdown { min-width:168px; padding-left:16px; gap:12px; }
 .countdown-number { font-size:40px; }
 .countdown-label { font-size:14px; }
}
@media (max-width:767px) {
 .header-inner { gap:10px; }
 .brand>img { width:118px; }
 .opening-countdown { min-width:0; min-height:44px; padding-left:14px; gap:12px; }
 .countdown-label { font-size:12px; letter-spacing:.05em; }
 .countdown-number { font-size:36px; }
 .countdown-value { gap:4px; }
 .countdown-unit { font-size:11px; }
 .opening-countdown::after { left:14px; width:22px; bottom:-3px; }
 .opening-countdown[data-phase="event"] .countdown-number { font-size:14px; }
}
@media (max-width:350px) {
 .brand>img { width:102px; }
 .opening-countdown { gap:8px; padding-left:10px; }
 .countdown-number { font-size:30px; }
 .menu-toggle { width:40px; flex:none; }
}
@media (prefers-reduced-motion:reduce) { .opening-countdown::after { transition:none; } }

/* Home cover: one viewport, with navigation and conversion inside the moving scene. */
.home-page .site-header { position:fixed; inset:0 0 auto; width:100%; }
.home-page .site-header:not(.is-scrolled) { background:transparent; border-bottom-color:rgba(255,255,255,.18); color:white; box-shadow:none; }
.home-page .site-header .brand>img { filter:brightness(0) invert(1); }
.home-page .site-header .opening-countdown { color:#FFE3A3; border-color:rgba(255,255,255,.35); }
.home-page .site-header .countdown-label { color:white; }
.home-page .site-header .opening-countdown::after { background:#FFE3A3; }
.home-page .site-header .menu-toggle span { background:white; }
.home-page .site-header .main-nav>a:hover,.home-page .site-header .nav-group>a:hover { color:#FFE3A3; }
.home-page .site-header .nav-submenu { color:var(--color-text); }
.home-page .site-header:not(.is-scrolled) .header-actions .button-primary { background:white; color:var(--color-primary); }
.home-page .site-header:not(.is-scrolled) .header-actions .button-outline { color:white; border-color:rgba(255,255,255,.7); }
.home-page .site-header:not(.is-scrolled) .header-actions .button-outline:hover { background:rgba(255,255,255,.16); }
.home-page .site-header :focus-visible,.home-page .campaign-video :focus-visible { outline-color:#FFE3A3; }
.home-page .campaign-video { height:100vh; height:100svh; min-height:620px; background:#29211E url('https://res.httoutiao.com/wsdh/assets/video/wanshang-hero-2026-poster.jpg') center/cover no-repeat; }
.home-page .hero-video { width:100%; height:100%; object-fit:cover; transform:none; }
.home-page .hero-video-overlay { background:linear-gradient(180deg,rgba(13,15,17,.65) 0%,rgba(13,15,17,.23) 23%,rgba(13,15,17,.43) 58%,rgba(13,15,17,.68) 100%),linear-gradient(90deg,rgba(15,13,12,.2),rgba(15,13,12,.15)); }
.home-page .hero-video-copy { align-items:center; justify-content:center; text-align:center; padding-top:calc(var(--header-height) + 40px); padding-bottom:110px; text-shadow:0 2px 20px #0006; }
.home-page .hero-video-kicker { margin-bottom:28px; color:#F8E4BE; font-size:14px; letter-spacing:.2em; }
.home-page .hero-video-kicker::before { display:none; }
.home-page .hero-video-theme { font-size:clamp(54px,5.8vw,96px); line-height:1.16; letter-spacing:.025em; font-weight:700; }
.home-page .hero-video-name { margin-top:26px; font-size:clamp(26px,2.4vw,38px); line-height:1.3; letter-spacing:.02em; }
.home-page .hero-video-formal { display:block; margin-top:10px; font-size:16px; font-weight:400; letter-spacing:.06em; color:#F0EAE4; }
.home-page .hero-video-meta { justify-content:center; margin-top:26px; gap:22px; font-size:18px; }
.home-page .hero-video-meta time { font-size:23px; letter-spacing:.025em; }
.home-page .hero-actions { display:flex; justify-content:center; gap:18px; margin-top:38px; text-shadow:none; }
.home-page .hero-actions .button { min-width:190px; min-height:58px; padding:16px 26px; justify-content:space-between; gap:38px; border-radius:4px; font-size:17px; }
.home-page .hero-actions .button-primary { background:var(--color-primary); border-color:var(--color-primary); box-shadow:0 5px 24px #39050b20; }
.home-page .hero-actions .button-primary:hover { background:var(--color-primary-hover); border-color:var(--color-primary-hover); }
.home-page .hero-actions .button-outline { color:white; border-color:#ffffffaa; background:rgba(255,255,255,.1); backdrop-filter:blur(8px); }
.home-page .hero-actions .button-outline:hover { background:white; color:var(--color-primary); border-color:white; }
.hero-video-bottom { position:absolute; left:0; right:0; bottom:30px; display:flex; align-items:center; justify-content:space-between; padding-right:112px; z-index:2; color:#ffffffce; font-size:12px; letter-spacing:.08em; }
.hero-explore { display:inline-flex; align-items:center; gap:14px; min-height:44px; }
.hero-explore-line { width:36px; height:1px; background:#ffffff88; }
.hero-explore:hover { color:white; }
@media (max-width:1199px) {
  .home-page .site-header .main-nav.is-open { background:rgba(139,18,24,.98); color:white; }
  .home-page .site-header .main-nav.is-open .nav-submenu { color:white; }
  .home-page .site-header .nav-submenu a:hover { background:#ffffff18; }
}
@media (max-width:767px) {
  .home-page .campaign-video { min-height:560px; }
  .home-page .hero-video-copy { padding-top:calc(var(--header-height) + 28px); padding-bottom:100px; }
  .home-page .hero-video-kicker { font-size:10px; letter-spacing:.07em; margin-bottom:22px; }
  .home-page .hero-video-theme { font-size:clamp(30px,8.1vw,43px); letter-spacing:0; white-space:nowrap; }
  .home-page .hero-video-name { font-size:25px; margin-top:24px; }
  .home-page .hero-video-formal { font-size:12px; letter-spacing:0; margin-top:9px; }
  .home-page .hero-video-meta { flex-direction:column; gap:7px; margin-top:24px; font-size:15px; }
  .home-page .hero-video-meta time { font-size:21px; }
  .home-page .hero-video-meta span { border:0; padding:0; }
  .home-page .hero-actions { width:100%; max-width:370px; gap:12px; margin-top:28px; }
  .home-page .hero-actions .button { min-width:0; flex:1; min-height:54px; font-size:16px; padding:14px 20px; gap:14px; }
  .hero-video-bottom { bottom:20px; padding-right:55px; font-size:10px; letter-spacing:0; }
  .hero-explore { gap:9px; }
  .hero-explore-line { width:20px; }
}
@media (max-height:650px) and (min-width:768px) {
  .home-page .campaign-video { min-height:560px; }
  .home-page .hero-video-copy { padding-top:90px; padding-bottom:65px; }
  .home-page .hero-video-kicker { margin-bottom:15px; }
  .home-page .hero-video-theme { font-size:52px; }
  .home-page .hero-video-name { margin-top:15px; }
  .home-page .hero-video-meta { margin-top:18px; }
  .home-page .hero-actions { margin-top:24px; }
}
.no-js .home-page .site-header { position:relative; background:#94171C; }
@media print { .home-page .campaign-video { height:auto; min-height:0; } }

/* September refinement: clearer brand hierarchy and a single header conversion entry. */
.opening-countdown { gap:13px; min-width:150px; min-height:48px; padding-left:18px; }
.countdown-label { font-size:13px; letter-spacing:.08em; }
.countdown-number { font-size:38px; font-weight:500; }
.countdown-unit { font-size:12px; }
.opening-countdown::after { content:none; }
.participate-group { position:relative; margin-left:10px; }
.main-nav { flex:1; justify-content:flex-end; margin-left:auto; gap:22px; font-size:16px; }
.home-page .site-header .nav-home { min-height:38px; padding:0 18px; border:1px solid rgba(255,255,255,.52); border-radius:999px; background:rgba(255,255,255,.14); color:white; }
.home-page .site-header .nav-home:hover { border-color:white; background:rgba(255,255,255,.22); color:white; }
.home-page .site-header.is-scrolled .nav-home { border-color:white; background:white; color:var(--color-primary); }
.home-page .site-header.is-scrolled .nav-home:hover { background:#FFF4F0; color:var(--color-primary); }
.participate-toggle { min-width:120px; min-height:44px; justify-content:space-between; padding:11px 18px; background:var(--color-primary); color:white; }
.participate-toggle:hover { background:var(--color-primary-hover); }
.participate-toggle .chevron { margin-left:12px; }
.participate-toggle[aria-expanded=true] .chevron { transform:rotate(225deg); }
.participate-menu { position:absolute; top:calc(100% + 12px); right:0; width:270px; padding:10px; border:1px solid var(--color-border); border-radius:8px; background:white; color:var(--color-text); box-shadow:0 16px 38px #2E24212e; }
.participate-menu::before { content:""; position:absolute; top:-13px; left:0; right:0; height:13px; }
.participate-menu a { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:66px; padding:10px 12px; border-radius:5px; }
.participate-menu a+a { border-top:1px solid var(--color-border); border-radius:0 0 5px 5px; }
.participate-menu a:hover { color:var(--color-primary); background:var(--color-bg); }
.participate-menu small { display:block; margin-bottom:2px; font:500 9px/1.4 var(--font-number); letter-spacing:.1em; color:var(--color-text-secondary); }
.home-page .site-header:not(.is-scrolled) .participate-toggle,.home-page .site-header.is-scrolled .participate-toggle { background:white; color:var(--color-primary); }
.home-page .site-header:not(.is-scrolled) .participate-toggle:hover,.home-page .site-header.is-scrolled .participate-toggle:hover { background:#FFF4F0; }
.home-page .hero-video-overlay { background:linear-gradient(180deg,rgba(10,10,12,.58) 0%,rgba(10,10,12,.3) 32%,rgba(10,10,12,.46) 70%,rgba(10,10,12,.66) 100%),radial-gradient(ellipse at 50% 52%,rgba(10,7,8,.34),transparent 65%); }
.home-page .hero-video-copy { padding-top:calc(var(--header-height) + 42px); }
.home-page .hero-video-kicker { margin-bottom:26px; color:rgba(255,255,255,.88); font-size:16px; font-weight:500; letter-spacing:.12em; }
.home-page .hero-video-name { display:flex; align-items:baseline; justify-content:center; gap:0; width:100%; max-width:none; margin:0; color:#F6D899; line-height:1.15; white-space:nowrap; text-shadow:0 4px 28px rgba(0,0,0,.34); }
.hero-title-primary,.hero-title-secondary { display:inline; margin:0; white-space:nowrap; }
.hero-title-primary,.hero-title-secondary { color:transparent; background:linear-gradient(180deg,#FFFFFF 0%,#FFFDF6 42%,#F3E3B9 100%); -webkit-background-clip:text; background-clip:text; }
.hero-title-primary,.hero-title-secondary { font-size:clamp(38px,3.5vw,54px); letter-spacing:-.025em; }
.hero-title-primary { font-weight:700; }
.hero-title-secondary { font-weight:600; }
.hero-event-countdown { display:flex; align-items:baseline; justify-content:center; gap:10px; margin-top:30px; padding:0; border:0; background:none; color:white; font-size:clamp(24px,2vw,30px); font-weight:600; letter-spacing:.03em; text-shadow:0 4px 24px rgba(0,0,0,.42); }
.hero-countdown-number { color:#FFD991; font:700 clamp(52px,4.5vw,68px)/.82 var(--font-number); letter-spacing:-.04em; text-shadow:0 4px 24px rgba(0,0,0,.3); }
.hero-countdown-unit { color:#FFD991; font-size:18px; }
.hero-event-countdown[data-phase="event"] .hero-countdown-number { font-size:clamp(34px,3.4vw,50px); letter-spacing:.02em; }
.home-page .hero-video-meta { justify-content:center; margin-top:18px; gap:20px; color:rgba(255,255,255,.92); font-size:18px; letter-spacing:.035em; }
.home-page .hero-video-meta time { font-size:20px; font-weight:500; }
.home-page .hero-actions { display:flex; gap:18px; margin-top:34px; padding:0; border:0; background:none; box-shadow:none; backdrop-filter:none; }
.home-page .hero-actions .button { position:relative; display:grid; place-items:center; justify-content:center; align-items:center; min-width:220px; height:56px; min-height:56px; padding:0 54px 0 30px; border:1.5px solid rgba(255,255,255,.8); border-radius:999px; background:rgba(18,15,17,.12); color:white; font-size:17px; font-weight:500; line-height:1; text-align:center; letter-spacing:.08em; backdrop-filter:blur(8px); box-shadow:inset 0 0 0 1px rgba(255,255,255,.05); }
.home-page .hero-actions .button-icon { position:absolute; right:10px; top:50%; display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(255,214,216,.58); border-radius:50%; background:rgba(181,31,36,.38); color:#FFE8E9; font-size:18px; line-height:1; transform:translateY(-50%); }
.home-page .hero-actions .button-primary { border-color:rgba(240,106,111,.82); background:rgba(181,31,36,.5); color:white; }
.home-page .hero-actions .button-outline { border-width:1px; border-color:rgba(255,255,255,.62); background:rgba(18,15,17,.08); }
.home-page .hero-actions .button-primary:hover,.home-page .hero-actions .button-outline:hover { border-color:white; background:white; color:#2B211F; transform:translateY(-2px); }
@media (min-width:901px) {
  .home-page .hero-video-copy { width:min(1520px,calc(100% - 64px)); }
}
@media (min-width:1200px) and (max-width:1350px) {
  .opening-countdown { min-width:132px; gap:10px; padding-left:14px; }
  .countdown-number { font-size:34px; }
  .main-nav { margin-left:auto; gap:13px; font-size:14px; }
  .home-page .site-header .nav-home { padding-inline:14px; }
  .participate-toggle { min-width:108px; padding-inline:14px; }
}
@media (max-width:1199px) {
  .main-nav { flex:none; margin-left:0; font-size:16px; }
  .home-page .site-header .main-nav.is-open .nav-home { width:max-content; min-height:42px; margin:10px 0; padding:0 18px; border:1px solid rgba(255,255,255,.58); }
  .participate-group { display:block; margin:26px 0 0; }
  .participate-toggle { width:100%; }
  .participate-menu { position:static; width:100%; margin-top:8px; box-shadow:none; }
  .participate-menu::before { display:none; }
  .home-page .site-header .main-nav.is-open .participate-menu { background:rgba(255,255,255,.1); color:white; border-color:rgba(255,255,255,.22); }
  .home-page .site-header .main-nav.is-open .participate-menu a+a { border-color:rgba(255,255,255,.2); }
  .home-page .site-header .main-nav.is-open .participate-menu small { color:#ffffffa8; }
  .home-page .site-header .main-nav.is-open .participate-menu a:hover { background:#ffffff16; color:white; }
}
@media (max-width:900px) {
  .home-page .hero-video-name { display:block; max-width:740px; line-height:1.2; white-space:normal; }
  .hero-title-primary,.hero-title-secondary { display:block; }
  .hero-title-primary { font-size:clamp(30px,5vw,40px); letter-spacing:-.04em; }
  .hero-title-secondary { margin-top:10px; font-size:clamp(19px,3.1vw,24px); line-height:1.4; letter-spacing:.01em; }
}
@media (max-width:767px) {
  .opening-countdown { min-width:0; gap:8px; padding-left:12px; }
  .countdown-label { font-size:11px; letter-spacing:.04em; }
  .countdown-number { font-size:31px; }
  .countdown-unit { font-size:10px; }
  .home-page .hero-video-copy { padding-inline:0; }
  .home-page .hero-video-kicker { margin-bottom:18px; font-size:11px; letter-spacing:.08em; }
  .home-page .hero-video-name { display:block; max-width:370px; line-height:1.2; white-space:normal; }
  .hero-title-primary,.hero-title-secondary { display:block; }
  .hero-title-primary { font-size:clamp(26px,8vw,36px); letter-spacing:-.045em; }
  .hero-title-secondary { margin-top:12px; font-size:clamp(17px,4.8vw,20px); line-height:1.45; letter-spacing:.015em; }
  .hero-event-countdown { gap:5px; margin-top:22px; padding:10px 16px; font-size:15px; letter-spacing:.01em; }
  .hero-countdown-number { font-size:44px; }
  .hero-countdown-unit { font-size:12px; }
  .home-page .hero-video-meta { flex-direction:row; flex-wrap:wrap; gap:7px 12px; margin-top:18px; font-size:14px; letter-spacing:0; }
  .home-page .hero-video-meta time { font-size:17px; }
  .home-page .hero-video-meta span { border-left:1px solid rgba(255,255,255,.45); padding-left:12px; }
  .home-page .hero-actions { width:min(100%,350px); gap:12px; margin-top:26px; }
  .home-page .hero-actions .button { min-width:0; height:50px; min-height:50px; flex:1; padding:0 42px 0 14px; font-size:15px; }
  .home-page .hero-actions .button-icon { right:7px; width:34px; height:34px; font-size:16px; }
}

/* Homepage section rhythm: warm cream and a restrained red tint alternate by section. */
.home-page .intro,.home-page .activities-section,.home-page .guide-section,.home-page .history-section { background:var(--color-section-rose); }
.home-page .zones-section,.home-page .matchmaking-section,.home-page .consultation-section,.home-page .moments-section { background:#FFFFFF; }
.home-page .activities-section { color:var(--color-text); }
.home-page .activities-section .programme-heading>p:not(.eyebrow),
.home-page .activities-section .opening-conference-copy { color:var(--color-text-secondary); }
.home-page .activities-section .programme-label { color:var(--color-text-secondary); }
.home-page .activities-section .programme-label span,
.home-page .activities-section .summit-group>h3 { color:var(--color-primary); }
.home-page .activities-section .summit-directory,
.home-page .activities-section .summit-directory>.programme-label,
.home-page .activities-section .summit-directory-title,
.home-page .activities-section .summit-table-head,
.home-page .activities-section .summit-group { border-color:rgba(181,31,36,.2); }
.home-page .activities-section .summit-table-head,
.home-page .activities-section .summit-group li>span { color:var(--color-text-secondary); }
.home-page .activities-section .summit-group li { border-color:rgba(181,31,36,.12); }
.home-page .activities-section .summit-directory { border-top:0; }
.home-page .activities-section .summit-directory>.programme-label { margin:0 0 18px; padding:0; border-bottom:0; }
.home-page .activities-section .summit-directory-title { padding:0 0 20px; }
.opening-conference-copy { margin-top:20px; font-size:15px; line-height:1.9; }

/* Centered scroll cue: keep the invitation and motion signal on one axis. */
.hero-video-bottom { justify-content:flex-end; }
.hero-explore { position:absolute; left:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:54px; text-align:center; white-space:nowrap; transform:translateX(-50%); }
.hero-explore-arrow { display:block; font-size:18px; line-height:1; animation:hero-scroll-cue 1.55s ease-in-out infinite; }
@keyframes hero-scroll-cue {
  0%,100% { transform:translateY(0); opacity:.65; }
  50% { transform:translateY(6px); opacity:1; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-explore-arrow { animation:none; }
}

/* Business matchmaking / image highlights / direct consultation */
.matchmaking-grid { display:grid; grid-template-columns:minmax(260px,4fr) minmax(0,8fr); gap:80px; align-items:start; }
.matchmaking-heading { position:sticky; top:112px; }
.matchmaking-heading>p:last-child { margin-top:24px; color:var(--color-text-secondary); font-size:17px; line-height:1.85; }
.matchmaking-table { border-top:2px solid var(--color-primary); }
.matchmaking-table-head,.matchmaking-group { display:grid; grid-template-columns:132px 1fr; }
.matchmaking-table-head { padding:14px 0; border-bottom:1px solid var(--color-border); color:var(--color-text-secondary); font-size:12px; letter-spacing:.08em; }
.matchmaking-group>h3 { display:flex; align-items:center; padding:28px 28px 28px 0; color:var(--color-primary); font-size:18px; font-weight:600; }
.matchmaking-group ol { border-left:1px solid var(--color-border); }
.matchmaking-group li { display:grid; grid-template-columns:42px 1fr; gap:16px; align-items:center; min-height:60px; padding:14px 4px 14px 28px; border-bottom:1px solid var(--color-border); }
.matchmaking-group li>span { color:var(--color-text-secondary); font:400 11px/1.4 var(--font-number); }
.matchmaking-group li>strong { font-size:17px; font-weight:500; }
.matchmaking-more strong { color:var(--color-text-secondary); letter-spacing:.2em; }

.moments-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:40px; }
.moments-heading h2 { margin-bottom:16px; }
.moments-heading>div:first-child>p:last-child { max-width:720px; color:var(--color-text-secondary); }
.moments-controls { display:flex; gap:10px; }
.moments-controls button { display:grid; place-items:center; width:52px; height:52px; border:1px solid rgba(181,31,36,.3); border-radius:50%; background:rgba(181,31,36,.06); color:var(--color-primary); font-size:22px; transition:background .2s,color .2s,transform .2s; }
.moments-controls button:hover { background:var(--color-primary); color:white; transform:translateY(-2px); }
.moments-carousel { overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:none; scroll-snap-type:x mandatory; scroll-behavior:smooth; }
.moments-carousel::-webkit-scrollbar { display:none; }
.moments-track { display:grid; grid-template-rows:repeat(2,minmax(0,1fr)); grid-auto-flow:column; grid-auto-columns:minmax(300px,calc((100% - 40px)/3)); gap:20px; }
.moment-card { position:relative; overflow:hidden; scroll-snap-align:start; aspect-ratio:4/3; padding:0; border:0; border-radius:10px; background:#DCCFC6; color:white; text-align:left; }
.moment-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s var(--ease),filter .3s; }

.moment-card:hover img,.moment-card:focus-visible img { transform:scale(1.045); filter:saturate(1.05); }

/* 精彩瞬间：双行无缝循环滚动（第一行向右，第二行向左） */
.moments-marquee { display:flex; flex-direction:column; gap:18px; }
.moments-row { overflow:hidden; }
.moments-rail { display:flex; gap:18px; width:max-content; will-change:transform; }
.moments-rail .moment-card { flex:0 0 auto; width:min(360px,76vw); }
.moments-row--right .moments-rail { animation:momentsSlideRight 91s linear infinite; }
.moments-row--left  .moments-rail { animation:momentsSlideLeft 91s linear infinite; }
@keyframes momentsSlideLeft  { from { transform:translateX(0); }      to { transform:translateX(-50%); } }
@keyframes momentsSlideRight { from { transform:translateX(-50%); }   to { transform:translateX(0); } }
.moments-marquee:hover .moments-rail { animation-play-state:paused; }
@media (prefers-reduced-motion:reduce) {
  .moments-row--right .moments-rail,
  .moments-row--left  .moments-rail { animation:none; }
}

.moment-lightbox { width:min(92vw,1500px); height:min(90vh,960px); max-width:none; max-height:none; padding:0; border:0; border-radius:12px; overflow:hidden; background:#17100E; color:white; }
.moment-lightbox::backdrop { background:rgba(22,14,12,.86); backdrop-filter:blur(8px); }
.moment-lightbox figure { display:grid; place-items:center; height:100%; margin:0; padding:52px 80px 58px; }
.moment-lightbox img { display:block; max-width:100%; max-height:calc(90vh - 120px); width:auto; height:auto; object-fit:contain; }
.moment-lightbox figcaption { position:absolute; right:80px; bottom:20px; left:80px; color:rgba(255,255,255,.76); text-align:center; font-size:13px; }
.moment-lightbox-close,.moment-lightbox-nav { position:absolute; z-index:2; display:flex; align-items:center; justify-content:center; padding:0; line-height:1; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(0,0,0,.35); color:white; }
.moment-lightbox-close { top:14px; right:14px; width:42px; height:42px; font-size:26px; }
.moment-lightbox-nav { top:50%; width:46px; height:46px; font-size:20px; transform:translateY(-50%); }
.moment-lightbox-prev { left:18px; }.moment-lightbox-next { right:18px; }

.consultation-heading { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end; margin-bottom:44px; }
.consultation-heading .eyebrow { grid-column:1/-1; margin-bottom:-30px; }
.consultation-heading>p:last-child { color:var(--color-text-secondary); padding-bottom:8px; }
.consultation-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.consultation-grid article { display:grid; grid-template-columns:1fr auto; align-items:end; padding:36px; border:1px solid rgba(181,31,36,.2); border-radius:10px; background:rgba(255,255,255,.56); }
.consultation-grid article>span { grid-column:1/-1; color:var(--color-primary); font:600 11px/1.4 var(--font-number); letter-spacing:.12em; }
.consultation-grid h3 { grid-column:1/-1; margin-top:12px; font-size:30px; }
.consultation-grid p { grid-column:1/-1; margin:8px 0 30px; color:var(--color-text-secondary); }
.consultation-grid strong { font-size:17px; }
.consultation-grid article>a[href^="tel"] { font:500 clamp(24px,2.35vw,36px)/1.1 var(--font-number); color:var(--color-primary); letter-spacing:-.03em; }
.consultation-grid small { grid-column:1; margin-top:6px; color:var(--color-text-secondary); }
.consultation-grid .button { grid-column:2; grid-row:5/7; align-self:end; min-width:150px; }
.consultation-grid .button-outline { border-color:rgba(181,31,36,.36); color:var(--color-primary); }
.footer-phone-secondary { margin:0 0 16px; }

@media (max-width:1023px) {
  .matchmaking-grid { grid-template-columns:1fr; gap:36px; }
  .matchmaking-heading { position:static; }
  .matchmaking-heading h2 br { display:none; }
  .moments-track { grid-auto-columns:minmax(290px,47%); }
  .consultation-heading { gap:32px; }
  .consultation-grid article { grid-template-columns:1fr; }
  .consultation-grid article>a[href^="tel"],.consultation-grid .button,.consultation-grid small { grid-column:1; grid-row:auto; }
  .consultation-grid .button { margin-top:24px; }
}
@media (max-width:767px) {
  .matchmaking-heading>p:last-child { margin-top:18px; font-size:15px; }
  .matchmaking-table-head { display:none; }
  .matchmaking-group { grid-template-columns:1fr; }
  .matchmaking-group>h3 { padding:14px 0; border-bottom:1px solid var(--color-border); }
  .matchmaking-group ol { border-left:0; }
  .matchmaking-group li { grid-template-columns:34px 1fr; min-height:54px; padding:12px 0; }
  .matchmaking-group li>strong { font-size:15px; }
  .moments-heading { display:block; margin-bottom:28px; }
  .moments-heading h2 { margin-bottom:12px; }
  .moments-heading>div:first-child>p:last-child { font-size:14px; }
  .moments-controls { margin-top:20px; }
  .moments-controls button { width:46px; height:46px; }
  .moments-track { grid-auto-columns:82vw; gap:14px; }
  .moment-lightbox { width:100vw; height:100dvh; border-radius:0; }
  .moment-lightbox figure { padding:64px 18px 80px; }
  .moment-lightbox img { max-height:calc(100dvh - 150px); }
  .moment-lightbox figcaption { right:52px; bottom:28px; left:52px; }
  .moment-lightbox-nav { top:auto; bottom:18px; transform:none; }
  .consultation-heading { display:block; margin-bottom:28px; }
  .consultation-heading .eyebrow { margin-bottom:20px; }
  .consultation-heading>p:last-child { margin-top:14px; padding:0; font-size:14px; }
  .consultation-grid { grid-template-columns:1fr; }
  .consultation-grid article { padding:26px; }
  .consultation-grid h3 { font-size:26px; }
  .consultation-grid p { margin-bottom:22px; }
}
@media (prefers-reduced-motion:reduce) {
  .moments-carousel { scroll-behavior:auto; }
  .moment-card img,.moments-controls button { transition:none; }
}
@media (forced-colors:active) {
  .hero-title-primary,.hero-title-secondary { color:CanvasText; background:none; }
}

/* 右侧固定快捷侧边栏：白色卡片 + 圆形彩色图标，悬停/聚焦变主题红并展开说明或二维码 */
.side-dock { position:fixed; top:50%; right:0; z-index:40; display:grid; transform:translateY(-50%); background:#fff; border:1px solid var(--color-border); border-right:0; border-radius:16px 0 0 16px; box-shadow:0 12px 32px rgba(23,18,16,.13); }
.side-dock__item { --dock-accent:#E8503F; position:relative; display:grid; justify-items:center; gap:6px; width:54px; padding:12px 4px; background:#fff; color:var(--color-text); text-align:center; transition:background .2s var(--ease),color .2s var(--ease); }
.side-dock__item:first-child { border-radius:16px 0 0 0; }
.side-dock__item:last-child { border-radius:0 0 0 16px; }
.side-dock__item+.side-dock__item { border-top:1px solid #F1E8E1; }
.side-dock__item:hover,.side-dock__item:focus-visible { background:var(--color-primary); color:#fff; }
.side-dock__item--violet { --dock-accent:#A855F7; }
.side-dock__icon { display:grid; place-items:center; width:30px; height:30px; border:1.5px solid var(--dock-accent); border-radius:50%; background:#fff; color:var(--dock-accent); transition:border-color .2s var(--ease),color .2s var(--ease),background .2s var(--ease); }
.side-dock__item:hover .side-dock__icon,.side-dock__item:focus-visible .side-dock__icon { border-color:#fff; background:transparent; color:#fff; }
.side-dock__icon svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.side-dock__label { font-size:11px; line-height:1.25; letter-spacing:-.02em; white-space:nowrap; }
.side-dock__panel { position:absolute; top:50%; right:calc(100% + 12px); z-index:1; min-width:186px; max-width:280px; padding:16px 18px; border-radius:var(--radius-card); background:#fff; color:var(--color-text); box-shadow:0 14px 34px rgba(23,18,16,.2); text-align:left; opacity:0; visibility:hidden; transform:translate(8px,-50%); transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s; }
.side-dock__panel:after { content:""; position:absolute; top:50%; right:-6px; width:12px; height:12px; margin-top:-6px; background:#fff; transform:rotate(45deg); }
.side-dock__panel b { display:block; margin-bottom:6px; font-size:15px; }
.side-dock__panel span { display:block; font-size:13px; line-height:1.6; color:var(--color-text-secondary); }
.side-dock__item:hover .side-dock__panel,.side-dock__item:focus-visible .side-dock__panel { opacity:1; visibility:visible; transform:translate(0,-50%); }
/* 二维码面板按图片自然宽度展示，不做压缩 */
.side-dock__panel--qr { width:max-content; min-width:0; max-width:none; padding:14px; text-align:center; }
.side-dock__panel--qr img { width:196px; height:auto; max-width:none; margin:0 auto; }
.side-dock__panel--qr span { margin-top:10px; color:var(--color-text); }
/* 联系电话面板：只展示号码本身 */
.side-dock__panel--phone { width:max-content; min-width:0; max-width:none; padding:14px 18px; }
.side-dock__panel--phone span { font:600 18px/1.4 var(--font-number); color:var(--color-primary); white-space:nowrap; letter-spacing:.02em; }
@media (max-width:1199px) {
  .side-dock { border-radius:14px 0 0 14px; }
  .side-dock__item { width:50px; padding:11px 3px; gap:5px; }
  .side-dock__item:first-child { border-radius:14px 0 0 0; }
  .side-dock__item:last-child { border-radius:0 0 0 14px; }
  .side-dock__label { font-size:10.5px; }
  .side-dock__icon { width:28px; height:28px; }
  .side-dock__icon svg { width:14px; height:14px; }
  .side-dock__panel--qr img { width:164px; }
}
@media (max-width:767px) {
  .side-dock { border-radius:12px 0 0 12px; }
  .side-dock__item { width:48px; padding:9px 3px; gap:5px; }
  .side-dock__item:first-child { border-radius:12px 0 0 0; }
  .side-dock__item:last-child { border-radius:0 0 0 12px; }
  .side-dock__label { font-size:10px; letter-spacing:-.02em; }
  .side-dock__icon { width:25px; height:25px; }
  .side-dock__icon svg { width:13px; height:13px; }
  .side-dock__panel { min-width:0; width:auto; max-width:calc(100vw - 80px); padding:12px; }
  .side-dock__panel b { font-size:14px; }
  .side-dock__panel span { font-size:12px; }
  .side-dock__panel--qr img { width:min(196px,40vw); }
}
