/* Scoped promotion styles preserve the existing magazine theme. */
.promo-preview-bar { min-height: 34px; padding: 7px 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 5px 16px; background: #24231f; color: #f7f4ee; font-size: 12px; }
.promo-preview-bar nav { display: flex; gap: 18px; }
.promo-preview-bar a { padding: 2px 0; color: inherit; }
.promo-preview-bar a[aria-current] { text-decoration: underline; text-underline-offset: 4px; }
.promo-preview-bar a:hover { color: #edd0af; }
.promo-placement { margin: 4px 0 24px; padding-top: 16px; border-top: 1px solid var(--line); scroll-margin-top: 100px; }
.promo-placement-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 20px; margin-bottom: 10px; }
.promo-placement-head h2 { margin: 0; font: 600 14px var(--font); color: var(--muted); }
.promo-placement-head > a { padding: 5px 0; font-size: 13px; color: var(--accent-ink); }
.promo-game { display: grid; grid-template-columns: 118px minmax(0,1fr); gap: 20px; align-items: center; max-width: 740px; padding: 16px; border: 1px solid #d9c6ac; background: #f0e9dd; }
.promo-game-image { padding: 0; border: 0; background: transparent; cursor: pointer; }
.promo-board { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; padding: 5px; aspect-ratio: 1; border-radius: 4px; background: #baab97; font: 700 12px/1 var(--font); }
.promo-board span { min-width: 0; display: grid; place-items: center; border-radius: 2px; background: #e9e0d2; color: #695c4c; }
.promo-board span:nth-child(3n) { background: #e4b78a; color: #4b3925; }
.promo-board span:nth-child(5n) { background: #a84a2f; color: #fff8ef; }
.promo-board .board-goal { background: #c99b45; color: #fffdf7; font-size: 10px; }
.promo-game-label { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 5px; color: #796e5e; font: 12px/1.4 var(--font); }
.promo-ad-label { display: inline-block; padding: 2px 6px; border: 1px solid #a28c70; color: #5b4d3d; }
.promo-game h3 { margin: 0 0 3px; }
.promo-title-button { padding: 0; border: 0; background: transparent; color: var(--text); font: 700 25px/1.25 var(--serif); cursor: pointer; }
.promo-title-button:hover { color: var(--accent-ink); }
.promo-game-copy > p:not(.promo-game-label) { margin: 0 0 5px; font-size: 14px; color: #625c52; }
.promo-game-link { padding: 4px 0; border: 0; background: transparent; color: var(--accent-ink); font-size: 14px; font-weight: 650; cursor: pointer; }
.promo-game-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.promo-placement-note, .promo-small { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.promo-page { max-width: 990px; }
.promo-back { display: inline-block; padding: 2px 0 16px; color: var(--muted); font-size: 14px; }
.promo-hero { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(235px,.8fr); gap: 34px; align-items: start; padding: 30px 0 34px; border-top: 2px solid var(--text); }
.promo-kicker { margin: 0 0 16px; color: var(--accent-ink); font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.promo-hero h1 { margin: 0 0 22px; font-size: clamp(30px,3.8vw,47px); line-height: 1.25; letter-spacing: -.025em; }
.promo-hero-copy > p:not(.promo-kicker) { max-width: 530px; }
.promo-lead { font-size: 18px; font-weight: 600; }
.promo-proof { margin: 24px 0; padding: 21px 0 18px; border-top: 1px solid #cdbda8; border-bottom: 1px solid #cdbda8; }
.promo-proof-eyebrow { margin: 0 0 10px; color: #76624a; font-size: 13px; }
.promo-proof-number { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin: 0; color: var(--accent-ink); }
.promo-proof-number strong { font: 700 clamp(52px,6vw,74px)/1 var(--serif); letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.promo-proof-number > span { font-size: 17px; font-weight: 600; }
.promo-proof-label { margin: 9px 0 10px; font-size: 17px; font-weight: 650; }
.promo-proof-note { max-width: 440px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.promo-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 22px; margin-top: 24px; }
.promo-button, .promo-outline { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 10px 18px; border: 1px solid var(--text); border-radius: 3px; background: var(--text); color: var(--bg); font: 650 15px/1.5 var(--font); cursor: pointer; text-align: center; }
.promo-button:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.promo-outline { background: transparent; color: var(--text); }
.promo-outline:hover { background: var(--soft); }
.promo-text-link { display: inline-block; padding: 6px 0; color: var(--accent-ink); font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.promo-offer { padding: 23px; background: #eee6d9; border-top: 3px solid var(--accent); }
.promo-offer-label { font-size: 12px; font-weight: 600; color: #706454; }
.promo-offer h2 { margin: 8px 0 22px; font-size: 25px; }
.promo-offer dl { margin: 0; }
.promo-offer dl > div { padding: 11px 0; border-top: 1px solid #d5c9b8; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; font-size: 14px; }
.promo-offer dt { color: #776c5e; }
.promo-offer dd { margin: 0; font-weight: 600; }
.promo-offer > p { margin: 17px 0 0; color: #766b5e; font-size: 12px; }
.promo-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; margin-bottom: 38px; }
.promo-benefits > div { padding-top: 16px; border-top: 1px solid var(--text); }
.promo-benefits > div > span { color: var(--accent-ink); font-size: 12px; font-weight: 600; }
.promo-benefits h2 { margin: 10px 0; font-size: 19px; line-height: 1.45; }
.promo-benefits p { margin: 0; color: var(--muted); font-size: 14px; }
.promo-section { padding: 30px 0 34px; border-top: 1px solid var(--line); }
.promo-section > .promo-kicker { margin-bottom: 9px; }
.promo-section h2 { margin: 0 0 18px; font-size: 27px; line-height: 1.4; }
.promo-placement-explainer { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); align-items: center; gap: 28px; }
.promo-placement-explainer p:not(.promo-kicker):not(.promo-small) { color: var(--muted); }
.promo-game-small { grid-template-columns: 90px minmax(0,1fr); gap: 14px; padding: 14px; }
.promo-game-small .promo-board { gap: 3px; padding: 4px; font-size: 9px; }
.promo-game-small .board-goal { font-size: 8px; }
.promo-process { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 0; margin: 0; list-style: none; }
.promo-process > li { display: flex; align-items: start; gap: 13px; }
.promo-process > li > span { flex: none; color: var(--accent-ink); font-size: 18px; font-weight: 700; }
.promo-process h3 { margin: 0 0 7px; font-size: 16px; }
.promo-process p { margin: 0; color: var(--muted); font-size: 14px; }
.promo-inquiry { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 32px; scroll-margin-top: 100px; }
.promo-inquiry-intro > p:not(.promo-kicker) { color: var(--muted); font-size: 14px; }
.promo-preview-note { margin-top: 24px; padding: 14px 16px; background: #eee6d9; font-size: 13px; }
.promo-preview-note p { margin: 6px 0 0; color: #716555; }
.promo-form { padding: 23px; background: #faf8f3; border: 1px solid var(--line); }
.promo-form-heading { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-bottom: 20px; }
.promo-form-heading h3 { margin: 0; font-size: 20px; }
.promo-example { padding: 4px 0; border: 0; background: transparent; color: var(--accent-ink); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.promo-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.promo-field { min-width: 0; margin-bottom: 17px; }
.promo-field label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.promo-field label > span:not(.promo-optional) { color: var(--accent-ink); }
.promo-field input, .promo-field select, .promo-field textarea { display: block; width: 100%; min-width: 0; min-height: 43px; padding: 10px 11px; border: 1px solid #ccc3b7; border-radius: 3px; background: #fffefb; font: 14px/1.5 var(--font); }
.promo-field textarea { resize: vertical; }
.promo-field input:focus, .promo-field textarea:focus, .promo-field select:focus { border-color: var(--accent); outline: 2px solid #a7452926; outline-offset: 1px; }
.promo-field small, .promo-form-note { display: block; margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.promo-optional { margin-left: 4px; color: var(--muted); font-size: 12px; font-weight: 400; }
.promo-confirm { display: flex; align-items: start; gap: 9px; margin: 0 0 18px; font-size: 13px; cursor: pointer; }
.promo-confirm input { flex: none; width: 16px; height: 16px; margin: 3px 0 0; accent-color: var(--accent); }
.promo-submit { width: 100%; }
.promo-form-note { margin-top: 9px; }
.promo-faq details { border-top: 1px solid var(--line); }
.promo-faq details:last-child { border-bottom: 1px solid var(--line); }
.promo-faq summary { padding: 16px 0; font-weight: 600; cursor: pointer; }
.promo-faq details p { max-width: 760px; margin: 0 0 18px; color: var(--muted); font-size: 14px; }
.promo-page-end { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 18px 0; border-top: 2px solid var(--text); font-size: 15px; }
.promo-dialog { position: fixed; padding: 26px; width: min(540px,calc(100vw - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto; border: 1px solid var(--text); border-top: 3px solid var(--accent); border-radius: 4px; background: var(--bg); color: var(--text); }
.promo-dialog::backdrop { background: #24231f88; }
.promo-dialog h2 { margin: 0 0 14px; font: 700 27px/1.3 var(--serif); }
.promo-close { position: absolute; right: 9px; top: 7px; width: 34px; height: 34px; border: 0; background: transparent; color: var(--muted); font-size: 24px; cursor: pointer; }
.promo-dialog-note { font-size: 13px; color: var(--muted); }
.promo-draft-dialog { width: min(660px,calc(100vw - 32px)); }
.promo-draft-dialog > p:not(.promo-kicker) { color: var(--muted); font-size: 14px; }
#draft-content { width: 100%; padding: 12px; border: 1px solid var(--line); border-radius: 3px; background: #fffefb; font: 13px/1.6 var(--font); resize: vertical; }
.promo-draft-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.promo-status { min-height: 20px; margin: 10px 0 0; color: var(--accent-ink) !important; font-size: 13px; }
/* This static preview must not simulate account or payment actions. */
.promotion-preview [data-fav] { display: none; }
.promotion-preview [hidden] { display: none !important; }
.promo-reset-inline { border: 0; background: none; color: #d8c9b3; padding: 2px 0; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.promo-purchase-offer .promo-plan-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px; margin: 0; color: var(--text); }
.promo-plan-price strong { font: 700 36px/1.2 var(--serif); }
.promo-purchase-offer .promo-demo-price { margin: 6px 0 20px; }
.promo-purchase-offer .promo-estimate-note { line-height: 1.7; margin: 14px 0 19px; }
.promo-purchase-offer > .promo-button { width: 100%; }
.promo-purchase-offer > .promo-text-link { margin-top: 9px; }
.promo-buy-steps { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 24px 0 0; font-size: 13px; }
.promo-buy-steps li { display: flex; align-items: center; gap: 6px; }
.promo-buy-steps li > span { width: 21px; height: 21px; display: grid; place-items: center; color: var(--bg); background: var(--text); border-radius: 50%; font-size: 11px; }
.promo-mobile-compare { display: none; }
.promo-audience-proof { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding: 20px 0 25px; border-top: 1px solid var(--line); }
.promo-audience-proof > div { display: flex; flex-direction: column; gap: 5px; padding-left: 15px; border-left: 2px solid #cdbda8; }
.promo-audience-proof > div:first-child { border-color: var(--accent); }
.promo-audience-proof span { font-size: 13px; color: var(--muted); }
.promo-audience-proof strong { font: 700 30px/1.2 var(--serif); }
.promo-audience-proof b { font-size: 14px; color: var(--accent-ink); }
.promo-audience-proof > p { grid-column: 1/-1; margin: 0; color: var(--muted); font-size: 12px; }
.promo-package-disclosure { max-width: 850px; margin: 0 0 24px; font-size: 13px; color: var(--muted); line-height: 1.8; }
.promo-mode-options { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; border: 0; padding: 0; margin: 0 0 25px; }
.promo-mode-options legend { font-size: 14px; font-weight: 700; padding: 0 0 12px; }
.promo-mode-options label { display: flex; align-items: start; gap: 9px; padding: 15px; border: 1px solid #cdbda8; cursor: pointer; background: #faf8f3; font-size: 13px; line-height: 1.7; }
.promo-mode-options input { flex: none; margin-top: 4px; accent-color: var(--accent); }
.promo-mode-options label:has(input:checked) { border-color: var(--accent); background: #f5e9dd; }
.promo-capacity { margin: 0 0 12px; color: var(--accent-ink); font-size: 12px; }
.promo-package-rate { margin: 13px 0 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.promo-package-rate a { color: var(--accent-ink); }
.promo-device-estimates { font-size: 12px; margin-top: 15px; }
.promo-device-estimates summary { cursor: pointer; padding: 7px 0; color: var(--accent-ink); }
.promo-device-estimates table, .promo-exposure-method table { width: 100%; table-layout: fixed; border-collapse: collapse; margin-top: 8px; }
.promo-device-estimates th, .promo-device-estimates td, .promo-exposure-method td, .promo-exposure-method th { padding: 7px 4px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.promo-device-estimates td { font-size: 11px; line-height: 1.6; }
.promo-device-estimates th:first-child { width: 32px; }
.promo-device-estimates caption { font-size: 11px; color: var(--muted); text-align: left; padding: 6px 0; }
.promo-exposure-method { font-size: 13px; line-height: 1.8; padding: 16px 0 0; }
.promo-exposure-method summary { cursor: pointer; color: var(--accent-ink); font-weight: 600; }
.promo-exposure-method p { max-width: 820px; color: var(--muted); }
@media(max-width:700px) { .promo-mode-options { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; } .promo-mode-options label { padding: 11px 9px; gap: 6px; } }
.promo-packages { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.promo-slot-package { min-width: 0; padding: 18px 14px 16px; margin: 0; border: 1px solid #cdbda8; background: #faf8f3; }
.promo-slot-package legend { padding: 0 6px; font: 700 20px/1.3 var(--serif); }
.promo-slot-package legend span { color: var(--accent-ink); margin-right: 4px; font: 700 14px var(--font); }
.promo-package-position { margin: 0 0 13px; font-size: 14px; }
.promo-package-position a { font-size: 12px; color: var(--accent-ink); white-space: nowrap; }
.promo-device-positions { font-size: 12px; margin: 0 0 16px; padding: 0 0 10px; border-bottom: 1px solid var(--line); }
.promo-device-positions > div { display: flex; justify-content: space-between; gap: 6px; margin-bottom: 5px; }
.promo-device-positions dt { color: var(--muted); }
.promo-device-positions dd { margin: 0; }
.promo-package-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.promo-package-options > label { position: relative; min-width: 0; cursor: pointer; }
.promo-package-options input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.promo-option-body { min-height: 128px; height: 100%; display: flex; flex-direction: column; gap: 6px; align-items: center; text-align: center; padding: 12px 4px; border: 1px solid #d9d1c5; background: #fffefb; }
.promo-option-body > span { font-size: 13px; }
.promo-option-body strong { font-size: 16px; white-space: nowrap; }
.promo-option-body small { font-size: 10px; color: var(--muted); margin-top: 3px; }
.promo-option-body b { max-width: 100%; overflow-wrap: anywhere; font-size: 11px; line-height: 1.5; color: var(--muted); font-weight: 400; }
.promo-package-options input:checked + .promo-option-body { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); background: #f5e9dd; }
.promo-package-options input:focus-visible + .promo-option-body { outline: 3px solid var(--accent); outline-offset: 2px; }
.promo-booking, #packages { scroll-margin-top: 145px; }
.promo-booking-heading > p:not(.promo-kicker) { color: var(--muted); font-size: 14px; margin: 0 0 23px; }
.promo-booking-layout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(240px,.8fr); gap: 28px; align-items: start; }
.promo-selected-game { display: grid; grid-template-columns: 65px minmax(0,1fr); gap: 13px; padding: 14px 0 20px; }
.promo-selected-icon { display: grid; place-items: center; height: 65px; background: #c99b45; color: #fffdf7; font: 700 20px var(--font); }
.promo-selected-game p { font-size: 12px; line-height: 1.6; margin: 5px 0; color: var(--muted); }
.promo-selected-game span { font-size: 11px; color: var(--accent-ink); }
.promo-order-summary { border-top: 3px solid var(--text); padding: 20px 0; }
.promo-order-summary h3 { margin: 0 0 15px; font-size: 21px; }
.promo-order-summary > p:not(.promo-kicker) { font-size: 13px; color: var(--muted); }
.promo-order-summary dl, .promo-payment-details, #result-details { margin: 0; font-size: 13px; }
.promo-order-summary dl > div, .promo-payment-details > div, #result-details > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.promo-order-summary dt, .promo-payment-details dt, #result-details dt { color: var(--muted); }
.promo-order-summary dd, .promo-payment-details dd, #result-details dd { margin: 0; text-align: right; }
.promo-order-total { margin-top: 6px; font-weight: 700; font-size: 18px; }
.promo-order-total dt { color: var(--text); }
.promo-booking-result { margin-top: 28px; padding: 24px; border: 1px solid #b5c3ac; border-top: 3px solid #52694b; background: #f0f2e9; scroll-margin-top: 145px; }
.promo-booking-result h3 { font-size: 23px; margin: 0 0 12px; }
.promo-result-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; align-items: center; }
.promo-payment-dialog { width: min(560px,calc(100vw - 32px)); }
.promo-payment-dialog .promo-submit { margin-top: 12px; }
.promo-button:disabled { opacity: .5; cursor: default; }
@media(max-width:1100px) { .promo-packages { grid-template-columns: minmax(0,1fr); } .promo-slot-package { padding: 18px; } .promo-option-body { min-height: 116px; } }
@media(max-width:700px) { .promo-catalog-card { scroll-margin-top: 180px; } .promo-mobile-compare { display: inline-flex; margin-top: 5px; } .promo-purchase-offer { display: none; } .promo-booking-layout { grid-template-columns: minmax(0,1fr); gap: 23px; } .promo-audience-proof { gap: 10px; } .promo-audience-proof > div { padding-left: 10px; } .promo-audience-proof strong { font-size: 26px; } .promo-booking-result { padding: 18px; } }
.promo-catalog { scroll-margin-top: 120px; }
.promo-catalog-head-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px 20px; }
.promo-catalog-head-meta > a { color: var(--accent-ink); font-size: 13px; }
.promo-catalog-card { min-width: 0; scroll-margin-top: 130px; }
.promo-catalog-card .card-link { border-radius: 2px; outline-offset: 3px; }
.promo-catalog-card .card-link:focus-visible { outline: 2px solid var(--accent); }
.promo-list-cover { outline: 1px solid #b7a387; outline-offset: -1px; background: #d8c9b3; }
.promo-list-cover .promo-board { height: 100%; aspect-ratio: auto; padding: 8px; gap: 5px; border-radius: 0; font-size: 15px; background: #c5b59d; }
.promo-list-cover .board-goal { font-size: 12px; }
.promo-list-badge { position: absolute; left: 7px; top: 7px; padding: 3px 7px; border-radius: 2px; background: #302a23; color: #fff8ef; font: 600 12px/1.2 var(--font); box-shadow: 0 1px 3px #302a2326; }
.promo-list-example { color: #796950; font-size: 12px; }
.promo-list-open { padding: 2px 0; border: 0; background: none; font: 600 13px/1.5 var(--font); color: var(--accent-ink); cursor: pointer; white-space: nowrap; }
.promo-list-open:hover { text-decoration: underline; text-underline-offset: 3px; }
.promo-catalog-note { margin: 18px 0 0; color: var(--muted); font-size: 12px; }
.promo-catalog-sample { width: min(100%,260px); margin: 0 auto; }
@media (min-width: 1280px) { .home > .promo-placement { grid-column: 1 / -1; } }
@media (max-width: 1000px) { .promo-hero { grid-template-columns: minmax(0,1.15fr) minmax(220px,.85fr); gap: 24px; } }
@media (max-width: 700px) {
  .promo-hero { grid-template-columns: minmax(0,1fr); gap: 24px; padding-top: 24px; }
  .promo-hero h1 { font-size: 36px; }
  .promo-offer { padding: 20px; }
  .promo-benefits { grid-template-columns: minmax(0,1fr); gap: 18px; margin-bottom: 24px; }
  .promo-benefits h2 { margin: 7px 0; }
  .promo-placement-explainer, .promo-inquiry { grid-template-columns: minmax(0,1fr); }
  .promo-process { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .promo-preview-note { margin-top: 16px; }
  .promo-form { padding: 18px; }
  .promo-section { padding: 25px 0 28px; }
}
@media (max-width: 480px) {
  .promo-catalog .block-head { align-items: start; gap: 12px; }
  .promo-catalog-head-meta { flex-direction: column; align-items: flex-end; gap: 3px; }
  .promo-catalog-head-meta > a { font-size: 12px; }
  .promo-list-cover .promo-board { padding: 5px; gap: 3px; font-size: 12px; }
  .promo-list-cover .board-goal { font-size: 10px; }
  .promo-list-badge { top: 5px; left: 5px; font-size: 11px; }
  .promo-list-open { font-size: 12px; }
  .promo-preview-bar { padding: 7px 12px; font-size: 11px; }
  .promo-preview-bar nav { gap: 12px; }
  .promo-placement-head { align-items: start; }
  .promo-placement-head > a { max-width: 180px; padding: 0; font-size: 12px; text-align: right; }
  .promo-game { grid-template-columns: 92px minmax(0,1fr); gap: 13px; padding: 12px; }
  .promo-board { font-size: 10px; }
  .promo-board .board-goal { font-size: 8px; }
  .promo-game-extra { display: none; }
  .promo-game-copy > p:not(.promo-game-label) { font-size: 13px; }
  .promo-title-button { font-size: 23px; }
  .promo-hero h1 { font-size: 33px; }
  .promo-section h2 { font-size: 24px; }
  .promo-form-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
  .promo-draft-actions > * { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.promo-auto-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; list-style:none; padding:0; margin:20px 0; font-size:12px; }
.promo-auto-flow li { padding:12px; border:1px solid #cdbda8; background:#faf8f3; }
.promo-notification-preview { margin:20px 0; padding:16px; border:1px solid #cdbda8; background:#faf8f3; font-size:13px; }
.promo-notification-preview summary { font-weight:700; cursor:pointer; }
.promo-notification-preview dl > div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid var(--line); }
.promo-notification-preview dt { color:var(--muted); }
.promo-notification-preview dd { margin:0; overflow-wrap:anywhere; }
@media(max-width:700px) { .promo-auto-flow { grid-template-columns:1fr; } .promo-notification-preview dl > div { grid-template-columns:1fr; gap:4px; } }

/* Live account data, Stripe test Checkout and persistent order status. */
.promo-page [hidden]{display:none!important}.promo-page{min-width:0}.promo-test-banner{display:flex;flex-wrap:wrap;gap:5px 14px;padding:12px 15px;border:1px solid #cdbda8;background:#eee6d9;font-size:12px}.promo-test-banner strong{color:var(--accent-ink)}.promo-test-banner span{color:var(--muted)}.promo-capacity{font-size:12px;color:var(--accent-ink)}.promo-page fieldset{min-width:0}.promo-mode-picker{border:0;padding:0;margin:18px 0 24px}.promo-mode-picker legend{font-size:13px;margin-bottom:9px}.promo-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.promo-mode-options label{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #cdbda8;background:#faf8f3;cursor:pointer}.promo-mode-options small{display:block;color:var(--muted);font-size:12px}.promo-mode-options strong{font-size:14px}.promo-mode-options input{accent-color:var(--accent)}.promo-device-estimates{margin-top:12px}.promo-device-estimates summary{font-size:12px;cursor:pointer}.promo-device-estimates table{width:100%;table-layout:fixed;border-collapse:collapse}.promo-package-rate{font-size:11px;color:var(--muted)}.promo-auto-flow{list-style:none;padding:0;display:grid;gap:7px}.promo-auto-flow li{padding:11px;border:1px solid #c8c8b8;background:#faf8f3;font-size:13px}.promo-notification-preview{padding:13px;border:1px solid #c8c8b8;background:#faf8f3;font-size:13px}.promo-notification-preview summary{cursor:pointer;font-weight:650}.promo-booking-result dd,.promo-booking-result p{overflow-wrap:anywhere}#promotion-result{scroll-margin-top:170px}#promotion-service-status{overflow-wrap:anywhere}#promotion-orders{overflow-wrap:anywhere}.promo-list-badge{z-index:1}.promo-page button:disabled{opacity:.5;cursor:default}@media(max-width:700px){.promo-option-body{min-height:120px}.promo-mode-options label{padding:10px}.promo-order-summary dd{max-width:70%}.promo-booking-result{padding:17px}.promo-page .promo-hero h1{font-size:36px}}@media(prefers-reduced-motion:reduce){.promo-page{scroll-behavior:auto}}
/* Formal preflight remains readable while payment acceptance is off. */
.promo-live-banner{background:#edf0e8;border-color:#c0c8b6}.promo-live-banner strong{color:#43543d}.promo-test-banner>*{min-width:0;overflow-wrap:anywhere}.promo-payment-details dd{overflow-wrap:anywhere}.promo-result-actions>*{max-width:100%}@media(max-width:480px){.promo-test-banner{padding:11px 12px;gap:5px}.promo-test-banner span{display:block;width:100%}.promo-result-actions{align-items:stretch}.promo-result-actions .promo-button,.promo-result-actions .promo-outline{width:100%}}

/* Four fixed-price positions; a static banner does not interrupt the catalog. */
.promo-packages{grid-template-columns:repeat(2,minmax(0,1fr))}
.promo-paid-banner{margin:18px 0;border:1px solid var(--line);border-left:3px solid var(--accent);background:#f4eee3;scroll-margin-top:150px}
.promo-paid-banner-link{display:grid;grid-template-columns:140px minmax(0,1fr) auto;align-items:center;gap:20px;padding:15px;color:var(--text);text-decoration:none}
.promo-paid-banner-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.promo-paid-banner-cover{height:88px;overflow:hidden;background:#e0d1b5;border-radius:3px;display:grid;place-items:center}
.promo-paid-banner-cover img{width:100%;height:100%;object-fit:cover}
.promo-banner-label{font-size:11px;color:var(--muted)}
.promo-paid-banner-copy{min-width:0}.promo-paid-banner-copy h2{margin:4px 0;font-size:21px;line-height:1.3;overflow-wrap:anywhere}.promo-paid-banner-copy p{margin:6px 0 0;font-size:13px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.promo-banner-action{font-size:13px;white-space:nowrap;color:var(--accent-ink)}
@media(max-width:700px){.promo-packages{grid-template-columns:minmax(0,1fr)}.promo-paid-banner-link{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:12px}.promo-paid-banner-cover{height:76px}.promo-paid-banner-copy h2{font-size:17px}.promo-paid-banner-copy p{font-size:12px;-webkit-line-clamp:2}.promo-banner-action{display:none}}
