@charset "UTF-8";

/* GO365 homepage proposal 02 — approved vibrant orange palette. */
:root {
  --navy: #2B2D42;
  --deep: #FFF9F5;
  --gold: #FF6B35;
  --paper: #FFF9F5;
  --card: #FFFFFF;
  --ink: #2B2D42;
  --muted: #67594F;
  --urgent: #F25C05;
  --line-green: #06C755;
  --line: #EEDBCB;
  --container: 1240px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 115px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.7 "Segoe UI", "Noto Sans TC", "Microsoft JhengHei", sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, p, ol, ul { margin: 0; }
h1, h2, h3 { color: var(--navy); line-height: 1.4; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; background: none; border: 0; cursor: pointer; }
button, a, label { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button, a, input { outline-offset: 5px; }
:focus-visible { outline: 3px solid var(--gold); }
::selection { color: var(--navy); background: #F0D08F; }
.container { width: min(var(--container), calc(100% - 96px)); margin-inline: auto; }
.icon { width: 22px; height: 22px; display: inline-block; flex: none; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.definitions { position: absolute; width: 0; height: 0; overflow: hidden; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 18px; top: 10px; z-index: 100; padding: 12px 20px; color: white; background: var(--navy); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.area-text > span { display: none; }
.mobile-only { display: none; }
.eyebrow { font-size: 12px; font-weight: 650; letter-spacing: 1.8px; color: var(--muted); line-height: 1.6; }

/* Header and first-choice cities */
.demo-strip { background: #EDE8DF; color: #68717B; border-bottom: 1px solid #E2DDD4; font-size: 11px; letter-spacing: .6px; }
.demo-strip .container { min-height: 30px; display: flex; align-items: center; justify-content: space-between; }
.demo-strip b { margin-left: 7px; font-size: 12px; color: var(--navy); }
.demo-strip button { display: inline-flex; gap: 7px; align-items: center; min-height: 30px; font-size: 11px; padding: 0; }
.demo-strip .icon { width: 12px; height: 12px; }
.site-header { position: sticky; top: 0; z-index: 20; background: #FFFDF9; border-bottom: 1px solid #E8E5DE; }
.header-inner { min-height: 94px; display: flex; align-items: center; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 18px; flex-shrink: 0; }
.brand-word { position: relative; display: inline-flex; align-items: baseline; color: var(--navy); font-size: 40px; font-weight: 850; letter-spacing: -2px; line-height: 1; padding-right: 11px; }
.brand-word > span { color: var(--navy); }
.brand-word > i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); right: 0; bottom: 2px; }
.brand-name { border-left: 1px solid #D5D7D8; padding-left: 18px; font-size: 19px; font-weight: 750; letter-spacing: 3px; line-height: 1.35; color: var(--navy); }
.brand-name small { display: block; margin-top: 6px; font-size: 10px; font-weight: 450; letter-spacing: .8px; white-space: nowrap; color: var(--muted); }
.site-header nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.site-header nav a { position: relative; padding: 31px 0; font-size: 14px; font-weight: 600; white-space: nowrap; }
.site-header nav a:hover { color: var(--urgent); }
.site-header nav .active::after { content: ""; position: absolute; height: 3px; width: 22px; bottom: 20px; left: 50%; transform: translateX(-50%); background: var(--gold); }
.header-tools { display: flex; gap: 21px; align-items: center; }
.type-control { position: relative; cursor: pointer; }
.type-control input, .refresh-control input, .area-choice input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.type-control > span { display: inline-flex; gap: 7px; align-items: center; padding: 8px 0; min-height: 42px; white-space: nowrap; font-size: 12px; color: var(--muted); }
.type-control b { color: var(--navy); font-size: 20px; font-weight: 750; letter-spacing: -1px; }
.type-control input:checked + span { color: var(--navy); box-shadow: inset 0 -2px var(--gold); }
.type-control input:focus-visible + span, .refresh-control input:focus-visible + span, .area-choice input:focus-visible + span { outline: 3px solid var(--gold); outline-offset: 3px; }
.merchant-link { display: inline-flex; gap: 12px; align-items: center; min-height: 42px; padding: 9px 14px; font-size: 13px; border: 1px solid #CDD2D8; border-radius: 3px; white-space: nowrap; }
.merchant-link:hover { background: var(--navy); color: white; border-color: var(--navy); }
.merchant-link .icon { width: 15px; height: 15px; }
.city-bar { display: flex; align-items: center; gap: 23px; min-height: 84px; padding-block: 13px; }
.city-caption { font-size: 13px; font-weight: 650; white-space: nowrap; color: var(--muted); }
.metro-choices, .other-choices { padding: 0; margin: 0; border: 0; min-width: 0; }
.metro-choices { display: flex; gap: 6px; align-items: center; flex: 1; }
.area-choice { position: relative; display: block; cursor: pointer; }
.area-choice > span { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 16px; border: 1px solid transparent; border-radius: 3px; color: var(--navy); font-size: 14px; line-height: 1.5; white-space: nowrap; transition: background .18s, color .18s, border-color .18s; }
.area-choice:hover > span { background: #EAE6DE; }
.area-choice input:checked + span { color: var(--navy); border-color: var(--gold); background: var(--gold); font-weight: 700; }
.more-areas { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; white-space: nowrap; color: var(--muted); min-height: 44px; }
.more-areas:hover { color: var(--urgent); }
.more-areas .icon { width: 15px; height: 15px; }

/* Repair hero: questions remain the foreground, photography remains an annotated grid. */
.hero-shell { position: relative; overflow: hidden; background: var(--deep); color: var(--card); isolation: isolate; }
.hero-visual { position: absolute; inset: 0 0 0 auto; width: 42%; background-color: #24364A; background-image: linear-gradient(90deg, #0D1B2A 0%, #0D1B2A30 29%, transparent 63%), linear-gradient(#C1B59A14 1px, transparent 1px), linear-gradient(90deg, #C1B59A14 1px, transparent 1px); background-size: auto, 42px 42px, 42px 42px; color: #B6BDCA; z-index: -1; }
.hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #0D1B2ADE 0%, transparent 60%); pointer-events: none; }
.visual-corner { position: absolute; width: 33px; height: 33px; border-color: #A5ADB34A; border-style: solid; z-index: 1; }
.corner-tl { border-width: 1px 0 0 1px; top: 45px; left: 31%; }
.corner-br { border-width: 0 1px 1px 0; bottom: 47px; right: 40px; }
.visual-label { position: absolute; left: 33%; right: 25px; top: 38%; display: flex; align-items: center; gap: 13px; color: #B8C0CA; font-size: 15px; letter-spacing: 1px; }
.visual-label .icon { width: 29px; height: 29px; stroke-width: 1.2; }
.visual-label small { display: block; font-size: 11px; color: #8796A6; margin-top: 7px; letter-spacing: 2px; }
.visual-number { position: absolute; right: 36px; top: 9%; font: 150px/1 Georgia, serif; letter-spacing: -10px; color: #D7BF9020; }
.visual-caption { position: absolute; bottom: 81px; right: 12%; left: 33%; z-index: 1; border-top: 1px solid #C7C4B02C; padding-top: 22px; }
.visual-caption > span { display: block; font-size: 22px; line-height: 1.85; color: #D8DCE1; letter-spacing: 1px; }
.visual-caption small { display: block; color: #8596A6; font-size: 11px; letter-spacing: 2.6px; margin-top: 20px; }
.hero-content { padding-top: 45px; padding-bottom: 32px; }
.hero-intro, .geo-panel { width: 67%; position: relative; }
.location-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #CED6DF; font-size: 12px; letter-spacing: .7px; }
.location-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--gold); margin-right: 3px; }
.line-divider { height: 11px; width: 1px; background: #6B7B8D; margin-inline: 6px; }
.area-status { color: #A6B4C2; }
.area-status .area-text { color: #E8D0A0; }
.hero-intro h1 { font-size: 42px; font-weight: 750; letter-spacing: -.8px; line-height: 1.3; color: var(--card); margin-top: 16px; }
.slogan { display: block; color: #F4ECDD; font-size: 32px; font-weight: 550; line-height: 1.55; margin-top: 3px; letter-spacing: -.3px; }
.slogan em { font-style: normal; color: var(--gold); font-weight: 750; letter-spacing: 1px; }
.hero-desc { font-size: 15px; line-height: 1.9; color: #BAC5D1; margin-top: 13px; }
.geo-panel { margin-top: 29px; }
.geo-heading { display: flex; gap: 18px; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.geo-heading h2 { color: #F6F2E8; font-size: 20px; font-weight: 650; letter-spacing: .3px; }
.refresh-control { position: relative; cursor: pointer; flex-shrink: 0; }
.refresh-control > span { display: flex; align-items: center; gap: 6px; min-height: 38px; font-size: 12px; color: #E3BA70; padding: 6px 0 6px 8px; }
.refresh-control .icon { width: 15px; height: 15px; }
.refresh-control:hover > span { color: #FFE0A9; }
.question-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.question-card { position: relative; display: flex; flex-direction: column; gap: 8px; min-width: 0; min-height: 102px; padding: 14px 18px 15px; text-align: left; border-radius: 4px; border: 1px solid #FBF9F41A; background: #FBF9F4; color: var(--ink); box-shadow: 0 3px 10px #0000000A; transition: background .18s, transform .18s, box-shadow .18s; }
.question-card:hover { background: #FFFCF3; transform: translateY(-2px); box-shadow: 0 5px 18px #00000026; }
.question-card:focus-visible { outline-offset: 3px; }
.question-top { display: flex; align-items: center; gap: 9px; line-height: 1.3; }
.question-top .icon { width: 19px; height: 19px; color: #536477; stroke-width: 1.6; }
.question-top > span { font-size: 14px; color: var(--navy); font-weight: 750; letter-spacing: .2px; }
.question-top small { margin-left: auto; font-size: 10px; color: #84909A; letter-spacing: 1.2px; font-variant-numeric: tabular-nums; }
.question-text { display: block; font-size: 15px; line-height: 1.65; color: #4C5E6F; padding-right: 23px; overflow-wrap: anywhere; }
.card-arrow { position: absolute; right: 15px; bottom: 16px; color: #8B7B60; }
.card-arrow .icon { width: 15px; height: 15px; }
.question-card.urgent { background: #F5E6C8; border-color: #E7A83B80; }
.urgent .question-top .icon, .urgent .question-top > span { color: #934105; }
.urgent:hover { background: #F9E4B8; }
.batch-b { display: none; }
body:has(#question-batch:checked) .batch-a { display: none; }
body:has(#question-batch:checked) .batch-b { display: grid; }
.geo-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 20px; color: #A6B5C4; font-size: 12px; }
.geo-bottom > span, .geo-bottom > button { display: inline-flex; gap: 7px; align-items: center; }
.geo-bottom > button { color: #EAD2A6; min-height: 42px; padding: 5px 0; white-space: nowrap; }
.geo-bottom .icon { width: 16px; height: 16px; }
.geo-bottom > button:hover { color: #FFEDCC; }

/* Remaining counties and the path from a problem to a professional */
.all-regions { display: grid; grid-template-columns: 1fr; gap: 22px; padding-top: 37px; padding-bottom: 40px; scroll-margin-top: 110px; }
.regions-intro { display: flex; align-items: baseline; gap: 17px; flex-wrap: wrap; }
.regions-intro .eyebrow { font-size: 11px; letter-spacing: 1px; }
.regions-intro h2 { font-size: 20px; font-weight: 650; letter-spacing: .2px; }
.regions-intro p { color: var(--muted); font-size: 12px; margin-left: auto; }
.other-choices { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 9px; }
.other-choices .area-choice > span { border-color: #DCDDD6; background: #FBF9F4; min-height: 43px; font-size: 13px; padding-inline: 8px; }
.other-choices .area-choice:hover > span { background: #EEE9DF; border-color: #B4B9BC; }
.other-choices .area-choice input:checked + span { background: var(--navy); border-color: var(--navy); color: var(--card); }
.how-section { display: flex; align-items: center; gap: 58px; padding-block: 34px 45px; border-top: 1px solid #DEDFD7; }
.how-title { font-size: 16px; line-height: 1.7; color: var(--muted); flex-shrink: 0; }
.how-title strong { color: var(--navy); font-weight: 650; }
.how-section ol { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px; flex: 1; }
.how-section li { display: flex; align-items: flex-start; gap: 14px; min-width: 0; }
.how-section li > span { font: 22px/1.5 Georgia, serif; color: #B29766; }
.how-section h3 { font-size: 15px; font-weight: 650; }
.how-section li p { font-size: 12px; color: var(--muted); margin-top: 5px; }

/* Related services are future destinations, not repair categories. */
.life-section { background: #ECEBE5; border-block: 1px solid #E2E1D9; padding: 80px 0 63px; }
.life-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 35px; }
.life-heading .eyebrow { color: #777F7F; font-size: 12px; letter-spacing: 1.8px; }
.life-heading h2 { font-size: 34px; line-height: 1.5; letter-spacing: -.7px; font-weight: 650; margin-top: 11px; }
.life-heading > p { font-size: 13px; line-height: 1.95; color: #727D81; }
.portal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.portal-card { background: #FBF9F4; border: 1px solid #DCDED7; border-radius: 5px; overflow: hidden; min-width: 0; }
.portal-art { height: 228px; position: relative; display: flex; align-items: center; justify-content: center; background-color: #DAD6CB; background-image: linear-gradient(#8C827318 1px, transparent 1px), linear-gradient(90deg, #8C827318 1px, transparent 1px); background-size: 32px 32px; color: #857D70; }
.portal-art::before { content: ""; position: absolute; inset: 19px; border: 1px solid #7F7B6A26; }
.portal-art > .icon { width: 49px; height: 49px; stroke-width: 1; opacity: .8; transform: translateY(-12px); }
.portal-status { display: inline-block; font-size: 10px; color: #687377; letter-spacing: .9px; border: 1px solid #C7CBC2; border-radius: 2px; padding: 3px 8px; background: #F7F5EECC; line-height: 1.6; }
.portal-art .portal-status { position: absolute; top: 20px; left: 20px; z-index: 1; }
.portal-image-note { position: absolute; left: 20px; right: 20px; bottom: 50px; text-align: center; font-size: 12px; letter-spacing: 2px; color: #79796F; }
.clean-portal .portal-art { background-color: #D7DFDD; color: #728984; background-image: linear-gradient(#718F8819 1px, transparent 1px), linear-gradient(90deg, #718F8819 1px, transparent 1px); }
.clean-portal .portal-image-note { color: #6D8580; }
.portal-copy { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 27px 31px 31px; }
.portal-domain { font-size: 11px; color: #8A8170; letter-spacing: 1px; }
.clean-portal .portal-domain { color: #718781; }
.portal-copy h3 { font-size: 25px; font-weight: 650; letter-spacing: .3px; margin-top: 4px; }
.portal-copy h3 + p { font-size: 13px; color: #707D81; margin-top: 9px; }
.portal-index { font: 45px/1 Georgia, serif; color: #CBC8BC; font-weight: 400; flex-shrink: 0; }
.future-portal { position: relative; display: grid; grid-template-columns: 62px 1fr auto; column-gap: 21px; align-items: start; padding: 28px 30px; background: #F4F3EC; }
.future-icon { grid-row: 1 / 5; width: 62px; height: 62px; display: grid; place-items: center; background: #E9E8DD; color: #8E9381; border-radius: 50%; margin-top: 8px; }
.future-icon .icon { width: 29px; height: 29px; stroke-width: 1.2; }
.future-portal > .portal-status { grid-column: 3; grid-row: 1 / 3; align-self: start; background: transparent; font-size: 9px; margin-top: 5px; white-space: nowrap; }
.future-portal h3 { grid-column: 2; grid-row: 1; font-size: 20px; font-weight: 650; }
.future-portal p { grid-column: 2 / -1; font-size: 12px; color: #78827F; margin-top: 5px; }
.future-caption { grid-column: 2 / -1; color: #8E9690; font-size: 10px; letter-spacing: .5px; margin-top: 13px; }
.portal-footnote { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 27px; font-size: 11px; color: #7B857D; letter-spacing: .4px; }
.small-square { width: 4px; height: 4px; background: #A3AA99; display: inline-block; }

/* Merchant information and footer */
.button { display: inline-flex; align-items: center; justify-content: center; gap: 27px; min-height: 50px; padding: 12px 22px; border-radius: 3px; font-size: 14px; line-height: 1.6; font-weight: 600; text-align: center; transition: background .18s, box-shadow .18s; }
.button.navy { background: var(--navy); color: var(--card); }
.button.navy:hover { background: #263E5C; box-shadow: 0 4px 14px #14263F18; }
.button .icon { width: 18px; height: 18px; }
.merchant-banner { display: flex; align-items: center; gap: 26px; padding-block: 62px; }
.merchant-symbol { width: 71px; height: 71px; border-radius: 50%; display: grid; place-items: center; color: #A4864D; background: #ECE2CC; flex-shrink: 0; }
.merchant-symbol .icon { width: 32px; height: 32px; stroke-width: 1.25; }
.merchant-banner h2 { font-size: 24px; font-weight: 650; line-height: 1.55; margin-top: 5px; }
.merchant-banner p:not(.eyebrow) { font-size: 13px; color: var(--muted); margin-top: 7px; }
.merchant-banner .eyebrow { font-size: 11px; letter-spacing: 1px; }
.merchant-banner .button { margin-left: auto; flex-shrink: 0; }
footer { color: #C4CDD6; background: var(--navy); }
.footer-top { display: flex; align-items: center; gap: 42px; padding-top: 39px; padding-bottom: 33px; }
.footer-brand .brand-word, .footer-brand .brand-word > span, .footer-brand .brand-name { color: #F6F1E6; }
.footer-brand .brand-word { font-size: 35px; }
.footer-brand .brand-name { border-color: #576476; font-size: 17px; }
.footer-brand .brand-name small { color: #AAB5C1; font-size: 9px; }
.footer-top > p { font-size: 12px; line-height: 1.9; color: #AAB8C6; }
.back-top { font-size: 12px; margin-left: auto; color: #D5DEDD; padding: 12px 0; }
.back-top:hover { color: var(--gold); }
.footer-bottom { border-top: 1px solid #FFFFFF1A; display: flex; justify-content: space-between; gap: 24px; padding-top: 18px; padding-bottom: 22px; font-size: 10px; color: #94A3B4; letter-spacing: .3px; }

/* Native popovers: no scripts or external resources. */
.sheet { position: fixed; inset: 0; margin: auto; width: min(730px, calc(100% - 40px)); max-height: calc(100dvh - 56px); padding: 38px 40px 34px; overflow: auto; overscroll-behavior: contain; border: 1px solid #DDDCCF; border-radius: 8px; background: var(--card); color: var(--ink); box-shadow: 0 25px 100px #0D1B2A45; }
.sheet::backdrop { background: #0D1B2AB3; backdrop-filter: blur(4px); }
.small-sheet { width: min(570px, calc(100% - 40px)); }
.close { position: absolute; top: 15px; right: 16px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: #EEEDE5; color: var(--navy); }
.close:hover { background: #DFE2DD; }
.close .icon { width: 18px; height: 18px; }
.sheet > .eyebrow { font-size: 11px; color: #887449; padding-right: 35px; }
.sheet h2 { margin-top: 11px; padding-right: 14px; font-size: 27px; line-height: 1.55; font-weight: 650; }
.sheet-lead { margin-top: 10px; font-size: 14px; color: var(--muted); line-height: 1.85; }
.preview-notice { padding: 13px 16px; margin-top: 21px; font-size: 12px; line-height: 1.8; background: #F1E9D7; color: #77603B; border-left: 2px solid var(--gold); }
.store-preview { display: grid; gap: 14px; margin-top: 23px; }
.store-row { display: grid; grid-template-columns: 123px minmax(0, 1fr); gap: 21px; padding: 16px; border: 1px solid #E0E0D7; border-radius: 4px; background: #FFFEFA; }
.mini-photo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; min-height: 133px; padding: 12px; background-color: #E4E1D7; background-image: linear-gradient(#A79F8C29 1px, transparent 1px), linear-gradient(90deg, #A79F8C29 1px, transparent 1px); background-size: 20px 20px; color: #8A8674; text-align: center; border-radius: 2px; }
.mini-photo .icon { width: 26px; height: 26px; stroke-width: 1.1; }
.mini-photo span { font-size: 10px; line-height: 1.7; }
.store-tag { display: inline-block; font-size: 10px; color: #8A754F; border: 1px solid #E4D9C3; padding: 2px 6px; border-radius: 2px; margin-bottom: 7px; }
.store-row h3 { font-size: 19px; line-height: 1.5; }
.store-row p { color: var(--muted); font-size: 13px; margin-top: 6px; }
.store-region { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px; color: #7A8791; font-size: 11px; line-height: 1.8; margin-top: 12px; }
.store-region .icon { width: 13px; height: 13px; }
.sheet-note { font-size: 12px; line-height: 1.9; color: var(--muted); margin-top: 23px; }
.sheet > .button { margin-top: 23px; }
.sheet-icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; color: #A5884C; background: #F1E5CC; margin-bottom: 22px; }
.sheet-icon .icon { width: 26px; height: 26px; }
.merchant-steps { padding-left: 23px; margin: 22px 0; font-size: 15px; }
.merchant-steps li { padding: 8px 0 8px 5px; }
.merchant-steps li::marker { color: #A48340; font-weight: 700; }
.demo-features { margin-top: 22px; padding-left: 22px; font-size: 14px; line-height: 1.9; }
.demo-features li + li { margin-top: 10px; }

/* Responsive layouts */
@media (max-width: 1150px) {
  .container { width: calc(100% - 64px); }
  .header-inner { gap: 22px; }
  .brand-word { font-size: 35px; }
  .brand { gap: 13px; }
  .brand-name { padding-left: 13px; font-size: 17px; letter-spacing: 2px; }
  .brand-name small { font-size: 9px; }
  .site-header nav { gap: 20px; }
  .header-tools { gap: 15px; }
  .merchant-link { padding-inline: 11px; font-size: 12px; gap: 8px; }
  .city-caption { display: none; }
  .metro-choices { gap: 8px; }
  .area-choice > span { padding-inline: 17px; }
  .hero-intro, .geo-panel { width: 70%; }
  .hero-visual { width: 42%; }
  .visual-caption { right: 7%; left: 40%; }
  .visual-caption > span { font-size: 18px; }
  .visual-label { left: 40%; font-size: 12px; flex-direction: column; align-items: flex-start; }
  .hero-intro h1 { font-size: 40px; }
  .question-card { padding-inline: 15px; }
  .question-text { font-size: 14px; }
  .how-section { gap: 35px; }
  .how-section ol { gap: 25px; }
  .how-section li { gap: 10px; }
  .life-heading h2 { font-size: 30px; }
  .portal-copy { padding-inline: 25px; }
  .future-portal { grid-template-columns: 48px 1fr auto; column-gap: 15px; padding: 24px; }
  .future-icon { width: 48px; height: 48px; }
  .future-portal h3 { font-size: 19px; }
}
@media (max-width: 900px) {
  .container { width: calc(100% - 48px); }
  .header-inner { min-height: 83px; gap: 20px; }
  .site-header nav { gap: 18px; }
  .site-header nav a { font-size: 12px; }
  .merchant-link { display: none; }
  .brand-name small { display: none; }
  .brand-name { letter-spacing: 2px; }
  .header-tools { margin-left: 0; }
  .city-bar { gap: 16px; min-height: 77px; }
  .metro-choices { gap: 3px; }
  .metro-choices .area-choice { flex: 1; }
  .area-choice > span { font-size: 13px; padding-inline: 11px; }
  .more-areas { font-size: 12px; gap: 5px; }
  .hero-intro, .geo-panel { width: 80%; }
  .hero-content { padding-top: 35px; }
  .hero-visual { width: 45%; opacity: .7; }
  .visual-number { font-size: 115px; right: 15px; top: 12%; }
  .visual-label { left: 62%; right: 15px; font-size: 11px; letter-spacing: 0; top: 18%; }
  .visual-label small { font-size: 10px; letter-spacing: 0; }
  .visual-caption { display: none; }
  .corner-tl { left: 60%; }
  .hero-intro h1 { font-size: 38px; }
  .slogan { font-size: 28px; }
  .geo-heading h2 { font-size: 19px; }
  .geo-panel { margin-top: 25px; }
  .question-card { min-height: 112px; padding: 14px; }
  .question-text { font-size: 14px; }
  .other-choices { gap: 7px; }
  .other-choices .area-choice > span { font-size: 12px; padding-inline: 3px; }
  .regions-intro { gap: 10px 15px; }
  .regions-intro p { width: 100%; margin-left: 0; }
  .how-section { align-items: flex-start; gap: 29px; padding-block: 30px 36px; }
  .how-title { font-size: 14px; }
  .how-section ol { gap: 19px; }
  .how-section li { display: block; }
  .how-section li > span { font-size: 19px; }
  .how-section h3 { font-size: 14px; margin-top: 5px; }
  .how-section li p { font-size: 11px; }
  .life-section { padding-top: 58px; padding-bottom: 46px; }
  .life-heading { align-items: flex-start; gap: 25px; }
  .life-heading h2 { font-size: 27px; }
  .life-heading > p { font-size: 12px; padding-top: 24px; }
  .portal-grid { gap: 19px; }
  .portal-art { height: 190px; }
  .portal-copy { padding: 23px; gap: 15px; }
  .portal-copy h3 { font-size: 22px; }
  .portal-copy h3 + p { font-size: 12px; }
  .portal-index { font-size: 34px; }
  .future-portal { padding: 23px 19px; grid-template-columns: 43px 1fr; gap: 0 14px; }
  .future-icon { width: 43px; height: 43px; }
  .future-icon .icon { width: 24px; height: 24px; }
  .future-portal > .portal-status { grid-column: 2; grid-row: 4; justify-self: start; margin-top: 15px; }
  .future-caption { display: none; }
  .future-portal p { font-size: 11px; }
  .merchant-banner { gap: 20px; padding-block: 44px; flex-wrap: wrap; }
  .merchant-banner h2 { font-size: 22px; }
  .merchant-symbol { width: 60px; height: 60px; }
  .merchant-banner .button { font-size: 13px; gap: 15px; padding-inline: 18px; }
}
@media (max-width: 640px) {
  html { scroll-padding-top: 92px; }
  .container { width: calc(100% - 36px); }
  .demo-strip { font-size: 10px; }
  .demo-strip .container, .demo-strip button { min-height: 28px; }
  .demo-strip button { font-size: 10px; }
  .header-inner { min-height: 74px; justify-content: space-between; gap: 14px; }
  .brand { gap: 12px; }
  .brand-word { font-size: 33px; }
  .brand-name { font-size: 17px; padding-left: 12px; letter-spacing: 1px; }
  .site-header nav, .merchant-link { display: none; }
  .header-tools { margin-left: auto; }
  .type-control > span { flex-direction: column; gap: 0; line-height: 1.2; font-size: 10px; padding: 3px 0; min-height: 42px; justify-content: center; }
  .type-control b { font-size: 19px; }
  .city-bar { padding-block: 15px 13px; display: block; }
  .city-caption { display: block; font-size: 12px; margin-bottom: 11px; }
  .metro-choices { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
  .metro-choices .area-choice > span { padding: 8px 4px; min-height: 39px; font-size: 13px; border-color: #DDDCD4; background: #FBF9F4; }
  .metro-choices .area-choice input:checked + span { background: var(--gold); border-color: var(--gold); }
  .more-areas { display: flex; justify-content: flex-end; min-height: 26px; padding-top: 8px; font-size: 11px; }
  .hero-visual { width: 100%; opacity: .36; background-size: auto, 30px 30px, 30px 30px; background-image: linear-gradient(90deg, #0D1B2AEE, #0D1B2A77), linear-gradient(#C1B59A2B 1px, transparent 1px), linear-gradient(90deg, #C1B59A2B 1px, transparent 1px); }
  .hero-visual::after { background: linear-gradient(#0D1B2A00, #0D1B2ABA 70%); }
  .visual-number { font-size: 128px; right: 3px; top: 41px; color: #D7BF9040; }
  .visual-label { top: 35px; left: auto; right: 18px; opacity: .55; font-size: 9px; }
  .visual-label > .icon, .visual-label small, .visual-corner { display: none; }
  .hero-content { padding-top: 29px; padding-bottom: 24px; }
  .hero-intro, .geo-panel { width: 100%; }
  .location-line { font-size: 10px; gap: 6px; letter-spacing: .3px; }
  .line-divider { margin-inline: 2px; height: 9px; }
  .hero-intro h1 { font-size: 34px; line-height: 1.35; margin-top: 17px; letter-spacing: -.6px; }
  .slogan { font-size: 25px; margin-top: 4px; letter-spacing: -.4px; }
  .hero-desc { font-size: 13px; line-height: 1.85; margin-top: 13px; }
  .geo-panel { margin-top: 27px; }
  .geo-heading { gap: 8px; margin-bottom: 15px; align-items: center; flex-wrap: wrap; }
  .geo-heading h2 { font-size: 17px; line-height: 1.6; letter-spacing: 0; }
  .refresh-control { margin-left: auto; }
  .refresh-control > span { font-size: 11px; min-height: 34px; padding: 4px 0; }
  .refresh-control .icon { width: 13px; height: 13px; }
  .question-grid { gap: 9px; }
  .question-card { min-height: 129px; padding: 14px 13px; gap: 10px; border-radius: 4px; }
  .question-top { gap: 7px; }
  .question-top .icon { width: 18px; height: 18px; }
  .question-top > span { font-size: 14px; font-weight: 750; letter-spacing: 0; }
  .question-top small { display: none; }
  .question-text { font-size: 14px; line-height: 1.75; padding-right: 6px; padding-bottom: 9px; }
  .card-arrow { right: 11px; bottom: 10px; }
  .card-arrow .icon { width: 12px; height: 12px; }
  .geo-bottom { flex-wrap: wrap; gap: 5px; margin-top: 15px; font-size: 10px; }
  .geo-bottom > button { font-size: 12px; min-height: 40px; margin-left: auto; }
  .geo-bottom > span .icon { width: 13px; height: 13px; }
  .all-regions { padding-top: 28px; padding-bottom: 30px; gap: 18px; scroll-margin-top: 90px; }
  .regions-intro { display: block; }
  .regions-intro .eyebrow { font-size: 10px; }
  .regions-intro h2 { font-size: 19px; margin-top: 7px; }
  .regions-intro p { font-size: 12px; margin-top: 7px; }
  .other-choices { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px 7px; }
  .other-choices .area-choice > span { min-height: 41px; font-size: 13px; padding-inline: 3px; }
  .how-section { display: block; padding-top: 26px; padding-bottom: 32px; }
  .how-title { font-size: 16px; line-height: 1.7; }
  .how-title br { display: none; }
  .how-title strong { margin-left: 5px; }
  .how-section ol { margin-top: 20px; gap: 12px; }
  .how-section li > span { font-size: 20px; }
  .how-section h3 { font-size: 13px; line-height: 1.6; margin-top: 6px; }
  .how-section li p { font-size: 11px; line-height: 1.8; margin-top: 5px; }
  .life-section { padding-top: 44px; padding-bottom: 33px; }
  .life-heading { display: block; margin-bottom: 25px; }
  .life-heading .eyebrow { font-size: 10px; letter-spacing: 1px; }
  .life-heading h2 { font-size: 28px; line-height: 1.5; margin-top: 9px; letter-spacing: -.4px; }
  .mobile-only { display: initial; }
  .life-heading > p { font-size: 12px; padding-top: 0; margin-top: 15px; }
  .portal-grid { grid-template-columns: 1fr; gap: 18px; }
  .portal-art { height: 195px; }
  .portal-art::before { inset: 15px; }
  .portal-art .portal-status { left: 16px; top: 16px; font-size: 9px; }
  .portal-art > .icon { width: 43px; height: 43px; }
  .portal-image-note { font-size: 11px; bottom: 41px; }
  .portal-copy { padding: 22px 23px 25px; gap: 17px; }
  .portal-domain { font-size: 10px; }
  .portal-copy h3 { font-size: 24px; margin-top: 5px; }
  .portal-copy h3 + p { font-size: 12px; margin-top: 8px; }
  .portal-index { font-size: 39px; }
  .future-portal { grid-template-columns: 46px 1fr auto; column-gap: 15px; padding: 21px 19px; }
  .future-icon { width: 46px; height: 46px; margin-top: 4px; }
  .future-portal > .portal-status { grid-column: 3; grid-row: 1 / 3; align-self: start; margin-top: 4px; font-size: 8px; padding-inline: 5px; }
  .future-portal h3 { font-size: 19px; }
  .future-portal p { font-size: 12px; margin-top: 6px; }
  .future-caption { display: block; font-size: 10px; margin-top: 10px; }
  .portal-footnote { font-size: 10px; line-height: 1.9; justify-content: flex-start; gap: 7px; margin-top: 21px; }
  .merchant-banner { padding-block: 34px 39px; gap: 18px; align-items: flex-start; }
  .merchant-symbol { width: 45px; height: 45px; margin-top: 4px; }
  .merchant-symbol .icon { width: 23px; height: 23px; }
  .merchant-banner > div:nth-child(2) { width: calc(100% - 63px); }
  .merchant-banner h2 { font-size: 20px; line-height: 1.6; margin-top: 5px; }
  .merchant-banner p:not(.eyebrow) { font-size: 12px; margin-top: 8px; line-height: 1.9; }
  .merchant-banner .eyebrow { font-size: 10px; letter-spacing: .5px; }
  .merchant-banner .button { margin: 0 0 0 63px; font-size: 13px; min-height: 46px; padding: 10px 19px; gap: 28px; }
  .footer-top { flex-wrap: wrap; gap: 22px; padding-top: 30px; padding-bottom: 27px; }
  .footer-brand { width: 100%; }
  .footer-brand .brand-word { font-size: 32px; }
  .footer-brand .brand-name { font-size: 16px; }
  .footer-brand .brand-name small { display: block; font-size: 8px; }
  .footer-top > p { font-size: 11px; }
  .back-top { font-size: 11px; }
  .footer-bottom { display: block; font-size: 9px; line-height: 1.9; padding-top: 15px; padding-bottom: 20px; }
  .footer-bottom > span { display: block; }
  .footer-bottom > span + span { margin-top: 4px; }
  .sheet, .small-sheet { width: calc(100% - 28px); max-height: calc(100dvh - 32px); padding: 32px 22px 26px; border-radius: 6px; }
  .close { right: 12px; top: 12px; width: 33px; height: 33px; }
  .sheet h2 { font-size: 23px; line-height: 1.5; padding-right: 7px; }
  .sheet > .eyebrow { font-size: 10px; padding-right: 27px; }
  .sheet-lead { font-size: 13px; margin-top: 10px; }
  .preview-notice { font-size: 11px; padding: 12px; margin-top: 18px; }
  .store-row { grid-template-columns: 86px minmax(0, 1fr); gap: 13px; padding: 12px; }
  .mini-photo { min-height: 146px; padding: 8px; }
  .mini-photo span { font-size: 9px; }
  .mini-photo .icon { width: 23px; height: 23px; }
  .store-tag { font-size: 9px; padding-inline: 4px; }
  .store-row h3 { font-size: 17px; }
  .store-row p { font-size: 12px; margin-top: 6px; }
  .store-region { font-size: 10px; gap: 3px; margin-top: 10px; }
  .sheet-note { font-size: 11px; margin-top: 19px; }
  .sheet > .button { min-height: 46px; font-size: 13px; margin-top: 20px; }
  .merchant-steps { font-size: 14px; padding-left: 19px; }
  .demo-features { font-size: 13px; padding-left: 19px; }
}
@media (max-width: 370px) {
  .container { width: calc(100% - 28px); }
  .brand-word { font-size: 30px; }
  .brand { gap: 9px; }
  .brand-name { font-size: 16px; padding-left: 9px; }
  .hero-intro h1 { font-size: 31px; }
  .slogan { font-size: 23px; }
  .geo-heading h2 { font-size: 16px; }
  .question-card { padding-inline: 11px; }
  .question-top { gap: 5px; }
  .question-top > span { font-size: 14px; }
  .question-top .icon { width: 16px; height: 16px; }
  .future-portal { grid-template-columns: 40px 1fr; gap: 0 12px; }
  .future-portal > .portal-status { grid-column: 2; grid-row: 4; margin-top: 11px; }
  .future-icon { width: 40px; height: 40px; }
  .future-caption { display: none; }
}

/* Reading mode enlarges essential text and every actionable target. */
body:has(#large-type:checked) { font-size: 22px; }
body:has(#large-type:checked) .header-inner { flex-wrap: wrap; padding-block: 15px; }
body:has(#large-type:checked) .site-header nav { display: none; }
body:has(#large-type:checked) .header-tools { margin-left: auto; }
body:has(#large-type:checked) .type-control > span { min-height: 56px; font-size: 16px; }
body:has(#large-type:checked) .type-control b { font-size: 26px; }
body:has(#large-type:checked) .city-bar { flex-wrap: wrap; gap: 10px 20px; }
body:has(#large-type:checked) .metro-choices { flex-wrap: wrap; }
body:has(#large-type:checked) .area-choice > span { min-height: 56px; font-size: 18px; padding: 10px 13px; }
body:has(#large-type:checked) .more-areas { font-size: 18px; min-height: 56px; }
body:has(#large-type:checked) .hero-intro, body:has(#large-type:checked) .geo-panel { width: 100%; }
body:has(#large-type:checked) .hero-visual { opacity: .12; }
body:has(#large-type:checked) .visual-label, body:has(#large-type:checked) .visual-number, body:has(#large-type:checked) .visual-caption { display: none; }
body:has(#large-type:checked) .hero-intro h1 { font-size: 54px; }
body:has(#large-type:checked) .slogan { font-size: 42px; }
body:has(#large-type:checked) .hero-desc { font-size: 21px; }
body:has(#large-type:checked) .location-line { font-size: 17px; }
body:has(#large-type:checked) .geo-heading { flex-wrap: wrap; }
body:has(#large-type:checked) .geo-heading h2 { font-size: 27px; }
body:has(#large-type:checked) .refresh-control > span { font-size: 18px; min-height: 56px; }
body:has(#large-type:checked) .question-grid { grid-template-columns: 1fr; gap: 14px; }
body:has(#large-type:checked) .question-card { min-height: 124px; padding: 20px 24px; gap: 12px; }
body:has(#large-type:checked) .question-top > span { font-size: 21px; }
body:has(#large-type:checked) .question-top .icon { width: 24px; height: 24px; }
body:has(#large-type:checked) .question-top small { display: none; }
body:has(#large-type:checked) .question-text { font-size: 22px; line-height: 1.8; color: var(--ink); padding-right: 28px; }
body:has(#large-type:checked) .card-arrow { right: 24px; bottom: 25px; }
body:has(#large-type:checked) .card-arrow .icon { width: 21px; height: 21px; }
body:has(#large-type:checked) .geo-bottom { font-size: 17px; flex-wrap: wrap; }
body:has(#large-type:checked) .geo-bottom > button { min-height: 56px; font-size: 18px; }
body:has(#large-type:checked) .other-choices { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
body:has(#large-type:checked) .regions-intro h2 { font-size: 26px; }
body:has(#large-type:checked) .regions-intro p { font-size: 17px; }
body:has(#large-type:checked) .how-section { align-items: start; }
body:has(#large-type:checked) .how-title { font-size: 21px; }
body:has(#large-type:checked) .how-section h3 { font-size: 20px; }
body:has(#large-type:checked) .how-section li p { font-size: 17px; }
body:has(#large-type:checked) .life-heading h2 { font-size: 42px; }
body:has(#large-type:checked) .life-heading > p { font-size: 18px; }
body:has(#large-type:checked) .portal-copy h3 { font-size: 32px; }
body:has(#large-type:checked) .portal-copy h3 + p { font-size: 18px; }
body:has(#large-type:checked) .portal-domain { font-size: 15px; }
body:has(#large-type:checked) .future-portal h3 { font-size: 27px; }
body:has(#large-type:checked) .future-portal p { font-size: 17px; }
body:has(#large-type:checked) .future-portal > .portal-status { grid-column: 2; grid-row: 4; justify-self: start; margin-top: 12px; }
body:has(#large-type:checked) .future-caption, body:has(#large-type:checked) .portal-index { display: none; }
body:has(#large-type:checked) .portal-footnote { font-size: 15px; }
body:has(#large-type:checked) .merchant-banner h2 { font-size: 30px; }
body:has(#large-type:checked) .merchant-banner p:not(.eyebrow) { font-size: 18px; }
body:has(#large-type:checked) .button, body:has(#large-type:checked) .merchant-link { min-height: 56px; font-size: 18px; }
body:has(#large-type:checked) .back-top { min-height: 56px; font-size: 17px; }
body:has(#large-type:checked) .footer-top > p { font-size: 17px; }
body:has(#large-type:checked) .footer-bottom { font-size: 14px; }
body:has(#large-type:checked) .sheet { width: min(800px, calc(100% - 40px)); padding-top: 45px; }
body:has(#large-type:checked) .sheet h2 { font-size: 33px; }
body:has(#large-type:checked) .close { width: 56px; height: 56px; top: 12px; right: 12px; }
body:has(#large-type:checked) .sheet > .eyebrow { padding-right: 55px; font-size: 15px; }
body:has(#large-type:checked) .sheet-lead, body:has(#large-type:checked) .store-row p { font-size: 19px; }
body:has(#large-type:checked) .sheet-note, body:has(#large-type:checked) .preview-notice { font-size: 17px; }
body:has(#large-type:checked) .store-row h3 { font-size: 25px; }
body:has(#large-type:checked) .store-tag, body:has(#large-type:checked) .store-region { font-size: 15px; }
body:has(#large-type:checked) .merchant-steps, body:has(#large-type:checked) .demo-features { font-size: 20px; }
@media (max-width: 900px) {
  body:has(#large-type:checked) .how-section { display: block; }
  body:has(#large-type:checked) .how-section ol { margin-top: 25px; gap: 20px; }
  body:has(#large-type:checked) .life-heading { display: block; }
  body:has(#large-type:checked) .life-heading > p { padding-top: 0; margin-top: 15px; }
  body:has(#large-type:checked) .portal-grid { grid-template-columns: 1fr; }
  body:has(#large-type:checked) .merchant-banner { flex-wrap: wrap; }
  body:has(#large-type:checked) .merchant-banner .button { margin-left: 0; }
}
@media (max-width: 640px) {
  body:has(#large-type:checked) .header-inner { min-height: 86px; padding-block: 8px; gap: 10px; }
  body:has(#large-type:checked) .brand-name { font-size: 17px; }
  body:has(#large-type:checked) .type-control > span { font-size: 12px; }
  body:has(#large-type:checked) .type-control b { font-size: 26px; }
  body:has(#large-type:checked) .city-caption { font-size: 16px; }
  body:has(#large-type:checked) .metro-choices { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  body:has(#large-type:checked) .area-choice > span { font-size: 17px; padding-inline: 6px; }
  body:has(#large-type:checked) .hero-intro h1 { font-size: 42px; }
  body:has(#large-type:checked) .slogan { font-size: 29px; }
  body:has(#large-type:checked) .hero-desc { font-size: 19px; line-height: 1.9; }
  body:has(#large-type:checked) .location-line { font-size: 14px; }
  body:has(#large-type:checked) .geo-heading h2 { font-size: 23px; }
  body:has(#large-type:checked) .question-card { padding: 19px 20px; min-height: 132px; }
  body:has(#large-type:checked) .question-top > span { font-size: 21px; }
  body:has(#large-type:checked) .question-text { font-size: 22px; padding-right: 19px; padding-bottom: 6px; }
  body:has(#large-type:checked) .card-arrow { right: 17px; bottom: 22px; }
  body:has(#large-type:checked) .geo-bottom { font-size: 14px; }
  body:has(#large-type:checked) .geo-bottom > button { font-size: 17px; }
  body:has(#large-type:checked) .other-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  body:has(#large-type:checked) .regions-intro h2 { font-size: 24px; }
  body:has(#large-type:checked) .regions-intro p { font-size: 17px; }
  body:has(#large-type:checked) .how-title { font-size: 20px; }
  body:has(#large-type:checked) .how-title strong { display: block; margin: 0; }
  body:has(#large-type:checked) .how-section ol { grid-template-columns: 1fr; gap: 23px; }
  body:has(#large-type:checked) .how-section li { display: flex; gap: 18px; }
  body:has(#large-type:checked) .how-section h3 { font-size: 21px; margin-top: 0; }
  body:has(#large-type:checked) .how-section li p { font-size: 17px; }
  body:has(#large-type:checked) .life-heading h2 { font-size: 33px; }
  body:has(#large-type:checked) .life-heading > p { font-size: 18px; }
  body:has(#large-type:checked) .portal-copy h3 { font-size: 29px; }
  body:has(#large-type:checked) .portal-copy h3 + p { font-size: 18px; }
  body:has(#large-type:checked) .future-portal { grid-template-columns: 42px 1fr; }
  body:has(#large-type:checked) .future-portal h3 { font-size: 26px; }
  body:has(#large-type:checked) .future-portal p { font-size: 17px; }
  body:has(#large-type:checked) .merchant-symbol { display: none; }
  body:has(#large-type:checked) .merchant-banner > div:nth-child(2) { width: 100%; }
  body:has(#large-type:checked) .merchant-banner h2 { font-size: 27px; }
  body:has(#large-type:checked) .merchant-banner .button { width: 100%; font-size: 18px; margin: 0; }
  body:has(#large-type:checked) .sheet { width: calc(100% - 24px); padding: 34px 20px 27px; }
  body:has(#large-type:checked) .sheet h2 { font-size: 29px; }
  body:has(#large-type:checked) .sheet > .eyebrow { font-size: 13px; padding-right: 60px; }
  body:has(#large-type:checked) .store-row { grid-template-columns: 1fr; gap: 14px; padding: 17px; }
  body:has(#large-type:checked) .mini-photo { display: none; }
  body:has(#large-type:checked) .store-row h3 { font-size: 26px; }
  body:has(#large-type:checked) .store-row p, body:has(#large-type:checked) .sheet-lead { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
@media print {
  .site-header { position: static; }
  .demo-strip, .header-tools, .site-header nav, .more-areas, .refresh-control, .geo-bottom button, .sheet, .merchant-banner .button, .back-top { display: none !important; }
  .container { width: 100%; }
  body { font-size: 11pt; background: white; }
  .hero-shell { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .hero-content { padding-block: 25px; }
  .hero-intro, .geo-panel { width: 100%; }
  .hero-visual { display: none; }
  .question-card, .portal-card, .store-row { break-inside: avoid; }
  .life-section { padding-block: 30px; }
  .portal-art { height: 140px; }
  footer { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}

/* Manual area states from area-states.css. */

.regions-intro .region-return { color: var(--navy); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.regions-intro .region-return:hover { color: var(--urgent); }

body:has(#area-all:checked) .area-all{display:inline}
body:has(#area-taipei:checked) .area-taipei{display:inline}
body:has(#area-newtaipei:checked) .area-newtaipei{display:inline}
body:has(#area-taoyuan:checked) .area-taoyuan{display:inline}
body:has(#area-taichung:checked) .area-taichung{display:inline}
body:has(#area-tainan:checked) .area-tainan{display:inline}
body:has(#area-kaohsiung:checked) .area-kaohsiung{display:inline}
body:has(#area-keelung:checked) .area-keelung{display:inline}
body:has(#area-hsinchucity:checked) .area-hsinchucity{display:inline}
body:has(#area-hsinchucounty:checked) .area-hsinchucounty{display:inline}
body:has(#area-miaoli:checked) .area-miaoli{display:inline}
body:has(#area-changhua:checked) .area-changhua{display:inline}
body:has(#area-nantou:checked) .area-nantou{display:inline}
body:has(#area-yunlin:checked) .area-yunlin{display:inline}
body:has(#area-chiayicity:checked) .area-chiayicity{display:inline}
body:has(#area-chiayicounty:checked) .area-chiayicounty{display:inline}
body:has(#area-pingtung:checked) .area-pingtung{display:inline}
body:has(#area-yilan:checked) .area-yilan{display:inline}
body:has(#area-hualien:checked) .area-hualien{display:inline}
body:has(#area-taitung:checked) .area-taitung{display:inline}
body:has(#area-penghu:checked) .area-penghu{display:inline}
body:has(#area-kinmen:checked) .area-kinmen{display:inline}
body:has(#area-lienchiang:checked) .area-lienchiang{display:inline}


/* Approved A palette, one homepage. */

.theme-a{--navy:#2B2D42;--deep:#FFF9F5;--gold:#FF6B35;--paper:#FFF9F5;--card:#FFFFFF;--ink:#2B2D42;--muted:#67594F;--urgent:#F25C05;--line:#EEDBCB}
.theme-a .demo-strip{background:#FFEADD;color:#67594F;border-color:#F6D4BE}.theme-a .site-header{background:#FFFFFF;border-color:#F2DED0}.theme-a .brand-word,.theme-a .brand-word>span{color:#F25C05}.theme-a .brand-name{border-color:#F2D6C2;color:#2B2D42}.theme-a .brand-name small{color:#67594F}
.theme-a .merchant-link{color:#2B2D42;border-color:#FF9F1C}.theme-a .merchant-link:hover,.theme-a .area-choice input:checked+span,.theme-a .other-choices .area-choice input:checked+span{color:#1A1A24;background:#FF6B35;border-color:#FF6B35}.theme-a .area-choice:hover>span{background:#FFE7D6}.theme-a .more-areas{color:#67594F}
.theme-a .hero-shell{background:#FFF9F5;color:#2B2D42;border-block:1px solid #F7DCC6}.theme-a .hero-visual{background-color:#FFBF69;background-image:linear-gradient(90deg,#FFF9F5,transparent 68%),linear-gradient(#F25C051C 1px,transparent 1px),linear-gradient(90deg,#F25C051C 1px,transparent 1px);color:#6C3E24}.theme-a .hero-visual::after{background:linear-gradient(0deg,#FF9F1C80,transparent 70%)}.theme-a .visual-corner{border-color:#A8582D60}.theme-a .visual-label,.theme-a .visual-label small,.theme-a .visual-caption>span,.theme-a .visual-caption small{color:#6C3E24}.theme-a .visual-caption{border-color:#AD663C40}.theme-a .visual-number{color:#F25C0525}
.theme-a .location-line,.theme-a .area-status{color:#67594F}.theme-a .area-status .area-text{color:#963900;font-weight:700}.theme-a .line-divider{background:#D2A487}.theme-a .hero-intro h1{color:#2B2D42}.theme-a .slogan{color:#2B2D42}.theme-a .slogan em{color:#F25C05}.theme-a .hero-desc{color:#67594F}.theme-a .geo-heading h2{color:#2B2D42}.theme-a .refresh-control>span{color:#963900}.theme-a .refresh-control:hover>span{color:#6C2D00}
.theme-a .question-card{background:#FFFFFF;border-color:#F2D2BC;box-shadow:0 3px 10px #F25C050A}.theme-a .question-card:hover{background:#FFF0E4;border-color:#FF6B35}.theme-a .question-top .icon{color:#F25C05}.theme-a .question-top>span,.theme-a .question-text{color:#2B2D42}.theme-a .question-top small{color:#7F695A}.theme-a .card-arrow{color:#963900}.theme-a .question-card.urgent{background:#FFBF69;border-color:#FF9F1C}.theme-a .urgent .question-top .icon,.theme-a .urgent .question-top>span{color:#1A1A24}.theme-a .urgent:hover{background:#FFAF49}.theme-a .geo-bottom,.theme-a .geo-bottom>button{color:#67594F}.theme-a .geo-bottom>button:hover{color:#963900}
.theme-a .other-choices .area-choice>span{background:#FFFFFF;border-color:#EFD8C6;color:#2B2D42}.theme-a .other-choices .area-choice:hover>span{background:#FFE7D6}.theme-a .how-section{border-color:#EFD8C6}.theme-a .how-section li>span{color:#963900}
.theme-a .life-section{background:#FFF0E4;border-color:#F1D7C4}.theme-a .life-heading .eyebrow,.theme-a .life-heading>p{color:#67594F}.theme-a .portal-card{background:#FFFFFF;border-color:#EED5C2}.theme-a .portal-art{background-color:#FFBF69;color:#9A532A;background-image:linear-gradient(#F25C051A 1px,transparent 1px),linear-gradient(90deg,#F25C051A 1px,transparent 1px)}.theme-a .portal-art::before{border-color:#A354272F}.theme-a .clean-portal .portal-art{background-color:#FFE0B8;color:#9A532A;background-image:linear-gradient(#F25C051A 1px,transparent 1px),linear-gradient(90deg,#F25C051A 1px,transparent 1px)}.theme-a .portal-image-note,.theme-a .clean-portal .portal-image-note{color:#6B3D24}.theme-a .portal-status{background:#FFF9F5DD;border-color:#D7AA8A;color:#67482F}.theme-a .portal-domain,.theme-a .clean-portal .portal-domain{color:#963900}.theme-a .portal-copy h3+p,.theme-a .future-portal p,.theme-a .future-caption,.theme-a .portal-footnote{color:#67594F}.theme-a .portal-index{color:#D3A27B}.theme-a .future-portal{background:#FFFFFF}.theme-a .future-icon,.theme-a .merchant-symbol{background:#FFE2C8;color:#963900}.theme-a .small-square{background:#F25C05}
.theme-a .button.navy{background:#FF6B35;color:#1A1A24}.theme-a .button.navy:hover{background:#FF9F1C}.theme-a footer{background:#2B2D42}.theme-a .footer-brand .brand-word,.theme-a .footer-brand .brand-word>span,.theme-a .footer-brand .brand-name{color:#FFF9F5}.theme-a .footer-brand .brand-name small,.theme-a .footer-top>p,.theme-a .footer-bottom{color:#E7D9CD}.theme-a .footer-brand .brand-name{border-color:#796B69}
.theme-a .sheet{background:#FFF9F5;border-color:#EFD8C6}.theme-a .sheet::backdrop{background:#2B2D42A8}.theme-a .close{background:#FFE4D1;color:#2B2D42}.theme-a .sheet>.eyebrow,.theme-a .store-tag{color:#963900}.theme-a .preview-notice{background:#FFE8CB;color:#67503B;border-color:#FF6B35}.theme-a .store-row{background:#FFFFFF;border-color:#EFD8C6}.theme-a .mini-photo{background-color:#FFE8CB;color:#6C4B36;background-image:linear-gradient(#F25C0520 1px,transparent 1px),linear-gradient(90deg,#F25C0520 1px,transparent 1px)}.theme-a .store-tag{border-color:#EFD8C6}.theme-a .store-region{color:#67594F}.theme-a .sheet-icon{background:#FFE4D1;color:#963900}.theme-a .merchant-steps li::marker{color:#963900}

@media(max-width:640px){.theme-a .hero-visual{background-image:linear-gradient(90deg,#FFF9F5EE,#FFBF6977),linear-gradient(#F25C052B 1px,transparent 1px),linear-gradient(90deg,#F25C052B 1px,transparent 1px)}.theme-a .hero-visual::after{background:linear-gradient(#FFF9F500,#FFF9F5BA 70%)}.theme-a .visual-number{color:#F25C0540}.theme-a .metro-choices .area-choice>span{background:#FFFFFF;border-color:#EFD8C6}.theme-a .metro-choices .area-choice input:checked+span{background:#FF6B35;border-color:#FF6B35}}

.type-control .glasses-icon{width:24px;height:24px;flex-shrink:0}
body:has(#large-type:checked) .type-control .glasses-icon{width:28px;height:28px}

.type-control > span > span{font-weight:600;color:var(--urgent)}

/* 老花入口與目前字級已由使用者確認；正式功能另行討論。 */
.type-control > span,
.type-control input:checked + span {
  min-height: 52px;
  padding: 10px 16px;
  gap: 9px;
  border-radius: 6px;
  background: #F25C05;
  color: #FFFFFF;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.25;
  box-shadow: none;
}
.type-control > span > span { font-weight: 800; color: #FFFFFF; }
.type-control:hover > span { background: #D94D00; }
.type-control input:checked + span { box-shadow: inset 0 0 0 3px #963900; }
.type-control input:focus-visible + span { outline-color: #2B2D42; outline-offset: 4px; }
.type-control .glasses-icon { width: 28px; height: 28px; stroke-width: 2; }
body:has(#large-type:checked) { font-size: 30px; }
body:has(#large-type:checked) .type-control > span { font-size: 24px; }
body:has(#large-type:checked) .area-choice > span { font-size: 24px; min-height: 64px; }
body:has(#large-type:checked) .more-areas,
body:has(#large-type:checked) .refresh-control > span,
body:has(#large-type:checked) .geo-bottom > button { font-size: 24px; }
body:has(#large-type:checked) .hero-intro h1 { font-size: 72px; }
body:has(#large-type:checked) .slogan { font-size: 54px; }
body:has(#large-type:checked) .hero-desc { font-size: 30px; }
body:has(#large-type:checked) .location-line { font-size: 22px; flex-wrap: wrap; }
body:has(#large-type:checked) .geo-heading h2 { font-size: 36px; }
body:has(#large-type:checked) .question-top > span { font-size: 28px; }
body:has(#large-type:checked) .question-text { font-size: 32px; line-height: 1.65; }
body:has(#large-type:checked) .regions-intro h2 { font-size: 36px; }
body:has(#large-type:checked) .regions-intro p,
body:has(#large-type:checked) .geo-bottom { font-size: 24px; }
body:has(#large-type:checked) .how-title { font-size: 30px; }
body:has(#large-type:checked) .how-section h3 { font-size: 28px; }
body:has(#large-type:checked) .how-section li p { font-size: 24px; }
body:has(#large-type:checked) .life-heading h2 { font-size: 54px; }
body:has(#large-type:checked) .portal-copy h3 { font-size: 42px; }
body:has(#large-type:checked) .life-heading > p,
body:has(#large-type:checked) .portal-copy h3 + p,
body:has(#large-type:checked) .future-portal p,
body:has(#large-type:checked) .merchant-banner p:not(.eyebrow) { font-size: 26px; }
body:has(#large-type:checked) .future-portal h3,
body:has(#large-type:checked) .merchant-banner h2 { font-size: 36px; }
body:has(#large-type:checked) .button,
body:has(#large-type:checked) .merchant-link { font-size: 24px; }
body:has(#large-type:checked) .sheet h2 { font-size: 42px; }
body:has(#large-type:checked) .sheet-lead,
body:has(#large-type:checked) .store-row p,
body:has(#large-type:checked) .merchant-steps,
body:has(#large-type:checked) .demo-features { font-size: 28px; }
body:has(#large-type:checked) .store-row h3 { font-size: 32px; }
@media (max-width: 640px) {
  .type-control > span { flex-direction: row; min-height: 50px; padding: 10px 12px; font-size: 20px; gap: 7px; }
  .type-control .glasses-icon { width: 25px; height: 25px; }
  body:has(#large-type:checked) .type-control > span { font-size: 22px; }
  body:has(#large-type:checked) .metro-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body:has(#large-type:checked) .other-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body:has(#large-type:checked) .hero-intro h1 { font-size: clamp(44px, 13.3vw, 54px); }
  body:has(#large-type:checked) .slogan { font-size: 36px; }
  body:has(#large-type:checked) .hero-desc { font-size: 28px; }
  body:has(#large-type:checked) .location-line { font-size: 20px; }
  body:has(#large-type:checked) .geo-heading h2 { font-size: 30px; }
  body:has(#large-type:checked) .question-card { padding: 22px 20px; }
  body:has(#large-type:checked) .question-text { padding-right: 0; padding-bottom: 24px; }
  body:has(#large-type:checked) .life-heading h2 { font-size: 42px; }
  body:has(#large-type:checked) .portal-copy h3 { font-size: 36px; }
  body:has(#large-type:checked) .future-portal h3 { font-size: 30px; }
}

/* 使用者提供的橫幅試看，圖片原檔保持不變。 */
.mobile-banner { display: none; }
.theme-a .hero-shell { background: #FFF9F5; }
.theme-a .hero-visual { display: none; }
@media (min-width: 1025px) {
  .theme-a .hero-visual {
    display: block;
    inset: 0 0 auto;
    width: 100%;
    height: clamp(320px, 28.93vw, 650px);
    opacity: 1;
    background-color: #F8F7F4;
    background-image: url("./assets/hero-desktop.webp?v=b7c7c2fd8e26");
    background-size: 100% auto;
    background-position: center top;
    background-repeat: no-repeat;
  }
  .theme-a .hero-visual::after { display: none; }
  .theme-a .hero-intro, .theme-a .geo-panel { width: 60%; }
  body:has(#large-type:checked) .hero-visual { opacity: .14; }
  body:has(#large-type:checked) .hero-intro,
  body:has(#large-type:checked) .geo-panel { width: 100%; }
}
@media (max-width: 1024px) {
  .mobile-banner { display: block; width: 100%; height: auto; aspect-ratio: 720 / 259; object-fit: contain; background: #E7E2D7; }
  .theme-a .hero-intro, .theme-a .geo-panel { width: 100%; }
}

/* 其他縣市與六都共用同一組排列，保留連至縣市區的動線。 */
.theme-a .metro-choices { flex-wrap: wrap; }
.theme-a .metro-choices .locate-area { display: block; padding: 0; background: transparent; }
.theme-a .metro-choices .locate-area > span { gap: 6px; color: #F25C05; font-weight: 600; }
.theme-a .metro-choices .locate-area .icon { width: 16px; height: 16px; }
.theme-a .metro-choices .locate-area:hover > span { background: #FFE7D6; }
body:has(#large-type:checked) .metro-choices .locate-area .icon { width: 24px; height: 24px; }
.theme-a .metro-choices .more-areas {
  display: block;
  min-height: 0;
  padding: 0;
  color: #F25C05;
}
.theme-a .metro-choices .more-areas > span {
  gap: 6px;
  color: #F25C05;
  font-weight: 600;
}
.theme-a .metro-choices .more-areas:hover > span { background: #FFE7D6; }
body:has(#large-type:checked) .metro-choices .more-areas > span {
  font-size: 24px;
  min-height: 64px;
}
@media (max-width: 640px) {
  .theme-a .metro-choices .locate-area { grid-column: span 2; }
  .theme-a .metro-choices .more-areas > span { gap: 4px; }
  .theme-a .metro-choices .more-areas .icon { width: 13px; height: 13px; }
}

/* 主標、標語及說明連續閱讀，依螢幕寬度自然換行。 */
.theme-a .hero-content { padding-top: 18px; }
.theme-a .hero-intro h1 { margin-top: 8px; }
.theme-a .hero-intro h1 > .area-text { color: #F25C05; font-weight: 850; }
.theme-a .hero-intro .slogan {
  display: inline;
  margin: 0;
  margin-inline-start: .3em;
  color: #4D4D4D;
  font-weight: 700;
}
.theme-a .hero-intro .slogan em { font-style: italic; font-weight: 800; }
.theme-a .hero-desc { margin-top: 8px; }
.theme-a .geo-panel { margin-top: 18px; width: 64%; margin-left: -5px; }
.theme-a .geo-heading { margin-bottom: 12px; }
body:has(#large-type:checked) .geo-panel { width: calc(100% + 10px); }
@media (min-width: 1025px) {
  .theme-a .hero-intro { width: 64%; }
}
@media (max-width: 1024px) {
  .theme-a .geo-panel { width: calc(100% + 10px); }
}
@media (max-width: 640px) {
  .theme-a .hero-content { padding-top: 16px; }
  .theme-a .geo-panel { margin-top: 16px; }
}

/* 問題句為主、編號在左，分類留作次要資訊，沿用橙色配色。 */
.theme-a .question-card {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 16px;
  grid-template-rows: max-content auto;
  align-content: start;
  align-items: start;
  gap: 7px 12px;
  min-height: 106px;
  padding: 18px 20px;
  border-left: 3px solid #FF6B35;
  box-shadow: none;
}
.theme-a .question-number {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: start;
  padding-top: 1px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 1px;
  color: #897165;
  font-variant-numeric: tabular-nums;
}
.theme-a .question-text {
  grid-column: 2;
  grid-row: 2;
  padding: 0;
  font-size: 19px;
  font-weight: 650;
  line-height: 1.6;
  white-space: normal;
  overflow-wrap: anywhere;
  min-height: 3.2em;
}
.theme-a .question-top { grid-column: 2 / -1; grid-row: 1; gap: 5px; align-self: start; }
.theme-a .question-top > span { font-size: 14px; font-weight: 600; color: #67594F; }
.theme-a .question-top .icon { width: 16px; height: 16px; }
.theme-a .urgent .question-top > span { color: #6C3E24; }
.theme-a .card-arrow { position: static; grid-column: 3; grid-row: 2; align-self: center; }
body:has(#large-type:checked) .question-card { grid-template-columns: minmax(0, 1fr) 22px; }
body:has(#large-type:checked) .question-number { display: none; }
body:has(#large-type:checked) .question-text { grid-column: 1; }
body:has(#large-type:checked) .question-top { grid-column: 1 / -1; }
body:has(#large-type:checked) .question-text { padding: 0; }
body:has(#large-type:checked) .question-top > span { font-size: 20px; }
body:has(#large-type:checked) .question-top .icon { width: 20px; height: 20px; }
body:has(#large-type:checked) .card-arrow { grid-column: 2; }
@media (max-width: 640px) {
  .theme-a .question-card { grid-template-columns: 18px minmax(0, 1fr) 12px; gap: 7px 8px; padding: 16px 12px; }
  .theme-a .question-text { font-size: 18px; min-height: 6.4em; }
  .theme-a .question-top > span { font-size: 13px; }
  .theme-a .question-top .icon { width: 14px; height: 14px; }
  .theme-a .card-arrow .icon { width: 12px; height: 12px; }
  body:has(#large-type:checked) .card-arrow .icon { width: 21px; height: 21px; }
  body:has(#large-type:checked) .question-text { min-height: 4.8em; }
}
@media (max-width: 370px) {
  .theme-a .question-text { min-height: 8em; }
}

/* 手機／平板：一列一張 GEO 卡，定位入口移至地區提示右側。 */
@media (max-width: 1024px) {
  .theme-a .question-grid { grid-template-columns: minmax(0, 1fr); }
  .theme-a .question-text { min-height: 3.2em; }
  .theme-a .city-bar {
    position: relative;
    display: block;
    padding-block: 12px 10px;
  }
  .theme-a .city-caption {
    display: block;
    padding-inline-end: 130px;
    margin-bottom: 10px;
    font-size: 12px;
    line-height: 24px;
  }
  .theme-a .metro-choices .locate-area {
    position: absolute;
    top: 4px;
    right: 0;
    grid-column: auto;
  }
  .theme-a .metro-choices .locate-area > span {
    min-height: 40px;
    padding: 6px 8px;
    border-color: transparent;
    background: transparent;
    font-size: 12px;
  }
  .theme-a .metro-choices .locate-area .icon { width: 14px; height: 14px; }
  body:has(#large-type:checked) .metro-choices .locate-area > span {
    min-height: 44px;
    padding: 6px 4px;
    font-size: 14px;
  }
  body:has(#large-type:checked) .metro-choices .locate-area .icon { width: 16px; height: 16px; }
}

/* 手機／平板小字與老花隱藏橫幅的呈現已由使用者確認。 */
@media (max-width: 1024px) {
  .theme-a .demo-strip,
  .theme-a .eyebrow,
  .theme-a .life-heading .eyebrow,
  .theme-a .merchant-banner .eyebrow,
  .theme-a .portal-domain,
  .theme-a .portal-status,
  .theme-a .portal-art .portal-status,
  .theme-a .future-portal > .portal-status,
  .theme-a .portal-image-note,
  .theme-a .future-caption,
  .theme-a .portal-footnote,
  .theme-a .footer-bottom,
  .theme-a .store-tag,
  .theme-a .store-region,
  .theme-a .sheet > .eyebrow,
  .theme-a .sheet-note,
  .theme-a .preview-notice,
  .theme-a .mini-photo span { font-size: 14px; }
  .theme-a .how-section li p,
  .theme-a .life-heading > p,
  .theme-a .portal-copy h3 + p,
  .theme-a .future-portal p,
  .theme-a .merchant-banner p:not(.eyebrow),
  .theme-a .footer-top > p,
  .theme-a .regions-intro p,
  .theme-a .geo-bottom,
  .theme-a .geo-bottom > button,
  .theme-a .sheet-lead,
  .theme-a .store-row p,
  .theme-a .back-top { font-size: 15px; }
  .theme-a .how-section h3 { font-size: 16px; }
  .theme-a .question-number { font-size: 13px; }
  .theme-a .question-top > span { font-size: 14px; }
  .theme-a .location-line { font-size: 14px; }
  .theme-a .city-caption { font-size: 14px; }
  .theme-a .metro-choices .locate-area > span { font-size: 13px; }
  .theme-a .footer-brand .brand-name small { font-size: 12px; }

  body:has(#large-type:checked) .mobile-banner { display: none; }
  body:has(#large-type:checked) .city-bar { padding-block: 22px 14px; }
  body:has(#large-type:checked) .city-caption {
    font-size: 32px;
    font-weight: 800;
    line-height: 1.4;
    color: #2B2D42;
    margin-bottom: 16px;
  }
  body:has(#large-type:checked) .metro-choices .locate-area { top: 16px; }
}
@media (max-width: 640px) {
  body:has(#large-type:checked) .city-caption { font-size: clamp(20px, 6.1vw, 28px); }
}
@media (max-width: 340px) {
  body:has(#large-type:checked) .metro-choices .locate-area > span { font-size: 12px; }
  body:has(#large-type:checked) .metro-choices .locate-area .icon { width: 14px; height: 14px; }
}

/* 最後問句框外的換批入口，上下共用既有原生 checkbox。 */
.theme-a .geo-refresh-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
}
.theme-a .refresh-control-bottom {
  display: inline-block;
  cursor: pointer;
  margin: 0;
}
.theme-a .refresh-control-bottom > span {
  min-height: 44px;
  padding: 4px 0 4px 10px;
  font-size: 14px;
  white-space: nowrap;
}
.theme-a .refresh-control-bottom .icon { width: 15px; height: 15px; }
.theme-a .geo-refresh-footer + .geo-bottom { margin-top: 4px; }
body:has(#large-type:checked) .refresh-control-bottom > span { min-height: 56px; font-size: 24px; }
body:has(#large-type:checked) .refresh-control-bottom .icon { width: 21px; height: 21px; }
@media print { .geo-refresh-footer { display: none; } }

/* GEO 問句整句淡入＋微微上浮；卡框、編號及類別保持原位。 */
.theme-a .question-text.geo-entry-pending {
  opacity: 0;
  transform: translateY(6px);
}
.theme-a .question-text.geo-entry-playing {
  animation: geo-sentence-enter 400ms cubic-bezier(.22, .61, .36, 1) both;
  animation-delay: var(--geo-entry-delay, 0ms);
}
@keyframes geo-sentence-enter {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
body:has(#large-type:checked) .question-text.geo-entry-pending,
body:has(#large-type:checked) .question-text.geo-entry-playing {
  animation: none;
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .theme-a .question-text.geo-entry-pending,
  .theme-a .question-text.geo-entry-playing {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
