/* Skin "florida" (setting skin = florida): "Gulf day", the new Florida Prediction Markets design approved by Catie on
   15 Oct 2026 (Brand & Design spec v1.1, tokens hub/brand/florida/tokens.css, brand book style-tile.html). A calm Gulf
   Coast afternoon for readers aged 50 to 75: shell-white page, sea-glass panels, deep Gulf teal text, terracotta money
   buttons, big readable type (18px body, nothing under 15px, 48px controls, 56px main button).
   Light for everyone; dark ("Gulf night") only through the footer switch (html[data-fl-theme="dark"], js/theme.js sets
   it before first paint). The site's own theme setting is overridden here; prefers-color-scheme is not followed.
   Site-wide pieces first (tokens, type, header, menu, articles, lists, footer, sticky bar), the home page (templates/
   partials/home/showcase-florida.php, classes .fl-*) below. Components are styled by the classes the templates print,
   not by structural selectors inside text, so editorial boxes and tables keep the plain text styles. */

/* Fonts, self-hosted (SIL Open Font License 1.1, licence texts in public/assets/fonts/): Figtree 600/800 (headings,
   prices; one variable file) and Atkinson Hyperlegible 400/700 (all reading text). Latin ranges only. */
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 600 800; font-display: swap; src: url("../../fonts/figtree-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 400; font-display: swap; src: url("../../fonts/atkinson-hyperlegible-400-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Atkinson Hyperlegible"; font-style: normal; font-weight: 700; font-display: swap; src: url("../../fonts/atkinson-hyperlegible-700-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Metric-matched fallbacks (Brand CLS note 22 Oct): the first paint uses these local faces, sized to Figtree 800 and
   Atkinson, so the header and hero lines keep their height when the web fonts swap in. Measured from the woff2 files. */
@font-face { font-family: "Figtree Fallback"; font-weight: 600 800; src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Helvetica-Bold"); size-adjust: 97.5%; ascent-override: 97.4%; descent-override: 25.6%; line-gap-override: 0%; }
@font-face { font-family: "Atkinson Fallback"; font-weight: 400; src: local("Arial"), local("ArialMT"), local("Helvetica"); size-adjust: 98.8%; ascent-override: 96.1%; descent-override: 29.3%; line-gap-override: 0%; }
@font-face { font-family: "Atkinson Fallback"; font-weight: 700; src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Helvetica-Bold"); size-adjust: 99.1%; ascent-override: 95.8%; descent-override: 29.2%; line-gap-override: 0%; }
/* Android has no Arial/Helvetica: same idea on its Roboto (Brand note 22 Oct), measured from Roboto 400/700. */
@font-face { font-family: "Figtree Fallback R"; font-weight: 600 800; src: local("Roboto Bold"), local("Roboto-Bold"); size-adjust: 103.7%; ascent-override: 91.6%; descent-override: 24.1%; line-gap-override: 0%; }
@font-face { font-family: "Atkinson Fallback R"; font-weight: 400; src: local("Roboto"), local("Roboto-Regular"); size-adjust: 99.2%; ascent-override: 95.8%; descent-override: 29.2%; line-gap-override: 0%; }
@font-face { font-family: "Atkinson Fallback R"; font-weight: 700; src: local("Roboto Bold"), local("Roboto-Bold"); size-adjust: 106.1%; ascent-override: 89.5%; descent-override: 27.3%; line-gap-override: 0%; }

/* Tokens (hub/brand/florida/tokens.css v1.1) */
:root {
  --fl-page: #fdfcfb; --fl-glass: #e8f2ed; --fl-chip: #cfe3df; --fl-water: #bfdcd8; --fl-sand: #e4d6bc; --fl-sand-2: #f3ece0;
  --fl-ink: #113b45; --fl-ink-2: #3c5c63; --fl-head-c: #113b45; --fl-clay: #ac4f38; --fl-clay-hover: #8f3f2b; --fl-on-clay: #ffffff;
  --fl-line: #d6e3df; --fl-shore: #c9b48e; --fl-up: #1f7a5a; --fl-down: #a8432d; --fl-card: #ffffff; --fl-band: #f6f3ec; --fl-hero-top: #e8f2ed;
  --fl-head: "Figtree", "Figtree Fallback", "Figtree Fallback R", "Segoe UI", system-ui, sans-serif;
  --fl-text: "Atkinson Hyperlegible", "Atkinson Fallback", "Atkinson Fallback R", Verdana, system-ui, sans-serif;
  --fl-mono: ui-monospace, Menlo, Consolas, monospace;
  --fl-body: 18px; --fl-lh: 1.6; --fl-small: 15px;
  --fl-h1: clamp(36px, 5.6vw, 64px); --fl-h2: clamp(24px, 2.4vw, 30px); --fl-h3: 21px;
  --fl-r: 14px; --fl-r-btn: 10px; --fl-r-chip: 12px; --fl-r-round: 999px;
  --fl-tap: 48px; --fl-btn-main: 56px; --fl-wrap: 1180px;
  --fl-ease: cubic-bezier(.2, .7, .2, 1); --fl-fast: 150ms; --fl-in: 300ms;
  color-scheme: light;
}
html[data-fl-theme="dark"] {
  --fl-page: #0e2a31; --fl-glass: #15404a; --fl-chip: #22535c; --fl-water: #2a6468; --fl-sand: #2a4342; --fl-sand-2: #1b4650;
  --fl-ink: #f6f9f8; --fl-ink-2: #e3ece9; --fl-head-c: #f3e4c4; --fl-clay: #e8957a; --fl-clay-hover: #f0a588; --fl-on-clay: #0b2328;
  --fl-line: #2f5e66; --fl-shore: #a8946c; --fl-up: #7fe0b5; --fl-down: #ff9b80; --fl-card: #133a42; --fl-band: #0b2328; --fl-hero-top: #0e2a31;
  --fl-body: 19px; color-scheme: dark;
}

/* The shared styles' tokens follow the Florida ones (the site setting theme = dark is overridden here). */
body.skin-florida, body.skin-florida.theme-dark {
  --wrap: var(--fl-wrap); --gutter: 16px; --radius: var(--fl-r);
  --paper: var(--fl-page); --paper-2: var(--fl-sand-2); --ink: var(--fl-ink); --ink-2: var(--fl-ink-2); --muted: var(--fl-ink-2); --line: var(--fl-line);
  --brand: var(--fl-ink); --accent: var(--fl-clay); --accent-text: var(--fl-clay); --accent-ink: var(--fl-on-clay); --on-accent: var(--fl-on-clay); --focus: var(--fl-clay);
  --sans: var(--fl-text); --serif: var(--fl-text); --serif-text: var(--fl-text); --display: var(--fl-head); --serif-display: var(--fl-head); --mono: var(--fl-mono);
  --sc-card: var(--fl-card); --bg: var(--fl-page);
  background: var(--fl-page); color: var(--fl-ink);
  font: var(--fl-body)/var(--fl-lh) var(--fl-text); -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
}
@media (min-width: 768px) { body.skin-florida { --gutter: 24px; } }
@media (min-width: 1024px) { body.skin-florida { --gutter: 32px; } }
body.skin-florida :focus-visible { outline: 3px solid var(--fl-clay); outline-offset: 3px; }
body.skin-florida ::selection { background: var(--fl-chip); color: var(--fl-ink); }
body.skin-florida a { color: var(--fl-ink); text-underline-offset: 3px; }
body.skin-florida a:hover { color: var(--fl-clay-hover); }
html[data-fl-theme="dark"] body.skin-florida a:hover { color: var(--fl-clay); }
body.skin-florida h1, body.skin-florida h2, body.skin-florida h3, body.skin-florida .article-title, body.skin-florida .card-title, body.skin-florida .section-title {
  font-family: var(--fl-head); font-weight: 800; color: var(--fl-head-c); text-wrap: balance; letter-spacing: -.005em; }
body.skin-florida h4 { font-family: var(--fl-text); font-weight: 700; }
/* Nothing under 15px: the shared styles' small text, raised (labels stay in plain words, no capitals) */
body.skin-florida :is(.meta, .kicker, .breadcrumbs, .byline, .card-excerpt, .muted, small, .rg-notice, .footer-bottom, .header-langs a, .disclosure, .page-updated,
  .prose .label, .prose small, .code-terms, .code-checked, .offer-terms, .offer-terms p, .faq-answer, figcaption, .share, .share a, .pagination, .tag-list a, .lo-foot, .lo-note,
  .cbc-foot, .sticky-terms, .second-platform, .author-box p, .toc li) { font-size: max(var(--fl-small), 1em); letter-spacing: 0; text-transform: none; }
body.skin-florida :is(.meta, .breadcrumbs, .byline, .muted, .page-updated, figcaption) { color: var(--fl-ink-2); }
body.skin-florida .kicker, body.skin-florida .prose .label { font-family: var(--fl-text); font-weight: 700; color: var(--fl-ink-2); }

/* B1 Header (68px): the Gulf sun mark and the name, the menu, EN/ES and one Menu button under 1024px */
body.skin-florida .site-header { background: var(--fl-page); border-bottom: 1px solid var(--fl-line); position: relative; z-index: 40; }
body.skin-florida .header-top { min-height: 68px; gap: 16px; }
body.skin-florida .brand { color: var(--fl-ink); gap: 10px; min-height: var(--fl-tap); }
body.skin-florida .fl-brand { display: flex; align-items: center; gap: 10px; font: 800 21px/1.15 var(--fl-head); color: var(--fl-ink); }
body.skin-florida .fl-brand svg { flex: none; }
/* small phones also carry EN/ES and the Menu button: the name sets on two lines at 18px there */
@media (max-width: 479px) { body.skin-florida .fl-brand { font-size: 18px; line-height: 1.1; } body.skin-florida .fl-brand > span { max-width: 9.5em; min-height: 2.2em; display: flex; align-items: center; } body.skin-florida .header-top { gap: 10px; } }
body.skin-florida .search-form { display: none; }
body.skin-florida .header-langs a { min-height: 44px; min-width: 44px; justify-content: center; padding: 0 12px; border: 2px solid var(--fl-line); border-radius: var(--fl-r-btn);
  font: 700 16px var(--fl-text); letter-spacing: .02em; color: var(--fl-ink); }
body.skin-florida .header-langs a:hover { border-color: var(--fl-ink); color: var(--fl-ink); }
body.skin-florida .menu-toggle { min-height: var(--fl-tap); padding: 0 18px; border: 2px solid var(--fl-ink); border-radius: var(--fl-r-btn); background: transparent;
  color: var(--fl-ink); font: 700 17px var(--fl-text); gap: 10px; }
body.skin-florida .menu-toggle:hover { background: var(--fl-glass); }
body.skin-florida .primary-nav { border-top: 1px solid var(--fl-line); background: var(--fl-page); }
body.skin-florida .nav-list a { font: 700 17px var(--fl-text); color: var(--fl-ink); }
/* One menu: under 1024px the nav is a panel behind the Menu button (the shared styles switch at 768px) */
@media (max-width: 1023px) {
  body.skin-florida.js .menu-toggle { display: inline-flex; }
  body.skin-florida.js .primary-nav, html.js body.skin-florida .primary-nav { display: none; }
  body.skin-florida .primary-nav.is-open, html.js body.skin-florida .primary-nav.is-open { display: block; position: absolute; left: 0; right: 0; top: 100%;
    max-height: calc(100dvh - 68px); overflow-y: auto; box-shadow: 0 12px 24px rgb(17 59 69 / .14); }
  body.skin-florida .nav-list { flex-direction: column; overflow: visible; padding-block: 8px; gap: 0; }
  body.skin-florida .nav-list a { display: flex; align-items: center; min-height: 52px; padding: 0; font-size: 18px; border-bottom: 1px solid var(--fl-line); white-space: normal; }
  body.skin-florida .sub-nav { display: block; padding-left: 16px; }
  body.skin-florida .sub-nav a { font-weight: 400; }
}
html.js body.skin-florida .menu-toggle { display: inline-flex; }
@media (min-width: 1024px) {
  body.skin-florida .menu-toggle, html.js body.skin-florida .menu-toggle { display: none; }
  body.skin-florida .primary-nav { display: block; border-top: 0; background: transparent; }
  body.skin-florida .nav-list { gap: 0 28px; flex-wrap: wrap; overflow: visible; }
  body.skin-florida .nav-list > li > a { display: flex; align-items: center; min-height: 44px; padding: 0; }
  body.skin-florida .sub-nav { background: var(--fl-page); border: 1px solid var(--fl-line); border-radius: var(--fl-r); }
  body.skin-florida .sub-nav a { min-height: 44px; display: flex; align-items: center; padding: 0 16px; font-size: 17px; font-weight: 400; }
}
@media (prefers-reduced-motion: no-preference) {
  body.skin-florida .primary-nav.is-open { animation: fl-menu .2s var(--fl-ease); }
}
@keyframes fl-menu { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
/* the sticky bar stands aside while the menu is open */
body.skin-florida:has(.primary-nav.is-open) .sticky-cta { display: none !important; }

/* Articles, pages and lists */
body.skin-florida .article-title { font-size: clamp(32px, 4.6vw, 52px); line-height: 1.1; }
body.skin-florida .standfirst { font-size: clamp(19px, 1.6vw, 21px); color: var(--fl-ink-2); }
body.skin-florida .prose { font-size: var(--fl-body); line-height: var(--fl-lh); color: var(--fl-ink); max-width: 68ch; }
body.skin-florida .prose h2 { font-size: var(--fl-h2); line-height: 1.2; }
body.skin-florida .prose h3 { font-size: var(--fl-h3); line-height: 1.3; }
body.skin-florida .prose a:not(.button) { color: var(--fl-ink); text-decoration-color: var(--fl-clay); text-decoration-thickness: 2px; }
body.skin-florida .prose .box, body.skin-florida .side-box, body.skin-florida .prose .toc { border: 1px solid var(--fl-line); border-radius: var(--fl-r); background: var(--fl-glass); padding: 20px 22px; }
body.skin-florida .prose table { border-collapse: collapse; }
body.skin-florida .prose th, body.skin-florida .prose td { border-color: var(--fl-line); padding: 10px 12px; }
body.skin-florida .prose th { background: var(--fl-sand-2); color: var(--fl-ink); font-weight: 700; }
body.skin-florida .prose blockquote { border-inline-start: 4px solid var(--fl-shore); color: var(--fl-ink-2); }
body.skin-florida .prose code.promo-code, body.skin-florida .code-chip, body.skin-florida .fl-code { font-family: var(--fl-mono); font-weight: 700; letter-spacing: .04em; background: var(--fl-sand-2);
  color: var(--fl-ink); border: 1px dashed var(--fl-shore); border-radius: 6px; padding: 1px 6px; }
body.skin-florida :is(.button, .prose .button, .code-box .button, .code-box-compact .button, .sticky-cta .button) { display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--fl-tap); padding: 0 20px; border-radius: var(--fl-r-btn); background: var(--fl-clay); color: var(--fl-on-clay); border: 0;
  font: 700 18px var(--fl-text); text-decoration: none; }
body.skin-florida :is(.button, .prose .button, .code-box .button, .code-box-compact .button, .sticky-cta .button):hover { background: var(--fl-clay-hover); color: var(--fl-on-clay); filter: none; }
body.skin-florida .copy-code { min-height: 44px; min-width: 44px; border: 2px solid var(--fl-ink); border-radius: var(--fl-r-btn); background: transparent; color: var(--fl-ink); font: 700 16px var(--fl-text); }
body.skin-florida .copy-code.is-copied { background: var(--fl-ink); color: var(--fl-page); }
body.skin-florida .prose .code-box { border: 2px solid var(--fl-clay); background: var(--fl-card); }
body.skin-florida .code-box-compact { border: 2px solid var(--fl-clay); background: var(--fl-card); font-size: 16px; }
body.skin-florida .code-box-compact .cbc-foot, body.skin-florida .code-box-compact .cbc-terms summary { font-size: 15px; }
body.skin-florida details > summary { min-height: var(--fl-tap); display: flex; align-items: center; cursor: pointer; }
body.skin-florida .faq details { border-color: var(--fl-line); }
body.skin-florida .faq summary { font: 700 18px/1.35 var(--fl-text); }
body.skin-florida .fl-faq details { border: 0; border-top: 1px solid var(--fl-line); padding: 4px 0; }
body.skin-florida .fl-faq details:last-of-type { border-bottom: 1px solid var(--fl-line); }
body.skin-florida .fl-faq summary { min-height: var(--fl-tap); padding-block: 10px; color: var(--fl-head-c); }
body.skin-florida .fl-faq .faq-answer { font-size: var(--fl-body); line-height: 1.6; color: var(--fl-ink-2); padding-bottom: 12px; }
body.skin-florida .fl-faq > * { max-width: 768px; } /* BD-053 add-on: left-aligned, 768px like the spec */
body.skin-florida .fl-faq.faq { margin-top: 0; } /* site.css .faq adds 2.5em on top of the .fl-sec padding (Brand 10:24) */
body.skin-florida .card { background: var(--fl-card); border: 1px solid var(--fl-line); border-radius: var(--fl-r); padding: 14px; }
body.skin-florida .card-media { border-radius: 10px; }
body.skin-florida .card-title { font-size: 21px; line-height: 1.25; }
body.skin-florida .card-title a { color: var(--fl-head-c); display: flex; align-items: center; min-height: var(--fl-tap); }
body.skin-florida a.kicker, body.skin-florida.home-showcase .card a.kicker { display: inline-flex; align-items: center; min-height: var(--fl-tap); margin-block: 0; }
/* phones: the article lists under the home blocks are compact rows (title and date, at most 3 per list; "More" leads on) */
@media (max-width: 639px) {
  body.skin-florida.home-showcase :is(.home-featured, .section) .card-media, body.skin-florida.home-showcase :is(.home-featured, .section) .card-excerpt { display: none; }
  body.skin-florida.home-showcase .section .grid > :nth-child(n+4) { display: none; }
  body.skin-florida.home-showcase .section .card { padding: 10px 14px; gap: 4px; }
  body.skin-florida.home-showcase .section .grid { gap: 8px; }
}
body.skin-florida .section-title { font-size: var(--fl-h2); }
body.skin-florida .section-head .more, body.skin-florida a.more { display: inline-flex; align-items: center; min-height: var(--fl-tap); font-weight: 700; }
body.skin-florida .pagination a, body.skin-florida .pagination span { min-height: var(--fl-tap); min-width: var(--fl-tap); display: inline-flex; align-items: center; justify-content: center; }
body.skin-florida .breadcrumbs, body.skin-florida .breadcrumbs * { font-size: var(--fl-small); }
body.skin-florida .breadcrumbs a { display: inline-flex; align-items: center; min-height: var(--fl-tap); }
body.skin-florida :is(.share a, .share button, .cbc-terms summary, .cbc-disclosure, .sticky-terms summary, .code-box summary, .offer-terms summary) { min-height: var(--fl-tap); display: inline-flex; align-items: center; }
body.skin-florida .disclosure { border-inline-start: 4px solid var(--fl-shore); background: var(--fl-band); border-radius: 0 10px 10px 0; color: var(--fl-ink-2); }
body.skin-florida .prose img, body.skin-florida .article-hero img { border-radius: var(--fl-r); }
html[data-fl-theme="dark"] body.skin-florida .prose th { background: var(--fl-sand-2); }
/* article sidebar lists ("Latest"): 16px rows of 48px with a hairline between */
body.skin-florida .side-title { font: 800 21px var(--fl-head); color: var(--fl-head-c); }
body.skin-florida .side-list { list-style: none; padding: 0; margin: 0; }
body.skin-florida .side-list li { border-bottom: 1px solid var(--fl-line); }
body.skin-florida .side-list a { display: flex; align-items: center; min-height: var(--fl-tap); padding-block: 6px; font-size: 16px; line-height: 1.35; color: var(--fl-ink); }

/* B9 Footer: a 2px ink rule above, the band colour, link columns, the Light / Dark switch, the RG line */
body.skin-florida .site-footer, body.skin-florida.theme-dark .site-footer { background: var(--fl-band); border-top: 2px solid var(--fl-ink); color: var(--fl-ink); margin-top: 48px; padding-top: 32px; }
body.skin-florida .footer-brand .brand-name { font: 800 21px var(--fl-head); color: var(--fl-head-c); white-space: normal; }
body.skin-florida .footer-grid { grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 1024px) { body.skin-florida .footer-grid { grid-template-columns: minmax(220px, 1fr) 3fr; } }
body.skin-florida .footer-cols { grid-template-columns: 1fr; gap: 24px 32px; }
@media (min-width: 640px) { body.skin-florida .footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { body.skin-florida .footer-cols { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
body.skin-florida :is(.footer-title, .footer-head) { font: 800 18px var(--fl-head); color: var(--fl-head-c); letter-spacing: 0; text-transform: none; }
body.skin-florida .footer-head a { color: var(--fl-head-c); min-height: var(--fl-tap); }
body.skin-florida :is(.footer-cols, .footer-links) a { display: inline-flex; align-items: center; min-height: var(--fl-tap); font-size: 17px; color: var(--fl-ink); }
body.skin-florida .language-switcher a { display: inline-flex; align-items: center; min-height: var(--fl-tap); padding: 0 14px; font-size: 17px; color: var(--fl-ink); background: transparent; border: 2px solid var(--fl-line); border-radius: var(--fl-r-btn); }
body.skin-florida .language-switcher a[aria-current] { background: var(--fl-ink); color: var(--fl-page); border-color: var(--fl-ink); }
body.skin-florida .theme-switch { display: flex; gap: 0; margin-block: 16px; }
body.skin-florida .theme-switch button { min-height: 44px; min-width: 88px; padding: 0 16px; border: 2px solid var(--fl-ink); background: transparent; color: var(--fl-ink);
  font: 700 16px var(--fl-text); cursor: pointer; }
body.skin-florida .theme-switch button:first-child { border-radius: var(--fl-r-btn) 0 0 var(--fl-r-btn); }
body.skin-florida .theme-switch button:last-child { border-radius: 0 var(--fl-r-btn) var(--fl-r-btn) 0; border-left: 0; }
body.skin-florida .theme-switch button[aria-pressed="true"] { background: var(--fl-ink); color: var(--fl-page); }
body.skin-florida .rg-notice, body.skin-florida .footer-bottom { color: var(--fl-ink-2); opacity: 1; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
body.skin-florida .footer-bottom { border-top: 1px solid var(--fl-line); }
body.skin-florida .footer-bottom a { display: inline-flex; align-items: center; min-height: var(--fl-tap); }

/* Sticky CTA (phones): page colour at 97%, the offer line, a terracotta Claim button, a 44px close button */
@media (max-width: 767px) {
  body.skin-florida .sticky-cta:not([hidden]) { background: color-mix(in srgb, var(--fl-page) 97%, transparent); border-top: 1px solid var(--fl-line); box-shadow: 0 -6px 18px rgb(17 59 69 / .12);
    color: var(--fl-ink); font-size: 16px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
  body.skin-florida .sticky-cta .sticky-text { font-size: 16px; }
  body.skin-florida .sticky-cta .sticky-text strong { font-weight: 700; }
  body.skin-florida .sticky-cta .button { min-height: var(--fl-tap); font-size: 17px; }
  body.skin-florida .sticky-close { min-width: 44px; min-height: 44px; color: var(--fl-ink); font-size: 26px; }
  body.skin-florida .sticky-terms { font-size: 15px; color: var(--fl-ink-2); }
  body.skin-florida .sticky-terms summary { min-height: 44px; }
}

/* ------------------------------------------------------------------------------------------------------------------
   Home page (showcase-florida.php)
   ------------------------------------------------------------------------------------------------------------------ */
body.skin-florida.home-showcase main > .wrap.page-updated, body.skin-florida .fl-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
body.skin-florida .fl-ic { width: 24px; height: 24px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
body.skin-florida .fl-ic--lg { width: 36px; height: 36px; }
body.skin-florida .fl-shore { border: 0; height: 2px; margin: 0 auto; max-width: var(--fl-wrap); background: radial-gradient(circle, var(--fl-shore) 1.2px, transparent 1.6px) 0 50% / 10px 2px repeat-x; }
body.skin-florida .fl-h2 { font-size: var(--fl-h2); line-height: 1.2; margin: 0 0 16px; }
body.skin-florida .fl-sec { padding-block: 48px; }
@media (min-width: 1024px) { body.skin-florida .fl-sec { padding-block: 64px; } }
body.skin-florida .fl-kicker { margin: 0 0 6px; font: 700 15px var(--fl-text); color: var(--fl-ink-2); }
body.skin-florida .fl-intro, body.skin-florida .fl-text { max-width: 68ch; margin: 0 0 20px; }
body.skin-florida .fl-intro p { margin: 0 0 12px; }
body.skin-florida .fl-code { white-space: nowrap; }
body.skin-florida .fl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 22px; border-radius: var(--fl-r-btn);
  font: 700 18px/1.2 var(--fl-text); text-decoration: none; text-align: center; cursor: pointer; }
body.skin-florida .fl-btn--clay { background: var(--fl-clay); color: var(--fl-on-clay); }
body.skin-florida .fl-btn--clay:hover { background: var(--fl-clay-hover); color: var(--fl-on-clay); }
body.skin-florida .fl-btn--line { border: 2px solid var(--fl-ink); color: var(--fl-ink); background: color-mix(in srgb, var(--fl-page) 70%, transparent); }
body.skin-florida .fl-btn--line:hover { background: var(--fl-glass); color: var(--fl-ink); }
body.skin-florida .fl-btn--main { min-height: var(--fl-btn-main); font-size: 19px; }

/* B2 Hero: one even background behind all text; the coast art is a strip under the text below 1024px and the drawing
   on the right 40% from 1024px, with the text column stopping at 56% (it never sits under text). */
body.skin-florida .fl-hero { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--fl-hero-top), var(--fl-page)); }
body.skin-florida .fl-hero-in { position: relative; display: grid; gap: 16px; padding-block: 24px 20px; }
body.skin-florida .fl-hero h1 { font-size: var(--fl-h1); line-height: 1.05; margin: 0; max-width: 9.13em; /* = 14ch in Figtree 800, but stable when the fallback paints first (ch follows the font) */ letter-spacing: -.01em; }
body.skin-florida .fl-dek { margin: 0; font-size: clamp(19px, 1.6vw, 21px); line-height: 1.5; color: var(--fl-ink-2); max-width: 22em; /* = 34ch in Atkinson, font-independent */ }
body.skin-florida .fl-cta { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; max-width: 460px; }
body.skin-florida .fl-offer-line, body.skin-florida .fl-note { margin: 0; font-size: var(--fl-small); line-height: 1.45; color: var(--fl-ink-2); }
body.skin-florida .fl-offer-line b { color: var(--fl-ink); }
body.skin-florida .fl-disclosure { margin: 0; font-size: var(--fl-small); line-height: 1.45; color: var(--fl-ink-2); } /* BD-053 */
body.skin-florida .fl-offers > .fl-disclosure { margin: -4px 0 16px; max-width: 70ch; }
body.skin-florida .fl-coast { display: none; position: absolute; right: 0; top: 0; width: 40%; height: 100%; pointer-events: none; }
body.skin-florida .fl-coast-strip { display: block; width: 100%; height: 64px; }
@media (min-width: 768px) {
  body.skin-florida .fl-cta { grid-template-columns: auto auto; max-width: none; justify-content: start; }
  body.skin-florida .fl-offer-line, body.skin-florida .fl-cta > .fl-disclosure { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
  body.skin-florida .fl-coast { display: block; }
  body.skin-florida .fl-coast-strip { display: none; }
  body.skin-florida .fl-hero-in { padding-block: 56px; }
  body.skin-florida .fl-hero-in > * { max-width: 56%; }
}
/* small phones (under 700px tall): the dek goes under the buttons, so h1, the main button and the offer line fit the first screen */
@media (max-width: 767px) and (max-height: 700px) {
  body.skin-florida .fl-dek { order: 2; }
  body.skin-florida .fl-cta { order: 1; }
  body.skin-florida .fl-note { order: 3; }
  body.skin-florida .fl-hero h1 { order: 0; }
}

/* B3 Two panels */
body.skin-florida .fl-band { padding-block: 24px 48px; }
body.skin-florida .fl-grid2 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 900px) { body.skin-florida .fl-grid2 { grid-template-columns: 1fr 1.3fr; } }
body.skin-florida .fl-panel { background: var(--fl-glass); border-radius: var(--fl-r); padding: 20px 22px; }
body.skin-florida .fl-panel h2 { display: flex; gap: 10px; align-items: center; margin: 0 0 10px; font-size: 22px; line-height: 1.25; }
body.skin-florida .fl-panel-text p { margin: 0 0 10px; }
body.skin-florida .fl-panel-text p:last-child { margin-bottom: 0; }
body.skin-florida .fl-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
body.skin-florida .fl-steps li { display: flex; align-items: center; gap: 14px; font-weight: 700; }
body.skin-florida .fl-steps i { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--fl-chip); display: grid; place-items: center; font: 800 18px var(--fl-head); font-style: normal; color: var(--fl-ink); }
@media (min-width: 900px) { body.skin-florida .fl-steps { grid-template-columns: repeat(3, 1fr); } }

/* B4 Today's Florida markets (the polymarket-search tools draw .fl-mkts cards in this skin) */
body.skin-florida .fl-mkt-group { margin-top: 20px; }
body.skin-florida .fl-group-label { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font: 700 var(--fl-small) var(--fl-text); color: var(--fl-ink-2); }
body.skin-florida .fl-markets .tool, body.skin-florida .fl-markets .lo { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
body.skin-florida .fl-mkts { display: grid; gap: 12px; grid-template-columns: 1fr; list-style: none; margin: 0; padding: 0; }
@media (max-width: 639px) { body.skin-florida .fl-mkts > :nth-child(n+4) { display: none; } } /* phones: three per group (page length) */
@media (min-width: 640px) { body.skin-florida .fl-mkts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { body.skin-florida .fl-mkts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
body.skin-florida .fl-mkt { display: grid; gap: 6px; align-content: space-between; min-height: 96px; height: 100%; padding: 14px 16px; border: 1px solid transparent; border-radius: 12px;
  background: var(--fl-sand-2); color: var(--fl-ink); text-decoration: none; }
body.skin-florida .fl-mkt:hover { border-color: var(--fl-ink); color: var(--fl-ink); }
body.skin-florida .fl-mkt-top { display: flex; align-items: center; gap: 8px; font-size: var(--fl-small); color: var(--fl-ink-2); }
body.skin-florida .fl-mkt-name { font: 700 18px/1.3 var(--fl-text); }
body.skin-florida .fl-mkt-row { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-variant-numeric: tabular-nums; }
body.skin-florida .fl-price { font: 800 24px var(--fl-head); }
body.skin-florida .fl-move { font-style: normal; font-size: var(--fl-small); color: var(--fl-ink-2); white-space: nowrap; }
body.skin-florida .fl-move.is-up { color: var(--fl-up); }
/* on the dune card the token green is 4.48:1 at 15px: a touch darker so it passes AA (dark mode keeps the token) */
html:not([data-fl-theme="dark"]) body.skin-florida .fl-mkt .fl-move.is-up { color: #1b6e51; }
body.skin-florida .fl-move.is-down { color: var(--fl-down); }
body.skin-florida .fl-mkt-state { margin: 0; min-height: 96px; display: flex; align-items: center; font-size: var(--fl-small); color: var(--fl-ink-2); }
body.skin-florida .fl-mkt-state--empty, body.skin-florida .fl-mkt-state--error { padding: 16px 18px; border-radius: var(--fl-r); background: var(--fl-glass); color: var(--fl-ink); min-height: 0; }
body.skin-florida .fl-mkt-foot { margin: 16px 0 0; font-size: var(--fl-small); line-height: 1.45; color: var(--fl-ink-2); }

/* B5 Offers: six cards from the settings, white and dune in turn */
body.skin-florida .fl-ocards, body.skin-florida .fl-pcards, body.skin-florida .fl-tiles { display: grid; gap: 12px; grid-template-columns: 1fr; list-style: none; margin: 0; padding: 0; }
@media (min-width: 640px) { body.skin-florida :is(.fl-ocards, .fl-pcards, .fl-tiles) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { body.skin-florida :is(.fl-ocards, .fl-tiles) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
body.skin-florida .fl-ocard, body.skin-florida .fl-pcard { display: grid; gap: 10px; align-content: start; padding: 18px; border: 1px solid var(--fl-line); border-radius: var(--fl-r); background: var(--fl-card); }
body.skin-florida .fl-ocard:nth-child(even), body.skin-florida .fl-pcard:nth-child(even) { background: var(--fl-sand-2); }
body.skin-florida .fl-ocard h3 { margin: 0; font-size: 20px; }
body.skin-florida .fl-amt { margin: 0; font: 700 19px/1.35 var(--fl-text); }
body.skin-florida .fl-meta { margin: 0; font-size: var(--fl-small); color: var(--fl-ink-2); }
body.skin-florida .fl-ocard .fl-btn, body.skin-florida .fl-pcard .fl-btn { width: 100%; }
body.skin-florida .fl-terms { font-size: var(--fl-small); color: var(--fl-ink-2); }
body.skin-florida .fl-terms summary { min-height: var(--fl-tap); font-weight: 700; color: var(--fl-ink); }
body.skin-florida .fl-terms p { margin: 0 0 8px; }
body.skin-florida .fl-rg { display: flex; gap: 10px; align-items: flex-start; margin: 20px 0 0; font-size: var(--fl-small); color: var(--fl-ink-2); }
body.skin-florida .fl-rg a { font-weight: 700; color: var(--fl-ink); padding-block: 14px; } /* running text: the tap area grows, the line does not */

/* Promo-code list and guide list: 56px rows with a hairline between */
body.skin-florida .fl-rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--fl-line); }
body.skin-florida .fl-rows li { border-bottom: 1px solid var(--fl-line); }
body.skin-florida .fl-rows a { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 16px; min-height: 56px; padding: 8px 0; text-decoration: none; color: var(--fl-ink); }
body.skin-florida .fl-rows a:hover b { text-decoration: underline; text-decoration-color: var(--fl-clay); }
body.skin-florida .fl-rows b { font: 700 18px/1.3 var(--fl-text); }
body.skin-florida .fl-promos span { font-size: 17px; color: var(--fl-ink-2); }
body.skin-florida .fl-guides a { justify-content: flex-start; flex-wrap: nowrap; gap: 12px; }
body.skin-florida .fl-guides b { flex: 1; }
@media (max-width: 639px) { body.skin-florida .fl-promos a { flex-direction: column; align-items: flex-start; } }

/* Platform cards ("Where Floridians trade") */
body.skin-florida .fl-tag { justify-self: start; margin: 0; padding: 3px 12px; border-radius: var(--fl-r-round); background: var(--fl-chip); color: var(--fl-ink); font: 700 15px var(--fl-text); }
body.skin-florida .fl-pcard h3 { margin: 0; font-size: 21px; }
body.skin-florida .fl-sub { margin: 0; font-size: var(--fl-small); color: var(--fl-ink-2); }
body.skin-florida .fl-ptext { margin: 0; }
body.skin-florida .fl-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
body.skin-florida .fl-ticks li { display: flex; gap: 10px; align-items: flex-start; }
body.skin-florida .fl-ticks .fl-ic { color: var(--fl-up); margin-top: 2px; }

/* B6 Category tiles */
body.skin-florida .fl-tile > a, body.skin-florida .fl-tile > div { display: grid; gap: 8px; height: 100%; min-height: var(--fl-tap); padding: 18px; border-radius: var(--fl-r); background: var(--fl-glass);
  color: var(--fl-ink); text-decoration: none; border: 1px solid transparent; }
body.skin-florida .fl-tile > a:hover { border-color: var(--fl-ink); color: var(--fl-ink); }
body.skin-florida .fl-tile h3 { margin: 0; font-size: 21px; }
body.skin-florida .fl-tile p { margin: 0; }

/* B8 Sources */
body.skin-florida .fl-sources { max-width: none; padding: 20px 22px; border: 1px solid var(--fl-line); border-radius: var(--fl-r); background: var(--fl-card); font-size: 16px; }
body.skin-florida .fl-sources ul { margin: 0; padding-left: 0; list-style: none; display: grid; gap: 6px; }
body.skin-florida .fl-sources a { text-decoration: underline; }

/* Article lists the home page prints under the designed blocks */
body.skin-florida.home-showcase .home-top, body.skin-florida.home-showcase .section { padding-block: 32px; }

/* Motion: gentle and rare (spec motion table); nothing moves by itself except the waves */
@media (prefers-reduced-motion: no-preference) {
  body.skin-florida .fl-waves { animation: fl-drift 12s ease-in-out infinite alternate; }
  body.skin-florida .fl-move { animation: fl-fade .2s ease-out both; }
  /* Motion audit 20 Oct: the original hero entrance (h1, lead, buttons; .1/.3/.5s); from .01 so the h1 still counts for LCP */
  body.skin-florida .fl-hero-in > h1 { animation: fl-rise .6s var(--fl-ease) .1s both; }
  body.skin-florida .fl-hero-in > .fl-dek { animation: fl-rise-sm .6s var(--fl-ease) .3s both; }
  body.skin-florida .fl-hero-in > .fl-cta { animation: fl-rise-sm .6s var(--fl-ease) .5s both; }
  body.skin-florida :is(.fl-btn, .fl-mkt, .fl-tile > a, .button, .copy-code, .menu-toggle, .theme-switch button) { transition: background-color var(--fl-fast) ease, border-color var(--fl-fast) ease, color var(--fl-fast) ease; }
  html.fl-theme-anim, html.fl-theme-anim body.skin-florida * { transition: background-color .2s ease, color .2s ease, border-color .2s ease !important; }
  /* site.js marks blocks that start off screen "will-reveal", then "is-in" once they scroll in: fade + 8px, 60ms stagger */
  body.skin-florida .will-reveal:not(.is-in) > * { opacity: 0; transform: translateY(8px); }
  body.skin-florida .will-reveal.is-in > * { transition: opacity var(--fl-in) var(--fl-ease), transform var(--fl-in) var(--fl-ease); }
  body.skin-florida .will-reveal.is-in > :nth-child(2) { transition-delay: 60ms; }
  body.skin-florida .will-reveal.is-in > :nth-child(3) { transition-delay: 120ms; }
  body.skin-florida .will-reveal.is-in > :nth-child(n+4) { transition-delay: 180ms; }
}
@keyframes fl-drift { from { transform: translateX(-6px); } to { transform: translateX(6px); } }
@keyframes fl-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes fl-rise { from { opacity: .01; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes fl-rise-sm { from { opacity: .01; transform: translateY(10px); } to { opacity: 1; transform: none; } }
/* d86 (Catie, 20 Oct): the scrolling market strip under the hero (Brand spec 2026-10-20-fl-ticker-spec). One run of up to 14
   chips, doubled; 40s linear; 48px fades at both ends; pauses on hover, focus and off screen; still row under reduced motion. */
body.skin-florida .fl-strip { position: relative; overflow: hidden; padding: 12px 0; border-bottom: 1px solid var(--fl-line); background: var(--fl-page);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 48px, #000 calc(100% - 48px), transparent); mask-image: linear-gradient(90deg, transparent, #000 48px, #000 calc(100% - 48px), transparent); }
body.skin-florida .fl-strip-run { display: flex; width: max-content; }
body.skin-florida .fl-strip-list { display: flex; gap: 10px; margin: 0; padding: 0 10px 0 0; list-style: none; }
body.skin-florida .fl-strip-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid var(--fl-line); border-radius: var(--fl-r-round); background: var(--fl-card); color: var(--fl-ink); text-decoration: none; white-space: nowrap; transition: border-color var(--fl-fast) ease; }
body.skin-florida .fl-strip-chip:hover, body.skin-florida .fl-strip-chip:focus-visible { border-color: var(--fl-clay); }
body.skin-florida .fl-strip-q { max-width: 28ch; overflow: hidden; text-overflow: ellipsis; font-size: var(--fl-small); }
body.skin-florida .fl-strip-p { font-family: var(--fl-mono); font-size: var(--fl-small); font-weight: 700; color: var(--fl-ink-2); }
@media (min-width: 768px) { body.skin-florida .fl-strip-chip { min-height: 36px; } }
@media (prefers-reduced-motion: no-preference) {
  body.skin-florida .fl-strip-run { animation: fl-marquee 40s linear infinite; }
  body.skin-florida .fl-strip:hover .fl-strip-run, body.skin-florida .fl-strip:focus-within .fl-strip-run, body.skin-florida .fl-strip.is-offscreen .fl-strip-run { animation-play-state: paused; }
}
@keyframes fl-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  body.skin-florida .fl-strip { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  body.skin-florida .fl-strip-list[aria-hidden="true"] { display: none; }
}
