/* Richmond Family Reunion 2026 — Minimal Theme */
:root{
  --bg:#ffffff;
  --paper:#fbfaf8;
  --ink:#1a1a1a;
  --muted:#555;
  --line:#ece7e1;
  --brand:#4b2e0f; /* rich brown */
  --accent:#c7a45e; /* gold */
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Outfit',system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.6;
}

h1,h2,h3{font-family:'Playfair Display', Georgia, serif; margin:0 0 .5rem; color:#111}
h1{font-size:clamp(2rem,4.5vw,3.4rem)}
h2{font-size:clamp(1.6rem,3.5vw,2.2rem)}
h3{font-size:1.2rem}

.container{width:min(1100px,92vw); margin-inline:auto}
.section{padding:64px 0}
.section.alt{background:var(--paper)}
.micro{font-size:.92rem; color:var(--muted)}

.site-header{position:sticky; top:0; background:rgba(255,255,255,.85); backdrop-filter:saturate(160%) blur(6px); border-bottom:1px solid var(--line); z-index:20}
.nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
.brand{display:flex; align-items:center; gap:.6rem; text-decoration:none; color:inherit; font-weight:700}
.brand-mark{background:var(--brand); color:#fff; padding:.35rem .55rem; border-radius:8px}
.brand-text{letter-spacing:.2px}

.nav-menu{display:flex; align-items:center; gap:16px}
.nav-menu a{color:var(--ink); text-decoration:none; font-weight:700}
.btn{display:inline-block; padding:12px 16px; border-radius:12px; text-decoration:none; font-weight:800; border:2px solid transparent; cursor:pointer}
.btn-cta{background:var(--accent); color:#000}
.btn-outline{background:transparent; border-color:var(--brand); color:var(--brand)}
.btn:focus{outline:2px solid var(--accent); outline-offset:2px}
.nav-toggle{display:none; background:none; border:1px solid var(--line); padding:.45rem .6rem; border-radius:8px}

@media (max-width: 880px){
  .nav-toggle{display:block}
  .nav-menu{position:absolute; right:4vw; top:62px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px; display:none; flex-direction:column; gap:12px; min-width:240px}
  .nav-menu.open{display:flex}
}

.hero{background:
  radial-gradient(60% 50% at 20% 20%, rgba(199,164,94,.18), transparent 60%),
  radial-gradient(60% 50% at 80% 10%, rgba(75,46,15,.18), transparent 60%);
  padding:86px 0 72px; text-align:center;
}
.lead{color:#333}
.cta{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin:14px 0 10px}

.countdown{display:none} /* hidden in this build; timer code included if you want to enable later */

.grid{display:grid; gap:18px}
.two{grid-template-columns:1.1fr .9fr}
@media (max-width: 860px){ .two{grid-template-columns:1fr} }

.card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px}
.card.note{border-left:4px solid var(--accent)}
.card.info h3{margin-bottom:.4rem}
.bullets{margin:0; padding-left:1.1rem}

.timeline{display:grid; grid-template-columns:1fr; gap:14px}
.timecard{border-left:4px solid var(--brand); padding:14px 16px; background:#fff; border:1px solid var(--line); border-radius:12px}

.pricing{grid-template-columns:repeat(5,1fr)}
@media (max-width: 960px){ .pricing{grid-template-columns:repeat(2,1fr)} }
@media (max-width: 520px){ .pricing{grid-template-columns:1fr} }
.price{background:#fff; border:1px solid var(--line); padding:18px; border-radius:14px; text-align:center}
.price .amount{font-weight:900; font-size:1.25rem}

.embed iframe{width:100%; min-height:650px; border:0; background:#fafafa; border-radius:12px}
.paygrid{grid-template-columns:repeat(3,1fr)}
@media (max-width: 900px){ .paygrid{grid-template-columns:1fr} }
.paycard{background:#fff; border:1px solid var(--line); padding:18px; border-radius:14px}

.site-footer{border-top:1px solid var(--line); padding:20px 0; background:#fff}
.footer-inner{display:flex; justify-content:space-between; align-items:center; gap:16px}
.footer-inner a{color:var(--brand); text-decoration:none}
.social{display:flex; gap:14px; font-weight:800}
