:root{--green:#073c2e;--deep:#03271f;--gold:#d8aa36;--oldgold:#b99231;--cream:#f3ead3;--ink:#14372e}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
header{position:sticky;top:0;z-index:20;background:rgba(3,39,31,.98);border-bottom:2px solid var(--gold);display:flex;align-items:center;padding:10px 2%;gap:14px;color:#fff}
.brand{font-family:Georgia,serif;font-size:22px;font-weight:800;letter-spacing:1px}
.brand span{display:block;font-size:11px;color:var(--gold);letter-spacing:3px;margin-top:4px}
nav{margin-left:auto;display:flex;gap:12px;flex-wrap:wrap}
nav a{color:#fff;text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:700}
nav a:hover,nav a:focus-visible{color:var(--gold)}
.cta{background:var(--gold);color:var(--deep)!important;padding:10px 14px;border-radius:4px}
.menu-toggle{display:none;margin-left:auto;border:2px solid var(--gold);background:transparent;color:#fff;border-radius:5px;padding:9px 11px;font:inherit;font-weight:800;cursor:pointer;align-items:center;gap:8px}
.menu-toggle-icon{font-size:20px;line-height:1}
.page-hero{background:radial-gradient(circle at 75% 20%,#0d5a41,transparent 42%),var(--deep);color:#fff;text-align:center;padding:82px 4% 74px;border-bottom:5px double var(--gold)}
.page-hero .kicker,.kicker{color:var(--gold);letter-spacing:3px;font-size:13px;font-weight:800;text-transform:uppercase}
.page-hero h1{font:800 clamp(42px,6vw,72px)/1.04 Georgia,serif;margin:12px 0 18px;text-transform:uppercase}
.page-hero p{max-width:760px;margin:0 auto;font:21px/1.65 Georgia,serif}
main{padding:64px 4% 76px}.wrap{max-width:1050px;margin:auto}.title{text-align:center;margin-bottom:32px}.title h2{font:700 42px/1.1 Georgia,serif;margin:6px 0 12px}.title p{line-height:1.65}
.attendee-grid,.sponsor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}
.attendee-card,.sponsor-card{background:#fff;border:2px solid var(--gold);border-radius:7px;padding:19px;text-align:center;font:700 18px Georgia,serif;color:var(--ink)}
.sponsor-card{background:var(--green);color:#fff;box-shadow:0 7px 18px #0002}.sponsor-star{display:block;color:var(--gold);font-size:26px;margin-bottom:8px}.sponsor-level{display:block;color:#f3d98e;font:700 12px Arial,sans-serif;letter-spacing:1px;margin-top:8px;text-transform:uppercase}
.privacy-reminder{margin:24px auto 0;max-width:760px;font-size:14px;line-height:1.6;color:#5d655f;text-align:center}
.button{display:inline-block;background:var(--green);color:#fff;text-decoration:none;padding:12px 18px;font-weight:800;border-radius:3px}.actions{text-align:center;margin-top:28px}
.memorial-page{background:linear-gradient(180deg,#153c33 0%,#0d2f28 100%);color:#f7f1df}.memorial-page main{padding-top:64px}.memorial-wrap{max-width:930px;margin:auto;text-align:center}.memorial-page h2{color:#fff8e8;font:700 44px Georgia,serif}.memorial-lead{font:21px/1.75 Georgia,serif;max-width:820px;margin:0 auto}.memorial-line{width:100px;height:1px;background:#d9bd73;margin:30px auto}.memorial-subhead{font:700 28px Georgia,serif;color:#fff8e8;margin:40px 0 8px}.memorial-list-note{max-width:760px;margin:0 auto 20px;color:#d9cfb5;line-height:1.65}.memorial-names{max-width:840px;margin:30px auto 8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;text-align:left}.memorial-name{padding:10px 14px;border-bottom:1px solid rgba(217,189,115,.28);font:18px Georgia,serif;color:#fff8e8}.memorial-promise{max-width:760px;margin:32px auto 28px;color:#efe5c9;line-height:1.7}.memory-card{max-width:720px;margin:34px auto 0;padding:28px 30px;border:1px solid rgba(217,189,115,.55);background:rgba(255,255,255,.045);border-radius:10px;text-align:left}.memory-card h3{color:#fff8e8;font:700 28px Georgia,serif;text-align:center}.memory-card>p{text-align:center;color:#efe5c9}.registration-form{display:grid;gap:9px}.registration-form label{font-weight:800;margin-top:8px}.registration-form input,.registration-form textarea{width:100%;padding:12px;border:1px solid #b9b09d;border-radius:5px;font:inherit}.registration-submit{margin-top:10px;background:var(--gold);color:var(--deep);border:0;border-radius:4px;padding:13px;font-weight:900;cursor:pointer}.registration-note{font-size:13px!important;margin-bottom:0}.memorial-note{font-size:14px;color:#cfc5a9;margin-top:28px}
footer{padding:34px;text-align:center;border-top:2px solid var(--gold);background:var(--deep);color:var(--cream)}
@media(max-width:920px){header{padding:10px 4%;flex-wrap:wrap}.brand{font-size:18px;max-width:76%}.menu-toggle{display:inline-flex}nav#site-menu{display:none;position:absolute;left:0;right:0;top:100%;margin:0;padding:8px 4% 16px;background:rgba(3,39,31,.99);border-bottom:2px solid var(--gold);box-shadow:0 10px 24px #0008;flex-direction:column;gap:0;max-height:calc(100vh - 70px);overflow-y:auto}nav#site-menu.open{display:flex}nav#site-menu a{display:block;padding:12px 4px;border-bottom:1px solid rgba(216,170,54,.28);font-size:14px}nav#site-menu .cta{margin-top:8px;text-align:center;border-bottom:0}}
@media(max-width:800px){.attendee-grid,.sponsor-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.attendee-grid,.sponsor-grid,.memorial-names{grid-template-columns:1fr}.page-hero{padding:58px 5%}.page-hero p{font-size:18px}.title h2,.memorial-page h2{font-size:34px}.memory-card{padding:22px 18px}}
