:root{--paper:#f7f3ec;--ink:#292522;--orange:#994a2d;--soft:#efe5d8;--line:#d8c8b7;--muted:#625b55}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;margin:0}a,a:visited{color:var(--orange);text-underline-offset:4px}a:hover{color:#72351f}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
header.site-header{display:block;padding:30px 5% 0;border-bottom:1px solid var(--line);text-align:center;background:var(--paper)}.brand{display:block;text-decoration:none!important;color:var(--ink)!important;max-width:1000px;margin:auto}.brand-school{display:block;font-size:clamp(23px,3vw,33px);line-height:1.3}.brand-class{display:block;font-size:clamp(34px,4.3vw,50px);font-weight:normal;line-height:1.2;margin:6px auto 12px}.brand-event{font:17px/1.6 Arial,sans-serif;letter-spacing:.9px;color:var(--orange)}.brand-location{font:13px/1.6 Arial,sans-serif;color:var(--muted);margin:7px 0 18px}
nav.site-nav{display:flex;justify-content:center;align-items:center;gap:5px 13px;flex-wrap:wrap;max-width:1180px;margin:0 auto;padding:12px 0 17px}nav.site-nav a{font:16px/1.4 Arial,sans-serif;text-decoration:none;color:var(--ink);padding:8px 5px;border-bottom:2px solid transparent}nav.site-nav a:hover,nav.site-nav a[aria-current=page]{color:var(--orange);border-bottom-color:var(--orange)}
main{max-width:860px;margin:48px auto;padding:0 26px;min-height:48vh}h1{font-size:clamp(36px,6vw,62px);font-weight:normal;line-height:1.13;margin:20px 0 26px;color:var(--ink)}h2{font-weight:normal;font-size:30px;line-height:1.25;color:var(--ink)}h3{font-weight:normal;font-size:24px;line-height:1.3}p,li{font-size:18px;line-height:1.75}.eyebrow{font:17px/1.6 Arial,sans-serif;letter-spacing:1px;text-transform:none;color:var(--orange)}section{padding:25px 0;border-bottom:1px solid var(--line)}.note{background:var(--soft);padding:22px;border-radius:10px}.date{font-size:28px;color:var(--ink)}.line{border-color:var(--orange)}.pill{border-color:var(--line);color:var(--muted);font-size:14px}
body.reunion-home main{text-align:center;padding:35px 26px 45px;max-width:940px;margin:20px auto}body.reunion-home main h1{font-size:clamp(48px,8vw,78px)}body.reunion-home>section{text-align:center;padding:50px 26px;background:var(--soft)}body.reunion-home>section p{max-width:720px;margin:20px auto}main p{max-width:none}footer{padding:35px 24px;text-align:center;background:var(--soft);color:var(--muted);font:14px/1.7 Arial,sans-serif}footer p{font:15px/1.8 Arial,sans-serif;margin:10px auto;overflow-wrap:anywhere}
.button,.button:visited{display:inline-block;background:var(--orange);border:1px solid var(--orange);border-radius:7px;padding:13px 20px;color:#fff;text-decoration:none;font:16px/1.4 Arial,sans-serif;cursor:pointer;white-space:normal}.button:hover{background:#7d3a24;color:#fff}.button.secondary{background:transparent;color:var(--orange)}.button:disabled{opacity:.6;cursor:wait}.action-links{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.reunion-home .action-links{justify-content:center}.form-section{padding:30px clamp(20px,4vw,36px);background:#fffcf7;border:1px solid var(--line);border-radius:12px;margin:38px 0;scroll-margin-top:20px;text-align:left}.form-section>h2{margin-top:0}.form-intro{font-size:17px}.form-note{font:14px/1.7 Arial,sans-serif;color:var(--muted);margin:18px 0}.reunion-form{width:100%;text-align:left;margin:22px 0 0}.form-field{border:0;padding:0;margin:0 0 23px;min-width:0}.form-field>label,.form-field legend{font:16px/1.55 Arial,sans-serif;color:var(--ink);display:block;margin-bottom:8px}.form-field input:not([type=checkbox]):not([type=radio]),.form-field textarea,.form-field select{display:block;width:100%;border:1px solid #aa9c8d;border-radius:5px;padding:12px;background:#fff;color:var(--ink);font:16px/1.5 Arial,sans-serif;min-height:47px}.form-field textarea{resize:vertical;min-height:130px}.form-field input[type=checkbox],.form-field input[type=radio]{width:20px;height:20px;accent-color:var(--orange)}.form-field .choice{display:flex;align-items:flex-start;gap:11px;font:16px/1.5 Arial,sans-serif;margin:8px 0;padding:7px 0}.field-help{font:14px/1.6 Arial,sans-serif;color:var(--muted);margin:8px 0}.form-error{font:15px/1.6 Arial,sans-serif;color:#8c2828!important}.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 5px}.form-success{padding:18px;background:var(--soft);border-radius:8px}.form-success p{font-size:17px}.step-indicator{font:15px/1.5 Arial,sans-serif;color:var(--muted)}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.email-address{overflow-wrap:anywhere}
@media(max-width:600px){header.site-header{padding:23px 18px 0}.brand-event{font-size:16px}.brand-location{font-size:12px}nav.site-nav{gap:3px 9px;padding-bottom:12px}nav.site-nav a{font-size:15px;padding:8px 3px}main{margin:32px auto;padding:0 20px}h2{font-size:27px}p,li{font-size:17px}.form-section{margin:28px 0;padding:24px 18px}.action-links{flex-direction:column}.button{text-align:center}.eyebrow{font-size:16px}.form-field>label,.form-field legend{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
