/* Homecoming Sunday — brand styles · Andrus Advisory */
@font-face{ font-family:'Display Block'; src:url('/fonts/Display-Block.ttf') format('truetype'); font-weight:700; font-display:swap; }
@font-face{ font-family:'Display Block'; src:url('/fonts/Display-Block-Italic.ttf') format('truetype'); font-weight:700; font-style:italic; font-display:swap; }
@font-face{ font-family:'Body Book'; src:url('/fonts/Body-Book.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face{ font-family:'Body Book'; src:url('/fonts/Body-Book-Bold.ttf') format('truetype'); font-weight:700; font-display:swap; }
@font-face{ font-family:'Body Book'; src:url('/fonts/Body-Book-Italic.ttf') format('truetype'); font-weight:400; font-style:italic; font-display:swap; }

:root{
  --ink:#161616;
  --gold:#B0862B;        /* collegiate gold */
  --gold-deep:#8A6A22;   /* gold text on white */
  --gold-bright:#CBA24C; /* gold on dark */
  --cream:#F6F4EE;
  --paper:#FFFFFF;
  --muted:#6b6a66;
  --display:'Display Block', 'Zilla Slab', Georgia, serif;
  --body:'Body Book', 'Source Serif 4', Georgia, serif;
  --label:system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:var(--paper); color:var(--ink); font-family:var(--body); line-height:1.65; font-size:17px; }
a{ color:inherit; }
img{ max-width:100%; }
.wrap{ max-width:1000px; margin:0 auto; padding:0 24px; }
.wrap-narrow{ max-width:760px; margin:0 auto; padding:0 24px; }

h1,h2,h3{ font-family:var(--display); font-weight:700; line-height:1.08; margin:0; }
.ey{ font-family:var(--label); font-size:12px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--muted); }
.ey.gold{ color:var(--gold-deep); }
.ey.gold-dark{ color:var(--gold-bright); }
.lead{ font-size:19px; color:#4a4844; }
.it{ font-style:italic; }

.btn{ display:inline-block; font-family:var(--label); font-size:15px; font-weight:700; letter-spacing:.4px; text-decoration:none; padding:16px 30px; border-radius:2px; cursor:pointer; border:0; }
.btn-solid{ background:var(--ink); color:#fff; }
.btn-gold{ background:var(--gold); color:#fff; }
.btn-ghost{ border:1px solid rgba(255,255,255,.5); color:#fff; background:transparent; }
.btn-light{ background:#fff; color:var(--ink); }

/* nav */
nav.site{ position:sticky; top:0; z-index:30; background:rgba(255,255,255,.94); backdrop-filter:blur(8px); }
nav.site .row{ display:flex; align-items:center; justify-content:space-between; height:64px; }
nav.site .brand{ font-family:var(--label); font-weight:700; letter-spacing:3px; font-size:13px; text-decoration:none; display:flex; align-items:center; gap:10px; }
nav.site .brand img{ height:34px; }
nav.site .links a{ font-family:var(--label); font-size:13px; letter-spacing:.5px; text-decoration:none; color:var(--muted); margin-left:22px; }
nav.site .links a.cta{ background:var(--ink); color:#fff; padding:10px 18px; border-radius:2px; font-weight:700; }
@media(max-width:680px){ nav.site .links a:not(.cta){ display:none; } }
@media(max-width:520px){
  nav.site .brand{ font-size:10.5px; letter-spacing:1.5px; gap:7px; }
  nav.site .brand img{ height:28px; }
  nav.site .links a.cta{ padding:8px 12px; font-size:11.5px; white-space:nowrap; }
  nav.site .row{ gap:10px; }
  .wrap, .wrap-narrow{ padding:0 18px; }
}

/* dark panels */
.dark{ background:var(--ink); color:#f4f4f2; }
.dark .ey{ color:#9a9a97; }
.dark h1,.dark h2{ color:#fff; }

/* doc pages (members asset docs) */
.doc-hero{ background:var(--ink); color:#f4f4f2; padding:64px 0 52px; }
.doc-hero h1{ font-size:46px; }
.doc-hero .deck{ font-style:italic; font-size:20px; color:#c7c7c3; margin-top:14px; max-width:640px; }
@media(max-width:640px){ .doc-hero h1{ font-size:34px; } }
.doc section{ padding:56px 0 8px; }
.doc h2{ font-size:30px; margin:6px 0 12px; }
.doc h3{ font-size:20px; margin:28px 0 8px; }

/* script blocks — copy-paste friendly */
.script{ background:var(--cream); padding:26px 28px; margin:18px 0 30px; border-radius:2px; }
.script .who{ font-family:var(--label); font-size:11px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--gold-deep); margin-bottom:10px; }
.script p{ margin:0 0 14px; }
.script p:last-child{ margin-bottom:0; }
.script .cue{ font-family:var(--label); font-size:12.5px; color:var(--muted); font-style:normal; }

/* tables — cream banding, no gridlines */
table{ width:100%; border-collapse:collapse; margin:18px 0 30px; font-size:15.5px; }
th{ font-family:var(--label); font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; text-align:left; color:var(--muted); padding:10px 14px; }
td{ padding:12px 14px; vertical-align:top; }
tbody tr:nth-child(odd) td{ background:var(--cream); }
td b, td strong{ font-family:var(--label); font-size:14px; }

/* footer */
footer.site{ background:var(--ink); color:#9a9a97; padding:44px 0; font-family:var(--label); font-size:13px; }
footer.site a{ color:#c7c7c3; text-decoration:none; }
footer.site .row{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
footer.site img{ height:30px; opacity:.85; }

.note{ background:var(--cream); padding:18px 22px; font-size:15px; border-radius:2px; }
.note b{ font-family:var(--label); font-size:13.5px; letter-spacing:.5px; }

/* mobile: tables scroll sideways instead of crushing; footer centers */
@media(max-width:640px){
  table{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  td, th{ min-width:120px; }
  .doc-hero h1{ font-size:30px; }
  .script{ padding:20px 18px; }
  footer.site .row{ justify-content:center; text-align:center; }
}
