:root{--ink:#182431;--blue:#123b68;--muted:#56616c;--line:#d5dbe0;--paper:#fff;--wash:#f5f7f8;--soft:#edf3f8;--danger:#9d3028;--radius:3px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}.wrap{width:min(1080px,calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;left:12px;top:-50px;background:var(--blue);color:#fff;padding:8px 12px;z-index:5}.skip-link:focus{top:12px}.preview-banner{background:#fff3cc;border-bottom:1px solid #d6bb65;color:#573e00;text-align:center;padding:7px 15px;font-size:13px}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{color:var(--blue);font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:700;line-height:1.2;text-decoration:none}.brand-mark{display:none}nav{display:flex;align-items:center;gap:22px}nav a,.footer-links a{color:var(--ink);text-decoration:none;font-size:13px}nav a:hover,nav a[aria-current=page],.footer-links a:hover,.text-link:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;color:var(--ink);padding:8px 10px;font:inherit;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);border:1px solid var(--blue);border-radius:var(--radius);color:#fff!important;padding:11px 16px;text-decoration:none;font-size:13px;font-weight:700;cursor:pointer}.button:hover{background:#0b2e52;text-decoration:none}.button-small{padding:8px 12px}.button-light{background:#fff;color:var(--blue)!important}.button[disabled]{cursor:not-allowed;opacity:.55}.text-link,.text-button{color:var(--blue);background:none;border:0;padding:0;font:inherit;font-weight:700;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.event-notice{display:flex;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.event-notice strong{color:var(--blue)}.page{padding-block:60px}.home-page{padding-top:0}.hero{padding:70px 0 52px;max-width:1080px;display:block}.hero-copy{max-width:760px}.eyebrow{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.12em;line-height:1.3}.hero h1,.page-heading h1,.registration-aside h1{font:700 clamp(42px,6vw,72px)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:14px 0 20px;color:var(--ink)}h2{font:700 clamp(27px,4vw,40px)/1.18 Georgia,'Times New Roman',serif;letter-spacing:-.02em;margin:0 0 15px}h3{font:700 20px/1.25 Georgia,'Times New Roman',serif;margin:0 0 10px}.hero-description{max-width:650px;margin:0;color:var(--muted);font-size:17px}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:28px}.hero-status{margin-top:22px;color:var(--muted);font-size:13px}.status-dot{display:inline-block;width:8px;height:8px;margin-right:7px;background:#b77a16;border-radius:50%}.hero-art{display:none}.details-strip{display:grid;grid-template-columns:1fr 2fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.details-strip>div{display:flex;gap:11px;padding:21px 18px}.details-strip>div+div{border-left:1px solid var(--line)}.detail-icon{color:var(--blue);font-size:18px}.detail-label{display:block;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em}.details-strip strong{display:block;font-size:14px;line-height:1.4}.intro-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:70px}.intro-section h2{margin-top:13px}.intro-copy{color:var(--muted)}.intro-copy p:first-child{margin-top:0}.news-preview{padding-bottom:70px}.section-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}.section-heading h2{margin:9px 0 0}.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.news-card{border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;align-items:start;min-height:245px}.news-card p{color:var(--muted);font-size:14px;margin:0 0 20px}.news-card .text-button{margin-top:auto}.news-meta{display:flex;justify-content:space-between;width:100%;gap:12px;color:var(--muted);font-size:11px;margin-bottom:25px}.news-category{font-weight:700;letter-spacing:.06em;color:var(--blue)}.archive-preview{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0;margin-bottom:70px}.archive-preview-year,.archive-year-number{font:700 64px/1 Georgia,serif;color:var(--blue)}.archive-preview h2{font-size:31px;margin:7px 0}.archive-preview p{margin:0 0 12px;color:var(--muted);font-size:14px}.archive-preview-topics{display:grid;gap:7px}.archive-preview-topics span{border:1px solid var(--line);padding:5px 12px;text-align:center;font-size:12px}.community-banner{border:1px solid var(--line);background:var(--wash);padding:30px;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:60px}.community-banner h2{font-size:29px;margin:7px 0}.community-banner p{color:var(--muted);font-size:14px;margin:0}.community-symbol{display:none}.inner-page{max-width:1080px}.page-heading{max-width:760px;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:35px}.page-heading h1{font-size:50px;margin-bottom:13px}.page-heading p{margin:0;color:var(--muted)}.competition-grid,.registration-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:35px;align-items:start}.content-panel,.steps-panel,.registration-card,.roster-panel{border:1px solid var(--line);padding:28px;background:#fff}.event-details{margin:20px 0 30px}.event-details>div,.review-details>div{display:grid;grid-template-columns:160px 1fr;gap:20px;border-top:1px solid var(--line);padding:12px 0;font-size:14px}.event-details>div:last-child,.review-details>div:last-child{border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0}.team-formation,.muted{color:var(--muted);font-size:14px}.steps-panel{background:var(--wash)}.steps{list-style:none;margin:22px 0 28px;padding:0}.steps li{display:flex;gap:15px;padding:16px 0;border-top:1px solid var(--line)}.steps li>span{color:var(--blue);font-weight:700}.steps h3{font-size:17px}.steps p{color:var(--muted);font-size:14px;margin:0}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:25px}.count-card{border:1px solid var(--line);padding:20px}.total-card{background:var(--soft)}.count-card>span,.count-card>small{display:block;color:var(--muted);font-size:12px}.count-card>strong{display:block;font:700 46px/1 Georgia,serif;color:var(--blue);margin:12px 0 8px}.roster-heading,.roster-tools{display:flex;justify-content:space-between;align-items:center;gap:16px}.roster-heading h2{font-size:28px}.roster-tools{padding:18px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.grade-filters{display:flex;gap:6px}.grade-filters button{border:1px solid var(--line);background:#fff;padding:6px 9px;font-size:12px;cursor:pointer}.grade-filters button.selected{background:var(--blue);border-color:var(--blue);color:#fff}.search-label{border:1px solid var(--line);padding:5px 9px}.search-label input{border:0;outline:0;font:inherit;font-size:13px}.roster-status,.roster-note{color:var(--muted);font-size:13px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line)}th{color:var(--blue);font-size:12px}.empty-state{text-align:center;padding:45px 20px}.empty-state>span{font-size:32px;color:var(--blue)}.faq-list{max-width:850px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';color:var(--blue);font-size:22px}.faq-list details[open] summary::after{content:'−'}.faq-list p{max-width:700px;color:var(--muted);font-size:14px}.contact-panel{max-width:850px;background:var(--wash);border:1px solid var(--line);padding:25px;margin-top:30px}.contact-panel h2{font-size:27px}.contact-panel p{color:var(--muted);margin:0 0 10px}.registration-aside{position:sticky;top:20px}.registration-aside h1{font-size:45px}.registration-aside>p{color:var(--muted);font-size:14px}.registration-info{border-top:1px solid var(--line);margin:27px 0}.registration-info>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:11px 0;font-size:13px}.registration-info span{color:var(--muted)}.aside-note{background:var(--soft);padding:17px;font-size:13px;margin-bottom:20px}.aside-note p{margin:0}.form-progress{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:22px;color:var(--muted);font-size:12px}.form-progress .active{color:var(--blue);font-weight:700}.registration-card h2{font-size:32px}.form-notice{background:#fff3cc;border:1px solid #d6bb65;padding:12px;font-size:13px;margin-bottom:20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}fieldset{border:0;margin:0;padding:0;min-width:0}#form-fields>label,.field-row>label,.student-card>label{display:block;font-size:13px;font-weight:700;margin-bottom:18px}input:not([type=checkbox]),select{display:block;width:100%;margin-top:6px;border:1px solid #aeb9c2;border-radius:var(--radius);padding:10px;background:#fff;color:var(--ink);font:inherit;font-size:14px}input:focus,select:focus{outline:2px solid #91b6dc;outline-offset:1px}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}label small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:5px}.group-size-label{background:var(--wash);border:1px solid var(--line);padding:15px}.student-card{border:1px solid var(--line);padding:17px;margin:0 0 20px}.student-card legend{padding:0 5px;color:var(--blue);font-size:13px;font-weight:700}.form-divider{display:flex;align-items:center;gap:12px;margin:24px 0 20px;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.form-divider:after{content:'';height:1px;background:var(--line);flex:1}.checkbox-label{display:flex!important;gap:10px;align-items:start;font-weight:400!important;line-height:1.5}.checkbox-label input{margin-top:4px;accent-color:var(--blue)}.full-width{width:100%}.form-footer-note{color:var(--muted);font-size:11px;text-align:center}.form-error{color:var(--danger);font-size:13px}.review-details{margin:0 0 20px}.review-student{background:var(--wash);padding:11px!important;display:block!important}.review-student dd{text-align:left;margin-top:5px}.payment-note{background:var(--wash);border:1px solid var(--line);padding:15px;font-size:13px;margin-bottom:18px}.payment-note p{color:var(--muted);margin:7px 0 0}.form-button-row,.confirmation-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.confirmation-card{text-align:center}.confirmation-icon{color:var(--blue);font-size:36px}.reference-box{border:1px dashed #8ea1b2;padding:15px;margin:18px 0}.reference-box>span{display:block;color:var(--muted);font-size:11px}.reference-box>strong{display:block;font:700 22px Georgia,serif;margin:5px 0}.article-dialog{width:min(660px,calc(100% - 30px));max-height:85vh;border:1px solid var(--line);padding:38px;background:#fff;color:var(--ink)}.article-dialog::backdrop{background:#17243488}.article-dialog h2{margin-top:12px}.article-dialog p{color:var(--muted)}.dialog-close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:27px;cursor:pointer}.site-footer{border-top:1px solid var(--line);padding:30px 0 45px;display:flex;justify-content:space-between;gap:25px}.site-footer p{color:var(--muted);font-size:12px;margin:7px 0 0}.footer-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.footer-grade{display:none}.archive-year-header{display:flex;gap:28px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:30px}.archive-year-header h2{font-size:32px;margin:7px 0}.archive-year-header p{margin:0;color:var(--muted);font-size:14px}.tournament-archive{display:grid;gap:55px}.archive-section>h3{font-size:20px}.archive-empty{border:1px dashed #aeb9c2;padding:35px;text-align:center;color:var(--muted)}.archive-empty-symbol{display:block;color:var(--blue);font-size:30px}.archive-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.archive-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.archive-gallery figure{margin:0}.archive-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.archive-gallery figcaption{color:var(--muted);font-size:12px;margin-top:5px}.archive-results{border:1px solid var(--line)}.archive-awards{padding:0;margin:0;list-style:none}.archive-awards li{border:1px solid var(--line);padding:18px}.archive-awards h4{margin:0 0 7px}.archive-awards p{font-size:13px;color:var(--muted);margin:0}.award-recipient{color:var(--blue)!important;font-weight:700}.honeypot,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.complete-page{min-height:70vh;display:grid;place-items:center;padding:60px 20px}.complete-page .confirmation-card{width:min(580px,100%);border:1px solid var(--line);padding:35px}@media(max-width:850px){.header-inner{position:relative}.menu-toggle{display:block}.header-inner nav{display:none;position:absolute;top:65px;left:0;right:0;z-index:3;border:1px solid var(--line);background:#fff;padding:15px;box-shadow:0 8px 20px #1724341a}.header-inner nav.open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.header-inner nav a{padding:6px}.details-strip{grid-template-columns:1fr}.details-strip>div+div{border-left:0;border-top:1px solid var(--line)}.intro-section,.competition-grid,.registration-layout{grid-template-columns:1fr;gap:30px}.registration-aside{position:static}.count-grid{grid-template-columns:repeat(2,1fr)}.archive-preview{grid-template-columns:auto 1fr}.archive-preview-topics{grid-column:1/-1;display:flex;gap:8px}.archive-details-grid{grid-template-columns:1fr}}@media(max-width:600px){.wrap{width:calc(100% - 32px)}.event-notice{align-items:start}.hero{padding:48px 0 38px}.hero h1{font-size:43px}.hero-description{font-size:15px}.hero-actions{align-items:start;flex-direction:column;gap:16px}.intro-section{padding-block:48px}.news-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column;gap:12px}.archive-preview{grid-template-columns:1fr;padding:27px 0}.archive-preview-year{font-size:52px}.community-banner,.site-footer{align-items:start;flex-direction:column}.page{padding-block:42px}.page-heading h1{font-size:39px}.content-panel,.steps-panel,.registration-card,.roster-panel{padding:20px}.event-details>div,.review-details>div{grid-template-columns:1fr;gap:4px}.field-row{grid-template-columns:1fr}.count-card>strong{font-size:38px}.roster-heading,.roster-tools{align-items:start;flex-direction:column}.site-footer{padding-bottom:30px}.archive-year-header{align-items:start;flex-direction:column;gap:15px}.archive-gallery{grid-template-columns:1fr}.article-dialog{padding:32px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.registration-actions{display:grid;gap:10px;margin:4px 0 18px}
.registration-actions .button-light{border-color:var(--blue)}
.registration-actions [hidden]{display:none}
.competition-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}
.competition-info .rounds-panel{grid-column:1/-1}
.rounds-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.round-item,.award-item{border-top:1px solid var(--line);padding-top:14px}
.round-item h3,.award-item h3{margin:0 0 4px}
.round-summary{font-weight:700;color:var(--blue)}
.scoring-list{margin:6px 0 0;padding-left:20px}
@media (max-width:850px){.competition-info,.rounds-list{grid-template-columns:1fr}}
.home-page .details-strip{margin-bottom:56px}
.brand{display:inline-flex;flex-direction:column;line-height:1.1}
.brand-short{font-size:26px;letter-spacing:-.01em}
.brand-full{font:600 11px/1.3 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.eyebrow{text-transform:uppercase}
