@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#101f45;--red:#e63437;--yellow:#ffcf28;--paper:#fff;--muted:#596173}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--navy);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none;cursor:pointer}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:700;line-height:.98;letter-spacing:-.025em}em{font-style:normal;color:var(--red)}header{height:104px;padding:12px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:white;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand img{width:76px;height:76px;object-fit:contain}.brand span{font-weight:800;font-size:21px;line-height:1.3;letter-spacing:.02em}.brand small{display:block;font-size:10px;letter-spacing:.12em;margin-top:5px}nav{display:flex;gap:26px;font-size:14px;font-weight:600}nav a:hover,.text-link:hover{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:16px 23px;background:var(--red);color:#fff;font-weight:700;border-radius:5px;line-height:1.4;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:#bd252a}.button span{font-size:23px}.button.small{font-size:13px;padding:12px 17px}.yellow{background:var(--yellow);color:var(--navy)}.yellow:hover{background:#ffdd61}.menu{display:none}.hero{display:grid;grid-template-columns:48% 52%;background:var(--navy);color:white;min-height:670px}.hero-copy{padding:56px 9.3% 24px}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:800;margin-bottom:22px}.hero .eyebrow{color:var(--yellow)}h1{font-size:clamp(76px,7.7vw,116px);margin-bottom:25px}h1 em{color:var(--yellow)}.hero-copy>p:not(.eyebrow){color:#e0e4ed;font-size:17px;margin-bottom:29px}.hero-copy .text-link{display:block;font-size:14px;margin-top:20px;color:white}.text-link{font-weight:700;display:inline-block;text-decoration:underline;text-underline-offset:6px}.hero-foot{display:flex;gap:15px;justify-content:space-between;font-size:10px;letter-spacing:.09em;border-top:1px solid #ffffff38;margin-top:36px;padding-top:19px}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo>img{position:absolute;inset:0;object-position:44% center}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#081431a8)}.photo-label{position:absolute;z-index:1;bottom:37px;left:35px;font-size:12px;letter-spacing:.12em}.photo-label strong{font-size:25px;letter-spacing:-.02em}.sticker{position:absolute;right:28px;top:28px;background:var(--yellow);color:var(--navy);width:128px;height:128px;border-radius:50%;display:grid;place-content:center;text-align:center;transform:rotate(12deg);font-family:'Barlow Condensed',Impact,sans-serif;font-size:29px;line-height:1;box-shadow:0 0 0 6px #ffcf2830}.ribbon{background:var(--yellow);display:flex;align-items:center;justify-content:space-around;gap:22px;padding:19px 3%;overflow:hidden;font-family:'Barlow Condensed',Impact,sans-serif;font-size:26px;font-weight:700;white-space:nowrap}.ribbon b{color:var(--red);font-size:30px}.section{padding:100px 6%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:43px}h2{font-size:clamp(44px,4.5vw,66px)}.section-heading>p{max-width:310px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{background:#f6f7fa;border-radius:9px;overflow:hidden;border:1px solid #e8eaf0}.card-image{height:240px;position:relative}.card-image span{position:absolute;left:20px;bottom:18px;background:var(--yellow);padding:5px 12px;font-size:12px;font-weight:800;border-radius:3px}.winter .card-image span{background:var(--navy);color:white}.sport .card-image span{background:var(--red);color:white}.card-body{padding:28px;display:flex;flex-direction:column}.card .eyebrow{font-size:10px;margin-bottom:16px}.card h3{font-size:46px;margin-bottom:20px}.card-body>p:not(.eyebrow):not(.note){min-height:104px;color:var(--muted);font-size:15px}.schedule{margin-top:22px;border-top:1px solid #d9dde5}.schedule>div{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #d9dde5;font-size:13px}.note{font-size:12px;color:#596173;margin:15px 0 24px;min-height:38px}.card .button{font-size:14px;padding:14px 16px}.winter .button{background:var(--navy)}.sport .button{background:var(--yellow);color:var(--navy)}.about{display:grid;grid-template-columns:1.06fr 1fr;gap:8%;background:#f2f4f8;max-width:none;align-items:center}.about-photo{height:540px;position:relative}.about-photo img{border-radius:8px;object-position:49% center}.caption{position:absolute;left:0;bottom:26px;background:var(--yellow);padding:14px 20px;font-size:11px;font-weight:800;letter-spacing:.07em}.about-copy h2{margin-bottom:27px}.about-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:18px}.values{display:grid;margin-top:25px}.values span{border-top:1px solid #d4d9e2;padding:11px 0;font-size:12px;color:var(--red)}.values strong{font-size:15px;color:var(--navy);margin-left:20px}.gallery{display:grid;grid-template-columns:1.2fr .8fr 1fr .8fr;gap:18px;align-items:start}figure{margin:0}figure img{height:320px;border-radius:6px}figure:nth-child(even){margin-top:36px}figcaption{font-size:13px;margin-top:12px;font-weight:600}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:9%;border-top:1px solid #e2e5ec}.faq h2{margin-bottom:22px}.faq>div>p:not(.eyebrow){color:var(--muted);margin-bottom:24px}details{border-bottom:1px solid #d9dde5;padding:21px 0}details:first-child{border-top:1px solid #d9dde5}summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+';color:var(--red);font-size:24px;line-height:1}details[open] summary:after{content:'−'}details p{color:var(--muted);margin-top:17px;font-size:15px}details .text-link{margin-top:14px}.closing{text-align:center;background:var(--red);color:white;padding:76px 20px 82px}.closing h2{font-size:clamp(68px,7vw,100px)}.closing em{color:var(--yellow)}.closing>p:not(.eyebrow){margin:24px 0}.closing .eyebrow{font-size:11px}footer{background:var(--navy);color:#fff;padding:40px 6% 20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px;align-items:center}footer .brand img{border-radius:50%;width:65px;height:65px}footer .brand span{font-size:19px}footer>div{display:grid;gap:7px;font-size:13px}footer>div strong{font-size:14px}.footer-bottom{flex-basis:100%;border-top:1px solid #ffffff26;padding-top:18px;font-size:11px;color:#b9c1d1}.floating{position:fixed;right:22px;bottom:22px;z-index:9;border-radius:50%;width:58px;height:58px;background:#168541;color:white;display:grid;place-items:center;box-shadow:0 4px 20px #0003;border:2px solid white}.floating svg{width:32px;height:32px}.skip{position:fixed;top:-100px;z-index:20;padding:10px;background:white}.skip:focus{top:0}:focus-visible{outline:3px solid #3579d9;outline-offset:5px}
@media(min-width:1600px){.hero{max-height:820px}.hero-copy{padding-left:max(60px,calc((100vw - 1410px)/2))}}@media(max-width:1100px){header{padding:10px 4%;gap:16px}header .brand span{display:none}nav{gap:18px}.hero-copy{padding:50px 8% 24px}.cards{gap:16px}.card-body{padding:22px}.card h3{font-size:40px}.card-body>p:not(.eyebrow):not(.note){min-height:125px}.schedule>div{font-size:12px}.section{padding:75px 5%}.about{gap:5%}.gallery{gap:12px}figure img{height:270px}}
@media(max-width:760px){html{scroll-padding-top:20px}header{height:82px;padding:8px 5%}.brand img{width:60px;height:60px}header .brand span{display:block;font-size:17px}.brand small{font-size:9px}header>.button{display:none}.menu{display:flex;gap:12px;align-items:center;background:none;border:1px solid #d4d9e2;padding:7px 12px;border-radius:4px;font-size:14px;color:var(--navy)}nav{display:none;position:absolute;top:82px;left:0;right:0;padding:25px;background:white;box-shadow:0 10px 15px #0001}nav.open{display:grid}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 7% 24px}.hero .eyebrow{font-size:10px}h1{font-size:84px;line-height:.93}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-foot{margin-top:28px}.hero-photo{height:430px}.hero-photo>img{object-position:center 44%}.sticker{width:105px;height:105px;font-size:25px;right:20px;top:20px}.photo-label{left:25px;bottom:23px;font-size:10px}.photo-label strong{font-size:21px}.ribbon{justify-content:flex-start;font-size:22px;padding:11px 20px;gap:25px}.ribbon span:last-child{display:none}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:100%}.section-heading>.text-link{margin-top:25px}h2{font-size:48px}.eyebrow{font-size:10px;margin-bottom:18px}.cards{grid-template-columns:1fr;gap:26px}.card-image{height:270px}.card-body{padding:26px}.card h3{font-size:47px}.card-body>p:not(.eyebrow):not(.note){min-height:0;font-size:16px}.schedule>div{font-size:14px}.note{min-height:0;font-size:13px}.card .button{font-size:16px}.about{grid-template-columns:1fr;gap:36px}.about-photo{height:330px}.about-copy{grid-row:1}.caption{font-size:9px}.gallery{grid-template-columns:1fr 1fr;gap:25px 14px}.gallery figure{margin-top:0}.gallery figure:nth-child(even){margin-top:26px}figure img{height:230px}figcaption{font-size:12px}.faq{grid-template-columns:1fr;gap:28px}.faq .text-link{font-size:15px}.closing{padding:65px 6%}footer{display:grid;padding:35px 6% 90px;gap:26px}.footer-bottom{font-size:11px}summary{font-size:15px}.floating{width:54px;height:54px;right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Registration entry */
.registration-section{background:#f3f1e9;text-align:center}.registration-section p:not(.eyebrow){max-width:660px;margin:20px auto 30px}.registration-section .button{display:inline-flex}.registration-nav{display:none!important}@media(max-width:900px){.registration-nav{display:block!important}}
