/* Interstates Rodeo Association
   Brand colors live in :root. When the final logo arrives, change these few values and the whole site follows. */
:root {
  --teal: #0f6e75;
  --teal-d: #0a4a50;
  --teal-dd: #06292e;
  --teal-l: #d6ecee;
  --orange: #f28c28;
  --orange-d: #c96d0f;
  --cream: #f7f0e3;
  --sand: #eadfc9;
  --paper: #fffdf7;
  --ink: #10262a;
  --muted: #4d6469;
  --display: "Rockwell", "Rockwell Nova", "Roboto Slab", "Bookman Old Style", Georgia, serif;
  --label: "Oswald", "Bebas Neue", "Arial Narrow", "Franklin Gothic Medium", "Helvetica Neue", Arial, sans-serif;
  --body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --max: 1160px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; font: 17px/1.65 var(--body); color: var(--ink); background: var(--cream);
  background-image: radial-gradient(rgba(15,110,117,.07) 1px, transparent 1.5px);
  background-size: 22px 22px;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--teal); text-underline-offset: .18em; }
a:hover { color: var(--orange-d); }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 0; background: var(--orange); color: var(--teal-dd); padding: .6rem 1rem; z-index: 100; font-family: var(--label); }
.skip:focus { left: 0; }

/* ---------- type ---------- */
h1, h2, h3, h4 { font-family: var(--display); line-height: 1.12; margin: 0 0 .5em; color: var(--teal-dd); letter-spacing: -.01em; }
h1 { font-size: clamp(2.4rem, 6vw, 4.2rem); font-weight: 800; text-transform: uppercase; }
h2 { font-size: clamp(1.6rem, 3.4vw, 2.3rem); font-weight: 800; }
h3 { font-size: 1.3rem; font-weight: 700; }
h4 { font-size: 1.05rem; font-weight: 700; }
p { margin: 0 0 1em; }
em { font-style: normal; color: var(--orange-d); }
.kicker { font-family: var(--label); text-transform: uppercase; letter-spacing: .22em; font-size: .82rem; font-weight: 600; color: var(--orange-d); margin: 0 0 .6rem; }
.lead { font-size: 1.2rem; max-width: 46rem; color: var(--ink); }
.badge { display: inline-block; font-family: var(--label); text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; font-weight: 600; padding: .22em .7em; background: var(--teal); color: #fff; border-radius: 3px; }
.note { color: var(--muted); font-size: .95em; }
.empty { padding: 1.4rem; border: 2px dashed var(--teal); border-radius: 12px; background: rgba(255,253,247,.7); color: var(--muted); }

/* ---------- header ---------- */
.top { background: var(--teal-dd); color: #fff; position: sticky; top: 0; z-index: 50; }
.top-in { max-width: var(--max); margin: 0 auto; padding: .55rem 1.1rem; display: flex; align-items: center; gap: 1rem; }
.brand { display: flex; align-items: center; gap: .75rem; text-decoration: none; color: #fff; margin-right: auto; }
.brand img { height: 84px; width: auto; display: block; }
.brand-tx { font-family: var(--label); text-transform: uppercase; letter-spacing: .09em; font-size: .95rem; line-height: 1.1; }
.brand-tx b { display: block; font-size: 1.25rem; color: var(--orange); letter-spacing: .14em; }
.nav { display: flex; flex-wrap: wrap; gap: .1rem .15rem; justify-content: flex-end; }
.nav a { font-family: var(--label); text-transform: uppercase; letter-spacing: .1em; font-size: .86rem; font-weight: 500; color: #e7f3f4; text-decoration: none; padding: .55rem .7rem; border-bottom: 3px solid transparent; }
.nav a:hover { color: #fff; border-bottom-color: var(--orange); }
.nav a.on { color: var(--orange); border-bottom-color: var(--orange); }
.rope { height: 9px; background: repeating-linear-gradient(135deg, var(--orange) 0 7px, var(--teal-d) 7px 14px); }
.burger { display: none; background: none; border: 2px solid var(--orange); border-radius: 8px; padding: .5rem .55rem; cursor: pointer; }
.burger span { display: block; width: 24px; height: 3px; background: var(--orange); margin: 4px 0; border-radius: 2px; }

/* ---------- Navajo blanket band ---------- */
.blanket {
  height: 24px; background-color: var(--teal-d);
  background-image:
    linear-gradient(135deg, var(--orange) 25%, transparent 25%),
    linear-gradient(225deg, var(--orange) 25%, transparent 25%),
    linear-gradient(315deg, var(--cream) 25%, transparent 25%),
    linear-gradient(45deg, var(--cream) 25%, transparent 25%);
  background-size: 24px 24px; background-position: -12px 0, -12px 0, 0 0, 0 0;
}

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; gap: .55rem; font-family: var(--label); text-transform: uppercase; letter-spacing: .1em; font-weight: 600; font-size: .95rem; text-decoration: none; padding: .8em 1.6em; background: var(--teal); color: #fff; clip-path: polygon(7% 0, 100% 0, 93% 100%, 0 100%); border: 0; cursor: pointer; transition: transform .12s, background .12s; }
.btn:hover { background: var(--teal-d); color: #fff; transform: translateY(-2px); }
.btn-orange { background: var(--orange); color: var(--teal-dd); }
.btn-orange:hover { background: #ffa447; color: var(--teal-dd); }
.btn-ghost { background: rgba(6,41,46,.55); color: #fff; box-shadow: inset 0 0 0 2px var(--orange); }
.btn-ghost-dark { background: transparent; color: var(--teal-dd); box-shadow: inset 0 0 0 2px var(--teal-dd); }
.btn-ghost-dark:hover { background: var(--teal-dd); color: #fff; }
.btn-small { font-size: .82rem; padding: .6em 1.3em; }
.cta { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 1.2rem; }
.more { margin-top: 1.4rem; }
.arr { font-family: var(--body); }

/* ---------- layout ---------- */
.wrap { max-width: var(--max); margin: 0 auto; padding: 3rem 1.1rem; }
.page-head { background: linear-gradient(120deg, var(--teal-dd), var(--teal-d) 65%, var(--teal)); color: #fff; padding: 3.2rem 1.1rem 3rem; position: relative; overflow: hidden; }
.page-head::after { content: ""; position: absolute; right: -60px; top: -60px; width: 260px; height: 260px; border: 26px solid rgba(242,140,40,.28); border-radius: 50%; }
.page-head > * { position: relative; max-width: var(--max); margin-left: auto; margin-right: auto; z-index: 1; }
.page-head h1 { color: #fff; }
.page-head .lead { color: #e1f0f1; }
.page-head a { color: var(--orange); }
.page-head .kicker { color: var(--orange); }
.note-line { font-size: .95rem; color: var(--muted); margin-top: 2rem; }

/* ---------- hero ---------- */
.hero { position: relative; min-height: min(86vh, 760px); display: flex; align-items: flex-end; overflow: hidden; background: var(--teal-dd); }
.hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.1) brightness(.9); }
.hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(115deg, rgba(6,41,46,.96) 8%, rgba(15,110,117,.78) 55%, rgba(242,140,40,.55)); mix-blend-mode: multiply; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(6,41,46,.85), transparent 55%); }
.hero-in { position: relative; z-index: 2; max-width: var(--max); margin: 0 auto; width: 100%; padding: 6rem 1.1rem 4rem; color: #fff; }
.hero h1 { color: #fff; font-size: clamp(3.2rem, 11vw, 8.5rem); line-height: .92; margin: 0 0 .25em; text-shadow: 0 4px 0 rgba(6,41,46,.5); }
.hero h1 em { color: var(--orange); display: inline-block; position: relative; }
.hero h1 em::after { content: ""; position: absolute; left: 0; right: 0; bottom: .02em; height: .09em; background: var(--orange); transform: skewX(-18deg); }
.hero .kicker { color: var(--orange); font-size: .95rem; }
.hero .lead { color: #fff; font-size: 1.4rem; margin-bottom: .3em; }
.hero-contact { font-family: var(--label); letter-spacing: .1em; text-transform: uppercase; color: #cfe7e9; }

/* ---------- quick tiles ---------- */
.quick { padding-top: 2.2rem; padding-bottom: 1rem; }
.quick-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; }
.quick-tile { display: flex; flex-direction: column; gap: .6rem; align-items: flex-start; text-decoration: none; background: var(--paper); border: 2px solid var(--teal-dd); border-radius: 14px; padding: 1.1rem 1.2rem; font-family: var(--display); font-weight: 700; font-size: 1.1rem; color: var(--teal-dd); box-shadow: 5px 5px 0 var(--orange); transition: transform .12s, box-shadow .12s; }
.quick-tile:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 var(--orange); color: var(--teal-dd); }
.quick-tile .badge { background: var(--orange); color: var(--teal-dd); }

/* ---------- ticket cards ---------- */
.three { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.5rem; }
.ticket { position: relative; background: var(--paper); border: 2px solid var(--teal-dd); border-radius: 16px; padding: 1.6rem 1.5rem 1.4rem; }
.ticket::before, .ticket::after { content: ""; position: absolute; top: 50%; width: 22px; height: 22px; margin-top: -11px; background: var(--cream); border: 2px solid var(--teal-dd); border-radius: 50%; }
.ticket::before { left: -13px; clip-path: inset(0 0 0 50%); }
.ticket::after { right: -13px; clip-path: inset(0 50% 0 0); }
.ticket img { margin-bottom: .8rem; border-radius: 12px; background: var(--teal-l); padding: 6px; }
.ticket.wide { max-width: 760px; }

/* ---------- event ticket stubs (data) ---------- */
.ev-list { display: grid; gap: 1.2rem; }
.ev { position: relative; display: grid; grid-template-columns: 112px 1fr; background: var(--paper); border-radius: 16px; box-shadow: 0 2px 0 var(--teal-dd), 0 10px 24px rgba(6,41,46,.12); border: 2px solid var(--teal-dd); overflow: visible; }
.ev::before, .ev::after { content: ""; position: absolute; left: 100px; width: 24px; height: 24px; border-radius: 50%; background: var(--cream); border: 2px solid var(--teal-dd); z-index: 2; }
.ev::before { top: -14px; clip-path: inset(50% 0 0 0); }
.ev::after { bottom: -14px; clip-path: inset(0 0 50% 0); }
.ev-date { background: var(--orange); color: var(--teal-dd); border-radius: 13px 0 0 13px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 1rem .4rem; text-align: center; }
.ev-date .m { font-family: var(--label); letter-spacing: .22em; font-weight: 600; font-size: .95rem; }
.ev-date .d { font-family: var(--display); font-weight: 800; font-size: 3rem; line-height: 1; }
.ev-body { border-left: 3px dashed var(--teal-dd); padding: 1.1rem 1.4rem 1.2rem; }
.ev-body h3 { margin-bottom: .3em; font-size: 1.6rem; }
.ev-when { font-family: var(--label); text-transform: uppercase; letter-spacing: .1em; font-size: .85rem; margin: 0 0 .25rem; color: var(--teal); display: flex; flex-wrap: wrap; gap: .4rem .8rem; align-items: center; }
.assoc { background: var(--teal-l); color: var(--teal-dd); padding: .12em .6em; border-radius: 3px; }
.flag { background: #b3261e; color: #fff; padding: .12em .6em; border-radius: 3px; }
.ev-det { font-size: .98rem; color: #1e3a3f; }
.ev.is-cancelled { opacity: .72; }
.ev.is-cancelled .ev-date { background: #d9d2c3; }
.ev.is-cancelled h3 { text-decoration: line-through; }
.ev-list.compact .ev-det { display: none; }
.yr { margin: 2.2rem 0 .8rem; font-family: var(--label); text-transform: uppercase; letter-spacing: .18em; color: var(--orange-d); }
.ev-past { background: var(--paper); border: 2px solid var(--teal-dd); border-radius: 12px; margin-bottom: .6rem; }
.ev-past summary { cursor: pointer; padding: .8rem 1.1rem; display: flex; flex-wrap: wrap; gap: .3rem 1rem; align-items: baseline; list-style: none; }
.ev-past summary::-webkit-details-marker { display: none; }
.ev-past summary::before { content: "+"; font-family: var(--label); font-weight: 700; color: var(--orange-d); width: 1rem; }
.ev-past[open] summary::before { content: "\2212"; }
.ev-past .m { font-family: var(--label); letter-spacing: .12em; color: var(--teal); font-weight: 600; }
.ev-past small { color: var(--muted); }
.ev-past .ev-det { padding: 0 1.2rem 1rem 2.1rem; }

/* ---------- standings ---------- */
.season-pick { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: 1rem; font-family: var(--label); text-transform: uppercase; letter-spacing: .1em; font-size: .85rem; }
.season-pick a { padding: .3em .9em; border: 2px solid var(--teal-dd); border-radius: 999px; text-decoration: none; color: var(--teal-dd); background: var(--paper); }
.season-pick a.on { background: var(--teal-dd); color: #fff; }
.season-tag { font-family: var(--display); font-weight: 800; font-size: 1.6rem; color: var(--teal-dd); margin-bottom: .8rem; }
.std-search input { width: 100%; max-width: 420px; padding: .85rem 1.1rem; border: 2px solid var(--teal-dd); border-radius: 999px; font: inherit; background: var(--paper); margin-bottom: 1.4rem; }
.std-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 1.6rem; align-items: start; }
.std-card { background: var(--paper); border: 2px solid var(--teal-dd); border-radius: 14px; overflow: hidden; box-shadow: 6px 6px 0 var(--teal-l); }
.std-card h2 { margin: 0; padding: .8rem 1.1rem; background: var(--teal-dd); color: #fff; font-size: 1.25rem; text-transform: uppercase; letter-spacing: .04em; border-bottom: 5px solid var(--orange); }
.std-card table, .res-ev table { width: 100%; border-collapse: collapse; }
.std-card th, .res-ev th { font-family: var(--label); text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; text-align: left; color: var(--muted); padding: .55rem .9rem .3rem; }
.std-card td, .res-ev td { padding: .5rem .9rem; border-top: 1px solid rgba(6,41,46,.1); font-size: .98rem; }
.money { text-align: right !important; font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 600; }
.rk { width: 3rem; font-family: var(--display); font-weight: 800; color: var(--teal); }
.rk.r1 { color: var(--orange-d); }
.std-card tr.r1 td { background: #fff1de; }
.std-card tr.r2 td, .std-card tr.r3 td { background: #eef7f8; }
.std-card tr.hide { display: none; }
.std-card.hide { display: none; }

/* ---------- results, files, day sheets ---------- */
.res-season { margin: 2.4rem 0 1rem; padding-bottom: .4rem; border-bottom: 5px solid var(--orange); display: inline-block; }
.res { background: var(--paper); border: 2px solid var(--teal-dd); border-radius: 14px; padding: 1.2rem 1.3rem; margin-bottom: 1.3rem; }
.res header { display: flex; flex-wrap: wrap; gap: .3rem 1rem; align-items: baseline; margin-bottom: .6rem; }
.res h3 { margin: 0; }
.res-date { font-family: var(--label); letter-spacing: .1em; text-transform: uppercase; color: var(--teal); font-size: .85rem; }
.res-tables { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; margin: .8rem 0; }
.res-ev { border: 1px solid rgba(6,41,46,.18); border-radius: 10px; overflow: hidden; }
.res-ev h4 { margin: 0; padding: .45rem .9rem; background: var(--teal-l); }
.shots { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .8rem; margin: .8rem 0; }
.shots a { display: block; border: 2px solid var(--teal-dd); border-radius: 8px; overflow: hidden; background: #fff; }
.shots img { width: 100%; height: 170px; object-fit: cover; object-position: top; }
.files { list-style: none; margin: .6rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.filechip { display: inline-flex; gap: .5rem; align-items: center; padding: .45em 1em; border: 2px solid var(--teal-dd); border-radius: 999px; text-decoration: none; font-family: var(--label); text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; color: var(--teal-dd); background: #fff; }
.filechip:hover { background: var(--teal-dd); color: #fff; }
.filechip b { background: var(--orange); color: var(--teal-dd); padding: .05em .5em; border-radius: 3px; }
.res-notes { color: var(--muted); font-size: .95rem; margin: .6rem 0 0; overflow-wrap: anywhere; }
.ds-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.ds-row { display: grid; grid-template-columns: 9rem 1fr auto; gap: .4rem 1rem; align-items: center; background: var(--paper); border: 2px solid var(--teal-dd); border-radius: 12px; padding: .9rem 1.1rem; }
.ds-row time { font-family: var(--label); letter-spacing: .1em; text-transform: uppercase; color: var(--orange-d); font-weight: 600; }
.ds-row small { display: block; color: var(--muted); }
.ds-row .ft { background: var(--orange); color: var(--teal-dd); padding: 0 .5em; border-radius: 3px; margin-left: .3rem; }

/* ---------- bulletin ---------- */
.news-list { display: grid; gap: 1rem; }
.news { background: var(--paper); border: 2px solid var(--teal-dd); border-left: 12px solid var(--orange); border-radius: 12px; padding: 1rem 1.3rem; }
.news h3 { margin: .1em 0 .3em; }
.news h3 a { text-decoration: none; color: var(--teal-dd); }
.news h3 a:hover { color: var(--orange-d); }
.news-date { font-family: var(--label); letter-spacing: .12em; text-transform: uppercase; font-size: .8rem; color: var(--teal); }
.news p { margin: 0; color: #2c474c; }
.post { max-width: 820px; }
.post h1 { font-size: clamp(2rem, 5vw, 3rem); text-transform: none; }
.post-meta { color: var(--muted); font-family: var(--label); letter-spacing: .08em; text-transform: uppercase; font-size: .85rem; }
.post-img { margin: 1.4rem 0; border: 3px solid var(--teal-dd); border-radius: 10px; }

/* ---------- sponsors ---------- */
.sp-strip, .sp-grid { list-style: none; margin: 1rem 0 1.6rem; padding: 0; display: grid; gap: .8rem; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.sp-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1.1rem; }
.sp-strip a, .sp-grid a, .sp-strip .sp-i, .sp-grid .sp-i { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; height: 100%; background: #fff; border: 2px solid var(--teal-dd); border-radius: 12px; padding: .8rem; text-decoration: none; color: var(--teal-dd); font-family: var(--label); text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; text-align: center; }
.sp-strip img, .sp-grid img { max-height: 88px; width: auto; object-fit: contain; }
.sp-grid a:hover { border-color: var(--orange); box-shadow: 4px 4px 0 var(--orange); }
.sponsors-band { background: var(--paper); border-top: 5px solid var(--orange); border-bottom: 5px solid var(--teal-dd); max-width: none; padding-left: max(1.1rem, calc((100% - var(--max)) / 2)); padding-right: max(1.1rem, calc((100% - var(--max)) / 2)); }

/* ---------- contacts / lists ---------- */
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.1rem; }
.card { background: var(--paper); border: 2px solid var(--teal-dd); border-top: 8px solid var(--teal); border-radius: 12px; padding: 1rem 1.2rem; }
.card h3 { font-size: 1.05rem; text-transform: uppercase; letter-spacing: .05em; color: var(--teal); }
.card p { margin: 0; }
ul.plain { list-style: none; margin: 0; padding: 0; }
ul.plain li { padding: .25rem 0; border-top: 1px solid rgba(6,41,46,.1); font-size: .95rem; }
ul.plain li:first-child { border-top: 0; }
.chip-row { display: flex; flex-wrap: wrap; gap: .5rem; }
.champ-year { margin-bottom: 2rem; }
.champ-year h2 { display: inline-block; border-bottom: 5px solid var(--orange); }
ul.champ { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .5rem; }
ul.champ li { background: var(--paper); border: 1px solid rgba(6,41,46,.18); border-radius: 8px; padding: .55rem .9rem; }
ul.champ .badge { margin-right: .6rem; }

/* ---------- footer ---------- */
.foot { background: var(--teal-dd); color: #d8ecee; margin-top: 2rem; }
.foot a { color: var(--orange); }
.foot-in { max-width: var(--max); margin: 0 auto; padding: 2.6rem 1.1rem 1rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 2rem; }
.foot h4 { color: #fff; font-family: var(--label); text-transform: uppercase; letter-spacing: .14em; font-size: .95rem; }
.foot p { margin: 0 0 .5rem; font-size: .96rem; }
.copy { text-align: center; padding: 1rem; margin: 0; border-top: 1px solid rgba(255,255,255,.15); font-size: .85rem; color: #9fc1c5; }

/* ---------- responsive ---------- */
@media (max-width: 900px) {
  .burger { display: block; }
  .nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--teal-dd); flex-direction: column; padding: .5rem 1.1rem 1rem; border-bottom: 9px solid var(--orange); }
  .nav.open { display: flex; }
  .nav a { padding: .8rem .4rem; border-bottom: 1px solid rgba(255,255,255,.12); }
  .top-in { position: relative; }
  .brand-tx { display: none; }
}
@media (max-width: 640px) {
  body { font-size: 16px; }
  .ev { grid-template-columns: 84px 1fr; }
  .ev::before, .ev::after { left: 72px; }
  .ev-date .d { font-size: 2.3rem; }
  .ev-body { padding: .9rem 1rem 1rem; }
  .ds-row { grid-template-columns: 1fr; }
  .hero-in { padding-top: 4rem; }
  .std-grid { grid-template-columns: 1fr; }
}

/* ---------- logo prominence ---------- */
.top-in { padding-top: .4rem; padding-bottom: .4rem; }
.hero-logo { position: absolute; z-index: 2; right: max(1.5rem, calc((100vw - var(--max)) / 2 + 1rem)); top: 50%; transform: translateY(-50%); height: min(46%, 360px); width: auto; filter: drop-shadow(0 6px 18px rgba(6,41,46,.55)); }
.foot-logo img { width: 150px; height: auto; display: block; }
@media (max-width: 900px) {
  .hero-logo { position: relative; z-index: 2; display: block; right: auto; top: auto; transform: none; height: 150px; margin: 5rem auto 0; }
  .hero { flex-direction: column; justify-content: flex-end; align-items: stretch; }
  .hero-in { padding-top: 1.5rem; }
}
@media (max-width: 640px) { .brand img { height: 58px; } }

/* ---------- refined theme: one calm teal family, orange only as an accent ---------- */
:root {
  --cream: #f6f3ec;
  --paper: #ffffff;
  --line: rgba(10,74,80,.16);
  --shadow: 0 1px 2px rgba(6,41,46,.06), 0 8px 24px rgba(6,41,46,.08);
}
body { background: linear-gradient(180deg, #f6f3ec 0%, #eef4f3 55%, #e6f0f0 100%) fixed; background-image: none; background-color: #f2f4f0; }
.top { background: linear-gradient(90deg, var(--teal-dd), var(--teal-d)); box-shadow: 0 2px 14px rgba(6,41,46,.25); }
.page-head { background: linear-gradient(120deg, var(--teal-dd) 0%, var(--teal-d) 55%, var(--teal) 100%); }
.page-head::after { border: 0; background: radial-gradient(circle, rgba(255,255,255,.10), rgba(255,255,255,0) 68%); width: 420px; height: 420px; right: -110px; top: -150px; }
.hero { background: var(--teal-dd); }
.hero-img { filter: grayscale(.6) contrast(1.05) brightness(.95); }
.hero::before { background: linear-gradient(105deg, rgba(6,41,46,.94) 10%, rgba(10,74,80,.82) 52%, rgba(15,110,117,.55) 100%); mix-blend-mode: normal; }
.hero::after { background: linear-gradient(0deg, rgba(6,41,46,.6), rgba(6,41,46,0) 55%); }
.quick-tile, .ticket, .ev, .res, .std-card, .ds-row, .news, .card, .ev-past, .sp-strip a, .sp-grid a, .sp-strip .sp-i, .sp-grid .sp-i, .season-pick a, .filechip, .std-search input {
  border: 1px solid var(--line);
}
.quick-tile, .ticket, .ev, .res, .std-card, .ds-row, .news, .card, .ev-past { box-shadow: var(--shadow); }
.quick-tile { border-radius: 12px; }
.quick-tile:hover, .sp-grid a:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(6,41,46,.08), 0 14px 30px rgba(6,41,46,.14); border-color: rgba(15,110,117,.45); }
.quick-tile .badge { background: var(--teal-l); color: var(--teal-d); }
.ticket::before, .ticket::after, .ev::before, .ev::after { display: none; }
.ticket, .ev, .res, .std-card, .card { border-radius: 12px; }
.ev { overflow: hidden; }
.ev-date { background: linear-gradient(160deg, var(--teal), var(--teal-d)); color: #fff; border-radius: 0; }
.ev-date .m { color: #ffd9ad; }
.ev-body { border-left: 0; }
.ev.is-cancelled .ev-date { background: #aab8ba; }
.news { border-left: 5px solid var(--teal); }
.card { border-top: 4px solid var(--teal); }
.std-card h2 { background: linear-gradient(90deg, var(--teal-dd), var(--teal-d)); border-bottom: 3px solid var(--orange); }
.std-card tr.r1 td { background: #fdf3e4; }
.std-card tr.r2 td, .std-card tr.r3 td { background: #f0f6f6; }
.res-season, .champ-year h2 { border-bottom: 3px solid var(--teal-l); }
.res-ev h4 { background: #e8f2f3; }
.season-pick a.on { background: var(--teal-d); border-color: var(--teal-d); }
.btn { border-radius: 6px; }
.sponsors-band { background: linear-gradient(180deg, #ffffff, #f1f6f6); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.foot { background: linear-gradient(180deg, var(--teal-d), var(--teal-dd)); margin-top: 3rem; }
@media (max-width: 900px) { .nav { border-bottom: 0; box-shadow: 0 12px 24px rgba(6,41,46,.3); } }
.copy a { color: #ffd9ad; text-decoration: none; border-bottom: 1px solid rgba(255,217,173,.4); }
.copy a:hover { color: #fff; border-bottom-color: #fff; }

/* hero photo: lighter overlay so the picture actually shows */
.hero-img { filter: grayscale(.25) contrast(1.05) brightness(1.02); }
.hero::before { background: linear-gradient(100deg, rgba(6,41,46,.80) 0%, rgba(6,41,46,.55) 42%, rgba(10,74,80,.18) 100%); }
.hero::after { background: linear-gradient(0deg, rgba(6,41,46,.55), rgba(6,41,46,0) 45%); }
@media (max-width: 900px) { .hero::before { background: linear-gradient(180deg, rgba(6,41,46,.55), rgba(6,41,46,.75)); } }
