/* Overnight r28 — seniors/consult/towns/guides/games/refer/service-area/contact/footer polish.
   Senior readability, a11y, light contrast, mobile ≤390, calm/Motion OFF, print, account nudge.
   Every block tagged /* r28 #NNN */. Magenta/cyan/gold only; no green. */

/* r28 #879 seniors: standalone lead + body readable */
body[data-page="seniors"] .lead,
body[data-page="seniors"] main p{
  font-size:clamp(1.2rem,2.8vw,1.4rem)!important;line-height:1.65!important;max-width:44rem;
}

/* r28 #880 seniors: help list titles + blurbs */
body[data-page="seniors"] ul.help li,
body[data-page="seniors"] ul.help b{
  font-size:1.15rem!important;line-height:1.55!important;
}
body[data-page="seniors"] ul.help b{font-size:clamp(1.15rem,2.5vw,1.3rem)!important;line-height:1.35!important}

/* r28 #881 seniors: CTAs ≥52px (reinforce) */
body[data-page="seniors"] .btn,
body[data-page="seniors"] .btns .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;padding:.65rem 1.2rem!important;touch-action:manipulation;box-sizing:border-box;
}

/* r28 #882 seniors: focus gold on buttons + header links */
body[data-page="seniors"] .btn:focus-visible,
body[data-page="seniors"] .top a:focus-visible,
body[data-page="seniors"] .contact a:focus-visible,
body[data-page="seniors"] .acct-nudge a:focus-visible,
body[data-page="seniors"] .skip:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r28 #883 seniors: help cards cream + navy contrast */
body[data-page="seniors"] ul.help li{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:4px 4px 0 #f0b400!important;
}
body[data-page="seniors"] ul.help b{color:#a3006a!important}

/* r28 #884 seniors: account nudge New here? style */
body[data-page="seniors"] .acct-nudge{
  margin-top:1rem!important;padding:.75rem 1rem;border-left:4px solid #ffd23f;
  background:rgba(255,210,63,.22)!important;border-radius:0 10px 10px 0;
  font-size:1.15rem!important;line-height:1.55!important;color:#1d1236!important;
}

/* r28 #885 seniors: contact box + note readable */
body[data-page="seniors"] .contact,
body[data-page="seniors"] .note{
  font-size:1.15rem!important;line-height:1.6!important;
}
body[data-page="seniors"] .contact{border-color:#c2007a!important}

/* r28 #886 seniors: header Call/Text/Back taps ≥52px */
body[data-page="seniors"] .top a.txt,
body[data-page="seniors"] .top a.back-main{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  padding:.35rem .55rem;touch-action:manipulation;
}

/* r28 #887 seniors: mobile ≤390 help + btns stack */
@media (max-width:390px){
  body[data-page="seniors"] ul.help{
    display:grid!important;grid-template-columns:1fr!important;gap:.65rem!important;
  }
  body[data-page="seniors"] .btns{
    display:flex;flex-direction:column;gap:.55rem;align-items:stretch;
  }
  body[data-page="seniors"] .btns .btn{width:100%;justify-content:center}
}

/* r28 #888 seniors: print ink-safe */
@media print{
  body[data-page="seniors"] ul.help li,
  body[data-page="seniors"] .contact,
  body[data-page="seniors"] .note,
  body[data-page="seniors"] table{
    background:#fff!important;color:#000!important;box-shadow:none!important;border-color:#000!important;
  }
  body[data-page="seniors"] .top{background:#fff!important;color:#000!important;border-color:#000!important}
  body[data-page="seniors"] .top a{color:#000!important}
}

/* r28 #889 consult: lead + paid-note readable */
body[data-page="consult"] .page-head .lead,
body[data-page="consult"] .paid-note-h,
body[data-page="consult"] .consult-text-hint,
body[data-page="consult"] .px-box p{
  font-size:clamp(1.15rem,2.8vw,1.35rem)!important;line-height:1.65!important;
}

/* r28 #890 consult: CTAs ≥52px (reinforce) */
body[data-page="consult"] .actions .btn,
body[data-page="consult"] .px-box .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;padding:.55rem 1rem!important;touch-action:manipulation;box-sizing:border-box;
}

/* r28 #891 consult: focus gold */
body[data-page="consult"] .actions .btn:focus-visible,
body[data-page="consult"] .px-box .btn:focus-visible,
body[data-page="consult"] .acct-nudge a:focus-visible,
body[data-page="consult"] .portal-link:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r28 #892 consult: light cream cards */
html.light body[data-page="consult"] .px-box,
html.light body[data-page="consult"] .page-head{
  color:#1d1236!important;
}
html.light body[data-page="consult"] .px-box{
  background:#ffffff!important;border-color:#c2007a!important;box-shadow:5px 5px 0 #f0b400!important;
}
html.light body[data-page="consult"] .paid-note-h,
html.light body[data-page="consult"] h1{color:#a3006a!important}

/* r28 #893 consult: mobile ≤390 action stack */
@media (max-width:390px){
  body[data-page="consult"] .actions{
    display:flex;flex-direction:column;gap:.55rem;align-items:stretch;
  }
  body[data-page="consult"] .actions .btn{width:100%;justify-content:center}
}

/* r28 #894 consult: Motion OFF freeze card lift */
html.calm body[data-page="consult"] .px-box,
html.calm body[data-page="consult"] .px-box:hover{
  transition:none!important;transform:none!important;filter:none!important;
}
@media (prefers-reduced-motion:reduce){
  body[data-page="consult"] .px-box{transition:none!important;transform:none!important}
}

/* r28 #895 consult: account nudge New here? style */
body[data-page="consult"] .acct-nudge{
  margin-top:1rem!important;padding:.75rem 1rem;border-left:4px solid #ffd23f;
  background:rgba(255,210,63,.08);border-radius:0 10px 10px 0;
  font-size:1.12rem!important;line-height:1.5!important;
}
html.light body[data-page="consult"] .acct-nudge{
  background:rgba(255,210,63,.22)!important;border-left-color:#c2007a;color:#1d1236!important;
}

/* r28 #896 free-account / consult print ink-safe */
@media print{
  body[data-page="consult"] .px-box,body[data-page="consult"] .actions .btn{
    background:#fff!important;color:#000!important;box-shadow:none!important;border-color:#000!important;
  }
}

/* r28 #897 refer: steps + rewards body readable */
body[data-page="refer"] .ref-steps,
body[data-page="refer"] .ref-steps li,
body[data-page="refer"] .ref-rewards p,
body[data-page="refer"] .refer-text-hint,
body[data-page="refer"] .page-head .lead{
  font-size:1.15rem!important;line-height:1.6!important;
}
body[data-page="refer"] .ref-h2{
  font-size:clamp(1.2rem,2.8vw,1.45rem)!important;line-height:1.35!important;
}

/* r28 #898 refer: CTAs ≥52px + focus gold */
body[data-page="refer"] .actions .btn,
body[data-page="refer"] .ref-box .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;touch-action:manipulation;box-sizing:border-box;
}
body[data-page="refer"] .actions .btn:focus-visible,
body[data-page="refer"] .ref-box .btn:focus-visible,
body[data-page="refer"] .acct-nudge a:focus-visible,
body[data-page="refer"] .tierchip:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r28 #899 towns: lead + checks readable */
body[data-page="city-south-st-paul"] .page-head .lead,
body[data-page="city-west-st-paul"] .page-head .lead,
body[data-page="city-inver-grove-heights"] .page-head .lead,
body[data-page="city-st-paul"] .page-head .lead,
body[data-page^="city-"] .checks li{
  font-size:clamp(1.15rem,2.8vw,1.35rem)!important;line-height:1.65!important;
}

/* r28 #900 towns: action CTAs ≥52px */
body[data-page^="city-"] .actions .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;padding:.55rem 1rem!important;touch-action:manipulation;box-sizing:border-box;
}

/* r28 #901 towns: city-quicklinks ≥48px taps */
body[data-page^="city-"] .city-quicklinks a{
  min-height:48px!important;display:inline-flex!important;align-items:center!important;
  padding:.35rem .25rem;touch-action:manipulation;font-size:1.1rem!important;line-height:1.45;
}

/* r28 #902 towns: city-contact Call/text/email ≥48px */
body[data-page^="city-"] .city-contact a{
  min-height:48px!important;display:inline-flex!important;align-items:center!important;
  padding:.25rem .1rem;touch-action:manipulation;font-size:1.12rem!important;
}

/* r28 #903 towns: nearby town links ≥48px */
body[data-page^="city-"] .nearby a,
body[data-page^="city-"] .nearby li a{
  min-height:48px!important;display:inline-flex!important;align-items:center!important;
  padding:.35rem .15rem;touch-action:manipulation;font-size:1.1rem!important;
}

/* r28 #904 towns: focus gold */
body[data-page^="city-"] .actions .btn:focus-visible,
body[data-page^="city-"] .city-quicklinks a:focus-visible,
body[data-page^="city-"] .city-contact a:focus-visible,
body[data-page^="city-"] .nearby a:focus-visible,
body[data-page^="city-"] .acct-nudge a:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r28 #905 towns: light cream cards + nearby */
html.light body[data-page^="city-"] .px-box,
html.light body[data-page^="city-"] .nearby{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:5px 5px 0 #f0b400!important;
}
html.light body[data-page^="city-"] h1,
html.light body[data-page^="city-"] .nearby h3{color:#a3006a!important}
html.light body[data-page^="city-"] .lead,
html.light body[data-page^="city-"] .checks li,
html.light body[data-page^="city-"] .hint{color:#1d1236!important}

/* r28 #906 towns: mobile ≤390 action + nearby stack */
@media (max-width:390px){
  body[data-page^="city-"] .actions{
    display:flex;flex-direction:column;gap:.55rem;align-items:stretch;
  }
  body[data-page^="city-"] .actions .btn{width:100%;justify-content:center}
  body[data-page^="city-"] .city-quicklinks{
    display:flex;flex-direction:column;gap:.35rem;align-items:flex-start;
  }
  body[data-page^="city-"] .nearby ul{display:flex;flex-direction:column;gap:.25rem}
}

/* r28 #907 towns: print ink-safe */
@media print{
  body[data-page^="city-"] .px-box,
  body[data-page^="city-"] .nearby,
  body[data-page^="city-"] .actions .btn{
    background:#fff!important;color:#000!important;box-shadow:none!important;border-color:#000!important;
  }
}

/* r28 #908 towns: account nudge style */
body[data-page^="city-"] .acct-nudge{
  margin-top:1rem!important;padding:.75rem 1rem;border-left:4px solid #ffd23f;
  background:rgba(255,210,63,.08);border-radius:0 10px 10px 0;
  font-size:1.12rem!important;line-height:1.5!important;
}
html.light body[data-page^="city-"] .acct-nudge{
  background:rgba(255,210,63,.22)!important;border-left-color:#c2007a;color:#1d1236!important;
}

/* r28 #909 guides hub: lead + card blurbs readable */
body[data-page="guides"] .page-head .lead,
body[data-page="guides"] .card p,
body[data-page="guides"] .note,
body[data-page="guides"] .cta-box p{
  font-size:clamp(1.15rem,2.8vw,1.35rem)!important;line-height:1.65!important;
}

/* r28 #910 guides hub + articles: CTAs ≥52px */
body[data-page="guides"] .card .btn,
body[data-page="guides"] .actions .btn,
body[data-page="guide-laptop"] .actions .btn,
body[data-page="guide-smartphone"] .actions .btn,
body[data-page="guide-tablet"] .actions .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;padding:.55rem 1rem!important;touch-action:manipulation;box-sizing:border-box;
}

/* r28 #911 guide articles: lead + checklist + toc readable */
body[data-page="guide-laptop"] .lead,
body[data-page="guide-smartphone"] .lead,
body[data-page="guide-tablet"] .lead,
body[data-page^="guide-"] .guide,
body[data-page^="guide-"] .guide p,
body[data-page^="guide-"] .checklist li,
body[data-page^="guide-"] .toc,
body[data-page^="guide-"] .note{
  font-size:1.15rem!important;line-height:1.65!important;
}

/* r28 #912 guides: focus gold */
body[data-page="guides"] .card .btn:focus-visible,
body[data-page="guides"] .actions .btn:focus-visible,
body[data-page^="guide-"] .actions .btn:focus-visible,
body[data-page^="guide-"] .toc a:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r28 #913 guides: light cream cards */
html.light body[data-page="guides"] .card,
html.light body[data-page="guides"] .cta-box,
html.light body[data-page^="guide-"] .toc,
html.light body[data-page^="guide-"] .cta-box,
html.light body[data-page^="guide-"] .tip-box{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:5px 5px 0 #f0b400!important;
}
html.light body[data-page="guides"] h1,
html.light body[data-page^="guide-"] h1,
html.light body[data-page="guides"] .card h2{color:#a3006a!important}

/* r28 #914 guides: mobile ≤390 stack cards */
@media (max-width:390px){
  body[data-page="guides"] .grid-3{
    display:grid!important;grid-template-columns:1fr!important;gap:.75rem!important;
  }
  body[data-page="guides"] .actions,
  body[data-page^="guide-"] .actions{
    display:flex;flex-direction:column;gap:.55rem;align-items:stretch;
  }
  body[data-page="guides"] .actions .btn,
  body[data-page^="guide-"] .actions .btn{width:100%;justify-content:center}
}

/* r28 #915 guides: print ink-safe */
@media print{
  body[data-page="guides"] .card,
  body[data-page="guides"] .cta-box,
  body[data-page^="guide-"] .toc,
  body[data-page^="guide-"] .cta-box{
    background:#fff!important;color:#000!important;box-shadow:none!important;border-color:#000!important;
  }
}

/* r28 #916 game pages: lead + tip-box readable */
body[data-page^="game-"] .page-head .lead,
body[data-page^="game-"] .tip-box,
body[data-page^="game-"] .tip-box p,
body[data-page^="game-"] .game-text-hint,
body[data-page^="game-"] .win-h{
  font-size:1.15rem!important;line-height:1.6!important;
}

/* r28 #917 game pages: mode/action CTAs ≥52px */
body[data-page^="game-"] .mode .btn,
body[data-page^="game-"] .actions .btn,
body[data-page^="game-"] .tip-box .btn,
body[data-page^="game-"] .pp-btns .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;padding:.55rem 1rem!important;touch-action:manipulation;box-sizing:border-box;
}

/* r28 #918 game pages: focus gold + light cream tip boxes */
body[data-page^="game-"] .btn:focus-visible,
body[data-page^="game-"] .portal-link:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}
html.light body[data-page^="game-"] .tip-box,
html.light body[data-page^="game-"] .pp-screen,
html.light body[data-page^="game-"] .td-phone{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:5px 5px 0 #f0b400!important;
}
html.light body[data-page^="game-"] .win-h,
html.light body[data-page^="game-"] h1{color:#a3006a!important}

/* r28 #919 refer: light cream + tierchips */
html.light body[data-page="refer"] .ref-box,
html.light body[data-page="refer"] .ref-rewards,
html.light body[data-page="refer"] .px-box.card{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:5px 5px 0 #f0b400!important;
}
html.light body[data-page="refer"] .ref-h2,
html.light body[data-page="refer"] .tierchip{color:#a3006a!important}
html.light body[data-page="refer"] .lead,
html.light body[data-page="refer"] .ref-steps li{color:#1d1236!important}

/* r28 #920 refer: mobile ≤390 stack + acct nudge */
@media (max-width:390px){
  body[data-page="refer"] .grid-2{
    display:grid!important;grid-template-columns:1fr!important;gap:.75rem!important;
  }
  body[data-page="refer"] .actions{
    display:flex;flex-direction:column;gap:.55rem;align-items:stretch;
  }
  body[data-page="refer"] .actions .btn{width:100%;justify-content:center}
}
body[data-page="refer"] .acct-nudge{
  margin-top:1rem!important;padding:.75rem 1rem;border-left:4px solid #ffd23f;
  background:rgba(255,210,63,.08);border-radius:0 10px 10px 0;
  font-size:1.12rem!important;line-height:1.5!important;
}
html.light body[data-page="refer"] .acct-nudge{
  background:rgba(255,210,63,.22)!important;border-left-color:#c2007a;color:#1d1236!important;
}

/* r28 #921 service-area: ZIP check + city cards readable */
body[data-page="service-area"] .ac-label,
body[data-page="service-area"] .ac-hint,
body[data-page="service-area"] .ac-result,
body[data-page="service-area"] .ac-text-hint,
body[data-page="service-area"] .city-cards .card p,
body[data-page="service-area"] .checks li{
  font-size:1.15rem!important;line-height:1.6!important;
}

/* r28 #922 service-area: ac-go + city card CTAs ≥52px */
body[data-page="service-area"] .ac-go,
body[data-page="service-area"] .city-cards .btn,
body[data-page="service-area"] .sa-stp-row .btn,
body[data-page="service-area"] .actions .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;touch-action:manipulation;box-sizing:border-box;
}
body[data-page="service-area"] .ac-go:focus-visible,
body[data-page="service-area"] .city-cards .btn:focus-visible,
body[data-page="service-area"] .actions .btn:focus-visible,
body[data-page="service-area"] .ac-input:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r28 #923 contact terminal: cmd + list readable */
body[data-page="contact"] .ct-term-cmd,
body[data-page="contact"] .ct-term-list dt,
body[data-page="contact"] .ct-term-list dd,
body[data-page="contact"] .ct-term-prompt,
body[data-page="contact"] .page-head .lead,
body[data-page="contact"] .form-h,
body[data-page="contact"] .hint{
  font-size:1.15rem!important;line-height:1.55!important;
}
body[data-page="contact"] .ct-term-cmd{
  font-size:clamp(1.2rem,2.8vw,1.45rem)!important;line-height:1.35!important;
}

/* r28 #924 contact: big-links + form submit ≥52px + focus gold */
body[data-page="contact"] .big-links .btn,
body[data-page="contact"] .ct-term-link,
body[data-page="contact"] form .btn,
body[data-page="contact"] .paid-note .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;padding:.55rem 1rem!important;touch-action:manipulation;box-sizing:border-box;
}
body[data-page="contact"] .big-links .btn:focus-visible,
body[data-page="contact"] .ct-term-link:focus-visible,
body[data-page="contact"] form .btn:focus-visible,
body[data-page="contact"] .field:focus-visible,
body[data-page="contact"] input:focus-visible,
body[data-page="contact"] textarea:focus-visible,
body[data-page="contact"] select:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r28 #925 contact: light cream terminal + form card */
html.light body[data-page="contact"] .ct-term,
html.light body[data-page="contact"] .px-box,
html.light body[data-page="contact"] .paid-note{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:5px 5px 0 #f0b400!important;
}
html.light body[data-page="contact"] .ct-term-cmd,
html.light body[data-page="contact"] .form-h,
html.light body[data-page="contact"] .paid-note-h{color:#a3006a!important}
html.light body[data-page="contact"] .ct-term-list dt{color:#0088a8!important}
html.light body[data-page="contact"] .ct-term-list dd,
html.light body[data-page="contact"] .lead,
html.light body[data-page="contact"] .hint{color:#1d1236!important}

/* r28 #926 contact: mobile ≤390 big-links + form stack */
@media (max-width:390px){
  body[data-page="contact"] .big-links,
  body[data-page="contact"] .contact-grid{
    display:flex;flex-direction:column;gap:.65rem;
  }
  body[data-page="contact"] .big-links .btn{width:100%;justify-content:center}
  body[data-page="contact"] .ct-term{padding:.85rem .7rem!important;box-sizing:border-box}
}

/* r28 #927 footer + statusbar: taps ≥48px + readable */
.statusbar a,
.statusbar .btn,
.callbar a,
.callbar .btn,
.footer-cols a,
.footer-col a,
footer .serving-links a{
  min-height:48px!important;display:inline-flex!important;align-items:center!important;
  touch-action:manipulation;
}
.footer-col,.footer-cols p,.footer-col li{
  font-size:1.05rem!important;line-height:1.55!important;
}
.statusbar a:focus-visible,
.callbar a:focus-visible,
.footer-cols a:focus-visible,
footer a:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:2px!important;
}

/* r28 #928 Motion OFF leftovers + print + contact/service acct nudges */
html.calm body[data-page="refer"] .px-box:hover,
html.calm body[data-page="contact"] .ct-term:hover,
html.calm body[data-page="service-area"] .card:hover,
html.calm body[data-page^="city-"] .px-box:hover,
html.calm body[data-page^="game-"] .tip-box:hover{
  transform:none!important;filter:none!important;transition:none!important;
}
@media (prefers-reduced-motion:reduce){
  body[data-page="refer"] .px-box,
  body[data-page="contact"] .ct-term,
  body[data-page="service-area"] .card,
  body[data-page^="city-"] .px-box,
  body[data-page^="game-"] .tip-box{transition:none!important;transform:none!important}
}
body[data-page="contact"] .acct-nudge,
body[data-page="service-area"] .acct-nudge{
  margin-top:1rem!important;padding:.75rem 1rem;border-left:4px solid #ffd23f;
  background:rgba(255,210,63,.08);border-radius:0 10px 10px 0;
  font-size:1.12rem!important;line-height:1.5!important;
}
html.light body[data-page="contact"] .acct-nudge,
html.light body[data-page="service-area"] .acct-nudge{
  background:rgba(255,210,63,.22)!important;border-left-color:#c2007a;color:#1d1236!important;
}
@media print{
  body[data-page="refer"] .px-box,
  body[data-page="contact"] .ct-term,
  body[data-page="contact"] .px-box,
  body[data-page="service-area"] .card,
  body[data-page^="game-"] .tip-box,
  .footer-cols,.statusbar,.callbar{
    background:#fff!important;color:#000!important;box-shadow:none!important;border-color:#000!important;
  }
  .statusbar,.callbar{display:none!important}
}
