/* Barlow Condensed — SIL Open Font License 1.1: https://openfontlicense.org/open-font-license-official-text/ */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-700.woff2) format('woff2')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#172c45;background:#f6f8fb;line-height:1.6}a{color:#1c5c9c}button,a,summary{touch-action:manipulation}a:focus-visible,summary:focus-visible{outline:3px solid #e5aa42;outline-offset:4px}.review{padding:10px 22px;background:#dfeafa;color:#254466;font-size:12px;text-align:center}header{background:white;border-bottom:1px solid #dde5ef}header .inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:20px}.inner{max-width:1140px;margin:auto;width:calc(100% - 48px)}.brand{display:flex;align-items:center;gap:12px;color:#152b48;text-decoration:none;font-weight:800;line-height:1.3}.brand img{width:62px;height:62px;object-fit:contain}.brand small{display:block;font-size:11px;font-weight:500;letter-spacing:.12em}nav{display:flex;gap:22px;font-size:14px}nav a{text-decoration:none;color:#263e5a}section{padding:64px 0;scroll-margin-top:20px}.hero{background:#0b2546;color:white}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:42px;align-items:center}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#2968a7}.hero .eyebrow{color:#a7c6f2}h1{font-size:clamp(38px,4.6vw,62px);line-height:1.04;letter-spacing:-.035em;margin:22px 0}h2{font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-.025em;margin:12px 0 20px}h3{line-height:1.3;margin:12px 0;font-size:21px}p{margin:12px 0 20px}.lede{font-size:17px;max-width:700px;color:#51647a}.hero p{color:#dbe6f4}.buttons{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;border:0;background:#bc263b;color:white;padding:13px 20px;border-radius:4px;text-decoration:none;font-weight:bold;font-size:14px}.light{background:white;color:#13345a}.hero-visual{position:relative}.aerial{position:relative;aspect-ratio:8/5;overflow:hidden;border-radius:6px;background:#1d3d60}.aerial img{display:block;width:100%;height:100%;object-fit:cover}.caption{font-size:12px;color:#64758b;margin-top:8px}.hero .caption{color:#b9c9de}.facts{padding:26px 0;background:white;border-bottom:1px solid #dce5ee}.facts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.facts small{display:block;color:#536b86;font-size:11px;letter-spacing:.08em}.facts strong{font-size:18px}.grid{display:grid;gap:18px}.four{grid-template-columns:repeat(4,1fr)}.card{background:white;border:1px solid #dce4ef;padding:24px;border-radius:5px}.bluewash{background:#e9f0f8}.community-grid,.split{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.emblems{display:flex;gap:30px;align-items:center}.emblems img{width:145px;max-width:40%;height:auto}.schedule .row{border-bottom:1px solid #d5dfeb;padding:14px 0;display:flex;gap:20px}.row strong{min-width:120px}.awards{background:#0d2a4d;color:#fff}.merch-image{position:relative;aspect-ratio:664/373;overflow:hidden;background:#1b3f72;border-radius:6px}.merch-image img{position:absolute;width:108.434%;max-width:none;left:-4.217%;top:-175.335%;height:auto}.faq details{background:white;border-bottom:1px solid #dce5ef;padding:18px 22px}.faq summary{cursor:pointer;font-weight:bold}.faq p{max-width:850px;color:#51647a}.socials{display:flex;gap:14px;flex-wrap:wrap}footer{background:#0b2546;color:#e8eff8;padding:44px 0}footer a{color:white}.foot-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.fine{font-size:12px;color:#63758c}.hero .fine,footer .fine{color:#bccde1}@media(max-width:850px){nav{gap:12px;font-size:12px}.four{grid-template-columns:repeat(2,1fr)}.hero-grid,.community-grid,.split{grid-template-columns:1fr}.hero-visual{max-width:680px}}@media(max-width:600px){.inner{width:calc(100% - 32px)}section{padding:42px 0}header .inner{align-items:flex-start;flex-direction:column;gap:12px}nav{flex-wrap:wrap}.hero-grid{gap:24px}.facts-grid,.four,.three,.two,.foot-grid{grid-template-columns:1fr}.facts-grid{gap:16px}.card{padding:20px}.emblems img{width:110px}.schedule .row{gap:12px;flex-wrap:wrap}h1{font-size:42px}}button{font-family:inherit;cursor:pointer}.social-link{text-decoration:none;border:1px solid #507297;color:white;background:#17395e;display:flex;align-items:center;gap:10px;padding:10px 15px;border-radius:5px}.social-link svg{width:28px;height:28px}.emblems{gap:18px}.emblems img{width:120px;max-width:30%}dialog{border:0;border-radius:10px;padding:0;max-width:620px;width:calc(100% - 32px);max-height:90vh;overflow:auto;color:#172c45}dialog::backdrop{background:#07172ccc}.dialog-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#0b2546;color:white}.dialog-head h2{font-size:24px;margin:0}.close-dialog{min-width:44px;min-height:44px;border:0;background:transparent;color:white;font-size:28px;line-height:1;padding:0 5px}.form-body{padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-body label{display:block;font-size:16px;font-weight:bold}.form-body input,.form-body select,.form-body textarea{display:block;width:100%;margin-top:5px;border:1px solid #b4c4d7;border-radius:4px;padding:11px;font:inherit;color:inherit;background:white}.form-body fieldset{padding:0;border:0;margin:20px 0}.form-body legend{font-weight:bold;margin-bottom:12px}.form-body .fine{margin:10px 0}button:focus-visible{outline:3px solid #e5aa42;outline-offset:3px}[hidden]{display:none!important}.form-body textarea{min-height:80px}#submission-result{margin-top:18px;padding:14px;background:#eaf0f8;border-left:3px solid #2968a7}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.form-body{padding:20px}}.hero-details{margin:0 0 24px;text-align:center;color:#c5d8ee;font-size:14px;font-weight:600}.hero-free{margin:14px 0 0;color:#e4effc;font-size:clamp(18px,2.2vw,22px);line-height:1.35;font-weight:500;letter-spacing:.005em}.hero-free strong{color:#a9d8ff;font-weight:800}.hero-socials{margin-top:14px;margin-bottom:4px}#vendor-registration{scroll-margin-top:24px}.vendor-registration-link{display:inline-block;margin-top:10px;font-size:14px;font-weight:bold;text-underline-offset:3px}#highlights .grid{gap:12px}#highlights .highlight-copy{padding:0}#highlights .highlight-copy h3{line-height:1.25}#highlights .highlight-copy p{margin:0}@media(max-width:600px){#highlights .four{grid-template-columns:repeat(2,minmax(0,1fr))}#highlights .highlight-copy h3{font-size:15px}}@media(max-width:360px){#highlights .four{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.venue-map{width:100%;margin:18px 0;border:1px solid #cbd8e7;border-radius:6px;overflow:hidden;background:#edf0e8}.venue-map svg{display:block;width:100%;height:auto}.brand{font-size:20px}.brand small{font-size:13px}.hero-grid>div:first-child{text-align:center}.hero .eyebrow{font-size:15px;text-shadow:1px 1px 0 #061a32,-1px -1px 0 #061a32}.hero h1{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:700;letter-spacing:0}.hero .buttons,.hero-socials{justify-content:center}#highlights .eyebrow,#highlights h2,#highlights .lede{text-align:center}#highlights .eyebrow{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:700;font-size:17px}#highlights .lede{margin-left:auto;margin-right:auto}#highlights .highlight-card{color:white}.sponsorships{margin-top:24px}.sponsorships .card{display:flex;flex-direction:column}.sponsorships .btn{margin-top:auto}fieldset[hidden],label[hidden]{display:none!important}#registration-fee{font-weight:bold;color:#174d82}@media(max-width:600px){.brand{font-size:18px}.brand small{font-size:11px}.sponsorships{grid-template-columns:1fr}.hero h1{font-size:38px}}.hero-socials .social-link[aria-label]{background:none;border-color:transparent}header .inner{flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px 0 18px}.brand{justify-content:center;text-align:left}nav{justify-content:center;flex-wrap:wrap;column-gap:24px;row-gap:8px}@media(max-width:600px){header .inner{align-items:center;gap:12px}nav{justify-content:center;column-gap:16px;row-gap:8px}}#highlights{background:#eaf2f9}#highlights .grid{gap:16px}#highlights .highlight-card{background:#102f50;border-color:#102f50;border-radius:8px;padding:18px 20px}#highlights .highlight-copy h3{font-size:17px;margin:0 0 8px}#highlights .highlight-copy p{color:#e6eef8;font-size:13px;line-height:1.5}@media(max-width:600px){#highlights .grid{gap:12px}#highlights .highlight-card{padding:15px}#highlights .highlight-copy h3{font-size:15px}}#cadets .cadet-content{max-width:850px;text-align:center}#cadets .emblems{justify-content:center;gap:12px;margin-top:28px}#cadets .emblems img{max-width:calc((100% - 24px)/3)}#participate .registration-card{display:flex;flex-direction:column}#participate .registration-card>p{margin-bottom:20px}#participate .registration-details{border-top:1px solid #dce4ef;padding-top:14px;margin-bottom:24px;color:#63758c;font-size:13px;line-height:1.7}#participate .registration-card .btn{margin-top:auto;text-align:center}@media(min-width:851px){#participate .registration-card>p{min-height:4.8em}#participate .registration-card .btn{min-height:56px;display:flex;align-items:center;justify-content:center}}.sponsorships .card{border-top:4px solid #a97045}.sponsorships .card:nth-child(2){border-top-color:#9ba4ad}.sponsorships .card:nth-child(3){border-top-color:#c99e32}.sponsorships .card:nth-child(4){border-top-color:#173b65}.sponsorships ul{padding-left:20px;margin:8px 0 24px}.sponsorships li{margin-bottom:8px}.supporter-thanks{margin-top:48px}.supporter-thanks p{color:#51647a}.awards-c{text-align:center}.awards-c-feature{display:flex;align-items:center;justify-content:center;gap:20px;color:#f2d18a;margin-top:18px}.awards-c-icon{width:70px}.awards-c-icon svg{display:block;width:100%}.awards-c-number{font-size:clamp(74px,9vw,110px);font-weight:800;line-height:1}.awards-c-sub{font-size:20px;color:#fff;margin:8px 0 30px}.awards-c-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:0 0 30px}.awards-c-list li{padding:4px 14px;font-size:18px;font-weight:700;line-height:1.3}.awards-c-list li+li{border-left:1px solid #426080}.awards-c-list li:before{content:"★";display:block;color:#f2d18a;margin-bottom:10px}.awards-c-classes{display:inline-block;border:1px solid #d9bc79;border-radius:5px;padding:8px 18px;color:#d3e2f6;margin:0 0 18px}.awards-c-classes strong,.awards-c-time{color:#f2d18a}.awards-c-time{font-size:20px;font-weight:800;margin:0 0 10px}.awards-c-welcome{color:#d3e2f6;margin:0 0 20px}@media(max-width:700px){.awards-c-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0}.awards-c-list li{font-size:16px}.awards-c-list li:last-child{grid-column:1/-1}.awards-c-list li+li{border-left:0}.awards-c-icon{width:60px}.awards-c-sub{font-size:17px}}@media(max-width:360px){.awards-c-list{grid-template-columns:1fr}}.awards-c-brand{color:#fff;font-weight:800;letter-spacing:.17em;text-transform:uppercase;line-height:1.35;font-size:clamp(13px,1.5vw,18px)}.awards-c-brand span{display:block}.awards-c-brand span:first-child{display:flex;justify-content:center;align-items:center;gap:16px}.awards-c-brand span:first-child:before,.awards-c-brand span:first-child:after{content:"";width:48px;height:2px;background:#f2d18a}.awards-c h2{font-size:clamp(34px,5vw,62px);margin:16px 0}.awards-c-feature:before,.awards-c-feature:after{content:"";flex:1;max-width:220px;height:2px;background:#f2d18a}.awards-c-feature{gap:clamp(12px,3vw,28px)}.awards-c-classes{text-transform:uppercase;letter-spacing:.08em;font-weight:700}.awards-c-classes strong{color:#fff}.awards-c-classes span{color:#f2d18a}.awards-c-time{text-transform:uppercase;letter-spacing:.06em}.awards-c-welcome{font-weight:700}.awards-c .btn{min-width:220px}@media(max-width:700px){.awards-c-brand span:first-child:before,.awards-c-brand span:first-child:after{width:24px}.awards-c-feature:before,.awards-c-feature:after{max-width:60px}.awards-c-classes{font-size:13px;letter-spacing:.04em}}#cadets,#visit,#merch{background:#fff}#faq{background:#f6f8fb}#visit .btn.light{background:#153c67;color:#fff}

#participate + #supporters,#merch + #visit{padding-top:0}@media(min-width:851px){#participate .registration-card .btn,#supporters .sponsorships .btn{height:60px;display:flex;align-items:center;justify-content:center;text-align:center}}

#highlights .highlight-copy p,.fine,#participate .registration-details,.awards-c-classes{font-size:14px}
.form-body .waiver-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}.form-body .waiver-check input{width:auto;flex:0 0 auto;margin:4px 0 0;padding:0}footer .socials a[aria-label]{background:none;border:0}.hero .buttons .btn{line-height:1.4}:is(#participate,#supporters,#faq)>.inner>:is(.eyebrow,h2,.lede),#participate>.inner>.fine,.supporter-thanks{text-align:center}:is(#participate,#supporters,#faq)>.inner>.lede{margin-inline:auto}
/* Event imagery additions preserve the existing typography and palette. */
.event-gallery{margin:38px auto 0;max-width:1100px}.event-gallery h3{text-align:center;margin:0 0 16px;font-size:20px}.event-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.event-photo{margin:0}.event-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:6px}.event-photo figcaption{margin-top:6px;font-size:13px;color:#51647a}.cadet-photo{margin:30px auto 0;max-width:510px}.cadet-photo img{width:100%;height:auto;display:block;border-radius:6px}.cadet-photo figcaption{font-size:13px;color:#51647a;margin-top:8px}.community-logos{padding:32px 0 8px;text-align:center}.community-logos h3{font-size:20px;margin:0 0 18px}.logo-row{display:flex;gap:24px;justify-content:center;align-items:center;flex-wrap:wrap}.logo-row figure{margin:0;width:132px}.logo-row img{display:block;width:100%;height:76px;object-fit:contain}.logo-row figcaption{margin-top:6px;font-size:12px;line-height:1.35;color:#51647a}@media(max-width:700px){.event-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.logo-row{gap:20px}.logo-row figure{width:100px}.logo-row img{height:64px}}

/* Registration flow */
.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.btn[disabled]{opacity:.7;cursor:progress}
.spinner{display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:2px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
.spinner[hidden]{display:none}
.spinner.dark{border-color:#2968a755;border-top-color:#2968a7}
#turnstile-widget{margin:14px 0}
#turnstile-widget:empty{display:none}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}
#submission-result:focus{outline:2px solid #2968a7;outline-offset:2px}
#submission-result p{margin:0 0 8px}
#submission-result .result-title{font-weight:bold}
#submission-result .result-code{font-size:28px;font-weight:bold;letter-spacing:3px}
#submission-result .btn{margin-top:6px}
.form-body .field-note{margin:6px 0 0}
#submission-result.is-error{background:#fbeaec;border-left-color:#bc263b}
