:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;--maroon:#7e1d22;--maroon-deep:#5a1216;--navy:#1b3f68;--navy-deep:#122c4a;--green:#2f7a34;--green-deep:#235e28;--gold:#c98a22;--gold-soft:#e8a93a;--red:#c0362c;--paper:#fdfaf1;--paper-warm:#f7f1e2;--ink:#3b3227;--ink-soft:#6b6153;--rule:#e3d9c2;--wrap:1180px;--gut:clamp(20px, 5vw, 56px);--lift:0 1px 0 #5a12160d, 0 14px 28px -20px #3b32278c}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}:where(a,button,summary):focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:5px}.wrap{max-width:var(--wrap);padding-inline:var(--gut);margin:0 auto}.topbar{z-index:50;-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--rule);background:#fdfaf1ed;position:sticky;top:0}.topbar .wrap{align-items:center;gap:clamp(12px,2vw,28px);min-height:64px;display:flex}.brand{flex:0 auto;align-items:center;gap:11px;min-width:0;text-decoration:none;display:flex}.brand i{background:url(/images/crest.webp) 50%/contain no-repeat;flex:none;width:38px;height:38px}.brand b{color:var(--navy-deep);font-family:Playfair Display,serif;font-size:15px;font-weight:800;line-height:1.08;display:block}.brand span span{color:var(--maroon);letter-spacing:.06em;font-size:11px;font-weight:700;display:block}.nav{align-items:center;gap:clamp(4px,1.4vw,22px);margin-left:auto;display:flex}.nav a{color:var(--navy-deep);white-space:nowrap;border-bottom:2.5px solid #0000;padding:7px 2px;font-size:14.5px;font-weight:700;text-decoration:none}.nav a:hover{border-bottom-color:var(--green)}.nav a[aria-current=page]{border-bottom-color:var(--maroon)}.btn-ticket{background:var(--green);white-space:nowrap;box-shadow:0 2px 0 var(--green-deep);border-radius:999px;flex:none;padding:9px 18px;font-size:14.5px;font-weight:800;text-decoration:none;color:#fff!important}.btn-ticket:hover{background:var(--green-deep);box-shadow:0 2px #163f19}.menu{margin-left:auto;display:none;position:relative}.menu summary{cursor:pointer;color:var(--navy-deep);border:2px solid var(--rule);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;font-weight:800;list-style:none;display:flex}.menu summary::-webkit-details-marker{display:none}.menu[open] summary{border-color:var(--navy)}.menu-panel{border:2px solid var(--rule);background:#fff;border-radius:10px;min-width:210px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 34px -20px #3b322799}.menu-panel a{color:var(--navy-deep);border-radius:6px;padding:10px 12px;font-size:15px;font-weight:700;text-decoration:none;display:block}.menu-panel a:hover,.menu-panel a[aria-current=page]{background:var(--paper-warm)}.bunting{width:100%;height:clamp(46px,5.4vw,74px);display:block}.page-head{background:linear-gradient(180deg, #d3e5f1 0%, #e3edeb 55%, var(--paper) 100%);padding-bottom:clamp(18px,3vw,36px)}.page-title{color:var(--navy-deep);letter-spacing:-.008em;margin:clamp(6px,1.4vw,16px) 0 6px;font-family:Playfair Display,serif;font-size:clamp(30px,4.6vw,52px);font-weight:800;line-height:1.05}.page-strap{color:var(--maroon);margin:0;font-family:Caveat,cursive;font-size:clamp(19px,2.3vw,28px);font-weight:600}.page-body{padding-top:clamp(20px,3vw,36px);padding-bottom:clamp(26px,4vw,56px)}.section-heading{color:var(--maroon);margin:0 0 14px;font-family:Playfair Display,serif;font-size:clamp(19px,2.2vw,25px);font-weight:800;line-height:1.15}.section-heading.mt{margin-top:clamp(28px,4vw,48px)}.card{border:2.5px solid var(--green-deep);box-shadow:var(--lift);background:#fffdf7f5;border-radius:12px;padding:clamp(16px,2vw,26px)}.card--navy{border-color:var(--navy)}.card--gold{border-color:var(--gold)}.card--red{border-color:var(--red)}.card--maroon{border-color:var(--maroon)}.card h2{color:var(--maroon);margin:0 0 8px;font-family:Playfair Display,serif;font-size:clamp(18px,2vw,22px)}.card p{margin:0}.text-link{color:var(--green-deep);font-weight:800;text-decoration:none;display:inline-block}.text-link:hover{text-decoration:underline}.btn{background:var(--green);color:#fff;box-shadow:0 2px 0 var(--green-deep);border-radius:999px;padding:10px 22px;font-weight:800;text-decoration:none;display:inline-block}.btn:hover{background:var(--green-deep)}.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.5vw,22px);display:grid}.tile{--c:var(--green);--bg:#f1f7eb;text-align:center;background:var(--bg);border:2px solid color-mix(in srgb, var(--c) 34%, #fff);box-shadow:var(--lift);border-radius:14px;flex-direction:column;align-items:center;gap:clamp(6px,.8vw,11px);padding:clamp(18px,2.2vw,30px) clamp(10px,1.2vw,18px) clamp(14px,1.7vw,22px);text-decoration:none;transition:transform .17s,box-shadow .17s,border-color .17s;display:flex;position:relative}.tile:hover,.tile:focus-within{border-color:var(--c);transform:translateY(-4px);box-shadow:0 1px #5a12160d,0 22px 34px -20px #3b3227b3}.tile svg{width:clamp(40px,4vw,54px);height:auto}.tile b{color:var(--c);text-transform:uppercase;letter-spacing:.05em;font-size:clamp(11px,1.1vw,15px);font-weight:800;line-height:1.18}.tile span{color:var(--ink-soft);max-width:19ch;font-size:clamp(11px,1.02vw,13.5px);line-height:1.35}.tile .go{color:var(--c);margin-top:auto;padding-top:7px;font-size:16px;font-style:normal;font-weight:800;line-height:1}.tile--blue{--c:var(--navy);--bg:#ecf2f8}.tile--red{--c:var(--red);--bg:#fbeeeb}.tile--gold{--c:var(--gold);--bg:#fbf2e0}.whats-on-strip{border:2px dashed #e0b4ae;border-radius:14px;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(6px,1vw,16px);padding:clamp(14px,1.9vw,26px) clamp(10px,1.5vw,22px);display:grid}.thing{text-align:center;flex-direction:column;align-items:center;gap:7px;display:flex}.thing svg{width:clamp(30px,3vw,42px);height:auto}.thing span{color:var(--maroon);text-transform:uppercase;letter-spacing:.06em;font-size:clamp(9px,.85vw,11px);font-weight:800;line-height:1.25}.pill-rows{gap:6px;display:grid}.pill-row{grid-template-columns:clamp(92px,24vw,140px) 1fr;gap:6px;display:grid}.pill-row-label{background:var(--maroon);color:#fff;text-align:center;border-radius:999px;justify-content:center;align-items:center;padding:11px 8px;font-size:clamp(13px,1.6vw,15.5px);font-weight:800;display:flex}.pill-row-value{color:var(--ink);background:#fbeeeb;border-radius:10px;flex-wrap:wrap;align-items:center;padding:11px 18px;font-size:clamp(14px,1.7vw,16.5px);font-weight:700;display:flex}.pill-row:nth-child(2n) .pill-row-label{background:var(--navy)}.pill-row:nth-child(2n) .pill-row-value{background:#ecf2f8}.grass{background:var(--paper);height:clamp(76px,9vw,130px);position:relative}.grass>svg{width:100%;height:clamp(34px,4.2vw,58px);display:block;position:absolute;bottom:0;left:0;right:0}.kids{aspect-ratio:430/470;background-position:bottom;background-repeat:no-repeat;background-size:contain;height:clamp(58px,7vw,104px);position:absolute;bottom:clamp(16px,2vw,28px)}.kids--a{background-image:url(/images/students-a.webp);left:clamp(16px,8vw,150px)}.kids--b{background-image:url(/images/students-b.webp);right:clamp(16px,8vw,150px)}.kids--wes{aspect-ratio:420/607;background-image:url(/images/wesley-balloons.webp);height:clamp(70px,8.4vw,124px);bottom:clamp(12px,1.5vw,20px);right:clamp(120px,24vw,420px)}.foot{background:var(--paper-warm);border-top:2px solid var(--rule);padding:clamp(26px,4vw,58px) 0 clamp(22px,3vw,44px)}.foot .wrap{grid-template-columns:auto minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:clamp(18px,3vw,48px);display:grid}.crest{aspect-ratio:1;background:url(/images/crest.webp) 50%/contain no-repeat;width:clamp(84px,9vw,132px)}.foot h3{color:var(--maroon);margin:0 0 8px;font-family:Playfair Display,serif;font-size:clamp(16px,1.7vw,23px);font-weight:800;line-height:1.15}.foot p{color:var(--ink-soft);max-width:48ch;margin:0;font-size:clamp(12.5px,1.1vw,15px);line-height:1.55}.foot .sign{color:var(--navy);margin-top:10px;font-family:Caveat,cursive;font-size:clamp(17px,1.9vw,26px);font-weight:600}.contact{gap:clamp(8px,1vw,13px);margin:0;padding:0;list-style:none;display:grid}.contact li{align-items:flex-start;gap:10px;font-size:clamp(12.5px,1.05vw,14.5px);line-height:1.4;display:flex}.contact svg{flex:none;width:18px;height:auto;margin-top:1px}.contact a{color:var(--navy-deep);font-weight:700;text-decoration:none}.contact a:hover{text-decoration:underline}.basebar{background:var(--maroon-deep);color:#f6e7cb;text-align:center;letter-spacing:.14em;text-transform:uppercase;margin:0;padding:clamp(11px,1.3vw,17px) 16px;font-size:clamp(9.5px,.95vw,13px);font-weight:800}.basebar .s{color:var(--gold-soft);margin:0 .8em;font-style:normal}@media (width<=960px){.nav{display:none}.menu{display:block}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.whats-on-strip{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:16px}.foot .wrap{text-align:center;grid-template-columns:1fr;justify-items:center}.foot p{max-width:none}.contact li{text-align:left;justify-content:center}.kids--wes{display:none}}@media (width<=540px){.whats-on-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar .wrap{gap:8px;min-height:58px}.brand i{width:32px;height:32px}.brand b{max-width:11ch;font-size:12.5px}.brand span span{letter-spacing:.04em;font-size:9.5px}.menu summary{padding:7px 9px;font-size:13px}.btn-ticket{padding:8px 14px;font-size:13.5px}.kids--a{left:10px}.kids--b{right:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
