:root{--red:#982838;--deep:#143a2d;--gold:#ffd34c;--cream:#fbf5e9;--text:#24372e}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:'DM Sans',system-ui,sans-serif}a{color:inherit}a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.shell{max-width:1110px;margin:0 auto;padding:0 28px}
.preview-notice{background:#6d1c27;color:white;text-align:center;padding:9px;font-size:12px;letter-spacing:.06em}
.site-header{background:var(--red);border-bottom:4px solid #ddb559}.header-row{min-height:106px;display:flex;justify-content:space-between;gap:22px;align-items:center}.logo{width:min(300px,48vw);height:auto;display:block}.top-nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.top-nav a{text-decoration:none;font-weight:700;color:#fff4df;font-size:14px}.top-nav a:hover{text-decoration:underline}
.hero{background:linear-gradient(125deg,#143a2d 0%,#1d5340 100%);color:white;position:relative;overflow:hidden}.hero:after{content:'✦';position:absolute;right:3%;bottom:-135px;font-size:390px;color:#ffffff08;pointer-events:none}.hero-inner{position:relative;z-index:1;padding:85px 0 88px;max-width:940px}.hero h1,.section h2{font-family:Georgia,'Times New Roman',serif;line-height:1.12;letter-spacing:-.02em}.hero h1{font-size:clamp(48px,6vw,77px);margin:0 0 24px}.hero h1 em,.section h2 em{font-family:'Kaushan Script',cursive;color:var(--gold);font-weight:400;font-style:normal;letter-spacing:0}.hero p{max-width:770px;font-size:clamp(16px,1.7vw,19px);line-height:1.75;margin:0 0 27px}.event-pill{display:inline-block;padding:12px 18px;border:1px solid #e9ce885c;background:#ffffff10;border-radius:50px;color:#ffedc0;font-weight:700;font-size:14px}
.schedule{margin-top:-30px;position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.time-card{border-radius:16px;background:#fff;box-shadow:0 8px 30px #173b2d20;padding:26px 22px;border:1px solid #e9dec8}.time-card h2{font-family:Georgia,'Times New Roman',serif;font-size:24px;color:var(--deep);margin:0 0 12px}.time-card strong{font-size:20px;color:var(--red)}
.section{padding:78px 0;scroll-margin-top:15px}.section h2{font-size:clamp(35px,4.5vw,50px);margin:0 0 20px;color:var(--deep)}.section h2 em{color:var(--red)}.section p{font-size:16px;line-height:1.85;max-width:760px;margin:0 0 17px}.booking{background:#f0e4ce}.booking-panel{background:#fff9f0;border:1px solid #e0caa4;border-radius:18px;padding:30px;display:flex;justify-content:space-between;align-items:center;gap:28px}.booking-panel p{margin:0}.coming-tag{background:#fce5a7;border-radius:50px;padding:12px 18px;font-size:14px;color:#6b3720;font-weight:800;white-space:nowrap}
.volunteer{background:var(--deep);color:#fdf6e9}.volunteer h2{color:white}.volunteer h2 em{color:var(--gold)}.volunteer-content{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center}.volunteer p{color:#e0e8db}
.button{display:inline-block;padding:15px 22px;border-radius:7px;background:var(--gold);color:#362b20;font-weight:800;text-decoration:none;text-align:center;white-space:nowrap}.button:hover{background:#ffe589}.sponsor{background:#fff9ef}.sponsor-points{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 28px}.sponsor-points span{border-radius:50px;background:#f1e4ce;padding:10px 15px;color:#762b35;font-weight:700;font-size:13px}.sponsor .button{background:var(--red);color:white}.sponsor .button:hover{background:#751c2a}
.site-footer{background:#842131;color:#fff1e4;padding:35px 0}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:18px}.footer-logo{width:min(240px,45vw)}.footer-details{text-align:right;font-size:13px;line-height:1.8}.footer-social{display:flex;gap:20px;justify-content:flex-end;margin-top:8px}.footer-social a{font-weight:700}
@media(max-width:800px){.schedule{grid-template-columns:1fr}.hero-inner{padding:65px 0 75px}.volunteer-content{grid-template-columns:1fr}.booking-panel{align-items:flex-start;flex-direction:column}.header-row{min-height:85px}.top-nav{justify-content:flex-end;gap:13px}.top-nav a{font-size:12px}}
@media(max-width:560px){.shell{padding:0 20px}.header-row{flex-direction:column;align-items:start;padding-top:12px;padding-bottom:15px}.top-nav{justify-content:start}.hero-inner{padding:55px 0 75px}.hero h1{font-size:43px}.event-pill{font-size:12px}.section{padding:55px 0}.booking-panel{padding:23px}.footer-main{flex-direction:column;align-items:flex-start}.footer-details{text-align:left}.footer-social{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Match full-site Asul typography for H1 and H2, retaining Kaushan Script accents. */
.hero h1,.section h2,.time-card h2{font-family:'Asul',Georgia,serif}
