/* state-season.css — Festiva 2026-fall state-page body (SPEC.md). Mast + bottom bar stay in state-chrome.css. PREVIEW. */
main.ss-shell { display: block; max-width: none; margin: 0; padding: 0 0 24px; background: #F3EEE3; color: #1A1510; }
.ss-hero { position: relative; height: 440px; overflow: hidden; background: #2b2118; }
.ss-hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ss-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 40%, rgba(30,20,10,.75)); }
.ss-hero-text { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; max-width: 1180px; margin: 0 auto; padding: 0 28px 30px; color: #fff; box-sizing: border-box; }
.ss-kicker { margin: 0; font: 600 13px "Liberation Sans", Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; opacity: .9; }
.ss-hero h1 { margin: 4px 0; font: 700 64px/1.05 Georgia, "Times New Roman", serif; color: #fff; }
.ss-line { margin: 0; font: 18px "Liberation Sans", Arial, sans-serif; opacity: .92; }
.ss-wrap { max-width: 1180px; margin: 0 auto; padding: 36px 28px; box-sizing: border-box; }
.ss-wrap h2 { margin: 0 0 4px; font: 700 30px Georgia, serif; }
.ss-sub { margin: 0 0 26px; font: 15px "Liberation Sans", Arial, sans-serif; color: #6b5a48; }
.ss-grid { display: grid; gap: 22px; }
.ss-grid-3 { grid-template-columns: repeat(3, 1fr); } .ss-grid-2 { grid-template-columns: repeat(2, 1fr); } .ss-grid-1 { grid-template-columns: minmax(0, 560px); }
a.ss-card { display: block; text-decoration: none; color: inherit; background: #fffaf0; border: 1px solid #e3d5bd; border-radius: 14px; overflow: hidden; box-shadow: 0 2px 8px rgba(60,40,20,.08); }
.ss-ph { position: relative; display: block; aspect-ratio: 16 / 9; background: #e3d5bd; }
.ss-ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ss-pill { position: absolute; left: 12px; top: 12px; background: #9C341F; color: #FBF7EE; font: 600 13px "Liberation Sans", Arial, sans-serif; padding: 5px 10px; border-radius: 999px; }
.ss-credit { position: absolute; right: 8px; bottom: 6px; max-width: 70%; font: 11px "Liberation Sans", Arial, sans-serif; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.8); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ss-box { display: block; padding: 14px 16px 16px; border-top: 6px solid var(--c); }
.ss-name { display: block; font: 700 24px Georgia, serif; }
.ss-towns { display: block; margin: 3px 0 10px; font: 14px "Liberation Sans", Arial, sans-serif; color: #6b5a48; }
.ss-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.ss-chips span { font: 600 12px "Liberation Sans", Arial, sans-serif; background: #f1e6d2; padding: 4px 9px; border-radius: 999px; }
.ss-go { font: 700 14px "Liberation Sans", Arial, sans-serif; color: var(--c); }
@media (max-width: 759px) {
  .ss-hero { height: 340px; } .ss-hero h1 { font-size: 44px; } .ss-hero-text { padding: 0 18px 22px; }
  .ss-wrap { padding: 24px 16px; } .ss-grid-3, .ss-grid-2, .ss-grid-1 { grid-template-columns: 1fr; }
}

.region-cross{margin:28px 0 8px;padding-top:18px;border-top:1px solid rgba(26,21,16,.14)}
.region-cross-h{font-family:"Fraunces",Georgia,serif;font-size:1.15rem;margin:0 0 12px;color:#1A1510}
.region-cross-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.region-cross-list a{color:#9C341F;text-decoration:underline;text-underline-offset:2px}
.region-cross-note{margin:12px 0 0;font-size:.95rem}
.region-cross-note a{color:#9C341F}
.region-cross .region-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.region-cross .region-card{display:block;padding:12px 14px;border:1px solid rgba(26,21,16,.18);background:#FBF7EE;color:inherit;text-decoration:none}
.region-cross .region-card.soon{opacity:.85}
.region-cross .rname{font-family:"Fraunces",Georgia,serif;font-weight:700}
.region-cross .rnote{display:block;font-size:.8rem;opacity:.7;margin-top:2px}
