@font-face{font-family:"Oswald";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/oswald-500-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Oswald";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/oswald-500-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Oswald";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/oswald-600-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Oswald";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/oswald-600-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Oswald";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/oswald-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Oswald";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/oswald-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/source-sans-3-400-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/source-sans-3-400-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/source-sans-3-600-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/source-sans-3-600-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/source-sans-3-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/source-sans-3-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --black:#0B0B0B;
  --black-deep:#050505;
  --black-mid:#161616;
  --navy:#0B0B0B;
  --navy-deep:#050505;
  --navy-mid:#161616;
  --columbia:#7EB8DA;
  --columbia-deep:#3E8FBA;
  --gold:#D4A017;
  --gold-hover:#E8B422;
  --red:#D4A017;
  --red-hover:#E8B422;
  --white:#fff;
  --off:#F3F6F8;
  --ink:#0B0B0B;
  --muted:#4A5560;
  --line:rgba(11,11,11,.12);
  --display:"Oswald", "Arial Narrow", "Helvetica Neue", sans-serif;
  --body:"Source Sans 3", "Segoe UI", sans-serif;
  --header-h:4.25rem;
  --wrap:70rem;
  --radius:4px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  margin:0;
  font-family:var(--body);
  font-size:1.0625rem;
  line-height:1.6;
  color:var(--ink);
  background:var(--white);
}
img{max-width:100%;height:auto;display:block}
a{color:var(--columbia-deep);text-underline-offset:2px}
a:hover{color:var(--black)}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:.02em;line-height:1.1;text-transform:uppercase;margin:0 0 .6em}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
ul{margin:0;padding:0;list-style:none}
.skip{
  position:absolute;left:-999px;top:0;background:var(--red);color:#fff;padding:.5rem 1rem;z-index:1000
}
.skip:focus{left:1rem;top:1rem}
.wrap{width:min(100% - 2rem, var(--wrap));margin-inline:auto}
.wrap.narrow{width:min(100% - 2rem, 42rem)}
.section-kicker{
  font-family:var(--display);
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--columbia-deep);
  font-size:.8rem;
  margin:0 0 .35rem;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  background:var(--gold);color:var(--black);text-decoration:none;
  font-family:var(--display);font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  font-size:.9rem;line-height:1;padding:.85rem 1.2rem;border:2px solid var(--red);
  border-radius:var(--radius);cursor:pointer;
}
.btn:hover,.btn:focus-visible{background:var(--gold-hover);border-color:var(--gold-hover);color:var(--black)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-ghost:hover,.btn-ghost:focus-visible{background:#fff;color:var(--navy);border-color:#fff}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--gold);outline-offset:2px
}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--navy);
  border-bottom:3px solid var(--red);
}
.header-bar{
  width:min(100% - 1.5rem, var(--wrap));
  margin-inline:auto;
  min-height:var(--header-h);
  display:flex;align-items:center;gap:1rem;
}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff;min-width:0}
.logo img{width:auto;height:2.75rem;flex:none}
.logo-text{display:flex;flex-direction:column;line-height:1}
.logo-text .line1{font-family:var(--display);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:1.05rem}
.logo-text .line2{font-family:var(--display);font-weight:600;letter-spacing:.22em;text-transform:uppercase;font-size:.7rem;color:var(--gold)}
.site-nav{display:none;margin-left:auto;align-items:center;gap:.15rem}
.site-nav a{
  color:#fff;text-decoration:none;
  font-family:var(--display);font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  font-size:.82rem;padding:.5rem .65rem
}
.site-nav a:hover{color:var(--columbia)}
.header-cta{margin-left:auto;padding:.65rem .9rem;font-size:.78rem}
.nav-toggle{
  margin-left:.25rem;width:2.6rem;height:2.6rem;border:0;background:transparent;color:#fff;cursor:pointer;position:relative;flex:none
}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{
  display:block;width:1.25rem;height:2px;background:#fff;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transition:.2s
}
.nav-toggle span::before,.nav-toggle span::after{content:"";left:0;transform:none}
.nav-toggle span::before{top:-6px}
.nav-toggle span::after{top:6px}
.nav-toggle[aria-expanded="true"] span{background:transparent}
.nav-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.mobile-panel{
  display:none;flex-direction:column;padding:.5rem 1.25rem 1.25rem;background:var(--navy-deep);border-top:1px solid rgba(255,255,255,.08)
}
.mobile-panel.is-open{display:flex}
.mobile-panel a{
  color:#fff;text-decoration:none;
  font-family:var(--display);font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.08)
}
.mobile-panel .btn{margin-top:.9rem;align-self:flex-start;border-bottom:2px solid var(--red)}

@media (min-width:880px){
  .site-nav{display:flex}
  .header-cta{margin-left:.4rem}
  .nav-toggle,.mobile-panel{display:none!important}
}

/* Hero */
.hero{
  position:relative;
  background:
    radial-gradient(ellipse at 85% 10%, rgba(126,184,218,.22), transparent 46%),
    radial-gradient(ellipse at 10% 90%, rgba(255,255,255,.06), transparent 40%),
    linear-gradient(165deg, var(--navy) 0%, var(--navy-deep) 100%);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(-18deg, transparent 0 22px, rgba(255,255,255,.03) 22px 23px);
  opacity:.7;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;left:-10%;right:-10%;bottom:-40%;
  height:70%;
  border:3px solid rgba(212,160,23,.55);
  border-radius:50%;
  pointer-events:none;
}
.hero-inner{
  position:relative;z-index:1;
  width:min(100% - 2rem, 54rem);
  margin-inline:auto;
  padding:3.4rem 0 3.6rem;
}
.hero .kicker{
  font-family:var(--display);font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--columbia);font-size:.86rem;margin:0 0 .6rem
}
.hero h1{margin:0 0 .35rem}
.hero-post{
  display:block;font-size:clamp(3.4rem, 14vw, 7.2rem);letter-spacing:.04em;line-height:.9
}
.hero-ducks{
  display:block;color:var(--red);font-size:clamp(2.6rem, 11vw, 5.4rem);letter-spacing:.18em;line-height:.95;margin-top:.12em
}
.hero-place{
  font-family:var(--display);font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  font-size:.95rem;color:#d7dde6;margin:1rem 0 1.1rem
}
.hero-lead{max-width:34rem;font-size:1.15rem;color:#e8edf3;margin-bottom:1.5rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.4rem}
.hero-meta{
  font-family:var(--display);font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  font-size:.78rem;color:#c5ced8;margin:0
}

/* About */
.about{background:var(--off);padding:4.2rem 0}
.about h2{font-size:clamp(1.8rem, 4vw, 2.6rem);margin-bottom:1.3rem}
.about-grid{display:grid;gap:2rem}
.about-copy p{font-size:1.12rem;max-width:40rem}
.about-facts{display:grid;gap:0;background:#fff;border-left:4px solid var(--red);box-shadow:0 1px 0 var(--line)}
.about-facts li{padding:1rem 1.15rem;border-bottom:1px solid var(--line)}
.about-facts li:last-child{border-bottom:0}
.fact-label{
  display:block;font-family:var(--display);font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  font-size:.72rem;color:var(--red);margin-bottom:.15rem
}
.fact-value{font-weight:600}
@media (min-width:840px){
  .about-grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:3rem}
}

/* Coming soon */
.coming{background:var(--navy);color:#fff;padding:4.2rem 0}
.coming .section-kicker,.contact .section-kicker{color:var(--columbia)}
.coming-grid{display:grid;gap:1.25rem}
.coming-card{
  background:var(--navy-mid);
  border:1px dashed rgba(255,255,255,.28);
  padding:1.8rem 1.5rem 1.7rem
}
.coming-card h2{font-size:clamp(1.7rem, 3.5vw, 2.3rem);margin-bottom:.5rem}
.coming-flag{
  display:inline-block;
  font-family:var(--display);font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:var(--gold);color:var(--black);padding:.35rem .65rem;font-size:.85rem;margin:0 0 1rem
}
.coming-card p{color:#dbe3ee}
.text-link{color:#fff;font-weight:700}
.text-link:hover{color:var(--gold)}
@media (min-width:760px){
  .coming-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
}

/* Staff */
.staff{background:#fff;padding:4.2rem 0}
.staff h2{font-size:clamp(1.8rem, 4vw, 2.6rem);margin-bottom:1.4rem}
.staff-grid{display:grid;gap:1rem;max-width:48rem}
.staff-card{
  border-top:4px solid var(--red);
  background:var(--off);
  padding:0
}
.staff-card summary{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:.2rem 1rem;
  list-style:none;
  cursor:pointer;
  padding:1.35rem 1.3rem 1.25rem;
}
.staff-card summary::-webkit-details-marker{display:none}
.staff-card summary::marker{content:""}
.staff-card summary:focus-visible{outline:2px solid var(--columbia-deep);outline-offset:-2px}
.staff-card summary::after{
  content:"";
  width:.55rem;height:.55rem;
  border-right:2px solid var(--black);
  border-bottom:2px solid var(--black);
  transform:rotate(45deg);
  transition:transform .2s;
  grid-column:2;
  grid-row:1 / span 2;
  justify-self:end;
  align-self:center;
}
.staff-card details[open] summary::after{transform:rotate(225deg)}
.staff-role{
  grid-column:1;
  font-family:var(--display);font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  font-size:.75rem;color:var(--red);margin:0
}
.staff-name,.staff-card h3{grid-column:1;margin:0;font-size:1.7rem}
.staff-bio{padding:0 1.3rem 1.45rem;font-size:1.05rem}
.staff-bio p{margin-bottom:.85rem}
.staff-bio p:last-child{margin-bottom:0}

/* Sponsors */
.sponsors{background:var(--off);padding:4.2rem 0;text-align:left}
.sponsors h2{font-size:clamp(1.8rem, 4vw, 2.6rem)}
.sponsors p{font-size:1.12rem;margin-bottom:1rem}
.sponsors .btn{margin-top:.4rem}

/* Contact / form */
.contact{background:var(--navy);color:#fff;padding:4.2rem 0 4.6rem}
.contact h2{font-size:clamp(1.8rem, 4vw, 2.6rem)}
.contact-intro p{color:#dbe3ee}
.forms-grid{display:grid;gap:2rem;margin-top:2.2rem}
.form-block h2{margin-bottom:.45rem}
.form-block > p{color:#dbe3ee;margin-bottom:1rem}
.follow-label{
  font-family:var(--display);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  font-size:.78rem;color:var(--columbia);margin:1.4rem 0 .4rem
}
.social a{color:#fff;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.social a:hover{color:var(--gold);border-color:var(--gold)}
.social li+li{margin-top:.45rem}
form[data-form]{background:var(--navy-mid);padding:1.4rem 1.2rem 1.3rem;border-top:4px solid var(--red)}
.field{margin-bottom:1rem}
.field-row{display:grid;gap:0}
.field label{
  display:block;font-family:var(--display);font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  font-size:.75rem;margin-bottom:.35rem;color:#e8edf3
}
.req{color:var(--columbia);letter-spacing:0;text-transform:none;font-family:var(--body);font-weight:400;font-size:.8em}
.opt{color:#9aa7b5;letter-spacing:0;text-transform:none;font-family:var(--body);font-weight:400;font-size:.8em}
.field input,.field select,.field textarea{
  width:100%;border:1px solid rgba(255,255,255,.18);background:#000;color:#fff;
  font:inherit;padding:.7rem .75rem;border-radius:var(--radius)
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#fff}
.field textarea{resize:vertical;min-height:7rem}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.form-msg{margin:.9rem 0 0;min-height:1.3em}
.form-msg.ok{color:#b7f0c8}
.form-msg.error{color:#ffc9c9}
@media (min-width:840px){
  .forms-grid{grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}
  .field-row{grid-template-columns:1fr 1fr;gap:1rem}
}

/* Footer */
.site-footer{background:var(--navy-deep);color:#c5ced8;padding:2.2rem 0 2.4rem;border-top:3px solid var(--red)}
.footer-inner{display:grid;gap:.6rem}
.footer-logo{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none;font-family:var(--display);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.footer-logo img{width:auto;height:2.3rem}
.footer-fine a{color:#fff}
.footer-copy{font-size:.9rem;color:#8b97a5;margin:0}

/* 404 / simple pages */
.page-simple{width:min(100% - 2rem, 40rem);margin:4rem auto 5rem}
.page-simple h1{font-size:clamp(2rem, 5vw, 3rem)}


.header-phone{color:#fff;text-decoration:none;font-family:var(--display);font-weight:600;letter-spacing:.06em;font-size:.9rem;white-space:nowrap}
.header-phone:hover{color:var(--columbia)}
@media (max-width:879px){
  .header-phone{display:none}
  .header-cta{font-size:.7rem;padding:.55rem .65rem}
}
.hero-brand{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem 2rem;margin-bottom:.4rem}
.hero-duck{width:clamp(7.5rem,22vw,13rem);height:auto;flex:none;filter:drop-shadow(0 8px 20px rgba(0,0,0,.35))}
.hero-actions .btn{color:var(--black)}
.hero-actions .btn-ghost{color:#fff}
.hero-actions .btn-ghost:hover{color:var(--black)}
.college-note{background:var(--off);border-left:4px solid var(--gold);padding:1rem 1.15rem;margin:1.2rem 0 0;font-weight:600}
.sponsors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:1.25rem;align-items:center;margin:1.6rem 0 2.2rem}
.sponsor-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;background:#fff;border:1px solid var(--line);min-height:9.5rem;padding:1rem .85rem;text-align:center;text-decoration:none;color:var(--ink)}
.sponsor-card:hover{color:var(--ink);border-color:var(--columbia-deep)}
.sponsor-card img{max-height:5.2rem;width:auto;max-width:100%;object-fit:contain}
.sponsor-card.sponsor-dark{background:var(--black)}
.sponsor-card.sponsor-dark .sponsor-name{color:#fff}
.sponsor-name{font-family:var(--display);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;color:var(--muted)}
 .sponsors .cta-block{margin-top:.2rem}
.network-block{background:#fff;border:1px solid var(--line);padding:1.2rem 1.15rem 1.3rem;margin:0 0 2rem}
.network-block h3{font-size:1.25rem;margin-bottom:.85rem}
.network-logos{display:flex;flex-wrap:wrap;align-items:center;gap:1.1rem 1.4rem}
.network-logos img{height:3.4rem;width:auto;max-width:8.5rem;object-fit:contain}
.contact-methods{margin:1rem 0 0;display:grid;gap:.45rem}
.contact-methods a{color:#fff;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.contact-methods a:hover{color:var(--gold);border-color:var(--gold)}
