.app{min-height:100vh;background:var(--bg)}.site-header{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--border);z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;height:56px;position:relative}.brand-link{color:var(--text);text-decoration:none;font-weight:700;letter-spacing:.2px;display:inline-flex;align-items:center;gap:.5rem}.brand-logo{display:inline-block}.brand-text{line-height:1}.nav{display:flex;gap:1rem}.nav-link{color:var(--muted);text-decoration:none;padding:.5rem .75rem;border-radius:6px;transition:all .15s ease}.nav-link:hover{color:var(--text);background:var(--surface-2)}.nav-link.active{color:var(--primary);background:#4f46e51a;font-weight:500}.site-main{padding:1.5rem 0}.site-footer{border-top:1px solid var(--border);color:var(--muted);padding:1rem 0;background:var(--surface)}.button{display:inline-block;padding:.55rem .9rem;border:1px solid var(--border);border-radius:8px;color:var(--text);text-decoration:none;background:var(--surface)}.button.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.button:hover{filter:brightness(.98)}.hero{padding:2rem 0}.hero-title{font-size:2rem;color:var(--text);margin-bottom:.5rem}.hero-subtitle{color:var(--muted);margin-bottom:1rem}.hero-cta{display:flex;gap:.75rem}.contest-info{max-width:1200px;margin:0 auto;background:var(--surface);border-radius:16px;box-shadow:0 8px 24px #00000014;overflow:hidden}.contest-header{background-image:url(/images/brand/interlake-banner.png);background-size:cover;background-position:center center;position:relative;color:#fff;padding:4rem 2rem;text-align:center}.contest-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#4f46e5d9,#7c4ba2d9);z-index:1}.contest-header>*{position:relative;z-index:2}.contest-header h1{font-size:2.5rem;margin:0;font-weight:700}.contest-header h2{font-size:1.5rem;margin:.5rem 0;font-weight:400;opacity:.95}.target-audience{margin:1rem 0 0;font-size:1.1rem;opacity:.9}section{padding:2rem;border-bottom:1px solid #e5e7eb}section:last-child{border-bottom:none}section h3{color:#1f2937;font-size:1.75rem;margin:0 0 1.5rem;font-weight:600}section h4{color:#374151;font-size:1.25rem;margin:1rem 0 .5rem;font-weight:600}section h5{color:#4b5563;font-size:1.1rem;margin:1rem 0 .5rem;font-weight:600}.venue-details address{font-style:normal;color:#6b7280;line-height:1.6}.parking-info{background:#f3f4f6;padding:1rem;border-radius:8px;margin:1rem 0}.directions{margin-top:1.5rem}.direction-item{background:#f9fafb;padding:1rem;border-radius:8px;margin:.5rem 0;border:1px solid #e5e7eb}.direction-item summary{cursor:pointer;font-weight:500;color:#4b5563}.direction-item summary:hover{color:var(--primary)}.direction-item ol{margin:1rem 0 0 1.5rem;color:#6b7280}.rounds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.round-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;transition:transform .2s,box-shadow .2s}.round-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.round-card h4{color:var(--text);margin:0 0 1rem}.round-details p{margin:.5rem 0;color:#6b7280}.round-details p strong{color:#4b5563}.round-details .description{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;font-style:italic}.events-list{display:flex;flex-wrap:wrap;gap:1rem}.event-item{background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:20px;display:inline-flex;align-items:center;gap:.5rem}.prize-badge{background:#fbbf24;color:#78350f;padding:.25rem .5rem;border-radius:12px;font-size:.875rem;font-weight:600}.scoring-chart{background:#f9fafb;border-radius:8px;padding:1.5rem;max-width:500px}.score-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.score-total{display:flex;justify-content:space-between;padding:.75rem 0;font-weight:600;font-size:1.1rem;color:#1f2937}.score-label{color:#4b5563}.score-value{color:var(--primary);font-weight:600}.registration-details{color:#6b7280}.requirements{background:#f3f4f6;padding:1rem;border-radius:8px;margin-top:1rem}.requirements h4{margin-top:0}.requirements ul{margin:.5rem 0 0 1.5rem}.sponsors-grid{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.sponsor-item{padding:1rem 1.5rem;background:#f9fafb;border-radius:8px;border:2px solid #e5e7eb;transition:transform .2s}.sponsor-item:hover{transform:scale(1.05)}.sponsor-gold{border-color:#fbbf24;background:linear-gradient(135deg,#fef3c7,#fde68a)}.sponsor-item a{color:#4b5563;text-decoration:none;font-weight:600}.sponsor-item a:hover{color:var(--primary)}.sponsor-logo{display:block;max-height:60px;max-width:180px;width:auto;height:auto}.venue-location-map{margin-top:2rem}.map-embed{position:relative;width:100%;height:450px;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb;margin-top:1rem}.google-map{width:100%;height:100%;border:0}.venue-maps{margin-top:2rem}.maps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1rem}.map-item{background:#f9fafb;border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.venue-map{width:100%;height:auto;display:block;cursor:pointer;transition:transform .2s}.venue-map:hover{transform:scale(1.02)}.map-caption{padding:.75rem;text-align:center;font-weight:500;color:#4b5563;background:#fff;border-top:1px solid #e5e7eb}.contact-details a{color:var(--primary);text-decoration:none;margin-left:.5rem}.contact-details a:hover{text-decoration:underline}.copy-btn{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:8px;padding:.4rem .75rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;position:relative}.copy-btn:hover{background:var(--surface-2);border-color:var(--primary);color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 8px #4f46e526}.copy-btn.copied{background:var(--primary);color:#fff;border-color:var(--primary)}.copy-btn.copied .copy-icon{animation:checkmark .3s ease}@keyframes checkmark{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.copy-icon{width:14px;height:14px;transition:transform .15s ease}.copy-text{font-size:.875rem}.copy-inline{margin-left:.75rem}.home-content{padding:2rem 0}.quick-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:2rem 0}.info-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;text-align:center}.info-card h3{color:var(--primary);margin:0 0 .5rem;font-size:1.25rem}.info-card p{margin:.25rem 0;color:var(--text);font-weight:600}.info-card .muted{color:var(--muted);font-weight:400;font-size:.9rem}.highlights{margin:3rem 0}.highlights h2{text-align:center;color:var(--text);margin-bottom:2rem;font-size:2rem}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.highlight{background:#f9fafb;border-radius:8px;padding:1.5rem;border:1px solid #e5e7eb}.highlight h4{color:var(--text);margin:0 0 .5rem;font-size:1.1rem}.highlight p{color:#6b7280;line-height:1.6;margin:0}.sponsors-home{display:flex;justify-content:center;gap:2rem;margin-top:1rem}@media (max-width: 768px){.app{padding:1rem}.contest-header{padding:2rem 1rem}.contest-header h1{font-size:2rem}.contest-header h2{font-size:1.25rem}section{padding:1.5rem 1rem}.rounds-grid{grid-template-columns:1fr}.map-embed{height:300px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg: #f8fafc;--surface: #ffffff;--surface-2: #f1f5f9;--text: #0f172a;--muted: #475569;--border: #e5e7eb;--primary: #4f46e5}.list{margin:.5rem 0 0 1.25rem;color:var(--muted)}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 1rem}
