/* Skin "texas" (setting skin = texas): the "Lone Star" look of Texas Prediction Markets: near-black with a red glow
   from the top and a navy glow from the lower right, crimson, steel blue, gold and white, condensed capital headings,
   the neon outline of the state with a gold star, and one coloured button per partner. Loaded after site.css on every
   page of a site that names this skin. Tokens, fonts and site-wide pieces first (the header, list and footer rules of the
   "miami" skin, recoloured); the home page (templates/partials/home/showcase-texas*.php, classes .tx-*) below. */

/* Fonts of the original design, self-hosted (SIL Open Font License 1.1, licence texts in public/assets/fonts/):
   Bebas Neue (headings, labels, buttons, prices), Inter (text). Latin ranges only. */
@font-face { font-family: "Bebas Neue"; font-style: normal; font-weight: 400; font-display: swap; src: url("../../fonts/bebas-neue-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: "Inter"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("../../fonts/inter-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; }

/* Tokens: the original site's colours (its oklch values in sRGB): page #06070b, surface #0c0f16, crimson #df202e,
   steel blue #5da4e5, gold #ecbd3a, green #6ed274, white #f5f5f5, quiet text #9da5b2, lines #2a3342 at 50%. */
body.skin-texas {
  --wrap: 1280px; --gutter: 16px; --radius: 8px; --tx-r-btn: 999px; --tx-r-card: 12px; --tx-sec: 64px;
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --display: "Bebas Neue", "Arial Narrow", "Inter", system-ui, sans-serif;
  /* Bebas Neue has capitals only: running text that the shared styles set in --serif (answers, quotes) is Inter */
  --serif: var(--sans); --serif-text: var(--sans); --serif-display: var(--display);
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --tx-bg: #06070b; --tx-card: #0c0f16; --tx-red: #df202e; --tx-red-fill: #df202e; --tx-red-2: #c11a27; --tx-blue: #5da4e5; --tx-navy: #0c335f;
  --tx-gold: #ecbd3a; --tx-green: #6ed274; --tx-white: #f5f5f5; --tx-soft: #9da5b2; --tx-line: rgba(42, 51, 66, .5); --tx-line-solid: #181d27;
  --pk: 223 32 46; --cy: 93 164 229; --or: 236 189 58; --gn: 110 210 116;
  --tx-glow-red: 0 0 12px rgb(var(--pk) / .8), 0 0 24px rgb(var(--pk) / .4);
  --tx-glow-blue: 0 0 12px rgb(var(--cy) / .7), 0 0 24px rgb(var(--cy) / .35);
  --tx-glow-gold: 0 0 12px rgb(var(--or) / .8), 0 0 24px rgb(var(--or) / .4);
  --tx-glow-soft: 0 0 10px rgb(var(--cy) / .55);
  --tx-ring-red: 0 0 12px rgb(var(--pk) / .4);
  --tx-ring-blue: 0 0 12px rgb(var(--cy) / .4);
  --tx-lift-red: none;
  --tx-lift-blue: none;
  --tx-flare-red: 0 0 20px rgb(var(--pk) / .6), 0 0 40px rgb(var(--pk) / .3);
  --tx-flare-blue: 0 0 20px rgb(var(--cy) / .55), 0 0 40px rgb(var(--cy) / .3);
  --tx-ease: .15s ease;
  font-family: var(--sans); font-size: 16px; line-height: 1.5; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
body.skin-texas.theme-dark {
  --paper: #06070b; --paper-2: #0c0f16; --sc-card: #0c0f16; --ink: #f8f8f8; --ink-2: rgba(248, 248, 248, .9); --muted: #9da5b2; --line: #181d27;
  --accent: #df202e; --accent-text: #f0616b; --on-accent: #fff; --focus: #5da4e5;
  background-color: #06070b;
  background-image: radial-gradient(ellipse 80% 50% at 50% -20%, rgb(var(--pk) / .18), transparent), radial-gradient(ellipse 60% 50% at 80% 110%, rgb(12 51 95 / .22), transparent);
  background-attachment: fixed;
}
body.skin-texas :focus-visible { outline: 2px solid var(--tx-blue); outline-offset: 2px; border-radius: 6px; }
body.skin-texas ::selection { background: var(--tx-red); color: #fff; }

/* Type: Bebas Neue for headings and labels, Inter for text */
body.skin-texas h1, body.skin-texas h2, body.skin-texas h3, body.skin-texas .article-title, body.skin-texas .card-title, body.skin-texas .section-title, body.skin-texas .brand-name { font-family: var(--display); font-weight: 400; letter-spacing: .02em; }
body.skin-texas h4 { font-family: var(--sans); font-weight: 700; letter-spacing: 0; }
body.skin-texas .prose, body.skin-texas .standfirst, body.skin-texas .card-excerpt { font-family: var(--sans); }
body.skin-texas .article-title { font-size: clamp(1.5rem, 4.2vw, 2.75rem); line-height: 1.15; letter-spacing: .01em; color: #fff; }
body.skin-texas .prose { font-size: 1.0625rem; line-height: 1.7; color: rgba(255, 255, 255, .9); }
body.skin-texas .prose h2 { font-size: clamp(1.375rem, 2.6vw, 1.875rem); line-height: 1.2; color: #fff; }
body.skin-texas .prose h3 { font-size: 1.1875rem; line-height: 1.35; color: #fff; }
body.skin-texas .prose a:not(.button) { color: var(--tx-blue); text-decoration-color: rgba(93, 164, 229, .45); }
body.skin-texas .prose a:not(.button):hover { color: var(--tx-red); text-decoration-color: currentColor; }
body.skin-texas .prose strong { color: #fff; }
body.skin-texas .standfirst { color: var(--tx-soft); }
body.skin-texas .kicker, body.skin-texas .prose .label { font-family: var(--sans); font-weight: 600; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; color: var(--tx-blue); }
body.skin-texas .kicker { letter-spacing: .12em; font-size: .75rem; font-weight: 600; color: var(--tx-red); }
body.skin-texas .meta, body.skin-texas .breadcrumbs, body.skin-texas .byline { color: var(--tx-soft); }
body.skin-texas .breadcrumbs a:hover, body.skin-texas .byline a:hover { color: var(--tx-blue); }

/* Boxes, tables and code in text */
body.skin-texas .prose .box, body.skin-texas .side-box, body.skin-texas .prose .toc, body.skin-texas .prose .takeaways, body.skin-texas .prose .verdict, body.skin-texas .prose .pros, body.skin-texas .prose .cons, body.skin-texas .prose .note, body.skin-texas .prose .stat, body.skin-texas .prose .market-box {
  border: 1px solid var(--tx-line); border-radius: 16px; background: rgba(12, 15, 22, .6); }
body.skin-texas .prose .code-box { border-color: rgba(93, 164, 229, .35); box-shadow: 0 0 18px rgba(93, 164, 229, .12); }
body.skin-texas .prose blockquote { border-inline-start-color: var(--tx-red); color: var(--tx-soft); }
body.skin-texas .prose table { border-color: var(--tx-line-solid); }
body.skin-texas .prose th { background: #0c0f16; color: var(--tx-blue); font-weight: 600; }
body.skin-texas .prose th, body.skin-texas .prose td { border-color: var(--tx-line-solid); }
body.skin-texas .prose code.promo-code, body.skin-texas .code-chip { border: 1px dashed rgba(93, 164, 229, .6); border-radius: 8px; background: rgba(93, 164, 229, .05); color: var(--tx-blue); font-family: var(--mono); font-weight: 400; letter-spacing: .1em; text-transform: uppercase; }
body.skin-texas .copy-code { border-color: rgba(93, 164, 229, .6); color: var(--tx-blue); border-radius: 8px; font-family: var(--sans); }
body.skin-texas .copy-code.is-copied { background: var(--tx-blue); color: #06070b; }
body.skin-texas .faq details { border-color: rgba(42, 51, 66, .6); }
body.skin-texas .faq summary:hover { color: var(--tx-red); }
body.skin-texas .faq-answer { color: var(--tx-soft); }

/* Articles and pages: the thin line of the home page above each main heading, calmer tables, framed pictures */
body.skin-texas .prose:not(.sc-prose) > h2 { margin-top: 2.4em; padding-top: 1.2em; background: linear-gradient(90deg, rgb(var(--pk) / .6), rgb(var(--cy) / .5) 60%, transparent) 0 0 / 100% 1px no-repeat; }
body.skin-texas .prose:not(.sc-prose) > h2:first-child { margin-top: 0; padding-top: 0; background: none; }
body.skin-texas .article-title { text-wrap: balance; text-shadow: 0 0 28px rgb(var(--pk) / .35); }
body.skin-texas .prose .disclosure, body.skin-texas .disclosure { border-inline-start: 2px solid var(--tx-red); border-radius: 0 10px 10px 0; background: rgba(12, 15, 22, .6); color: var(--tx-soft); }
body.skin-texas .prose tbody tr { transition: background-color .15s ease; }
body.skin-texas .prose tbody tr:hover { background: rgb(var(--cy) / .05); }
body.skin-texas .prose td a:not(.button) { overflow-wrap: anywhere; }
body.skin-texas .prose > p > img, body.skin-texas .prose > figure img, body.skin-texas .article-figure img { border: 1px solid var(--tx-line); border-radius: 16px; }
body.skin-texas .prose .box > .label:first-child, body.skin-texas .prose .box > p.label { text-shadow: 0 0 10px rgb(var(--cy) / .45); }
body.skin-texas .prose .box { transition: border-color var(--tx-ease); }
body.skin-texas .prose:not(.sc-prose) .box:hover { border-color: rgb(var(--cy) / .35); }
body.skin-texas .prose ul:not([class]) > li::marker { color: var(--tx-red); }
body.skin-texas .prose ol:not([class]) > li::marker { color: var(--tx-blue); font-family: var(--display); font-size: .85em; }

/* Buttons in text and site-wide: crimson with white text (at least 4.5:1) for tracked links, blue outline for the rest.
   The home page's own buttons (.tx-btn) and the full system are described at "Home page" below. */
:where(body.skin-texas) .prose a.button, :where(body.skin-texas) .promo-button, :where(body.skin-texas) .lo-book, :where(body.skin-texas) .button-primary, :where(body.skin-texas) .newsletter-row button, :where(body.skin-texas) .search-big button {
  background: linear-gradient(90deg, var(--tx-red-fill), var(--tx-red-2)); color: #fff; border: 1px solid var(--tx-red); border-radius: var(--tx-r-btn); font-family: var(--sans); font-weight: 700;
  box-shadow: var(--tx-lift-red); transition: box-shadow .25s ease, transform .25s ease; }
:where(body.skin-texas) .prose a.button:hover, :where(body.skin-texas) .promo-button:hover, :where(body.skin-texas) .button-primary:hover { color: #fff; filter: none; transform: translateY(-1px); box-shadow: var(--tx-flare-red); }
:where(body.skin-texas) .prose a.button-alt, :where(body.skin-texas) .prose a.button:not([href*="/go/"]) { background: rgba(93, 164, 229, .05); color: var(--tx-blue); border: 1px solid rgba(93, 164, 229, .7); box-shadow: none; font-weight: 600; }
:where(body.skin-texas) .prose a.button-alt:hover, :where(body.skin-texas) .prose a.button:not([href*="/go/"]):hover { background: rgba(93, 164, 229, .15); color: var(--tx-blue); border-color: var(--tx-blue); box-shadow: 0 0 14px rgba(93, 164, 229, .35); }

body.skin-texas .sc-prose a.button[href*="/go/"], body.skin-texas .sc-prose a.button[href*="/go/"]:hover { background: linear-gradient(90deg, var(--tx-red-fill), var(--tx-red-2)); color: #fff; border-radius: var(--tx-r-btn); }
body.skin-texas .prose a.button { letter-spacing: 0; line-height: 1.43; }

/* Header: translucent bar, gradient wordmark with the star, nav in the top row, language pill */
body.skin-texas.theme-dark .site-header { position: sticky; top: 0; z-index: 40; background: rgba(6, 7, 11, .7); border-bottom: 1px solid rgba(42, 51, 66, .4); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); }
html:has(body.skin-texas) { scroll-padding-top: 80px; scroll-behavior: smooth; }
body.skin-texas .header-top { min-height: 64px; }
body.skin-texas .brand--wordmark { display: grid; grid-template-columns: auto auto 1fr; align-items: center; column-gap: .45em; row-gap: 0; font-family: var(--display); font-size: .875rem; line-height: 1.5; letter-spacing: .02em; text-transform: uppercase; white-space: nowrap;
  background: linear-gradient(90deg, var(--tx-red), var(--tx-navy) 50%, var(--tx-blue)) 0 50% / 200% 200%; -webkit-background-clip: text; background-clip: text; animation: tx-gradient 6s ease infinite; }
body.skin-texas .brand--wordmark::before { content: ""; grid-row: 1 / span 2; width: 20px; height: 20px; margin-inline-end: .1em; transition: filter var(--tx-ease); background: url("../../img/skins/texas/star.svg") center / contain no-repeat; }
body.skin-texas .brand--wordmark .brand-top, body.skin-texas .brand--wordmark .brand-bottom { margin: 0; font: inherit; letter-spacing: inherit; text-transform: inherit; color: transparent; -webkit-text-fill-color: transparent; }
body.skin-texas .nav-list a { position: relative; padding: 8px 16px; font-size: .875rem; font-weight: 500; line-height: 1.43; color: rgba(255, 255, 255, .85); transition: color .15s ease; }
body.skin-texas .nav-list a:hover, body.skin-texas .nav-list a:focus-visible { color: var(--tx-blue); }
body.skin-texas .search-form input { height: 36px; padding: 0 14px; border: 1px solid rgba(93, 164, 229, .3); background: rgba(6, 7, 11, .6); color: #fff; font-size: .8125rem; }
body.skin-texas .search-form input::placeholder { color: var(--tx-soft); opacity: .8; }
body.skin-texas .search-form button, body.skin-texas .menu-toggle { border: 1px solid rgba(42, 51, 66, .6); border-radius: 6px; color: #fff; min-height: 40px; min-width: 40px; padding: 0 10px; transition: border-color .15s ease, box-shadow .15s ease; }
body.skin-texas .search-form button { border-radius: 999px; min-height: 36px; min-width: 36px; padding: 0; color: var(--tx-blue); border-color: rgba(93, 164, 229, .3); }
body.skin-texas .search-form button:hover, body.skin-texas .menu-toggle:hover { border-color: rgba(93, 164, 229, .6); box-shadow: 0 0 12px rgba(93, 164, 229, .5); }
body.skin-texas .header-langs a { gap: 6px; min-height: 31px; padding: 0 12px 0 32px; border: 1px solid rgba(93, 164, 229, .4); background: rgba(6, 7, 11, .6) url("../../img/skins/texas/globe.svg") 12px center / 14px 14px no-repeat; color: var(--tx-blue); font-size: .75rem; font-weight: 600; letter-spacing: .18em; transition: background-color .15s ease, border-color .15s ease; }
body.skin-texas .header-langs a:hover { border-color: var(--tx-blue); background-color: rgba(93, 164, 229, .1); color: var(--tx-blue); }
body.skin-texas a.brand--wordmark:hover::before { filter: hue-rotate(-130deg) drop-shadow(0 0 6px var(--tx-blue)); }
/* Header lockup (templates/partials/skins/texas-brand.php; Brand 20 Oct: the original's text header instead of the logo picture).
   Star tilts 0 / 5 / -5 / 0 degrees every 6s (motion audit #3; stops under reduced motion via site.css). Fits 375 with the menu. */
body.skin-texas .tx-brand { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
body.skin-texas .tx-brand-star { flex-shrink: 0; width: 26px; height: 26px; filter: drop-shadow(0 0 6px rgb(223 32 46 / .7)); transform-origin: 50% 55%; animation: tx-tilt 6s ease-in-out infinite; }
body.skin-texas .tx-brand-text { display: flex; flex-direction: column; line-height: 1; }
body.skin-texas .tx-brand-top { font-family: var(--display); font-size: 1.375rem; letter-spacing: .02em; color: var(--tx-red); text-shadow: 0 0 10px rgb(223 32 46 / .45); }
body.skin-texas .tx-brand-bottom { margin-top: 2px; font-family: var(--display); font-size: .75rem; letter-spacing: .2em; color: var(--tx-blue); text-shadow: 0 0 8px rgb(93 164 229 / .45); }
@media (min-width: 640px) { body.skin-texas .tx-brand-star { width: 30px; height: 30px; } body.skin-texas .tx-brand-top { font-size: 1.625rem; } body.skin-texas .tx-brand-bottom { font-size: .8125rem; } }
@keyframes tx-tilt { 0%, 100% { transform: rotate(0); } 33.33% { transform: rotate(5deg); } 66.67% { transform: rotate(-5deg); } }
body.skin-texas .brand-tagline { display: none; }
@media (min-width: 640px) { body.skin-texas .brand--wordmark { font-size: 1rem; } }
@media (min-width: 1024px) { body.skin-texas .brand-tagline { display: block; grid-column: 2 / -1; margin-top: 3px; font-family: var(--sans); font-size: .75rem; line-height: 1.2; font-weight: 400; letter-spacing: .18em; opacity: 1; color: var(--tx-soft); -webkit-text-fill-color: var(--tx-soft); } }
@media (min-width: 768px) {
  /* one row from tablet width on, as in the original */
  body.skin-texas.header-inline .site-header { display: flex; align-items: center; gap: 12px; min-height: 64px; padding-inline: max(var(--gutter), calc((100% - var(--wrap)) / 2 + var(--gutter))); }
  body.skin-texas.header-inline .header-top { display: contents; }
  body.skin-texas.header-inline .brand { order: 1; flex-shrink: 0; }
  body.skin-texas.header-inline .primary-nav { order: 2; flex: 1; min-width: 0; border-top: 0; }
  body.skin-texas.header-inline .nav-list { width: auto; max-width: none; padding: 0; justify-content: flex-end; flex-wrap: nowrap; gap: 4px; }
  body.skin-texas.header-inline .header-actions { order: 3; }
  body.skin-texas .nav-list > li > a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 1px; background: var(--tx-red); box-shadow: 0 0 10px var(--tx-red); opacity: 0; transition: opacity .15s ease; }
  body.skin-texas .nav-list > li > a:hover::after, body.skin-texas .nav-list > li > a:focus-visible::after { opacity: 1; }
  body.skin-texas .has-children > a { padding-inline-end: 30px; }
  body.skin-texas .has-children > a::before { content: ""; position: absolute; right: 14px; top: 50%; width: 6px; height: 6px; margin-top: -5px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
  body.skin-texas .has-children:hover > .sub-nav, body.skin-texas .has-children:focus-within > .sub-nav { left: auto; right: 0; min-width: 240px; padding: 4px; background: rgba(6, 7, 11, .97); border: 1px solid rgba(42, 51, 66, .6); border-radius: 8px; box-shadow: 0 10px 30px rgba(0, 0, 0, .6); }
  body.skin-texas .sub-nav a { padding: 8px 10px; border-radius: 4px; }
  body.skin-texas .sub-nav a:hover { color: var(--tx-red); background: rgba(12, 15, 22, .9); }
  body.skin-texas .sub-nav a::after { display: none; }
  body.skin-texas .search-form input { display: none; }
}
@media (min-width: 768px) and (max-width: 1023px) { body.skin-texas .nav-list a { padding-inline: 10px; } body.skin-texas .has-children > a { padding-inline-end: 24px; } body.skin-texas .has-children > a::before { right: 9px; } body.skin-texas .brand--wordmark { font-size: .875rem; } }
@media (min-width: 768px) and (max-width: 899px) { body.skin-texas .search-form { display: none; } body.skin-texas .nav-list a { padding-inline: 8px; } body.skin-texas .has-children > a { padding-inline-end: 22px; } body.skin-texas .has-children > a::before { right: 7px; } body.skin-texas .brand--wordmark { font-size: .8125rem; } body.skin-texas.header-inline .nav-list { gap: 0; } }
@media (max-width: 767px) {
  body.skin-texas .search-form { display: none; }
  body.skin-texas .menu-toggle { min-height: 44px; min-width: 44px; padding: 0; }
  body.skin-texas .menu-toggle-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .js body.skin-texas .primary-nav { border-top-color: rgba(42, 51, 66, .4); max-height: calc(100vh - 64px); overflow-y: auto; }
  .js body.skin-texas .nav-list { padding-block: 8px 20px; gap: 0; }
  .js body.skin-texas .nav-list a { padding: 12px 16px; border-bottom: 0; border-radius: 6px; font-size: 1rem; color: rgba(255, 255, 255, .9); }
  .js body.skin-texas .nav-list a:hover { background: #131922; color: var(--tx-red); }
  .js body.skin-texas .sub-nav { padding-left: 0; }
  .js body.skin-texas .sub-nav a { padding: 12px 16px 12px 32px; font-size: .9375rem; line-height: 1.4; font-weight: 500; color: rgba(255, 255, 255, .85); }
}
@media (max-width: 639px) {
  body.skin-texas .header-top { gap: 8px; }
  body.skin-texas .brand { min-height: 44px; }
  body.skin-texas .header-langs a { position: relative; justify-content: center; min-width: 44px; min-height: 31px; padding: 0 10px; background-image: none; }
  body.skin-texas .header-langs a::after { content: ""; position: absolute; inset: -7px -2px; }
}
@media (max-width: 430px) { body.skin-texas .brand--wordmark { font-size: .75rem; gap: .35em; } body.skin-texas .brand--wordmark::before { width: 18px; height: 18px; margin-inline-end: 0; } }
/* Longer wordmarks (Spanish) still fit next to the language pill and the menu button */
@media (max-width: 430px) { body.skin-texas .brand--wordmark:lang(es) { font-size: .75rem; letter-spacing: 0; column-gap: .3em; } }
/* Under 400px, and on tablets where the menu shares the row, the header wordmark is a two-line lockup (the lettering
   over the smaller second line), so it is never cut off and never runs into the menu */
@media (max-width: 399px), (min-width: 768px) and (max-width: 1023px) {
  body.skin-texas .header-top .brand--wordmark { grid-template-columns: auto 1fr; column-gap: 8px; line-height: 1.2; }
  body.skin-texas .header-top .brand--wordmark .brand-top { grid-column: 2; font-size: .875rem; }
  body.skin-texas .header-top .brand--wordmark .brand-bottom { grid-column: 2; font-size: .75rem; letter-spacing: .08em; }
  body.skin-texas .header-top .brand--wordmark:lang(es) .brand-top { font-size: .875rem; }
}
@media (max-width: 359px) { body.skin-texas .brand--wordmark .brand-bottom { display: none; } body.skin-texas .brand--wordmark::before { grid-row: 1; } }

/* Lists of articles (home, category and search pages) */
body.skin-texas .card { padding: 0; border: 1px solid var(--tx-line); border-radius: 16px; background: rgba(12, 15, 22, .6); overflow: hidden; gap: 0; transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
body.skin-texas .card:hover { border-color: rgba(93, 164, 229, .6); box-shadow: var(--tx-ring-blue); transform: translateY(-2px); }
body.skin-texas .card-media { border-radius: 0; background: #0c0f16; }
body.skin-texas .card:hover .card-media img { transform: scale(1.03); }
body.skin-texas .card-media img { transition: transform .5s ease; }
body.skin-texas .card-body { display: flex; flex-direction: column; flex: 1; padding: 20px; }
body.skin-texas .card-title { margin: 8px 0 0; font-family: var(--sans); font-weight: 600; letter-spacing: 0; font-size: 1.0625rem; line-height: 1.35; color: #fff; }
body.skin-texas .card-title a { text-decoration: none; transition: color .2s ease; }
body.skin-texas .card { position: relative; }
body.skin-texas .card-title a::after { content: ""; position: absolute; inset: 0; }
body.skin-texas .card .kicker { position: relative; z-index: 1; }
body.skin-texas .card:hover .card-title a { color: var(--tx-blue); }
body.skin-texas .card-excerpt { margin: 8px 0 0; font-size: .875rem; line-height: 1.45; color: var(--tx-soft); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
body.skin-texas .card .kicker { margin: 0; align-self: flex-start; }
body.skin-texas .card .meta { margin: auto 0 0; padding-top: 12px; font-size: .8125rem; line-height: 1.4; color: var(--tx-soft); }
body.skin-texas .card--lead .card-title { font-size: clamp(1.25rem, 2.4vw, 1.75rem); line-height: 1.25; }
body.skin-texas.home-showcase .home-top:not(:has(.home-featured)) { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) {
  body.skin-texas.home-showcase .home-top:not(:has(.home-featured)) .card--lead { flex-direction: row; }
  body.skin-texas.home-showcase .home-top:not(:has(.home-featured)) .card--lead .card-media { flex: 0 0 50%; }
  body.skin-texas.home-showcase .home-top:not(:has(.home-featured)) .card--lead .card-body { justify-content: center; padding: 32px; }
  body.skin-texas.home-showcase .home-top:not(:has(.home-featured)) .card--lead .meta { margin-top: 16px; }
}
body.skin-texas .card--lead .card-excerpt { font-size: 1rem; line-height: 1.5; }
body.skin-texas .section-title, body.skin-texas.home-showcase .section-title { border-top: 0; padding-top: 0; font-family: var(--sans); font-weight: 600; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; color: var(--tx-blue); }
body.skin-texas .section-head .more, body.skin-texas a.more { color: var(--tx-red); font-size: .875rem; text-decoration: none; }
body.skin-texas .section-head .more:hover, body.skin-texas a.more:hover { color: var(--tx-blue); }
body.skin-texas.home-showcase .home-top, body.skin-texas.home-showcase main > .section { border-top: 0; padding-block: 32px; }
@media (min-width: 640px) { body.skin-texas { --tx-sec: 64px; } }
body.skin-texas .pagination a, body.skin-texas .pagination span { border-color: var(--tx-line); border-radius: 6px; }
body.skin-texas .search-big input, body.skin-texas .newsletter-row input { border: 2px solid rgba(93, 164, 229, .5); border-radius: 999px; background: rgba(6, 7, 11, .8); color: #fff; }

/* Footer */
body.skin-texas.theme-dark .site-footer { margin-top: 96px; background: rgba(6, 7, 11, .6); border-top: 1px solid rgba(42, 51, 66, .4); font-size: .875rem; }
body.skin-texas.home-showcase .site-footer { margin-top: 32px; }
body.skin-texas .footer-grid { gap: 32px 40px; padding-block: 56px 32px; }
body.skin-texas .footer-brand .muted { margin: 16px 0 0; max-width: 22rem; font-size: .875rem; line-height: 1.43; color: var(--tx-soft); }
body.skin-texas .footer-links { display: block; columns: 2; column-gap: 32px; }
body.skin-texas .footer-links li { break-inside: avoid; }
body.skin-texas .footer-links a, body.skin-texas .footer-social a { min-height: 32px; color: var(--tx-soft); text-decoration: none; transition: color .15s ease; }
body.skin-texas .footer-links a:hover, body.skin-texas .footer-social a:hover { color: var(--tx-red); }
body.skin-texas .language-switcher ul { padding: 20px 0; border-top-color: rgba(42, 51, 66, .4); }
body.skin-texas .language-switcher a { min-height: 32px; border-color: rgba(93, 164, 229, .4); color: var(--tx-blue); font-size: .75rem; font-weight: 600; letter-spacing: .08em; }
body.skin-texas .language-switcher a:hover { border-color: var(--tx-blue); background: rgba(93, 164, 229, .1); }
body.skin-texas.theme-dark .language-switcher a[aria-current] { background: var(--tx-blue); border-color: var(--tx-blue); color: #06070b; }
body.skin-texas .rg-notice, body.skin-texas .footer-bottom { font-size: .75rem; line-height: 1.5; color: var(--tx-soft); opacity: 1; }
body.skin-texas .footer-bottom { border-top-color: rgba(42, 51, 66, .4); }
body.skin-texas .footer-bottom a { color: var(--tx-blue); }
/* Titled columns (setting footer_style = columns) */
body.skin-texas .footer-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
body.skin-texas .footer-title, body.skin-texas .footer-title a { margin: 0; font-family: var(--display); font-size: .75rem; line-height: 1.34; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--tx-blue); text-decoration: none; }
body.skin-texas .footer-title a:hover { color: var(--tx-red); }
body.skin-texas .footer-cols ul { margin-top: 12px; display: grid; gap: 0; }
body.skin-texas .footer-cols li a { min-height: 32px; padding-block: 4px; color: var(--tx-soft); text-decoration: none; line-height: 1.43; transition: color .15s ease; }
body.skin-texas .footer-cols li a:hover { color: var(--tx-red); }
body.skin-texas .footer-cols li a[href*="/promo"] { color: var(--tx-blue); }
body.skin-texas .footer-cols li a[href*="/promo"]:hover { color: var(--tx-red); }
@media (min-width: 640px) { body.skin-texas .footer-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 768px) { body.skin-texas .footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 2.6fr); } body.skin-texas .footer-links { columns: 4; } }
@media (min-width: 1024px) { body.skin-texas .footer-grid:has(.footer-cols) { grid-template-columns: minmax(0, 1fr) minmax(0, 3.4fr); gap: 40px; } body.skin-texas .footer-cols { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 32px; } }
@media (max-width: 767px), (pointer: coarse) {
  body.skin-texas .footer-links a, body.skin-texas .footer-cols li a, body.skin-texas .footer-title a, body.skin-texas .language-switcher a { min-height: 44px; }
  body.skin-texas .footer-title a { display: inline-flex; align-items: center; }
  body.skin-texas .footer-bottom a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; }
  body.skin-texas .card .kicker { position: relative; }
  body.skin-texas .card .kicker::after { content: ""; position: absolute; left: -4px; right: -24px; top: 50%; height: 44px; transform: translateY(-50%); }
}

/* Sticky phone bar */
@media (max-width: 767px) {
  body.skin-texas.theme-dark .sticky-cta:not([hidden]) { left: 12px; right: 12px; bottom: 12px; padding: 10px 12px; border: 1px solid rgba(223, 32, 46, .6); border-radius: 14px; background: rgba(6, 7, 11, .95); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: #fff; box-shadow: 0 0 20px rgba(223, 32, 46, .45), 0 12px 32px rgba(0, 0, 0, .6); font-size: .8125rem; }
  body.skin-texas.theme-dark .sticky-cta .button { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: var(--tx-r-btn); background: linear-gradient(90deg, var(--tx-red-fill), var(--tx-red-2)); color: #fff; font-weight: 700; text-decoration: none; }
  body.skin-texas.theme-dark .sticky-terms, body.skin-texas.theme-dark .sticky-close { color: var(--tx-soft); }
  body.skin-texas.theme-dark .sticky-cta strong { color: var(--tx-blue); }
  body.skin-texas.theme-dark .sticky-cta:not([hidden]) { gap: 0 8px; padding: 8px 6px 4px 14px; }
  body.skin-texas .sticky-cta .sticky-close { min-width: 44px; min-height: 44px; }
  body.skin-texas .sticky-terms summary { display: inline-block; padding-block: 6px 20px; margin-bottom: -14px; }
  body.skin-texas .sticky-terms[open] summary { padding-bottom: 6px; margin-bottom: 0; }
  body.skin-texas .sticky-terms p { padding-bottom: 8px; padding-inline-end: 8px; }
  body.skin-texas .sticky-cta .sticky-text { font-size: .875rem; }
  /* the open menu has the screen to itself: no floating bar over its last links, a solid header behind it */
  body.skin-texas:has(.primary-nav.is-open) .sticky-cta { display: none; }
  body.skin-texas.theme-dark .site-header:has(.primary-nav.is-open) { background: #06070b; }
  body.skin-texas .menu-toggle[aria-expanded="true"] .menu-toggle-bars { background: transparent; }
  body.skin-texas .menu-toggle[aria-expanded="true"] .menu-toggle-bars::before { top: 0; transform: rotate(45deg); }
  body.skin-texas .menu-toggle[aria-expanded="true"] .menu-toggle-bars::after { top: 0; transform: rotate(-45deg); }
  body.skin-texas .menu-toggle[aria-expanded="true"] { border-color: rgb(var(--cy) / .6); color: var(--tx-blue); }
  .js body.skin-texas .primary-nav { overscroll-behavior: contain; }
  .js body.skin-texas .primary-nav.is-open { height: calc(100vh - 64px); height: calc(100dvh - 64px); background: #06070b; }
  /* room under the footer, so the floating bar never covers the last line of the page */
  body.skin-texas:has(.sticky-cta:not([hidden])) .site-footer { padding-bottom: 150px; }
}

/* Header as the original: 57px, the page colour at 80% with a blur, quiet 14px links that turn blue */
body.skin-texas.theme-dark .site-header { background: rgba(6, 7, 11, .8); border-bottom: 1px solid rgb(42 51 66 / .25); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
body.skin-texas .header-top { min-height: 56px; }
body.skin-texas .nav-list a { color: var(--tx-soft); }
body.skin-texas .nav-list a:hover, body.skin-texas .nav-list a:focus-visible { color: var(--tx-blue); }
@media (min-width: 768px) {
  body.skin-texas.header-inline .site-header { min-height: 57px; }
  body.skin-texas .nav-list > li > a::after { content: none; }
  body.skin-texas .nav-list a { padding: 8px 12px; }
  body.skin-texas .sub-nav a:hover { color: var(--tx-blue); background: #0c0f16; }
}
body.skin-texas .card { border-radius: 8px; border-color: rgb(42 51 66 / .5); }
body.skin-texas .card:hover { transform: none; box-shadow: none; border-color: rgb(var(--cy) / .6); }

/* Bebas Neue is a capitals-only face with one weight: it sets headings, labels, buttons and prices only. The small
   interface text of the article layout (contents list, meta, questions) and of the showcase uses Inter. */
body.skin-texas.pages-editorial { --ed-ui: var(--sans); }
body.skin-texas.home-showcase { --sc-ui: var(--sans); }
body.skin-texas h1, body.skin-texas h2, body.skin-texas h3, body.skin-texas .article-title { text-transform: uppercase; font-synthesis: none; }
body.skin-texas .article-title { font-size: clamp(2.25rem, 6vw, 3.75rem); line-height: 1; letter-spacing: .02em; text-shadow: none; }
body.skin-texas .prose h2, body.skin-texas.pages-editorial .prose h2, body.skin-texas.pages-editorial .faq h2 { font-family: var(--display); font-weight: 400; letter-spacing: .02em; font-size: clamp(1.75rem, 3.2vw, 2.25rem); line-height: 1.1; }
body.skin-texas .prose h3, body.skin-texas.pages-editorial .prose h3 { font-family: var(--display); font-weight: 400; letter-spacing: .02em; font-size: 1.375rem; line-height: 1.2; }
body.skin-texas .faq h2 { font-family: var(--display); }
body.skin-texas .kicker, body.skin-texas .prose .label { font-family: var(--display); font-weight: 400; font-size: .875rem; letter-spacing: .24em; }
body.skin-texas .prose .box > .label:first-child, body.skin-texas .prose .box > p.label { text-shadow: none; }
body.skin-texas .section-title, body.skin-texas.home-showcase .section-title { font-family: var(--display); font-weight: 400; font-size: 1rem; letter-spacing: .24em; }
body.skin-texas .brand-logo { max-height: 32px; width: auto; }
body.skin-texas .footer-title, body.skin-texas .footer-title a { font-size: .875rem; letter-spacing: .02em; }
body.skin-texas .prose a.button, body.skin-texas .promo-button, body.skin-texas .button-primary, body.skin-texas .sticky-cta .button { font-family: var(--display); font-weight: 400; font-size: 1rem; letter-spacing: .05em; text-transform: uppercase; }
body.skin-texas .prose a.button, body.skin-texas.pages-editorial .prose a.button { padding: 10px 20px; line-height: 1.25; border-radius: 999px; }
body.skin-texas .card-title { font-family: var(--display); font-weight: 400; font-size: 1.25rem; line-height: 1.15; letter-spacing: .02em; text-transform: uppercase; }
body.skin-texas .card--lead .card-title { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.05; }
body.skin-texas .card .kicker { font-size: .8125rem; }
/* Partner buttons in articles and pages take the same colours as on the home page (the original site's) */
body.skin-texas :is(.sc-prose, .prose, .cta-partners) a.button[href*="/go/kalshi"], body.skin-texas .promo-button[href*="/go/kalshi"], body.skin-texas :is(.sc-prose, .prose) a.lo-book.lo-kalshi, body.skin-texas .sticky-cta .button[href*="/go/kalshi"] { background: var(--tx-blue); border-color: var(--tx-blue); color: #06070b; box-shadow: none; }
body.skin-texas :is(.sc-prose, .prose, .cta-partners) a.button[href*="/go/prophetx"], body.skin-texas .promo-button[href*="/go/prophetx"], body.skin-texas .sticky-cta .button[href*="/go/prophetx"] { background: var(--tx-green); border-color: var(--tx-green); color: #06070b; box-shadow: none; }
body.skin-texas :is(.sc-prose, .prose, .cta-partners) a.button[href*="/go/polymarket"], body.skin-texas .promo-button[href*="/go/polymarket"], body.skin-texas :is(.sc-prose, .prose) a.lo-book.lo-polymarket, body.skin-texas .sticky-cta .button[href*="/go/polymarket"] { background: var(--tx-red); border-color: var(--tx-red); color: #fff; box-shadow: none; }
body.skin-texas :is(.sc-prose, .prose, .cta-partners) a.button:is([href*="/go/og?"], [href$="/go/og"]), body.skin-texas .promo-button:is([href*="/go/og?"], [href$="/go/og"]), body.skin-texas .sticky-cta .button:is([href*="/go/og?"], [href$="/go/og"]) { background: var(--tx-gold); border-color: var(--tx-gold); color: #06070b; box-shadow: none; }
body.skin-texas .mf.market-feed a.mf-button[data-partner="kalshi"] { --op: #5da4e5; --op-ink: #06070b; }
body.skin-texas .mf.market-feed a.mf-button[data-partner="polymarket"] { --op: #df202e; --op-ink: #fff; }
body.skin-texas .cta-partners a.button, body.skin-texas .promo-button { border-radius: 999px; }
/* stacked table cells on phones: long links wrap */
@media (max-width: 767px) { body.skin-texas .prose td a:not(.button) { white-space: normal; } }
/* The page column of the original: 1280px with 16px gutters, 32px from 1024px on (1216px of content at 1440) */
@media (min-width: 1024px) { body.skin-texas { --gutter: 32px; } }

/* ------------------------------------------------------------------------------------------------------------------
   Home page (templates/partials/home/showcase-texas.php and showcase-texas-end.php)

   Every measure below is the original page's (its Tailwind classes, worked out in px): section padding 64px, cards
   with 2px lines at 40% of their colour and 12px corners (market cards 1px and 8px), headings 30 / 36px, buttons as
   pills of 56 / 44 / 32px height in the partner's colour (Kalshi steel blue, ProphetX green, Polymarket crimson with
   white text, OG gold). Text on every fill is at least 4.5:1. Nothing is set under 12px.
   ------------------------------------------------------------------------------------------------------------------ */
body.skin-texas.home-showcase main { overflow-x: clip; }
.tx-ico { flex: none; }
.tx-dot { flex: none; width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }
.tx-band { padding-block: 64px; }
.tx-accent--warm { color: var(--tx-white); text-shadow: var(--tx-glow-gold); }
.tx-accent--gold { color: var(--tx-gold); }
.tx-accent--red { color: var(--tx-red); text-shadow: var(--tx-glow-red); }
.tx-accent--blue { color: var(--tx-blue); text-shadow: var(--tx-glow-blue); }

/* Partner colours: --p the line and glow colour, --p-fill / --p-ink the button, --p-text small text on the dark page */
.tx-btn, [data-partner] { --p: 245 245 245; --p-ink: #06070b; --p-fill: rgb(var(--p)); --p-text: rgb(var(--p)); }
[data-partner="kalshi"] { --p: 93 164 229; }
[data-partner="prophetx"] { --p: 110 210 116; }
[data-partner="polymarket"] { --p: 223 32 46; --p-ink: #fff; --p-text: #f0616b; }
[data-partner="og"] { --p: 245 245 245; --p-fill: #ecbd3a; }
[data-partner="novig"], [data-partner="rebet"] { --p: 236 189 58; }
.tx-btn[data-partner="og"]:hover { --p: 236 189 58; }

.tx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 20px; border: 2px solid var(--p-fill); border-radius: 999px; background: var(--p-fill); color: var(--p-ink);
  font-family: var(--display); font-size: .875rem; line-height: 1.25rem; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; text-align: center; white-space: nowrap; transition: box-shadow .15s ease, transform .15s ease; }
.tx-btn:hover { color: var(--p-ink); transform: scale(1.04); box-shadow: 0 0 20px rgb(var(--p) / .6), 0 0 40px rgb(var(--p) / .3); }
.tx-btn:active { transform: scale(.97); }
.tx-btn--lg { padding: 14px 28px; font-size: 1rem; line-height: 1.5rem; }
.tx-btn--sm { padding: 6px 12px; font-size: .75rem; line-height: 1rem; }
.tx-btn--sm .tx-ico { width: 14px; height: 14px; }
.tx-link { display: inline-flex; align-items: center; font-family: var(--display); font-size: .75rem; line-height: 1rem; letter-spacing: .05em; text-transform: uppercase; color: var(--p-text); text-decoration: none; }
.tx-link:hover { text-decoration: underline; }
.tx-pill { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 4px 12px; border: 1px solid rgb(var(--cy) / .5); border-radius: 999px; background: rgb(12 15 22 / .5); color: var(--tx-blue); font-family: var(--sans); font-size: .75rem; line-height: 1rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.tx-pill--gold { border-color: rgb(var(--or) / .5); color: var(--tx-gold); }
.tx-code { white-space: nowrap; }
body.skin-texas .tx-code code.promo-code { padding: 1px 6px; border: 1px dashed rgb(var(--or) / .6); border-radius: 4px; background: rgb(var(--or) / .06); color: var(--tx-gold); font-size: .75rem; letter-spacing: .06em; }
body.skin-texas .tx-copy { min-height: 0; margin-inline-start: 2px; padding: 1px 8px; border: 1px solid rgb(157 165 178 / .4); border-radius: 999px; background: none; color: var(--tx-soft); font-family: var(--sans); font-size: .75rem; line-height: 1.125rem; font-weight: 500; cursor: pointer; }
body.skin-texas .tx-copy:hover { border-color: var(--tx-gold); color: var(--tx-gold); }
body.skin-texas .tx-copy.is-copied { background: var(--tx-gold); border-color: var(--tx-gold); color: #06070b; }
body.skin-texas .tx-terms { margin: 0; font-family: var(--sans); font-size: .75rem; line-height: 1rem; letter-spacing: 0; text-transform: none; color: var(--tx-soft); }
body.skin-texas .tx-terms summary { display: inline; min-height: 0; padding: 0; cursor: pointer; font: inherit; color: inherit; text-decoration: underline; text-decoration-color: rgb(157 165 178 / .5); text-underline-offset: 3px; list-style: none; }
body.skin-texas .tx-terms summary::-webkit-details-marker { display: none; }
body.skin-texas .tx-terms summary:hover { color: #fff; }
body.skin-texas .tx-terms p { margin: 6px 0 0; max-width: 60rem; font-size: .75rem; line-height: 1.5; color: var(--tx-soft); }
.tx-disclosure { margin: 0; font-size: .75rem; line-height: 1rem; color: var(--tx-soft); }
.tx-disclosure--center { margin-top: 16px; text-align: center; }

/* Ticker: one moving line of the day's prices above the header, as on the original (29px; it stops for the pointer,
   the keyboard and "reduce motion"). It is printed with the page's content and lifted to the top of the page. */
body.skin-texas.home-showcase:has(.tx-ticker) { position: relative; padding-top: 29px; }
.tx-ticker { position: absolute; top: 0; left: 0; right: 0; height: 29px; overflow: hidden; border-bottom: 1px solid rgb(42 51 66 / .25); background: rgb(12 15 22 / .6); }
.tx-ticker::before, .tx-ticker::after { content: ""; position: absolute; top: 0; bottom: 0; z-index: 1; width: 48px; pointer-events: none; }
.tx-ticker::before { left: 0; background: linear-gradient(90deg, #06070b, transparent); }
.tx-ticker::after { right: 0; background: linear-gradient(270deg, #06070b, transparent); }
.tx-ticker-run { display: flex; width: max-content; animation: tx-ticker 80s linear infinite; }
.tx-ticker:hover .tx-ticker-run, .tx-ticker:focus-within .tx-ticker-run { animation-play-state: paused; }
.tx-ticker ul { display: flex; margin: 0; padding: 0; list-style: none; }
.tx-ticker li { display: flex; align-items: center; }
.tx-ticker li::after { content: "|"; font-size: .75rem; line-height: 1rem; color: rgb(42 51 66 / .9); }
.tx-ticker a { display: inline-flex; align-items: center; gap: 8px; height: 28px; padding: 0 16px; font-size: .75rem; line-height: 1rem; color: var(--tx-soft); text-decoration: none; white-space: nowrap; }
.tx-ticker a strong { font-family: var(--display); font-weight: 400; letter-spacing: .02em; }
.tx-ticker a:hover span { color: #fff; }
.is-up > .tx-dot, .is-up > strong { color: var(--tx-green); }
.is-down > .tx-dot, .is-down > strong { color: #f0616b; }
@keyframes tx-ticker { to { transform: translateX(-50%); } }

/* Trust line (only when the setting home_chips lists one) */
.tx-truststrip { border-bottom: 1px solid rgb(42 51 66 / .2); background: rgb(12 15 22 / .4); }
.tx-truststrip ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 24px; margin-block: 0; padding-block: 8px; list-style: none; font-size: .75rem; line-height: 1rem; color: var(--tx-soft); }
.tx-truststrip li { display: inline-flex; align-items: center; gap: 6px; }
.tx-truststrip li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--tx-green); }
.tx-truststrip .tx-trust-2::before { background: var(--tx-blue); }
.tx-truststrip .tx-trust-3::before { background: var(--tx-gold); }

/* Hero: the original's light (red from the top, navy from the lower right, fine scan lines), 48 / 112px of air, the
   lettering at 36 / 48 / 72px, four pill buttons, the outline of the state at up to 448px */
.tx-hero { position: relative; overflow: hidden;
  background: repeating-linear-gradient(0deg, transparent 0, transparent 2px, rgb(255 255 255 / .02) 2px, rgb(255 255 255 / .02) 3px),
    radial-gradient(ellipse at top, rgb(var(--pk) / .18), transparent 60%), radial-gradient(ellipse at bottom right, rgb(12 51 95 / .35), transparent 60%), linear-gradient(180deg, #06070b, #020306); }
.tx-hero-in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: center; padding-block: 48px; }
.tx-hero-text { position: relative; z-index: 1; min-width: 0; }
body.skin-texas .tx-kicker { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; margin: 0; padding: 4px 12px; border: 1px solid rgb(var(--cy) / .5); border-radius: 999px; background: rgb(12 15 22 / .5);
  font-family: var(--sans); font-size: .75rem; line-height: 1rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--tx-blue); }
body.skin-texas .tx-slogan { margin: 20px 0 0; font-family: var(--display); font-weight: 400; font-size: 2.25rem; line-height: .95; letter-spacing: .02em; text-transform: uppercase; color: var(--ink); }
body.skin-texas h1.tx-slogan { margin-top: 0; }
.tx-slogan span { display: block; }
.tx-slogan-rest { color: var(--tx-red); text-shadow: var(--tx-glow-red); }
.tx-standfirst { margin: 20px 0 0; max-width: 36rem; font-size: 1rem; line-height: 1.5rem; color: var(--tx-soft); }
.tx-cta { display: flex; flex-direction: column; gap: 12px; margin: 32px 0 0; padding: 0; list-style: none; }
.tx-cta li { display: flex; }
.tx-cta .tx-btn { flex: 1; }
.tx-fine { display: grid; gap: 4px; margin-top: 24px; max-width: 36rem; font-size: .75rem; line-height: 1rem; color: var(--tx-soft); }
.tx-offerline { margin: 0; line-height: 1.375rem; }
.tx-offerline strong { font-weight: 600; color: rgb(255 255 255 / .92); }
.tx-hero-art { position: relative; width: 100%; max-width: 300px; margin-inline: auto; aspect-ratio: 1; }
.tx-outline { display: block; width: 100%; height: 100%; overflow: visible; }
.tx-outline-fill { fill: #ff1985; fill-opacity: .06; stroke: none; }
.tx-star { fill: #f4c947; }
.tx-chips { position: absolute; inset: 0; z-index: 2; margin: 0; padding: 0; list-style: none; pointer-events: none; }
.tx-chip { position: absolute; animation: tx-float 6s ease-in-out infinite; }
.tx-chip a { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 4px 10px; border: 1px solid rgb(42 51 66 / .4); border-radius: 999px; background: rgb(12 15 22 / .85); box-shadow: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4);
  font-size: .75rem; line-height: 1rem; color: var(--tx-soft); text-decoration: none; white-space: nowrap; pointer-events: auto; transition: border-color .15s ease; }
.tx-chip a::after { content: ""; position: absolute; inset: -9px 0; }
.tx-chip a strong { font-family: var(--display); font-weight: 400; letter-spacing: .02em; }
.tx-chip a:hover { border-color: rgb(var(--cy) / .6); }
.tx-chip a:hover span { color: #fff; }
.tx-chip-1 { top: 8%; left: 12%; }
.tx-chip-2 { top: 22%; right: 8%; animation-delay: -.7s; animation-duration: 6s; }
.tx-chip-3 { top: 58%; left: 4%; animation-delay: -1.4s; animation-duration: 7s; }
.tx-chip-4 { top: 70%; right: 6%; animation-delay: -2.1s; animation-duration: 5s; }
.tx-chip-5 { top: 40%; right: 18%; animation-delay: -2.8s; }
@keyframes tx-float { 50% { transform: translateY(-8px); } }
@media (max-width: 639px) {
  /* on a 300px outline the long lines would cover it: the chips keep to the edges and the two middle ones go */
  .tx-chip-1 { left: 0; } .tx-chip-2 { right: 0; top: 24%; } .tx-chip-3 { left: 0; top: 62%; } .tx-chip-4 { right: 0; top: 78%; } .tx-chip-5 { display: none; }
  .tx-chip a span:not(.tx-dot) { max-width: 150px; overflow: hidden; text-overflow: ellipsis; }
}
@media (min-width: 640px) {
  body.skin-texas .tx-slogan { font-size: 3rem; }
  .tx-standfirst { font-size: 1.125rem; line-height: 1.75rem; }
  .tx-cta { flex-direction: row; flex-wrap: wrap; }
  .tx-cta .tx-btn { flex: none; }
  .tx-hero-art { max-width: 420px; }
}
@media (min-width: 1024px) {
  .tx-hero-in { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: 112px; }
  body.skin-texas .tx-slogan { font-size: 4.5rem; }
  .tx-hero-art { max-width: 448px; }
}
/* low screens (laptops): a little less air, so the buttons and the outline stay on the first screen */
@media (min-width: 1024px) and (max-height: 860px) { .tx-hero-in { padding-block: 72px; } }
@media (min-width: 1024px) and (max-height: 760px) { .tx-hero-in { padding-block: 48px; } }

/* An opening the text still carries (pill, loose lines, a short answer): one quiet band under the hero */
.tx-band--lead { padding-block: 24px; border-bottom: 1px solid rgb(42 51 66 / .2); }
.tx-band--lead .wrap { display: grid; gap: 10px; justify-items: start; }
body.skin-texas .tx-lead, body.skin-texas .tx-answer { font-size: .875rem; line-height: 1.5; color: var(--tx-soft); }
body.skin-texas .tx-lead p, body.skin-texas .tx-answer p { margin: 0 0 6px; }

/* Section headings (the designed blocks and the sections of the text share them): eyebrow, heading, one line */
body.skin-texas .tx-sections, body.skin-texas .tx-head { float: none; }
body.skin-texas .wrap.tx-sections { width: 100%; max-width: var(--wrap); margin-inline: auto; }
body.skin-texas .tx-head, body.skin-texas .tx-sections .sc-sec { margin: 0; padding: 0; border: 0; max-width: none; }
body.skin-texas .tx-head > *, body.skin-texas .tx-sections .sc-sec > * { margin-block: 0; }
body.skin-texas .tx-sections > .sc-sec::before { content: none; }
body.skin-texas .tx-sections .sc-sec > .label { margin: 0 0 12px; font-family: var(--display); font-size: .75rem; line-height: 1rem; letter-spacing: .3em; text-transform: uppercase; color: var(--tx-blue); }
body.skin-texas .tx-head h2, body.skin-texas .tx-sections .sc-sec > h2, body.skin-texas .tx-faq h2 { margin: 0; padding: 0; border: 0; background: none; max-width: none; font-family: var(--display); font-weight: 400; font-size: 1.875rem; line-height: 2.25rem; letter-spacing: .02em; color: var(--ink); text-wrap: balance; }
body.skin-texas .tx-head h2::after, body.skin-texas .tx-sections h2::after, body.skin-texas .tx-faq h2::after { content: none; display: none; }
body.skin-texas .tx-head h2 + p, body.skin-texas .tx-sections .sc-sec > h2 + p { margin: 4px 0 0; max-width: 42rem; font-size: 1rem; line-height: 1.5rem; color: var(--tx-soft); }
body.skin-texas .tx-band--steps .sc-sec > h2 + p { margin-top: 8px; }
body.skin-texas .tx-head a, body.skin-texas .tx-sections .sc-sec > p a, body.skin-texas .tx-tail a { color: var(--tx-blue); text-decoration: none; }
body.skin-texas .tx-head a:hover, body.skin-texas .tx-sections .sc-sec > p a:hover, body.skin-texas .tx-tail a:hover { color: var(--tx-blue); text-decoration: underline; }
body.skin-texas .tx-head { margin-bottom: 32px; }
body.skin-texas .tx-tail { margin-top: 16px; font-size: .875rem; line-height: 1.25rem; color: var(--tx-soft); }
body.skin-texas .tx-tail p { margin: 0; }
.tx-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 32px; }
body.skin-texas .tx-head-row .tx-head { margin-bottom: 0; }
.tx-live { display: none; flex: none; align-items: center; gap: 6px; margin: 0; padding: 4px 10px; border: 1px solid rgb(var(--gn) / .4); border-radius: 999px; background: rgb(12 15 22 / .6); font-family: var(--display); font-size: .75rem; line-height: 1rem; letter-spacing: .05em; text-transform: uppercase; color: var(--tx-green); }
@media (min-width: 640px) { .tx-live { display: inline-flex; } }
@media (min-width: 1024px) { body.skin-texas .tx-head h2, body.skin-texas .tx-sections .sc-sec > h2, body.skin-texas .tx-faq h2 { font-size: 2.25rem; line-height: 2.5rem; } }

/* The three steps: a band with a line above and below, three cards with a 2px line, the number large and faint in the
   corner, then the strip that starts with the first partner */
.tx-band--steps { border-block: 1px solid rgb(42 51 66 / .2); background: rgb(12 15 22 / .3); }
body.skin-texas .tx-band--steps .sc-sec > h2 { line-height: 1.25; }
body.skin-texas .tx-sections .cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 32px 0 0; }
body.skin-texas .tx-band--steps .cards { margin-top: 40px; }
body.skin-texas .tx-sections .cards > .box { --c: var(--cy); position: relative; margin: 0; padding: 24px; border: 2px solid rgb(var(--c) / .4); border-radius: 12px; background: rgb(6 7 11 / .6); font-size: .875rem; line-height: 1.25rem; transition: border-color .15s ease, background-color .15s ease; }
body.skin-texas .tx-sections .cards > .box h3 { margin: 0; padding: 0; border: 0; font-family: var(--display); font-weight: 400; font-size: 1.25rem; line-height: 1.75rem; letter-spacing: .02em; color: var(--ink); }
body.skin-texas .tx-sections .cards > .box p { margin: 8px 0 0; font-size: .875rem; line-height: 1.25rem; color: var(--tx-soft); }
body.skin-texas .tx-band--steps .cards > .box:nth-child(3n+2) { --c: var(--pk); }
body.skin-texas .tx-band--steps .cards > .box:nth-child(3n+3) { --c: 245 245 245; }
body.skin-texas .tx-band--steps .cards > .box { padding-top: 72px; background: rgb(6 7 11 / .6) url("../../img/skins/texas/step-1.svg") 24px 24px / 32px 32px no-repeat; }
body.skin-texas .tx-band--steps .cards > .box:nth-child(2) { background-image: url("../../img/skins/texas/step-2.svg"); }
body.skin-texas .tx-band--steps .cards > .box:nth-child(3) { background-image: url("../../img/skins/texas/step-3.svg"); }
body.skin-texas .tx-band--steps .cards > .box > p:first-child { position: absolute; top: 12px; right: 16px; margin: 0; font-family: var(--display); font-size: 3.75rem; line-height: 1; color: rgb(var(--c) / .3); }
body.skin-texas .tx-band--steps .cards > .box > p:first-child strong { font-weight: 400; color: inherit; }
body.skin-texas .tx-sections .sc-sec > .box { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px 16px; margin: 32px 0 0; padding: 20px; border: 1px solid rgb(var(--cy) / .4); border-radius: 12px; background: rgb(6 7 11 / .6); }
body.skin-texas .tx-sections .sc-sec > .box > p { margin: 0; font-size: .875rem; line-height: 1.25rem; color: var(--tx-soft); }
body.skin-texas .tx-sections .sc-sec > .box > p:first-child strong { font-family: var(--display); font-weight: 400; font-size: 1.125rem; line-height: 1.75rem; letter-spacing: .02em; text-transform: uppercase; color: var(--ink); }
body.skin-texas .tx-sections .sc-sec > .box > p:last-child { margin-top: 12px; }
body.skin-texas .tx-sections .sc-sec > .box a.button[href*="/go/"] { display: inline-flex; align-items: center; justify-content: center; width: 100%; padding: 14px 28px; border: 2px solid var(--tx-blue); border-radius: 999px; background: var(--tx-blue); color: #06070b; font-family: var(--display); font-size: 1rem; line-height: 1.5rem; letter-spacing: .05em; box-shadow: none; white-space: nowrap; transition: box-shadow .15s ease, transform .15s ease; }
body.skin-texas .tx-sections .sc-sec > .box a.button[href*="/go/"]::after { content: ""; width: 16px; height: 16px; margin-inline-start: 8px; background: url("../../img/skins/texas/arrow-dark.svg") center / contain no-repeat; }
body.skin-texas .tx-sections .sc-sec > .box a.button[href*="/go/"]:hover { background: var(--tx-blue); color: #06070b; transform: scale(1.04); box-shadow: var(--tx-flare-blue); }
body.skin-texas .tx-sections .sc-sec > .box ~ p { margin: 16px 0 0; font-size: .75rem; line-height: 1rem; color: var(--tx-soft); }
@media (min-width: 640px) {
  body.skin-texas .tx-sections .sc-sec > .box { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  body.skin-texas .tx-sections .sc-sec > .box > p:last-child { grid-column: 2; grid-row: 1 / span 2; margin-top: 0; }
  body.skin-texas .tx-sections .sc-sec > .box a.button[href*="/go/"] { width: auto; }
}
@media (min-width: 768px) { body.skin-texas .tx-band--steps .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Category cards (a line icon by where the card leads, the 2px coloured line) and city cards (plain, narrower column) */
body.skin-texas .tx-band--links .cards > .box { padding: 20px; border-radius: 8px; background: rgb(12 15 22 / .6); --c: var(--pk); }
body.skin-texas .tx-band--links .cards > .box:nth-child(4n+2) { --c: var(--cy); }
body.skin-texas .tx-band--links .cards > .box:nth-child(4n+3) { --c: 245 245 245; }
body.skin-texas .tx-band--links .cards > .box:nth-child(4n+4) { --c: var(--or); }
body.skin-texas .tx-band--links .cards > .box::before { content: ""; display: block; width: 28px; height: 28px; margin-bottom: 12px; background: url("../../img/skins/texas/cat-film.svg") center / contain no-repeat; filter: drop-shadow(0 0 8px rgb(var(--c) / .9)); }
body.skin-texas .tx-band--links .cards > .box:has(a[href$="/sports"])::before { background-image: url("../../img/skins/texas/cat-trophy.svg"); }
body.skin-texas .tx-band--links .cards > .box:has(a[href$="/politics"])::before { background-image: url("../../img/skins/texas/cat-vote.svg"); }
body.skin-texas .tx-band--links .cards > .box:has(a[href$="/weather"])::before { background-image: url("../../img/skins/texas/cat-cloud.svg"); }
body.skin-texas .tx-band--links .cards > .box:hover, body.skin-texas .tx-band--places .cards > .box:hover { border-color: rgb(var(--c)); background: #0c0f16; }
body.skin-texas .tx-band--links .cards > .box h3 a, body.skin-texas .tx-band--places .cards > .box h3 a { color: var(--ink); text-decoration: none; }
body.skin-texas .tx-band--links .cards > .box h3 a::after, body.skin-texas .tx-band--places .cards > .box h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
body.skin-texas .tx-band--links .cards > .box p { margin-top: 4px; }
.tx-band--places { padding-block: 40px; }
body.skin-texas .tx-band--places .wrap.tx-sections { max-width: 1152px; }
body.skin-texas .tx-band--places .sc-sec > h2 { font-size: 1.5rem; line-height: 2rem; color: var(--tx-blue); }
body.skin-texas .tx-band--places .sc-sec > h2 .tx-accent { color: inherit; text-shadow: none; }
body.skin-texas .tx-band--places .cards { gap: 12px; margin-top: 16px; }
body.skin-texas .tx-band--places .cards > .box { padding: 16px; border: 1px solid rgb(42 51 66 / .5); background: rgb(12 15 22 / .4); --c: 93 164 229; }
body.skin-texas .tx-band--places .cards > .box:hover { border-color: rgb(var(--cy) / .6); background: rgb(12 15 22 / .4); }
body.skin-texas .tx-band--places .cards > .box h3 { font-size: 1.125rem; }
body.skin-texas .tx-band--places .cards > .box p { margin-top: 4px; }
@media (min-width: 640px) { body.skin-texas .tx-band--links .cards, body.skin-texas .tx-band--places .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { body.skin-texas .tx-band--links .cards, body.skin-texas .tx-band--places .cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Featured markets: the original card. Topic and end date, the market's name, the outcome with one large green
   price, the venues small at the lower right, one thin bar. Every price and name is a tracked link. */
.tx-market-list { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.tx-market { display: flex; flex-direction: column; min-width: 0; padding: 20px; border: 1px solid rgb(42 51 66 / .5); border-radius: 8px; background: rgb(12 15 22 / .6); transition: border-color .15s ease, background-color .15s ease; }
.tx-market:hover { border-color: rgb(var(--cy) / .6); background: #0c0f16; }
.tx-market-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; font-size: .75rem; line-height: 1rem; color: var(--tx-soft); }
.tx-market-topic { font-family: var(--display); letter-spacing: .05em; text-transform: uppercase; color: var(--tx-blue); }
.tx-market-ends { margin-inline-start: auto; }
body.skin-texas .tx-market-title { margin: 12px 0 0; padding: 0; border: 0; font-family: var(--display); font-weight: 400; font-size: 1rem; line-height: 1.375; letter-spacing: .02em; color: var(--ink); }
.tx-market-title a { color: inherit; text-decoration: none; }
.tx-market:hover .tx-market-title a { color: var(--ink); }
.tx-market-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; }
.tx-market-price { display: grid; min-width: 0; color: inherit; text-decoration: none; }
.tx-market-label { display: inline-flex; align-items: center; gap: 6px; font-size: .75rem; line-height: 1rem; text-transform: uppercase; color: var(--tx-soft); }
.tx-market-label .tx-dot { color: var(--tx-green); }
.tx-market-pct { font-family: var(--display); font-weight: 400; font-size: 1.875rem; line-height: 2.25rem; letter-spacing: .02em; color: var(--tx-green); font-variant-numeric: tabular-nums; }
.tx-market-change { margin-top: 2px; font-size: .75rem; line-height: 1rem; font-weight: 500; font-variant-numeric: tabular-nums; }
.tx-market-change.is-up { color: var(--tx-green); }
.tx-market-change.is-down { color: #f0616b; }
.tx-market-on { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; margin: 0; }
.tx-venue { position: relative; display: inline-flex; align-items: center; gap: 4px; font-family: var(--display); font-size: .875rem; line-height: 1.25rem; letter-spacing: .05em; text-transform: uppercase; color: var(--ink); text-decoration: none; white-space: nowrap; }
.tx-venue .tx-ico { width: 14px; height: 14px; }
.tx-venue:hover { color: var(--tx-blue); }
.tx-bar { display: block; height: 6px; margin-top: 12px; border-radius: 999px; background: #06070b; overflow: hidden; }
.tx-bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--tx-blue), var(--tx-red)); }
.tx-more-box { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tx-more { display: none; }
.tx-markets-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 24px; }
.tx-source { margin: 0; font-size: .75rem; line-height: 1rem; font-style: italic; color: var(--tx-soft); }
.tx-markets-foot .tx-terms[open] { flex-basis: 100%; }
@media (max-width: 767px) {
  .tx-more-box:not(:checked) ~ .tx-market-list > .tx-market:nth-child(n+5) { display: none; }
  .tx-more-box:not(:checked) ~ .tx-more { display: flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 16px; border: 1px solid rgb(42 51 66 / .5); border-radius: 8px; background: rgb(12 15 22 / .6); font-family: var(--display); font-size: .875rem; letter-spacing: .05em; text-transform: uppercase; color: var(--tx-blue); cursor: pointer; }
  .tx-more-box:focus-visible ~ .tx-more { outline: 2px solid var(--tx-blue); outline-offset: 2px; }
}
@media (min-width: 768px) { .tx-market-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .tx-market-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Venue cards and offer cards: 2px line in the partner's colour, 12px corners, 24px of padding */
.tx-vcards, .tx-ocards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; }
.tx-vcard, .tx-ocard { display: flex; flex-direction: column; min-width: 0; padding: 24px; border: 2px solid rgb(var(--p) / .4); border-radius: 12px; background: rgb(12 15 22 / .6); transition: border-color .15s ease, background-color .15s ease; }
.tx-vcard:hover { border-color: rgb(var(--p)); background: #0c0f16; }
body.skin-texas .tx-vcard-name { margin: 0; padding: 0; border: 0; font-family: var(--display); font-weight: 400; font-size: 1.875rem; line-height: 2.25rem; letter-spacing: .02em; color: var(--ink); }
.tx-vcard-tagline { margin: 4px 0 0; font-size: .875rem; line-height: 1.25rem; color: var(--tx-soft); }
.tx-points { display: grid; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; font-size: .875rem; line-height: 1.25rem; color: var(--ink); }
.tx-points li { padding-inline-start: 24px; background: url("../../img/skins/texas/check.svg") 0 2px / 16px 16px no-repeat; }
.tx-vcard-act { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-top: auto; padding-top: 24px; }
.tx-ocard-name { margin: 0; font-family: var(--display); font-size: .75rem; line-height: 1rem; letter-spacing: .05em; text-transform: uppercase; color: var(--p-text); }
body.skin-texas .tx-ocard-offer { margin: 8px 0 0; padding: 0; border: 0; font-family: var(--display); font-weight: 400; font-size: 1.5rem; line-height: 1.25; letter-spacing: .02em; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tx-ocard-line { margin: 8px 0 0; font-size: .875rem; line-height: 1.5rem; color: var(--tx-soft); }
.tx-ocard-act { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: auto; padding-top: 20px; }
.tx-oterms { display: contents; }
.tx-oterms summary { display: inline-flex; align-items: center; font-family: var(--display); font-size: .75rem; line-height: 1rem; letter-spacing: .05em; text-transform: uppercase; color: var(--p-text); cursor: pointer; list-style: none; }
.tx-oterms summary::-webkit-details-marker { display: none; }
.tx-oterms summary:hover { text-decoration: underline; }
.tx-oterms > div { flex-basis: 100%; font-size: .75rem; line-height: 1.5; color: var(--tx-soft); }
.tx-oterms > div p { margin: 4px 0 0; }
.tx-oterms > div a { color: var(--tx-blue); text-decoration: none; }
.tx-oterms > div a:hover { text-decoration: underline; }
.tx-offers .tx-pill { margin-bottom: 12px; }
@media (min-width: 640px) { .tx-vcards, .tx-ocards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .tx-vcards-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .tx-vcards-3, .tx-ocards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Article lists of the home page (a CMS block the original did not have): under one heading, cards like the market cards */
.tx-news-head { padding-bottom: 0; }
body.skin-texas .tx-news-head .tx-head { margin-bottom: 0; }
body.skin-texas.home-showcase main:has(> .empty-state) .tx-news-head, body.skin-texas.home-showcase main > .empty-state { display: none; }
body.skin-texas.home-showcase .home-top { padding-top: 32px; }
body.skin-texas.home-showcase .home-top, body.skin-texas.home-showcase main > .section { padding-bottom: 16px; }
body.skin-texas.home-showcase main > .section:last-of-type { padding-bottom: 64px; }

/* Questions: the original's 768px column, one bordered row per question, a chevron that turns */
.tx-band--faq { padding-block: 64px; }
body.skin-texas .tx-faq .faq { max-width: 768px; margin: 0 auto; padding: 0; border: 0; font-family: var(--sans); }
body.skin-texas .tx-faq h2 { margin-bottom: 24px; color: var(--tx-blue); text-shadow: var(--tx-glow-blue); }
body.skin-texas .tx-faq h2 .tx-accent { color: inherit; text-shadow: none; }
body.skin-texas .tx-faq details { margin-top: 8px; padding: 0; border: 1px solid rgb(42 51 66 / .5); border-radius: 8px; background: rgb(12 15 22 / .5); }
body.skin-texas .tx-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; font-family: var(--sans); font-size: 1rem; line-height: 1.5rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--ink); list-style: none; cursor: pointer; }
body.skin-texas .tx-faq summary::-webkit-details-marker { display: none; }
body.skin-texas .tx-faq summary::before { content: none; }
body.skin-texas .tx-faq summary::after { content: ""; flex: none; width: 20px; height: 20px; border: 0; border-radius: 0; background: url("../../img/skins/texas/chevron.svg") center / contain no-repeat; transition: transform .2s ease; }
body.skin-texas .tx-faq details[open] summary::after { transform: rotate(180deg); background-image: url("../../img/skins/texas/chevron-on.svg"); }
body.skin-texas .tx-faq summary:hover { color: var(--ink); }
body.skin-texas .tx-faq .faq-answer { padding: 0 16px 16px; }
body.skin-texas .tx-faq .faq-answer, body.skin-texas .tx-faq .faq-answer p { font-family: var(--sans); font-size: .875rem; line-height: 1.625; letter-spacing: 0; text-transform: none; color: var(--tx-soft); }
body.skin-texas .tx-faq .faq-answer p { margin: 0 0 8px; }
body.skin-texas .tx-faq .faq-answer p:last-child { margin-bottom: 0; }
body.skin-texas .tx-faq .faq-answer a { color: var(--tx-blue); }

/* Closing panel (new: the original ended on the questions): the hero's light again, the closing line, the four buttons */
.tx-end { position: relative; isolation: isolate; overflow: hidden; border-top: 1px solid rgb(42 51 66 / .2); text-align: center;
  background: repeating-linear-gradient(0deg, transparent 0, transparent 2px, rgb(255 255 255 / .02) 2px, rgb(255 255 255 / .02) 3px), radial-gradient(ellipse at top, rgb(var(--pk) / .18), transparent 60%), radial-gradient(ellipse at bottom right, rgb(12 51 95 / .35), transparent 60%), linear-gradient(180deg, #06070b, #020306); }
body.skin-texas .tx-closing .box, body.skin-texas .tx-closing .box:hover { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
body.skin-texas .tx-closing .box::before, body.skin-texas .tx-closing .box::after { content: none; }
body.skin-texas .tx-closing h3 { margin: 0; padding: 0; border: 0; font-family: var(--display); font-weight: 400; font-size: 2.25rem; line-height: .95; letter-spacing: .02em; color: var(--ink); text-wrap: balance; }
body.skin-texas .tx-closing p { margin: 16px auto 0; max-width: 36rem; font-size: 1rem; line-height: 1.5rem; color: var(--tx-soft); }
body.skin-texas .tx-closing p:last-child { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 24px; margin-top: 12px; max-width: none; font-size: .875rem; }
body.skin-texas .tx-closing p:last-child a { display: inline-flex; align-items: center; color: var(--tx-blue); text-decoration: none; }
body.skin-texas .tx-closing p:last-child a:hover { text-decoration: underline; }
.tx-cta--end { justify-content: center; margin-top: 32px; }
body.skin-texas .tx-offer-terms { padding-block: 24px 0; }
body.skin-texas .tx-offer-terms, body.skin-texas .tx-offer-terms * { font-family: var(--sans); font-size: .75rem; line-height: 1.5; letter-spacing: 0; text-transform: none; color: var(--tx-soft); }
@media (min-width: 640px) { body.skin-texas .tx-closing h3 { font-size: 3rem; } }
@media (min-width: 1024px) { body.skin-texas .tx-closing h3 { font-size: 3.75rem; } }

/* Footer: the original's four columns (brand, Markets, Guides, About), small blue titles, quiet links */
body.skin-texas.theme-dark .site-footer { margin-top: 80px; background: rgb(6 7 11 / .6); border-top: 1px solid rgb(42 51 66 / .25); }
body.skin-texas.home-showcase .site-footer { margin-top: 0; }
body.skin-texas .footer-grid { padding-block: 40px 24px; gap: 32px; }
body.skin-texas .footer-cols { gap: 32px; }
body.skin-texas .footer-title, body.skin-texas .footer-title a { font-family: var(--display); font-weight: 400; text-transform: uppercase; color: var(--tx-blue); }
body.skin-texas .footer-cols ul { margin-top: 12px; gap: 8px; }
body.skin-texas .footer-cols li a { min-height: 0; padding-block: 0; font-size: .875rem; line-height: 1.25rem; color: var(--tx-soft); }
body.skin-texas .footer-cols li a:hover, body.skin-texas .footer-links a:hover { color: var(--ink); }
body.skin-texas .footer-cols li a[href*="/promo"] { color: var(--tx-soft); }
@media (min-width: 1024px) { body.skin-texas .footer-grid:has(.footer-cols) { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 32px; } }

/* Keyboard focus */
body.skin-texas .tx-btn:focus-visible, body.skin-texas .prose a.button:focus-visible, body.skin-texas .tx-venue:focus-visible, body.skin-texas .tx-chip a:focus-visible, body.skin-texas .tx-market-price:focus-visible, body.skin-texas .tx-market-title a:focus-visible, body.skin-texas .tx-ticker a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; border-radius: 6px; }
body.skin-texas .tx-btn:focus-visible { border-radius: 999px; }

/* Touch sizes: every control is at least 44px high on phones and touch screens (the look stays; the target grows) */
@media (max-width: 767px), (pointer: coarse) {
  .tx-btn { min-height: 44px; }
  .tx-btn--sm { padding-inline: 16px; }
  .tx-link, .tx-oterms summary { min-height: 44px; }
  .tx-venue::after, .tx-ticker a::after { content: ""; position: absolute; inset: -12px -4px; }
  .tx-ticker a { position: relative; }
  body.skin-texas .tx-copy { position: relative; }
  body.skin-texas .tx-copy::after { content: ""; position: absolute; inset: -13px -6px; }
  body.skin-texas .tx-terms summary { display: inline-block; padding-block: 14px; margin-block: -10px; }
  .tx-market-title a { display: block; padding-block: 6px; margin-block: -6px; }
  .tx-market-on { gap: 10px; }
  body.skin-texas .tx-closing p:last-child a { min-height: 44px; }
  body.skin-texas .tx-head a, body.skin-texas .tx-sections .sc-sec > p a, body.skin-texas .tx-tail a, body.skin-texas .tx-faq .faq-answer a, body.skin-texas .tx-oterms > div a, body.skin-texas .tx-lead a { display: inline-block; padding-block: 12px; margin-block: -12px; }
  body.skin-texas .footer-cols li a, body.skin-texas .footer-links a { min-height: 44px; }
  body.skin-texas .footer-cols ul { gap: 0; }
}
@media (max-width: 639px) {
  .tx-vcard-act .tx-btn { align-self: stretch; }
  .tx-ocard-act .tx-btn { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .tx-ticker { overflow-x: auto; }
  .tx-ticker-run, .tx-chip { animation: none; }
  .tx-ticker ul[aria-hidden] { display: none; }
  .tx-btn, .tx-btn:hover, body.skin-texas .tx-sections .sc-sec > .box a.button[href*="/go/"]:hover { transition: none; transform: none; }
}

/* Corrections after the first comparison with the original */
.tx-ocard-code { text-transform: capitalize; }
body.skin-texas.pages-editorial .tx-end .tx-closing .box, body.skin-texas .tx-end .tx-closing .box { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
body.skin-texas.pages-editorial .tx-end .tx-closing h3, body.skin-texas .tx-end .tx-closing h3 { font-size: 2.25rem; line-height: .95; }
@media (min-width: 640px) { body.skin-texas.pages-editorial .tx-end .tx-closing h3, body.skin-texas .tx-end .tx-closing h3 { font-size: 3rem; } }
@media (min-width: 1024px) { body.skin-texas.pages-editorial .tx-end .tx-closing h3, body.skin-texas .tx-end .tx-closing h3 { font-size: 3.75rem; } }
body.skin-texas .wrap.rg-notice { margin-inline: auto; }
body.skin-texas .footer-brand .brand-name { font-family: var(--display); font-weight: 400; font-size: 1.25rem; line-height: 1.75rem; letter-spacing: .02em; text-transform: uppercase; color: var(--tx-red); text-shadow: var(--tx-glow-red); }
body.skin-texas .footer-brand .muted { margin-top: 12px; font-size: .75rem; line-height: 1rem; color: var(--tx-soft); }
.tx-fine { display: block; }
.tx-fine .tx-offerline { display: inline; }
body.skin-texas .tx-fine .tx-terms { display: inline; margin-inline-start: 6px; }
body.skin-texas .tx-fine .tx-terms[open] { display: block; margin: 4px 0; }
.tx-fine .tx-disclosure { margin-top: 6px; }
/* phones: four of the latest articles on the home page (the rest are on the section pages) */
@media (max-width: 639px) { body.skin-texas.home-showcase main > .section .grid > .card:nth-child(n+5) { display: none; } }
@media (max-width: 767px), (pointer: coarse) {
  body.skin-texas .tx-head a, body.skin-texas .tx-sections .sc-sec > p a, body.skin-texas .tx-sections .sc-sec > .box > p a:not(.button), body.skin-texas .tx-tail a, body.skin-texas .tx-faq .faq-answer a, body.skin-texas .tx-oterms > div a, body.skin-texas .tx-lead a { display: inline-block; padding-block: 14px; margin-block: -14px; }
  .tx-market-title a { padding-block: 11px; margin-block: -11px; }
}
/* only the steps heading keeps a narrow column (672px), as on the original */
body.skin-texas .tx-head h2 + p, body.skin-texas .tx-sections .sc-sec > h2 + p { max-width: none; }
body.skin-texas .tx-band--steps .sc-sec > h2 + p { max-width: 42rem; }
@media (min-width: 768px) { body.skin-texas .has-children > a { padding-inline-end: 28px; } body.skin-texas .has-children > a::before { right: 10px; } }
/* the floating phone bar: a quiet line and no glow, like the original's bottom bar */
@media (max-width: 767px) { body.skin-texas.theme-dark .sticky-cta:not([hidden]) { border-color: rgb(42 51 66 / .6); background: rgb(6 7 11 / .95); box-shadow: 0 12px 32px rgb(0 0 0 / .6); } body.skin-texas.theme-dark .sticky-cta strong { color: var(--tx-blue); } }
/* a flat imported text: the tracked button that stands loose in the closing box of the steps */
body.skin-texas .tx-sections .sc-sec > .box > a.button[href*="/go/"] { justify-self: start; }
@media (min-width: 640px) { body.skin-texas .tx-sections .sc-sec > .box > a.button[href*="/go/"] { grid-column: 2; grid-row: 1 / span 2; } }
body.skin-texas.pages-editorial .prose th, body.skin-texas .prose th { font-size: .75rem; }

/* ------------------------------------------------------------------------------------------------------------------
   Motion: every movement of the original page, with its timing. Only opacity and transform move (plus the outline's
   stroke once and two colour transitions), so slow machines keep up. Content is visible without script: the reveal
   classes are set by site.js. Endless animations pause while their block is off screen. "Reduce motion": all off.
   ------------------------------------------------------------------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference) {
  /* ticker: about 4s per item, as the original's ten items in 40s; its dots breathe */
  .tx-ticker-run { animation-duration: 48s; will-change: transform; }
  .tx-ticker .tx-dot, .tx-kicker .tx-dot { animation: tx-pulse 2.4s ease-in-out infinite; }
  /* hero: the pieces rise in one after the other on load */
  .tx-kicker { animation: tx-rise-20 .6s cubic-bezier(.25, .1, .25, 1) both; }
  .tx-slogan { animation: tx-rise-30 .7s cubic-bezier(.25, .1, .25, 1) .1s both; }
  .tx-standfirst { animation: tx-rise-30 .7s cubic-bezier(.25, .1, .25, 1) .2s both; }
  .tx-hero .tx-cta { animation: tx-rise-30 .7s cubic-bezier(.25, .1, .25, 1) .3s both; }
  .tx-fine { animation: tx-fade 1s cubic-bezier(.25, .1, .25, 1) .6s both; }
  .tx-hero-art { animation: tx-zoom 1s cubic-bezier(.25, .1, .25, 1) .2s both; }
  /* the crimson line flickers like a neon tube: two short dips every 4s */
  .tx-slogan-rest { animation: tx-flicker 4s linear infinite; }
  /* outline: drawn in 2.2s, its fill breathes, the star pops in after 1.2s and then breathes */
  .tx-outline-line { stroke-dasharray: 1; animation: tx-draw 2.2s ease-in-out both; }
  .tx-outline-fill { animation: tx-breathe 4s ease-in-out infinite; }
  .tx-star-in { transform-box: fill-box; transform-origin: center; animation: tx-pop .8s cubic-bezier(.34, 1.56, .64, 1) 1.2s both; }
  .tx-star { animation: tx-pulse 2.4s ease-in-out 2s infinite; }
  /* chips float 8px (5 to 7s, 0.7s apart); live dots send out a ring every 2s */
  .tx-chip-1 { animation-duration: 5s; animation-delay: 0s; }
  .tx-chip-2 { animation-duration: 6s; animation-delay: -.7s; }
  .tx-chip-3 { animation-duration: 7s; animation-delay: -1.4s; }
  .tx-chip-4 { animation-duration: 5s; animation-delay: -2.1s; }
  .tx-chip-5 { animation-duration: 6s; animation-delay: -2.8s; }
  .tx-ping { position: relative; box-shadow: none; }
  .tx-ping::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: currentColor; animation: tx-ping 2s cubic-bezier(0, 0, .2, 1) infinite; }
  /* cards rise in when their row scrolls into view, one after the other (steps and venues 0.1s apart, markets 0.05s, categories 0.08s) */
  .will-reveal > * { opacity: 0; transform: translateY(20px); }
  .tx-market-list.will-reveal > * { transform: translateY(16px); }
  /* once a row is in, its cards are visible whatever happens to the animation */
  .will-reveal.is-in > * { opacity: 1; transform: none; animation: tx-rise-20 .45s cubic-bezier(.22, 1, .36, 1) backwards; animation-delay: calc(var(--n, 0) * var(--step, .1s)); }
  .tx-market-list.will-reveal.is-in > * { --step: .05s; animation-name: tx-rise-16; }
  .tx-band--links .cards.will-reveal.is-in > * { --step: .08s; }
  .will-reveal > :nth-child(2) { --n: 1; } .will-reveal > :nth-child(3) { --n: 2; } .will-reveal > :nth-child(4) { --n: 3; } .will-reveal > :nth-child(5) { --n: 4; } .will-reveal > :nth-child(6) { --n: 5; }
  /* the price bar grows to its value when the card arrives (the original's bars moved with its sample prices) */
  .tx-bar span { transform-origin: left center; }
  .will-reveal .tx-bar span { transform: scaleX(0); }
  .will-reveal.is-in .tx-bar span { transform: none; animation: tx-grow .7s cubic-bezier(0, 0, .2, 1) backwards; animation-delay: calc(var(--n, 0) * .05s + .2s); }
  /* questions: the answer fades in when opened; where the browser can, its height opens smoothly too */
  body.skin-texas .tx-faq details[open] .faq-answer { animation: tx-fade .3s ease both; }
  /* header: the guides list fades in from 4px below */
  body.skin-texas .has-children:hover > .sub-nav, body.skin-texas .has-children:focus-within > .sub-nav { animation: tx-drop .15s ease both; }
  /* endless animations rest while their block is off screen */
  .is-offscreen .tx-ticker-run, .is-offscreen.tx-ticker .tx-ticker-run, .is-offscreen .tx-dot, .is-offscreen .tx-slogan-rest, .is-offscreen .tx-outline-fill, .is-offscreen .tx-star, .is-offscreen .tx-chip, .is-offscreen .tx-ping::after { animation-play-state: paused; }
}
@supports (interpolate-size: allow-keywords) {
  @media (prefers-reduced-motion: no-preference) {
    body.skin-texas .tx-faq details { interpolate-size: allow-keywords; }
    body.skin-texas .tx-faq details::details-content { height: 0; overflow: hidden; transition: height .3s ease, content-visibility .3s allow-discrete; }
    body.skin-texas .tx-faq details[open]::details-content { height: auto; }
  }
}
.tx-market:hover .tx-venue { color: var(--tx-blue); }
/* the page's two fixed glows stay put while the page scrolls on large screens only (cheaper on phones) */
@media (max-width: 1023px) { body.skin-texas.theme-dark { background-attachment: scroll; } }
@keyframes tx-rise-20 { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes tx-rise-16 { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes tx-rise-30 { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
@keyframes tx-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes tx-zoom { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: none; } }
@keyframes tx-flicker { 0%, 41.99%, 43%, 47.99%, 49%, 100% { opacity: 1; } 42% { opacity: .6; } 48% { opacity: .4; } }
@keyframes tx-draw { from { stroke-dashoffset: 1; opacity: 0; } to { stroke-dashoffset: 0; opacity: 1; } }
@keyframes tx-breathe { 0%, 100% { fill-opacity: .04; } 50% { fill-opacity: .12; } }
@keyframes tx-pop { from { opacity: 0; transform: scale(0); } to { opacity: 1; transform: scale(1); } }
@keyframes tx-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .85; } }
@keyframes tx-ping { 0% { transform: scale(1); opacity: .75; } 80%, 100% { transform: scale(2.2); opacity: 0; } }
@keyframes tx-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes tx-drop { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
