.page-shell { width: min(var(--max-width), calc(100% - 36px)); margin: 0 auto; padding: var(--section-gap) 0 calc(var(--section-gap) * 1.4); }
.page-shell[data-layout="editorial-flow"], .page-shell[data-layout="minimal-index"] { width: min(var(--max-width), calc(100% - 36px)); }
.page-shell[data-layout="banded-stack"] { width: 100%; max-width: none; padding-top: 0; }
.module-sequence { display: grid; gap: var(--section-gap); width: 100%; }
.architecture-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--section-gap); align-items: start; }
.module-row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); width: 100%; min-width: 0; align-items: start; }
.module-row .content-section { grid-column: 1 / -1; width: 100%; min-width: 0; margin: 0; }
.module-row--pair .content-section[data-row-role="pair-start"], .module-row--pair .content-section[data-row-role="pair-end"] { grid-column: span 6; height: 100%; }
.banded-sequence { gap: 0; }
.banded-sequence .content-section { border-right: 0; border-left: 0; border-radius: 0; }
.banded-sequence .content-section .section-inner { width: min(var(--max-width), calc(100% - 36px)); margin: 0 auto; }
.minimal-sequence { gap: calc(var(--section-gap) * .55); }

.content-section { container-type: inline-size; width: 100%; margin: 0; overflow: hidden; border: 1px solid var(--border); border-radius: calc(var(--radius) * 1.25); background: var(--surface); box-shadow: 0 14px 42px color-mix(in srgb, var(--text) 7%, transparent); }
.section-inner { min-width: 0; padding: clamp(22px, 3.2vw, 40px); }
.content-section[data-width="narrow"] { width: 100%; }
.content-section[data-width="narrow"] .section-inner { width: min(860px, 100%); margin-right: auto; margin-left: auto; }
.content-section[data-variant="2"] { border-top: 4px solid var(--primary); }
.content-section[data-variant="3"] { background: linear-gradient(145deg, var(--surface), var(--soft)); }
.content-section[data-variant="4"] { border-radius: calc(var(--radius) * 2); box-shadow: none; }
.content-section[data-variant="5"] { border-right: 0; border-left: 4px solid var(--accent); border-radius: 0 var(--radius) var(--radius) 0; }
.content-section[data-shell="minimal"] { overflow: visible; border-color: transparent; background: transparent; box-shadow: none; }
.content-section[data-shell="rule"] { border-width: 1px 0 0; border-radius: 0; background: transparent; box-shadow: none; }
.content-section[data-shell="outline"] { border-width: 2px; background: color-mix(in srgb, var(--surface) 76%, transparent); box-shadow: none; }
.content-section[data-shell="accent"] { border: 0; border-left: 6px solid var(--accent); border-radius: 0 var(--radius) var(--radius) 0; }
.content-section[data-shell="floating"] { transform: translateZ(0); box-shadow: 0 24px 70px color-mix(in srgb, var(--text) 15%, transparent); }
.content-section[data-shell="band"] { border-color: transparent; background: linear-gradient(120deg, var(--soft), color-mix(in srgb, var(--surface) 94%, var(--accent))); box-shadow: none; }
.content-section[data-shell="contrast"] { --text: #fff; --muted: color-mix(in srgb, white 76%, transparent); --border: color-mix(in srgb, white 24%, transparent); --surface: color-mix(in srgb, var(--primary) 86%, #071426); --soft: color-mix(in srgb, var(--accent) 14%, var(--surface)); color: var(--text); border-color: transparent; background: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 52%, #071426)); }
.content-section[data-shell="split"] .section-inner { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.4fr); gap: clamp(24px, 3.4vw, 44px); align-items: start; }
.content-section[data-shell="split"] .section-heading { position: sticky; top: 110px; display: block; margin: 0; }

.section-heading { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: start; margin-bottom: 24px; }
.section-index { display: grid; width: 42px; height: 42px; place-items: center; margin: 0; border-radius: 50%; color: white; background: var(--primary); font-size: 13px; font-weight: 850; }
.section-heading h2 { margin-bottom: 8px; font-family: var(--font-display); font-size: clamp(25px, 3vw, 40px); line-height: 1.16; letter-spacing: -.025em; }
.section-heading > div > p { max-width: 850px; margin: 0; color: var(--muted); }
.content-section[data-heading="bar"] .section-index { width: 8px; border-radius: 99px; color: transparent; }
.content-section[data-heading="bar"] .section-heading { gap: 14px; }
.content-section[data-heading="badge"] .section-index { border-radius: 12px; color: var(--text); background: var(--accent); box-shadow: 0 8px 22px color-mix(in srgb, var(--accent) 25%, transparent); }
.content-section[data-heading="editorial"] .section-heading { display: block; padding-bottom: 20px; border-bottom: 1px solid var(--border); }
.content-section[data-heading="editorial"] .section-index { width: auto; height: auto; justify-content: start; margin-bottom: 10px; color: var(--primary); background: transparent; font-size: 12px; letter-spacing: .18em; }
.content-section[data-heading="centered"] .section-heading { display: block; max-width: 820px; margin-right: auto; margin-left: auto; text-align: center; }
.content-section[data-heading="centered"] .section-index { margin: 0 auto 12px; }
.content-section[data-heading="centered"] .section-heading > div > p { margin-right: auto; margin-left: auto; }
.content-section[data-heading="split-label"] .section-heading { grid-template-columns: minmax(180px, .7fr) minmax(0, 1.5fr); padding-bottom: 22px; border-bottom: 1px solid var(--border); }
.content-section[data-heading="split-label"] .section-index { display: none; }
.content-section[data-heading="split-label"] .section-heading > div { display: contents; }
.content-section[data-heading="split-label"] .section-heading h2 { margin: 0; }
.card-grid, .game-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 18px; }
.game-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 205px), 1fr)); }
.content-card { min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb, var(--surface) 94%, var(--soft)); transition: transform .2s ease, box-shadow .2s ease; }
.content-card:hover { transform: translateY(-4px); box-shadow: 0 15px 34px color-mix(in srgb, var(--text) 11%, transparent); }
.card-image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--soft); }
.card-body { padding: 19px; }
.card-body h3 { margin: 7px 0 8px; font-size: 19px; line-height: 1.28; }
.card-body p { margin: 0; color: var(--muted); font-size: 14px; }
.item-meta { display: inline-flex; margin-bottom: 5px; color: var(--primary); font-size: 12px; font-weight: 800; letter-spacing: .03em; }
.service-list, .steps-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 0; list-style: none; }
.service-item, .step-item { display: flex; gap: 15px; padding: 20px; border: 1px solid var(--border); border-radius: var(--radius); background: color-mix(in srgb, var(--surface) 92%, var(--soft)); }
.service-icon, .step-number { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: white; background: var(--primary); font-size: 13px; font-weight: 850; }
.service-item h3, .step-item h3 { margin-bottom: 5px; font-size: 17px; }
.service-item p, .step-item p { margin: 0; color: var(--muted); font-size: 14px; }
.steps-list { counter-reset: site-step; }
.article-list { display: grid; gap: 15px; }
.article-item { display: grid; grid-template-columns: minmax(130px, .35fr) minmax(0, 1fr); gap: 20px; align-items: center; padding: 18px; border: 1px solid var(--border); border-radius: var(--radius); }
.article-item .card-image { border-radius: calc(var(--radius) * .72); }
.article-item h3 { margin-bottom: 6px; font-size: 20px; }
.article-item p { margin-bottom: 0; color: var(--muted); }
.article-kicker:empty { display: none; }
.table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); }
table { width: 100%; min-width: 650px; border-collapse: collapse; background: var(--surface); }
th, td { padding: 15px 17px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
thead th { color: white; background: var(--primary); font-size: 14px; }
tbody th { width: 25%; }
tbody tr:last-child > * { border-bottom: 0; }
.faq-list { display: grid; gap: 12px; }
.faq-item { border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.faq-item summary { padding: 17px 52px 17px 18px; font-weight: 800; cursor: pointer; }
.faq-item summary > span { display: none; margin-right: 10px; color: var(--primary); font-size: 12px; }
.faq-item div { padding: 0 18px 18px; color: var(--muted); }
.faq-item p { margin: 0; }

/* 业务模块专属构图配方：结构由脚本锁定，文字只填入既定槽位。 */
.recipe-benefit-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 16px; }
.recipe-benefit-card { display: flex; min-width: 0; gap: 15px; padding: 22px; border: 1px solid var(--border); border-top: 3px solid var(--primary); border-radius: var(--radius); background: color-mix(in srgb, var(--surface) 94%, var(--soft)); }
.recipe-benefit-card > span { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, var(--surface)); font-weight: 900; }
.recipe-benefit-card h3, .recipe-security-rows h3, .recipe-payment-chips h3 { margin-bottom: 6px; font-size: 17px; }
.recipe-benefit-card p, .recipe-security-rows p, .recipe-payment-chips p { margin: 0; color: var(--muted); font-size: 14px; }
.recipe-benefit-card small, .recipe-security-rows small, .recipe-payment-chips small, .recipe-tier-card small, .recipe-split-list small, .recipe-editorial-list small, .recipe-alternating-briefs small, .recipe-decision-lanes small, .recipe-summary-strips small, .recipe-hub-spokes small { display: block; margin-top: 7px; color: var(--primary); font-size: 12px; font-weight: 800; }

.recipe-brand-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 52px); align-items: stretch; }
.recipe-split-lead { display: grid; min-height: 100%; align-content: center; padding: clamp(25px, 4vw, 42px); border-radius: calc(var(--radius) * 1.2); color: white; background: linear-gradient(145deg, var(--primary), color-mix(in srgb, var(--primary) 54%, #071426)); }
.recipe-split-lead h3 { margin-bottom: 12px; font-size: clamp(24px, 3vw, 38px); line-height: 1.18; }
.recipe-split-lead p { color: color-mix(in srgb, white 82%, transparent); }
.recipe-split-lead small { color: white; }
.recipe-kicker { margin-bottom: 22px; font-size: 13px; font-weight: 900; letter-spacing: .16em; }
.recipe-split-image { width: 100%; margin-bottom: 24px; aspect-ratio: 16 / 9; border-radius: var(--radius); object-fit: cover; }
.recipe-split-list { display: grid; align-content: start; gap: 0; border-top: 1px solid var(--border); }
.recipe-split-list > article { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 15px; padding: 19px 0; border-bottom: 1px solid var(--border); }
.recipe-split-list > article > span { color: var(--primary); font-size: 12px; font-weight: 900; }
.recipe-split-list h3 { margin-bottom: 5px; font-size: 18px; }
.recipe-split-list p { margin: 0; color: var(--muted); font-size: 14px; }

.recipe-feature-mosaic { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; align-items: start; }
.recipe-mosaic-card { grid-column: span 4; min-width: 0; padding: 22px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.recipe-mosaic-card:first-child { grid-column: span 7; background: linear-gradient(145deg, var(--soft), var(--surface)); }
.recipe-mosaic-card:nth-child(2) { grid-column: span 5; }
.recipe-mosaic-card > span { display: inline-block; margin-bottom: 20px; color: var(--primary); font-size: 12px; font-weight: 900; letter-spacing: .1em; }
.recipe-mosaic-card h3 { margin-bottom: 7px; font-size: 19px; }
.recipe-mosaic-card p { margin: 0; color: var(--muted); font-size: 14px; }
.recipe-mosaic-image { width: calc(100% + 44px); max-width: none; margin: -22px -22px 20px; aspect-ratio: 16 / 9; object-fit: cover; }

.recipe-step-rail { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.recipe-step-rail > li { position: relative; min-width: 0; padding: 62px 20px 22px; border: 1px solid var(--border); border-left: 3px solid var(--primary); border-radius: var(--radius); background: color-mix(in srgb, var(--surface) 92%, var(--soft)); }
.recipe-step-rail > li > span { position: absolute; top: 17px; left: 20px; display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; color: white; background: var(--primary); font-size: 13px; font-weight: 900; }
.recipe-step-rail h3 { margin-bottom: 6px; font-size: 17px; }
.recipe-step-rail p { margin: 0; color: var(--muted); font-size: 14px; }
.recipe-step-rail small { display: block; margin-top: 7px; color: var(--primary); font-size: 12px; font-weight: 800; }

.recipe-security-rows { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.recipe-security-rows > article { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 15px; padding: 19px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.recipe-security-rows > article > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: white; background: linear-gradient(145deg, var(--primary), var(--accent)); font-weight: 900; }

.recipe-vip-comparison { display: grid; gap: 22px; }
.recipe-tier-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 16px; }
.recipe-tier-card { position: relative; min-width: 0; padding: 28px 22px; border: 1px solid var(--border); border-top: 4px solid var(--primary); border-radius: var(--radius); text-align: center; background: var(--surface); }
.recipe-tier-card:nth-child(2) { border-top-color: var(--accent); transform: translateY(-7px); box-shadow: var(--shadow); }
.recipe-tier-card > span { display: inline-grid; width: 38px; height: 38px; place-items: center; margin-bottom: 18px; border-radius: 50%; color: white; background: var(--primary); font-size: 12px; font-weight: 900; }
.recipe-tier-card h3 { margin-bottom: 9px; font-size: 19px; }
.recipe-tier-card p { margin: 0; color: var(--muted); font-size: 14px; }
.recipe-tier-table { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); }

.recipe-payment-chips { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)); gap: 14px; }
.recipe-payment-chips > article { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 13px; align-items: start; padding: 18px; border: 1px solid var(--border); border-radius: 999px 18px 18px 999px; background: var(--surface); }
.recipe-payment-chips > article > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: white; background: var(--primary); }

.recipe-testimonials { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 18px; }
.recipe-testimonials figure { position: relative; margin: 0; padding: 28px; border: 1px solid var(--border); border-radius: calc(var(--radius) * 1.2); background: linear-gradient(145deg, var(--soft), var(--surface)); }
.recipe-testimonials figure::before { display: block; margin-bottom: 12px; color: var(--primary); content: "“"; font: 700 48px/1 Georgia, serif; }
.recipe-testimonials blockquote { margin: 0 0 22px; font-style: italic; }
.recipe-testimonials figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 13px; }
.recipe-testimonials figcaption strong { color: var(--text); }
.recipe-testimonials figcaption small { color: var(--primary); }

.recipe-editorial-list { border-top: 2px solid var(--text); }
.recipe-editorial-list > article { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--border); }
.recipe-editorial-list > article > span { color: var(--primary); font-size: 13px; font-weight: 900; }
.recipe-editorial-list h3 { margin-bottom: 6px; font-size: clamp(18px, 2vw, 23px); }
.recipe-editorial-list p { max-width: 820px; margin: 0; color: var(--muted); }

.recipe-feature-rail { display: grid; grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr); gap: clamp(20px, 3vw, 38px); align-items: stretch; }
.recipe-rail-lead { display: grid; min-width: 0; min-height: 100%; align-content: center; padding: clamp(24px, 3.5vw, 38px); border: 1px solid var(--border); border-radius: calc(var(--radius) * 1.15); background: linear-gradient(150deg, var(--soft), var(--surface)); }
.recipe-rail-lead > span { display: inline-grid; width: 40px; height: 40px; place-items: center; margin-bottom: 24px; border-radius: 50%; color: white; background: var(--primary); font-size: 12px; font-weight: 900; }
.recipe-rail-lead h3 { margin-bottom: 10px; font-size: clamp(22px, 2.6vw, 32px); }
.recipe-rail-lead p, .recipe-rail-list p { margin: 0; color: var(--muted); }
.recipe-rail-image { width: calc(100% + clamp(48px, 7vw, 76px)); max-width: none; margin: calc(clamp(24px, 3.5vw, 38px) * -1) calc(clamp(24px, 3.5vw, 38px) * -1) 24px; aspect-ratio: 16 / 9; object-fit: cover; }
.recipe-rail-list { display: grid; border-top: 1px solid var(--border); }
.recipe-rail-list > article { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 15px; padding: 18px 0; border-bottom: 1px solid var(--border); }
.recipe-rail-list > article > span { color: var(--primary); font-size: 12px; font-weight: 900; }
.recipe-rail-list h3 { margin-bottom: 5px; font-size: 18px; }

.recipe-numbered-orbit { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 15px; }
.recipe-numbered-orbit > article { grid-column: span 4; min-width: 0; padding: 23px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.recipe-numbered-orbit > article:nth-child(4n + 1) { grid-column: span 6; background: linear-gradient(135deg, var(--soft), var(--surface)); }
.recipe-numbered-orbit > article:nth-child(4n + 2) { grid-column: span 6; }
.recipe-numbered-orbit strong { display: block; margin-bottom: 28px; color: var(--primary); font-size: clamp(26px, 4vw, 48px); line-height: 1; }
.recipe-numbered-orbit h3 { margin-bottom: 6px; font-size: 18px; }
.recipe-numbered-orbit p { margin: 0; color: var(--muted); font-size: 14px; }

.recipe-horizontal-timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: timeline; }
.recipe-horizontal-timeline > li { position: relative; min-width: 0; padding: 64px 22px 24px; border-top: 3px solid var(--primary); border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--surface) 94%, var(--soft)); }
.recipe-horizontal-timeline > li:first-child { border-left: 1px solid var(--border); border-radius: var(--radius) 0 0 var(--radius); }
.recipe-horizontal-timeline > li:last-child { border-radius: 0 var(--radius) var(--radius) 0; }
.recipe-horizontal-timeline > li > span { position: absolute; top: 16px; left: 21px; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: white; background: var(--primary); font-size: 12px; font-weight: 900; }
.recipe-horizontal-timeline h3 { margin-bottom: 6px; font-size: 17px; }
.recipe-horizontal-timeline p { margin: 0; color: var(--muted); font-size: 14px; }

.recipe-vip-focus { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 18px; align-items: center; padding: 14px 0; }
.recipe-vip-focus-card { min-width: 0; padding: 30px 24px; border: 1px solid var(--border); border-radius: calc(var(--radius) * 1.15); text-align: center; background: var(--surface); }
.recipe-vip-focus-card.is-featured { padding-top: 42px; padding-bottom: 42px; border-color: var(--accent); background: linear-gradient(145deg, var(--soft), var(--surface)); box-shadow: var(--shadow); }
.recipe-vip-focus-card > span { display: inline-grid; min-width: 58px; min-height: 30px; place-items: center; margin-bottom: 22px; padding: 5px 12px; border-radius: 999px; color: white; background: var(--primary); font-size: 12px; font-weight: 900; }
.recipe-vip-focus-card.is-featured > span { color: #101827; background: var(--accent); }
.recipe-vip-focus-card h3 { margin-bottom: 9px; font-size: 20px; }
.recipe-vip-focus-card p { margin: 0; color: var(--muted); }

.recipe-responsibility-panel { display: grid; gap: 20px; }
.recipe-responsibility-panel > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 15px; }
.recipe-responsibility-panel > div > article { min-width: 0; padding: 24px; border: 1px solid var(--border); border-radius: var(--radius); text-align: center; background: color-mix(in srgb, var(--surface) 92%, var(--soft)); }
.recipe-responsibility-panel article > span { display: inline-grid; width: 44px; height: 44px; place-items: center; margin-bottom: 18px; border-radius: 50%; color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, var(--surface)); font-weight: 900; }
.recipe-responsibility-panel h3 { margin-bottom: 7px; font-size: 18px; }
.recipe-responsibility-panel article p { margin: 0; color: var(--muted); font-size: 14px; }
.recipe-responsibility-panel > aside { display: grid; grid-template-columns: minmax(150px, .3fr) minmax(0, 1fr); gap: 20px; padding: 22px 25px; border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--border)); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 9%, var(--surface)); }
.recipe-responsibility-panel > aside p { margin: 0; color: var(--muted); }

.recipe-media-feature-rail { display: grid; gap: 18px; }
.recipe-media-stage { display: grid; grid-template-columns: minmax(320px, 1.08fr) minmax(0, .92fr); gap: 18px; align-items: stretch; }
.recipe-media-lead { min-width: 0; min-height: 100%; overflow: hidden; border: 1px solid var(--border); border-radius: calc(var(--radius) * 1.15); background: var(--surface); }
.recipe-media-image { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.recipe-media-lead > div { padding: 23px; }
.recipe-media-lead span, .recipe-media-card span { color: var(--primary); font-size: 11px; font-weight: 900; letter-spacing: .1em; }
.recipe-media-lead h3 { margin: 8px 0; font-size: clamp(23px, 2.6vw, 34px); }
.recipe-media-lead p, .recipe-media-card p { margin: 0; color: var(--muted); font-size: 14px; }
.recipe-media-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.recipe-media-remainder { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 14px; }
.recipe-media-card { min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.recipe-media-card > div { padding: 14px; }
.recipe-media-thumb { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.recipe-media-card h3 { margin: 6px 0; font-size: 16px; }

.recipe-editorial-cards { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; }
.recipe-editorial-cards > article { grid-column: span 4; min-width: 0; padding: 24px; border-top: 3px solid var(--primary); background: color-mix(in srgb, var(--surface) 94%, var(--soft)); }
.recipe-editorial-cards > article:first-child { grid-column: span 8; padding: clamp(28px, 4vw, 46px); }
.recipe-editorial-cards > article:nth-child(2) { grid-column: span 4; }
.recipe-editorial-cards > article > span { display: block; margin-bottom: 32px; color: var(--primary); font-size: 12px; font-weight: 900; }
.recipe-editorial-cards h3 { margin-bottom: 7px; font-size: clamp(18px, 2vw, 24px); }
.recipe-editorial-cards p { margin: 0; color: var(--muted); }

.recipe-faq-sidebar { display: grid; grid-template-columns: minmax(210px, .36fr) minmax(0, 1fr); gap: clamp(22px, 4vw, 52px); align-items: stretch; }
.recipe-faq-sidebar > aside { min-height: 100%; padding: 24px; border-radius: var(--radius); color: white; background: linear-gradient(145deg, var(--primary), color-mix(in srgb, var(--primary) 52%, #071426)); }
.recipe-faq-sidebar > aside strong { display: block; margin-bottom: 18px; font-size: clamp(30px, 4vw, 48px); }
.recipe-faq-sidebar ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: 13px; }
.recipe-faq-sidebar li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 8px; }
.recipe-faq-sidebar details { border-bottom: 1px solid var(--border); }
.recipe-faq-sidebar summary { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 12px; padding: 20px 0; font-weight: 850; cursor: pointer; }
.recipe-faq-sidebar summary span { color: var(--primary); font-size: 12px; }
.recipe-faq-sidebar details > div { padding: 0 0 20px 58px; color: var(--muted); }
.recipe-faq-sidebar details p { margin: 0; }

.recipe-payment-showcase { display: grid; gap: 24px; }
.recipe-payment-methods { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 14px; }
.recipe-payment-methods > article { display: grid; min-height: 128px; place-items: center; align-content: center; padding: 22px; border: 1px solid var(--border); border-radius: var(--radius); text-align: center; background: var(--surface); }
.recipe-payment-methods span { color: var(--primary); font-size: 26px; }
.recipe-payment-methods h3 { margin: 10px 0 0; font-size: 17px; }
.recipe-payment-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 16px; }
.recipe-payment-benefits > article { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 13px; align-items: start; padding: 18px 0; border-top: 1px solid var(--border); }
.recipe-payment-benefits > article > span { color: var(--primary); font-size: 20px; }
.recipe-payment-benefits h3 { margin-bottom: 5px; font-size: 17px; }
.recipe-payment-benefits p { margin: 0; color: var(--muted); font-size: 14px; }

.recipe-icon-band { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 175px), 1fr)); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.recipe-icon-band > article { min-width: 0; padding: 24px 18px; border-right: 1px solid var(--border); text-align: center; background: var(--surface); }
.recipe-icon-band > article:last-child { border-right: 0; }
.recipe-icon-band > article > span { display: inline-grid; width: 42px; height: 42px; place-items: center; margin-bottom: 14px; border-radius: 13px; color: white; background: var(--primary); font-weight: 900; }
.recipe-icon-band h3 { margin-bottom: 5px; font-size: 16px; }
.recipe-icon-band p { margin: 0; color: var(--muted); font-size: 13px; }
.recipe-alternating-briefs { display: grid; gap: 14px; }
.recipe-alternating-briefs > article { display: grid; width: min(88%, 940px); grid-template-columns: 46px minmax(0, 1fr); gap: 16px; align-items: start; padding: 22px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.recipe-alternating-briefs > article[data-side="end"] { justify-self: end; }
.recipe-alternating-briefs > article > span, .recipe-decision-lane > article > span, .recipe-summary-strips > li > span, .recipe-hub-spokes article > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: white; background: var(--primary); font-size: 12px; font-weight: 900; }
.recipe-alternating-briefs h3, .recipe-decision-lanes h3, .recipe-summary-strips h3, .recipe-hub-spokes h3 { margin-bottom: 6px; font-size: clamp(17px, 2vw, 22px); }
.recipe-alternating-briefs p, .recipe-decision-lanes p, .recipe-summary-strips p, .recipe-hub-spokes p { margin: 0; color: var(--muted); }
.recipe-decision-lanes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 3vw, 30px); }
.recipe-decision-lane { display: grid; align-content: start; gap: 12px; padding: clamp(18px, 3vw, 28px); border: 1px solid var(--border); border-radius: calc(var(--radius) * 1.1); background: color-mix(in srgb, var(--surface) 91%, var(--soft)); }
.recipe-decision-lane[data-lane="2"] { border-color: color-mix(in srgb, var(--accent) 55%, var(--border)); background: color-mix(in srgb, var(--accent) 7%, var(--surface)); }
.recipe-decision-lane > article { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 13px; padding-bottom: 15px; border-bottom: 1px solid var(--border); }
.recipe-decision-lane > article:last-child { padding-bottom: 0; border-bottom: 0; }
.recipe-summary-strips { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.recipe-summary-strips > li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; align-items: start; padding: 18px 20px; border-left: 4px solid var(--primary); border-radius: 0 var(--radius) var(--radius) 0; background: color-mix(in srgb, var(--soft) 72%, var(--surface)); }
.recipe-hub-spokes { display: grid; grid-template-columns: minmax(250px, .85fr) minmax(0, 1.5fr); gap: clamp(18px, 3vw, 34px); align-items: stretch; }
.recipe-hub-lead { display: grid; align-content: center; padding: clamp(26px, 4vw, 44px); border-radius: calc(var(--radius) * 1.2); color: white; background: linear-gradient(145deg, var(--primary), color-mix(in srgb, var(--primary) 55%, #071426)); }
.recipe-hub-lead > span { margin-bottom: 25px; color: var(--primary) !important; background: white !important; }
.recipe-hub-lead h3 { font-size: clamp(24px, 3vw, 38px); }
.recipe-hub-lead p, .recipe-hub-lead small { color: color-mix(in srgb, white 82%, transparent); }
.recipe-spoke-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.recipe-spoke-grid > article { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; align-content: start; padding: 18px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }

.card-grid.template-bento-grid, .game-grid.template-bento-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: dense; }
.template-bento-grid .content-card.is-featured { grid-column: span 2; grid-row: span 2; }
.template-bento-grid .content-card.is-featured .card-image { aspect-ratio: 16 / 10; }
.featured-card-layout { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr); gap: 20px; align-items: start; }
.featured-lead, .featured-side { min-width: 0; }
.featured-lead .content-card { height: auto; }
.featured-lead .card-image { aspect-ratio: 16 / 9; }
.featured-lead .card-body h3 { font-size: clamp(22px, 2.5vw, 32px); }
.featured-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.featured-side .card-image { aspect-ratio: 16 / 8; }
.featured-side .card-body { padding: 14px; }
.featured-side .card-body h3 { font-size: 16px; }
.featured-remainder { margin-top: 18px; }
.compact-card-list { display: grid; gap: 0; border-top: 1px solid var(--border); }
.compact-card-list .content-card { display: grid; grid-template-columns: minmax(0, 180px) minmax(0, 1fr); align-items: center; border-width: 0 0 1px; border-radius: 0; background: transparent; }
.compact-card-list .card-image { height: 100%; min-height: 110px; aspect-ratio: auto; }
.compact-card-list .content-card:hover { transform: none; box-shadow: none; }
.horizontal-card-track { display: grid; grid-auto-columns: minmax(230px, 30%); grid-auto-flow: column; gap: 16px; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x proximity; }
.horizontal-card-track .content-card { scroll-snap-align: start; }
.game-grid.template-equal-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); }

.service-list.template-feature-list { grid-template-columns: 1fr; }
.template-feature-list .service-item { display: grid; grid-template-columns: 52px minmax(0, 1fr); padding: 26px; }
.template-feature-list .service-icon { width: 48px; height: 48px; border-radius: 50%; font-size: 15px; }
.service-list.template-horizontal-strip {
  display: flex;
  grid-template-columns: none;
  grid-auto-columns: unset;
  grid-auto-flow: unset;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 16px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 0 0 10px;
  scroll-padding-inline: 1px;
  scroll-snap-type: inline proximity;
}
.service-list.template-horizontal-strip > .service-item {
  flex: 1 0 260px;
  min-width: 260px;
  max-width: 360px;
  align-self: stretch;
  scroll-snap-align: start;
}
.service-list.template-horizontal-strip > .service-item > div { min-width: 0; }
.service-list.template-checklist { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--border); }
.template-checklist .service-item { padding: 15px 4px; border-width: 0 0 1px; border-radius: 0; background: transparent; }
.template-checklist .service-icon { flex-basis: 27px; width: 27px; height: 27px; border-radius: 50%; font-size: 0; }
.template-checklist .service-icon::before { content: "✓"; font-size: 13px; }
.service-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(22px, 4vw, 54px); }
.service-split ul { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }

.steps-list.template-timeline { position: relative; display: grid; grid-template-columns: 1fr; max-width: 820px; margin: 0 auto; }
.template-timeline::before { position: absolute; top: 20px; bottom: 20px; left: 17px; width: 2px; content: ""; background: color-mix(in srgb, var(--primary) 35%, var(--border)); }
.template-timeline .step-item { position: relative; border: 0; background: transparent; }
.steps-list.template-connected-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.template-connected-row .step-item { position: relative; display: block; padding-top: 60px; }
.template-connected-row .step-number { position: absolute; top: 18px; left: 20px; border-radius: 50%; }
.steps-list.template-alternating { display: grid; grid-template-columns: 1fr; }
.template-alternating .step-item { width: min(78%, 760px); }
.template-alternating .step-item:nth-child(even) { margin-left: auto; }
.steps-list.template-compact-steps { grid-template-columns: 1fr; gap: 0; }
.template-compact-steps .step-item { padding: 13px 0; border-width: 0 0 1px; border-radius: 0; background: transparent; }

.article-list.template-magazine { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.template-magazine .article-item { display: block; }
.template-magazine .article-item:first-child { grid-row: span 2; }
.template-magazine .article-item:first-child .card-image { aspect-ratio: 16 / 10; margin-bottom: 18px; }
.article-list.template-compact-editorial { gap: 0; border-top: 1px solid var(--border); }
.template-compact-editorial .article-item { grid-template-columns: minmax(100px, .22fr) minmax(0, 1fr); padding: 16px 0; border-width: 0 0 1px; border-radius: 0; }
.article-feature-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 22px; }
.article-feature-layout .article-lead { display: block; }
.article-feature-layout .article-lead .card-image { margin-bottom: 20px; aspect-ratio: 16 / 9; }
.article-feature-layout .article-lead h3 { font-size: clamp(24px, 3vw, 36px); }
.article-feature-list { display: grid; align-content: start; gap: 12px; }
.article-feature-list .article-item { grid-template-columns: minmax(90px, .28fr) minmax(0, 1fr); padding: 12px; }
.article-split-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.article-split-grid .article-item { display: block; }
.article-split-grid .card-image { margin-bottom: 16px; }

.comparison-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.comparison-card { position: relative; padding: 24px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.comparison-card > span { display: inline-grid; width: 34px; height: 34px; place-items: center; margin-bottom: 24px; border-radius: 50%; color: white; background: var(--primary); font-size: 12px; }
.comparison-card h3 { margin-bottom: 8px; font-size: 18px; }
.comparison-card p { color: var(--muted); font-size: 14px; }
.comparison-card small { color: var(--primary); font-weight: 750; }
.key-value-list { margin: 0; border-top: 1px solid var(--border); }
.key-value-list > div { display: grid; grid-template-columns: minmax(170px, .42fr) minmax(0, 1fr); gap: 28px; padding: 19px 0; border-bottom: 1px solid var(--border); }
.key-value-list dt { font-weight: 850; }
.key-value-list dd { margin: 0; color: var(--muted); }
.key-value-list dd p { margin-bottom: 4px; }
.key-value-list small { color: var(--primary); }
.data-table.is-zebra tbody tr:nth-child(even) { background: var(--soft); }

.faq-list.template-two-column { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.faq-list.template-numbered .faq-item summary > span { display: inline; }
.faq-list.template-minimal { gap: 0; border-top: 1px solid var(--border); }
.template-minimal .faq-item { border-width: 0 0 1px; border-radius: 0; background: transparent; }
.template-minimal .faq-item summary { padding-left: 0; }
.template-minimal .faq-item div { padding-left: 0; }

.trust-strip[data-style="cards"] { border: 0; background: var(--background); }
.trust-strip[data-style="cards"] .trust-inner { gap: 14px; padding: 20px 0; }
.trust-strip[data-style="cards"] .trust-item { border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.trust-strip[data-style="badges"] .trust-inner { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; padding: 16px 0; }
.trust-strip[data-style="badges"] .trust-item { flex: 0 1 300px; border: 1px solid var(--border); border-radius: 999px; }
.trust-strip[data-style="ticker"] .trust-inner { display: flex; overflow-x: auto; }
.trust-strip[data-style="ticker"] .trust-item { flex: 1 0 320px; }
.related-links { padding: 28px; border-radius: calc(var(--radius) * 1.25); background: var(--primary); color: white; }
.related-links h2 { margin-bottom: 16px; font-size: 22px; }
.related-links > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.related-links a { display: flex; justify-content: space-between; gap: 12px; padding: 14px; border: 1px solid color-mix(in srgb, white 30%, transparent); border-radius: 10px; }

.site-footer {
  --footer-bg: var(--surface); --footer-ink: var(--text); --footer-muted: var(--muted);
  --footer-line: var(--border); --footer-chip: color-mix(in srgb, var(--primary) 8%, var(--surface));
  position: relative; overflow: hidden; border-top: 1px solid var(--footer-line);
  color: var(--footer-ink); background: var(--footer-bg);
}
.site-footer::before { position: absolute; inset: 0; z-index: 0; pointer-events: none; content: ""; background: radial-gradient(circle at 92% 0, color-mix(in srgb, var(--accent) 12%, transparent), transparent 34%); }
.site-footer a { color: inherit; }
.site-footer a:hover { color: var(--accent); }
.footer-main {
  position: relative; z-index: 1; display: grid; grid-template-areas: "brand nav aux";
  grid-template-columns: minmax(250px, .9fr) minmax(420px, 1.65fr) minmax(220px, .72fr);
  gap: clamp(28px, 4vw, 58px); width: min(var(--max-width), calc(100% - 36px));
  margin: 0 auto; padding: 62px 0 44px;
}
.site-footer[data-has-aux="0"] .footer-main { grid-template-areas: "brand nav"; grid-template-columns: minmax(260px, .95fr) minmax(480px, 2.05fr); }
.footer-brand-panel { grid-area: brand; min-width: 0; }
.footer-navigation { grid-area: nav; min-width: 0; }
.footer-assurance-panel { grid-area: aux; min-width: 0; display: grid; gap: 16px; padding: 20px; border: 1px solid var(--footer-line); border-radius: calc(var(--radius) + 2px); background: color-mix(in srgb, var(--footer-chip) 78%, transparent); }
.footer-logo { display: inline-flex; max-width: min(220px, 100%); margin-bottom: 18px; padding: 8px 12px; border: 1px solid color-mix(in srgb, var(--footer-ink) 10%, transparent); border-radius: 10px; background: color-mix(in srgb, var(--footer-ink) 5%, transparent); line-height: 0; }
.footer-logo img { display: block; width: 100%; height: auto; max-height: 58px; object-fit: contain; object-position: left center; }
.footer-description { max-width: 540px; margin: 0; color: var(--footer-muted); font-size: 14px; line-height: 1.72; }
.footer-brand-extras { display: grid; gap: 14px; margin-top: 20px; }
.footer-nav-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 42px); }
.site-footer[data-group-count="2"] .footer-nav-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-footer[data-group-count="1"] .footer-nav-grid { grid-template-columns: minmax(0, 1fr); }
.footer-group { min-width: 0; }
.footer-group h3, .footer-mini-title { margin: 0 0 14px; color: var(--footer-ink); font-size: 13px; line-height: 1.25; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.footer-group ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.footer-group li { min-width: 0; }
.footer-group a { display: inline-flex; min-height: 30px; align-items: center; color: var(--footer-muted); font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; text-decoration: none; }
.footer-group a[aria-current="page"] { color: var(--accent); font-weight: 850; }
.footer-support-block, .footer-payment-block { min-width: 0; }
.footer-support-lines { display: grid; gap: 7px; color: var(--footer-muted); font-size: 13px; line-height: 1.45; }
.footer-support-lines a { font-weight: 800; overflow-wrap: anywhere; text-decoration: none; }
.footer-support-block[data-support-variant="card"] { padding: 16px; border: 1px solid var(--footer-line); border-radius: var(--radius); background: color-mix(in srgb, var(--footer-bg) 70%, transparent); }
.footer-support-block[data-support-variant="bar"] { padding-top: 14px; border-top: 3px solid var(--accent); }
.footer-payment-list { display: flex; flex-wrap: wrap; gap: 8px; }
.footer-payment-chip { display: inline-flex; min-height: 30px; align-items: center; gap: 7px; padding: 5px 9px; border: 1px solid var(--footer-line); border-radius: 7px; color: var(--footer-ink); background: color-mix(in srgb, var(--footer-bg) 72%, transparent); font-size: 12px; font-weight: 800; }
.footer-payment-chip > span { width: 9px; height: 9px; border-radius: 3px; background: var(--primary); }
.footer-payment-chip[data-payment*="momo"] > span { background: #a50064; }
.footer-payment-chip[data-payment*="zalo"] > span { background: #0068ff; }
.footer-payment-chip[data-payment*="vnpay"] > span { background: #005baa; }
.footer-payment-chip[data-payment*="viettel"] > span { background: #e30019; }
.footer-payment-block[data-payment-variant="badges"] .footer-payment-chip { border-radius: 999px; box-shadow: 0 8px 18px color-mix(in srgb, var(--text) 7%, transparent); }
.footer-payment-block[data-payment-variant="tiles"] .footer-payment-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.footer-payment-block[data-payment-variant="tiles"] .footer-payment-chip { justify-content: center; min-height: 42px; }
.footer-payment-block[data-payment-variant="strip"] .footer-payment-chip { border-width: 0 0 0 3px; border-radius: 3px; background: transparent; }
.footer-age-badge { display: inline-flex; width: fit-content; align-items: center; gap: 9px; color: var(--footer-muted); font-size: 12px; }
.footer-age-badge strong { display: grid; min-width: 42px; min-height: 30px; place-items: center; padding: 4px 8px; border-radius: 8px; color: #101827; background: var(--accent); font-size: 14px; }
.footer-age-badge[data-age-variant="outline"] strong { color: var(--footer-ink); border: 1px solid var(--accent); background: transparent; }
.footer-age-badge[data-age-variant="circle"] strong { width: 42px; height: 42px; padding: 0; border-radius: 50%; }
.footer-responsible-card { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; align-items: start; color: var(--footer-muted); }
.footer-responsible-card strong { display: block; margin-bottom: 5px; color: var(--footer-ink); font-size: 13px; }
.footer-responsible-card p { margin: 0; font-size: 12px; line-height: 1.55; }
.footer-trust-icon { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--footer-line); border-radius: 9px; color: var(--accent); background: color-mix(in srgb, var(--footer-bg) 70%, transparent); font-weight: 900; }
.footer-trust-row { position: relative; z-index: 1; border-top: 1px solid var(--footer-line); border-bottom: 1px solid var(--footer-line); background: color-mix(in srgb, var(--footer-chip) 58%, transparent); }
.footer-trust-inner { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; width: min(var(--max-width), calc(100% - 36px)); margin: 0 auto; padding: 14px 0; }
.footer-trust-item, .footer-support-compact { display: inline-flex; min-width: 0; align-items: center; gap: 9px; color: var(--footer-muted); font-size: 12px; }
.footer-support-compact span:last-child { display: grid; gap: 1px; }
.footer-support-compact strong { color: var(--footer-ink); overflow-wrap: anywhere; }
.footer-support-compact small { color: var(--footer-muted); }
.footer-responsible-chip { display: inline-flex; align-items: center; gap: 7px; color: var(--footer-muted); font-size: 12px; font-weight: 800; }
.footer-responsible-chip > span { color: var(--accent); }
.footer-trust-row .footer-age-badge { margin-right: auto; }
.footer-bottom { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 28px; width: min(var(--max-width), calc(100% - 36px)); margin: 0 auto; padding: 22px 0 calc(22px + env(safe-area-inset-bottom)); border-top: 1px solid var(--footer-line); color: var(--footer-muted); font-size: 12px; }
.footer-legal-copy { display: grid; gap: 5px; max-width: 760px; }
.footer-legal-copy p { margin: 0; line-height: 1.55; }
.footer-utility-links { display: flex; flex-wrap: wrap; gap: 8px 16px; align-content: flex-start; justify-content: flex-end; }
.footer-utility-links a { color: var(--footer-muted); text-decoration: none; white-space: nowrap; }
.site-footer[data-bottom-layout="centered"] .footer-bottom { flex-direction: column; align-items: center; text-align: center; }
.site-footer[data-bottom-layout="centered"] .footer-utility-links { justify-content: center; }
.site-footer[data-bottom-layout="stacked"] .footer-bottom { display: grid; }
.site-footer[data-bottom-layout="stacked"] .footer-utility-links { justify-content: flex-start; }
.site-footer[data-bottom-layout="legal-first"] .footer-bottom { flex-direction: row-reverse; }
.site-footer[data-bottom-layout="legal-first"] .footer-utility-links { justify-content: flex-start; }
.site-footer[data-bottom-layout="compact-inline"] .footer-bottom { align-items: center; padding-top: 14px; padding-bottom: calc(14px + env(safe-area-inset-bottom)); }
.site-footer[data-density="compact"] .footer-main { padding-top: 38px; padding-bottom: 28px; }
.site-footer[data-density="compact"] .footer-description { font-size: 13px; line-height: 1.58; }
.site-footer[data-density="airy"] .footer-main { padding-top: 82px; padding-bottom: 60px; }

.site-footer[data-skin="brand"] { --footer-bg: var(--primary); --footer-ink: #fff; --footer-muted: rgba(255,255,255,.80); --footer-line: rgba(255,255,255,.24); --footer-chip: rgba(255,255,255,.11); }
.site-footer[data-skin="gradient"] { --footer-bg: linear-gradient(135deg, color-mix(in srgb, var(--primary) 88%, #08111f), color-mix(in srgb, var(--primary) 50%, #101827)); --footer-ink: #fff; --footer-muted: rgba(255,255,255,.80); --footer-line: rgba(255,255,255,.22); --footer-chip: rgba(255,255,255,.11); }
.site-footer[data-skin="midnight"] { --footer-bg: #08111f; --footer-ink: #f8fafc; --footer-muted: #b8c7db; --footer-line: rgba(148,163,184,.28); --footer-chip: rgba(30,41,59,.82); }
.site-footer[data-skin="soft-card"] { --footer-bg: var(--soft); --footer-chip: var(--surface); }
.site-footer[data-skin="editorial"] { --footer-bg: var(--background); --footer-chip: color-mix(in srgb, var(--surface) 86%, var(--accent)); }
.site-footer[data-skin="warm"] { --footer-bg: color-mix(in srgb, var(--surface) 90%, var(--accent)); --footer-chip: color-mix(in srgb, var(--surface) 82%, var(--accent)); }
.site-footer[data-skin="glass"] { --footer-bg: linear-gradient(145deg, color-mix(in srgb, var(--surface) 88%, var(--primary)), color-mix(in srgb, var(--surface) 94%, var(--accent))); --footer-chip: color-mix(in srgb, var(--surface) 72%, transparent); }

.site-footer[data-layout="brand-top"] .footer-main { grid-template-areas: "brand brand" "nav aux"; grid-template-columns: minmax(0, 2fr) minmax(240px, .8fr); }
.site-footer[data-layout="brand-top"] .footer-brand-panel { display: grid; grid-template-columns: minmax(180px, .55fr) minmax(280px, 1.25fr) minmax(220px, .8fr); gap: 24px; align-items: center; }
.site-footer[data-layout="brand-top"] .footer-logo { margin-bottom: 0; }
.site-footer[data-layout="brand-top"] .footer-brand-extras { margin-top: 0; }
.site-footer[data-layout="split-matrix"] .footer-main { grid-template-areas: "brand nav" "aux nav"; grid-template-columns: minmax(280px, .9fr) minmax(460px, 1.7fr); }
.site-footer[data-layout="split-matrix"] .footer-brand-panel { padding-right: clamp(20px, 4vw, 58px); border-right: 1px solid var(--footer-line); }
.site-footer[data-layout="support-card"] .footer-assurance-panel { border-color: color-mix(in srgb, var(--accent) 52%, var(--footer-line)); box-shadow: 0 18px 42px color-mix(in srgb, var(--text) 9%, transparent); }
.site-footer[data-layout="trust-banded"] .footer-main { grid-template-areas: "brand nav"; grid-template-columns: minmax(280px, 1fr) minmax(480px, 2fr); }
.site-footer[data-layout="editorial-centered"] .footer-main { grid-template-areas: "brand" "nav" "aux"; grid-template-columns: minmax(0, 1fr); text-align: center; }
.site-footer[data-layout="editorial-centered"] .footer-brand-panel, .site-footer[data-layout="editorial-centered"] .footer-assurance-panel { width: min(760px, 100%); margin: 0 auto; }
.site-footer[data-layout="editorial-centered"] .footer-logo { margin-right: auto; margin-left: auto; }
.site-footer[data-layout="editorial-centered"] .footer-description { margin-right: auto; margin-left: auto; }
.site-footer[data-layout="editorial-centered"] .footer-nav-grid { width: min(900px, 100%); margin: 0 auto; }
.site-footer[data-layout="editorial-centered"] .footer-group ul { justify-items: center; }
.site-footer[data-layout="card-cluster"] .footer-brand-panel, .site-footer[data-layout="card-cluster"] .footer-navigation, .site-footer[data-layout="card-cluster"] .footer-assurance-panel { padding: 24px; border: 1px solid var(--footer-line); border-radius: calc(var(--radius) + 4px); background: color-mix(in srgb, var(--footer-chip) 78%, transparent); }
.site-footer[data-layout="card-cluster"] .footer-main { grid-template-columns: minmax(260px, 1fr) minmax(420px, 1.8fr) minmax(220px, .85fr); gap: 16px; }
.site-footer[data-layout="compact-row"] .footer-main { grid-template-columns: minmax(220px, 1fr) minmax(420px, 2fr) minmax(220px, .9fr); gap: 24px; }

.not-found { display: grid; min-height: 70vh; place-items: center; padding: 60px 20px; text-align: center; }
.not-found strong { display: block; color: var(--primary); font-size: clamp(70px, 14vw, 160px); line-height: 1; }
.not-found h1 { font-size: clamp(30px, 5vw, 56px); }

/* 组件按自己的实际宽度降级，不依赖浏览器窗口宽度来猜测可用空间。 */
@container (max-width: 760px) {
  .recipe-brand-split, .recipe-security-rows, .recipe-feature-rail, .recipe-media-stage, .recipe-faq-sidebar, .recipe-decision-lanes, .recipe-hub-spokes { grid-template-columns: 1fr; }
  .recipe-feature-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recipe-mosaic-card, .recipe-mosaic-card:first-child, .recipe-mosaic-card:nth-child(2) { grid-column: auto; }
  .recipe-numbered-orbit, .recipe-editorial-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .recipe-numbered-orbit > article, .recipe-numbered-orbit > article:nth-child(4n + 1), .recipe-numbered-orbit > article:nth-child(4n + 2), .recipe-editorial-cards > article, .recipe-editorial-cards > article:first-child, .recipe-editorial-cards > article:nth-child(2) { grid-column: auto; }
  .featured-card-layout, .article-feature-layout { grid-template-columns: 1fr; }
}

@media (max-width: 1120px) {
  body.mobile-menu-open { overflow: hidden; }
  /* backdrop-filter 会让内部 fixed 菜单改以 Header 为包含块；移动端必须取消，
     否则 70px 高的 Header 配合 top:70px 会把 drawer/full-overlay 压成近零高度。 */
  .site-header { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .site-header[data-layout="floating"] { border-bottom: 1px solid color-mix(in srgb, var(--header-ink) 16%, transparent); background: var(--header-panel); box-shadow: 0 8px 28px color-mix(in srgb, var(--text) 7%, transparent); }
  .site-header[data-layout="floating"] .header-inner { margin-top: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .header-inner, .site-header[data-layout="wide"] .header-inner, .site-header[data-layout="floating"] .header-inner { display: flex; width: 100%; min-height: 70px; gap: clamp(7px, 2vw, 13px); padding: 0 10px; }
  .brand { min-width: 0; margin-right: auto; }
  .brand-desktop { display: none; }
  .brand-mobile { display: inline-flex; }
  .nav-toggle { display: block; flex: 0 0 44px; order: 2; }
  .auth-actions { order: 3; gap: 7px; }
  .auth-button { min-width: 0; min-height: 39px; padding: 7px 13px; font-size: 12px; }
  .auth-login { border-color: transparent; background: transparent; }
  .auth-register { min-width: 70px; border-radius: 999px; }
  .site-nav { position: absolute; z-index: 85; top: 100%; right: 0; left: 0; display: none; width: 100%; max-height: calc(100vh - 70px); max-height: calc(100dvh - 70px); overflow: auto; overscroll-behavior: contain; padding: 12px; border: 1px solid var(--border); border-top: 3px solid var(--accent); border-radius: 0 0 calc(var(--radius) + 4px) calc(var(--radius) + 4px); color: var(--text); background: color-mix(in srgb, var(--surface) 97%, white); box-shadow: 0 22px 50px color-mix(in srgb, var(--text) 22%, transparent); -webkit-overflow-scrolling: touch; }
  .site-nav.is-open { display: grid; }
  .site-nav a { padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: color-mix(in srgb, var(--surface) 96%, var(--soft)); font-size: 15px; font-weight: 850; }
  .site-nav a:hover, .site-nav a[aria-current="page"] { color: #101827; border-color: var(--accent); background: var(--accent); }
  .site-nav a::after { display: none; }
  .site-header[data-mobile-menu="stacked-buttons"] .site-nav { gap: 9px; text-align: center; }
  .site-header[data-mobile-menu="stacked-buttons"] .site-nav a { min-height: 47px; }
  .site-header[data-mobile-menu="compact-list"] .site-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .site-header[data-mobile-menu="compact-list"] .site-nav a { padding: 10px 11px; border-color: transparent; border-bottom-color: var(--border); border-radius: 5px; background: transparent; font-size: 14px; }
  .site-header[data-mobile-menu="tile-grid"] .site-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .site-header[data-mobile-menu="tile-grid"] .site-nav a { display: grid; min-height: 66px; place-items: center; text-align: center; }
  .site-header[data-mobile-menu="drawer"] .site-nav, .site-header[data-mobile-menu="full-overlay"] .site-nav { position: fixed; top: 70px; bottom: auto; height: calc(100vh - 70px); height: calc(100dvh - 70px); max-height: calc(100vh - 70px); max-height: calc(100dvh - 70px); }
  .site-header[data-mobile-menu="drawer"] .site-nav { right: 0; left: auto; width: min(86vw, 390px); align-content: start; gap: 8px; border-radius: 0; padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
  .site-header[data-mobile-menu="full-overlay"] .site-nav { right: 0; left: 0; width: 100%; align-content: center; gap: 10px; padding: clamp(24px, 8vw, 70px); padding-bottom: max(clamp(24px, 8vw, 70px), env(safe-area-inset-bottom)); border-radius: 0; text-align: center; }
  .site-header[data-mobile-menu="full-overlay"] .site-nav a { width: min(520px, 100%); margin: 0 auto; }
  .module-row--pair .content-section[data-row-role="pair-start"], .module-row--pair .content-section[data-row-role="pair-end"] { grid-column: 1 / -1; }
  .content-section[data-shell="split"] .section-inner { grid-template-columns: 1fr; gap: 24px; }
  .content-section[data-shell="split"] .section-heading { position: static; }
  .footer-main, .site-footer[data-layout="brand-top"] .footer-main, .site-footer[data-layout="split-matrix"] .footer-main, .site-footer[data-layout="support-card"] .footer-main, .site-footer[data-layout="trust-banded"] .footer-main, .site-footer[data-layout="card-cluster"] .footer-main, .site-footer[data-layout="compact-row"] .footer-main { grid-template-areas: "brand nav" "aux aux"; grid-template-columns: minmax(240px, .9fr) minmax(420px, 1.6fr); }
  .site-footer[data-has-aux="0"] .footer-main { grid-template-areas: "brand nav"; }
  .site-footer[data-layout="brand-top"] .footer-brand-panel { display: block; }
  .site-footer[data-layout="brand-top"] .footer-logo { margin-bottom: 18px; }
  .site-footer[data-layout="brand-top"] .footer-brand-extras { margin-top: 20px; }
  .site-footer[data-layout="split-matrix"] .footer-brand-panel { padding-right: 0; border-right: 0; }
  .site-footer[data-layout="editorial-centered"] .footer-main { grid-template-areas: "brand" "nav" "aux"; grid-template-columns: 1fr; }
  .hero-inner, .hero[data-variant="2"] .hero-inner, .hero[data-variant="3"] .hero-inner { grid-template-columns: 1fr; min-height: 0; padding: 58px 0; }
  .hero[data-variant="2"] .hero-media, .hero[data-variant="2"] .hero-copy { grid-column: auto; grid-row: auto; }
  .hero-copy { max-width: 820px; }
  .hero-media { width: min(760px, 100%); }
  .hero[data-variant="3"] .hero-image { aspect-ratio: 16 / 10; }
}

@media (max-width: 720px) {
  body { font-size: 15px; }
  .hero-inner, .trust-inner, .page-shell, .footer-main, .footer-trust-inner, .footer-bottom { width: min(100% - 28px, var(--max-width)); }
  .brand-mark { flex-basis: 34px; width: 34px; height: 34px; }
  .brand-short { max-width: 88px; font-size: 15px; }
  .nav-toggle { flex-basis: 41px; width: 41px; height: 40px; }
  .auth-button { padding-right: 9px; padding-left: 9px; }
  .auth-register { min-width: 62px; }
  .hero h1 { font-size: clamp(34px, 12vw, 52px); }
  .hero[data-variant="4"] .hero-copy { padding: 24px; }
  .hero-image, .hero[data-variant="5"] .hero-image { aspect-ratio: 16 / 10; }
  .hero-media--css { min-height: 260px; }
  .hero-support { gap: 10px 14px; margin-top: 22px; }
  .hero-support[data-variant="stats"], .hero-support[data-variant="mixed"] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero > .hero-support[data-position="hero-bottom"] { width: calc(100% - 28px); margin-top: -18px; }
  .trust-inner { grid-template-columns: 1fr; }
  .trust-item + .trust-item { border-top: 1px solid var(--border); border-left: 0; }
  .section-inner { padding: 22px 18px; }
  .content-section[data-width="narrow"] { width: 100%; }
  .section-heading { grid-template-columns: 1fr; gap: 12px; }
  .content-section[data-heading="split-label"] .section-heading { display: block; }
  .content-section[data-heading="split-label"] .section-heading > div { display: block; }
  .content-section[data-heading="split-label"] .section-heading h2 { margin-bottom: 8px; }
  .section-index { width: 36px; height: 36px; }
  .service-list, .steps-list, .related-links > div, .service-split, .article-split-grid, .article-list.template-magazine, .faq-list.template-two-column { grid-template-columns: 1fr; }
  .card-grid.template-bento-grid, .game-grid.template-bento-grid { grid-template-columns: 1fr; }
  .template-bento-grid .content-card.is-featured { grid-column: auto; grid-row: auto; }
  .featured-card-layout, .article-feature-layout { grid-template-columns: 1fr; }
  .featured-side { grid-template-columns: 1fr; }
  .recipe-brand-split, .recipe-security-rows, .recipe-feature-rail, .recipe-media-stage, .recipe-faq-sidebar { grid-template-columns: 1fr; }
  .recipe-feature-mosaic { grid-template-columns: 1fr; }
  .recipe-mosaic-card, .recipe-mosaic-card:first-child, .recipe-mosaic-card:nth-child(2) { grid-column: auto; grid-row: auto; }
  .recipe-step-rail { grid-template-columns: 1fr; }
  .recipe-numbered-orbit, .recipe-editorial-cards { grid-template-columns: 1fr; }
  .recipe-numbered-orbit > article, .recipe-numbered-orbit > article:nth-child(4n + 1), .recipe-numbered-orbit > article:nth-child(4n + 2), .recipe-editorial-cards > article, .recipe-editorial-cards > article:first-child, .recipe-editorial-cards > article:nth-child(2) { grid-column: auto; }
  .recipe-horizontal-timeline { grid-template-columns: 1fr; gap: 12px; }
  .recipe-horizontal-timeline > li, .recipe-horizontal-timeline > li:first-child, .recipe-horizontal-timeline > li:last-child { border: 1px solid var(--border); border-top: 3px solid var(--primary); border-radius: var(--radius); }
  .recipe-vip-focus-card.is-featured { padding-top: 30px; padding-bottom: 30px; }
  .recipe-responsibility-panel > aside { grid-template-columns: 1fr; }
  .recipe-media-side { grid-template-columns: 1fr; }
  .recipe-faq-sidebar details > div { padding-left: 0; }
  .recipe-icon-band { grid-template-columns: 1fr; }
  .recipe-icon-band > article { border-right: 0; border-bottom: 1px solid var(--border); }
  .recipe-icon-band > article:last-child { border-bottom: 0; }
  .recipe-alternating-briefs > article, .recipe-alternating-briefs > article[data-side="end"] { width: 100%; justify-self: stretch; }
  .recipe-spoke-grid { grid-template-columns: 1fr; }
  .recipe-tier-card:nth-child(2) { transform: none; }
  .recipe-payment-chips > article { border-radius: var(--radius); }
  .horizontal-card-track { grid-auto-columns: minmax(240px, 82%); }
  .service-list.template-horizontal-strip > .service-item {
    flex: 0 0 min(82vw, 320px);
    min-width: min(82vw, 320px);
    max-width: min(82vw, 320px);
  }
  .compact-card-list .content-card { grid-template-columns: minmax(90px, 120px) minmax(0, 1fr); }
  .template-alternating .step-item { width: 100%; }
  .key-value-list > div { grid-template-columns: 1fr; gap: 6px; }
  .article-item { grid-template-columns: 1fr; }
  .article-item .card-image { aspect-ratio: 16 / 9; }
  .footer-main, .site-footer[data-layout="brand-top"] .footer-main, .site-footer[data-layout="split-matrix"] .footer-main, .site-footer[data-layout="support-card"] .footer-main, .site-footer[data-layout="trust-banded"] .footer-main, .site-footer[data-layout="editorial-centered"] .footer-main, .site-footer[data-layout="card-cluster"] .footer-main, .site-footer[data-layout="compact-row"] .footer-main { grid-template-areas: "brand" "nav" "aux"; grid-template-columns: 1fr; gap: 30px; padding-top: 44px; padding-bottom: 34px; text-align: left; }
  .site-footer[data-has-aux="0"] .footer-main { grid-template-areas: "brand" "nav"; }
  .footer-nav-grid, .site-footer[data-group-count="2"] .footer-nav-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 18px; }
  .footer-group:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .site-footer[data-layout="editorial-centered"] .footer-group ul { justify-items: start; }
  .site-footer[data-layout="editorial-centered"] .footer-logo, .site-footer[data-layout="editorial-centered"] .footer-description { margin-left: 0; }
  .footer-group a { min-height: 40px; }
  .footer-description { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
  .footer-trust-inner { justify-content: flex-start; }
  .footer-bottom, .site-footer[data-bottom-layout="centered"] .footer-bottom, .site-footer[data-bottom-layout="legal-first"] .footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; text-align: left; }
  .footer-utility-links, .site-footer[data-bottom-layout="centered"] .footer-utility-links { justify-content: flex-start; }
}

@media (max-width: 430px) {
  .header-inner, .site-header[data-layout="wide"] .header-inner, .site-header[data-layout="floating"] .header-inner { width: 100%; gap: 5px; padding-right: 7px; padding-left: 7px; }
  .brand-mobile { gap: 5px; }
  .brand-short { max-width: 70px; font-size: 13px; }
  .nav-toggle { flex-basis: 38px; width: 38px; height: 38px; padding: 8px; }
  .auth-button { padding: 6px 7px; font-size: 11px; }
  .auth-register { min-width: 56px; }
  .footer-logo { max-width: 160px; }
  .footer-nav-grid, .site-footer[data-group-count="2"] .footer-nav-grid { gap: 22px 12px; }
  .footer-group h3 { font-size: 12px; }
  .footer-group a { font-size: 13px; }
  .footer-assurance-panel, .site-footer[data-layout="card-cluster"] .footer-brand-panel, .site-footer[data-layout="card-cluster"] .footer-navigation, .site-footer[data-layout="card-cluster"] .footer-assurance-panel { padding: 18px; }
  .footer-payment-list { gap: 6px; }
  .footer-payment-chip { padding: 5px 8px; font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }

