:root {
  --forest: #9E2B25;
  --field: #B08A36;
  --cream: #F4ECDC;
  --blue: #74201C;
  --amber: #B08A36;
  --charcoal: #241C16;
  --paper: #FBF6EA;
  --line: #D9C9A8;
}

html { letter-spacing: 0; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--charcoal);
  font-family: "Inter", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}
a { color: var(--blue); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
h1, h2, h3, h4, .navbar-brand {
  font-family: "Spectral", Georgia, serif;
  color: var(--forest);
  letter-spacing: 0;
}
.bg-primary { background: var(--forest) !important; }
.text-light, .text-light a, .navbar .btn.btn-link { color: #fff !important; }
.utility-strip {
  background: #17291e;
  font-size: .78rem;
}
.utility-strip .container {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
  padding-top: .35rem;
  padding-bottom: .35rem;
}
.utility-strip a { color: #F8F3E9; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  box-shadow: 0 2px 12px rgba(31, 61, 43, .18);
}
.navbar {
  min-height: auto;
  padding: .8rem max(1rem, 4vw);
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.navbar-brand {
  color: #fff;
  font-size: 1.05rem;
  white-space: normal;
}
.nav-links {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .1rem;
}
.navbar .btn.btn-link {
  height: auto;
  padding: .35rem .45rem;
  font-size: .72rem;
  font-weight: 700;
}
.nav-dropdown {
  position: relative;
  display: inline-flex;
}
.dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 13rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 14px 32px rgba(32, 33, 36, .18);
  padding: .4rem;
}
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu { display: grid; }
.dropdown-menu a { padding: .45rem .55rem; color: var(--charcoal); border-radius: 6px; }
.dropdown-menu a:hover { background: #EFF5EB; text-decoration: none; }
.club-hero {
  background:
    linear-gradient(90deg, rgba(31,61,43,.96), rgba(31,61,43,.78)),
    url("/assets/images/img_2ae36066c658.png") right center / contain no-repeat,
    var(--forest);
  padding: 4.8rem 1rem;
}
.club-hero h1 {
  color: #fff;
  font-size: 2.6rem;
  margin-bottom: .7rem;
}
.hero-kicker {
  margin: 0 0 .5rem;
  color: var(--amber);
  font-weight: 700;
  text-transform: uppercase;
  font-size: .78rem;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .65rem;
  margin-top: 1.2rem;
}
.btn.btn-primary {
  background: var(--amber);
  border-color: var(--amber);
  color: #1b260f;
  font-weight: 700;
}
.page-band { padding: 2.6rem 1rem; }
.content-panel, .quick-panel, .club-sidebar {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(32, 33, 36, .07);
  padding: 1.35rem;
}
.article-panel h1, .page-title-row h1 {
  font-size: 2rem;
  margin-top: 0;
}
.lead { font-size: 1.08rem; color: #455047; }
.quick-panel {
  display: grid;
  gap: .5rem;
  background: #F4F7EF;
}
.quick-panel a {
  display: block;
  padding: .55rem .65rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--forest);
  font-weight: 700;
}
.event-column { padding: .45rem; }
.content-card, .event-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  height: 100%;
}
.card-image img, .content-figure img, .card-gallery img, .article-main-image img {
  display: block;
  max-width: 100%;
  height: auto;
}
.card-image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.content-heading { margin-top: 1.4rem; }
.content-list { padding-left: 1.25rem; }
.content-figure {
  margin: 1rem 0;
  border-radius: 8px;
  overflow: hidden;
}
.figure-right { float: right; max-width: 42%; margin-left: 1rem; }
.figure-left { float: left; max-width: 42%; margin-right: 1rem; }
figcaption { font-size: .82rem; color: #596258; padding-top: .35rem; }
.table-wrap { overflow-x: auto; margin: 1rem 0; }
.table { background: #fff; }
.media-frame iframe { border: 0; background: #fff; }
.page-breadcrumbs { margin-bottom: 1rem; }
.toc {
  background: #F4F7EF;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: .9rem;
  margin: 1rem 0;
}
.article-main-image {
  float: right;
  max-width: 33%;
  margin: 0 0 1rem 1rem;
}
.site-footer {
  color: #F8F3E9;
  padding: 2rem 1rem;
}
.site-footer h2 { color: #fff; font-size: 1.15rem; }
.site-footer a { color: #F8F3E9; }
.footer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .45rem .9rem;
}
.empty-copy { color: #687266; }
@media (max-width: 840px) {
  .navbar { display: block; }
  .nav-links { justify-content: flex-start; margin-top: .6rem; }
  .club-hero { background-image: linear-gradient(90deg, rgba(31,61,43,.96), rgba(31,61,43,.84)); }
  .club-hero h1 { font-size: 2rem; }
  .figure-right, .figure-left, .article-main-image { float: none; max-width: 100%; margin: 1rem 0; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .footer-grid { grid-template-columns: 1fr; }
  .content-panel, .quick-panel, .club-sidebar { padding: 1rem; }
}
@media print {
  .site-header, .site-footer, .club-sidebar, .quick-panel { display: none; }
  body { background: #fff; color: #000; }
  .content-panel { box-shadow: none; border: 0; }
}

.nav-links .nav-link { color: inherit; text-decoration: none; padding: .25rem .4rem; display: inline-block; }


/* elotrocolegio vintage tokens (audit) */
:root{--red:#9E2B25;--red-deep:#74201C;--gold:#B08A36;--ink:#241C16;--body-ink:#3B3027;--muted:#73685B;--hairline:#D9C9A8;--bg:#F4ECDC;--surface:#FBF6EA;}
body{background:#F4ECDC;color:#3B3027;font-family:Spectral,Georgia,serif;}
.navbar.bg-primary,.bg-primary{background:#9E2B25 !important;}
h1,h2,h3,h4,h5,h6,.navbar-brand{font-family:'Playfair Display',Georgia,serif !important;color:#241C16;}
a{color:#9E2B25;} a:hover{color:#74201C;}
.site-prose a,.card a,.content a{text-decoration:underline;text-decoration-color:rgba(158,43,37,.4);text-underline-offset:2px;}
.btn-primary,.read-more{background:#9E2B25;border-color:#9E2B25;color:#FBF6EA;}
.card{background:#FBF6EA;border:1px solid #D9C9A8;}
hr,.divider{border-color:#B08A36;}
.text-muted{color:#73685B !important;}
