/* 61ahc.org — "Heritage" design system (Option A, selected 2026-08-31)
   Serves both the hand-built homepage and all generator-wrapped legacy pages. */

:root{
  --olive:#262F1A; --olive-2:#33401f;
  --gold:#CA9539; --gold-soft:#e0b869; --gold-deep:#a87826;
  --navy:#191970; --navy-ink:#110b31;
  --maroon:#530F1F; --brick:#B22222;
  --parchment:#f7f2e7; --parchment-2:#efe7d4; --card:#fffdf8;
  --ink:#2a2a22; --ink-soft:#57573f;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--olive); color:var(--ink);
  font-family:"Source Sans 3",system-ui,"Segoe UI",Arial,sans-serif;
  font-size:18px; line-height:1.6;
}
img{max-width:100%; height:auto}
a{color:var(--navy); text-decoration-color:var(--gold); text-underline-offset:3px}
a:hover{color:var(--maroon)}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif; line-height:1.2; color:var(--navy-ink)}

/* ===== Masthead ===== */
.masthead{
  background:linear-gradient(180deg,var(--maroon) 0 8px, var(--navy) 8px calc(100% - 4px), var(--gold) calc(100% - 4px) 100%);
  color:#fff; padding:28px 20px 26px; text-align:center;
}
.masthead .patches{display:flex; justify-content:center; gap:18px; flex-wrap:wrap; margin-bottom:14px}
.masthead .patches img{width:84px; height:auto; filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}
.masthead h1{
  font-style:italic; font-weight:700; margin:0;
  font-size:clamp(1.6rem,4.5vw,2.6rem); letter-spacing:.5px;
}
.masthead h1 a{color:#fff; text-decoration:none; text-shadow:0 2px 4px rgba(0,0,0,.55)}
.masthead h1 a:hover{color:var(--gold-soft)}
.masthead .tagline{color:var(--gold-soft); font-size:1.05rem; margin-top:6px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase}

/* ===== Nav ===== */
nav{background:var(--olive-2); border-top:1px solid #000; border-bottom:3px solid var(--gold); position:sticky; top:0; z-index:50}
nav ul{list-style:none; margin:0 auto; padding:0; max-width:1100px; display:flex; flex-wrap:wrap; justify-content:center}
nav li{margin:0}
nav a{
  display:block; padding:11px 15px; color:#f2ecd9; font-weight:600; font-size:.98rem;
  text-decoration:none; border-bottom:3px solid transparent; margin-bottom:-3px;
}
nav a:hover, nav a.active{color:var(--gold-soft); border-bottom-color:var(--gold-soft); background:rgba(0,0,0,.25)}

/* ===== Page shell ===== */
.page{max-width:1100px; margin:26px auto 40px; padding:0 16px}
.sheet{
  background:var(--parchment); border:1px solid var(--gold-deep);
  border-radius:6px; box-shadow:0 10px 30px rgba(0,0,0,.45); overflow:hidden;
}
.content-single{padding:30px 34px}
.content-cols{display:grid; grid-template-columns:1.5fr 1fr; gap:0}
.content-cols .col-main{padding:28px 30px; border-right:1px solid var(--parchment-2)}
.content-cols .col-side{padding:28px 26px; background:#f3ecdd}
@media (max-width:820px){
  .content-cols{grid-template-columns:1fr}
  .content-cols .col-main{border-right:0}
  .content-single{padding:24px 18px}
}

/* ===== Homepage components ===== */
.anniv{background:var(--parchment-2); border-bottom:2px solid var(--gold); text-align:center; padding:26px 22px}
.anniv h2{margin:.2em 0 .3em; font-size:clamp(1.3rem,3vw,1.9rem)}
.anniv p{max-width:62ch; margin:0 auto; color:var(--ink-soft)}
.card{background:var(--card); border:1px solid #e2d7bc; border-left:5px solid var(--gold); border-radius:4px; padding:20px 22px; margin-bottom:22px; box-shadow:0 2px 6px rgba(70,60,30,.12)}
.card.alert{border-left-color:var(--brick)}
.card h3{margin:0 0 .45em; font-size:1.35rem}
.kicker{display:inline-block; font-size:.78rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#fff; background:var(--navy); padding:3px 10px; border-radius:2px; margin-bottom:10px}
.card.alert .kicker{background:var(--brick)}
.rule{border:0; border-top:2px solid var(--gold); width:90px; margin:34px auto}
.btn{
  display:inline-block; background:var(--gold); color:var(--navy-ink); font-weight:700;
  padding:10px 20px; border-radius:4px; text-decoration:none; border:1px solid var(--gold-deep);
  box-shadow:0 2px 0 var(--gold-deep);
}
.btn:hover{background:var(--gold-soft); color:var(--navy-ink)}
figure{margin:16px 0; text-align:center}
figure img{border:4px solid #fff; box-shadow:0 3px 10px rgba(0,0,0,.25); border-radius:3px}
figcaption{font-size:.88rem; color:var(--ink-soft); margin-top:8px; font-style:italic}
.col-side h3, .aside h3{font-size:1.25rem; border-bottom:2px solid var(--gold); padding-bottom:6px}

/* ===== Legacy content (generator-wrapped mirror pages) ===== */
.legacy h1{font-size:1.7rem; color:var(--navy-ink)}
.legacy h2{font-size:1.4rem}
.legacy h3{font-size:1.15rem}
.legacy h4{font-size:1rem; font-family:"Source Sans 3",system-ui,sans-serif; font-weight:600}
.legacy h5{font-size:.9rem; color:var(--ink-soft)}
.legacy hr{border:0; border-top:2px solid var(--gold); width:120px; margin:26px auto}
.legacy img{padding:4px; background:#fff; border:1px solid #d8ccb0; border-radius:3px; box-shadow:0 2px 6px rgba(70,60,30,.15)}
.legacy table{margin-left:auto; margin-right:auto; border-collapse:collapse}
.legacy td{padding:6px}
.legacy pre{
  overflow-x:auto; background:#fffdf8; border:1px solid #e2d7bc; border-radius:4px;
  padding:14px 16px; font-size:.82rem; line-height:1.45;
}
.legacy center table{max-width:100%}
.legacy p{max-width:75ch}
.legacy li{margin-bottom:4px}

/* Wide-content guard: nothing may force horizontal page scroll */
.sheet{overflow-x:hidden}
.legacy .col-main, .legacy.content-single, .legacy .col-side{overflow-x:auto}

/* ===== Footer ===== */
footer{background:var(--navy-ink); color:#cfc9b6; border-top:4px solid var(--gold)}
.fwrap{max-width:1100px; margin:0 auto; padding:26px 20px; text-align:center; font-size:.95rem}
footer a{color:var(--gold-soft)}
.fnav{margin-bottom:10px}
.fnav a{margin:0 10px}

/* ===== Recovered UH-1 reference section ===== */
.uh1-nav{font-size:.95rem; color:var(--ink-soft); border-bottom:1px solid #e2d7bc; padding-bottom:8px; margin:0 0 18px}
.uh1-nav a{white-space:nowrap}
.legacy .uh1-nav + .uh1-nav{border-bottom:0; border-top:1px solid #e2d7bc; padding:8px 0 0; margin:26px 0 0}
.uh1-credit{background:var(--card); border-left:5px solid var(--gold); padding:12px 16px; font-size:.95rem; color:var(--ink-soft); margin:0 0 22px}
.uh1-ref{background:var(--card); border-left:5px solid var(--navy); padding:10px 16px; margin:14px 0 6px}
