.year-page{max-width:var(--container-max);padding:var(--space-8) var(--shell-gutter) var(--space-9);gap:var(--space-8);flex-direction:column;margin:0 auto;display:flex}.year-head{gap:var(--space-3);flex-direction:column;display:flex}.year-title{font-family:var(--font-brand);font-weight:var(--fw-black);font-size:var(--fs-h1);letter-spacing:var(--ls-tighter);color:var(--text-strong);margin:0}.year-intro{font-family:var(--font-body);font-size:var(--fs-lead);color:var(--text-body);max-width:68ch;line-height:1.6}.year-intro>*+*{margin-top:var(--space-3)}.year-intro p{margin:0}.year-section{gap:var(--space-4);flex-direction:column;display:flex}.year-section[id]{scroll-margin-top:var(--header-height)}.year-section-title{font-family:var(--font-brand);font-weight:var(--fw-black);font-size:var(--fs-h3);letter-spacing:var(--ls-tight);color:var(--text-strong);margin:0}.year-prose{font-family:var(--font-body);font-size:var(--fs-body);color:var(--text-body);max-width:72ch;line-height:1.6}.year-prose>*+*{margin-top:var(--space-3)}.year-prose p{margin:0}.year-prose ul,.year-prose ol{padding-left:var(--space-5);gap:var(--space-2);flex-direction:column;margin:0;display:flex}.year-prose li{padding-left:var(--space-1)}.year-prose a{color:var(--link);text-underline-offset:2px;text-decoration:underline}.year-prose a:hover{color:var(--link-hover)}.year-prose strong{color:var(--text-strong);font-weight:var(--fw-bold)}.year-prose blockquote{padding-left:var(--space-4);border-left:var(--border-frame) solid var(--border-subtle);color:var(--text-muted);margin:0}.year-prose blockquote>*+*{margin-top:var(--space-3)}.year-details{gap:var(--space-5);padding:var(--space-5) 0;border-top:var(--border-hairline) solid var(--border-subtle);border-bottom:var(--border-hairline) solid var(--border-subtle);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.year-detail{gap:var(--space-1);flex-direction:column;display:flex}.year-detail-label{font-family:var(--font-brand);font-weight:var(--fw-bold);font-size:var(--fs-caption);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-muted)}.year-detail-value{font-family:var(--font-brand);font-weight:var(--fw-bold);font-size:var(--fs-body);color:var(--text-strong)}.year-detail-note{font-family:var(--font-body);font-size:var(--fs-caption);color:var(--text-muted)}.year-countdown{margin-top:var(--space-5)}.year-register-frame{border:var(--border-hairline) solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;min-height:720px}.year-judges-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.year-judge{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.year-judge-photo,.year-judge-initials{width:var(--space-9);height:var(--space-9);border-radius:var(--radius-circle);border:var(--border-thick) solid var(--border-subtle);object-fit:cover;flex-shrink:0}.year-judge-initials{background:var(--surface-subtle);font-family:var(--font-brand);font-weight:var(--fw-black);font-size:var(--fs-h4);color:var(--brand);justify-content:center;align-items:center;display:flex}.year-judge-name{font-family:var(--font-brand);font-weight:var(--fw-bold);font-size:var(--fs-small);color:var(--text-strong)}.year-judge-name a{color:var(--text-strong);text-decoration:none}.year-judge-name a:hover{color:var(--brand)}.year-judge-role{font-family:var(--font-body);font-size:var(--fs-caption);color:var(--text-muted)}.year-judge-company{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text-muted)}.year-stats{gap:var(--space-8);padding:var(--space-2) 0;flex-wrap:wrap;display:flex}.year-roster{gap:var(--space-5);scroll-margin-top:var(--header-height);flex-direction:column;display:flex}.year-roster-grid{gap:var(--space-5);grid-template-columns:repeat(4,1fr);align-items:stretch;display:grid}.year-writeups{gap:var(--space-5);flex-direction:column;display:flex}.year-writeup{gap:var(--space-2);padding-bottom:var(--space-5);border-bottom:var(--border-hairline) solid var(--border-subtle);flex-direction:column;display:flex}.year-writeup-name{font-family:var(--font-brand);font-weight:var(--fw-bold);font-size:var(--fs-h4);color:var(--text-strong);margin:0}.year-writeup-body{font-family:var(--font-body);font-size:var(--fs-body);color:var(--text-body);max-width:72ch;margin:0;line-height:1.6}.year-writeup-videos{gap:var(--space-4);flex-wrap:wrap;align-self:flex-start;display:flex}.year-writeup-video{font-family:var(--font-brand);font-weight:var(--fw-bold);font-size:var(--fs-small);color:var(--link);text-decoration:none}.year-writeup-video:hover{color:var(--link-hover)}.year-writeup-links{gap:var(--space-1);flex-direction:column;align-self:flex-start;margin:0;padding:0;list-style:none;display:flex}.year-writeup-links a{font-family:var(--font-brand);font-weight:var(--fw-bold);font-size:var(--fs-small);color:var(--link);text-decoration:none}.year-writeup-links a:hover{color:var(--link-hover)}.year-writeup-unavailable{font-family:var(--font-brand);font-weight:var(--fw-bold);font-size:var(--fs-small);color:var(--text-muted)}.team-member-social{color:var(--link);min-width:var(--space-5);min-height:var(--space-5);justify-content:center;align-items:center;line-height:0;display:inline-flex}.team-member-social:hover{color:var(--link-hover)}.team-member-social:focus-visible{outline:var(--border-thick) solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.year-actions{gap:var(--space-3);flex-wrap:wrap;align-self:flex-start;display:flex}.year-action{align-items:center;gap:var(--space-2);font-family:var(--font-brand);font-weight:var(--fw-bold);font-size:var(--fs-body);border:var(--border-thick) solid transparent;border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);transition:background var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);text-decoration:none;display:inline-flex}.year-action:hover{transform:translateY(-1px)}.year-action-primary{color:var(--text-on-brand);background:var(--brand);border-color:var(--brand)}.year-action-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.year-action-secondary{color:var(--brand);border-color:var(--brand);background:0 0}.year-action-secondary:hover{background:var(--surface-brand-wash)}.year-action-icon{flex-shrink:0;width:1.1em;height:1.1em}.year-prose a:focus-visible,.year-judge-name a:focus-visible,.year-writeup-video:focus-visible,.year-writeup-links a:focus-visible,.year-action:focus-visible{outline:var(--border-thick) solid var(--focus-ring);outline-offset:2px}@media (max-width:860px){.year-roster-grid{grid-template-columns:repeat(2,1fr)}.year-stats{gap:var(--space-6)}}@media (max-width:520px){.year-roster-grid{grid-template-columns:1fr}}
