/* Presentation rules migrated to page 9078 GenerateBlocks settings are commented below.
   Functional, SVG, pseudo-element and animation rules remain active. */

/* USCR state pages — ported from the state-pages mock (v2.css plus the breadcrumb and city-card rules from mock.css section 1).
   Enqueued on state pages only (State_Pages). Uses the site's CSS variables and Lexend; no new tokens. */
/* Moved to editable GenerateBlocks settings — page 9078
.state-breadcrumb{ font-size: .875rem; color: var(--contrast-3); padding-top: 1.25rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.state-breadcrumb a{ color: inherit; text-decoration: none; }
*/


.state-breadcrumb a:hover{ color: var(--accent); }


.state-breadcrumb span[aria-current]{ color: var(--base-3); }


/* Moved to editable GenerateBlocks settings — page 9078
.state-cities{ display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; margin-top: 2rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.state-cities > *{ flex: 0 1 calc((100% - 4.5rem) / 4); min-width: 240px; }
*/

@media (max-width: 600px) {

/* Moved to editable GenerateBlocks settings — page 9078
.state-cities > *{ flex-basis: 100%; }
*/
 }
/* ==========================================================================
   State page v2: new components, built in Randy's design system.
   Reuses the site's own global classes wherever one exists (.hero, .hero__overlay, .hero__content,
   .hero__title, .section__inner, .button-primary, .button-secondary, .gold-border, .testimonial__slide,
   .testimonial__quote, .testimonial__footer, .wp-block-list, .fade-in). What's defined here only covers
   components the site doesn't have yet, using the same primitives:
     cards      8px radius, 2px solid var(--contrast-2), var(--contrast) fill, gold border on hover (.page-card)
     panels     1rem radius, 2px solid var(--contrast-2), rgba(10,10,10,.65) fill (.testimonial__slide, .hero)
     emphasis   the site's .gold-border class (gradient gold frame), never custom gold tints
     type       site h1 42px / h2 35px / h3 20px bold; keywords underlined via <mark>; body white,
                secondary text var(--contrast-3); labels match the footer headings (uppercase, .2em tracking, 500)
     bullets    the site's suit markers (♣ ♥ ♠ ♦) via .wp-block-list
     spacing    .section__inner (3rem top); the body's bg-pattern shows through, no custom textures
   ========================================================================== */
:root{
  --st-line: var(--contrast-2);
  --st-ink: var(--base-3);
  --st-ink-dim: var(--contrast-3);
  --st-card-radius: 8px;
  --st-panel-radius: 1rem;
  --st-panel-bg: rgba(10, 10, 10, .65);
}

/* ---------- shared ---------- */
/* label above a heading: the footer-heading style, scaled down to label size, with a gold suit */
/* Moved to editable GenerateBlocks settings — page 9078
.st-eyebrow{ display: inline-flex; align-items: center; gap: .6em; font-size: .875rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--base-3); margin: 0 0 1rem; }
*/


.st-eyebrow::before{ content: attr(data-suit); color: var(--accent); letter-spacing: 0; }

/* build.py cycles ♣ ♥ ♠ ♦ in page order */
/* Moved to editable GenerateBlocks settings — page 9078
.st-section{ position: relative; }
*/


.st-section:last-of-type{ padding-bottom: 4rem; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-head{ max-width: 54rem; margin: 0 auto 3rem; text-align: center; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-head .st-eyebrow{ justify-content: center; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-head h2{ margin: 0 0 1.25rem; }
*/

/* size comes from the site's h2 */
/* Moved to editable GenerateBlocks settings — page 9078
.st-head p{ font-size: 1.2rem; margin: 0; }
*/

/* .gbp-section__text */
/* Moved to editable GenerateBlocks settings — page 9078
.st-rule{ display: flex; align-items: center; gap: 1rem; color: var(--accent); max-width: var(--gb-container-width, 1200px); margin: 3rem auto 0; padding-inline: 2rem; }
*/


.st-rule::before,
.st-rule::after{ content: ""; flex: 1; height: 2px; background: var(--contrast-2); }


/* Moved to editable GenerateBlocks settings — page 9078
.st-rule .st-logo-chip{ width: 34px; height: 34px; flex: none; }
*/

/* the card and panel primitives, for components the site doesn't have */
.st-venue,
.st-region-card{
  background: var(--contrast); border: 2px solid var(--contrast-2); border-radius: var(--st-card-radius);
  transition: border-color .2s ease-in-out; }
/* Moved to editable GenerateBlocks settings — page 9078
.st-venue-type,
.st-size{
  background: var(--contrast); border: 2px solid var(--contrast-2); border-radius: var(--st-card-radius);
  transition: border-color .2s ease-in-out; }
*/


.st-final{
  background: var(--st-panel-bg); border: 2px solid var(--contrast-2); border-radius: var(--st-panel-radius); }
/* Moved to editable GenerateBlocks settings — page 9078
.st-maproom__stage,
.st-story,
.st-pass{
  background: var(--st-panel-bg); border: 2px solid var(--contrast-2); border-radius: var(--st-panel-radius); }
*/

/* .gold-border (site class) replaces the solid border with the gradient frame; keep its radius */
.st-final.gold-border{ border-radius: var(--st-panel-radius); }
/* Moved to editable GenerateBlocks settings — page 9078
.st-pass.gold-border,
.st-story.gold-border{ border-radius: var(--st-panel-radius); }
*/

/* ---------- A. hero: the site's .hero, with the state as the image ----------
   Markup: .hero.st-hero > [art layer] + .hero__overlay > .hero__content. The art sits where .hero__bg
   would; the site's overlay gradient keeps the copy side dark. */
/* Moved to editable GenerateBlocks settings — page 9078
.st-hero{ background-color: var(--contrast); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero .hero__content{ position: relative; z-index: 2; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero .hero__title mark{ white-space: normal; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__sub{ font-size: 1.2rem; line-height: 1.6; margin: 0 0 1.5rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__price{ margin: 0 0 1.75rem; color: var(--st-ink-dim); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__price strong{ color: var(--base-3); font-weight: 600; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__ctas{ display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__facts{ display: flex; flex-wrap: wrap; margin: 2.5rem 0 0; padding: 1.25rem 0 0; list-style: none; border-top: 2px solid var(--contrast-2); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__facts li{ font-size: .875rem; color: var(--st-ink-dim); padding-right: 1.25rem; margin: 0 1.25rem 0 0; border-right: 2px solid var(--contrast-2); }
*/


.st-hero__facts li:last-child{ border: 0; margin: 0; padding: 0; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__facts strong{ display: block; color: var(--base-3); font-weight: 700; font-size: 1rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-crumbs{ padding-top: 1rem !important; }
*/

/* the art layer. Desktop: the box is the open column right of the text (the 38rem content box less its 4rem padding,
   plus a 3rem gap), clear of the header above and the panel edge below. The SVG keeps its default
   preserveAspectRatio (xMidYMid meet), so every state, tall or wide, is scaled to fit and centered in that column. */
.st-hero__art{ position: absolute; z-index: 0; left: 37rem; right: 3%; top: 12%; bottom: 9%; pointer-events: none; }


.st-hero__art .state-hero{ position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }



.st-hero:has(.st-hero__art--wide) .hero__content,
.st-hero:has(.st-hero__art--xwide) .hero__content{ text-shadow: 0 1px 14px rgba(11,11,11,.95), 0 0 2px rgba(11,11,11,.8); }


.state-hero__land{ fill: var(--contrast); }


.state-hero__photo{ filter: grayscale(.15) brightness(.8) contrast(1.05) sepia(.12); opacity: .92; }


.state-hero__outline{ fill: none; stroke: var(--accent); stroke-width: 2.5px; stroke-linejoin: round; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 5px rgba(211,175,55,.45)); }


@media (max-width: 1100px) {

.st-hero__art .state-hero{ -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.35), #000 60%); mask-image: linear-gradient(90deg, rgba(0,0,0,.35), #000 60%); }


/* tablet: the text column fills over half the hero, so the art runs under the text and fades in from the left (mask above) */
.st-hero__art{ left: auto; }


.st-hero__art--tall,
.st-hero__art--square{ width: 62%; right: -6%; top: 4%; bottom: 4%; }


/* square states fill the box's width, so pull the box inside the panel or their east edge is cut off */
.st-hero__art--square{ right: 1%; }


/* wide and extra-wide states stay inside the panel and are centered top to bottom, not pinned under the facts row */
.st-hero__art--wide,
.st-hero__art--xwide{ width: 58%; right: 2%; top: 4%; bottom: 4%; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero .hero__content{ text-shadow: 0 1px 14px rgba(11,11,11,.95), 0 0 2px rgba(11,11,11,.8); }
*/


.state-hero__photo{ opacity: .65; }


.state-hero__outline{ stroke-width: 2.75px; }

}
@media (max-width: 600px) {

.st-hero__art--tall,
.st-hero__art--square{ width: 92%; right: -22%; }


.st-hero__art--wide{ width: 120%; right: -14%; top: auto; height: 34%; bottom: 4%; }


.st-hero__art--xwide{ width: 130%; right: -18%; top: auto; height: 24%; bottom: 5%; }


.state-hero__photo{ opacity: .58; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__facts{ display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.25rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__facts li{ border: 0; margin: 0; padding: 0; }
*/

}
/* ---------- map SVG styling (main map and metro inset) ---------- */
.state-map__svg{ display: block; width: 100%; height: auto; overflow: visible; }


.state-map__svg--metro{ overflow: hidden; }


.state-map__land{ fill: var(--contrast); }


.state-map__glow{ pointer-events: none; }


.state-map__counties path{ fill: none; stroke: rgba(255,255,255,.07); stroke-width: .6; }


.state-map__outline{ fill: none; stroke: var(--accent); stroke-width: 1.4; stroke-linejoin: round; }


.state-map__inset-frame{ fill: rgba(211,175,55,.05); stroke: var(--accent); stroke-width: 1; stroke-dasharray: 2 3; }


.state-map__place{ /*cursor: pointer;*/ outline: none; transition: opacity .2s; }


.state-map__label{ fill: var(--contrast-3); font-size: 12px; font-weight: 400; paint-order: stroke; stroke: #0b0b0b; stroke-width: 3px; pointer-events: none; }


.state-map__svg--metro .state-map__label{ font-size: 13px; }


.state-map__mark--major circle{ fill: #0b0b0b; stroke: var(--contrast-3); stroke-width: 1.3; transition: stroke .2s; }


.state-map__mark--hosted use,
.state-map__mark--page use{ filter: drop-shadow(0 0 3px rgba(211,175,55,.55)); transform-box: fill-box; transform-origin: center; transition: transform .2s; }


.state-map__place.is-hosted .state-map__label{ fill: var(--base-3); font-weight: 500; }


.state-map__place.is-page .state-map__label{ fill: var(--accent); font-weight: 700; }


a.state-map__place:hover use,
a.state-map__place:focus-visible use,
.state-map__place.is-hosted:focus-visible use{ transform: scale(1.25); }


.state-map__mark--hq > circle:first-child{ fill: var(--accent); }


.state-map__mark--hq .state-map__hq-ring{ fill: none; stroke: #0b0b0b; stroke-width: 1.4; stroke-dasharray: 2 2; }


.state-map__hq-core{ fill: #0b0b0b; }


.state-map__mark--capital polygon{ fill: var(--accent); stroke: #0b0b0b; stroke-width: 1.2; stroke-linejoin: round; }


.state-map__place.is-capital .state-map__label{ fill: var(--base-3); font-weight: 700; }

/* region highlight: data-active on the map room dims every other region */
.st-maproom[data-active] .state-map__place{ opacity: .22; }


.st-maproom[data-active] .state-map__place.is-hq,
.st-maproom[data-active] .state-map__place.is-capital,
.st-maproom[data-active="chicago"]  .state-map__place[data-region="chicago"],
.st-maproom[data-active="nw"]       .state-map__place[data-region="nw"],
.st-maproom[data-active="west"]     .state-map__place[data-region="west"],
.st-maproom[data-active="north"]    .state-map__place[data-region="north"],
.st-maproom[data-active="south"]    .state-map__place[data-region="south"],
.st-maproom[data-active="northern"] .state-map__place[data-region="northern"],
.st-maproom[data-active="central"]  .state-map__place[data-region="central"],
.st-maproom[data-active="quad"]     .state-map__place[data-region="quad"]{ opacity: 1; }
/* any state: the script marks the active region's places with .is-lit (the per-region rules above are Illinois's originals) */
.st-maproom[data-active] .state-map__place.is-lit{ opacity: 1; }


.st-maproom[data-active="chicago"]  .is-major[data-region="chicago"] circle,
.st-maproom[data-active="nw"]       .is-major[data-region="nw"] circle,
.st-maproom[data-active="west"]     .is-major[data-region="west"] circle,
.st-maproom[data-active="north"]    .is-major[data-region="north"] circle,
.st-maproom[data-active="south"]    .is-major[data-region="south"] circle,
.st-maproom[data-active="northern"] .is-major[data-region="northern"] circle,
.st-maproom[data-active="central"]  .is-major[data-region="central"] circle,
.st-maproom[data-active="quad"]     .is-major[data-region="quad"] circle{ stroke: var(--accent); }
.st-maproom[data-active] .is-major.is-lit circle{ stroke: var(--accent); }

/* ---------- the logo chip ----------
   assets/chip-blank.svg is the logo with its lettering removed; content must fit inside its inner ring (70%). */
.st-final__chips{
  background: url(chip-blank.svg) center / contain no-repeat; border-radius: 50%; }
/* Moved to editable GenerateBlocks settings — page 9078
.st-logo-chip,
.st-chip__token,
.st-step__node,
.st-pass__seal{
  background: url(chip-blank.svg) center / contain no-repeat; border-radius: 50%; }
*/

/* ---------- B. proof chips ---------- */
/* Moved to editable GenerateBlocks settings — page 9078
.st-chips__row{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-chip{ text-align: center; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-chip__token{ position: relative; width: 132px; aspect-ratio: 1; margin: 0 auto 1rem; display: grid; place-items: center; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
*/


.st-chip:hover .st-chip__token{ transform: rotate(18deg); }


.st-chip__value{ position: relative; z-index: 1; max-width: 66%; text-align: center; font-size: 1.75rem; font-weight: 700; color: var(--accent); line-height: 1; }


.st-chip__value small{ display: block; font-size: .625rem; letter-spacing: .2em; color: var(--st-ink-dim); font-weight: 500; margin-top: .3rem; text-transform: uppercase; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-chip__label{ max-width: 13rem; margin: 0 auto; line-height: 1.45; }
*/

@media (max-width: 800px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-chips__row{ grid-template-columns: repeat(2, 1fr); row-gap: 2.25rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-chip__token{ width: 112px; }
*/
 }
/* ---------- C. home base ---------- */
/* Moved to editable GenerateBlocks settings — page 9078
.st-base__grid{ display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-pass{ position: relative; padding: 2rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-pass__label{ font-size: .875rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; margin: 0 0 1.25rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-pass__addr{ font-size: 1.75rem; line-height: 1.2; font-weight: 700; margin: 0 0 1.25rem; font-style: normal; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-pass__addr span{ color: var(--st-ink-dim); font-weight: 400; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-pass__rows{ margin: 0; padding: 1.25rem 0 0; border-top: 2px solid var(--contrast-2); display: grid; gap: .75rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-pass__rows div{ display: flex; justify-content: space-between; gap: 1rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-pass__rows dt{ color: var(--st-ink-dim); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-pass__rows dd{ margin: 0; text-align: right; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-pass__seal{ position: absolute; top: -30px; right: 22px; width: 68px; height: 68px; display: grid; place-items: center; }
*/


.st-pass__seal::after{ content: "HQ"; font-size: .75rem; font-weight: 700; letter-spacing: .1em; color: var(--accent); }


/* Moved to editable GenerateBlocks settings — page 9078
.st-base__copy h2{ margin: 0 0 1.25rem; }
*/

@media (max-width: 860px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-base__grid{ grid-template-columns: 1fr; }
*/
 }
/* ---------- D. map room ---------- */
/* Moved to editable GenerateBlocks settings — page 9078
.st-maproom__grid{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); align-items: start; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-maproom__stage{ position: sticky; top: 1.5rem; padding: 1.5rem; }
*/

/* tabs: the site's GB tabs look (current = gold underline, others at half opacity) */
/* Moved to editable GenerateBlocks settings — page 9078
.st-maptabs{ display: flex; gap: 1.5rem; margin-bottom: 1rem; padding-bottom: .75rem; border-bottom: 2px solid var(--contrast-2); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-maptabs button{ font: inherit; background: none; color: var(--base-3); border: 0; padding: 0; cursor: pointer; transition: opacity .2s ease; }
*/


.st-maptabs button[aria-selected="false"]:not(:hover){ opacity: .5; }


.st-maptabs button[aria-selected="true"]{ text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: .25em; text-decoration-thickness: 2px; }


.st-maproom__view[hidden]{ display: none; }


.st-maproom__view .state-map__svg{ width: auto; max-width: 100%; max-height: calc(100vh - 11rem); margin-inline: auto; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-legend{ display: flex; flex-wrap: wrap; gap: 1.1rem; margin-top: 1rem; font-size: .875rem; color: var(--st-ink-dim); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-legend span{ display: inline-flex; align-items: center; gap: .45rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-legend i{ display: inline-block; width: 11px; height: 11px; border-radius: 50%; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-legend .l-hq{ background: var(--accent); box-shadow: 0 0 0 2px #0b0b0b inset; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-legend .l-hosted{ width: 15px; height: 15px; background: url(chip-blank.svg) center / contain no-repeat; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-legend .l-major{ width: 8px; height: 8px; background: #0b0b0b; border: 1.3px solid var(--contrast-3); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-legend .l-page{ width: auto; height: auto; border-radius: 0; font-style: normal; color: var(--accent); font-weight: 700; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-legend .l-capital{ width: 13px; height: 13px; border-radius: 0; background: var(--accent); clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-regions{ list-style: none; margin: 0; padding: 0; counter-reset: region; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-region{ counter-increment: region; position: relative; display: grid; grid-template-columns: 3rem 1fr; gap: 0 1rem; padding: 1.25rem .5rem 1.25rem 0; border-bottom: 2px solid var(--contrast-2); cursor: default; transition: border-color .2s ease-in-out; }
*/


.st-region::before{ content: counter(region, decimal-leading-zero); grid-row: span 3; font-weight: 700; color: var(--accent); padding-top: .2rem; text-align: right; }


.st-region:hover,
.st-region:focus-within{ border-bottom-color: var(--accent); }
/* Moved to editable GenerateBlocks settings — page 9078
.st-region.is-active{ border-bottom-color: var(--accent); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-region__name{ margin: 0; font-size: 1.25rem; font-weight: 700; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
*/


.st-region__drive{ font-size: .875rem; font-weight: 400; color: var(--st-ink-dim); }


/* Moved to editable GenerateBlocks settings — page 9078
.st-region__towns{ margin: .4rem 0 0; color: var(--st-ink-dim); line-height: 1.6; }
*/


.st-region__cta{ margin-top: .6rem; font-size: .875rem; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-maproom .st-region .st-region__cta a{ color: var(--base-3); text-decoration: underline; text-decoration-color: var(--accent); }
*/


.st-maproom .st-region .st-region__cta a:hover{ color: var(--accent); }


.st-region__cta span{ color: var(--st-ink-dim); }

@media (max-width: 960px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-maproom__grid{ grid-template-columns: 1fr; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-maproom__stage{ position: relative; top: 0; }
*/
 }
/* ---------- how it works: timeline ---------- */
/* Moved to editable GenerateBlocks settings — page 9078
.st-timeline{ list-style: none; margin: 0 0 3rem; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); position: relative; counter-reset: step; }
*/


.st-timeline::before{ content: ""; position: absolute; top: 29px; left: 8%; right: 8%; height: 2px; background: var(--contrast-2); }


/* Moved to editable GenerateBlocks settings — page 9078
.st-step{ position: relative; text-align: center; padding: 0 .6rem; counter-increment: step; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-step__node{ width: 60px; height: 60px; margin: 0 auto 1rem; display: grid; place-items: center; position: relative; }
*/


.st-step__node::after{ content: counter(step); font-weight: 700; color: var(--accent); font-size: 1.05rem; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-step h3{ font-size: 1rem; font-weight: 700; margin: 0 0 .4rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-step p{ font-size: .875rem; color: var(--st-ink-dim); margin: 0; line-height: 1.5; }
*/

@media (max-width: 960px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-timeline{ grid-template-columns: 1fr; gap: 1.5rem; }
*/


.st-timeline::before{ top: 0; bottom: 0; left: 29px; right: auto; width: 2px; height: auto; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-step{ display: grid; grid-template-columns: 60px 1fr; gap: 0 1.1rem; text-align: left; padding: 0; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-step__node{ margin: 0; grid-row: span 2; }
*/

}
/* ---------- cards: first time, venue logistics ---------- */
/* Moved to editable GenerateBlocks settings — page 9078
.st-cards-3{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-venues-2col{ display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-section .st-venues-2col{ margin-top: 3rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-venue-type{ padding: 1.5rem; }
*/


.st-venue-type:hover{ border-color: var(--accent); }


/* Moved to editable GenerateBlocks settings — page 9078
.st-venue-type h3{ margin: 0 0 .75rem; font-size: 1.25rem; font-weight: 700; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-venue-type p{ margin: 0; line-height: 1.6; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-venue-type .wp-block-list{ margin: 0; }
*/

@media (max-width: 860px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-cards-3,
.st-venues-2col{ grid-template-columns: 1fr; }
*/
 }
/* ---------- top venues: linked marquee ---------- */
.st-marquee__track[data-looping]{ animation: st-scroll 45s linear infinite; }


.st-marquee:hover .st-marquee__track,
.st-marquee:focus-within .st-marquee__track,
.st-marquee.is-paused .st-marquee__track{ animation-play-state: paused; }


.st-marquee__track li::marker{ content: none; }


@keyframes st-scroll { to { transform: translateX(calc(-50% - .5rem)); } }

@media (prefers-reduced-motion: reduce) {

.st-marquee{ mask-image: none; }


.st-marquee__track{ flex-wrap: wrap; justify-content: center; width: auto; animation: none !important; }


.st-marquee__toggle{ display: none; }

}
/* ---------- closing CTA ---------- */
.st-final{ position: relative; padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 5vw, 4rem); text-align: center; overflow: hidden; }


.st-final h2{ margin: 0 0 1.5rem; }


.st-final__chips{ position: absolute; width: 180px; aspect-ratio: 1; opacity: .22; }


.st-final__chips--a{ top: -60px; left: -50px; }


.st-final__chips--b{ bottom: -70px; right: -40px; width: 220px; }


@media (prefers-reduced-motion: reduce) {

.st-chip__token{ transition: none; }
 }
/* ---------- the offer: package cards (the site's .page-card, without the photo) ---------- */
/* Moved to editable GenerateBlocks settings — page 9078
.st-sizes{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-bottom: 2rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-section .st-sizes a.st-size{ color: var(--base-3); text-decoration: none; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size{ position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 1.5rem; }
*/


.st-size:hover,
.st-size:focus-visible{ border-color: var(--accent); }


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__name{ font-size: .875rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; margin-bottom: .75rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__guests{ font-size: 2.1875rem; font-weight: 700; line-height: 1; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__unit{ color: var(--st-ink-dim); margin: .35rem 0 1.25rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__spec{ color: var(--st-ink-dim); padding-top: 1rem; border-top: 2px solid var(--contrast-2); width: 100%; }
*/


.st-size__price{ margin-top: auto; padding-top: 1rem; font-weight: 700; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-offer__alt{ margin: 0 0 .5rem; text-align: center; }
*/

@media (max-width: 860px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-sizes{ grid-template-columns: 1fr 1fr; }
*/
 }
@media (max-width: 520px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-sizes{ gap: .75rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size{ padding: 1rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__name{ font-size: .6875rem; letter-spacing: .12em; margin-bottom: .4rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__guests{ font-size: 1.5rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__unit{ margin: .25rem 0 .75rem; font-size: .875rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__spec{ padding-top: .6rem; font-size: .875rem; }
*/


.st-size__price{ padding-top: .5rem; font-size: .875rem; }

}
/* ---------- stories: nights we've run ---------- */
/* Moved to editable GenerateBlocks settings — page 9078
.st-stories__grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story{ overflow: hidden; display: flex; flex-direction: column; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story--feature{ grid-column: 1 / -1; display: grid; grid-template-columns: 1.1fr 1fr; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story__photo{ min-height: 280px; background: var(--contrast-2); display: grid; place-items: center; color: var(--st-ink-dim); font-size: .875rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story__body{ padding: 2rem; display: flex; flex-direction: column; gap: 1rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story--feature .st-story__body{ justify-content: center; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story__meta{ margin: 0; font-size: .875rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
*/


.st-story__meta::before{ content: "♣ "; color: var(--accent); letter-spacing: 0; }


.st-story:nth-child(4n+2) .st-story__meta::before{ content: "♥ "; }


.st-story:nth-child(4n+3) .st-story__meta::before{ content: "♠ "; }


.st-story:nth-child(4n+4) .st-story__meta::before{ content: "♦ "; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-story__title{ margin: 0; font-size: 1.25rem; font-weight: 700; line-height: 1.25; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story--feature .st-story__title{ font-size: 1.75rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story > .st-story__body > p{ margin: 0; line-height: 1.6; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story .wp-block-quote{ margin: 0; padding: 0; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story .testimonial__quote{ font-size: 1rem; margin-bottom: .5rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story .testimonial__footer{ color: var(--st-ink-dim); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story__facts{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: auto 0 0; padding-top: 1rem; border-top: 2px solid var(--contrast-2); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story__facts dt{ font-size: .75rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--st-ink-dim); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story__facts dd{ margin: .2rem 0 0; font-size: 1.25rem; font-weight: 700; }
*/

@media (max-width: 860px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-stories__grid,
.st-story--feature{ grid-template-columns: 1fr; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story__photo{ min-height: 200px; }
*/

}
/* ---------- logistics quotes (shared on every state page): the site's .testimonial__slide ---------- */
/* Moved to editable GenerateBlocks settings — page 9078
.st-quotes{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-top: 1rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-quote{ margin: 0; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-quote .testimonial__quote{ font-size: 1rem; }
*/

@media (max-width: 860px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-quotes{ grid-template-columns: 1fr; }
*/
 }
/* facts: three even columns inside the site's 38rem hero content box */
/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__facts{ display: grid; grid-template-columns: repeat(3, auto); justify-content: start; }
*/

@media (max-width: 600px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__facts{ grid-template-columns: 1fr 1fr; }
*/
 }

/* Moved to editable GenerateBlocks settings — page 9078
.st-head .gbp-section__text{ margin-bottom: 0; }
*/

@media (max-width: 767px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__sub,
.st-head p{ font-size: 1rem; }
*/
 }

/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__facts{ grid-template-columns: repeat(3, max-content); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__facts li{ padding-right: 1rem; margin-right: 1rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__facts strong{ font-size: .9375rem; }
*/

@media (max-width: 600px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__facts{ grid-template-columns: 1fr 1fr; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-hero__facts li{ padding: 0; margin: 0; }
*/
 }
/* package cards: table range + suggested mix (no prices in this section) */
/* Moved to editable GenerateBlocks settings — page 9078
.st-size__spec{ color: var(--base-3); font-weight: 700; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__mixlabel{ margin-top: 1rem; font-size: .75rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--st-ink-dim); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__mix{ margin: .5rem 0 0; padding-left: 1.25em; font-size: .9375rem; line-height: 1.5; width: 100%; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__mix li{ margin: .15em 0; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__mix span{ color: var(--st-ink-dim); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-offer__lead{ font-size: 1.2rem; font-weight: 700; margin-bottom: .75rem; }
*/

@media (max-width: 520px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-size__mix{ font-size: .8125rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__mixlabel{ font-size: .625rem; letter-spacing: .12em; }
*/
 }
/* ---------- less box, more pattern (2026-09-29) ----------
   The site's suit pattern sits fixed behind the page. Cards use the site's see-through testimonial fill so it shows
   through; blocks that don't need a box (first-time answers, venue logistics, the map) lose theirs. */
.st-venue,
.st-final{
  background-color: var(--st-panel-bg); -webkit-backdrop-filter: blur(.25rem); backdrop-filter: blur(.25rem); }
/* Moved to editable GenerateBlocks settings — page 9078
.st-size,
.st-maproom__stage,
.st-story,
.st-pass{
  background-color: var(--st-panel-bg); -webkit-backdrop-filter: blur(.25rem); backdrop-filter: blur(.25rem); }
*/

/* open blocks: a large gold suit, heading, text. No border, no fill. */
/* Moved to editable GenerateBlocks settings — page 9078
.st-venue-type{ background: none; border: 0; border-radius: 0; padding: 0; }
*/


.st-venue-type h3::before{ display: block; font-size: 2rem; line-height: 1; color: var(--accent); margin-bottom: .75rem; content: "♣"; }


.st-venue-type:nth-child(4n+2) h3::before{ content: "♥"; }


.st-venue-type:nth-child(4n+3) h3::before{ content: "♠"; }


.st-venue-type:nth-child(4n+4) h3::before{ content: "♦"; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-cards-3{ gap: 2.5rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-cards-3 .st-venue-type{ text-align: center; }
*/

/* the map sits straight on the pattern */
/* Moved to editable GenerateBlocks settings — page 9078
.st-maproom__stage{ background: none; -webkit-backdrop-filter: none; backdrop-filter: none; border: 0; padding: 0; }
*/

/* package photo: the package page's own image, faded into the card like the site's .page-card */
/* Moved to editable GenerateBlocks settings — page 9078
.st-size{ overflow: hidden; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__img{ display: block; margin: -1.5rem -1.5rem 1.25rem; width: calc(100% + 3rem); aspect-ratio: 16 / 9;
  background: linear-gradient(0deg, rgba(10,10,10,.95) 0%, rgba(10,10,10,0) 60%), var(--img) center / cover no-repeat; }
*/

@media (max-width: 520px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-size__img{ margin: -1rem -1rem 1rem; width: calc(100% + 2rem); }
*/
 }
/* ---------- breathing room (2026-09-29): the page read as crowded ----------
   Sections sat 48px apart and every head stacked label + heading + intro at full weight. */
.entry-content > section:not(.st-hero){ padding-top: 3rem; }

/* on top of .section__inner's 3rem: ~96px between sections */
.entry-content > section.st-chips{ padding-top: 1rem; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-head{ max-width: 46rem; margin-bottom: 3.5rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-head p{ max-width: 40rem; margin-inline: auto; color: var(--st-ink-dim); }
*/

/* labels step back so the heading leads */
/* Moved to editable GenerateBlocks settings — page 9078
.st-eyebrow{ font-size: .75rem; letter-spacing: .24em; color: var(--st-ink-dim); margin-bottom: .75rem; }
*/


.st-eyebrow::before{ font-size: .875rem; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-cards-3,
.st-venues-2col{ gap: 3rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-cards-3 .st-venue-type p{ color: var(--st-ink-dim); }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-sizes,
.st-stories__grid,
.st-quotes{ gap: 2rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-offer__lead{ margin-top: 2.5rem; }
*/

@media (max-width: 767px) {

.entry-content > section:not(.st-hero){ padding-top: 1.5rem; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-head{ margin-bottom: 2.5rem; }
*/

}

.st-story__photo[style*="--img"]{ background: linear-gradient(90deg, rgba(10,10,10,0) 70%, rgba(10,10,10,.6) 100%), var(--img) center / cover no-repeat; }

@media (max-width: 860px) {

.st-story__photo[style*="--img"]{ background: linear-gradient(0deg, rgba(10,10,10,.6) 0%, rgba(10,10,10,0) 30%), var(--img) center / cover no-repeat; }
 }
/* story facts: guest count + the games the review names */
/* Moved to editable GenerateBlocks settings — page 9078
.st-story__facts{ grid-template-columns: auto 1fr; gap: 1.5rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-story__facts dd{ font-size: 1rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-quotes__lead{ text-align: center; font-size: 1.2rem; font-weight: 700; margin: 0 auto 2rem; max-width: 40rem; }
*/


.entry-content > section.st-logistics{ padding-top: 0; }

/* hero title: the highlighted phrase in solid gold on its own line (the site's default <mark> is a gold underline) */
/* Moved to editable GenerateBlocks settings — page 9078
.st-hero h1.hero__title mark,
.st-hero h1.hero__title mark.has-accent-color{ display: block; color: var(--accent) !important; text-decoration: none; }
*/

/* map room: a compact region list that fits beside the map instead of scrolling past it */
/* Moved to editable GenerateBlocks settings — page 9078
.st-region{ grid-template-columns: 2.25rem 1fr; padding: .7rem .25rem .7rem 0; }
*/


.st-region::before{ font-size: .875rem; padding-top: .15rem; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-region__name{ font-size: 1.0625rem; }
*/


.st-region__drive{ font-size: .8125rem; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-region__towns{ margin-top: .2rem; font-size: .875rem; line-height: 1.45; }
*/


.st-region__cta{ margin-top: .25rem; font-size: .8125rem; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-maproom__grid{ align-items: center; }
*/


.st-region__cta{ display: inline; margin: 0 0 0 .35em; white-space: nowrap; }

/* map markers: hosted cities are gold suits (2026-09-29; no major cities, no capital star) */
.state-map__mark--hosted use,
.state-map__mark--page use{ fill: var(--accent); stroke: #0b0b0b; stroke-width: 1.2px; paint-order: stroke; filter: drop-shadow(0 0 3px rgba(0,0,0,.8)); }


.state-map__mark--page use{ filter: drop-shadow(0 0 4px rgba(211,175,55,.6)); }


/* Moved to editable GenerateBlocks settings — page 9078
.st-legend .l-suits{ width: auto; height: auto; border-radius: 0; font-style: normal; color: var(--accent); letter-spacing: .1em; }
*/

/* reviews head: text left, a smiling dealer right (production heading and intro, left-aligned); the carousel stays full width below */
/* Moved to editable GenerateBlocks settings — page 9078
.st-split{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 3rem; align-items: center; margin-bottom: 3rem; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-split__text .gbp-section__headline,
.st-split__text .gbp-section__text{ text-align: left; margin-left: 0; margin-right: 0; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-split__text .gbp-section__text{ margin-bottom: 0; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-split__img{ margin: 0; border: 2px solid var(--contrast-2); border-radius: var(--st-panel-radius); overflow: hidden; aspect-ratio: 4 / 3; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-split__img img{ display: block; width: 100%; height: 100%; object-fit: cover; object-position: 30% 35%; }
*/

@media (max-width: 860px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-split{ grid-template-columns: 1fr; gap: 1.75rem; margin-bottom: 2rem; }
*/
 }
/* package cards: "Most booked" badge on the package that fits the most of this state's events (from Quoter) */
/* Moved to editable GenerateBlocks settings — page 9078
.st-size{ position: relative; }
*/


/* Moved to editable GenerateBlocks settings — page 9078
.st-size__badge{ position: absolute; top: .75rem; left: .75rem; z-index: 1; padding: .3rem .6rem; border-radius: 4px; background: var(--accent); color: #0b0b0b; font-size: .6875rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; line-height: 1; }
*/

/* proof chips (2026-09-29): one value size for all four, sized so the longest ("1,300+") clears the inner ring;
   slightly larger tokens; a lighter "in" in ratios; tighter small tags; labels of equal length on two lines */
/* Moved to editable GenerateBlocks settings — page 9078
.st-chip__token{ width: 148px; }
*/


.st-chip__value{ max-width: 72%; font-size: 1.5rem; white-space: nowrap; letter-spacing: -.01em; }


.st-chip__value .st-chip__in{ font-size: .62em; font-weight: 500; color: var(--base-3); margin: 0 .12em; vertical-align: .12em; }


.st-chip__value small{ font-size: .5625rem; letter-spacing: .16em; margin-top: .35rem; }


/* Moved to editable GenerateBlocks settings — page 9078
.st-chip__label{ max-width: 14.5rem; }
*/

@media (max-width: 800px) {

/* Moved to editable GenerateBlocks settings — page 9078
.st-chip__token{ width: 128px; }
*/


.st-chip__value{ font-size: 1.3125rem; }
 }
/* line wrapping (2026-09-30): no stranded words, no highlight split mid-phrase.
   Body copy avoids a lone last word; headings, labels, and captions break into even lines; a heading's
   highlighted closing phrase stays whole and drops to the next line as a unit when it doesn't fit
   (so a second sentence starts its own line). .st-flow opts a heading out when the highlight is most of the line. */
.state-page .entry-content :is(p, li, dd, .page-card__excerpt){ text-wrap: pretty; }


.state-page .entry-content :is(h1, h2, h3, .st-eyebrow, .st-story__meta, .st-chip__label, .st-quotes__lead, .st-region__name){ text-wrap: balance; }


.state-page .entry-content :is(h2, h3, .st-quotes__lead) mark{ display: inline-block; }


.state-page .entry-content .st-flow mark{ display: inline; }

