.prod-site {
  --prod-ink: #111411;
  --prod-charcoal: #222b2e;
  --prod-muted: #686760;
  --prod-line: #d5d0c4;
  --prod-paper: #faf8f1;
  --prod-white: #fffef7;
  --prod-gold: #f1b82d;
  --prod-green: #aef2c4;
  min-height: 100vh;
  background: var(--prod-paper);
  color: var(--prod-ink);
  font-family: "IBM Plex Sans", Arial, sans-serif;
}

.prod-site *,
.prod-site *::before,
.prod-site *::after { box-sizing: border-box; }

.prod-site h1,
.prod-site h2,
.prod-site h3,
.prod-site p { margin-top: 0; }

.prod-site h1,
.prod-site h2,
.prod-site h3 {
  color: inherit;
  font-family: "IBM Plex Sans", Arial, sans-serif;
  letter-spacing: -0.035em;
}

.prod-site button,
.prod-site .button { box-shadow: none !important; }

/* Flat visual system: depth comes from spacing and contrast, never shadows. */
.prod-site *,
.stripe-checkout-page *,
.production-main *,
.page-shell *,
.admin-submenu *,
#create-dialog *,
#action-dialog * {
  box-shadow:none !important;
  text-shadow:none !important;
}

.toast,
#create-dialog,
#action-dialog,
.site-header,
.admin-unified-header {
  box-shadow:none !important;
  text-shadow:none !important;
}

.stripe-checkout-page input:focus-visible,
.stripe-checkout-page button:focus-visible {
  outline:3px solid rgba(99,91,255,.42);
  outline-offset:2px;
}

.stripe-checkout-page input.invalid:focus-visible {
  outline-color:rgba(201,51,62,.45);
}

.prod-site button:focus-visible,
.prod-site .button:focus-visible {
  outline: 3px solid #fffef7;
  outline-offset: 3px;
}

.prod-light button:focus-visible,
.prod-light .button:focus-visible {
  outline-color: #8a6500;
}

.prod-header {
  --prod-ink:#111411;
  --prod-charcoal:#222b2e;
  --prod-gold:#f1b82d;
  position: relative;
  z-index: 20;
  display: grid;
  grid-template-columns: minmax(220px, auto) minmax(0, 1fr) 44px;
  gap: 22px;
  align-items: center;
  min-height: 68px;
  padding: 7px clamp(24px, 4.5vw, 74px);
  border-bottom: 1px solid rgba(255,255,255,.12);
  background: var(--prod-charcoal);
  color: white;
}

.prod-brand {
  display: flex;
  gap: 11px;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: white;
  text-align: left;
}

.prod-brand img { width: 25px; height: 46px; object-fit: contain; }
.prod-brand span,
.prod-brand strong,
.prod-brand small { display: block; }
.prod-brand strong { font-size: 15px; line-height: 1.08; }
.prod-brand small { margin-top: 1px; color: #d5d7d6; font-size: 10px; letter-spacing: .02em; }

.prod-nav {
  display: flex;
  gap: clamp(20px, 4.4vw, 76px);
  align-items: center;
  justify-content: center;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.prod-nav::-webkit-scrollbar { display: none; }
.prod-nav button {
  position: relative;
  flex: 0 0 auto;
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: #e4e5e4;
  font-size: 13px;
  font-weight: 650;
}

.prod-nav button::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 6px;
  left: 0;
  height: 2px;
  background: var(--prod-gold);
  transform: scaleX(0);
  transition: transform 160ms ease;
}

.prod-nav button:hover,
.prod-nav button.active { color: var(--prod-gold); }
.prod-nav button:hover::after,
.prod-nav button.active::after { transform: scaleX(1); }

.prod-account {
  position: relative;
  display: grid;
  width: 40px;
  height: 40px;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  color: white;
}
.prod-account svg { width: 23px; height: 23px; }
.prod-menu-toggle { display:none; }
.prod-account::after {
  content: "";
  position: absolute;
  top: 7px;
  right: 5px;
  width: 9px;
  height: 9px;
  border: 2px solid var(--prod-charcoal);
  border-radius: 50%;
  background: #9cf2b7;
}

.prod-home { background: #050807; color: #f7fbf5; }
.prod-home-mobile-hero { display:none; }
.prod-home-hero {
  position: relative;
  min-height: calc(100vh - 68px);
  overflow: hidden;
  background: #07100f;
}

.prod-home-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .58;
  filter: saturate(.65) contrast(1.04) brightness(.72);
}

.prod-home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,7,9,.92) 0%, rgba(3,10,11,.63) 48%, rgba(19,17,9,.68) 100%),
    linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.12) 54%, rgba(0,0,0,.87) 100%);
}

.prod-home-content {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(500px, 1.15fr);
  gap: clamp(56px, 8vw, 140px);
  width: min(1760px, calc(100% - 9vw));
  min-height: calc(100vh - 68px);
  margin: 0 auto;
  padding: clamp(88px, 8vw, 144px) 0 54px;
  align-content: start;
}

.prod-home-copy { padding-top: 40px; }
.prod-kicker {
  display: inline-block;
  position: relative;
  margin-bottom: 34px;
  color: var(--prod-gold);
  font-size: 16px;
  font-weight: 750;
}
.prod-kicker::after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: 0;
  width: 50px;
  height: 3px;
  background: var(--prod-gold);
}

.prod-home-copy h1 {
  max-width: 750px;
  margin-bottom: 25px;
  color: #f4faf2;
  font-size: clamp(58px, 5.3vw, 96px);
  font-weight: 750;
  line-height: 1.08;
  letter-spacing: -.055em;
}
.prod-home-copy > p {
  max-width: 680px;
  margin-bottom: 30px;
  color: #d9ddda;
  font-size: clamp(18px, 1.4vw, 23px);
  line-height: 1.5;
}

.prod-link-actions { display: flex; flex-wrap: wrap; gap: 30px; }
.prod-link-action,
.prod-row-link {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: #f7faf6;
  font-size: 15px;
  font-weight: 750;
  transition: color 160ms ease, transform 160ms ease;
}
.prod-link-action b,
.prod-row-link b {
  color: var(--prod-green);
  font-size: 24px;
  line-height: .7;
  transition: transform 160ms ease;
}
.prod-link-action:hover,
.prod-row-link:hover { color: var(--prod-gold); }
.prod-link-action:hover b,
.prod-row-link:hover b { transform: translateX(3px); }

.prod-matchup-panel {
  padding-top: 0;
  border-top: 1px solid rgba(255,255,255,.26);
}
.prod-matchup {
  display: grid;
  grid-template-columns: 1fr 62px 1fr;
  gap: 22px;
  align-items: center;
  min-height: 300px;
  padding: 44px 18px 26px;
  border-bottom: 1px solid rgba(255,255,255,.25);
  text-align: center;
}
.prod-matchup-team { display: grid; gap: 20px; justify-items: center; }
.prod-matchup-team img { width: 110px; height: 92px; object-fit: contain; }
.prod-matchup-team strong { max-width: 240px; font-size: clamp(23px, 2vw, 34px); line-height: 1.2; }
.prod-versus {
  display: grid;
  width: 56px;
  height: 56px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  font-family: Georgia, serif;
  font-size: 15px;
  text-transform: uppercase;
}
.prod-game-meta {
  position: relative;
  margin: 38px 0 32px;
  padding-top: 25px;
  text-align: center;
  color: #f0f0eb;
  font-size: 18px;
  font-weight: 700;
}
.prod-game-meta::before { content:""; position:absolute; top:0; left:calc(50% - 46px); width:92px; height:3px; background:var(--prod-gold); }
.prod-countdown { display: grid; grid-template-columns: repeat(4, 1fr); }
.prod-countdown div { position:relative; padding: 6px 20px; text-align:center; }
.prod-countdown div:not(:last-child) { border-right: 1px solid rgba(241,184,45,.62); }
.prod-countdown strong {
  display:block;
  font-size:clamp(52px,4.6vw,82px);
  font-variant-numeric: tabular-nums;
  line-height:1;
  letter-spacing:-.045em;
}
.prod-countdown small { display:block; margin-top:18px; color:#c7c8c5; font-size:11px; font-weight:700; text-transform:uppercase; }

.prod-home-latest {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(310px, .63fr) minmax(0, 1.37fr);
  gap: 0;
  margin-top: 16px;
}
.prod-agenda { padding-right: 60px; border-right:1px solid rgba(255,255,255,.28); }
.prod-magazine { padding-left: 72px; }
.prod-overlay-title { margin-bottom:22px; color:var(--prod-gold); font-size:16px; font-weight:750; }
.prod-ticket-row {
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  gap:16px;
  padding:16px 6px 16px 20px;
  border-top:1px solid rgba(255,255,255,.24);
  border-left:3px solid var(--prod-gold);
  background:rgba(0,0,0,.17);
  color:white;
  text-align:left;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.prod-ticket-date span,
.prod-ticket-date strong { display:block; }
.prod-ticket-date span { color:var(--prod-gold); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.prod-ticket-date strong { margin-top:4px; color:var(--prod-gold); font-size:29px; font-weight:500; }
.prod-ticket-copy strong,
.prod-ticket-copy small,
.prod-ticket-copy em { display:block; }
.prod-ticket-copy strong { font-size:18px; }
.prod-ticket-copy small { margin-top:3px; color:#d4d5d1; font-size:12px; }
.prod-ticket-copy em { margin-top:5px; color:var(--prod-gold); font-size:12px; font-style:normal; font-weight:750; }
.prod-section-footer { margin-top:18px; color:var(--prod-gold); }
.prod-section-footer b { color:var(--prod-gold); }

.prod-update-row {
  display:grid;
  width:100%;
  grid-template-columns:250px minmax(0,1fr) 110px;
  gap:18px;
  align-items:center;
  min-height:126px;
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.25);
  border-right:0;
  border-bottom:0;
  border-left:0;
  background:transparent;
  color:white;
  text-align:left;
  transition: background-color 160ms ease, transform 160ms ease;
}
.prod-update-row img,
.prod-update-placeholder {
  width:250px;
  height:108px;
  object-fit:cover;
  border-radius:5px;
  transition: transform 180ms ease;
}
.prod-update-placeholder { display:grid; place-items:center; border:1px solid rgba(241,184,45,.4); background:rgba(93,70,6,.31); color:#ddd8c8; font-family:Georgia,serif; font-size:26px; }
.prod-update-copy span { display:block; margin-bottom:6px; color:var(--prod-gold); font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.prod-update-copy strong { display:block; font-size:19px; }
.prod-update-copy small { display:block; margin-top:4px; color:#d7d8d4; font-size:12px; line-height:1.35; }
.prod-update-row > em { color:var(--prod-gold); font-size:12px; font-style:normal; font-weight:750; text-align:right; }

.prod-home button {
  transform-origin: center;
  transition:
    transform 160ms ease,
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .prod-home button:hover {
    transform: translateY(-2px) scale(1.012);
  }

  .prod-home .prod-nav button:hover,
  .prod-home .prod-brand:hover,
  .prod-home .prod-account:hover {
    transform: translateY(-1px) scale(1.015);
  }

  .prod-ticket-row:hover { background:rgba(241,184,45,.09); }
  .prod-update-row:hover { background:rgba(255,255,255,.035); }
  .prod-update-row:hover img,
  .prod-update-row:hover .prod-update-placeholder { transform: scale(1.018); }
}

.prod-light { background:#f6f2e8; color:#121411; }
.prod-page { width:min(1420px,calc(100% - 64px)); margin:0 auto; padding:56px 0 82px; }
.prod-page-heading { display:flex; gap:32px; align-items:flex-end; justify-content:space-between; margin-bottom:32px; padding-bottom:28px; border-bottom:1px solid var(--prod-line); }
.prod-page-heading > div { max-width:760px; }
.prod-eyebrow { display:block; margin-bottom:10px; color:#80610d; font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.prod-page-heading h1 { margin-bottom:10px; font-size:clamp(46px,5vw,72px); line-height:1; }
.prod-page-heading p { margin-bottom:0; color:var(--prod-muted); font-size:17px; }
.prod-chip-row { display:flex; flex-wrap:wrap; gap:8px; }
.prod-chip { min-height:36px; padding:8px 12px; border:1px solid #a89d82; border-radius:999px; background:#fffdf6; color:#34342f; font-size:12px; font-weight:750; }
.prod-chip.good { border-color:#8bb39f; background:#eaf5ee; color:#145241; }

.prod-surface {
  overflow:hidden;
  border:1px solid var(--prod-line);
  border-radius:8px;
  background:#fffdf7;
}
.prod-surface-head { padding:22px 24px; border-bottom:1px solid var(--prod-line); }
.prod-surface-head h2 { margin-bottom:6px; font-size:27px; }
.prod-surface-head p { margin-bottom:0; color:var(--prod-muted); font-size:14px; }

.prod-pay-grid { display:grid; grid-template-columns:380px minmax(0,1fr); gap:22px; align-items:start; }
.prod-account-card { padding:0; border:1px solid var(--prod-line); border-radius:8px; background:#fffdf7; }
.prod-account-card h2 { padding:23px 24px; margin:0; border-bottom:1px solid var(--prod-line); font-size:24px; }
.prod-account-row { display:grid; grid-template-columns:46px minmax(0,1fr) 24px; gap:13px; align-items:center; width:100%; min-height:78px; padding:14px 20px; border:0; border-bottom:1px solid var(--prod-line); background:transparent; color:var(--prod-ink); text-align:left; }
.prod-account-row:hover { background:#f4efe3; }
.prod-account-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:#efe8d8; font-weight:850; }
.prod-account-icon img { width:32px; height:32px; object-fit:contain; }
.prod-account-row strong,
.prod-account-row small { display:block; }
.prod-account-row small { margin-top:3px; color:var(--prod-muted); font-size:11px; }
.prod-account-row b { font-size:20px; }
.prod-pay-primary { display:flex; width:calc(100% - 36px); min-height:52px; margin:18px; padding:12px 16px; align-items:center; justify-content:space-between; border:1px solid #121411; border-radius:6px; background:var(--prod-gold); color:#121411; font-weight:850; }
.prod-secure { margin:0 18px 18px; color:var(--prod-muted); font-size:11px; text-align:center; }
.prod-support-list { display:grid; }
.prod-support-row { display:grid; grid-template-columns:70px minmax(0,1fr) 120px 120px; gap:18px; align-items:center; min-height:108px; padding:16px 22px; border-top:1px solid var(--prod-line); }
.prod-support-row:first-child { border-top:0; }
.prod-support-mark { display:grid; width:56px; height:62px; place-items:center; color:#2f2b1b; font-size:13px; font-weight:900; text-align:center; }
.prod-support-mark img { width:50px; height:58px; object-fit:contain; }
.prod-support-mark.gold { border:1px solid #ae8520; background:#f7e6ad; }
.prod-support-copy strong,
.prod-support-copy small { display:block; }
.prod-support-copy strong { font-size:17px; }
.prod-support-copy small { margin-top:6px; color:var(--prod-muted); line-height:1.4; }
.prod-support-amount { text-align:right; }
.prod-support-action { min-height:44px; border:1px solid #292a27; border-radius:5px; background:transparent; color:var(--prod-ink); font-weight:800; }

.prod-history { margin-top:24px; }
.prod-history-row { display:grid; width:100%; grid-template-columns:150px minmax(0,1fr) 180px 130px 150px; gap:18px; align-items:center; min-height:68px; padding:14px 20px; border-top:1px solid var(--prod-line); border-right:0; border-bottom:0; border-left:0; background:transparent; color:var(--prod-ink); font-size:13px; text-align:left; }
.prod-history-row.head { min-height:45px; border-top:0; background:#eee8dc; color:var(--prod-muted); font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }

/* Pay & Support — public payment experience */
.prod-pay-page { background:#f3f4f1; color:#151814; }
.prod-pay-shell { width:min(1280px,calc(100% - 64px)); margin:0 auto; }
.prod-pay-hero {
  position:relative;
  overflow:hidden;
  padding:66px 0 62px;
  background:
    radial-gradient(circle at 76% 20%,rgba(241,184,45,.14),transparent 28%),
    linear-gradient(118deg,#07100f 0%,#14201e 54%,#24251e 100%);
  color:#f8faf6;
}
.prod-pay-hero::after {
  content:"";
  position:absolute;
  right:-140px;
  bottom:-230px;
  width:520px;
  height:520px;
  border:1px solid rgba(241,184,45,.13);
  border-radius:50%;
}
.prod-pay-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr); gap:72px; align-items:center; }
.prod-pay-intro { max-width:680px; }
.prod-pay-eyebrow { display:block; margin-bottom:16px; color:var(--prod-gold); font-size:11px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.prod-pay-eyebrow.dark { margin-bottom:11px; color:#7b5c0c; }
.prod-pay-intro h1 { margin-bottom:18px; font-size:clamp(50px,5vw,74px); font-weight:750; line-height:.98; letter-spacing:-.055em; }
.prod-pay-intro > p { max-width:620px; margin-bottom:28px; color:#d7dcda; font-size:18px; line-height:1.55; }
.prod-pay-trust { display:flex; flex-wrap:wrap; gap:10px 22px; color:#c2cbc7; font-size:12px; font-weight:650; }
.prod-pay-trust span { display:inline-flex; gap:7px; align-items:center; }
.prod-pay-trust span::before { content:"✓"; color:var(--prod-green); font-weight:900; }
.prod-dues-status { display:grid; grid-template-columns:54px minmax(0,1fr); gap:15px 18px; padding:28px; border:1px solid rgba(255,255,255,.2); border-radius:20px; background:rgba(255,255,255,.075); backdrop-filter:blur(14px); }
.prod-dues-check { display:grid; width:48px; height:48px; place-items:center; border-radius:50%; background:#b8f5ca; color:#0e4c2f; font-size:23px; font-weight:900; }
.prod-dues-label { display:block; margin-bottom:6px; color:#b9c1bd; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.prod-dues-status h2 { margin-bottom:8px; color:white; font-size:26px; letter-spacing:-.04em; }
.prod-dues-status p { margin:0; color:#ced4d1; font-size:13px; line-height:1.45; }
.prod-dues-status button { grid-column:2; display:inline-flex; gap:10px; align-items:center; justify-self:start; min-height:42px; padding:9px 0; border:0; background:transparent; color:var(--prod-gold); font-weight:800; }
.prod-dues-status button b { transition:transform 160ms ease; }
.prod-dues-status button:hover b { transform:translateX(3px); }
.prod-pay-main { padding:58px 0 76px; }
.prod-pay-section-heading { display:flex; gap:28px; align-items:flex-end; justify-content:space-between; margin-bottom:24px; }
.prod-pay-section-heading > div { max-width:760px; }
.prod-pay-section-heading h2 { margin-bottom:9px; font-size:clamp(32px,3vw,44px); line-height:1.05; letter-spacing:-.045em; }
.prod-pay-section-heading p { margin:0; color:#666b64; font-size:15px; line-height:1.5; }
.prod-pay-section-heading.compact h2 { font-size:34px; }
.prod-giving-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.prod-giving-card { display:flex; min-height:270px; padding:27px; flex-direction:column; justify-content:space-between; border:1px solid #d8dbd5; border-radius:18px; background:#fff; }
.prod-giving-mark { display:grid; width:50px; height:50px; place-items:center; margin-bottom:28px; border:1px solid #cfaa4a; border-radius:13px; background:#fbf2d6; color:#624a0e; font-size:12px; font-weight:900; }
.prod-giving-card h3 { margin-bottom:9px; font-size:23px; line-height:1.12; letter-spacing:-.035em; }
.prod-giving-card p { margin:0; color:#666b64; font-size:13px; line-height:1.5; }
.prod-giving-card-footer { display:flex; gap:12px; align-items:center; justify-content:space-between; margin-top:28px; padding-top:18px; border-top:1px solid #e3e5e0; }
.prod-giving-card-footer > span { color:#73776f; font-size:11px; font-weight:700; }
.prod-giving-card-footer button { display:inline-flex; gap:9px; align-items:center; min-height:42px; padding:9px 14px; border:1px solid #151814; border-radius:999px; background:#151814; color:white; font-weight:800; }
.prod-giving-card-footer button b { color:var(--prod-gold); }
.prod-pay-page button { transition:transform 160ms ease,background-color 160ms ease,border-color 160ms ease,color 160ms ease; }
@media (hover:hover) and (pointer:fine) {
  .prod-pay-page button:hover { transform:translateY(-2px) scale(1.01); }
  .prod-giving-card-footer button:hover { background:#29312e; }
}
.prod-pay-history { margin-top:62px; }
.prod-pay-help { min-height:42px; padding:9px 14px; border:1px solid #c6c9c2; border-radius:999px; background:transparent; color:#31352f; font-size:12px; font-weight:750; }
.prod-payment-list { overflow:hidden; border:1px solid #d8dbd5; border-radius:16px; background:#fff; }
.prod-payment-row { display:grid; grid-template-columns:150px minmax(0,1fr) 130px 170px; gap:22px; align-items:center; width:100%; min-height:76px; padding:15px 22px; border:0; border-top:1px solid #e1e3de; background:transparent; color:#1a1d19; text-align:left; }
.prod-payment-row.head { min-height:42px; border-top:0; background:#f7f7f5; color:#7a7e77; font-size:10px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.prod-payment-row strong,.prod-payment-row small { display:block; }
.prod-payment-row small { margin-top:4px; color:#777b74; font-size:11px; }
.prod-payment-row > span:last-child { color:#6d520c; font-size:12px; font-weight:800; text-align:right; }
.prod-payment-row:hover:not(.head) { background:#faf9f5; }

/* Compact Pay & Support layout */
.prod-pay-simple-main { min-height:calc(100vh - 58px); background:#f7f6f2; }
.prod-pay-simple-head { padding:24px 0 23px; border-bottom:1px solid #dedcd5; background:#fcfbf8; }
.prod-pay-simple-head-grid { display:flex; gap:36px; align-items:center; justify-content:space-between; }
.prod-pay-simple-head-grid > div:first-child { max-width:760px; }
.prod-pay-simple-head .prod-pay-eyebrow { margin-bottom:7px; }
.prod-pay-simple-head h1 { margin-bottom:7px; font-size:clamp(38px,3.5vw,48px); line-height:1; letter-spacing:-.05em; }
.prod-pay-simple-head p { max-width:700px; margin:0; color:#6d7069; font-size:14px; line-height:1.45; }
.prod-pay-simple-trust { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.prod-pay-simple-trust span { display:inline-flex; min-height:30px; padding:6px 10px; align-items:center; border:1px solid #d0d2cc; border-radius:999px; background:#fff; color:#3c403a; font-size:10px; font-weight:750; }
.prod-pay-simple-trust span:first-child { border-color:#91b9a4; background:#edf7f0; color:#16543b; }
.prod-pay-simple-body { padding:25px 0 64px; }
.prod-pay-overview { display:grid; grid-template-columns:326px minmax(0,1fr); gap:18px; align-items:start; }
.prod-pay-account-modern,.prod-pay-support-modern { overflow:hidden; border:1px solid #dddcd6; border-radius:12px; background:#fff; }
.prod-pay-account-modern > header,.prod-pay-support-modern > header { padding:18px 20px; border-bottom:1px solid #e5e3dd; }
.prod-pay-account-modern > header { display:flex; gap:16px; align-items:center; justify-content:space-between; }
.prod-pay-account-modern h2,.prod-pay-support-modern h2 { margin:0; font-size:22px; line-height:1.1; }
.prod-pay-account-crest { width:30px; height:52px; object-fit:contain; }
.prod-pay-support-modern header p { margin:7px 0 0; color:#6e716a; font-size:13px; line-height:1.45; }
.prod-pay-paid { display:grid; grid-template-columns:44px minmax(0,1fr); gap:12px; align-items:center; padding:17px 19px; background:#f3faf5; }
.prod-pay-paid .prod-dues-check { width:40px; height:40px; font-size:18px; }
.prod-pay-paid small,.prod-pay-paid strong,.prod-pay-paid p { display:block; }
.prod-pay-paid small { color:#50705d; font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.prod-pay-paid strong { margin-top:3px; font-size:17px; }
.prod-pay-paid p { margin:3px 0 0; color:#667169; font-size:11px; }
.prod-pay-account-action { display:flex; width:100%; min-height:46px; padding:10px 19px; align-items:center; justify-content:space-between; border:0; border-top:1px solid #dce8df; border-bottom:1px solid #e5e3dd; background:#fff; color:#6c510a; font-size:11px; font-weight:800; text-align:left; }
.prod-pay-account-facts { display:grid; grid-template-columns:1fr 1fr; }
.prod-pay-account-facts div { padding:14px 16px; }
.prod-pay-account-facts div + div { border-left:1px solid #e0ded7; }
.prod-pay-account-facts span,.prod-pay-account-facts strong { display:block; }
.prod-pay-account-facts span { color:#7a7d76; font-size:10px; font-weight:750; }
.prod-pay-account-facts strong { margin-top:5px; font-size:12px; }
.prod-support-modern-list { display:grid; }
.prod-support-modern-row { display:grid; grid-template-columns:54px minmax(0,1fr) 124px 112px; gap:15px; align-items:center; min-height:94px; padding:13px 18px; border-top:1px solid #e5e3dd; }
.prod-support-modern-row:first-child { border-top:0; }
.prod-support-modern-row .prod-giving-mark { display:grid; width:48px; height:58px; margin:0; place-items:center; border:1px solid #e0ddd5; border-radius:10px; background:#fcfbf7; }
.prod-support-modern-row .prod-giving-mark img { display:block; max-width:38px; max-height:48px; object-fit:contain; }
.prod-support-modern-row .prod-giving-mark.mark img { width:40px; max-width:40px; height:auto; }
.prod-support-modern-row .production-mark { border:0; background:transparent; }
.prod-support-modern-row .production-mark.gla { display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(152,111,0,.28); border-radius:8px; background:#f9f3d7; color:#c59a13; font-family:Georgia,serif; }
.prod-support-modern-row .production-mark.gla strong { color:#0f6941; font-size:19px; line-height:1; letter-spacing:.04em; }
.prod-support-modern-row .production-mark.gla small { color:#986f00; font-size:7px; font-weight:800; letter-spacing:.1em; }
.prod-support-modern-row .production-mark.star { display:grid; width:50px; height:54px; align-content:center; justify-items:center; color:#151515; font-family:Georgia,serif; line-height:1; }
.prod-support-modern-row .production-mark.star strong { font-size:12px; font-weight:500; letter-spacing:.03em; }
.prod-support-modern-row .production-mark.star small,
.prod-support-modern-row .production-mark.star em { color:#986f00; font-size:6px; font-style:normal; font-weight:800; letter-spacing:.11em; }
.prod-support-modern-row .production-mark.donation { width:48px; height:48px; color:#b18400; }
.prod-support-modern-row .production-mark.donation svg { width:42px; height:42px; }
.prod-support-modern-row h3 { margin:0; font-size:17px; }
.prod-support-modern-row p { margin:5px 0 0; color:#6e716a; font-size:12px; line-height:1.4; }
.prod-support-any-amount { color:#74776f; font-size:11px; font-weight:700; text-align:right; }
.prod-support-modern-row > button { display:inline-flex; min-width:108px; min-height:42px; gap:8px; padding:8px 13px; align-items:center; justify-content:center; border:1px solid #242622; border-radius:5px; background:#fff; color:#242622; font-size:11px; font-weight:800; box-shadow:none; }
.prod-support-modern-row > button b { color:currentColor; }
.prod-support-modern-row > button:hover { background:#f5f1e7; transform:translateY(-1px) scale(1.015); }
.prod-support-modern-row > button:focus-visible { outline:3px solid rgba(184,138,13,.28); outline-offset:2px; }
.prod-support-modern-row:hover { background:#fbfaf7; }
.prod-pay-simple-body .prod-pay-history { margin-top:34px; }

/* Stripe-style hosted test checkout */
.stripe-checkout-page { display:grid; grid-template-columns:minmax(390px,.92fr) minmax(520px,1.08fr); min-height:100vh; background:#fff; color:#20232a; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.stripe-checkout-page h1,
.stripe-checkout-page h2,
.stripe-checkout-page h3 { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.stripe-summary-panel { display:grid; padding:32px clamp(32px,5vw,76px); align-items:center; background:linear-gradient(145deg,#07100f,#1e2926 68%,#332a12); color:white; }
.stripe-summary-inner { width:min(520px,100%); margin-left:auto; }
.stripe-back { min-height:40px; margin-bottom:32px; padding:7px 0; border:0; background:transparent; color:#cfd6d2; font-size:12px; font-weight:700; }
.stripe-alumni-brand { display:flex; gap:13px; align-items:center; }
.stripe-alumni-brand img { width:30px; height:54px; object-fit:contain; }
.stripe-alumni-brand strong,.stripe-alumni-brand small { display:block; }
.stripe-alumni-brand small { margin-top:2px; color:#b9c1bd; font-size:11px; }
.stripe-order { margin:44px 0; }
.stripe-order > span { color:#aeb7b3; font-size:12px; font-weight:700; }
.stripe-order h1 { max-width:520px; margin:7px 0 10px; font-size:clamp(34px,3.6vw,48px); line-height:1.03; letter-spacing:-.05em; }
.stripe-order p { max-width:500px; margin-bottom:20px; color:#c6ceca; font-size:13px; line-height:1.5; }
.stripe-order > strong { display:block; font-size:34px; letter-spacing:-.04em; }
.stripe-safe-note { display:flex; gap:12px; align-items:flex-start; padding-top:24px; border-top:1px solid rgba(255,255,255,.18); color:#c5cdc9; font-size:12px; }
.stripe-safe-note > span { display:grid; width:24px; height:24px; flex:0 0 auto; place-items:center; border-radius:50%; background:#b8f5ca; color:#0e4c2f; font-weight:900; }
.stripe-safe-note p { margin:0; line-height:1.45; }
.stripe-safe-note strong { color:white; }
.stripe-payment-panel { display:grid; padding:18px clamp(24px,3.5vw,48px); align-items:center; background:#f5f6f8; }
.stripe-form-shell { width:min(500px,100%); }
.stripe-form-shell.enterprise { width:min(590px,100%); overflow:hidden; border:1px solid #dfe2e7; border-radius:13px; background:#fff; box-shadow:0 16px 42px rgba(28,34,48,.10); }
.stripe-checkout-header { display:flex; gap:20px; align-items:flex-start; justify-content:space-between; padding:17px 20px 15px; border-bottom:1px solid #e5e7eb; }
.stripe-checkout-header > div:first-child { max-width:420px; }
.stripe-checkout-header h2 { margin:5px 0 4px; font-size:23px; line-height:1.05; letter-spacing:-.035em; }
.stripe-checkout-header p { margin:0; color:#6b7280; font-size:12px; line-height:1.45; }
.stripe-secure-label { display:inline-flex; gap:6px; align-items:center; color:#176441; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.stripe-secure-label svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; }
.stripe-brand-stack { display:grid; gap:7px; justify-items:end; flex:0 0 auto; }
.stripe-brand-stack span { padding:4px 7px; border-radius:4px; background:#fff0be; color:#795800; font-size:8px; font-weight:900; letter-spacing:.1em; }
.stripe-brand-stack strong { color:#635bff; font-size:23px; font-style:italic; letter-spacing:-.06em; }
.stripe-checkout-section { padding:12px 20px 13px; border-bottom:1px solid #e5e7eb; }
.stripe-section-title { display:flex; gap:10px; align-items:flex-start; margin-bottom:10px; }
.stripe-section-title > span { display:grid; width:24px; height:24px; flex:0 0 auto; place-items:center; border-radius:50%; background:#eef0f4; color:#49505e; font-size:10px; font-weight:850; }
.stripe-section-title h3 { margin:1px 0 2px; font-size:14px; letter-spacing:-.01em; }
.stripe-section-title p { margin:0; color:#777d88; font-size:10px; }
.stripe-mode { display:flex; align-items:center; justify-content:space-between; margin-bottom:46px; }
.stripe-mode span { padding:5px 8px; border-radius:5px; background:#fff0be; color:#795800; font-size:9px; font-weight:900; letter-spacing:.1em; }
.stripe-mode strong { color:#635bff; font-size:24px; font-style:italic; letter-spacing:-.06em; }
.stripe-form-shell h2 { margin-bottom:16px; font-size:22px; letter-spacing:-.025em; }
.stripe-custom-amount-field { margin-top:0; }
.stripe-custom-amount-field > div { position:relative; display:flex; align-items:center; }
.stripe-custom-amount-field > div > span { position:absolute; left:14px; z-index:1; color:#6f7380; font-size:19px; font-weight:700; }
.stripe-amount-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:12px; align-items:end; }
.stripe-custom-amount-field input { min-height:46px; padding-left:34px; font-size:18px; font-weight:750; }
.stripe-quick-label { display:block; margin:0 0 7px; color:#676b75; font-size:11px; font-weight:700; }
.stripe-amounts { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-bottom:28px; }
.stripe-checkout-section .stripe-amounts { margin-bottom:0; }
.stripe-amount-option { min-height:46px; padding-inline:6px; border:1px solid #d4d7dd; border-radius:7px; background:#fff; color:#323640; font-size:11px; font-weight:750; }
.stripe-amount-option.active { border:2px solid #635bff; background:#f2f1ff; color:#5149d8; }
.stripe-field,.stripe-field-group { display:grid; gap:6px; margin-top:14px; color:#3d414a; font-size:11px; font-weight:700; }
.stripe-field input,.stripe-field-group input { width:100%; min-height:42px; padding:9px 11px; border:1px solid #c9ccd2; border-radius:7px; background:white; color:#20232a; font:inherit; font-size:14px; font-weight:500; outline:none; }
.stripe-field input::placeholder,.stripe-field-group input::placeholder { color:#9da1aa; opacity:1; }
.stripe-field.stripe-custom-amount-field input { padding-left:36px; appearance:textfield; font-size:21px; font-weight:750; }
.stripe-field.stripe-custom-amount-field input::-webkit-inner-spin-button,
.stripe-field.stripe-custom-amount-field input::-webkit-outer-spin-button { margin:0; appearance:none; }
.stripe-field input:focus,.stripe-field-group input:focus { border-color:#635bff; box-shadow:0 0 0 3px rgba(99,91,255,.16); }
.stripe-field input.invalid,.stripe-field-group input.invalid { position:relative; z-index:1; border-color:#c9333e; background:#fffafa; box-shadow:0 0 0 2px rgba(201,51,62,.12); }
.stripe-field input.invalid:focus,.stripe-field-group input.invalid:focus { box-shadow:0 0 0 3px rgba(201,51,62,.16); }
.stripe-field-error { display:block; margin:0; color:#b4232d; font-size:9px; font-weight:700; line-height:1.35; }
.stripe-field-error:empty { display:none; }
.stripe-card-help { display:block; margin:1px 0 0; color:#737986; font-size:9px; font-weight:600; line-height:1.35; }
.stripe-form-alert { display:grid; grid-template-columns:auto minmax(0,1fr); gap:3px 10px; padding:9px 20px; border-bottom:1px solid #f0c6c9; background:#fff1f2; color:#971e27; font-size:10px; line-height:1.35; }
.stripe-form-alert::before { grid-row:1 / 3; content:"!"; display:grid; width:20px; height:20px; place-items:center; border-radius:50%; background:#c9333e; color:#fff; font-size:11px; font-weight:900; }
.stripe-form-alert strong,.stripe-form-alert span { display:block; }
.stripe-form-alert[hidden] { display:none; }
.stripe-field-group > label { position:relative; display:flex; align-items:center; }
.stripe-field-group > label input { border-radius:8px 8px 0 0; }
.stripe-field-group > label b { position:absolute; right:12px; color:#1a3f8a; font-size:11px; }
.stripe-field-group > div { display:grid; grid-template-columns:1fr 1fr; }
.stripe-field-group > div label:first-child input { border-top:0; border-radius:0 0 0 8px; }
.stripe-field-group > div label:last-child input { border-top:0; border-left:0; border-radius:0 0 8px 0; }
.stripe-payment-methods { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.stripe-payment-method { position:relative; display:grid; grid-template-columns:32px minmax(0,1fr); gap:9px; align-items:center; min-height:58px; padding:8px 10px; border:1px solid #d4d7dd; border-radius:9px; background:#fff; color:#242832; text-align:left; }
.stripe-payment-method.active { border:2px solid #635bff; padding:7px 9px; background:#f7f6ff; }
.stripe-payment-method > span:nth-child(2) strong,
.stripe-payment-method > span:nth-child(2) small { display:block; }
.stripe-payment-method > span:nth-child(2) strong { font-size:12px; }
.stripe-payment-method > span:nth-child(2) small { margin-top:3px; color:#747986; font-size:9px; }
.stripe-payment-method em { position:absolute; top:7px; right:8px; padding:3px 5px; border-radius:4px; background:#e2f4e8; color:#176441; font-size:7px; font-style:normal; font-weight:850; text-transform:uppercase; }
.stripe-method-icon { display:grid; width:32px; height:32px; place-items:center; border-radius:8px; background:#eef0f4; color:#4c5360; }
.stripe-method-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.stripe-method-panel { margin-top:9px; }
.stripe-method-panel[hidden] { display:none; }
.stripe-bank-account { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:9px; align-items:center; padding:8px 10px; border:1px solid #dfe2e7; border-radius:9px; background:#fbfcfd; }
.stripe-method-icon.large { width:34px; height:34px; background:#e9f5ed; color:#176441; }
.stripe-bank-account strong,.stripe-bank-account small { display:block; }
.stripe-bank-account strong { font-size:12px; }
.stripe-bank-account small { margin-top:3px; color:#727783; font-size:10px; }
.stripe-bank-account > button { min-height:34px; padding:7px 10px; border:1px solid #d0d4da; border-radius:7px; background:#fff; color:#454b57; font-size:10px; font-weight:750; }
.stripe-method-note { margin:6px 0 0; color:#747986; font-size:9px; line-height:1.4; }
.stripe-card-grid { display:grid; grid-template-columns:minmax(0,1fr) 145px; gap:10px; align-items:start; }
.stripe-card-grid .stripe-field-group,.stripe-card-grid .stripe-field { margin-top:0; }
.stripe-contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:11px; }
.stripe-contact-grid .stripe-field { margin-top:0; }
.stripe-checkout-footer { padding:12px 20px 14px; }
.stripe-submit { width:100%; min-height:52px; margin-top:25px; border:0; border-radius:8px; background:#635bff; color:white; font-size:15px; font-weight:800; }
.stripe-checkout-footer .stripe-submit { display:flex; min-height:46px; margin-top:0; padding:9px 13px; align-items:center; justify-content:space-between; }
.stripe-submit-copy { display:inline-flex; gap:8px; align-items:center; }
.stripe-submit-copy svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; }
.stripe-checkout-footer .stripe-submit > strong { font-size:14px; }
.stripe-submit:hover { background:#544ceb; }
.stripe-security-row { display:flex; gap:16px; align-items:center; justify-content:space-between; margin-top:8px; color:#707681; font-size:9px; }
.stripe-security-row span:first-child { display:inline-flex; gap:5px; align-items:center; }
.stripe-security-row svg { width:13px; height:13px; fill:none; stroke:#176441; stroke-width:1.8; }
.stripe-terms { margin:18px 0 0; color:#7a7f89; font-size:11px; line-height:1.5; text-align:center; }
.stripe-checkout-footer .stripe-terms { margin-top:7px; font-size:8px; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

/* Payment confirmation and complete receipt */
.payment-flow-dialog,
.payment-flow-dialog h1,
.payment-flow-dialog h2,
.payment-flow-dialog h3,
.payment-flow-dialog button { font-family:"IBM Plex Sans",Arial,sans-serif; }
.payment-flow-dialog .create-dialog-header-copy h2 { letter-spacing:-.035em; }
.payment-flow-dialog .badge { width:auto; justify-self:start; }
.payment-success { max-width:680px; margin:0 auto; padding:12px 8px 6px; text-align:center; }
.payment-success-check { display:grid; width:64px; height:64px; margin:0 auto 18px; place-items:center; border-radius:50%; background:#dff6e7; color:#14643c; font-size:30px; font-weight:900; }
.payment-success h2 { margin-bottom:6px; font-size:32px; }
.payment-success > strong { display:block; margin:18px 0 2px; font-size:42px; letter-spacing:-.05em; }
.payment-success > p { color:#6b6d67; }
.payment-success dl { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:26px 0 0; overflow:hidden; border:1px solid #dedbd2; border-radius:12px; background:#dedbd2; text-align:left; }
.payment-success dl div { padding:15px 16px; background:#fff; }
.payment-success dt,.receipt-details dt { color:#74766f; font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.payment-success dd,.receipt-details dd { margin:5px 0 0; font-weight:750; }
.receipt-sheet { max-width:760px; margin:0 auto; padding:34px; border:1px solid #d9d6cd; border-radius:14px; background:#fff; color:#191b18; }
.receipt-brand { display:flex; gap:20px; align-items:flex-start; justify-content:space-between; padding-bottom:26px; border-bottom:1px solid #dedbd2; }
.receipt-brand > div { display:flex; gap:12px; align-items:center; }
.receipt-brand img { width:26px; height:48px; object-fit:contain; }
.receipt-brand strong,.receipt-brand small { display:block; }
.receipt-brand small { margin-top:3px; color:#70736c; font-size:10px; }
.receipt-brand > span { color:#777a73; font-size:11px; font-weight:900; letter-spacing:.15em; }
.receipt-heading { display:flex; gap:24px; align-items:flex-start; justify-content:space-between; padding:30px 0; }
.receipt-heading h2 { margin:8px 0 5px; font-size:30px; }
.receipt-heading p { margin:0; color:#74776f; font-size:12px; }
.receipt-heading > strong { font-size:34px; letter-spacing:-.04em; }
.receipt-paid { display:inline-block; padding:5px 9px; border-radius:999px; background:#e4f5e9; color:#19643d; font-size:10px; font-weight:850; text-transform:uppercase; }
.receipt-paid.processing { background:#fff0c7; color:#735600; }
.payment-success.processing .payment-success-check { background:#fff0c7; color:#735600; font-size:18px; letter-spacing:.08em; }
.receipt-line-items { overflow:hidden; border:1px solid #dedbd2; border-radius:10px; }
.receipt-line { display:grid; grid-template-columns:minmax(0,1fr) 130px; gap:20px; align-items:center; padding:15px 17px; }
.receipt-line.head { background:#f5f5f2; color:#777a73; font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.receipt-line > :last-child { text-align:right; }
.receipt-line strong,.receipt-line small { display:block; }
.receipt-line small { margin-top:4px; color:#74776f; }
.receipt-total { display:flex; align-items:center; justify-content:space-between; padding:17px; border-top:1px solid #dedbd2; background:#fbfaf7; }
.receipt-total strong { font-size:20px; }
.receipt-details { display:grid; grid-template-columns:1fr 1fr; gap:22px 36px; margin:30px 0; }
.receipt-details div { min-width:0; }
.receipt-details dd { overflow-wrap:anywhere; }
.receipt-note { padding-top:24px; border-top:1px solid #dedbd2; }
.receipt-note p { margin:6px 0 0; color:#74776f; font-size:12px; line-height:1.5; }
.receipt-only-dialog { width:min(820px,calc(100% - 32px)); max-height:94vh; border-radius:16px; background:#fff; }
.receipt-view-shell { display:grid; grid-template-rows:auto minmax(0,1fr); max-height:94vh; background:#fff; }
.receipt-toolbar { position:sticky; top:0; z-index:2; display:flex; gap:14px; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid #dfddd6; background:#f6f5f1; }
.receipt-toolbar-actions { display:flex; gap:8px; align-items:center; }
.receipt-toolbar button { display:inline-flex; min-height:40px; gap:8px; align-items:center; justify-content:center; padding:9px 13px; border:1px solid #cfcdc6; border-radius:8px; background:#fff; color:#252721; font-size:11px; font-weight:800; box-shadow:none; }
.receipt-toolbar button:hover { border-color:#9e9b92; background:#fbfaf7; transform:translateY(-1px); }
.receipt-toolbar button:focus-visible { outline:3px solid rgba(194,145,0,.28); outline-offset:2px; }
.receipt-toolbar button.primary { border-color:#191b18; background:#191b18; color:#fff; }
.receipt-toolbar button.primary:hover { background:#2b2e28; }
.receipt-toolbar svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.receipt-toolbar-back { border-color:transparent!important; background:transparent!important; }
.receipt-view-body { overflow-y:auto; background:#fff; }
.receipt-only-dialog .receipt-sheet { max-width:none; margin:0; padding:38px 48px 48px; border:0; border-radius:0; }

@media (min-width:1001px) and (max-height:820px) {
  .stripe-summary-panel { padding-block:24px; }
  .stripe-back { min-height:34px; margin-bottom:22px; }
  .stripe-order { margin:32px 0; }
  .stripe-order h1 { font-size:40px; }
  .stripe-safe-note { padding-top:18px; }
  .stripe-payment-panel { padding-block:12px; }
  .stripe-checkout-header { padding-block:14px 12px; }
  .stripe-checkout-section { padding-block:10px 11px; }
  .stripe-checkout-footer { padding-block:10px 11px; }
  .stripe-form-shell.has-errors .stripe-checkout-header { padding-block:11px 9px; }
  .stripe-form-shell.has-errors .stripe-checkout-header p { display:none; }
  .stripe-form-shell.has-errors .stripe-form-alert { padding-block:6px; }
  .stripe-form-shell.has-errors .stripe-form-alert span { display:none; }
  .stripe-form-shell.has-errors .stripe-checkout-section { padding-block:7px 8px; }
  .stripe-form-shell.has-errors .stripe-section-title { margin-bottom:7px; }
  .stripe-form-shell.has-errors .stripe-checkout-footer { padding-block:7px 8px; }
  .stripe-form-shell.has-errors .stripe-checkout-footer .stripe-submit { min-height:42px; }
  .stripe-form-shell.has-errors .stripe-terms { display:none; }
}

@media (max-width:1000px) {
  .prod-pay-hero-grid { grid-template-columns:1fr; gap:38px; }
  .prod-dues-status { max-width:620px; }
  .prod-giving-grid { grid-template-columns:1fr; }
  .prod-giving-card { min-height:0; }
  .prod-pay-overview { grid-template-columns:1fr; }
  .prod-pay-account-modern { max-width:none; }
  .stripe-checkout-page { grid-template-columns:1fr; }
  .stripe-summary-panel { padding-block:38px; }
  .stripe-summary-inner { margin:0 auto; }
  .stripe-back { margin-bottom:34px; }
  .stripe-order { margin:34px 0; }
}

@media (max-width:720px) {
  .prod-pay-shell { width:calc(100% - 32px); }
  .prod-pay-hero { padding:42px 0; }
  .prod-pay-intro h1 { font-size:44px; }
  .prod-dues-status { grid-template-columns:44px minmax(0,1fr); padding:20px; border-radius:16px; }
  .prod-dues-check { width:42px; height:42px; }
  .prod-pay-main { padding:42px 0 60px; }
  .prod-pay-simple-head { padding:22px 0 20px; }
  .prod-pay-simple-head-grid { align-items:flex-start; flex-direction:column; }
  .prod-pay-simple-head h1 { font-size:38px; }
  .prod-pay-simple-trust { justify-content:flex-start; }
  .prod-pay-simple-body { padding-top:20px; }
  .prod-pay-section-heading { align-items:flex-start; flex-direction:column; }
  .prod-giving-card { padding:22px; }
  .prod-payment-row { grid-template-columns:1fr auto; gap:7px 16px; padding:15px 17px; }
  .prod-payment-row.head { display:none; }
  .prod-payment-row > span:first-child { color:#777a73; font-size:11px; }
  .prod-payment-row > span:nth-child(2) { grid-column:1; }
  .prod-payment-row > strong { grid-column:2; grid-row:2; }
  .prod-payment-row > span:last-child { grid-column:1 / -1; margin-top:5px; text-align:left; }
  .prod-support-modern-row { grid-template-columns:46px minmax(0,1fr); gap:11px 14px; padding:17px; }
  .prod-support-any-amount { grid-column:2; text-align:left; }
  .prod-support-modern-row > button { grid-column:2; justify-self:start; }
  .stripe-payment-panel { padding:38px 22px; }
  .stripe-summary-panel { padding:30px 22px; }
  .stripe-amount-layout,.stripe-card-grid { grid-template-columns:1fr; }
  .stripe-amounts { grid-template-columns:repeat(3,1fr); }
  .stripe-payment-methods,.stripe-contact-grid { grid-template-columns:1fr; }
  .stripe-checkout-header,.stripe-checkout-section,.stripe-checkout-footer { padding-inline:18px; }
  .payment-success dl,.receipt-details { grid-template-columns:1fr; }
  .receipt-sheet { padding:22px; }
  .receipt-heading { flex-direction:column; }
  .receipt-only-dialog { width:calc(100% - 20px); }
  .receipt-toolbar { align-items:stretch; flex-direction:column; }
  .receipt-toolbar-actions { display:grid; grid-template-columns:1fr 1fr; }
  .receipt-toolbar-back { justify-content:flex-start!important; }
  .receipt-only-dialog .receipt-sheet { padding:26px 22px 34px; }
}

@media print {
  body * { visibility:hidden; }
  .receipt-sheet,.receipt-sheet * { visibility:visible; }
  .receipt-toolbar { display:none!important; }
  .receipt-sheet { position:absolute; inset:0; max-width:none; padding:28px!important; border:0; }
}

.prod-tabs { display:flex; gap:6px; margin-bottom:24px; padding-bottom:0; border-bottom:1px solid var(--prod-line); }
.prod-tab { min-height:49px; padding:11px 14px; border:0; border-bottom:3px solid transparent; background:transparent; color:var(--prod-muted); font-weight:800; }
.prod-tab.active { border-color:var(--prod-gold); color:var(--prod-ink); }
.prod-tab span { display:inline-grid; min-width:22px; height:22px; margin-left:6px; padding:0 5px; place-items:center; border-radius:999px; background:#e8e1d4; font-size:10px; }

.prod-ledger-section + .prod-ledger-section { margin-top:38px; }
.prod-ledger-title { margin-bottom:14px; }
.prod-ledger-title h2 { margin-bottom:5px; font-size:29px; }
.prod-ledger-title p { margin-bottom:0; color:var(--prod-muted); }
.prod-ledger { overflow-x:auto; border:1px solid var(--prod-line); border-radius:7px; background:#fffdf7; }
.prod-ledger-row { display:grid; grid-template-columns:90px minmax(240px,1.2fr) minmax(170px,.8fr) 150px 110px 120px; gap:16px; align-items:center; min-width:980px; min-height:92px; padding:14px 18px; border-top:1px solid var(--prod-line); }
.prod-ledger-row.head { min-height:44px; border-top:0; background:#eee8dc; color:var(--prod-muted); font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.prod-date { text-align:center; }
.prod-date span,
.prod-date strong,
.prod-date small { display:block; }
.prod-date span { color:#7d5d0d; font-size:11px; font-weight:850; text-transform:uppercase; }
.prod-date strong { font-size:28px; line-height:1; }
.prod-date small { margin-top:4px; color:var(--prod-muted); }
.prod-ledger-match { display:grid; grid-template-columns:58px minmax(0,1fr); gap:14px; align-items:center; }
.prod-ledger-match img { width:52px; height:52px; object-fit:contain; }
.prod-ledger-match strong,
.prod-ledger-match small,
.prod-ledger-meta strong,
.prod-ledger-meta small,
.prod-ledger-status strong,
.prod-ledger-status small { display:block; }
.prod-ledger-match small,
.prod-ledger-meta small,
.prod-ledger-status small { margin-top:4px; color:var(--prod-muted); font-size:11px; }
.prod-ledger-action { min-height:42px; border:1px solid #242622; border-radius:5px; background:transparent; color:#242622; font-size:12px; font-weight:850; }

/* Ticket and RSVP member experience */
.prod-ticket-hub { border-radius:10px; }
.ticket-page-heading { margin:0; padding:27px 30px 24px; }
.ticket-page-heading h1 { font-size:clamp(42px,4.4vw,60px); }
.ticket-tabs { margin:0; padding:0 28px; }
.ticket-hub-body { padding:27px 30px 32px; }
.ticket-list-section + .ticket-list-section { margin-top:34px; }
.ticket-list { overflow:hidden; border:1px solid var(--prod-line); border-radius:8px; background:#fff; }
.ticket-list-head,
.ticket-list-row { display:grid; grid-template-columns:64px 82px minmax(230px,1fr) 180px 150px 126px; gap:14px; align-items:center; }
.ticket-list-head { min-height:38px; padding:8px 16px; background:#eee8dc; color:#777368; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.ticket-list-row { width:100%; min-height:96px; padding:12px 16px; border:0; border-top:1px solid var(--prod-line); background:#fff; color:var(--prod-ink); text-align:left; }
.ticket-list-row:hover { background:#fcf9f1; }
.ticket-list-row:focus-visible { position:relative; z-index:1; outline:3px solid rgba(190,139,0,.32); outline-offset:-3px; }
.ticket-list-copy strong,.ticket-list-copy small,
.ticket-list-status strong,.ticket-list-status small,
.ticket-list-price strong,.ticket-list-price small { display:block; }
.ticket-list-copy strong { font-size:16px; }
.ticket-list-copy small,.ticket-list-status small,.ticket-list-price small { margin-top:4px; color:var(--prod-muted); font-size:10px; }
.ticket-list-status strong { font-size:12px; }
.ticket-list-status.confirmed strong { color:#14613d; }
.ticket-list-price { text-align:right; }
.ticket-list-price strong { font-size:16px; }
.ticket-list-price small { color:#75570a; font-weight:800; }
.ticket-team-pair { display:flex; gap:6px; align-items:center; justify-content:center; }
.ticket-team-pair img { width:42px; height:42px; object-fit:contain; }
.ticket-team-pair span { color:#8b877e; font-family:Georgia,serif; font-size:9px; font-weight:700; text-transform:uppercase; }
.ticket-team-pair.compact img { width:31px; height:31px; }
.ticket-event-picture { display:block; width:78px; height:58px; overflow:hidden; border-radius:7px; background:#e9e4d8; }
.ticket-event-picture img { width:100%; height:100%; object-fit:cover; }
.ticket-event-picture.compact { width:72px; height:52px; }

.ticket-detail-page { min-height:100vh; background:#f6f2e8; }
.ticket-detail-back { min-height:42px; margin:0 0 14px; padding:8px 0; border:0; background:transparent; color:#5d4b1d; font-size:12px; font-weight:800; }
.ticket-detail-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); min-height:340px; overflow:hidden; border-radius:10px; background:#192120; color:white; }
.ticket-detail-copy { padding:42px 44px; }
.ticket-detail-copy .prod-eyebrow { color:#e8b823; }
.ticket-detail-copy h1 { max-width:720px; margin:0 0 15px; font-size:clamp(42px,4.6vw,64px); line-height:1; letter-spacing:-.045em; }
.ticket-detail-copy > p { max-width:700px; margin:0; color:#d4d9d6; font-size:15px; line-height:1.55; }
.ticket-detail-facts { display:grid; grid-template-columns:1.35fr .65fr 1fr; gap:1px; margin-top:34px; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:7px; background:rgba(255,255,255,.16); }
.ticket-detail-facts div { padding:12px 14px; background:#202a28; }
.ticket-detail-facts span,.ticket-detail-facts strong,.ticket-detail-facts small { display:block; }
.ticket-detail-facts span { color:#aeb8b4; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ticket-detail-facts strong { margin-top:5px; font-size:12px; }
.ticket-detail-facts small { margin-top:3px; color:#bfc7c3; font-size:9px; font-weight:500; }
.ticket-detail-matchup { display:grid; grid-template-columns:1fr 42px 1fr; gap:14px; align-items:center; padding:32px; background:radial-gradient(circle at center,rgba(224,172,18,.22),transparent 62%),#111817; }
.ticket-detail-matchup > div { display:grid; gap:13px; justify-items:center; text-align:center; }
.ticket-detail-matchup img { width:104px; height:92px; object-fit:contain; }
.ticket-detail-matchup strong { font-size:17px; }
.ticket-detail-matchup > span { display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(255,255,255,.34); border-radius:50%; font-family:Georgia,serif; font-size:11px; }
.ticket-detail-photo { position:relative; min-height:340px; }
.ticket-detail-photo::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,rgba(25,33,32,.35),transparent 45%); }
.ticket-detail-photo img { width:100%; height:100%; min-height:340px; object-fit:cover; }
.ticket-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:22px; align-items:start; margin-top:22px; }
.ticket-overview,.ticket-action-card { border:1px solid var(--prod-line); border-radius:9px; background:#fffdf7; }
.ticket-overview { padding:31px 34px; }
.ticket-overview h2 { margin:0 0 11px; font-size:30px; }
.ticket-overview > p { max-width:800px; color:var(--prod-muted); font-size:14px; line-height:1.6; }
.ticket-detail-list { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:24px; }
.ticket-detail-list > div { display:grid; grid-template-columns:22px minmax(0,1fr); gap:8px; padding:13px; border:1px solid #ded8ca; border-radius:7px; background:#faf7ee; }
.ticket-detail-list span { display:grid; width:20px; height:20px; place-items:center; border-radius:50%; background:#dff3e6; color:#14613d; font-size:10px; font-weight:900; }
.ticket-detail-list p { margin:1px 0 0; font-size:11px; line-height:1.45; }
.ticket-help-row { display:flex; gap:22px; align-items:center; justify-content:space-between; margin-top:27px; padding-top:21px; border-top:1px solid var(--prod-line); }
.ticket-help-row strong,.ticket-help-row span { display:block; }
.ticket-help-row span { margin-top:3px; color:var(--prod-muted); font-size:11px; }
.ticket-help-row button { min-height:40px; padding:8px 12px; border:1px solid #aaa18e; border-radius:6px; background:transparent; color:#3f3b31; font-size:11px; font-weight:800; }
.ticket-action-card { position:sticky; top:74px; padding:24px; }
.ticket-action-card h2 { margin:0 0 8px; font-size:25px; line-height:1.15; }
.ticket-action-card > p { margin:0 0 18px; color:var(--prod-muted); font-size:12px; line-height:1.5; }
.ticket-action-price { display:flex; gap:8px; align-items:baseline; margin-bottom:10px; }
.ticket-action-price h2 { margin:0; font-size:34px; }
.ticket-action-price span { color:var(--prod-muted); font-size:10px; }
.ticket-confirmed-box { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:center; margin:15px 0; padding:12px; border:1px solid #b7d9c5; border-radius:7px; background:#edf8f1; }
.ticket-confirmed-box > span { display:grid; width:32px; height:32px; place-items:center; border-radius:50%; background:#b9f2cb; color:#145b38; font-weight:900; }
.ticket-confirmed-box strong,.ticket-confirmed-box small { display:block; }
.ticket-confirmed-box small { margin-top:3px; color:#52705e; font-size:9px; }
.ticket-quantity-row,.ticket-order-total { display:flex; align-items:center; justify-content:space-between; padding:11px 0; border-top:1px solid var(--prod-line); font-size:11px; }
.ticket-rsvp-quantity { gap:16px; border-bottom:1px solid var(--prod-line); }
.ticket-rsvp-label strong,.ticket-rsvp-label small { display:block; }
.ticket-rsvp-label strong { color:#282b26; font-size:11px; }
.ticket-rsvp-label small { margin-top:3px; color:var(--prod-muted); font-size:9px; font-weight:500; }
.ticket-order-total { border-bottom:1px solid var(--prod-line); }
.ticket-order-total strong { font-size:19px; }
.ticket-quantity { display:grid; grid-template-columns:34px 36px 34px; overflow:hidden; border:1px solid #b9b5ab; border-radius:6px; background:#fff; }
.ticket-quantity button,.ticket-quantity strong { display:grid; min-height:34px; place-items:center; border:0; background:transparent; color:#22241f; }
.ticket-quantity button { font-size:17px; }
.ticket-quantity button:hover { background:#f1eee6; }
.ticket-primary-action,.ticket-secondary-action { width:100%; min-height:46px; margin-top:16px; border-radius:7px; font-size:12px; font-weight:850; }
.ticket-primary-action { border:1px solid #171a16; background:#171a16; color:#fff; }
.ticket-primary-action:disabled { border-color:#c9c6bd; background:#dedbd2; color:#817f78; }
.ticket-secondary-action { border:1px solid #9d978a; background:transparent; color:#4d493f; }
.ticket-action-note { display:block; margin-top:10px; color:#7a776f; font-size:9px; line-height:1.4; text-align:center; }

.ticket-checkout-summary { background:linear-gradient(145deg,#07100f,#1d2725 67%,#3a2c0b); }
.ticket-checkout-matchup { display:flex; gap:14px; align-items:center; margin:32px 0 10px; }
.ticket-checkout-matchup img { width:74px; height:64px; object-fit:contain; }
.ticket-checkout-matchup span { display:grid; width:36px; height:36px; place-items:center; border:1px solid rgba(255,255,255,.32); border-radius:50%; font-family:Georgia,serif; font-size:9px; }
.ticket-checkout-event-image { width:100%; height:128px; margin:27px 0 10px; overflow:hidden; border-radius:8px; }
.ticket-checkout-event-image img { width:100%; height:100%; object-fit:cover; }
.ticket-stripe-order { margin:22px 0 34px; }
.ticket-stripe-order h1 { font-size:clamp(32px,3.3vw,45px); }
.ticket-checkout-order-row { display:grid; grid-template-columns:76px minmax(0,1fr) auto 92px; gap:12px; align-items:center; }
.ticket-checkout-order-row > div:nth-child(2) strong,.ticket-checkout-order-row > div:nth-child(2) small { display:block; }
.ticket-checkout-order-row > div:nth-child(2) strong { font-size:12px; }
.ticket-checkout-order-row > div:nth-child(2) small { margin-top:3px; color:#737884; font-size:9px; }
.ticket-checkout-order-row > strong { font-size:14px; text-align:right; }

/* Modern alumni directory */
.directory-modern-site { min-height:100vh; background:#f4f2ed; }
.directory-modern-page { width:min(1420px,calc(100% - 52px)); margin:0 auto; padding:25px 0 46px; }
.directory-modern-heading { display:flex; gap:28px; align-items:flex-end; justify-content:space-between; margin-bottom:15px; }
.directory-modern-heading .prod-eyebrow { margin-bottom:7px; }
.directory-modern-heading h1 { margin:0; font-size:clamp(38px,4vw,54px); line-height:1; letter-spacing:-.045em; }
.directory-modern-heading p { max-width:760px; margin:8px 0 0; color:#686c66; font-size:13px; }
.directory-heading-stat { display:flex; gap:9px; align-items:baseline; padding-bottom:3px; white-space:nowrap; }
.directory-heading-stat strong { font-size:29px; letter-spacing:-.04em; }
.directory-heading-stat span { color:#6e726c; font-size:11px; font-weight:700; }
.directory-search-shell { display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:11px; align-items:center; min-height:58px; padding:9px 14px; border:1px solid #d4d2cc; border-radius:10px; background:#fff; box-shadow:0 7px 25px rgba(27,31,28,.045); }
.directory-search-shell > svg { width:19px; height:19px; fill:none; stroke:#60655f; stroke-linecap:round; stroke-width:1.8; }
.directory-search-shell label { display:block; }
.directory-search-input { width:100%; min-height:38px; padding:6px 0; border:0; background:transparent; color:#1d201c; font-size:15px; outline:none; }
.directory-search-input::placeholder { color:#989b95; }
.directory-search-shell > span { display:flex; gap:4px; color:#747872; }
.directory-search-shell kbd { display:grid; min-width:23px; height:23px; padding:0 5px; place-items:center; border:1px solid #d5d4cf; border-radius:5px; background:#f7f6f3; font:600 9px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; box-shadow:none; }
.directory-modern-workspace { display:grid; grid-template-columns:220px minmax(430px,.9fr) minmax(390px,1.1fr); gap:14px; height:max(500px,calc(100vh - 258px)); max-height:670px; margin-top:14px; }
.directory-filter-panel,.directory-results-panel,.directory-detail-panel { overflow:hidden; border:1px solid #d5d3cc; border-radius:10px; background:#fff; }
.directory-filter-panel { display:flex; min-width:0; padding:17px; flex-direction:column; overflow-y:auto; }
.directory-filter-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.directory-filter-heading h2 { margin:0; font-size:17px; }
.directory-filter-heading button { min-height:32px; padding:6px 8px; border:0; background:transparent; color:#76580a; font-size:10px; font-weight:800; }
.directory-filter-panel > label { display:grid; gap:6px; margin-bottom:13px; color:#5f645e; font-size:10px; font-weight:800; }
.directory-filter-panel select { width:100%; min-height:40px; padding:8px 30px 8px 10px; border:1px solid #d1d0cb; border-radius:7px; background:#fbfbf9; color:#262a25; font:600 11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.directory-filter-panel .directory-check { grid-template-columns:18px minmax(0,1fr); gap:9px; align-items:start; margin-top:3px; padding:12px 0; border-top:1px solid #e2e0db; border-bottom:1px solid #e2e0db; color:#2b2f2a; }
.directory-check input { width:17px; height:17px; margin:1px 0 0; accent-color:#8f6a05; }
.directory-check strong,.directory-check small { display:block; }
.directory-check small { margin-top:3px; color:#737771; font-size:9px; font-weight:500; line-height:1.4; }
.directory-privacy-note { display:grid; grid-template-columns:24px minmax(0,1fr); gap:8px; align-items:start; margin-top:auto; padding-top:14px; color:#4d544e; }
.directory-privacy-note > span { display:grid; width:22px; height:22px; place-items:center; border-radius:50%; background:#eaf4ed; color:#17613e; font-size:9px; }
.directory-privacy-note strong,.directory-privacy-note small { display:block; }
.directory-privacy-note strong { font-size:10px; }
.directory-privacy-note small { margin-top:3px; color:#757973; font-size:8px; line-height:1.4; }
.directory-results-panel { display:grid; grid-template-rows:auto minmax(0,1fr); }
.directory-results-panel > header { display:flex; min-height:69px; padding:13px 15px; align-items:center; justify-content:space-between; border-bottom:1px solid #dedcd6; background:#fbfaf7; }
.directory-results-panel > header .prod-eyebrow { margin:0 0 3px; font-size:8px; }
.directory-results-panel > header h2 { margin:0; font-size:19px; }
.directory-results-panel > header > span { color:#777b75; font-size:9px; }
.directory-results { overflow-y:auto; scrollbar-color:#c6c3ba transparent; scrollbar-width:thin; }
.directory-person-row { position:relative; display:grid; grid-template-columns:54px minmax(0,1fr) 116px auto 16px; gap:11px; align-items:center; width:100%; min-height:76px; padding:10px 13px; border:0; border-top:1px solid #e3e1dc; background:#fff; color:#222621; text-align:left; }
.directory-person-row:first-child { border-top:0; }
.directory-person-row:hover { background:#faf9f5; }
.directory-person-row.selected { background:#f6f1e1; }
.directory-person-row.selected::before { position:absolute; top:9px; bottom:9px; left:0; width:3px; border-radius:0 3px 3px 0; content:""; background:#b88a0d; }
.directory-person-row:focus-visible { z-index:1; outline:3px solid rgba(184,138,13,.28); outline-offset:-3px; }
.directory-person-row > img { width:52px; height:52px; border-radius:50%; object-fit:cover; background:#e5e1d7; }
.directory-person-main strong,.directory-person-main small,.directory-person-main span,.directory-person-meta strong,.directory-person-meta small { display:block; }
.directory-person-main strong { font-size:13px; }
.directory-person-main small { margin-top:3px; color:#3f4540; font-size:10px; }
.directory-person-main span { margin-top:3px; color:#7a7e78; font-size:9px; }
.directory-person-meta { text-align:right; }
.directory-person-meta strong { color:#50554f; font-size:9px; }
.directory-person-meta small { margin-top:4px; color:#858981; font-size:8px; }
.directory-mentor-dot { padding:4px 6px; border-radius:999px; background:#e7f4eb; color:#17613e; font-size:7px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.directory-person-row > b { color:#8e6a0a; font-size:14px; }
.directory-results-empty,.directory-detail-empty { display:grid; height:100%; padding:30px; align-content:center; justify-items:center; color:#737770; text-align:center; }
.directory-results-empty > span,.directory-detail-empty > span { font-size:28px; }
.directory-results-empty strong,.directory-detail-empty h2 { margin:9px 0 4px; color:#272b26; }
.directory-results-empty p,.directory-detail-empty p { max-width:270px; margin:0; font-size:10px; line-height:1.5; }
.directory-detail-panel { overflow-y:auto; scrollbar-color:#c6c3ba transparent; scrollbar-width:thin; }
.directory-profile-cover { display:flex; height:74px; padding:13px 17px; align-items:flex-end; justify-content:flex-end; background:linear-gradient(130deg,#17211f,#2f3832 72%,#8b6810); color:rgba(255,255,255,.72); font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.directory-profile-main { position:relative; padding:0 22px 22px; }
.directory-profile-photo { width:88px; height:88px; margin-top:-37px; border:4px solid #fff; border-radius:50%; object-fit:cover; background:#eee; }
.directory-profile-heading { margin-top:8px; padding-right:150px; }
.directory-profile-status { color:#80610d; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.directory-profile-heading h2 { margin:4px 0 4px; font-size:26px; line-height:1.05; }
.directory-profile-heading p { margin:0; color:#3d433d; font-size:11px; font-weight:700; }
.directory-profile-heading > span:last-child { display:block; margin-top:5px; color:#787c76; font-size:9px; }
.directory-contact-button { position:absolute; top:18px; right:22px; display:inline-flex; min-width:128px; min-height:44px; gap:16px; padding:9px 16px; align-items:center; justify-content:center; border:1px solid #292a27; border-radius:6px; background:#fff; color:#292a27; font-size:10px; font-weight:800; text-decoration:none; transition:transform .16s ease,border-color .16s ease,background-color .16s ease; }
.directory-contact-button::after { content:"→"; font-size:14px; font-weight:500; line-height:1; }
.directory-contact-button:hover { border-color:#11130f; background:#faf9f5; transform:translateY(-2px) scale(1.015); }
.directory-contact-button:focus-visible { outline:3px solid rgba(184,138,13,.32); outline-offset:2px; }
.directory-contact-button svg { display:none; }
.directory-profile-about { margin:17px 0 13px; color:#666b65; font-size:11px; line-height:1.55; }
.directory-profile-tags { display:flex; flex-wrap:wrap; gap:6px; }
.directory-profile-tags span { padding:5px 8px; border:1px solid #d8d4ca; border-radius:999px; background:#fbfaf7; color:#51564f; font-size:8px; font-weight:750; }
.directory-profile-facts { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:16px 0 0; overflow:hidden; border:1px solid #dedbd3; border-radius:7px; background:#dedbd3; }
.directory-profile-facts div { min-width:0; padding:10px 11px; background:#fff; }
.directory-profile-facts dt { color:#858982; font-size:7px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.directory-profile-facts dd { margin:4px 0 0; overflow-wrap:anywhere; color:#2e332e; font-size:9px; font-weight:700; }
.directory-mentoring-note { display:grid; grid-template-columns:28px minmax(0,1fr); gap:9px; align-items:center; margin-top:13px; padding:10px; border:1px solid #bed9c8; border-radius:7px; background:#eef7f1; }
.directory-mentoring-note > span { display:grid; width:26px; height:26px; place-items:center; border-radius:50%; background:#c8efd5; color:#17613e; font-size:10px; font-weight:900; }
.directory-mentoring-note strong,.directory-mentoring-note small { display:block; }
.directory-mentoring-note strong { font-size:9px; }
.directory-mentoring-note small { margin-top:2px; color:#5b7463; font-size:8px; }

.prod-directory-top { display:flex; gap:24px; align-items:center; justify-content:space-between; margin-bottom:18px; }
.prod-directory-stats { display:flex; gap:8px; }
.prod-directory-stat { min-width:92px; padding:10px 12px; border:1px solid var(--prod-line); background:#fffdf7; text-align:center; }
.prod-directory-stat strong,
.prod-directory-stat span { display:block; }
.prod-directory-stat strong { font-size:22px; }
.prod-directory-stat span { color:var(--prod-muted); font-size:10px; text-transform:uppercase; }
.prod-directory-grid { display:grid; grid-template-columns:260px minmax(330px,.9fr) minmax(330px,1.05fr); gap:16px; }
.prod-directory-rail,
.prod-directory-list,
.prod-directory-detail { border:1px solid var(--prod-line); border-radius:7px; background:#fffdf7; }
.prod-directory-rail-head { padding:20px; border-bottom:1px solid var(--prod-line); background:#202829; color:white; }
.prod-directory-rail-head h2 { margin-bottom:6px; font-size:22px; }
.prod-directory-rail-head p { margin-bottom:0; color:#d5d7d6; font-size:12px; }
.prod-rail-section { padding:16px; border-bottom:1px solid var(--prod-line); }
.prod-rail-section > span { display:block; margin-bottom:9px; color:var(--prod-muted); font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.prod-rail-button { display:flex; width:100%; min-height:42px; padding:9px 10px; align-items:center; justify-content:space-between; border:0; background:transparent; color:var(--prod-ink); font-size:12px; text-align:left; }
.prod-rail-button.active { background:#fff0b5; font-weight:800; }
.prod-directory-search { display:flex; gap:8px; padding:14px; border-bottom:1px solid var(--prod-line); }
.prod-directory-search input { width:100%; min-height:44px; padding:10px 12px; border:1px solid #aba698; border-radius:5px; background:white; }
.prod-member-row { display:grid; grid-template-columns:48px minmax(0,1fr) 20px; gap:12px; align-items:center; width:100%; min-height:76px; padding:12px 14px; border:0; border-top:1px solid var(--prod-line); background:transparent; color:var(--prod-ink); text-align:left; }
.prod-member-row:first-of-type { border-top:0; }
.prod-member-row.selected { background:#fff4cd; }
.prod-member-avatar { display:grid; width:44px; height:44px; place-items:center; border-radius:50%; background:#d8c790; color:#3c3114; font-weight:850; }
.prod-member-row strong,
.prod-member-row small { display:block; }
.prod-member-row small { margin-top:4px; color:var(--prod-muted); font-size:11px; }
.prod-directory-detail-cover { height:96px; background:linear-gradient(135deg,#263234,#70561b); }
.prod-directory-detail-main { padding:0 22px 24px; }
.prod-detail-avatar { display:grid; width:88px; height:88px; margin-top:-44px; place-items:center; border:5px solid #fffdf7; border-radius:50%; background:var(--prod-gold); font-size:25px; font-weight:850; }
.prod-directory-detail h2 { margin:14px 0 3px; font-size:28px; }
.prod-directory-detail p { color:var(--prod-muted); }
.prod-member-tags { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0; }
.prod-member-tags span { padding:6px 9px; border-radius:999px; background:#ece6da; font-size:10px; font-weight:750; }
.prod-detail-list { display:grid; margin-top:18px; border-top:1px solid var(--prod-line); }
.prod-detail-list div { display:grid; grid-template-columns:100px 1fr; gap:14px; padding:12px 0; border-bottom:1px solid var(--prod-line); }
.prod-detail-list dt { color:var(--prod-muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.prod-detail-list dd { margin:0; font-size:13px; font-weight:650; }

.prod-news-hero { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:end; padding-bottom:28px; border-bottom:1px solid var(--prod-line); }
.prod-news-hero h1 { margin-bottom:10px; font-size:clamp(52px,5vw,78px); }
.prod-news-hero p { max-width:720px; margin-bottom:0; color:var(--prod-muted); font-size:17px; }
.prod-news-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:22px; margin-top:24px; align-items:start; }
.prod-news-feature { position:relative; display:grid; min-height:390px; padding:30px; align-content:end; overflow:hidden; border-radius:7px; background-size:cover; background-position:center; color:white; }
.prod-news-feature::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.88)); }
.prod-news-feature > div { position:relative; z-index:1; max-width:740px; }
.prod-news-feature span { color:var(--prod-gold); font-size:10px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.prod-news-feature h2 { margin:8px 0; font-size:clamp(32px,4vw,54px); }
.prod-news-feature p { margin-bottom:14px; color:#e5e4de; }
.prod-news-table { margin-top:16px; overflow:hidden; border:1px solid var(--prod-line); border-radius:7px; background:#fffdf7; }
.prod-news-row { display:grid; width:100%; grid-template-columns:72px minmax(180px,.9fr) minmax(240px,1.2fr) 110px 120px; gap:14px; align-items:center; min-height:98px; padding:12px 16px; border-top:1px solid var(--prod-line); border-right:0; border-bottom:0; border-left:0; background:transparent; color:var(--prod-ink); text-align:left; }
.prod-news-row.head { min-height:44px; border-top:0; background:#eee8dc; color:var(--prod-muted); font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.prod-news-date { text-align:center; }
.prod-news-date span,
.prod-news-date strong { display:block; }
.prod-news-date span { color:#765a12; font-size:10px; text-transform:uppercase; }
.prod-news-date strong { font-size:24px; }
.prod-news-story span,
.prod-news-story strong { display:block; }
.prod-news-story span { color:#80610d; font-size:9px; font-weight:850; text-transform:uppercase; }
.prod-news-story strong { margin-top:5px; }
.prod-news-row p { margin-bottom:0; color:var(--prod-muted); font-size:12px; line-height:1.4; }
.prod-news-side { padding:24px; border:1px solid var(--prod-line); border-radius:7px; background:#fffdf7; }
.prod-news-side h2 { margin-bottom:8px; font-size:27px; }
.prod-news-side > p { color:var(--prod-muted); font-size:13px; }
.prod-news-side-link { display:block; width:100%; padding:14px 0; border:0; border-top:1px solid var(--prod-line); background:transparent; color:var(--prod-ink); text-align:left; }
.prod-news-side-link strong,
.prod-news-side-link small { display:block; }
.prod-news-side-link small { margin-top:4px; color:var(--prod-muted); }

.prod-feed-page { background:#edece8; }
.prod-feed-shell { display:grid; grid-template-columns:250px minmax(420px,680px) 280px; gap:18px; width:min(1260px,calc(100% - 48px)); margin:0 auto; padding:34px 0 70px; align-items:start; }
.prod-feed-left,
.prod-feed-right,
.prod-feed-main { display:grid; gap:14px; }
.prod-feed-card { border:1px solid #d1d0ca; border-radius:7px; background:white; }
.prod-feed-profile-cover { height:70px; background:linear-gradient(135deg,#232d2f,#8e6e20); }
.prod-feed-profile-main { padding:0 18px 20px; }
.prod-feed-photo { display:grid; width:72px; height:72px; margin-top:-36px; place-items:center; border:4px solid white; border-radius:50%; background:var(--prod-gold); font-size:21px; font-weight:850; }
.prod-feed-profile-main h1 { margin:10px 0 4px; font-size:21px; }
.prod-feed-profile-main p,
.prod-feed-profile-main small { display:block; margin-bottom:3px; color:var(--prod-muted); font-size:11px; }
.prod-feed-stats { display:grid; grid-template-columns:1fr 1fr; }
.prod-feed-stats div { padding:14px; text-align:center; }
.prod-feed-stats div + div { border-left:1px solid #ddd; }
.prod-feed-stats span,
.prod-feed-stats strong { display:block; }
.prod-feed-stats span { color:var(--prod-muted); font-size:10px; }
.prod-feed-stats strong { margin-top:4px; font-size:20px; }
.prod-feed-links button { display:block; width:100%; min-height:42px; padding:10px 16px; border:0; border-top:1px solid #ddd; background:white; color:var(--prod-ink); text-align:left; font-weight:700; }
.prod-feed-links button:first-child { border-top:0; }
.prod-composer { padding:14px; }
.prod-composer-top { display:grid; grid-template-columns:44px 1fr; gap:11px; align-items:center; }
.prod-feed-avatar { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:#d8c790; font-size:12px; font-weight:850; }
.prod-composer-top button { min-height:44px; padding:10px 15px; border:1px solid #aaa; border-radius:999px; background:white; color:#65655f; text-align:left; }
.prod-composer-actions { display:flex; margin-top:12px; border-top:1px solid #ddd; }
.prod-composer-actions button { flex:1; min-height:38px; padding:8px; border:0; background:white; color:#454640; font-weight:700; }
.prod-feed-sort { display:flex; gap:10px; align-items:center; color:#666; font-size:11px; }
.prod-feed-sort::before { content:""; height:1px; flex:1; background:#c7c6c0; }
.prod-post { padding:18px; }
.prod-post-head { display:grid; grid-template-columns:44px 1fr auto; gap:11px; align-items:start; }
.prod-post-head h2 { margin:1px 0 2px; font-size:16px; letter-spacing:0; }
.prod-post-head p,
.prod-post-head small { display:block; margin-bottom:0; color:#70706b; font-size:11px; }
.prod-post-body { margin:15px 0; color:#262722; line-height:1.5; }
.prod-post-image { width:calc(100% + 36px); max-height:420px; margin:0 -18px; object-fit:cover; }
.prod-post-counts { display:flex; justify-content:space-between; padding:11px 0; color:#777; font-size:11px; }
.prod-post-actions { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #ddd; border-bottom:1px solid #ddd; }
.prod-post-actions button { min-height:42px; border:0; background:white; color:#50504b; font-weight:700; }
.prod-comment { display:grid; grid-template-columns:32px 1fr; gap:8px; margin-top:13px; }
.prod-comment .prod-feed-avatar { width:32px; height:32px; font-size:9px; }
.prod-comment div { padding:9px 11px; border-radius:14px; background:#f0f0ed; font-size:12px; }
.prod-comment strong { display:block; margin-bottom:2px; }
.prod-feed-side { padding:18px; }
.prod-feed-side h2 { margin-bottom:6px; font-size:21px; }
.prod-feed-side > p { color:#6a6a65; font-size:12px; }
.prod-feed-side button { display:block; width:100%; padding:12px 0; border:0; border-top:1px solid #ddd; background:white; color:var(--prod-ink); text-align:left; }
.prod-feed-side button strong,
.prod-feed-side button span { display:block; }
.prod-feed-side button span { margin-top:3px; color:#777; font-size:10px; }

.prod-footer { display:flex; gap:24px; align-items:center; justify-content:space-between; padding:28px clamp(24px,4.5vw,74px); border-top:1px solid #cfc9bc; background:#eee8dc; }
.prod-footer strong,
.prod-footer span { display:block; }
.prod-footer strong { font-size:14px; }
.prod-footer span { margin-top:3px; color:var(--prod-muted); font-size:10px; text-transform:uppercase; }
.prod-footer nav { display:flex; gap:6px; }
.prod-footer button { min-height:42px; padding:8px 12px; border:0; background:transparent; color:var(--prod-ink); font-weight:750; }
.prod-home .prod-footer { border-color:rgba(255,255,255,.15); background:#080b0a; color:white; }
.prod-home .prod-footer span,
.prod-home .prod-footer button { color:#d2d4d0; }

.prod-preview-return {
  position:fixed;
  z-index:50;
  bottom:18px;
  left:18px;
  min-height:46px;
  padding:10px 15px;
  border:1px solid #f1b82d;
  border-radius:7px;
  background:#151915;
  color:white;
  font-size:12px;
  font-weight:800;
}
.prod-preview-return:hover { background:#2a302a; }

/* The admin uses one navigation surface instead of stacked public/prototype bars. */
.admin-unified-header {
  position:relative;
  z-index:20;
  display:grid;
  grid-template-columns:minmax(245px,auto) minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  min-height:84px;
  padding:12px clamp(22px,4vw,58px);
  border-bottom:1px solid #d9d1c2;
  background:#fffdf7;
}

.admin-unified-brand {
  display:flex;
  gap:12px;
  align-items:center;
  padding:0;
  border:0;
  background:transparent;
  color:#15120d;
  text-align:left;
}
.admin-unified-brand img { width:32px; height:56px; object-fit:contain; }
.admin-unified-brand strong,
.admin-unified-brand small { display:block; }
.admin-unified-brand strong { font-family:"Besley",serif; font-size:17px; line-height:1.05; }
.admin-unified-brand small { margin-top:2px; color:#5c574e; font-size:10px; font-weight:750; text-transform:uppercase; }

.admin-unified-nav {
  display:flex;
  gap:5px;
  min-width:0;
  align-items:center;
  justify-content:center;
  overflow-x:auto;
  padding:2px;
  scrollbar-width:none;
}
.admin-unified-nav::-webkit-scrollbar { display:none; }
.admin-unified-tab {
  position:relative;
  flex:0 0 auto;
  min-height:48px;
  padding:10px 9px;
  border:0;
  background:transparent;
  color:#514d45;
  font-size:13px;
  font-weight:750;
}
.admin-unified-tab::after {
  content:"";
  position:absolute;
  right:9px;
  bottom:3px;
  left:9px;
  height:3px;
  background:#f1b82d;
  transform:scaleX(0);
}
.admin-unified-tab:hover,
.admin-unified-tab.active { color:#15120d; }
.admin-unified-tab:hover::after,
.admin-unified-tab.active::after { transform:scaleX(1); }

.admin-unified-actions { display:flex; gap:10px; align-items:center; }
.admin-local-label { color:#6a645a; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.admin-view-site {
  min-height:44px;
  padding:9px 14px;
  border:1px solid #15120d;
  border-radius:7px;
  background:#f1b82d;
  color:#15120d;
  font-size:12px;
  font-weight:850;
}

.prod-header.preview-mode {
  grid-template-columns:minmax(240px,auto) minmax(0,1fr) auto;
}
.prod-preview-label { text-align:center; }
.prod-preview-label span,
.prod-preview-label strong { display:block; }
.prod-preview-label span { color:#bfc4c2; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.prod-preview-label strong { margin-top:3px; color:white; font-size:14px; }
.prod-preview-back {
  min-height:42px;
  padding:8px 13px;
  border:1px solid #f1b82d;
  border-radius:7px;
  background:transparent;
  color:white;
  font-size:12px;
  font-weight:850;
}
.prod-preview-back:hover { background:#f1b82d; color:#15120d; }

.admin-submenu {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:28px;
  align-items:center;
  min-height:54px;
  padding:5px clamp(22px,4.5vw,74px);
  border-bottom:1px solid #d9d1c2;
  background:#f4efe4;
}
.admin-submenu-label { min-width:150px; }
.admin-submenu-label span,
.admin-submenu-label strong { display:block; }
.admin-submenu-label span { color:#776f63; font-size:9px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.admin-submenu-label strong { margin-top:3px; color:#171511; font-size:13px; }
.admin-submenu .admin-unified-nav { justify-content:flex-start; }
.admin-submenu .admin-unified-tab { min-height:40px; padding-top:6px; padding-bottom:6px; }

/* Account Center — signed-in and signed-out member experiences */
.prod-site:has(.account-auth-page) .prod-account::after { display:none; }
.account-center-page,.account-auth-page { padding:30px 0 66px; }
.account-member-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); min-height:210px; overflow:hidden; border:1px solid #303b38; border-radius:11px; background:#182321; color:#fff; }
.account-member-identity { display:flex; gap:22px; align-items:center; padding:34px 38px; }
.account-member-avatar { display:grid; width:82px; height:82px; flex:0 0 auto; place-items:center; border:2px solid #f1b82d; border-radius:50%; background:#f1b82d; color:#151914; font-size:25px; font-weight:900; }
.account-member-identity .route-eyebrow { color:#f1b82d; }
.account-member-identity h1 { margin:7px 0 7px; font-size:clamp(37px,4vw,56px); line-height:1; letter-spacing:-.05em; }
.account-member-identity p,.account-member-identity small { display:block; margin:0; color:#d4dbd7; }
.account-member-identity p { font-size:13px; font-weight:750; }
.account-member-identity small { margin-top:4px; font-size:11px; }
.account-health { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:13px; align-items:center; padding:28px 30px; border-left:1px solid rgba(241,184,45,.55); background:#202d2a; }
.account-health-check { display:grid; width:40px; height:40px; place-items:center; border-radius:50%; background:#b9f2cb; color:#145b38; font-size:19px; font-weight:900; }
.account-health div > span,.account-health div > strong,.account-health div > small { display:block; }
.account-health div > span { color:#aeb9b4; font-size:9px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.account-health div > strong { margin-top:4px; font-size:16px; }
.account-health div > small { margin-top:4px; color:#bdc7c2; font-size:9px; line-height:1.45; }
.account-health button { min-height:40px; padding:8px 11px; border:1px solid rgba(255,255,255,.45); border-radius:6px; background:transparent; color:#fff; font-size:10px; font-weight:800; }
.account-center-layout { display:grid; grid-template-columns:252px minmax(0,1fr); gap:18px; align-items:start; margin-top:18px; }
.account-center-nav { display:grid; overflow:hidden; border:1px solid #d7d3ca; border-radius:9px; background:#fff; }
.account-center-nav button { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; min-height:64px; padding:12px 15px; border:0; border-top:1px solid #e1ded7; background:#fff; color:#222620; text-align:left; }
.account-center-nav button:first-child { border-top:0; }
.account-center-nav button strong,.account-center-nav button small { display:block; }
.account-center-nav button strong { font-size:12px; }
.account-center-nav button small { margin-top:3px; color:#777b74; font-size:9px; font-weight:500; }
.account-center-nav button b { color:#99730b; font-size:14px; }
.account-center-nav button.active { border-left:3px solid #f1b82d; box-shadow:none !important; background:#fbf6e8; }
.account-center-panel { min-height:560px; padding:30px; border:1px solid #d7d3ca; border-radius:9px; background:#fff; }
.account-panel-heading { padding-bottom:22px; border-bottom:1px solid #dedbd3; }
.account-panel-heading h2 { margin:6px 0 7px; font-size:31px; line-height:1.05; }
.account-panel-heading p { max-width:700px; margin:0; color:#6e736c; font-size:12px; line-height:1.55; }
.account-overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:22px 0 26px; }
.account-overview-grid > div { display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; padding:15px; border:1px solid #dedbd3; border-radius:7px; background:#fbfaf6; }
.account-status-icon { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; background:#dff3e6; color:#17613e; font-size:11px; font-weight:900; }
.account-overview-grid p { margin:0; }
.account-overview-grid p span,.account-overview-grid p strong,.account-overview-grid p small { display:block; }
.account-overview-grid p span { color:#7c8079; font-size:8px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.account-overview-grid p strong { margin-top:3px; font-size:12px; }
.account-overview-grid p small { margin-top:3px; color:#777b75; font-size:8px; }
.account-panel-subheading { margin-bottom:10px; }
.account-panel-subheading h3 { margin:0; font-size:19px; }
.account-panel-subheading p { margin:3px 0 0; color:#777b75; font-size:10px; }
.account-settings-list { overflow:hidden; border-top:1px solid #dedbd3; }
.account-settings-list > div { display:flex; min-height:70px; gap:18px; padding:13px 2px; align-items:center; justify-content:space-between; border-bottom:1px solid #dedbd3; }
.account-settings-list > div > span:first-child { min-width:0; }
.account-settings-list strong,.account-settings-list small { display:block; }
.account-settings-list strong { font-size:12px; }
.account-settings-list small { margin-top:4px; color:#747871; font-size:9px; line-height:1.4; }
.account-settings-list button,.account-visibility-status button,.account-dues-banner button { min-height:38px; flex:0 0 auto; padding:8px 11px; border:1px solid #393b36; border-radius:5px; background:#fff; color:#262923; font-size:9px; font-weight:850; }
.account-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:22px 0; overflow:hidden; border:1px solid #dcd9d1; border-radius:7px; background:#dcd9d1; }
.account-detail-grid > div { padding:14px; background:#fbfaf7; }
.account-detail-grid span,.account-detail-grid strong { display:block; }
.account-detail-grid span { color:#7a7e77; font-size:8px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.account-detail-grid strong { margin-top:5px; font-size:11px; }
.account-visibility-status,.account-dues-banner { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:12px; align-items:center; margin:22px 0; padding:16px; border:1px solid #b9d9c4; border-radius:7px; background:#eff8f2; }
.account-visibility-status > span,.account-dues-banner > span { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#b9f2cb; color:#145b38; font-weight:900; }
.account-visibility-status strong,.account-visibility-status small,.account-dues-banner strong,.account-dues-banner small { display:block; }
.account-visibility-status strong,.account-dues-banner strong { font-size:11px; }
.account-visibility-status small,.account-dues-banner small { margin-top:3px; color:#577060; font-size:9px; line-height:1.4; }
.account-toggle-list { display:grid; border-top:1px solid #dedbd3; }
.account-toggle-list label { display:flex; min-height:72px; gap:18px; padding:14px 2px; align-items:center; justify-content:space-between; border-bottom:1px solid #dedbd3; }
.account-toggle-list strong,.account-toggle-list small { display:block; }
.account-toggle-list strong { font-size:12px; }
.account-toggle-list small { margin-top:3px; color:#747871; font-size:9px; }
.account-toggle-list input { position:relative; width:42px; height:24px; flex:0 0 auto; appearance:none; border:1px solid #aeadA6; border-radius:999px; background:#d9d8d2; }
.account-toggle-list input::after { position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; content:""; background:#fff; transition:transform 140ms ease; }
.account-toggle-list input:checked { border-color:#1d6b47; background:#277955; }
.account-toggle-list input:checked::after { transform:translateX(18px); }
.account-save-preferences,.account-security-danger { min-height:42px; margin-top:20px; padding:9px 13px; border-radius:6px; font-size:10px; font-weight:850; }
.account-save-preferences { border:1px solid #171a16; background:#171a16; color:#fff; }
.account-security-danger { border:1px solid #9f3528; background:#fff; color:#8f2f23; }
.account-security-summary { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:22px 0; }
.account-security-summary > div { padding:16px; border:1px solid #dedbd3; border-radius:7px; background:#fbfaf7; }
.account-security-summary span,.account-security-summary strong,.account-security-summary small { display:block; }
.account-security-summary span { color:#797d76; font-size:8px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.account-security-summary strong { margin-top:5px; font-size:11px; }
.account-security-summary small { margin-top:4px; color:#17613e; font-size:8px; font-weight:800; }
.account-security-summary button { min-height:36px; margin-top:12px; padding:7px 9px; border:1px solid #3c3f39; border-radius:5px; background:#fff; color:#282b25; font-size:9px; font-weight:850; }
.account-current-device { color:#17613e; font-size:9px; font-weight:850; }

.account-auth-page { display:grid; grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr); gap:0; min-height:650px; }
.account-auth-story { display:flex; padding:48px; flex-direction:column; justify-content:center; border:1px solid #25322f; border-right:0; border-radius:11px 0 0 11px; background:#182321; color:#fff; }
.account-auth-story > img { width:45px; height:78px; margin-bottom:25px; object-fit:contain; }
.account-auth-story .route-eyebrow { color:#f1b82d; }
.account-auth-story h1 { max-width:520px; margin:9px 0 16px; font-size:clamp(38px,4.2vw,58px); line-height:1; letter-spacing:-.052em; }
.account-auth-story > p { max-width:530px; margin:0; color:#cbd3cf; font-size:14px; line-height:1.6; }
.account-auth-benefits { display:grid; gap:12px; margin-top:30px; }
.account-auth-benefits > div { display:grid; grid-template-columns:26px minmax(0,1fr); gap:10px; align-items:start; }
.account-auth-benefits > div > span { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:#b9f2cb; color:#145b38; font-size:9px; font-weight:900; }
.account-auth-benefits p { margin:0; }
.account-auth-benefits strong,.account-auth-benefits small { display:block; }
.account-auth-benefits strong { font-size:11px; }
.account-auth-benefits small { margin-top:2px; color:#bfc9c4; font-size:9px; }
.account-auth-card { padding:48px clamp(36px,5vw,68px); border:1px solid #d7d3ca; border-radius:0 11px 11px 0; background:#fff; }
.account-auth-card > h1 { margin:8px 0 9px; font-size:clamp(34px,3.8vw,50px); line-height:1; letter-spacing:-.05em; }
.account-auth-card > p { max-width:570px; margin:0; color:#6f736d; font-size:12px; line-height:1.55; }
.account-auth-form { display:grid; gap:13px; margin-top:24px; }
.account-auth-name-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.account-auth-field { display:grid; gap:6px; color:#343833; font-size:10px; font-weight:800; }
.account-auth-field input { width:100%; min-height:48px; padding:10px 12px; border:1px solid #c9c8c2; border-radius:6px; background:#fff; color:#1c201c; font-size:13px; outline:none; }
.account-auth-field input:focus { border-color:#8f6a05; outline:2px solid rgba(241,184,45,.32); }
.account-auth-field input.invalid { border-color:#b63238; background:#fffafa; }
.account-auth-field small,.account-auth-check-error { min-height:0; color:#ad2831; font-size:8px; line-height:1.35; }
.account-auth-field small:empty,.account-auth-check-error:empty { display:none; }
.account-auth-primary { width:100%; min-height:48px; margin-top:3px; border:1px solid #171a16; border-radius:6px; background:#171a16; color:#fff; font-size:12px; font-weight:850; }
.account-auth-options { display:flex; gap:14px; align-items:center; justify-content:space-between; }
.account-auth-options label,.account-auth-check { display:flex; gap:8px; align-items:flex-start; color:#565b55; font-size:9px; font-weight:650; }
.account-auth-options input,.account-auth-check input { width:16px; height:16px; margin:0; accent-color:#8f6a05; }
.account-auth-options button { min-height:36px; padding:6px 0; border:0; background:transparent; color:#6f5209; font-size:9px; font-weight:850; }
.account-auth-check { line-height:1.45; }
.account-auth-switch { display:flex; gap:12px; align-items:center; justify-content:center; margin-top:23px; padding-top:19px; border-top:1px solid #dedbd3; color:#72766f; font-size:10px; }
.account-auth-switch button { min-height:36px; padding:7px 11px; border:1px solid #3d403a; border-radius:5px; background:#fff; color:#272a25; font-size:9px; font-weight:850; }
.account-auth-help { margin:16px 0 0 !important; color:#777b75 !important; font-size:9px !important; text-align:center; }
.account-auth-help button { padding:0; border:0; background:transparent; color:#6f5209; font-size:inherit; font-weight:850; }
.account-auth-form-alert { display:flex; gap:3px; padding:11px 12px; flex-direction:column; border-left:3px solid #bb3038; background:#fff0f0; color:#99262e; }
.account-auth-form-alert[hidden] { display:none; }
.account-auth-form-alert strong { font-size:10px; }
.account-auth-form-alert span { font-size:8px; }
.account-auth-success-mark { display:grid; width:48px; height:48px; margin-bottom:20px; place-items:center; border-radius:50%; background:#b9f2cb; color:#145b38; font-size:20px; font-weight:900; }
.account-auth-notice { margin:22px 0; padding:15px; border-left:3px solid #f1b82d; background:#fbf6e8; }
.account-auth-notice strong,.account-auth-notice span { display:block; }
.account-auth-notice strong { font-size:10px; }
.account-auth-notice span { margin-top:4px; color:#6d716b; font-size:9px; line-height:1.45; }

/* Compact desktop pass for standard 14-inch laptop viewports. */
@media (min-width: 1121px) and (max-width: 1728px) and (max-height: 1050px) {
  body { font-size:15px; }

  .prod-header {
    min-height:58px;
    padding:4px clamp(22px,4vw,58px);
  }
  .prod-brand img { width:22px; height:40px; }
  .prod-brand strong { font-size:13px; }
  .prod-brand small { font-size:9px; }
  .prod-nav { gap:clamp(20px,3.8vw,56px); }
  .prod-nav button { min-height:40px; padding-block:6px; font-size:12px; }
  .prod-account { width:36px; height:36px; }
  .prod-account svg { width:21px; height:21px; }

  .admin-submenu {
    min-height:46px;
    gap:20px;
    padding:3px clamp(22px,4vw,58px);
  }
  .admin-submenu-label { min-width:135px; }
  .admin-submenu-label strong { font-size:12px; }
  .admin-submenu .admin-unified-tab { min-height:36px; padding:5px 8px; font-size:11.5px; }

  .page-shell { padding:32px clamp(22px,3vw,44px) 44px; }
  .breadcrumb { margin-bottom:8px; font-size:13px; }
  .page-heading { margin-bottom:20px; }
  .page-shell h1 { font-size:clamp(36px,3.2vw,48px); }
  .page-shell h2 { font-size:clamp(24px,2.25vw,34px); }
  .page-shell h3 { font-size:18px; }
  .page-heading p { font-size:15px; }
  .workspace { grid-template-columns:minmax(200px,230px) minmax(0,1fr); gap:18px; }
  .section-nav { gap:5px; padding:14px; }
  .section-nav-label { font-size:13px; }
  .section-link { min-height:44px; padding:8px 10px; font-size:13px; }
  .main-content { gap:17px; }
  .section-heading { gap:12px; padding-bottom:10px; }
  .section-heading p,
  .card p,
  .row-copy p { font-size:12px; }
  .card { padding:18px; }
  .stat-grid,
  .quick-grid { gap:12px; }
  .stat-card strong { font-size:1.65rem; }
  .quick-card { gap:9px; }
  .icon-box { width:40px; height:40px; }
  .record-row { min-height:74px; gap:13px; padding:12px 15px; }
  .record-row.media { grid-template-columns:102px minmax(0,1fr) auto; }
  .record-row.game { grid-template-columns:128px minmax(0,1fr) auto; }
  .media-thumb { width:102px; height:66px; }
  .table-row { gap:13px; padding:12px 15px; }
  .save-bar { padding:14px 16px; }

  .prod-home-hero { min-height:calc(100vh - 58px); }
  .prod-home-content {
    grid-template-columns:minmax(0,.95fr) minmax(470px,1.05fr);
    gap:clamp(46px,6vw,84px);
    width:min(1640px,calc(100% - 7vw));
    min-height:calc(100vh - 58px);
    padding:46px 0 28px;
  }
  .prod-home-copy { padding-top:18px; }
  .prod-kicker { margin-bottom:26px; font-size:14px; }
  .prod-kicker::after { bottom:-13px; width:42px; height:2px; }
  .prod-home-copy h1 {
    max-width:650px;
    margin-bottom:18px;
    font-size:clamp(50px,4.8vw,74px);
    line-height:1.04;
  }
  .prod-home-copy > p { max-width:610px; margin-bottom:22px; font-size:18px; }
  .prod-link-actions { gap:22px; }
  .prod-link-action,
  .prod-row-link { gap:9px; font-size:13px; }
  .prod-link-action b,
  .prod-row-link b { font-size:20px; }
  .prod-matchup { min-height:220px; padding:28px 12px 18px; }
  .prod-matchup-team { gap:14px; }
  .prod-matchup-team img { width:86px; height:72px; }
  .prod-matchup-team strong { font-size:clamp(20px,1.7vw,26px); }
  .prod-versus { width:48px; height:48px; font-size:13px; }
  .prod-game-meta { margin:24px 0 19px; padding-top:19px; font-size:15px; }
  .prod-game-meta::before { left:calc(50% - 38px); width:76px; height:2px; }
  .prod-countdown strong { font-size:clamp(42px,3.7vw,58px); }
  .prod-countdown small { margin-top:10px; font-size:9px; }
  .prod-home-latest { margin-top:5px; }
  .prod-agenda { padding-right:40px; }
  .prod-magazine { padding-left:50px; }
  .prod-overlay-title { margin-bottom:14px; font-size:14px; }
  .prod-ticket-row { grid-template-columns:56px minmax(0,1fr); gap:12px; padding:11px 5px 11px 15px; }
  .prod-ticket-date strong { font-size:24px; }
  .prod-ticket-copy strong { font-size:16px; }
  .prod-ticket-copy small,
  .prod-ticket-copy em { font-size:10px; }
  .prod-section-footer { margin-top:12px; }
  .prod-update-row {
    grid-template-columns:190px minmax(0,1fr) 90px;
    gap:14px;
    min-height:96px;
    padding:8px 0;
  }
  .prod-update-row img,
  .prod-update-placeholder { width:190px; height:82px; }
  .prod-update-copy strong { font-size:16px; }
  .prod-update-copy small,
  .prod-update-row > em { font-size:10px; }

  .prod-page { width:min(1380px,calc(100% - 42px)); padding:36px 0 58px; }
  .prod-page-heading { margin-bottom:24px; padding-bottom:20px; }
  .prod-page-heading h1,
  .prod-news-hero h1 { font-size:clamp(44px,4.4vw,62px); }
  .prod-page-heading p,
  .prod-news-hero p { font-size:15px; }
  .prod-surface-head { padding:18px 20px; }
  .prod-surface-head h2 { font-size:24px; }
  .prod-pay-grid { grid-template-columns:340px minmax(0,1fr); gap:18px; }
  .prod-account-card h2 { padding:18px 20px; font-size:21px; }
  .prod-account-row { min-height:68px; padding:11px 16px; }
  .prod-support-row { min-height:90px; padding:12px 18px; }
  .prod-history-row { min-height:58px; padding:11px 17px; }
  .prod-ledger-section + .prod-ledger-section { margin-top:28px; }
  .prod-ledger-title h2 { font-size:25px; }
  .prod-ledger-row { min-height:80px; padding:11px 15px; }
  .prod-tabs { margin-bottom:18px; }
  .prod-tab { min-height:44px; }
  .prod-directory-top { margin-bottom:14px; }
  .prod-directory-rail-head { padding:16px; }
  .prod-rail-section { padding:12px; }
  .prod-member-row { min-height:67px; padding:10px 12px; }
  .prod-news-hero { padding-bottom:20px; }
  .prod-news-layout { margin-top:18px; }
  .prod-news-feature { min-height:310px; padding:24px; }
  .prod-news-feature h2 { font-size:clamp(30px,3.5vw,46px); }
  .prod-news-row { min-height:82px; padding:10px 13px; }
  .prod-news-side { padding:20px; }
  .prod-feed-shell { gap:14px; padding:24px 0 52px; }

  .production-main { width:min(1180px,calc(100% - 36px)); padding-bottom:50px; }
  .route-hero { gap:clamp(28px,4vw,58px); padding:46px 0; }
  .route-hero h1 { font-size:clamp(42px,4.3vw,60px); }
  .route-hero p { margin-top:15px; font-size:17px; }
  .route-hero-art,
  .route-hero-art img { min-height:300px; }
  .route-section { padding:40px 0; }
  .route-section-heading { margin-bottom:20px; }
  .route-card { min-height:205px; padding:20px; }
  .history-image,
  .history-image img,
  .event-feature-image,
  .event-feature-image img { min-height:340px; }
}

@media (max-width: 1120px) {
  .admin-unified-header { grid-template-columns:auto 1fr; }
  .admin-unified-nav { grid-column:1 / -1; grid-row:2; justify-content:flex-start; width:100%; }
  .admin-unified-actions { justify-self:end; }
  .prod-nav { gap:24px; }
  .prod-home-content { grid-template-columns:1fr; }
  .prod-home-latest { grid-template-columns:1fr; }
  .prod-agenda { padding-right:0; padding-bottom:28px; border-right:0; }
  .prod-magazine { padding:28px 0 0; border-top:1px solid rgba(255,255,255,.28); }
  .prod-pay-grid,
  .prod-news-layout { grid-template-columns:1fr; }
  .prod-directory-grid { grid-template-columns:240px 1fr; }
  .prod-directory-detail { grid-column:1 / -1; }
  .prod-feed-shell { grid-template-columns:220px minmax(0,1fr); }
  .prod-feed-right { grid-column:1 / -1; grid-template-columns:1fr 1fr; }
  .ticket-list-head,.ticket-list-row { grid-template-columns:58px 70px minmax(190px,1fr) 150px 130px 108px; gap:10px; }
  .ticket-detail-hero { grid-template-columns:minmax(0,1fr) 340px; }
  .ticket-detail-copy { padding:34px; }
  .ticket-detail-layout { grid-template-columns:minmax(0,1fr) 320px; }
  .ticket-detail-list { grid-template-columns:1fr; }
  .directory-modern-page { width:min(100% - 34px,1420px); }
  .directory-modern-workspace { grid-template-columns:190px minmax(360px,1fr) 340px; gap:11px; }
  .directory-person-row { grid-template-columns:50px minmax(0,1fr) 94px 16px; }
  .directory-person-row > img { width:48px; height:48px; }
  .directory-mentor-dot { display:none; }
}

@media (max-width: 960px) {
  .directory-modern-workspace { grid-template-columns:200px minmax(0,1fr); height:auto; max-height:none; }
  .directory-filter-panel,.directory-results-panel { height:520px; }
  .directory-detail-panel { grid-column:1 / -1; min-height:520px; }
}

@media (max-width: 800px) {
  .admin-submenu { grid-template-columns:1fr; gap:3px; padding:10px 16px; }
  .admin-submenu-label { min-width:0; }
  .admin-submenu .admin-unified-nav { width:100%; }
  .admin-unified-header { grid-template-columns:1fr auto; gap:12px; padding:10px 16px; }
  .admin-local-label { display:none; }
  .admin-unified-actions { justify-self:end; }
  .admin-view-site { padding-inline:11px; }
  .prod-header { position:sticky; top:0; grid-template-columns:minmax(0,1fr) 44px 44px; gap:3px; min-height:60px; padding:6px 11px; }
  .prod-header.preview-mode { grid-template-columns:1fr auto; }
  .prod-header.preview-mode .prod-preview-label { grid-column:1 / -1; grid-row:2; padding-bottom:7px; text-align:left; }
  .prod-brand { min-width:0; }
  .prod-brand img { width:22px; height:40px; }
  .prod-brand strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
  .prod-brand small { font-size:8px; }
  .prod-menu-toggle { display:grid; grid-template-rows:repeat(3,2px); gap:5px; width:44px; height:44px; padding:0 11px; place-content:center; border:0; border-radius:6px; background:transparent; color:#fff; }
  .prod-menu-toggle span { display:block; width:22px; height:2px; border-radius:2px; background:currentColor; transform-origin:center; transition:transform 160ms ease,opacity 160ms ease; }
  .prod-header.mobile-menu-open .prod-menu-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .prod-header.mobile-menu-open .prod-menu-toggle span:nth-child(2) { opacity:0; }
  .prod-header.mobile-menu-open .prod-menu-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .prod-account { grid-column:3; grid-row:1; width:44px; height:44px; }
  .prod-nav { position:absolute; top:100%; right:0; left:0; display:none; max-height:calc(100vh - 60px); padding:8px 12px 14px; overflow-y:auto; border-top:1px solid rgba(255,255,255,.11); border-bottom:1px solid rgba(0,0,0,.38); background:#222b2e; box-shadow:none; }
  .prod-header.mobile-menu-open .prod-nav { display:grid; }
  .prod-header.mobile-menu-open .prod-nav { grid-template-columns:1fr; gap:0; align-items:stretch; justify-content:stretch; }
  .prod-nav button { width:100%; min-height:48px; padding:11px 12px; border-bottom:1px solid rgba(255,255,255,.09); color:#f2f3f2; font-size:13px; text-align:left; }
  .prod-nav button:last-child { border-bottom:0; }
  .prod-nav button::after { top:12px; right:auto; bottom:12px; left:0; width:3px; height:auto; transform:scaleY(0); }
  .prod-nav button:hover::after,.prod-nav button.active::after { transform:scaleY(1); }
  .prod-nav button.active { padding-left:18px; background:rgba(241,184,45,.08); }
  .prod-home-hero { min-height:calc(100svh - 60px); }
  .prod-home-bg { opacity:.42; filter:saturate(.55) contrast(1.02) brightness(.72); }
  .prod-home-hero::after { background:rgba(3,10,9,.76); }
  .prod-home-content { display:block; width:min(100% - 28px,520px); min-height:0; padding:0 0 34px; }
  .prod-home-copy,.prod-matchup-panel { display:none; }
  .prod-home-mobile-hero { display:block; padding:19px 0 25px; }
  .prod-home-mobile-hero .prod-kicker { margin-bottom:14px; font-size:11px; letter-spacing:.02em; }
  .prod-home-mobile-hero .prod-kicker::after { display:none; }
  .prod-home-mobile-hero h1 { max-width:420px; margin:0 0 15px; color:#f5faf4; font-size:clamp(36px,10.8vw,48px); font-weight:780; line-height:.95; letter-spacing:-.06em; }
  .prod-home-mobile-hero h1 span { display:block; color:#f5faf4; }
  .prod-home-mobile-matchup { display:grid; grid-template-columns:1fr 34px 1fr; gap:8px; align-items:center; padding:9px 8px 7px; }
  .prod-home-mobile-matchup > div { display:grid; gap:5px; justify-items:center; text-align:center; }
  .prod-home-mobile-matchup img { width:56px; height:48px; object-fit:contain; }
  .prod-home-mobile-matchup strong { max-width:130px; font-size:12px; line-height:1.12; }
  .prod-home-mobile-versus { display:grid; width:32px; height:32px; place-items:center; border:0; border-radius:0; background:transparent; color:var(--prod-gold); font:700 10px Georgia,serif; text-transform:uppercase; }
  .prod-home-mobile-date { display:none; }
  .prod-home-mobile-countdown { display:grid; grid-template-columns:repeat(4,1fr); padding:11px 0 12px; border:0; border-radius:0; background:transparent; }
  .prod-home-mobile-countdown div { min-width:0; padding:0 4px; text-align:center; }
  .prod-home-mobile-countdown div + div { border-left:0; }
  .prod-home-mobile-countdown strong,.prod-home-mobile-countdown small { display:block; }
  .prod-home-mobile-countdown strong { font-size:clamp(27px,8.2vw,36px); font-variant-numeric:tabular-nums; line-height:1; letter-spacing:-.05em; }
  .prod-home-mobile-countdown small { margin-top:5px; color:#bfc4c0; font-size:7px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
  .prod-home-mobile-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
  .prod-home-mobile-actions button { display:flex; min-height:46px; padding:10px 13px; align-items:center; justify-content:space-between; border:0; border-radius:6px; background:#f5f7f2; color:#151914; font-size:11px; font-weight:850; text-align:left; box-shadow:none; }
  .prod-home-mobile-actions button:first-child { grid-column:1 / -1; border-color:var(--prod-gold); background:var(--prod-gold); color:#141710; }
  .prod-home-mobile-actions b { color:inherit; font-size:16px; }
  .prod-home-latest { margin-top:4px; }
  .prod-home .prod-agenda { padding-top:22px; padding-bottom:20px; border-top:1px solid rgba(255,255,255,.34); }
  .prod-home .prod-overlay-title { margin-bottom:11px; }
  .prod-home .prod-ticket-row { width:100%; gap:12px; margin-bottom:7px; padding:14px 0; border:0; border-radius:0; background:transparent; box-shadow:none; }
  .prod-home .prod-ticket-row + .prod-ticket-row { border-top:1px solid rgba(255,255,255,.18); }
  .prod-home .prod-ticket-copy strong { font-size:15px; line-height:1.2; }
  .prod-home .prod-ticket-copy small { font-size:10px; line-height:1.45; }
  .prod-home .prod-ticket-copy em { font-size:10px; }
  .prod-home .prod-ticket-date strong { font-size:25px; }
  .prod-home .prod-section-footer { padding:9px 0; }
  .prod-home .prod-magazine { padding-top:25px; border-top:1px solid rgba(255,255,255,.34); }
  .prod-home .prod-update-row { width:100%; gap:12px; margin-bottom:8px; padding:12px 0; border:0; border-radius:0; background:transparent; box-shadow:none; }
  .prod-home .prod-update-row + .prod-update-row { border-top:1px solid rgba(255,255,255,.18); }
  .prod-home .prod-update-row img,.prod-home .prod-update-placeholder { border:0; border-radius:6px; }
  .prod-home .prod-update-row > em { padding-top:2px; }
  .prod-home .prod-footer { border-top:1px solid rgba(255,255,255,.28); }
  .prod-update-row { grid-template-columns:100px 1fr; }
  .prod-update-row img,
  .prod-update-placeholder { width:100px; height:80px; }
  .prod-update-row > em { grid-column:2; text-align:left; }
  .prod-page { width:min(100% - 28px,1420px); padding-top:36px; }
  .prod-page-heading,
  .prod-news-hero { display:block; }
  .prod-page-heading .prod-chip-row,
  .prod-news-hero .prod-tabs { margin-top:20px; }
  .prod-news-hero .prod-tabs { width:100%; max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:none; }
  .prod-news-hero .prod-tabs::-webkit-scrollbar { display:none; }
  .prod-news-hero .prod-tab { flex:0 0 auto; }
  .prod-support-row { grid-template-columns:58px minmax(0,1fr); }
  .prod-support-amount,
  .prod-support-action { grid-column:2; text-align:left; }
  .prod-history-row { grid-template-columns:1fr 1fr; }
  .prod-history-row.head { display:none; }
  .prod-directory-grid,
  .prod-feed-shell { grid-template-columns:1fr; width:min(100% - 28px,1260px); }
  .prod-directory-detail { grid-column:auto; }
  .prod-directory-stats { overflow-x:auto; }
  .prod-directory-stat { flex:0 0 92px; }
  .prod-news-row { grid-template-columns:64px 1fr; }
  .prod-news-row.head { display:none; }
  .prod-news-row p,
  .prod-news-row > span:last-child { grid-column:2; }
  .prod-feed-right { grid-column:auto; grid-template-columns:1fr; }
  .prod-footer { align-items:flex-start; flex-direction:column; }
  .ticket-page-heading { padding:22px 20px; }
  .ticket-tabs { overflow-x:auto; padding:0 18px; }
  .ticket-hub-body { padding:22px 18px 26px; }
  .ticket-list-head { display:none; }
  .ticket-list-row { grid-template-columns:56px 72px minmax(0,1fr); gap:8px 12px; padding:14px; }
  .ticket-list-row .prod-ledger-meta,.ticket-list-status,.ticket-list-price { grid-column:3; }
  .ticket-list-price { text-align:left; }
  .ticket-detail-hero { grid-template-columns:1fr; }
  .ticket-detail-copy { padding:28px 24px; }
  .ticket-detail-copy h1 { font-size:42px; }
  .ticket-detail-facts { grid-template-columns:1fr; }
  .ticket-detail-matchup,.ticket-detail-photo,.ticket-detail-photo img { min-height:260px; }
  .ticket-detail-layout { grid-template-columns:1fr; }
  .ticket-overview { padding:25px 22px; }
  .ticket-action-card { position:static; }
  .ticket-help-row { align-items:flex-start; flex-direction:column; }
  .ticket-checkout-order-row { grid-template-columns:64px minmax(0,1fr) auto; }
  .ticket-checkout-order-row > strong { grid-column:2 / -1; }
  .directory-modern-page { width:min(100% - 24px,1420px); padding-top:23px; }
  .directory-modern-heading { display:block; }
  .directory-modern-heading h1 { font-size:39px; }
  .directory-heading-stat { margin-top:12px; }
  .directory-search-shell > span { display:none; }
  .directory-modern-workspace { grid-template-columns:1fr; }
  .directory-filter-panel,.directory-results-panel,.directory-detail-panel { grid-column:auto; height:auto; min-height:0; max-height:none; }
  .directory-modern-workspace > .directory-detail-panel { display:none; }
  .directory-results { max-height:520px; }
  .directory-person-row { grid-template-columns:50px minmax(0,1fr) 16px; }
  .directory-person-meta { display:none; }
  .directory-profile-heading { padding-right:0; }
  .directory-contact-button { position:static; width:100%; margin-top:15px; }
  .directory-profile-facts { grid-template-columns:1fr; }
  .mobile-detail-page { min-height:100svh; background:#f4f2ed; }
  .mobile-detail-nav { position:sticky; top:0; z-index:30; display:grid; grid-template-columns:1fr auto 1fr; min-height:60px; gap:8px; padding:7px 12px; align-items:center; border-bottom:1px solid rgba(255,255,255,.13); background:#222b2e; color:#fff; }
  .mobile-detail-nav button { display:inline-flex; min-height:44px; gap:8px; padding:8px 4px; align-items:center; justify-self:start; border:0; background:transparent; color:#fff; font-size:12px; font-weight:800; }
  .mobile-detail-nav button span { color:var(--prod-gold); font-size:19px; line-height:1; }
  .mobile-detail-nav > strong { overflow:hidden; font-size:12px; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
  .mobile-detail-main { width:100%; margin:0; padding:0 0 max(24px,env(safe-area-inset-bottom)); }
  .directory-mobile-detail-main .directory-detail-panel { display:block; width:100%; overflow:visible; border:0; border-radius:0; background:#fff; }
  .directory-mobile-detail-main .directory-profile-cover { height:112px; padding:18px 20px; }
  .directory-mobile-detail-main .directory-profile-main { padding:0 20px 30px; }
  .directory-mobile-detail-main .directory-profile-photo { width:104px; height:104px; margin-top:-49px; }
  .directory-mobile-detail-main .directory-profile-heading { margin-top:10px; }
  .directory-mobile-detail-main .directory-profile-heading h2 { margin-top:5px; font-size:32px; }
  .directory-mobile-detail-main .directory-profile-heading p { font-size:13px; line-height:1.35; }
  .directory-mobile-detail-main .directory-profile-heading > span:last-child { margin-top:7px; font-size:11px; }
  .directory-mobile-detail-main .directory-contact-button { min-height:52px; margin-top:18px; border-radius:6px; font-size:12px; }
  .directory-mobile-detail-main .directory-profile-about { margin:21px 0 16px; font-size:13px; line-height:1.65; }
  .directory-mobile-detail-main .directory-profile-tags { gap:7px; }
  .directory-mobile-detail-main .directory-profile-tags span { padding:7px 9px; font-size:9px; }
  .directory-mobile-detail-main .directory-profile-facts { margin-top:20px; }
  .directory-mobile-detail-main .directory-profile-facts div { padding:12px; }
  .directory-mobile-detail-main .directory-profile-facts dt { font-size:8px; }
  .directory-mobile-detail-main .directory-profile-facts dd { font-size:11px; }
  .directory-mobile-detail-main .directory-mentoring-note { margin-top:16px; padding:12px; }
  .directory-mobile-detail-main .directory-mentoring-note strong { font-size:10px; }
  .directory-mobile-detail-main .directory-mentoring-note small { font-size:9px; }
  .mobile-news-article { width:100%; padding-bottom:max(34px,env(safe-area-inset-bottom)); background:#fff; }
  .mobile-news-article figure { width:100%; height:225px; margin:0; overflow:hidden; background:#17211f; }
  .mobile-news-article figure img { width:100%; height:100%; object-fit:cover; }
  .mobile-news-article > article { padding:23px 20px 34px; }
  .mobile-article-category { color:#89680d; font-size:9px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
  .mobile-news-article h1 { margin:9px 0 12px; color:#171b17; font-size:clamp(34px,10vw,46px); line-height:1.01; letter-spacing:-.055em; }
  .mobile-article-meta { display:flex; gap:8px 15px; padding-bottom:17px; border-bottom:1px solid #dedcd6; color:#777b75; font-size:10px; font-weight:700; }
  .mobile-article-summary { margin:20px 0; color:#303630; font-size:16px; font-weight:650; line-height:1.55; }
  .mobile-article-body { color:#4d534d; font-size:14px; line-height:1.75; }
  .mobile-article-body p { margin:0 0 18px; }
  .mobile-news-article footer { display:flex; gap:11px; align-items:center; margin-top:26px; padding-top:20px; border-top:1px solid #dedcd6; }
  .mobile-news-article footer img { width:28px; height:48px; object-fit:contain; }
  .mobile-news-article footer strong,.mobile-news-article footer small { display:block; }
  .mobile-news-article footer strong { font-size:12px; }
  .mobile-news-article footer small { margin-top:2px; color:#787c76; font-size:9px; }
  .production-main:has(.account-center-page),.production-main:has(.account-auth-page) { width:min(100% - 24px,1240px); }
  .account-center-page,.account-auth-page { padding:18px 0 38px; }
  .account-member-hero { grid-template-columns:1fr; min-height:0; }
  .account-member-identity { gap:14px; padding:24px 20px; }
  .account-member-avatar { width:60px; height:60px; font-size:18px; }
  .account-member-identity h1 { margin:5px 0; font-size:32px; }
  .account-member-identity p { font-size:10px; }
  .account-member-identity small { font-size:8px; }
  .account-health { grid-template-columns:36px minmax(0,1fr) auto; padding:17px 18px; border-top:1px solid rgba(241,184,45,.55); border-left:0; }
  .account-health-check { width:34px; height:34px; font-size:15px; }
  .account-health div > strong { font-size:12px; }
  .account-health div > small { font-size:8px; }
  .account-health button { min-height:38px; }
  .account-center-layout { display:block; margin-top:12px; }
  .account-center-nav { display:flex; gap:6px; padding:0 0 10px; overflow-x:auto; border:0; border-radius:0; background:transparent; scrollbar-width:none; }
  .account-center-nav::-webkit-scrollbar { display:none; }
  .account-center-nav button { display:block; min-height:42px; flex:0 0 auto; padding:9px 12px; border:1px solid #d7d3ca; border-radius:6px; background:#fff; text-align:center; }
  .account-center-nav button:first-child { border-top:1px solid #d7d3ca; }
  .account-center-nav button small,.account-center-nav button b { display:none; }
  .account-center-nav button.active { border:1px solid #a77c0c; border-bottom:3px solid #f1b82d; box-shadow:none !important; }
  .account-center-panel { min-height:0; padding:20px 18px 26px; }
  .account-panel-heading { padding-bottom:17px; }
  .account-panel-heading h2 { font-size:27px; }
  .account-overview-grid { grid-template-columns:1fr; gap:7px; margin:17px 0 23px; }
  .account-overview-grid > div { padding:13px; }
  .account-settings-list > div { align-items:stretch; flex-direction:column; gap:10px; padding:14px 0; }
  .account-settings-list button { width:100%; min-height:42px; }
  .account-detail-grid,.account-security-summary { grid-template-columns:1fr; }
  .account-visibility-status,.account-dues-banner { grid-template-columns:34px minmax(0,1fr); }
  .account-visibility-status button,.account-dues-banner button { grid-column:1 / -1; width:100%; min-height:42px; }
  .account-toggle-list label { min-height:68px; }
  .account-save-preferences,.account-security-danger { width:100%; min-height:44px; }
  .account-auth-page { display:flex; min-height:0; flex-direction:column; }
  .account-auth-card { order:1; padding:27px 20px 30px; border-radius:10px; }
  .account-auth-card > h1 { font-size:35px; }
  .account-auth-card > p { font-size:11px; }
  .account-auth-story { order:2; margin-top:12px; padding:25px 21px; border:1px solid #25322f; border-radius:10px; }
  .account-auth-story > img { width:31px; height:54px; margin-bottom:15px; }
  .account-auth-story h1 { margin:6px 0 10px; font-size:29px; }
  .account-auth-story > p { font-size:11px; }
  .account-auth-benefits { gap:10px; margin-top:19px; }
  .account-auth-name-grid { grid-template-columns:1fr; }
  .account-auth-switch { align-items:stretch; flex-direction:column; text-align:center; }
  .account-auth-switch button { width:100%; min-height:42px; }
  .production-main .ledger { display:grid; gap:10px; overflow:visible; border:0; background:transparent; }
  .production-main .ledger-row.ledger-head { display:none; }
  .production-main .ledger-row { grid-template-columns:66px minmax(0,1fr); gap:8px 12px; min-width:0; min-height:0; padding:13px; border:1px solid var(--line); border-radius:8px; background:var(--paper); }
  .production-main .ledger-row + .ledger-row { border-top:1px solid var(--line); }
  .production-main .ledger-row > :nth-child(n+3) { grid-column:2; }
  .production-main .ledger-main { grid-template-columns:62px minmax(0,1fr); gap:10px; }
  .production-main .ledger-cover { width:62px; height:50px; }
  .production-main .ledger-row > .button { width:100%; min-height:42px; }
  .page-shell .table-wrap { overflow:visible; }
  .page-shell .table-row { grid-template-columns:1fr; gap:7px; min-width:0; padding:14px; }
  .page-shell .table-row.table-head { display:none; }
  .page-shell .table-row .button { width:100%; }
}

/* Dues eligibility and ticket-unlock states */
.prod-pay-paid.status-processing { background:#fff8e5; }
.prod-pay-paid.status-processing .prod-dues-check { background:#f1b82d; color:#2a220c; }
.prod-pay-paid.status-processing small { color:#7b5d0a; }
.prod-pay-paid.status-locked { background:#fff1ee; }
.prod-pay-paid.status-locked .prod-dues-check { background:#f4c8be; color:#842b1e; }
.prod-pay-paid.status-locked small { color:#863b30; }
.prod-pay-account-action.pay-now { border-color:#d29b13; background:#f1b82d; color:#171914; }
.prod-pay-account-meta { display:flex; gap:10px; min-height:41px; padding:10px 16px; align-items:center; justify-content:space-between; border-top:1px solid #e0ded7; background:#faf9f5; }
.prod-pay-account-meta span { color:#7a7d76; font-size:9px; font-weight:750; }
.prod-pay-account-meta strong { font-size:10px; text-align:right; }
.prod-support-modern-row .production-mark.dues { border:0; background:transparent; }
.prod-support-modern-row .production-mark.dues img,.stripe-dues-fixed-amount .production-mark.dues img { width:34px; height:48px; object-fit:contain; }
.stripe-dues-fixed-amount { display:grid; grid-template-columns:58px minmax(0,1fr) minmax(190px,.9fr); gap:15px; align-items:center; padding:16px; border:1px solid #d8dbe2; border-radius:9px; background:#fafbfc; }
.stripe-dues-fixed-amount > div > span,.stripe-dues-fixed-amount > div > strong,.stripe-dues-fixed-amount > div > small { display:block; }
.stripe-dues-fixed-amount > div > span { color:#6e7280; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.stripe-dues-fixed-amount > div > strong { margin-top:3px; font-size:25px; }
.stripe-dues-fixed-amount > div > small { margin-top:3px; color:#777b86; font-size:9px; }
.stripe-dues-unlock { padding-left:15px; border-left:1px solid #d8dbe2; color:#375e49; font-size:10px; font-weight:750; line-height:1.45; }
.prod-chip.locked { border-color:#cf9f27; background:#fff7df; color:#74570b; }
.ticket-dues-alert { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:13px; align-items:center; margin:0 30px 22px; padding:14px 15px; border:1px solid #d5aa3d; border-radius:8px; background:#fff7df; }
.ticket-dues-alert > span { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; background:#f1b82d; color:#26220f; font-weight:900; }
.ticket-dues-alert strong,.ticket-dues-alert p { display:block; }
.ticket-dues-alert strong { font-size:12px; }
.ticket-dues-alert p { margin:3px 0 0; color:#6d654f; font-size:10px; line-height:1.45; }
.ticket-dues-alert button { min-height:40px; padding:8px 12px; border:1px solid #272923; border-radius:5px; background:#fff; color:#242620; font-size:10px; font-weight:850; }
.ticket-dues-alert.processing { border-color:#d2b96d; background:#fffaec; }
.ticket-list-status.locked strong { color:#8a6210; }
.ticket-dues-locked { border-color:#d7ad46; background:#fffaf0; }
.ticket-lock-mark { display:grid; width:42px; height:42px; margin:10px 0 14px; place-items:center; border-radius:50%; background:#f1b82d; color:#221d0c; font-size:17px; font-weight:900; }
.ticket-lock-summary { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 12px; padding:13px 0; border-top:1px solid #ded4b9; border-bottom:1px solid #ded4b9; }
.ticket-lock-summary span,.ticket-lock-summary strong,.ticket-lock-summary small { display:block; }
.ticket-lock-summary span { color:#726a57; font-size:10px; font-weight:750; }
.ticket-lock-summary strong { font-size:18px; text-align:right; }
.ticket-lock-summary small { grid-column:1 / -1; color:#817966; font-size:9px; }
.ticket-primary-action.dues-unlock { border-color:#d49b0d; background:#f1b82d; color:#181914; }
.account-dues-banner.locked { border-color:#d3aa43; background:#fff8e6; }
.account-dues-banner.locked > span { background:#f1b82d; color:#30250a; }
.account-dues-banner.locked small { color:#746640; }
.ticket-mobile-game-matchup,.ticket-mobile-event-summary,.ticket-description-mobile { display:none; }

/* Chapter News editorial view */
.chapter-news-page .prod-news-hero { grid-template-columns:minmax(0,1fr) auto; gap:32px; padding:4px 0 25px; align-items:end; }
.chapter-news-page .prod-news-hero h1 { margin:2px 0 8px; font-size:clamp(48px,5vw,66px); line-height:.98; letter-spacing:-.05em; }
.chapter-news-page .prod-news-hero p { max-width:680px; font-size:15px; line-height:1.5; }
.chapter-news-page .prod-news-hero .prod-tabs { margin:0; }
.chapter-news-editorial { margin-top:22px; }
.chapter-news-feature { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); width:100%; min-height:340px; padding:0; overflow:hidden; border:1px solid #d8d4ca; border-radius:10px; background:#17211f; color:#fff; text-align:left; }
.chapter-news-feature-image { position:relative; display:block; min-height:340px; overflow:hidden; }
.chapter-news-feature-image::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,transparent 58%,rgba(23,33,31,.34)); }
.chapter-news-feature-image img { width:100%; height:100%; min-height:340px; object-fit:cover; }
.chapter-news-feature-image em { position:absolute; top:18px; left:18px; z-index:1; padding:7px 9px; border-radius:999px; background:#f1b82d; color:#171914; font-size:9px; font-style:normal; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.chapter-news-feature-copy { display:flex; padding:34px; flex-direction:column; align-items:flex-start; justify-content:center; }
.chapter-news-feature-copy .prod-eyebrow { color:#f1b82d; }
.chapter-news-feature-copy > strong { margin:8px 0 12px; font-size:clamp(31px,3.4vw,46px); line-height:1.02; letter-spacing:-.04em; }
.chapter-news-feature-copy p { margin:0; color:#d4dbd7; font-size:14px; line-height:1.55; }
.chapter-news-feature-copy small { margin-top:18px; color:#aeb9b4; font-size:10px; font-weight:700; }
.chapter-news-feature-copy > span:last-child { margin-top:17px; color:#f1b82d; font-size:12px; font-weight:850; }
.chapter-news-section-heading { display:flex; gap:20px; margin:27px 0 13px; align-items:end; justify-content:space-between; }
.chapter-news-section-heading h2 { margin:2px 0 0; font-size:28px; }
.chapter-news-section-heading > span { color:#777b74; font-size:10px; font-weight:750; }
.chapter-news-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.chapter-news-card-grid.cards-only { grid-template-columns:repeat(auto-fit,minmax(280px,360px)); }
.chapter-news-card { display:grid; grid-template-rows:160px minmax(0,1fr); min-width:0; overflow:hidden; padding:0; border:1px solid #d8d4ca; border-radius:9px; background:#fff; color:#171a16; text-align:left; }
.chapter-news-card > img { width:100%; height:160px; object-fit:cover; }
.chapter-news-card-copy { display:flex; min-width:0; padding:17px; flex-direction:column; align-items:flex-start; }
.chapter-news-card-meta { display:flex; width:100%; gap:8px; align-items:center; justify-content:space-between; }
.chapter-news-card-meta em { color:#80610d; font-size:8px; font-style:normal; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.chapter-news-card-meta small { color:#7a7e77; font-size:8px; white-space:nowrap; }
.chapter-news-card-copy > strong { margin-top:9px; font-size:19px; line-height:1.18; }
.chapter-news-card-copy p { margin:8px 0 0; color:#6d716b; font-size:11px; line-height:1.5; }
.chapter-news-card-action { margin-top:auto; padding-top:16px; color:#70540b; font-size:10px; font-weight:850; }
.chapter-news-card:hover,.chapter-news-feature:hover { border-color:#af9b64; background:#fcfaf4; }
.chapter-news-feature:hover { background:#1b2724; }

/* Prototype authorization states */
.prod-account.signed-out::after { display:none; }
.prod-home-latest.news-only { grid-template-columns:1fr; }
.prod-home-latest.news-only .prod-magazine { padding-left:0; }
.prod-pay-overview.donation-only { grid-template-columns:1fr; }
.prod-pay-access-note {
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  margin-bottom:16px;
  padding:14px 16px;
  border:1px solid #d9ca9f;
  border-radius:9px;
  background:#fff9e9;
  color:#24251f;
}
.prod-pay-access-note > span {
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border-radius:50%;
  background:#f1b82d;
  font-size:14px;
  font-weight:900;
}
.prod-pay-access-note strong,.prod-pay-access-note p { display:block; }
.prod-pay-access-note strong { font-size:12px; }
.prod-pay-access-note p { margin:3px 0 0; color:#65665f; font-size:10px; line-height:1.5; }
.prod-pay-access-note button {
  min-height:38px;
  padding:8px 12px;
  border:1px solid #393b36;
  border-radius:5px;
  background:#fff;
  color:#252821;
  font-size:9px;
  font-weight:850;
}
.account-health.pending { border-color:rgba(241,184,45,.72); background:#2b2d24; }
.account-health.pending .account-health-check { background:#f1b82d; color:#1b1b16; }
.account-status-icon.pending { background:#fae6a7; color:#6d5105; }
.restricted-access-main {
  display:grid;
  min-height:calc(100vh - 132px);
  padding:58px 0 72px;
  place-items:start center;
}
.restricted-access-panel {
  width:min(100%,720px);
  padding:46px;
  border:1px solid #d7d3ca;
  border-radius:12px;
  background:#fff;
  text-align:center;
}
.restricted-access-mark {
  display:grid;
  width:54px;
  height:54px;
  margin:0 auto 19px;
  place-items:center;
  border-radius:50%;
  background:#f1b82d;
  color:#1b1b16;
  font-size:19px;
  font-weight:900;
}
.restricted-access-panel h1 { margin:9px 0 12px; font-size:clamp(35px,5vw,54px); line-height:1; letter-spacing:-.05em; }
.restricted-access-panel > p { max-width:570px; margin:0 auto; color:#686c65; font-size:14px; line-height:1.6; }
.restricted-access-actions { display:flex; flex-wrap:wrap; gap:9px; justify-content:center; margin:28px 0 20px; }
.restricted-access-panel > small { display:block; color:#7a7d76; font-size:10px; }

@media (max-width:800px) {
  .prod-pay-account-facts { grid-template-columns:1fr 1fr; }
  .prod-pay-account-facts div { min-width:0; padding:12px 14px; }
  .prod-pay-account-facts span { font-size:9px; line-height:1.25; }
  .prod-pay-account-facts strong { margin-top:4px; font-size:12px; line-height:1.3; overflow-wrap:anywhere; }
  .prod-pay-account-meta { display:grid; grid-template-columns:1fr; gap:2px; min-height:0; padding:11px 14px 13px; align-items:start; }
  .prod-pay-account-meta span,.prod-pay-account-meta strong { display:block; font-size:10px; line-height:1.35; text-align:left; overflow-wrap:anywhere; }
  .prod-pay-account-meta strong { font-size:12px; }
  .prod-pay-support-modern > header { padding:16px; }
  .prod-pay-support-modern h2 { font-size:25px; }
  .prod-pay-support-modern header p { font-size:12px; line-height:1.45; }
  .prod-support-modern-row { grid-template-columns:52px minmax(0,1fr) auto; grid-template-rows:auto auto; gap:5px 12px; min-height:0; padding:14px 15px; }
  .prod-support-modern-row > .prod-giving-mark { grid-column:1; grid-row:1 / span 2; align-self:center; }
  .prod-support-modern-row .production-mark.star { width:46px; }
  .prod-support-modern-row .production-mark.star strong { font-size:9px; }
  .prod-support-modern-row .production-mark.star small,
  .prod-support-modern-row .production-mark.star em { font-size:5px; }
  .prod-support-modern-row > div { grid-column:2; grid-row:1; min-width:0; }
  .prod-support-modern-row h3 { font-size:15px; line-height:1.2; }
  .prod-support-modern-row p { margin-top:3px; font-size:10px; line-height:1.35; }
  .prod-support-any-amount { grid-column:2; grid-row:2; align-self:start; font-size:9px; text-align:left; }
  .prod-support-modern-row > button { grid-column:3; grid-row:1 / span 2; min-width:96px; min-height:44px; padding:8px 10px; align-self:center; justify-self:end; }
  .ticket-description-desktop { display:none; }
  .ticket-description-mobile { display:inline; }
  .game-list-section .prod-ledger-title { margin-bottom:11px; }
  .game-list-section .prod-ledger-title h2 { margin-bottom:3px; font-size:26px; }
  .game-list-section .prod-ledger-title p { font-size:12px; }
  .ticket-list-row.game { grid-template-columns:56px minmax(0,1fr) auto; grid-template-rows:auto; gap:10px; min-height:82px; padding:12px 13px; align-items:center; }
  .ticket-list-row.game > .ticket-team-pair,
  .ticket-list-row.game > .ticket-list-copy,
  .ticket-list-row.game > .prod-ledger-meta,
  .ticket-list-row.game > .ticket-list-status { display:none; }
  .ticket-list-row.game .prod-date { grid-column:1; grid-row:1; }
  .ticket-list-row.game .prod-date span { font-size:9px; }
  .ticket-list-row.game .prod-date strong { font-size:25px; }
  .ticket-list-row.game .prod-date small { display:none; }
  .ticket-mobile-game-matchup { display:grid; grid-column:2; grid-row:1; grid-template-columns:66px minmax(0,1fr); gap:9px; align-items:center; min-width:0; }
  .ticket-mobile-game-matchup .ticket-team-pair { gap:2px; padding-right:7px; justify-content:flex-start; border-right:1px solid #ded8ca; }
  .ticket-mobile-game-matchup .ticket-team-pair.compact img { width:22px; height:22px; }
  .ticket-mobile-game-matchup .ticket-team-pair span { font-size:7px; }
  .ticket-mobile-game-matchup > strong { min-width:0; font-size:14px; line-height:1.18; }
  .ticket-list-row.game .ticket-list-price { grid-column:3; grid-row:1; align-self:center; text-align:right; }
  .ticket-list-row.game .ticket-list-price strong { font-size:16px; white-space:nowrap; }
  .ticket-list-row.game .ticket-list-price small { display:none; }
  .event-list-section .prod-ledger-title { margin-bottom:11px; }
  .event-list-section .prod-ledger-title h2 { margin-bottom:3px; font-size:26px; }
  .event-list-section .prod-ledger-title p { font-size:12px; }
  .ticket-list-row.event { grid-template-columns:56px minmax(0,1fr) auto; grid-template-rows:auto; gap:10px; min-height:86px; padding:12px 13px; align-items:center; }
  .ticket-list-row.event > .ticket-event-picture,
  .ticket-list-row.event > .ticket-list-copy,
  .ticket-list-row.event > .prod-ledger-meta,
  .ticket-list-row.event > .ticket-list-status { display:none; }
  .ticket-list-row.event .prod-date { grid-column:1; grid-row:1; }
  .ticket-list-row.event .prod-date span { font-size:9px; }
  .ticket-list-row.event .prod-date strong { font-size:25px; }
  .ticket-list-row.event .prod-date small { display:none; }
  .ticket-mobile-event-summary { display:grid; grid-column:2; grid-row:1; grid-template-columns:54px minmax(0,1fr); gap:9px; align-items:center; min-width:0; }
  .ticket-mobile-event-summary .ticket-event-picture { display:block; width:54px; height:46px; border-radius:6px; }
  .ticket-mobile-event-summary > span:last-child { min-width:0; }
  .ticket-mobile-event-summary strong,.ticket-mobile-event-summary small { display:block; }
  .ticket-mobile-event-summary strong { font-size:14px; line-height:1.18; }
  .ticket-mobile-event-summary small { margin-top:4px; color:#6f746d; font-size:10px; font-weight:700; }
  .ticket-list-row.event .ticket-list-price { grid-column:3; grid-row:1; align-self:center; text-align:right; }
  .ticket-list-row.event .ticket-list-price strong { font-size:16px; white-space:nowrap; }
  .ticket-list-row.event .ticket-list-price small { display:none; }
  .chapter-news-page { width:calc(100% - 24px); padding-top:22px; }
  .chapter-news-page .prod-news-hero { display:block; padding:0 0 17px; }
  .chapter-news-page .prod-news-hero h1 { margin-top:3px; font-size:40px; }
  .chapter-news-page .prod-news-hero p { font-size:12px; line-height:1.5; }
  .chapter-news-page .prod-news-hero .prod-tabs { margin-top:16px; }
  .chapter-news-page .prod-tab { min-height:40px; padding-inline:11px; }
  .chapter-news-editorial { margin-top:16px; }
  .chapter-news-feature { grid-template-columns:1fr; min-height:0; }
  .chapter-news-feature-image { min-height:180px; }
  .chapter-news-feature-image::after { background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.25)); }
  .chapter-news-feature-image img { height:180px; min-height:180px; }
  .chapter-news-feature-image em { top:12px; left:12px; padding:6px 8px; font-size:8px; }
  .chapter-news-feature-copy { padding:20px; }
  .chapter-news-feature-copy > strong { margin:7px 0 9px; font-size:29px; }
  .chapter-news-feature-copy p { font-size:12px; line-height:1.5; }
  .chapter-news-feature-copy small { margin-top:13px; font-size:9px; }
  .chapter-news-feature-copy > span:last-child { margin-top:13px; }
  .chapter-news-section-heading { margin:22px 0 10px; }
  .chapter-news-section-heading h2 { font-size:24px; }
  .chapter-news-card-grid,.chapter-news-card-grid.cards-only { grid-template-columns:1fr; gap:8px; }
  .chapter-news-card { grid-template-columns:112px minmax(0,1fr); grid-template-rows:auto; min-height:116px; }
  .chapter-news-card > img { width:112px; height:100%; min-height:116px; }
  .chapter-news-card-copy { padding:13px; }
  .chapter-news-card-meta small { font-size:7px; }
  .chapter-news-card-copy > strong { margin-top:6px; font-size:16px; }
  .chapter-news-card-copy p { display:-webkit-box; margin-top:5px; overflow:hidden; font-size:9px; line-height:1.4; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .chapter-news-card-action { padding-top:9px; font-size:9px; }
  .ticket-detail-page .prod-page { width:calc(100% - 24px); padding-top:16px; }
  .ticket-detail-back { min-height:38px; margin-bottom:7px; padding:5px 0; }
  .ticket-detail-copy { padding:23px 20px 20px; }
  .ticket-detail-copy h1 { margin-bottom:11px; font-size:clamp(34px,9.6vw,42px); line-height:.98; }
  .ticket-detail-copy > p { font-size:13px; line-height:1.5; }
  .ticket-detail-facts { grid-template-columns:1fr 1fr; margin-top:19px; }
  .ticket-detail-facts div { padding:10px 11px; }
  .ticket-detail-facts div:last-child { grid-column:1 / -1; }
  .ticket-detail-matchup,.ticket-detail-photo,.ticket-detail-photo img { min-height:190px; }
  .ticket-detail-matchup { padding:22px 18px; }
  .ticket-detail-matchup img { width:76px; height:68px; }
  .ticket-detail-layout { margin-top:14px; }
  .stripe-dues-fixed-amount { grid-template-columns:48px minmax(0,1fr); }
  .stripe-dues-unlock { grid-column:1 / -1; padding:11px 0 0; border-top:1px solid #d8dbe2; border-left:0; }
  .ticket-dues-alert { grid-template-columns:34px minmax(0,1fr); margin:0 20px 18px; padding:13px; }
  .ticket-dues-alert > span { width:32px; height:32px; }
  .ticket-dues-alert button { grid-column:1 / -1; width:100%; min-height:44px; }
  .prod-home-mobile-actions.restricted { grid-template-columns:1fr 1fr; }
  .prod-home-mobile-actions.restricted button:first-child { grid-column:auto; }
  .prod-home-mobile-actions.restricted button { min-height:64px; padding:14px 16px; }
  .prod-pay-access-note { grid-template-columns:34px minmax(0,1fr); padding:13px; }
  .prod-pay-access-note > span { width:32px; height:32px; }
  .prod-pay-access-note button { grid-column:1 / -1; width:100%; min-height:42px; }
  .restricted-access-main { min-height:calc(100vh - 94px); padding:24px 0 42px; }
  .restricted-access-panel { padding:31px 20px; border-radius:9px; }
  .restricted-access-panel h1 { font-size:36px; }
  .restricted-access-panel > p { font-size:12px; }
  .restricted-access-actions { display:grid; grid-template-columns:1fr; }
  .restricted-access-actions .button { width:100%; min-height:46px; }
}

@media (max-width:480px) {
  .prod-support-modern-row { grid-template-columns:46px minmax(0,1fr); }
  .prod-support-modern-row > .prod-giving-mark { grid-column:1; grid-row:1 / span 3; }
  .prod-support-modern-row > div { grid-column:2; grid-row:1; }
  .prod-support-any-amount { grid-column:2; grid-row:2; }
  .prod-support-modern-row > button { grid-column:2; grid-row:3; width:100%; min-height:42px; margin-top:4px; justify-self:stretch; }
  .ticket-list-row.game { grid-template-columns:50px minmax(0,1fr) auto; gap:8px; padding-inline:10px; }
  .ticket-mobile-game-matchup { grid-template-columns:62px minmax(0,1fr); gap:7px; }
  .ticket-mobile-game-matchup > strong { font-size:13px; }
  .ticket-list-row.event { grid-template-columns:50px minmax(0,1fr) auto; gap:8px; padding-inline:10px; }
  .ticket-mobile-event-summary { grid-template-columns:46px minmax(0,1fr); gap:7px; }
  .ticket-mobile-event-summary .ticket-event-picture { width:46px; height:42px; }
  .ticket-mobile-event-summary strong { font-size:13px; }
  .chapter-news-card { grid-template-columns:92px minmax(0,1fr); min-height:108px; }
  .chapter-news-card > img { width:92px; min-height:108px; }
  .chapter-news-card-copy p { display:none; }
}

.news-article-detail { width:100%; }

@media (min-width:801px) {
  .news-article-page { min-height:100vh; background:#f7f3ea; }
  .news-article-detail { width:min(calc(100% - 48px),1120px); margin:0 auto; padding:28px 0 64px; }
  .news-article-desktop-back { display:inline-flex; min-height:42px; margin-bottom:18px; padding:8px 0; align-items:center; border:0; background:transparent; color:#6c5311; font-size:13px; font-weight:800; }
  .news-article-desktop-back:hover { color:#171b17; transform:translateX(-2px); }
  .news-article-page .mobile-news-article { overflow:hidden; border:1px solid #d9d3c7; border-radius:12px; background:#fff; }
  .news-article-page .mobile-news-article figure { width:100%; height:430px; margin:0; overflow:hidden; background:#17211f; }
  .news-article-page .mobile-news-article figure img { width:100%; height:100%; object-fit:cover; }
  .news-article-page .mobile-news-article > article { width:min(100%,820px); margin:0 auto; padding:52px 42px 62px; }
  .news-article-page .mobile-article-category { color:#89680d; font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
  .news-article-page .mobile-news-article h1 { margin:12px 0 16px; color:#171b17; font-size:58px; line-height:1.01; letter-spacing:-.055em; }
  .news-article-page .mobile-article-meta { display:flex; gap:20px; padding-bottom:20px; border-bottom:1px solid #dedcd6; color:#777b75; font-size:12px; font-weight:700; }
  .news-article-page .mobile-article-summary { margin:26px 0; color:#303630; font-size:21px; font-weight:650; line-height:1.55; }
  .news-article-page .mobile-article-body { color:#4d534d; font-size:17px; line-height:1.8; }
  .news-article-page .mobile-article-body p { margin:0 0 22px; }
  .news-article-page .mobile-news-article footer { display:flex; gap:13px; align-items:center; margin-top:34px; padding-top:24px; border-top:1px solid #dedcd6; }
  .news-article-page .mobile-news-article footer img { width:32px; height:54px; object-fit:contain; }
  .news-article-page .mobile-news-article footer strong,.news-article-page .mobile-news-article footer small { display:block; }
  .news-article-page .mobile-news-article footer strong { font-size:14px; }
  .news-article-page .mobile-news-article footer small { margin-top:3px; color:#787c76; font-size:10px; }
}

/* Alumni Feed: professional community layout inspired by familiar network feeds. */
.prod-feed-page { background:#edf0ec; }
.feed-mobile-intro { display:none; }
.prod-feed-shell { display:grid; grid-template-columns:238px minmax(0,650px) 286px; gap:16px; width:min(1222px,calc(100% - 40px)); margin:0 auto; padding:24px 0 58px; align-items:start; }
.prod-feed-left,.prod-feed-main,.prod-feed-right,.feed-post-stream { display:grid; gap:12px; min-width:0; }
.prod-feed-left,.prod-feed-right { position:sticky; top:18px; align-self:start; }
.prod-feed-card { overflow:hidden; border:1px solid #d4d8d2; border-radius:10px; background:#fff; }
.prod-feed-page button { transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease,transform 150ms ease; }
.prod-feed-profile-cover { height:66px; background:linear-gradient(110deg,rgba(24,35,34,.8),rgba(148,108,15,.45)),url("assets/home-opener.webp") center 44%/cover; }
.prod-feed-profile-main { padding:0 16px 16px; text-align:left; }
.prod-feed-photo { display:block; width:66px; height:66px; margin-top:-34px; border:3px solid #fff; border-radius:50%; object-fit:cover; background:#d8c790; }
.prod-feed-profile-main .prod-eyebrow { display:block; margin-top:10px; font-size:8px; }
.prod-feed-profile-main h1 { margin:4px 0 3px; font-size:19px; letter-spacing:-.035em; }
.prod-feed-profile-main p { margin:0; color:#343934; font-size:11px; font-weight:650; line-height:1.35; }
.prod-feed-profile-main small { display:block; margin-top:5px; color:#70756f; font-size:9px; line-height:1.35; }
.prod-feed-profile-main > button { min-height:34px; margin-top:12px; padding:6px 11px; border:1px solid #26302e; border-radius:6px; background:#fff; color:#18201e; font-size:10px; font-weight:800; }
.prod-feed-profile-main > button:hover { background:#222b2e; color:#fff; }
.feed-profile-membership { display:flex; gap:9px; padding:12px 14px; align-items:center; border-top:1px solid #e0e3de; background:#f3f8f4; }
.feed-profile-membership > span { display:grid; width:25px; height:25px; flex:0 0 25px; place-items:center; border-radius:50%; background:#dceee1; color:#1d643f; font-size:11px; font-weight:900; }
.feed-profile-membership strong,.feed-profile-membership small { display:block; }
.feed-profile-membership strong { color:#234b35; font-size:9px; }
.feed-profile-membership small { margin-top:2px; color:#65726a; font-size:8px; }
.prod-feed-stats { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #e0e3de; }
.prod-feed-stats button { min-height:62px; padding:10px 8px; border:0; background:#fff; text-align:center; }
.prod-feed-stats button + button { border-left:1px solid #e0e3de; }
.prod-feed-stats button:hover { background:#f5f6f3; }
.prod-feed-stats span,.prod-feed-stats strong { display:block; }
.prod-feed-stats span { color:#747972; font-size:8px; }
.prod-feed-stats strong { margin-top:4px; font-size:17px; }
.prod-feed-links > span { display:block; padding:13px 14px 9px; color:#777c75; font-size:8px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.prod-feed-links button { display:grid; grid-template-columns:22px minmax(0,1fr); gap:10px; width:100%; min-height:54px; padding:9px 14px; align-items:center; border:0; border-top:1px solid #e4e6e1; background:#fff; color:#1e2522; text-align:left; }
.prod-feed-links button:hover { background:#f5f6f3; }
.prod-feed-links svg { width:18px; height:18px; fill:none; stroke:#89680d; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.prod-feed-links strong,.prod-feed-links small { display:block; }
.prod-feed-links strong { font-size:10px; }
.prod-feed-links small { margin-top:2px; color:#747972; font-size:8px; font-weight:500; }
.feed-member-note { padding:13px 14px; border:1px solid #cbdad0; border-radius:9px; background:#f1f7f2; }
.feed-member-note strong { color:#174c31; font-size:10px; }
.feed-member-note p { margin:4px 0 0; color:#5d6c63; font-size:9px; line-height:1.45; }
.feed-stream-heading { display:flex; align-items:end; justify-content:space-between; padding:3px 2px 2px; }
.feed-stream-heading h1 { margin:2px 0 0; font-size:27px; }
.feed-stream-heading > span { color:#70756f; font-size:10px; font-weight:700; }
.prod-composer { padding:13px; }
.prod-composer-top { display:grid; grid-template-columns:42px minmax(0,1fr); gap:10px; align-items:center; }
.prod-composer-top > img,.prod-composer.expanded header img { width:42px; height:42px; border-radius:50%; object-fit:cover; }
.prod-composer-top > button { min-height:42px; padding:9px 15px; border:1px solid #9ea49e; border-radius:999px; background:#fff; color:#626861; font-size:11px; font-weight:650; text-align:left; }
.prod-composer-top > button:hover { border-color:#28312f; background:#f6f7f5; color:#1f2724; }
.prod-composer-actions { display:grid; grid-template-columns:repeat(3,1fr); margin-top:11px; padding-top:8px; border-top:1px solid #e2e5df; }
.prod-composer-actions button { display:flex; min-height:36px; gap:7px; padding:7px; align-items:center; justify-content:center; border:0; border-radius:5px; background:#fff; color:#4f5650; font-size:10px; font-weight:750; }
.prod-composer-actions button:hover { background:#f2f4f1; color:#1b221f; }
.prod-composer-actions svg { width:17px; height:17px; fill:none; stroke:#7c6118; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.prod-composer.expanded { padding:15px; }
.prod-composer.expanded header { display:flex; gap:10px; align-items:center; }
.prod-composer.expanded header > span { min-width:0; flex:1; }
.prod-composer.expanded header > button { display:grid; width:34px; height:34px; place-items:center; border:0; border-radius:50%; background:transparent; color:#626862; font-size:22px; line-height:1; }
.prod-composer.expanded header > button:hover { background:#f0f2ef; }
.prod-composer.expanded header strong,.prod-composer.expanded header small { display:block; }
.prod-composer.expanded header strong { font-size:12px; }
.prod-composer.expanded header small { margin-top:2px; color:#717670; font-size:9px; }
.prod-composer.expanded label { display:block; margin-top:12px; }
.prod-composer.expanded textarea { width:100%; min-height:116px; padding:11px 12px; resize:vertical; border:1px solid #c8ccc7; border-radius:7px; background:#fbfcfa; color:#1c211d; font:inherit; font-size:12px; line-height:1.55; }
.prod-composer.expanded textarea:focus { border-color:#8a6500; outline:2px solid rgba(138,101,0,.18); outline-offset:1px; }
.feed-composer-modes { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; margin-top:13px; padding:5px; border-radius:8px; background:#f0f2ef; }
.feed-composer-modes button { display:flex; min-height:36px; gap:6px; padding:7px 8px; align-items:center; justify-content:center; border:1px solid transparent; border-radius:6px; background:transparent; color:#626862; font-size:9px; font-weight:800; }
.feed-composer-modes button.active { border-color:#d5d8d2; background:#fff; color:#6f5205; }
.feed-composer-modes svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.feed-composer-message { margin-top:11px !important; }
.feed-event-caption > span { display:flex; gap:6px; margin-bottom:5px; align-items:center; color:#4d554f; font-size:8px; font-weight:800; }
.feed-event-caption > span small { color:#7b817b; font-size:7px; font-weight:600; text-transform:none; }
.feed-event-caption textarea { min-height:82px; }
.feed-photo-upload { display:block; margin-top:10px !important; }
.feed-photo-upload input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.feed-photo-upload > span { display:flex; min-height:74px; gap:11px; padding:14px; align-items:center; justify-content:center; border:1px dashed #aeb5ae; border-radius:8px; background:#f8faf7; color:#303833; cursor:pointer; }
.feed-photo-upload > span:hover { border-color:#80610d; background:#fbf8ef; }
.feed-photo-upload svg { width:24px; height:24px; fill:none; stroke:#80610d; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.feed-photo-upload strong,.feed-photo-upload small { display:block; }
.feed-photo-upload strong { font-size:10px; }
.feed-photo-upload small { margin-top:2px; color:#777d77; font-size:8px; }
.feed-photo-preview { position:relative; margin-top:10px; overflow:hidden; border:1px solid #d2d6d0; border-radius:8px; background:#f3f4f1; }
.feed-photo-preview img { display:block; width:100%; max-height:280px; object-fit:cover; }
.feed-photo-preview button { position:absolute; top:9px; right:9px; min-height:32px; padding:6px 9px; border:1px solid rgba(255,255,255,.7); border-radius:6px; background:rgba(20,26,23,.85); color:#fff; font-size:8px; font-weight:800; }
.feed-event-form { display:grid; gap:9px; margin-top:11px; }
.feed-event-form > div { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.feed-event-form label { display:block !important; margin:0 !important; }
.feed-event-form label > span { display:block; margin-bottom:5px; color:#4d554f; font-size:8px; font-weight:800; }
.feed-event-form input,.feed-event-form textarea { width:100%; min-height:39px; padding:8px 10px; border:1px solid #c7ccc6; border-radius:6px; background:#fff; color:#202622; font:inherit; font-size:10px; }
.feed-event-form textarea { min-height:76px; resize:vertical; line-height:1.45; }
.feed-event-form input:focus,.feed-event-form textarea:focus { border-color:#8a6500; outline:2px solid rgba(138,101,0,.16); outline-offset:1px; }
.feed-composer-footer { display:flex; gap:12px; align-items:center; justify-content:space-between; margin-top:10px; }
.feed-composer-footer > span { color:#667069; font-size:9px; font-weight:700; }
.feed-composer-footer > div { display:flex; gap:7px; }
.feed-composer-footer button { min-height:35px; padding:7px 13px; border:1px solid #aeb3ad; border-radius:6px; background:#fff; color:#26302c; font-size:10px; font-weight:800; }
.feed-composer-footer button.primary { border-color:#222b2e; background:#222b2e; color:#fff; }
.prod-feed-sort { display:flex; gap:5px; align-items:center; padding:0 2px; color:#70756f; font-size:9px; }
.prod-feed-sort::before { display:none; }
.prod-feed-sort > span { margin-right:auto; font-weight:700; }
.prod-feed-sort button { min-height:32px; padding:6px 11px; border:1px solid transparent; border-radius:999px; background:transparent; color:#616760; font-size:9px; font-weight:800; }
.prod-feed-sort button.active { border-color:#9b7a24; background:#fff8e7; color:#6d5005; }
.prod-feed-sort button:hover { background:#fff; }
.prod-post { padding:0; }
.prod-post-head { display:grid; grid-template-columns:44px minmax(0,1fr) 34px; gap:10px; padding:15px 15px 0; align-items:start; }
.prod-feed-author-avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; background:#e3e5e0; }
.prod-feed-author-avatar.crest { padding:4px 8px; border:1px solid #e0d5b4; border-radius:8px; background:#fffaf0; object-fit:contain; }
.feed-post-tag { display:block; margin-bottom:2px; color:#85640c; font-size:7px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.prod-post-head h2 { display:flex; gap:5px; align-items:center; margin:0; font-size:13px; line-height:1.25; letter-spacing:-.02em; }
.feed-official-mark { display:grid; width:14px; height:14px; place-items:center; border-radius:50%; background:#1d6945; color:#fff; font-size:8px; }
.prod-post-head p { margin:2px 0 0; overflow:hidden; color:#3f4640; font-size:9px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.prod-post-head small { display:block; margin-top:3px; color:#7a7f79; font-size:8px; }
.feed-post-menu { display:grid; width:34px; height:34px; padding:7px; place-items:center; border:0; border-radius:50%; background:transparent; color:#626862; }
.feed-post-menu:hover { background:#f1f3ef; }
.feed-post-menu svg { width:20px; height:20px; fill:currentColor; stroke:none; }
.prod-post-body { margin:13px 15px 14px; color:#252b27; font-size:12px; line-height:1.55; }
.prod-post-image { display:block; width:100%; max-height:430px; margin:0; object-fit:cover; }
.feed-official-preview { display:grid; grid-template-columns:178px minmax(0,1fr); gap:0; width:calc(100% - 30px); min-height:116px; margin:0 15px 14px; overflow:hidden; align-items:stretch; border:1px solid #d7dbd5; border-radius:8px; background:#f8faf7; color:#202722; text-align:left; }
.feed-official-preview:hover { border-color:#b4bcb5; background:#f3f6f2; }
.feed-official-preview > img { width:178px; height:100%; min-height:116px; object-fit:cover; }
.feed-official-preview > span { display:flex; min-width:0; padding:13px 14px; flex-direction:column; justify-content:center; }
.feed-official-preview small,.feed-official-preview strong,.feed-official-preview p,.feed-official-preview em { display:block; }
.feed-official-preview small { color:#85640c; font-size:7px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.feed-official-preview strong { margin-top:5px; font-size:14px; line-height:1.2; }
.feed-official-preview p { margin:5px 0 0; color:#687069; font-size:9px; line-height:1.4; }
.feed-official-preview em { display:flex; gap:6px; margin-top:9px; align-items:center; color:#755a10; font-size:9px; font-style:normal; font-weight:800; }
.feed-official-preview em svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.feed-post-event { display:grid; grid-template-columns:minmax(0,1fr) 24px; gap:12px; width:calc(100% - 30px); margin:0 15px 14px; padding:12px 13px; align-items:center; border:1px solid #d9d3c7; border-left:3px solid #f1b82d; border-radius:7px; background:#faf8f1; color:#1d241f; text-align:left; }
.feed-post-event:hover { background:#f5f0e2; }
.feed-post-event small,.feed-post-event strong,.feed-post-event em { display:block; }
.feed-post-event small { color:#85640c; font-size:7px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.feed-post-event strong { margin-top:3px; font-size:12px; }
.feed-post-event em { margin-top:2px; color:#70756f; font-size:9px; font-style:normal; }
.feed-post-event b { display:block; margin-top:6px; color:#755a10; font-size:8px; }
.feed-post-event svg { width:18px; height:18px; fill:none; stroke:#755a10; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.prod-post-counts { display:flex; min-height:38px; padding:9px 15px; align-items:center; justify-content:space-between; color:#747a74; font-size:9px; }
.prod-post-counts span b { color:#9a7516; font-size:10px; }
.prod-post-counts button { padding:4px 0; border:0; background:transparent; color:#747a74; font-size:9px; }
.prod-post-counts button:hover { color:#1f2823; text-decoration:underline; }
.prod-post-actions { display:grid; grid-template-columns:repeat(3,1fr); margin:0 15px; border-top:1px solid #e0e3dd; border-bottom:1px solid #e0e3dd; }
.prod-post-actions button { display:flex; min-height:42px; gap:7px; padding:8px; align-items:center; justify-content:center; border:0; border-radius:5px; background:#fff; color:#555c56; font-size:10px; font-weight:750; }
.prod-post-actions button:hover { background:#f2f4f1; color:#202824; }
.prod-post-actions button.active { color:#7a5900; }
.prod-post-actions svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.prod-comment-list { padding:2px 15px 13px; }
.prod-comment { display:grid; grid-template-columns:32px minmax(0,1fr); gap:8px; margin-top:11px; }
.prod-comment > img { width:32px; height:32px; border-radius:50%; object-fit:cover; }
.prod-comment > div { padding:8px 10px; border-radius:4px 13px 13px 13px; background:#f0f2ef; }
.prod-comment > div > span { display:flex; gap:10px; align-items:center; justify-content:space-between; }
.prod-comment strong { display:block; font-size:9px; }
.prod-comment small { color:#7a807a; font-size:7px; }
.prod-comment p { margin:2px 0 0; color:#424943; font-size:10px; line-height:1.45; }
.feed-comments-toggle { min-height:32px; margin:8px 0 0 40px; padding:5px 0; border:0; background:transparent; color:#6f540c; font-size:9px; font-weight:800; }
.feed-comments-toggle:hover { text-decoration:underline; }
.feed-comment-form { display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:8px; padding:11px 15px 14px; align-items:center; }
.feed-comment-form > img { width:32px; height:32px; border-radius:50%; object-fit:cover; }
.feed-comment-form input { width:100%; min-height:36px; padding:8px 12px; border:1px solid #bfc4be; border-radius:999px; background:#fafbfa; font:inherit; font-size:10px; }
.feed-comment-form button { min-height:34px; padding:7px 10px; border:0; border-radius:6px; background:#222b2e; color:#fff; font-size:9px; font-weight:800; }
.prod-feed-side { padding:0; }
.prod-feed-side > header { padding:14px 14px 10px; }
.prod-feed-side h2 { margin:2px 0 0; font-size:18px; }
.feed-upcoming > button:not(.feed-side-footer) { display:grid; grid-template-columns:42px minmax(0,1fr) 18px; gap:10px; width:100%; min-height:66px; padding:10px 13px; align-items:center; border:0; border-top:1px solid #e1e4df; background:#fff; color:#202722; text-align:left; }
.feed-upcoming > button:not(.feed-side-footer):hover { background:#f5f6f3; }
.feed-upcoming time { text-align:center; }
.feed-upcoming time span,.feed-upcoming time strong { display:block; }
.feed-upcoming time span { color:#85640c; font-size:7px; font-weight:850; text-transform:uppercase; }
.feed-upcoming time strong { margin-top:1px; font-size:19px; }
.feed-upcoming button > span strong,.feed-upcoming button > span small { display:block; }
.feed-upcoming button > span strong { font-size:10px; }
.feed-upcoming button > span small { margin-top:3px; color:#767b75; font-size:8px; }
.feed-upcoming button > svg,.feed-side-footer svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.feed-side-footer { display:flex !important; min-height:40px; gap:8px; padding:9px 14px !important; align-items:center; justify-content:space-between; border:0 !important; border-top:1px solid #e1e4df !important; background:#fff !important; color:#755a10 !important; font-size:9px; font-weight:800; }
.feed-side-footer:hover { background:#f7f4ec !important; }
.feed-connections > div { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:9px; padding:11px 13px; align-items:center; border-top:1px solid #e1e4df; }
.feed-connections > div > img { width:38px; height:38px; border-radius:50%; object-fit:cover; }
.feed-connections > div span strong,.feed-connections > div span small { display:block; }
.feed-connections > div span strong { font-size:9px; }
.feed-connections > div span small { margin-top:2px; color:#747a74; font-size:7px; line-height:1.3; }
.feed-connections > div button { min-height:30px; padding:5px 8px; border:1px solid #26302d; border-radius:999px; background:#fff; color:#202925; font-size:8px; font-weight:800; }
.feed-connections > div button.connected { border-color:#a6b9ad; background:#edf5ef; color:#24583d; }
.feed-chapter-brief > button:not(.feed-side-footer) { display:grid; grid-template-columns:42px minmax(0,1fr) 16px; gap:9px; width:100%; min-height:62px; padding:9px 12px; align-items:center; border:0; border-top:1px solid #e1e4df; background:#fff; color:#202722; text-align:left; }
.feed-chapter-brief > button:not(.feed-side-footer):hover { background:#f5f6f3; }
.feed-chapter-brief > button img { width:42px; height:42px; border-radius:6px; object-fit:cover; }
.feed-chapter-brief > button span strong,.feed-chapter-brief > button span small { display:block; }
.feed-chapter-brief > button span strong { font-size:9px; line-height:1.25; }
.feed-chapter-brief > button span small { margin-top:3px; color:#747a74; font-size:7px; }
.feed-chapter-brief > button > svg { width:15px; height:15px; fill:none; stroke:#765a12; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.feed-community-standard { padding:2px 3px; color:#6e756f; }
.feed-community-standard span { color:#4c554f; font-size:8px; font-weight:800; }
.feed-community-standard p { margin:3px 0 0; font-size:8px; line-height:1.45; }

.feed-event-flow-dialog { width:min(920px,calc(100% - 32px)); max-width:none; max-height:92vh; padding:0; overflow:hidden; border:0; border-radius:12px; background:#fff; color:#1d231f; font-family:"IBM Plex Sans",Arial,sans-serif; }
.feed-event-flow-dialog::backdrop { background:rgba(12,17,15,.72); }
.feed-event-modal-shell { max-height:92vh; overflow:auto; background:#f5f6f2; }
.feed-event-modal-header { display:grid; grid-template-columns:minmax(0,1fr) 42px; gap:18px; padding:27px 30px 24px; background:#222b2e; color:#fff; }
.feed-event-modal-header .prod-eyebrow { color:#f1b82d; }
.feed-event-modal-header h2 { margin:5px 0 7px; color:#fff; font-size:36px; line-height:1.03; letter-spacing:-.045em; }
.feed-event-modal-header p { max-width:680px; margin:0; color:#dce0dd; font-size:13px; line-height:1.5; }
.feed-event-modal-header > button { display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:transparent; color:#fff; font-size:24px; line-height:1; }
.feed-event-modal-header > button:hover { background:rgba(255,255,255,.1); }
.feed-event-modal-facts { display:grid; grid-template-columns:1.1fr .8fr 1.6fr 1fr; margin:0; border-bottom:1px solid #d9ddd7; background:#fff; }
.feed-event-modal-facts div { padding:15px 18px; border-right:1px solid #e0e3de; }
.feed-event-modal-facts div:last-child { border-right:0; }
.feed-event-modal-facts dt { color:#787e78; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.feed-event-modal-facts dd { margin:4px 0 0; font-size:11px; font-weight:800; line-height:1.3; }
.feed-event-modal-grid { display:grid; grid-template-columns:300px minmax(0,1fr); gap:14px; padding:16px; }
.feed-event-rsvp-panel,.feed-event-organizer { border:1px solid #d6dad4; border-radius:9px; background:#fff; }
.feed-event-rsvp-panel { padding:20px; }
.feed-event-rsvp-panel h3 { margin:4px 0 7px; font-size:23px; line-height:1.1; }
.feed-event-rsvp-panel > p { margin:0; color:#656c66; font-size:10px; line-height:1.5; }
.feed-event-confirmed { display:flex; gap:10px; margin-top:14px; padding:11px; align-items:center; border-radius:7px; background:#eaf5ed; }
.feed-event-confirmed > span { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; background:#b9ebc8; color:#155c37; font-weight:900; }
.feed-event-confirmed strong,.feed-event-confirmed small { display:block; }
.feed-event-confirmed strong { color:#22583a; font-size:10px; }
.feed-event-confirmed small { margin-top:2px; color:#617068; font-size:8px; }
.feed-event-rsvp-quantity { display:flex; gap:12px; margin-top:16px; align-items:center; justify-content:space-between; }
.feed-event-rsvp-quantity > span strong,.feed-event-rsvp-quantity > span small { display:block; }
.feed-event-rsvp-quantity > span strong { font-size:10px; }
.feed-event-rsvp-quantity > span small { margin-top:2px; color:#777d77; font-size:8px; }
.feed-event-rsvp-quantity > div { display:grid; grid-template-columns:34px 36px 34px; min-height:36px; overflow:hidden; border:1px solid #b9bfb9; border-radius:7px; }
.feed-event-rsvp-quantity button { border:0; background:#fff; color:#252d29; font-size:18px; }
.feed-event-rsvp-quantity button:hover { background:#f0f2ef; }
.feed-event-rsvp-quantity > div > strong { display:grid; place-items:center; border-right:1px solid #d5d9d4; border-left:1px solid #d5d9d4; font-size:12px; }
.feed-event-rsvp-primary,.feed-event-rsvp-cancel { width:100%; min-height:42px; margin-top:14px; border-radius:7px; font-size:10px; font-weight:850; }
.feed-event-rsvp-primary { border:1px solid #222b2e; background:#222b2e; color:#fff; }
.feed-event-rsvp-primary:hover { background:#111815; }
.feed-event-rsvp-cancel { margin-top:7px; border:1px solid #b8bdb8; background:#fff; color:#4f5651; }
.feed-event-organizer { overflow:hidden; }
.feed-event-organizer > header { display:flex; gap:16px; padding:17px 18px; align-items:center; justify-content:space-between; border-bottom:1px solid #e0e3de; }
.feed-event-organizer h3 { margin:3px 0 2px; font-size:20px; }
.feed-event-organizer header p { margin:0; color:#737a74; font-size:8px; }
.feed-event-organizer header a { display:inline-flex; min-height:36px; padding:7px 11px; align-items:center; border:1px solid #765a10; border-radius:7px; color:#664c06; font-size:9px; font-weight:850; text-decoration:none; white-space:nowrap; }
.feed-event-organizer header a:hover { background:#fff7e2; }
.feed-event-attendees { max-height:280px; overflow:auto; }
.feed-event-attendee { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:10px; min-height:58px; padding:10px 16px; align-items:center; border-bottom:1px solid #e5e7e3; }
.feed-event-attendee:last-child { border-bottom:0; }
.feed-event-attendee img { width:38px; height:38px; border-radius:50%; object-fit:cover; }
.feed-event-attendee strong,.feed-event-attendee small { display:block; }
.feed-event-attendee strong { font-size:10px; }
.feed-event-attendee small { margin-top:2px; color:#737a74; font-size:8px; }
.feed-event-attendee em { color:#315b43; font-size:8px; font-style:normal; font-weight:850; }
.feed-event-empty { margin:0; padding:24px; color:#6c736d; font-size:10px; line-height:1.5; text-align:center; }

@media (max-width:1120px) {
  .prod-feed-shell { grid-template-columns:220px minmax(0,650px); width:min(920px,calc(100% - 34px)); }
  .prod-feed-right { display:none; }
}

@media (max-width:800px) {
  .prod-feed-page { background:#e9ede9; }
  .feed-mobile-intro { display:block; padding:18px 16px 15px; border-bottom:1px solid #d3d8d2; background:#fff; }
  .feed-mobile-intro h1 { margin:3px 0 5px; font-size:27px; }
  .feed-mobile-intro p { margin:0; color:#626963; font-size:11px; line-height:1.45; }
  .feed-mobile-intro > div { display:flex; gap:7px; margin-top:12px; }
  .feed-mobile-intro button { display:flex; min-height:36px; gap:6px; padding:7px 10px; align-items:center; border:1px solid #b7bdb7; border-radius:999px; background:#fff; color:#222b27; font-size:9px; font-weight:800; }
  .feed-mobile-intro svg { width:15px; height:15px; fill:none; stroke:#795d12; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
  .prod-feed-shell { display:block; width:100%; padding:10px 0 30px; }
  .prod-feed-left,.prod-feed-right,.feed-stream-heading { display:none; }
  .prod-feed-main { display:grid; gap:9px; }
  .prod-feed-card { border-radius:9px; }
  .prod-composer { margin:0 9px; padding:11px; }
  .prod-composer-top { grid-template-columns:38px minmax(0,1fr); gap:9px; }
  .prod-composer-top > img,.prod-composer.expanded header img { width:38px; height:38px; }
  .prod-composer-top > button { min-height:40px; padding-inline:12px; font-size:10px; }
  .prod-composer-actions { margin-top:9px; }
  .prod-composer-actions button { min-height:38px; }
  .prod-feed-sort { margin:0 11px; padding:1px 0; }
  .feed-post-stream { gap:9px; }
  .prod-post { margin:0 6px; }
  .prod-post-head { grid-template-columns:42px minmax(0,1fr) 32px; padding:13px 13px 0; }
  .prod-feed-author-avatar { width:42px; height:42px; }
  .prod-post-head h2 { font-size:12px; }
  .prod-post-head p { font-size:8px; }
  .prod-post-body { margin:12px 13px 13px; font-size:11px; line-height:1.55; }
  .prod-post-image { max-height:340px; }
  .feed-official-preview { grid-template-columns:108px minmax(0,1fr); width:calc(100% - 26px); min-height:104px; margin:0 13px 12px; }
  .feed-official-preview > img { width:108px; min-height:104px; }
  .feed-official-preview > span { padding:11px; }
  .feed-official-preview strong { font-size:12px; }
  .feed-official-preview p { display:none; }
  .feed-post-event { width:calc(100% - 26px); margin:0 13px 12px; }
  .prod-post-counts { padding-inline:13px; }
  .prod-post-actions { margin-inline:13px; }
  .prod-post-actions button { min-height:44px; }
  .prod-comment-list { padding-inline:13px; }
  .feed-comment-form { grid-template-columns:30px minmax(0,1fr); padding-inline:13px; }
  .feed-comment-form > img { width:30px; height:30px; }
  .feed-comment-form button { grid-column:2; justify-self:end; margin-top:-2px; }
  .prod-composer.expanded textarea { min-height:128px; }
  .feed-composer-footer { align-items:flex-end; }
  .feed-event-flow-dialog { width:calc(100% - 16px); max-height:94svh; border-radius:10px; }
  .feed-event-modal-shell { max-height:94svh; }
  .feed-event-modal-header { grid-template-columns:minmax(0,1fr) 38px; padding:21px 18px 18px; }
  .feed-event-modal-header h2 { font-size:30px; }
  .feed-event-modal-header p { font-size:11px; }
  .feed-event-modal-header > button { width:38px; height:38px; }
  .feed-event-modal-facts { grid-template-columns:1fr 1fr; }
  .feed-event-modal-facts div { padding:12px 13px; border-bottom:1px solid #e0e3de; }
  .feed-event-modal-facts div:nth-child(2n) { border-right:0; }
  .feed-event-modal-facts div:nth-last-child(-n+2) { border-bottom:0; }
  .feed-event-modal-grid { grid-template-columns:1fr; padding:10px; }
  .feed-event-rsvp-panel { padding:17px; }
  .feed-event-organizer > header { align-items:flex-start; flex-direction:column; }
  .feed-event-organizer header a { width:100%; justify-content:center; }
  .feed-event-attendees { max-height:none; }
}

@media (max-width:420px) {
  .feed-mobile-intro { padding-inline:13px; }
  .prod-post-actions button { gap:5px; font-size:9px; }
  .prod-post-actions svg { width:16px; height:16px; }
  .prod-post-head p { max-width:210px; }
}

@media (prefers-reduced-motion: reduce) {
  .prod-home-bg { display:none; }
  .prod-home button,
  .prod-link-action b,
  .prod-row-link b,
  .prod-update-row img,
  .prod-update-placeholder {
    transition: none;
  }

  .prod-home button:hover,
  .prod-link-action:hover b,
  .prod-row-link:hover b,
  .prod-update-row:hover img,
  .prod-update-row:hover .prod-update-placeholder {
    transform: none;
  }
}

/* Minimal public information pages */
.production-main:has(.simple-info-page) {
  width:min(980px,calc(100% - 44px));
  padding-bottom:54px;
}

.simple-info-page {
  padding:48px 0 0;
  color:#1a1f1b;
}

.simple-info-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:56px;
  align-items:end;
  padding-bottom:36px;
  border-bottom:1px solid #cbc8bf;
}

.simple-info-hero > div:first-child { max-width:720px; }
.simple-info-hero .route-eyebrow { margin-bottom:12px; }
.simple-info-hero h1 {
  max-width:720px;
  margin:0;
  font-size:clamp(39px,4.5vw,56px);
  line-height:1.02;
  letter-spacing:-.05em;
}
.simple-info-hero p {
  max-width:680px;
  margin:18px 0 0;
  color:#61665f;
  font-size:16px;
  line-height:1.65;
}

.simple-info-mark {
  display:flex;
  gap:13px;
  align-items:center;
  padding:0 0 5px 26px;
  border-left:1px solid #cbc8bf;
}
.simple-info-mark img { width:42px; height:70px; object-fit:contain; }
.simple-info-mark strong,.simple-info-mark small { display:block; }
.simple-info-mark strong { font-size:13px; }
.simple-info-mark small { margin-top:3px; color:#6e726b; font-size:9px; }

.simple-about-grid,.simple-contact-grid {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:52px;
  padding-top:40px;
}

.simple-info-copy h2,.simple-info-actions h2,
.simple-contact-form-section h2,.simple-contact-help h2 {
  margin:0;
  font-size:25px;
  line-height:1.15;
}
.simple-info-copy > p,.simple-info-actions > p,.simple-contact-help > p {
  margin:13px 0 0;
  color:#686d66;
  font-size:13px;
  line-height:1.65;
}
.simple-info-copy ul { margin:26px 0 0; padding:0; list-style:none; }
.simple-info-copy li {
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:16px;
  padding:17px 0;
  border-top:1px solid #d8d5cd;
}
.simple-info-copy li:last-child { border-bottom:1px solid #d8d5cd; }
.simple-info-copy li > span {
  color:#80600e;
  font-size:9px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.simple-info-copy li strong { display:block; font-size:14px; }
.simple-info-copy li p { margin:5px 0 0; color:#6c706a; font-size:11px; line-height:1.5; }

.simple-info-actions,.simple-contact-help {
  padding-left:30px;
  border-left:1px solid #cbc8bf;
}
.simple-info-actions > button {
  display:flex;
  width:100%;
  min-height:48px;
  gap:14px;
  margin-top:9px;
  padding:11px 14px;
  align-items:center;
  justify-content:space-between;
  border:1px solid #aaa99f;
  border-radius:6px;
  background:transparent;
  color:#1c211d;
  font-size:11px;
  font-weight:800;
  text-align:left;
}
.simple-info-actions > button:first-of-type { margin-top:24px; }
.simple-info-actions > button.simple-info-primary { border-color:#d69c10; background:#f1b82d; }

.simple-contact-email {
  min-width:242px;
  padding:0 0 5px 26px;
  border-left:1px solid #cbc8bf;
}
.simple-contact-email span,.simple-contact-email a,.simple-contact-email small { display:block; }
.simple-contact-email span { color:#777a74; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.simple-contact-email a { margin-top:8px; color:#1d231e; font-size:15px; font-weight:800; text-decoration-color:#c19016; text-underline-offset:4px; }
.simple-contact-email a.simple-contact-phone { margin-top:6px; font-size:11px; font-weight:700; text-decoration:none; }
.simple-contact-email small { max-width:220px; margin-top:9px; color:#737770; font-size:9px; line-height:1.5; }

.simple-contact-form-section form { display:grid; gap:14px; margin-top:24px; }
.simple-contact-form-section form > div { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.simple-contact-form-section label,.simple-contact-form-section label > span { display:block; }
.simple-contact-form-section label > span { margin-bottom:6px; color:#4f554f; font-size:9px; font-weight:800; }
.simple-contact-form-section input,.simple-contact-form-section select,.simple-contact-form-section textarea {
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid #aaa9a6;
  border-radius:5px;
  background:#fffef9;
  color:#1c211d;
  font:inherit;
  font-size:12px;
}
.simple-contact-form-section textarea { min-height:112px; resize:vertical; line-height:1.5; }
.simple-contact-form-section input:focus,.simple-contact-form-section select:focus,.simple-contact-form-section textarea:focus { border-color:#8a6500; outline:2px solid rgba(138,101,0,.16); outline-offset:1px; }
.simple-contact-form-section form > button {
  display:flex;
  min-height:46px;
  gap:18px;
  padding:11px 15px;
  align-items:center;
  justify-content:space-between;
  border:1px solid #d69c10;
  border-radius:6px;
  background:#f1b82d;
  color:#181b18;
  font-size:11px;
  font-weight:850;
}

.simple-contact-help > div { margin-top:24px; border-top:1px solid #d8d5cd; }
.simple-contact-help > div button {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  width:100%;
  min-height:64px;
  gap:12px;
  padding:12px 0;
  align-items:center;
  border:0;
  border-bottom:1px solid #d8d5cd;
  background:transparent;
  color:#1c211d;
  text-align:left;
}
.simple-contact-help button strong,.simple-contact-help button small { display:block; }
.simple-contact-help button strong { font-size:11px; }
.simple-contact-help button small { margin-top:3px; color:#767a74; font-size:9px; }
.simple-contact-help address {
  display:grid;
  gap:3px;
  margin-top:25px;
  color:#6b7069;
  font-size:10px;
  font-style:normal;
  line-height:1.45;
}
.simple-contact-help address strong { color:#252a26; font-size:11px; }

@media (max-width:720px) {
  .production-main:has(.simple-info-page) { width:min(100% - 28px,980px); padding-bottom:38px; }
  .simple-info-page { padding-top:28px; }
  .simple-info-hero { grid-template-columns:1fr; gap:22px; padding-bottom:26px; }
  .simple-info-hero h1 { font-size:36px; }
  .simple-info-hero p { margin-top:14px; font-size:13px; line-height:1.6; }
  .simple-info-mark,.simple-contact-email { padding:18px 0 0; border-top:1px solid #d3d0c8; border-left:0; }
  .simple-info-mark img { width:31px; height:52px; }
  .simple-about-grid,.simple-contact-grid { grid-template-columns:1fr; gap:32px; padding-top:28px; }
  .simple-info-actions,.simple-contact-help { padding:27px 0 0; border-top:1px solid #cbc8bf; border-left:0; }
  .simple-info-copy li { grid-template-columns:64px minmax(0,1fr); }
  .simple-contact-form-section form > div { grid-template-columns:1fr; }
}

/* About and Contact admin editors */
.admin-page-editor { display:grid; gap:20px; }
.admin-page-editor > .form-grid:first-child { margin-top:0; }
.admin-editor-note {
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:13px;
  align-items:center;
  padding-bottom:17px;
  border-bottom:1px solid #ddd8cb;
}
.admin-editor-note > span {
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  border:1px solid #c18c0c;
  border-radius:7px;
  background:#fff7dc;
  color:#6c4e05;
  font-weight:850;
}
.admin-editor-note strong { display:block; font-size:14px; }
.admin-editor-note p { margin:4px 0 0; color:#716c63; font-size:11px; line-height:1.45; }
.field-help { display:block; margin-top:6px; color:#746f66; font-size:10px; font-weight:500; line-height:1.4; }
.admin-repeat-list { display:grid; gap:12px; margin-top:4px; }
.admin-repeat-list > section {
  padding:17px;
  border:1px solid #ddd8cb;
  border-radius:8px;
  background:#fbfaf6;
}
.admin-repeat-list > section > header { display:flex; gap:10px; align-items:center; }
.admin-repeat-list > section > header span {
  display:grid;
  width:27px;
  height:27px;
  place-items:center;
  border-radius:50%;
  background:#f1b82d;
  color:#1f1a0d;
  font-size:11px;
  font-weight:850;
}
.admin-repeat-list > section > header strong { font-size:13px; }
.admin-repeat-list .form-grid { margin-top:14px; }
.admin-fixed-links-note { margin:0; padding-top:14px; border-top:1px solid #ddd8cb; color:#716c63; font-size:11px; }

@media (max-width:800px) {
  .admin-page-editor { gap:16px; }
  .admin-repeat-list > section { padding:14px; }
}

/* Compact admin-only route switcher beneath the permanent public navigation. */
.admin-submenu {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  min-height:46px;
  gap:16px;
  padding:0 clamp(22px,4vw,58px);
  align-items:stretch;
  border-bottom:1px solid #ddd6c7;
  background:#f8f5ed;
}
.admin-submenu-label {
  display:flex;
  min-width:auto;
  padding-right:16px;
  align-items:center;
  border-right:1px solid #ddd6c7;
}
.admin-submenu-label span {
  color:#6f675b;
  font-size:9px;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
}
.admin-submenu .admin-unified-nav {
  justify-content:flex-start;
  padding:0;
}
.admin-submenu .admin-unified-tab {
  min-height:46px;
  padding:8px 9px;
  color:#5b564d;
  font-size:11.5px;
}
.admin-submenu .admin-unified-tab::after {
  right:9px;
  bottom:0;
  left:9px;
  height:2px;
}
.admin-submenu .admin-unified-tab:focus-visible {
  outline:2px solid #9b720d;
  outline-offset:-3px;
}

@media (max-width:800px) {
  .admin-submenu {
    display:block;
    min-height:44px;
    padding:0 10px;
  }
  .admin-submenu-label { display:none; }
  .admin-submenu .admin-unified-nav { width:100%; }
  .admin-submenu .admin-unified-tab {
    min-height:44px;
    padding:7px 10px;
    font-size:11px;
  }
}

/* Simple production-data admin workspaces */
.admin-overview-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.admin-overview-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 0 16px; }
.admin-data-metric {
  min-width:0;
  padding:14px 15px;
  border:1px solid #d8d4ca;
  border-radius:7px;
  background:#fffefa;
}
.admin-data-metric span,.admin-data-metric strong,.admin-data-metric small { display:block; }
.admin-data-metric span {
  color:#7c5c08;
  font-size:9px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.admin-data-metric strong { margin-top:6px; color:#171b18; font-size:20px; line-height:1.05; }
.admin-data-metric small { margin-top:5px; color:#74776f; font-size:10px; line-height:1.35; }
.admin-overview-actions {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:15px;
}
.admin-overview-actions button {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  min-height:76px;
  gap:5px 12px;
  padding:14px 15px;
  align-items:center;
  border:1px solid #d8d4ca;
  border-radius:7px;
  background:#fffefa;
  color:#1a1e1a;
  text-align:left;
}
.admin-overview-actions strong { font-size:13px; }
.admin-overview-actions span { grid-column:1; color:#74776f; font-size:10px; line-height:1.4; }
.admin-overview-actions b { grid-column:2; grid-row:1 / 3; color:#8a6500; font-size:11px; }
.admin-overview-actions button:hover { border-color:#9b720d; background:#fffbef; }
.admin-overview-copy { margin-top:4px; }
.admin-data-label {
  display:block;
  color:#80600d;
  font-size:9px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.admin-data-workspace {
  display:grid;
  grid-template-columns:minmax(310px,.78fr) minmax(460px,1.22fr);
  gap:12px;
  align-items:start;
}
.admin-data-list,.admin-data-editor {
  min-width:0;
  padding:12px;
  border:1px solid #d8d4ca;
  border-radius:8px;
  background:#fffefa;
}
.admin-data-list > header {
  display:flex;
  min-height:47px;
  align-items:flex-start;
  justify-content:space-between;
}
.admin-data-list h3 { margin:4px 0 0; font-size:16px; }
.admin-data-search { display:block; margin:7px 0 10px; }
.admin-data-search input {
  width:100%;
  min-height:44px;
  padding:9px 11px;
  border:1px solid #c9c7c0;
  border-radius:6px;
  background:#fff;
  color:#1c201d;
  font:inherit;
  font-size:12px;
}
.admin-data-records {
  display:grid;
  gap:7px;
  max-height:520px;
  overflow:auto;
  padding-right:3px;
}
.admin-record-choice {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  width:100%;
  min-height:66px;
  gap:10px;
  padding:9px 10px;
  align-items:center;
  border:1px solid #d8d4ca;
  border-radius:7px;
  background:#fff;
  color:#1a1e1a;
  text-align:left;
}
.admin-record-choice.selected {
  border-color:#2f8868;
  border-left:4px solid #14805e;
  background:#f1fbf6;
}
.admin-record-choice > span:nth-child(2) { min-width:0; }
.admin-record-choice strong,.admin-record-choice small,.admin-record-choice em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-record-choice strong { font-size:12px; }
.admin-record-choice small { margin-top:3px; color:#6e746d; font-size:9.5px; }
.admin-record-choice em { margin-top:5px; color:#237254; font-size:8px; font-style:normal; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.admin-record-choice > b { color:#8a6500; font-size:12px; }
.admin-record-initial {
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border:1px solid #d2cab5;
  border-radius:6px;
  background:#fff8e7;
  color:#755500;
  font-size:12px;
  font-weight:900;
}
.admin-record-initial.feed { border-color:#b9dfd0; background:#e8f8f1; color:#176348; }
.admin-record-photo,.admin-record-avatar {
  width:44px;
  height:44px;
  border-radius:6px;
  object-fit:cover;
}
.admin-record-avatar { border-radius:50%; }
.admin-game-logos {
  display:grid;
  grid-template-columns:34px auto 34px;
  gap:4px;
  align-items:center;
}
.admin-game-logos img {
  width:34px;
  height:34px;
  padding:4px;
  border:1px solid #d7d5ce;
  border-radius:6px;
  background:#fff;
  object-fit:contain;
}
.admin-game-logos span { color:#775600; font-size:9px; font-weight:900; text-transform:uppercase; }
.admin-selected-head {
  display:flex;
  min-height:68px;
  gap:14px;
  margin:-2px -2px 14px;
  padding:4px 4px 14px;
  align-items:flex-start;
  justify-content:space-between;
  border-bottom:1px solid #dedad0;
}
.admin-selected-head > div { min-width:0; }
.admin-selected-head h2 { margin:5px 0 0; font-size:23px; line-height:1.06; }
.admin-selected-head p { margin:5px 0 0; color:#6e746d; font-size:10px; }
.admin-selected-head.member { justify-content:flex-start; }
.admin-selected-head.member > img { width:54px; height:54px; border-radius:50%; object-fit:cover; }
.admin-selected-cover { width:84px; height:60px; border-radius:6px; object-fit:cover; }
.admin-member-status-row { display:flex; flex-wrap:wrap; gap:6px; margin:-5px 0 14px; }
.admin-record-facts {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:14px 0;
}
.admin-record-facts > div {
  padding:12px;
  border:1px solid #ddd9d0;
  border-radius:6px;
  background:#fafaf7;
}
.admin-record-facts dt { color:#767b74; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.admin-record-facts dd { margin:5px 0 0; color:#1c211d; font-size:11px; font-weight:750; }
.admin-order-amount { margin:4px 0 10px; color:#171b18; font-size:34px; font-weight:900; letter-spacing:-.04em; }
.admin-editor-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:16px; padding-top:14px; border-top:1px solid #dedad0; }
.admin-feature-control { padding:18px; }
.admin-feature-control > header { display:flex; gap:16px; align-items:flex-start; justify-content:space-between; }
.admin-feature-control > header h2 { margin:5px 0 0; font-size:23px; }
.admin-mode-switch {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:14px 0 10px;
  padding:9px;
  align-items:center;
  border:1px solid #d8d4ca;
  border-radius:7px;
  background:#f7f8f7;
}
.admin-mode-switch > span { margin-right:3px; color:#68716c; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.admin-mode-switch button { min-height:38px; padding:8px 12px; border:1px solid #cecfc9; border-radius:6px; background:#fff; color:#1c211d; font-size:11px; font-weight:800; }
.admin-mode-switch button.active { border-color:#17221e; background:#17221e; color:#fff; }
.admin-current-selection {
  display:flex;
  gap:14px;
  padding:13px;
  align-items:center;
  border:1px solid #b9dfd0;
  border-radius:7px;
  background:#f2fbf6;
}
.admin-current-selection small,.admin-current-selection strong,.admin-current-selection em { display:block; }
.admin-current-selection small { color:#287356; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.admin-current-selection strong { margin-top:4px; font-size:13px; }
.admin-current-selection em { margin-top:4px; color:#6e746d; font-size:10px; font-style:normal; }
.admin-simple-list-head { display:flex; gap:15px; margin:16px 0 9px; align-items:end; justify-content:space-between; }
.admin-simple-list-head strong,.admin-simple-list-head small { display:block; }
.admin-simple-list-head strong { font-size:13px; }
.admin-simple-list-head small { margin-top:3px; color:#6e746d; font-size:10px; }
.admin-simple-list-head > span { color:#6e746d; font-size:10px; font-weight:750; }
.admin-feature-game-list { display:grid; gap:6px; max-height:380px; overflow:auto; }
.admin-feature-game-row {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  width:100%;
  min-height:58px;
  gap:10px;
  padding:8px 10px;
  align-items:center;
  border:1px solid #d8d4ca;
  border-radius:7px;
  background:#fff;
  color:#1b201c;
  text-align:left;
}
.admin-feature-game-row.selected { border-color:#2f8868; background:#f3fbf7; }
.admin-feature-game-row strong,.admin-feature-game-row small { display:block; }
.admin-feature-game-row strong { font-size:11px; }
.admin-feature-game-row small { margin-top:3px; color:#6e746d; font-size:9px; }
.admin-feature-game-row em { color:#267153; font-size:8px; font-style:normal; font-weight:850; text-transform:uppercase; }
.admin-feature-game-row > b { min-height:36px; padding:9px 10px; border-radius:6px; background:#a87800; color:#fff; font-size:9px; }
.admin-appearance-fields { margin-top:18px; padding-top:16px; border-top:1px solid #dedad0; }
.admin-game-editor-hero { display:flex; gap:13px; margin-bottom:14px; padding:12px; align-items:center; border:1px solid #ddd9d0; border-radius:7px; background:#fafaf7; }
.admin-game-editor-hero strong,.admin-game-editor-hero small { display:block; }
.admin-game-editor-hero strong { font-size:13px; }
.admin-game-editor-hero small { margin-top:4px; color:#6e746d; font-size:10px; }
.admin-event-editor-image { width:100%; max-height:170px; margin-bottom:14px; border-radius:7px; object-fit:cover; }
.admin-member-permissions { display:grid; gap:8px; margin-top:14px; }
.admin-member-permissions label,.admin-operation-toggle {
  display:flex;
  min-height:54px;
  gap:10px;
  padding:10px 12px;
  align-items:center;
  border:1px solid #ddd9d0;
  border-radius:7px;
  background:#fafaf7;
}
.admin-member-permissions input,.admin-operation-toggle input { width:18px; height:18px; accent-color:#177555; }
.admin-member-permissions strong,.admin-member-permissions small,.admin-operation-toggle strong,.admin-operation-toggle small { display:block; }
.admin-member-permissions strong,.admin-operation-toggle strong { font-size:11px; }
.admin-member-permissions small,.admin-operation-toggle small { margin-top:3px; color:#737870; font-size:9px; }
.admin-offline-layout { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.admin-member-check-list { display:grid; gap:7px; max-height:360px; margin-top:10px; overflow:auto; }
.admin-member-check { display:grid; grid-template-columns:20px 42px minmax(0,1fr); gap:9px; padding:9px; align-items:center; border:1px solid #ddd9d0; border-radius:7px; }
.admin-member-check img { width:42px; height:42px; border-radius:50%; object-fit:cover; }
.admin-member-check strong,.admin-member-check small { display:block; }
.admin-member-check strong { font-size:11px; }
.admin-member-check small { margin-top:3px; color:#72776f; font-size:9px; }
.admin-wide-action { width:100%; margin-top:16px; }
.admin-empty-state { display:grid; min-height:260px; place-items:center; align-content:center; text-align:center; }
.admin-empty-state > span { display:grid; width:48px; height:48px; place-items:center; border-radius:50%; background:#dff5e9; color:#17694c; font-size:20px; font-weight:900; }
.admin-empty-state h2 { margin:14px 0 0; }
.admin-empty-state p { max-width:520px; margin:8px auto 18px; color:#6f746d; line-height:1.55; }
.admin-feed-message,.admin-feed-comments { margin-top:10px; padding:14px; border:1px solid #ddd9d0; border-radius:7px; background:#fafaf7; }
.admin-feed-message p,.admin-feed-comments p { margin:9px 0 0; color:#343a35; font-size:11px; line-height:1.55; }
.admin-feed-comments h3 { margin:7px 0 0; font-size:14px; }

@media (max-width:1180px) {
  .admin-data-workspace { grid-template-columns:minmax(270px,.8fr) minmax(380px,1.2fr); }
  .admin-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:800px) {
  .admin-overview-grid,.admin-overview-grid.compact,.admin-overview-actions,.admin-offline-layout { grid-template-columns:1fr; }
  .admin-data-workspace { grid-template-columns:1fr; }
  .admin-data-records { max-height:330px; }
  .admin-data-editor { padding:14px; }
  .admin-feature-game-row { grid-template-columns:auto minmax(0,1fr) auto; }
  .admin-feature-game-row em { display:none; }
  .admin-feature-game-row > b { grid-column:3; }
  .admin-selected-head { flex-wrap:wrap; }
  .admin-record-facts { grid-template-columns:1fr; }
}

/* Home admin is a simple curator: select, count, and order existing records. */
.home-overview-visual-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:12px;
}
.home-overview-card {
  min-width:0;
  overflow:hidden;
  border:1px solid #d8d4ca;
  border-radius:10px;
  background:#fff;
}
.home-overview-card > header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 15px 12px;
  border-bottom:1px solid #e4e0d7;
  background:#faf9f5;
}
.home-overview-card > header h2 { margin:4px 0 0; font-size:18px; }
.home-overview-card > header button {
  min-height:36px;
  padding:0 11px;
  border:1px solid #aaa59b;
  border-radius:7px;
  background:#fff;
  color:#171b18;
  font-family:inherit;
  font-size:10px;
  font-weight:750;
  cursor:pointer;
}
.home-overview-card > header button:hover { border-color:#8a6500; background:#fffaf0; }
.home-overview-featured-matchup {
  display:grid;
  gap:18px;
  justify-items:center;
  padding:24px 18px 25px;
  text-align:center;
}
.home-overview-featured-matchup .admin-game-logos { width:100%; justify-content:center; }
.home-overview-featured-matchup .admin-game-logos img { width:62px; height:62px; padding:7px; }
.home-overview-featured-matchup .admin-game-logos span { font-size:11px; }
.home-overview-featured-matchup strong,
.home-overview-featured-matchup span,
.home-overview-featured-matchup small { display:block; }
.home-overview-featured-matchup strong { font-size:16px; }
.home-overview-featured-matchup span { margin-top:6px; color:#555b54; font-size:11px; }
.home-overview-featured-matchup small {
  width:max-content;
  margin:10px auto 0;
  padding:5px 8px;
  border-radius:999px;
  background:#e7f4ec;
  color:#17653e;
  font-size:9px;
  font-weight:800;
}
.home-overview-preview-list { padding:5px 14px; }
.home-overview-preview-row {
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  align-items:center;
  gap:11px;
  min-height:65px;
  padding:9px 0;
  border-bottom:1px solid #e4e0d7;
}
.home-overview-preview-row:last-child { border-bottom:0; }
.home-overview-position {
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border:1px solid #c99b2b;
  border-radius:50%;
  color:#795800;
  font-size:9px;
  font-weight:850;
}
.home-overview-thumb { width:54px; height:43px; border-radius:6px; object-fit:cover; }
.home-overview-preview-row > span:last-child { min-width:0; }
.home-overview-preview-row strong,
.home-overview-preview-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-overview-preview-row strong { font-size:11px; }
.home-overview-preview-row small { margin-top:4px; color:#6e746d; font-size:8.5px; }
.home-overview-preview-row .admin-game-logos {
  grid-template-columns:29px 10px 29px;
  width:76px;
  gap:4px;
  margin-right:2px;
}
.home-overview-preview-row .admin-game-logos img { width:29px; height:29px; padding:3px; }
.home-overview-card > footer {
  padding:10px 14px;
  border-top:1px solid #e4e0d7;
  color:#6e746d;
  font-size:9px;
  font-weight:750;
}

/* Pay admin keeps products visual while making editing and ordering explicit. */
.pay-overview-visual-grid {
  display:grid;
  grid-template-columns:.88fr 1.08fr 1.04fr;
  align-items:start;
  gap:12px;
  margin-bottom:14px;
}
.pay-overview-card {
  min-width:0;
  overflow:hidden;
  border:1px solid #d8d4ca;
  border-radius:10px;
  background:#fff;
}
.pay-overview-card > header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding:13px 14px 11px;
  border-bottom:1px solid #e4e0d7;
  background:#faf9f5;
}
.pay-overview-card > header h2 { margin:4px 0 0; font-size:18px; }
.pay-overview-card > header button {
  min-height:34px;
  padding:0 10px;
  border:1px solid #aaa59b;
  border-radius:7px;
  background:#fff;
  color:#171b18;
  font-family:inherit;
  font-size:9px;
  font-weight:800;
}
.pay-overview-dues {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:22px 16px;
}
.pay-overview-dues .prod-giving-mark { width:62px; height:70px; margin:0; }
.pay-overview-dues strong,.pay-overview-dues b,.pay-overview-dues small { display:block; }
.pay-overview-dues strong { font-size:14px; }
.pay-overview-dues b { margin-top:5px; color:#8a6500; font-size:23px; }
.pay-overview-dues small { margin-top:6px; color:#686d67; font-size:9px; line-height:1.45; }
.pay-overview-product-list,.pay-overview-order-list { padding:4px 13px; }
.pay-overview-product-row {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:61px;
  padding:8px 0;
  border-bottom:1px solid #e4e0d7;
}
.pay-overview-product-row:last-child { border-bottom:0; }
.pay-overview-product-row .prod-giving-mark { width:43px; height:45px; margin:0; border-radius:7px; }
.pay-overview-product-row .production-mark.star {
  width:43px;
  height:45px;
  padding:3px;
  overflow:hidden;
  line-height:.92;
}
.pay-overview-product-row .production-mark.star strong { font-size:7px; }
.pay-overview-product-row .production-mark.star small,
.pay-overview-product-row .production-mark.star em { font-size:4px; letter-spacing:.04em; }
.pay-overview-product-row strong,.pay-overview-product-row small { display:block; }
.pay-overview-product-row strong { font-size:10.5px; }
.pay-overview-product-row small { margin-top:3px; color:#6e746d; font-size:8px; }
.pay-overview-product-row em { color:#17653e; font-size:8px; font-style:normal; font-weight:850; }
.pay-overview-order-list > button {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  width:100%;
  min-height:61px;
  padding:8px 0;
  border:0;
  border-bottom:1px solid #e4e0d7;
  background:transparent;
  color:inherit;
  text-align:left;
}
.pay-overview-order-list > button:last-child { border-bottom:0; }
.pay-overview-order-list > button:hover { background:#fffbf0; }
.pay-overview-order-photo { width:34px; height:34px; border-radius:50%; object-fit:cover; }
.pay-overview-order-list p { margin:0; min-width:0; }
.pay-overview-order-list strong,.pay-overview-order-list small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pay-overview-order-list strong { font-size:10.5px; }
.pay-overview-order-list small { margin-top:3px; color:#6e746d; font-size:8px; }
.pay-overview-order-list > button > b { font-size:10px; }
.pay-overview-card > footer { padding:9px 13px; border-top:1px solid #e4e0d7; color:#6e746d; font-size:8.5px; font-weight:750; }
.pay-product-workspace { grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); }
.pay-product-list { display:grid; gap:7px; }
.pay-product-choice { display:grid; grid-template-columns:minmax(0,1fr) auto; border:1px solid #d8d4ca; border-radius:8px; background:#fff; overflow:hidden; }
.pay-product-choice.selected { border-color:#23805a; box-shadow:inset 4px 0 #23805a; }
.pay-product-choice > button {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-width:0;
  padding:9px 10px;
  border:0;
  background:transparent;
  text-align:left;
}
.pay-product-choice .prod-giving-mark { width:45px; height:48px; margin:0; overflow:hidden; border-radius:7px; }
.pay-product-choice .production-mark.star { padding:3px; line-height:.92; }
.pay-product-choice .production-mark.star strong { font-size:7px; }
.pay-product-choice .production-mark.star small,
.pay-product-choice .production-mark.star em { font-size:4px; letter-spacing:.04em; }
.pay-product-choice .prod-giving-mark img,
.pay-product-head > .prod-giving-mark img,
.pay-product-editor-image .prod-giving-mark img,
.pay-overview-dues .prod-giving-mark img { width:34px; height:44px; object-fit:contain; }
.pay-product-choice .prod-giving-mark.product-image img,
.pay-product-head > .prod-giving-mark.product-image img,
.pay-product-editor-image .prod-giving-mark.product-image img { width:100%; height:100%; object-fit:cover; }
.pay-product-choice > button > span { min-width:0; }
.pay-product-choice strong,.pay-product-choice small,.pay-product-choice em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pay-product-choice strong { font-size:11px; }
.pay-product-choice small { margin-top:3px; color:#6e746d; font-size:8.5px; }
.pay-product-choice em { width:max-content; margin-top:5px; padding:3px 6px; border-radius:999px; background:#e7f4ec; color:#17653e; font-size:7.5px; font-style:normal; font-weight:850; }
.pay-product-order-actions { display:grid; align-content:center; gap:4px; padding:6px; border-left:1px solid #e4e0d7; }
.pay-product-order-actions button { width:31px; height:29px; border:1px solid #c9c7c0; border-radius:5px; background:#fff; font-weight:850; }
.pay-product-order-actions button:disabled { opacity:.3; }
.pay-product-head { align-items:center; }
.pay-product-head > .prod-giving-mark { flex:0 0 auto; width:54px; height:58px; margin:0; }
.pay-product-head > div { min-width:0; }
.pay-product-editor-image { display:flex; align-items:center; gap:13px; margin-bottom:14px; padding:11px; border:1px solid #e0ddd5; border-radius:8px; background:#faf9f5; }
.pay-product-editor-image .prod-giving-mark { width:64px; height:66px; margin:0; }
.pay-product-editor-image label { display:grid; gap:5px; font-size:9px; font-weight:800; }
.pay-product-editor-image input { max-width:230px; font-size:9px; }
.pay-product-toggles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
.prod-giving-mark.product-image { padding:0; overflow:hidden; background:#f5f3ed; }
.prod-giving-mark.product-image img,
.prod-support-modern-row .prod-giving-mark.product-image img { width:100%; max-width:none; height:100%; max-height:none; object-fit:cover; }
.product-create-preview .create-preview-image { aspect-ratio:16/10; object-fit:cover; }
.create-product-preview-action { margin-top:12px; color:#805e00; font-weight:850; }
.order-member-head { align-items:center; }
.admin-order-member-photo { width:52px; height:52px; border-radius:50%; object-fit:cover; }
.product-icon-picker {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin:0;
  padding:0;
  border:0;
}
.product-icon-picker legend { grid-column:1 / -1; margin-bottom:6px; color:#4f493f; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.product-icon-picker button {
  display:grid;
  justify-items:center;
  gap:5px;
  min-width:0;
  min-height:82px;
  padding:8px 5px;
  border:1px solid #d3cec3;
  border-radius:8px;
  background:#fff;
  color:#4f493f;
}
.product-icon-picker button.selected { border:2px solid #b78308; background:#fff8e7; }
.product-icon-picker img { width:42px; height:42px; object-fit:contain; }
.product-icon-picker span { max-width:100%; font-size:8px; font-weight:750; line-height:1.2; text-align:center; }
.product-wizard-steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:12px 24px;
  border-bottom:1px solid #e4e0d7;
  background:#faf9f5;
}
.product-wizard-dialog .create-dialog-shell {
  grid-template-rows:auto auto minmax(0,1fr) auto;
}
.product-wizard-steps button {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:6px 10px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:#6c706b;
  text-align:left;
}
.product-wizard-steps button span { display:grid; width:24px; height:24px; place-items:center; border:1px solid #c8c5bd; border-radius:50%; background:#fff; font-size:9px; }
.product-wizard-steps button strong { font-size:10px; }
.product-wizard-steps button.active { border-color:#c49522; background:#fff8e7; color:#171b18; }
.product-wizard-steps button.active span { border-color:#b78308; background:#f1b82d; }
.product-wizard-dialog .create-form-section { min-height:320px; }
.product-wizard-dialog .create-form-section[hidden] { display:none; }
.admin-compact-settings {
  margin-top:12px;
  border:1px solid #d8d4ca;
  border-radius:9px;
  background:#fff;
  overflow:hidden;
}
.admin-compact-settings > summary {
  min-height:46px;
  padding:14px 16px;
  color:#272b28;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}
.admin-compact-settings[open] > summary { border-bottom:1px solid #e4e0d7; background:#faf9f5; }
.admin-compact-settings > .form-grid { padding:14px 16px 16px; }
.admin-copy-settings { margin-top:14px; }
.compact-product-fields textarea { min-height:78px; }
.admin-offline-layout h2 { font-size:28px; line-height:1.08; }
.admin-offline-layout .admin-member-check { min-height:58px; }
.home-curator-settings { margin-bottom:12px; }
.home-curator-panel {
  margin-top:12px;
  padding:15px;
  border:1px solid #d8d4ca;
  border-radius:8px;
  background:#fffefa;
}
.home-curator-panel > header {
  display:flex;
  gap:18px;
  margin-bottom:12px;
  align-items:flex-end;
  justify-content:space-between;
}
.home-curator-panel > header h2 { margin:5px 0 0; font-size:22px; }
.home-curator-panel > header p { margin:4px 0 0; color:#6e746d; font-size:10px; }
.home-curator-panel > header > span { color:#6e746d; font-size:10px; font-weight:750; }
.home-curator-selected-list,.home-curator-available-list { display:grid; gap:7px; }
.home-curator-selected-row,.home-curator-available-row {
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  min-height:66px;
  gap:10px;
  padding:9px 10px;
  align-items:center;
  border:1px solid #d8d4ca;
  border-radius:7px;
  background:#fff;
}
.home-curator-selected-row { border-left:4px solid #b38208; }
.home-curator-order {
  display:grid;
  width:29px;
  height:29px;
  place-items:center;
  border-radius:50%;
  background:#f1b82d;
  color:#171b18;
  font-size:11px;
  font-weight:900;
}
.home-curator-thumb { width:54px; height:44px; border-radius:6px; object-fit:cover; }
.home-curator-copy { min-width:0; }
.home-curator-copy strong,.home-curator-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-curator-copy strong { font-size:12px; }
.home-curator-copy small { margin-top:4px; color:#6e746d; font-size:9.5px; }
.home-curator-row-actions { display:flex; gap:5px; align-items:center; }
.home-curator-row-actions button {
  min-width:36px;
  min-height:36px;
  padding:6px 8px;
  border:1px solid #c9c7c0;
  border-radius:6px;
  background:#fff;
  color:#1c211d;
  font-size:11px;
  font-weight:800;
}
.home-curator-row-actions button:disabled { opacity:.35; }
.home-curator-row-actions button.remove { padding-inline:10px; color:#7b281f; }
.home-curator-panel.available { background:#faf9f5; }
.home-curator-available-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.home-curator-available-row { grid-template-columns:auto minmax(0,1fr) auto; }
.home-curator-available-row > button {
  min-height:38px;
  padding:8px 10px;
  border:1px solid #171b18;
  border-radius:6px;
  background:#fff;
  color:#171b18;
  font-size:9px;
  font-weight:850;
}
.home-curator-available-row > button:hover { background:#171b18; color:#fff; }

/* Chapter News admin: visual publishing workspace */
.news-overview-grid {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(250px,.8fr);
  gap:12px;
  margin-bottom:16px;
}
.news-overview-card {
  overflow:hidden;
  border:1px solid #d8d4ca;
  border-radius:9px;
  background:#fff;
}
.news-overview-card > header {
  padding:13px 15px 11px;
  border-bottom:1px solid #e4e0d7;
  background:#faf9f5;
}
.news-overview-card > header h2 { margin:3px 0 0; font-size:19px; line-height:1.08; }
.news-overview-card > footer { padding:9px 14px; border-top:1px solid #e4e0d7; color:#6e746d; font-size:8px; font-weight:750; }
.news-overview-feature { display:grid; min-height:218px; grid-template-rows:118px 1fr; }
.news-overview-feature > img { width:100%; height:118px; object-fit:cover; }
.news-overview-feature > div { display:grid; align-content:start; gap:5px; padding:13px 15px; }
.news-overview-feature strong,.news-overview-feature small { display:block; }
.news-overview-feature strong { font-family:"Besley",serif; font-size:15px; line-height:1.18; }
.news-overview-feature small { color:#686d67; font-size:8.5px; line-height:1.4; }
.news-overview-feature button,.news-overview-empty button {
  width:max-content;
  margin-top:4px;
  padding:0;
  border:0;
  background:transparent;
  color:#805e00;
  font-size:8.5px;
  font-weight:850;
}
.news-overview-list { padding:3px 13px; }
.news-overview-row {
  display:grid;
  width:100%;
  min-height:54px;
  grid-template-columns:49px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:7px 0;
  border:0;
  border-bottom:1px solid #e4e0d7;
  background:transparent;
  color:#171b18;
  text-align:left;
}
.news-overview-row:last-child { border-bottom:0; }
.news-overview-row img { width:49px; height:39px; border-radius:5px; object-fit:cover; }
.news-overview-row strong,.news-overview-row small { display:block; }
.news-overview-row strong { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.news-overview-row small { margin-top:3px; color:#6e746d; font-size:7.5px; }
.news-overview-row em { color:#805e00; font-size:8px; font-style:normal; font-weight:850; }
.news-overview-status { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.news-overview-status .admin-data-metric { min-height:90px; border:0; border-right:1px solid #e4e0d7; border-radius:0; }
.news-overview-status .admin-data-metric:last-child { border-right:0; }
.news-overview-status .admin-data-metric strong { font-size:21px; }
.news-overview-quick-actions { display:grid; gap:0; border-top:1px solid #e4e0d7; }
.news-overview-quick-actions button {
  min-height:39px;
  padding:0 14px;
  border:0;
  border-bottom:1px solid #e4e0d7;
  background:#fff;
  color:#171b18;
  font-size:8.5px;
  font-weight:850;
  text-align:left;
}
.news-overview-quick-actions button::after { content:"→"; float:right; color:#9a7000; }
.news-overview-quick-actions button:last-child { border-bottom:0; }
.news-page-copy { margin-top:0; }
.news-page-copy .admin-page-editor { border:0; border-radius:0; }
.news-admin-record-wrap { display:grid; grid-template-columns:minmax(0,1fr) auto; border:1px solid #d8d4ca; border-radius:8px; background:#fff; overflow:hidden; }
.news-admin-record-wrap:has(.admin-record-choice.selected) { border-color:#29906a; box-shadow:inset 4px 0 #18835d; }
.news-admin-record-wrap .admin-record-choice { border:0; border-radius:0; box-shadow:none; }
.news-admin-record-wrap .admin-record-choice.selected { border:0; box-shadow:none; }
.news-admin-order { display:grid; align-content:center; gap:4px; padding:6px; border-left:1px solid #e4e0d7; }
.news-admin-order button { width:31px; height:29px; border:1px solid #c9c7c0; border-radius:5px; background:#fff; font-weight:850; }
.news-admin-order button:disabled { opacity:.3; }
.admin-selected-head.news { grid-template-columns:auto minmax(0,1fr) auto; align-items:center; }
.news-cover-control { display:flex; align-items:center; gap:14px; margin-bottom:14px; padding:11px; border:1px solid #e0ddd5; border-radius:8px; background:#faf9f5; }
.news-cover-control > img { width:92px; height:66px; flex:0 0 auto; border-radius:6px; object-fit:cover; }
.news-cover-control label { display:grid; gap:4px; min-width:0; }
.news-cover-control strong,.news-cover-control small { display:block; }
.news-cover-control strong { font-size:10px; }
.news-cover-control small { color:#6e746d; font-size:8px; }
.news-cover-control input { max-width:250px; font-size:8px; }
.news-supporting-upload { display:flex; gap:12px; align-items:center; justify-content:space-between; margin-bottom:14px; padding:11px 13px; border:1px solid #e0ddd5; border-radius:8px; background:#fff; }
.news-supporting-upload span,.news-supporting-upload strong,.news-supporting-upload small { display:block; }
.news-supporting-upload small { margin-top:3px; color:#6e746d; font-size:8px; }
.news-supporting-upload label { position:relative; overflow:hidden; display:grid; place-items:center; margin:0; }
.news-supporting-upload input { position:absolute; width:1px; height:1px; opacity:0; }
.news-editor-fields textarea { min-height:112px; }
.news-overview-empty { display:grid; min-height:218px; place-content:center; justify-items:center; gap:8px; padding:20px; text-align:center; }
.news-overview-empty > span { display:grid; width:46px; height:46px; place-items:center; border:1px solid #d7c88d; border-radius:50%; color:#8a6500; font-size:23px; }

@media (max-width:1100px) {
  .pay-overview-visual-grid { grid-template-columns:1fr 1fr; }
  .pay-overview-card:last-child { grid-column:1 / -1; }
  .home-curator-available-list { grid-template-columns:1fr; }
  .news-overview-grid { grid-template-columns:1fr 1fr; }
  .news-overview-card.status { grid-column:1 / -1; }
}

@media (max-width:800px) {
  .create-dialog[open] {
    inset:0;
    width:100vw;
    max-width:none;
    height:100dvh;
    max-height:none;
    margin:0;
    border-radius:0;
  }
  .create-dialog-shell { height:100dvh; max-height:none; }
  .create-dialog-header { padding:14px 16px; }
  .create-dialog-header-copy { padding-right:44px; }
  .create-dialog-header-copy h2 { font-size:24px; line-height:1.05; }
  .create-dialog-header-copy p { font-size:11px; line-height:1.35; }
  .create-dialog-close { position:absolute; top:14px; right:14px; width:38px; height:38px; }
  .create-dialog-body { padding:16px; }
  .product-wizard-steps { gap:4px; padding:8px 12px; }
  .product-wizard-steps button { justify-content:center; min-height:34px; padding:4px; }
  .product-wizard-steps button strong { font-size:8px; }
  .product-wizard-steps button span { width:21px; height:21px; }
  .product-wizard-dialog .create-form-section { min-height:0; }
  .create-dialog-footer { display:grid; gap:10px; padding:12px 16px; }
  .create-dialog-footer > p { display:none; }
  .dialog-footer-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .dialog-footer-actions .button { width:100%; min-height:44px; }
  .dialog-footer-actions .button.primary { grid-column:1 / -1; grid-row:1; }
  .create-layout { grid-template-columns:1fr; gap:16px; }
  .create-preview { order:-1; padding:12px; }
  .product-create-preview .create-preview-card { display:none; }
  .product-create-preview .help-text { display:none; }
  .product-create-preview .create-preview-label { font-size:10px; }
  .product-create-preview .create-preview-image { max-height:108px; aspect-ratio:16/6; }
  .product-icon-picker { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-icon-picker button { min-height:74px; }
  .pay-overview-visual-grid,.pay-product-toggles { grid-template-columns:1fr; }
  .pay-overview-card:last-child { grid-column:auto; }
  .pay-product-workspace { grid-template-columns:1fr; }
  .pay-product-editor-image { align-items:flex-start; }
  .pay-product-editor-image input { max-width:190px; }
  .home-overview-visual-grid { grid-template-columns:1fr; }
  .home-overview-featured-matchup { grid-template-columns:auto minmax(0,1fr); justify-items:start; text-align:left; padding:18px 15px; }
  .home-overview-featured-matchup .admin-game-logos { width:130px; }
  .home-overview-featured-matchup .admin-game-logos img { width:48px; height:48px; }
  .news-overview-grid { grid-template-columns:1fr; }
  .news-overview-card.status { grid-column:auto; }
  .news-overview-row { grid-template-columns:52px minmax(0,1fr); }
  .news-overview-row em { grid-column:2; }
  .news-overview-status { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .news-overview-status .admin-data-metric { min-height:84px; padding:12px 8px; }
  .news-overview-status .admin-data-metric strong { font-size:19px; }
  .news-cover-control { display:grid; }
  .news-cover-control > img { width:100%; height:auto; aspect-ratio:16/8; }
  .news-cover-control input { max-width:100%; }
  .news-supporting-upload { align-items:flex-start; }
  .home-overview-featured-matchup small { margin-left:0; }
  .home-curator-panel { padding:12px; }
  .home-curator-panel > header { align-items:flex-start; }
  .home-curator-selected-row { grid-template-columns:auto minmax(0,1fr); }
  .home-curator-selected-row > .admin-game-logos,.home-curator-selected-row > .home-curator-thumb { grid-column:1; grid-row:2; }
  .home-curator-selected-row > .home-curator-copy { grid-column:2; grid-row:2; }
  .home-curator-row-actions { grid-column:1 / -1; justify-content:flex-end; padding-top:3px; }
  .home-curator-available-row { grid-template-columns:auto minmax(0,1fr); }
  .home-curator-available-row > button { grid-column:1 / -1; width:100%; }
}
