:root{--midnight:#081a3a;--navy:#0e2a57;--royal:#1e4e8c;--gold:#d6a33d;--gold-light:#f2e2b8;--cream:#f7f3e8;--paper:#fffdf8;--white:#fff;--ink:#102033;--slate:#526072;--border:#081a3a21;--shadow:0 24px 70px #081a3a1f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}a{color:inherit}img{max-width:100%;display:block}.site-header{justify-content:space-between;align-items:center;gap:24px;width:min(1180px,100% - 40px);min-height:88px;margin:0 auto;display:flex}.brand{color:var(--midnight);align-items:center;gap:13px;text-decoration:none;display:inline-flex}.brand-mark{object-fit:contain;width:48px;height:48px}.brand-copy{gap:1px;line-height:1;display:grid}.brand-name{font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:700}.brand-subtitle{color:var(--slate);letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:800}.header-link{color:var(--midnight);text-underline-offset:5px;font-size:14px;font-weight:800;text-decoration-thickness:1px}.header-page-label{border:1px solid var(--border);color:var(--royal);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:900}.hero{background:radial-gradient(circle at 83% 24%, #d6a33d2e, transparent 26%), linear-gradient(132deg, var(--midnight) 0%, var(--navy) 62%, #12396f 100%);width:min(1240px,100% - 24px);min-height:560px;color:var(--white);isolation:isolate;border-radius:12px 12px 42px 42px;margin:0 auto;padding:76px clamp(28px,7vw,94px);position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;border:1px solid #ffffff26;border-radius:50%;width:430px;height:430px;position:absolute;bottom:-225px;right:-110px;box-shadow:0 0 0 64px #ffffff09,0 0 0 130px #d6a33d0e}.hero-inner{max-width:760px}.download-hero{min-height:520px;color:var(--midnight);background:radial-gradient(circle at 82% 22%,#ffffff8c,#0000 24%),linear-gradient(135deg,#f0c45f 0%,#d6a33d 58%,#c68a1d 100%)}.download-hero:before{border-color:#081a3a29;box-shadow:0 0 0 64px #ffffff14,0 0 0 130px #081a3a0b}.download-hero .hero-inner{max-width:730px}.download-hero .eyebrow{color:var(--midnight)}.download-hero .hero-copy{color:#081a3ac2;max-width:650px;margin-top:20px}.download-week{color:var(--midnight);letter-spacing:-.02em;margin:22px 0 0;font-size:clamp(20px,3vw,30px);font-weight:800}.download-hero-button{background:var(--midnight);color:var(--white);margin-top:30px}.download-hero-button:hover{background:var(--royal)}.download-hero .hero-summary{border-top-color:#081a3a33;width:fit-content;margin-top:54px;padding-top:22px;display:flex}.download-hero .summary-number,.download-hero .summary-label{color:var(--midnight)}.download-mark{border:2px solid var(--midnight);width:150px;height:150px;box-shadow:12px 12px 0 var(--midnight);color:var(--midnight);cursor:pointer;background:#ffffff2e;border-radius:50%;place-content:center;justify-items:center;text-decoration:none;transition:transform .16s,box-shadow .16s,background-color .16s;display:grid;position:absolute;top:76px;right:clamp(28px,7vw,94px)}.download-mark:hover{box-shadow:16px 16px 0 var(--midnight);background:#ffffff57;transform:translate(-4px,-4px)}.download-mark:focus-visible{outline:4px solid var(--white);outline-offset:5px}.download-mark span{font-family:Georgia,Times New Roman,serif;font-size:70px;line-height:.8}.download-mark small{letter-spacing:.2em;margin-top:12px;font-size:12px;font-weight:900}.eyebrow,.section-kicker,.closing-kicker,.empty-kicker{color:var(--gold-light);letter-spacing:.22em;text-transform:uppercase;margin:0 0 18px;font-size:12px;font-weight:900}.hero h1{letter-spacing:-.055em;max-width:780px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(50px,8vw,98px);font-weight:400;line-height:.96}.hero-copy{color:#ffffffc7;max-width:610px;margin:30px 0 0;font-size:clamp(16px,2vw,19px);line-height:1.7}.view-switch{background:#ffffff12;border:1px solid #fff3;border-radius:999px;gap:4px;width:fit-content;margin-top:30px;padding:5px;display:flex}.view-option{color:#ffffffbd;border-radius:999px;justify-content:center;align-items:center;min-height:42px;padding:9px 18px;font-size:12px;font-weight:900;text-decoration:none;transition:background-color .16s,color .16s;display:inline-flex}.view-option:hover{color:var(--white)}.view-option.is-active{background:var(--white);color:var(--midnight)}.hero-summary{border-top:1px solid #fff3;align-items:baseline;gap:10px;margin-top:35px;padding-top:18px;display:inline-flex}.summary-number{color:var(--gold-light);font-family:Georgia,Times New Roman,serif;font-size:35px}.summary-label{color:#ffffffb8;letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:800}.week-navigation{justify-content:space-between;gap:18px;width:min(100% - 40px,1120px);margin:30px auto 0;display:flex}.week-navigation-link{border:1px solid var(--border);background:var(--white);min-height:48px;color:var(--midnight);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px 18px;font-size:14px;font-weight:800;text-decoration:none;transition:border-color .16s,color .16s,transform .16s;display:inline-flex;box-shadow:0 10px 28px #081a3a14}.week-navigation-link:hover{border-color:var(--royal);color:var(--royal);transform:translateY(-1px)}.hero-date-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff12;border:1px solid #ffffff38;width:156px;padding:20px 20px 22px;position:absolute;top:76px;right:clamp(28px,7vw,94px)}.date-card-label{color:var(--gold-light);letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px;font-size:9px;font-weight:900;display:block}.date-card-day{font-family:Georgia,Times New Roman,serif;font-size:24px;display:block}.date-card-rule{background:var(--gold);width:35px;height:2px;margin:11px 0;display:block}.events-section{width:min(1120px,100% - 40px);margin:0 auto;padding:96px 0 120px}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px;display:flex}.section-kicker{color:var(--royal);margin-bottom:11px}.section-heading h2,.empty-state h2,.closing h2{color:var(--midnight);letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,5vw,58px);font-weight:400;line-height:1.05}.section-heading>p{color:var(--slate);margin:0 0 6px;font-size:14px}.event-list{gap:34px;display:grid}.recurring-section{border-top:1px solid var(--border);padding-top:84px}.recurring-section .section-kicker{color:#8c6319}.recurring-card{border-color:#d6a33d6b;box-shadow:0 18px 50px #081a3a14}.bulk-download{justify-content:flex-end;margin:-18px 0 34px;display:flex}.bulk-download .button{margin-top:0}.event-card{border:1px solid var(--border);background:var(--white);min-height:480px;box-shadow:var(--shadow);border-radius:30px;grid-template-columns:minmax(340px,.92fr) minmax(0,1.08fr);display:grid;overflow:hidden}.flyer-wrap{background:linear-gradient(135deg,#d6a33d17,#0000 50%),#edf2f7;place-items:center;min-width:0;min-height:480px;padding:24px;display:grid}.event-flyer{object-fit:contain;filter:drop-shadow(0 15px 28px #081a3a24);width:100%;height:100%;max-height:590px}.event-web-banner{object-fit:contain}.flyer-fallback{background:radial-gradient(circle at center, #d6a33d29, transparent 36%), var(--midnight);width:100%;height:100%;min-height:410px;color:var(--gold-light);place-content:center;justify-items:center;gap:22px;font-family:Georgia,Times New Roman,serif;font-size:26px;display:grid}.event-content{flex-direction:column;align-items:flex-start;padding:clamp(34px,5vw,64px);display:flex}.event-topline{width:100%;color:var(--royal);justify-content:space-between;align-items:center;gap:22px;display:flex}.event-number{color:var(--gold);letter-spacing:.16em;font-size:12px;font-weight:900}.event-date{letter-spacing:.12em;text-align:right;text-transform:uppercase;font-size:12px;font-weight:900}.event-content h3{color:var(--midnight);letter-spacing:-.035em;margin:22px 0 24px;font-family:Georgia,Times New Roman,serif;font-size:clamp(31px,4vw,48px);font-weight:400;line-height:1.08}.event-meta{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:12px;width:100%;margin:0;padding:18px 0;display:grid}.event-meta div{grid-template-columns:82px 1fr;gap:18px;display:grid}.event-meta dt{color:var(--slate);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:900}.event-meta dd{color:var(--ink);margin:0;font-size:14px;font-weight:650;line-height:1.5}.event-description{color:var(--slate);margin:22px 0 28px;font-size:16px;line-height:1.72}.button{border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:50px;padding:13px 20px;font-size:13px;font-weight:900;text-decoration:none;transition:transform .16s,background-color .16s,color .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:focus-visible,.view-option:focus-visible,.header-link:focus-visible,.brand:focus-visible,footer a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.button-primary{background:var(--midnight);color:var(--white);margin-top:auto}.button-primary:hover{background:var(--royal)}.event-actions{flex-wrap:wrap;gap:12px;width:100%;margin-top:auto;display:flex}.event-actions .button{margin-top:0}.button-secondary{border:1px solid var(--midnight);background:var(--white);color:var(--midnight)}.button-secondary:hover{background:var(--cream)}.notice,.empty-state{border:1px solid var(--border);background:var(--cream);color:var(--midnight);border-radius:24px;margin-bottom:34px;padding:34px;line-height:1.7}.empty-state{text-align:center;padding:clamp(38px,7vw,76px)}.empty-kicker{color:var(--royal)}.empty-state p:not(.empty-kicker){max-width:600px;color:var(--slate);margin:20px auto 28px;line-height:1.7}.empty-state .button{margin-top:0}.closing{background:var(--gold);width:min(1240px,100% - 24px);color:var(--midnight);border-radius:42px 42px 12px 12px;margin:0 auto;padding:88px clamp(28px,8vw,110px)}.closing-kicker{color:var(--midnight);margin-bottom:13px}.closing h2{max-width:700px;font-size:clamp(48px,8vw,88px)}.closing p:not(.closing-kicker){max-width:600px;margin:22px 0 28px;font-size:17px;line-height:1.7}.button-light{background:var(--white);color:var(--midnight)}footer{width:min(1120px,100% - 40px);min-height:150px;color:var(--slate);justify-content:space-between;align-items:center;gap:30px;margin:0 auto;font-size:13px;display:flex}footer div{gap:6px;display:grid}footer strong{color:var(--midnight);font-family:Georgia,Times New Roman,serif;font-size:17px}footer a{color:var(--midnight);font-weight:800}@media (width<=900px){.hero{min-height:auto;padding-top:62px}.hero-inner{padding-right:0}.hero-date-card{align-items:center;gap:13px;width:100%;max-width:290px;margin-top:42px;display:flex;position:static}.download-mark{width:112px;height:112px;box-shadow:8px 8px 0 var(--midnight);margin:38px 0 10px 10px;position:static}.download-mark span{font-size:50px}.date-card-label{margin:0 auto 0 0}.date-card-rule{width:18px;margin:0}.event-card{grid-template-columns:1fr}.flyer-wrap{min-height:420px}}@media (width<=640px){.site-header{width:min(100% - 28px,1180px);min-height:76px}.brand-mark{width:40px;height:40px}.brand-name{font-size:17px}.brand-subtitle{font-size:8px}.header-link{font-size:12px}.header-page-label{font-size:10px}.hero{border-radius:8px 8px 30px 30px;width:calc(100% - 12px);padding:50px 22px}.hero h1{font-size:clamp(48px,15vw,68px)}.view-switch{width:100%}.view-option{flex:1;padding-inline:12px}.week-navigation{gap:10px;width:min(100% - 24px,1120px)}.week-navigation-link{flex:1;padding-inline:12px}.events-section{width:min(100% - 24px,1120px);padding:70px 0 82px}.section-heading{display:block}.section-heading>p{margin-top:13px}.event-list{gap:24px}.bulk-download{margin-top:-12px}.event-card{border-radius:22px}.flyer-wrap{min-height:350px;padding:13px}.event-flyer{max-height:460px}.event-content{padding:30px 24px 34px}.event-content h3{font-size:34px}.event-topline{align-items:flex-start}.event-meta div{grid-template-columns:66px 1fr;gap:12px}.button{width:100%}.closing{border-radius:30px 30px 8px 8px;width:calc(100% - 12px);padding:62px 24px}footer{flex-direction:column;justify-content:center;align-items:flex-start;min-height:180px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.download-mark{transition:none}}
