@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;0,9..144,700;0,9..144,900;1,9..144,500&family=Newsreader:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');

:root{
  --brick: #a6402a;
  --brick-dark: #7c2d1c;
  --brick-darker: #5a2015;
  --mortar: #e8dcc8;
  --cream: #faf3e6;
  --charcoal: #2b241f;
  --gold: #c98a2c;
  --slate: #5b544c;
  --trojan-blue: #1c3f6e;
  --trojan-blue-dark: #12294a;
  --trojan-tint: #eef2f8;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body{
  margin:0;
  font-family:'Newsreader', serif;
  font-optical-sizing: auto;
  color: var(--charcoal);
  background: var(--cream);
  line-height:1.65;
  font-size:1.08rem;
}

h1,h2,h3,h4 { font-family:'Fraunces', serif; font-optical-sizing: auto; margin-top:0; }

a { color: var(--brick-dark); }

.ph, .ph-box {
  display:flex;
  align-items:center;
  justify-content:center;
  background: repeating-linear-gradient(45deg, #ded2ba, #ded2ba 10px, #e6dcc9 10px, #e6dcc9 20px);
  color:#8a7f6c;
  font-size:0.85rem;
  text-align:center;
  border:1px dashed #b5a688;
  border-radius:6px;
}

/* NAV */
nav{
  position:sticky; top:0; z-index:50;
  background: var(--brick-darker);
  box-shadow:0 2px 10px rgba(0,0,0,0.25);
}
.nav-inner{
  max-width:1200px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:0.7rem 1.5rem;
  flex-wrap:wrap;
}
.brand{
  color:var(--mortar); font-family:'Fraunces', serif;
  font-weight:700; font-size:1.25rem; text-decoration:none;
  display:flex; align-items:center; gap:0.5rem;
}
.brand-mark{
  display:inline-block; width:22px; height:16px; background:var(--brick);
  border:2px solid var(--gold); border-radius:2px;
}
.navlinks{ display:flex; gap:1.1rem; flex-wrap:wrap; }
.navlinks a{
  color:#efe3cc; text-decoration:none; font-weight:600; font-size:0.92rem;
  padding:0.3rem 0.2rem; border-bottom:2px solid transparent;
  transition:border-color 0.2s;
}
.navlinks a:hover{ border-color:var(--gold); }
.navlinks a.active{ color:#fff; border-color:var(--gold); }

/* HERO (home page only) */
header.hero{
  position:relative;
  background:
    linear-gradient(rgba(35,18,12,0.42), rgba(35,18,12,0.58)),
    repeating-linear-gradient(0deg, rgba(124,45,28,0.55) 0 22px, rgba(90,32,21,0.55) 22px 24px),
    repeating-linear-gradient(90deg, transparent 0 58px, rgba(0,0,0,0.16) 58px 62px),
    url('mural.jpg');
  background-size: auto, auto, auto, cover;
  background-position: center, center, center, center 60%;
  background-repeat: repeat, repeat, repeat, no-repeat;
  background-blend-mode: normal, multiply, multiply, normal;
  color:#fff;
  padding:6.5rem 1.5rem 5rem;
  text-align:center;
}
header.hero .tagline{
  font-family:'Fraunces', serif;
  font-weight:900;
  font-size:clamp(2rem, 5vw, 3.6rem);
  margin:0 0 0.6rem;
  text-shadow:0 3px 10px rgba(0,0,0,0.4);
}
header.hero .sub{
  font-size:1.15rem; max-width:640px; margin:0 auto 1.8rem;
  color:#f4e9d6;
}
header.hero .place{
  letter-spacing:0.18em; text-transform:uppercase; font-size:0.85rem;
  color:var(--gold); font-weight:700; margin-bottom:1rem;
}
.hero-cta{
  display:inline-block; margin-top:0.5rem;
  background:var(--gold); color:#2b1a0d; font-weight:700;
  padding:0.75rem 1.6rem; border-radius:30px; text-decoration:none;
  box-shadow:0 4px 14px rgba(0,0,0,0.3);
}
.hero-credit{
  margin-top:2.2rem; font-size:0.78rem; letter-spacing:0.04em;
  color:rgba(244,233,214,0.65); font-style:italic;
}

/* PAGE BANNER (interior pages) */
.page-banner{
  position:relative;
  background:
    linear-gradient(rgba(35,18,12,0.58), rgba(35,18,12,0.7)),
    url('mural.jpg');
  background-size: cover;
  background-position: center 60%;
  background-repeat: no-repeat;
  color:#fff; padding:3.4rem 1.5rem; text-align:center;
}
.page-banner .kicker{
  text-transform:uppercase; letter-spacing:0.15em; font-size:0.8rem;
  color:var(--gold); font-weight:700;
}
.page-banner h1{
  font-size:clamp(1.8rem, 4vw, 2.6rem); margin:0.3rem 0 0;
  text-shadow:0 3px 10px rgba(0,0,0,0.4);
}
.page-banner.trojan{
  background:
    linear-gradient(rgba(18,41,74,0.62), rgba(18,41,74,0.76)),
    url('mural.jpg');
  background-size: cover; background-position:center 60%; background-repeat:no-repeat;
}
.page-banner.trojan .kicker{ color:#a9c4ea; }

section{ padding:4rem 1.5rem; }
.wrap{ max-width:1100px; margin:0 auto; }

.section-head{ text-align:center; margin-bottom:2.5rem; }
.section-head h2{ font-size:2.1rem; color:var(--brick-dark); }
.section-head .kicker{
  text-transform:uppercase; letter-spacing:0.15em; font-size:0.78rem;
  color:var(--gold); font-weight:700;
}
.section-head p.lede{ max-width:680px; margin:0.6rem auto 0; color:var(--slate); }

.alt{ background:var(--mortar); }

/* TROJAN ZONE — scoped blue/gold accent for School & Athletics only */
.trojan-zone{ background:var(--trojan-tint); }
.trojan-zone .kicker{ color:var(--trojan-blue); }
.trojan-zone .section-head h2{ color:var(--trojan-blue-dark); }
.trojan-zone .card{ border-top-color:var(--trojan-blue); }
.trojan-zone .card h3{ color:var(--trojan-blue-dark); }
.trojan-zone .card .tag{ color:var(--gold); }
.trojan-zone .note{ border-left-color:var(--trojan-blue); }

/* LORE — clickable story tiles + long-form detail pages */
a.card-link{ display:block; text-decoration:none; color:inherit; transition:transform 0.15s, box-shadow 0.15s; }
a.card-link:hover{ transform:translateY(-3px); }
a.card-link .card{ height:100%; }
a.card-link:hover .card{ box-shadow:0 10px 24px rgba(60,40,20,0.18); }
.card .read-more{ display:inline-block; margin-top:0.8rem; font-weight:700; color:var(--brick-dark); font-size:0.9rem; }
a.card-link:hover .read-more{ text-decoration:underline; }

.back-link{ display:inline-block; margin-bottom:1.5rem; font-weight:600; font-size:0.92rem; text-decoration:none; }
.back-link:hover{ text-decoration:underline; }

.story-detail h2{ color:var(--brick-dark); font-size:1.6rem; margin:2.2rem 0 0.8rem; }
.story-detail h2:first-child{ margin-top:0; }
.story-detail p{ margin:0 0 1rem; }
.story-byline{ color:var(--slate); font-size:0.9rem; font-style:italic; margin-bottom:2rem; }

.primary-source{
  background:#f5ede0; border-left:4px solid var(--brick); border-radius:6px;
  padding:1.1rem 1.4rem; margin:1.2rem 0; font-family:'Newsreader', serif;
  font-style:italic; color:var(--charcoal);
}
.primary-source .src-label{
  display:block; font-style:normal; font-weight:700; text-transform:uppercase;
  letter-spacing:0.06em; font-size:0.72rem; color:var(--gold); margin-bottom:0.5rem;
}
.primary-source p{ margin:0 0 0.6rem; }
.primary-source p:last-child{ margin-bottom:0; }

.pull-quote{
  border-top:3px solid var(--gold); border-bottom:3px solid var(--gold);
  padding:1.4rem 0; margin:2rem 0; text-align:center;
  font-family:'Fraunces', serif; font-size:1.3rem; color:var(--brick-dark); font-weight:600;
}

.citations{ margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--mortar); }
.citations h3{ font-size:1rem; color:var(--slate); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:0.8rem; }
.citations ol{ font-size:0.85rem; color:var(--slate); padding-left:1.3rem; }
.citations li{ margin-bottom:0.4rem; }

/* TIMELINE */
.timeline{ position:relative; margin:0 auto; max-width:820px; padding-left:1.5rem; border-left:3px solid var(--brick); }
.tl-item{ position:relative; margin-bottom:2.1rem; padding-left:1.5rem; }
.tl-item::before{
  content:''; position:absolute; left:-1.72rem; top:0.25rem;
  width:14px; height:14px; border-radius:50%;
  background:var(--gold); border:3px solid var(--brick-dark);
}
.tl-item .yr{ font-weight:700; color:var(--brick-dark); font-family:'Fraunces', serif; font-size:1.15rem; }

/* CARD GRID */
.grid{ display:grid; gap:1.6rem; }
.grid.cols-3{ grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); }
.grid.cols-2{ grid-template-columns:repeat(auto-fit, minmax(320px,1fr)); }
.card{
  background:#fff; border-radius:10px; padding:1.5rem;
  box-shadow:0 3px 14px rgba(60,40,20,0.08);
  border-top:4px solid var(--brick);
}
.card h3{ color:var(--brick-dark); font-size:1.2rem; margin-bottom:0.4rem; }
.card .tag{
  display:inline-block; font-size:0.72rem; text-transform:uppercase;
  letter-spacing:0.08em; color:var(--gold); font-weight:700; margin-bottom:0.5rem;
}

/* STATS */
.stats{ display:flex; flex-wrap:wrap; justify-content:center; gap:2.2rem; margin-top:2rem; }
.stat{ text-align:center; min-width:140px; }
.stat .num{ font-family:'Fraunces', serif; font-size:2.1rem; color:var(--brick-dark); font-weight:700; }
.stat .lbl{ font-size:0.82rem; color:var(--slate); text-transform:uppercase; letter-spacing:0.05em; }

/* GALLERY */
.era-block{ margin-bottom:2.5rem; }
.era-block h3{ color:var(--brick-dark); border-bottom:2px solid var(--brick); display:inline-block; padding-bottom:0.2rem; }
.photo-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(190px,1fr)); gap:1rem; margin-top:1rem; }
.photo-grid .ph { aspect-ratio: 4/3; padding:0.5rem; }
.photo-grid figure{ margin:0; background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 2px 10px rgba(60,40,20,0.08); }
.photo-grid figure img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; background:#ded2ba; }
.photo-grid figcaption{ padding:0.55rem 0.75rem; font-size:0.8rem; color:var(--slate); line-height:1.3; }

/* BUSINESS */
.biz-category{ margin-bottom:2.2rem; }
.biz-category h3{
  color:var(--brick-dark); font-size:1.15rem; margin-bottom:0.7rem;
  display:flex; align-items:center; gap:0.6rem;
}
.biz-category h3::after{ content:''; flex:1; height:1px; background:var(--brick); opacity:0.35; }
.biz-table{ width:100%; border-collapse:collapse; background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 3px 14px rgba(60,40,20,0.08); font-size:0.95rem; }
.biz-table th{ background:var(--brick-dark); color:#fff; text-align:left; padding:0.7rem 1rem; font-family:'Fraunces', serif; font-weight:700; }
.biz-table td{ padding:0.7rem 1rem; border-top:1px solid var(--mortar); }
.biz-table tr:nth-child(even){ background:#fbf6ec; }
.biz-table a{ font-weight:600; white-space:nowrap; }

/* WEATHER */
.weather-strip{ background:var(--mortar); padding:1.4rem 1.5rem; }
.weather-wrap{ max-width:1100px; width:100%; margin:0 auto; }
.weather-wrap a.weatherwidget-io{ display:block; width:100%; }

/* STORY WALL */
.story-wall{ display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:1.2rem; }
.brick-slot{
  border-radius:8px; padding:1.4rem; min-height:150px;
  display:flex; flex-direction:column; justify-content:center;
  background: linear-gradient(135deg, var(--brick) 0%, var(--brick-dark) 100%);
  color:#f6e9d6; position:relative; box-shadow:0 3px 10px rgba(0,0,0,0.15);
}
.brick-slot.empty{
  background: repeating-linear-gradient(45deg, #ede1cb, #ede1cb 10px, #f4ecdb 10px, #f4ecdb 20px);
  color:#8a7f6c; border:2px dashed var(--gold);
}
.brick-slot h4{ font-family:'Fraunces', serif; margin-bottom:0.4rem; }
.brick-slot .who{ font-size:0.8rem; opacity:0.85; margin-top:0.6rem; font-style:italic; }

/* CONTRIBUTE */
.contribute-box{
  background:var(--brick-darker); color:#f4ecdb; border-radius:14px;
  padding:2.5rem; text-align:center;
}
.contribute-box h2{ color:#fff; }
.contribute-box a.email{ color:var(--gold); font-weight:700; }
.contribute-list{ text-align:left; max-width:560px; margin:1.5rem auto 0; }
.contribute-list li{ margin-bottom:0.5rem; }

/* QUICK LINKS (home page) */
.quick-links{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:1.4rem; }
.quick-links a.tile{
  display:block; background:#fff; border-radius:10px; padding:1.4rem 1.3rem;
  box-shadow:0 3px 14px rgba(60,40,20,0.08); border-top:4px solid var(--brick);
  text-decoration:none; color:inherit; transition:transform 0.15s, box-shadow 0.15s;
}
.quick-links a.tile:hover{ transform:translateY(-3px); box-shadow:0 8px 20px rgba(60,40,20,0.15); }
.quick-links a.tile h3{ color:var(--brick-dark); margin-bottom:0.3rem; font-size:1.1rem; }
.quick-links a.tile p{ margin:0; font-size:0.88rem; color:var(--slate); }

footer{
  background:var(--charcoal); color:#cabfa9; padding:2.5rem 1.5rem 1.5rem; text-align:center; font-size:0.85rem;
}
footer a{ color:var(--gold); }
footer .fine{ margin-top:1rem; color:#8b8272; font-size:0.78rem; max-width:700px; margin-left:auto; margin-right:auto; }

.note{
  background:#fff8ea; border-left:4px solid var(--gold); padding:0.9rem 1.1rem;
  border-radius:6px; font-size:0.9rem; color:var(--slate); margin-top:1.5rem;
}

/* ATHLETICS ARCHIVE — sport detail pages */
.sport-banner .facts{ display:flex; flex-wrap:wrap; justify-content:center; gap:2rem; margin-top:1.6rem; }
.sport-banner .facts .fact{ text-align:center; min-width:130px; }
.sport-banner .facts .fact .num{ font-family:'Fraunces',serif; font-size:1.9rem; font-weight:700; color:#fff; }
.sport-banner .facts .fact .lbl{ font-size:0.76rem; text-transform:uppercase; letter-spacing:0.05em; color:#a9c4ea; }
.sport-banner .banner-sub{ max-width:720px; margin:0.9rem auto 0; color:#dce6f5; font-size:1.02rem; }

/* Navy/gold hero redesign for sport pages, modeled on the MUASD athletics-site
   concept (muasd-ai.netlify.app) — flat navy gradient + decorative circle instead
   of the brick-mural photo treatment used elsewhere on the site. */
.page-banner.trojan.sport-banner{
  background: linear-gradient(135deg, var(--trojan-blue-dark) 0%, var(--trojan-blue) 100%);
  position:relative; overflow:hidden;
}
.page-banner.trojan.sport-banner::before{
  content:""; position:absolute; top:-140px; right:-180px; width:460px; height:460px;
  border-radius:50%; background:rgba(255,255,255,0.055); pointer-events:none;
}
.page-banner.trojan.sport-banner::after{
  content:""; position:absolute; top:30px; right:-40px; width:260px; height:260px;
  border-radius:50%; border:1px solid rgba(255,255,255,0.09); pointer-events:none;
}
.page-banner.trojan.sport-banner > *{ position:relative; z-index:1; }

.badge-record{ display:inline-block; background:var(--gold); color:#2b1a0d; font-weight:700; padding:0.3rem 0.9rem; border-radius:20px; font-size:0.85rem; }

.era-tabs{ display:flex; flex-wrap:wrap; gap:0.6rem; justify-content:center; margin:2.2rem 0 1.6rem; }
.era-tab{ background:#fff; border:2px solid var(--trojan-blue); color:var(--trojan-blue-dark); font-weight:700; padding:0.55rem 1.2rem; border-radius:24px; cursor:pointer; font-size:0.86rem; font-family:'Newsreader',serif; transition:background 0.2s,color 0.2s; }
.era-tab:hover{ background:var(--trojan-tint); }
.era-tab.active{ background:var(--trojan-blue); color:#fff; }
.era-panel{ display:none; }
.era-panel.active{ display:block; }

/* SPORT-LEVEL TAB SUB-NAV — "Program History" / "Records & Hall of Fame", styled
   after the reference site's Schedule/Coaching Staff/Roster/Records tab bar:
   white bar, gold underline on the active tab, instead of the pill-button look
   used for the nested decade tabs (e.g. football's era tabs) below. */
.sport-tabs{ margin:0 0 1rem; }
.sport-tabs > .era-tabs{
  gap:0; justify-content:flex-start; margin:0; background:#fff;
  border-bottom:1px solid #dde3ec; border-radius:0; padding:0 0.2rem;
}
.sport-tabs > .era-tabs .era-tab{
  background:none; border:none; border-bottom:3px solid transparent; border-radius:0;
  color:var(--trojan-blue-dark); padding:0.85rem 1.3rem; font-size:0.95rem;
}
.sport-tabs > .era-tabs .era-tab:hover{ background:var(--trojan-tint); }
.sport-tabs > .era-tabs .era-tab.active{ background:none; border-bottom-color:var(--gold); }

/* RECORDS TAB — stat-card grid + Hall of Fame bio block, matching the reference
   site's "Program Highlights & Hall of Fame" pattern. */
.stat-cards{ display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:1.4rem; margin:1.6rem 0 2rem; }
.stat-card{ background:#fff; border-radius:10px; padding:1.5rem 1.4rem; box-shadow:0 2px 12px rgba(18,41,74,0.09); border-top:4px solid var(--trojan-blue); }
.stat-card .stat-kicker{ text-transform:uppercase; letter-spacing:0.07em; font-size:0.72rem; color:var(--gold); font-weight:700; margin-bottom:0.55rem; }
.stat-card .stat-num{ font-family:'Fraunces',serif; font-weight:800; font-size:1.7rem; color:var(--trojan-blue-dark); line-height:1.2; margin-bottom:0.4rem; }
.stat-card p{ margin:0; color:var(--slate); font-size:0.92rem; }

.hof-block{ background:var(--trojan-blue-dark); color:#fff; border-radius:10px; padding:2rem 2.1rem; margin:2rem 0; }
.hof-block .stat-kicker{ display:block; color:var(--gold); text-transform:uppercase; letter-spacing:0.1em; font-size:0.75rem; font-weight:700; margin-bottom:0.6rem; }
.hof-block h3{ color:#fff; font-size:1.5rem; margin:0 0 0.8rem; }
.hof-block p{ color:#dce6f5; margin:0 0 0.7rem; }
.hof-block p:last-child{ margin-bottom:0; }
.hof-block .source-tag{ color:#a9c4ea; }

.records-sources{ font-size:0.8rem; color:var(--slate); margin-top:1.4rem; padding-top:1rem; border-top:1px solid #e3d9c4; }

.table-wrap{ overflow-x:auto; margin:1.6rem 0; border-radius:10px; box-shadow:0 3px 14px rgba(60,40,20,0.08); }
.table-wrap table{ width:100%; border-collapse:collapse; background:#fff; font-size:0.92rem; }
.table-wrap th{ background:var(--trojan-blue); color:#fff; text-align:left; padding:0.65rem 0.9rem; font-family:'Fraunces',serif; font-weight:700; white-space:nowrap; }
.table-wrap td{ padding:0.6rem 0.9rem; border-top:1px solid var(--mortar); }
.table-wrap tr:nth-child(even){ background:#fbf6ec; }
.table-wrap tr.note-row td{ font-style:italic; color:var(--slate); font-size:0.85rem; background:#f5ede0; }

.callout{ background:#fff; border-left:4px solid var(--trojan-blue); border-radius:6px; padding:1.2rem 1.4rem; margin:1.7rem 0; box-shadow:0 3px 14px rgba(60,40,20,0.06); }
.callout h4{ color:var(--trojan-blue-dark); margin:0 0 0.5rem; font-size:1.08rem; font-family:'Fraunces',serif; }
.callout p{ margin:0 0 0.6rem; color:var(--charcoal); }
.callout p:last-child{ margin-bottom:0; }
.callout.gold{ border-left-color:var(--gold); }
.callout.gold h4{ color:var(--brick-dark); }
.callout.flag{ border-left-color:var(--brick); background:#fdf1ed; }
.callout.flag h4{ color:var(--brick-dark); }

.source-tag{ display:block; margin-top:0.5rem; font-size:0.78rem; font-style:italic; color:var(--slate); }

/* PEOPLE LIST (click a name to expand) */
.people-list{ display:flex; flex-direction:column; gap:0.7rem; }
.people-list details{
  background:#fff; border-radius:8px; border-left:4px solid var(--brick);
  box-shadow:0 2px 10px rgba(60,40,20,0.07); overflow:hidden;
}
.people-list summary{
  cursor:pointer; padding:0.9rem 1.3rem; list-style:none;
  display:flex; align-items:baseline; gap:0.7rem; flex-wrap:wrap;
}
.people-list summary::-webkit-details-marker{ display:none; }
.people-list summary::after{
  content:'+'; margin-left:auto; font-size:1.3rem; color:var(--brick);
  font-weight:700; font-family:sans-serif, Arial; line-height:1;
}
.people-list details[open] summary::after{ content:'\2212'; }
.people-list summary:hover .p-name{ text-decoration:underline; }
.people-list .p-name{ font-family:'Fraunces', serif; font-size:1.08rem; color:var(--brick-dark); font-weight:700; }
.people-list .p-tag{
  font-size:0.72rem; text-transform:uppercase; letter-spacing:0.07em;
  color:var(--gold); font-weight:700;
}
.people-list .p-body{ padding:0 1.3rem 1.1rem; border-top:1px solid var(--mortar); padding-top:0.9rem; }
.people-list .p-body p{ margin-bottom:0.5rem; }
.people-list .p-body p:last-child{ margin-bottom:0; }

.trojan-zone .timeline{ border-left-color:var(--trojan-blue); }
.trojan-zone .tl-item::before{ background:var(--gold); border-color:var(--trojan-blue-dark); }
.trojan-zone .tl-item .yr{ color:var(--trojan-blue-dark); }

.back-to-top{
  position:fixed; bottom:1.8rem; right:1.8rem; background:var(--trojan-blue); color:#fff;
  width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  text-decoration:none; font-size:1.3rem; box-shadow:0 4px 14px rgba(0,0,0,0.3);
  opacity:0; pointer-events:none; transition:opacity 0.2s;
}
.back-to-top.show{ opacity:1; pointer-events:auto; }

.sport-index-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.4rem; }
.confidence{ display:inline-block; font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; padding:0.15rem 0.55rem; border-radius:10px; }
.confidence.high{ background:#e3f3e6; color:#256b34; }
.confidence.medium{ background:#fbf1d8; color:#96700f; }
.confidence.low{ background:#fbe4e0; color:#9c3b28; }

/* CHAMP — donate buttons */
.donate-buttons{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin:1.8rem 0; }
.donate-btn{
  display:inline-flex; align-items:center; gap:0.5rem; padding:0.85rem 1.7rem; border-radius:30px;
  font-weight:700; text-decoration:none; font-size:1rem; box-shadow:0 4px 14px rgba(0,0,0,0.14);
  transition:transform 0.15s;
}
.donate-btn:hover{ transform:translateY(-2px); }
.donate-btn.primary{ background:var(--gold); color:#2b1a0d; }
.donate-btn.secondary{ background:var(--trojan-blue); color:#fff; }
.donate-btn.outline{ background:#fff; color:var(--brick-dark); border:2px solid var(--brick); }
.donate-btn .sub{ font-weight:400; font-size:0.82rem; opacity:0.85; }

@media (max-width:640px){
  .navlinks{ display:none; }
  section{ padding:3rem 1rem; }
}
