:root{--accent: #00bfa5;--ink: #12202a;--muted: #4b6673;--bg: #f5fbfd;--blue: #2e8fff;--card: #ffffff;--line: #e3eef2;--featured-info-bg: #f3f8ff;--hero-solid: #0b1e2a;--toolbar-bg: #ffffff}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Helvetica Neue,Arial;background:var(--bg);color:var(--ink)}.info-modal-overlay{top:0;left:0;width:100vw;background:#fff;z-index:2000;display:flex;align-items:center;justify-content:center}.info-modal{max-width:1100px;width:100%;margin-top:20px;background:#fff;border-radius:16px;box-shadow:0 4px 32px #0000001a;position:relative;padding:32px;display:flex;flex-direction:column;gap:32px}.info-modal-close{position:absolute;top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));background:none;border:none;font-size:1rem;color:#35545f;cursor:pointer;padding:0;line-height:1;z-index:10}.info-modal-calendar-button{font-size:1rem;color:#35545f;cursor:pointer;margin:0 auto;padding:8px 20px;line-height:1.2;display:block;background:#eef7f6;border:none;border-radius:999px;font-weight:700;text-decoration:none;box-shadow:0 2px 8px #0000000a;transition:background .15s,box-shadow .15s}.info-modal-calendar-button:hover,.info-modal-calendar-button:focus{background:#dbe9ee;box-shadow:0 4px 16px #00000014;outline:none}.info-modal-content{flex-direction:row;gap:32px;align-items:flex-start;flex-wrap:wrap;display:grid;grid-template-columns:1fr}.info-modal-figure{margin:0}.info-modal-img{max-width:400px;width:100%;border-radius:12px}.info-modal-text h1{margin-top:0}.info-modal-close{top:max(24px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));font-size:1rem}.info-modal{padding:20px;margin-top:0;border-radius:0;height:100vh;overflow-y:auto}.info-modal-logo-container{left:0;margin-top:0;margin-left:0}.info-modal-logo{margin:0}a{color:#35545f}.submit-event-form{margin:0 auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.form-row{margin-bottom:1.5rem}.form-row label,.form-row legend{display:block;font-weight:600;margin-bottom:.5rem;color:#333;font-size:.95rem}.form-row input[type=text],.form-row input[type=email],.form-row input[type=url],.form-row input[type=date],.form-row textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.form-row input[type=text]:focus,.form-row input[type=email]:focus,.form-row input[type=url]:focus,.form-row input[type=date]:focus,.form-row textarea:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-row input[aria-invalid=true]{border-color:#e74c3c}.form-row textarea{min-height:100px;resize:vertical}.form-row input[type=file]{display:block;width:100%;padding:.75rem;border:2px dashed #e0e0e0;border-radius:8px;cursor:pointer;transition:border-color .2s ease}.form-row input[type=file]:hover{border-color:#4a90e2}.radio-group{border:none;padding:0;margin-bottom:1.5rem}.radio-inline{display:inline-flex;align-items:center;margin-right:1.5rem;margin-bottom:.5rem}.radio-inline input[type=radio]{width:18px;height:18px;margin-right:.5rem;cursor:pointer;accent-color:#4a90e2}.radio-inline label{margin-bottom:0;font-weight:400;cursor:pointer}.field-error{color:#e74c3c;font-size:.875rem;margin-top:.25rem;display:block}.form-feedback{padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500}.form-feedback.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.form-feedback.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.btn-primary{width:100%;padding:1rem 2rem;background:#35545f;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;max-width:400px;margin:0 auto;display:block;transition:transform .2s ease,box-shadow .2s ease}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.submit-event-form{padding:1.5rem;border-radius:8px}.radio-inline{display:flex;margin-right:0}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e1eceb;box-shadow:0 -4px 20px #0000001a;z-index:1000;padding:20px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-content{max-width:1200px;margin:0 auto;display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}.cookie-text{flex:1;min-width:300px}.cookie-text h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#35545f}.cookie-text p{margin:0 0 16px;font-size:14px;line-height:1.4;color:#666}.cookie-buttons{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.btn-primary,.btn-secondary{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-strict{margin-left:40px}.btn-accept-all{flex:2;margin-left:0;margin-right:0}.btn-primary{background:#35545f;color:#fff}.btn-primary:hover{background:#2a434c;transform:translateY(-1px)}.btn-secondary{background:transparent;color:#35545f;border:1px solid #35545f}.btn-secondary:hover{background:#f8fafa;transform:translateY(-1px)}.cookie-preferences{margin:16px 0}.cookie-category{margin-bottom:16px;padding:12px;border:1px solid #e1eceb;border-radius:6px;background:#f8fafa}.cookie-category label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;margin:0}.cookie-category input[type=checkbox]{margin-top:3px;width:16px;height:16px;accent-color:#35545f}.cookie-category input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}.cookie-category div{flex:1}.cookie-category strong{display:block;font-size:14px;color:#35545f;margin-bottom:4px}.cookie-category p{margin:0;font-size:13px;color:#666;line-height:1.3}@media (max-width: 768px){.cookie-banner{padding:16px}.cookie-content{flex-direction:column;gap:16px}.cookie-buttons{width:100%;justify-content:flex-end}.btn-primary,.btn-secondary{flex:1;min-width:120px;text-align:center}.btn-strict{margin-left:0}.cookie-text{min-width:auto}}@media (max-width: 480px){.cookie-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.container{max-width:1100px;margin:0 auto;padding:20px}.hero-wrap{background:var(--hero-solid)}.hero-inner{max-width:1100px;margin:0 auto;padding:24px 20px;display:grid;grid-template-columns:1fr;gap:18px;align-items:center}@media (min-width: 900px){.hero-inner{grid-template-columns:1fr 1.2fr}}.hero-photo{background:#0a1620;border-radius:16px;overflow:hidden;box-shadow:0 10px 26px #00000040}.hero-photo img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:4/3}.hero-text{color:#ecf7f6}.hero-text h1{margin:0 0 8px;font-size:26px;font-weight:900;color:#c9fff6}.hero-text p{margin:6px 0;line-height:1.6;color:#dbf0ef}.toolbar-wrap{position:relative;scroll-margin-top:-340px}@media (max-width: 760px){.toolbar-wrap{position:relative;scroll-margin-top:-220px}.fs-link{padding-bottom:10px}}.toolbar-wrap{position:sticky;top:78px;z-index:1000;background-color:#fff}.toolbar{max-width:1100px;margin:-12px auto 8px;padding:0 20px}.toolbar-card{background:var(--toolbar-bg);border:1px solid #dbe9ee;border-radius:16px;box-shadow:0 10px 24px #0000000f;padding:10px}.toolbar-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}@media (max-width: 760px){.toolbar-row{grid-template-columns:1fr}}.search{position:relative;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #d8e7ee;border-radius:12px;padding:10px 12px}.search input{border:none;outline:none;flex:1;font-size:15px;color:#113444;background:transparent}.search svg{flex:0 0 auto}.type-filter select{padding:10px 12px;border-radius:10px;border:1px solid #cfe0e6;background:#f7fbff;font-weight:700}.type-filter>div:first-child{border-radius:10px;border:1px solid #cfe0e6;width:120px}@media (max-width: 760px){.type-filter>div:first-child{border-radius:10px;border:1px solid #cfe0e6;width:100%}}.type-filter div div{font-weight:500;font-size:.875rem}.view-toggle{display:flex;gap:6px;background:#f2f7fb;border:1px solid #d9e6ef;padding:4px;border-radius:12px}.view-toggle button{border:none;background:transparent;padding:8px 12px;border-radius:8px;font-weight:800;color:#2b5870;cursor:pointer}.view-toggle button[aria-pressed=true]{background:#fff;border:1px solid #cfe0ea;box-shadow:0 1px 3px #0000000f;color:#0f4c9a}.view-list{min-height:600px}.year-title{font-size:28px;font-weight:800;margin:24px 0;color:#0b6e67}.week-block{margin:26px 0 34px;padding:18px;background:linear-gradient(180deg,#fff,#fbfeff);border:1px solid #dce9ef;border-left:6px solid var(--accent);border-radius:16px;box-shadow:0 8px 24px #0000000d}.week-header{font-weight:800;color:#0f9a8a;font-size:18px;margin-bottom:14px;display:flex;align-items:baseline;gap:10px}.chip{background:#0f9a8a;color:#fff;border-radius:999px;padding:3px 10px;font-size:12px}.week-dates{color:#0f9a8a}.map-wrap{display:none}.map{height:520px;background:conic-gradient(from 180deg at 70% 30%,#e6f2ff,#f5fbfd,#eaf7f3);border:1px solid #dbeaf0;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#0f2c44;font-weight:800;box-shadow:0 6px 18px #0000000d}.staging{margin-left:8px;color:#8b0000;font-weight:700}.fs-info{cursor:pointer}.header-wrapper{background-color:#fff;position:sticky;top:0;z-index:10}header.site{max-width:1100px;margin:0 auto;background:var(--card);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-bottom:1px solid var(--line)}header.site.staging{background-color:#ffffe0}header.site .left{display:flex;align-items:center;gap:16px}header.site img.logo{height:54px}header.site .right{display:flex;align-items:center;gap:16px}nav a{text-decoration:none;color:#184a52;font-weight:700;padding:6px 10px;border-radius:8px}nav a:hover{background:#eef7f6}.grid{display:grid;grid-template-columns:1fr;gap:14px}@media (min-width: 860px){.grid{grid-template-columns:1fr 1fr}}.card{display:grid;grid-template-columns:100px 1fr;gap:12px;background:var(--card);border:1px solid #e4eef2;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px #0000000a;transition:transform .15s ease,box-shadow .15s ease}.card:hover{transform:translateY(-1px);box-shadow:0 10px 22px #00000014}.logo-col{background:#f5fafb;display:flex;align-items:center;justify-content:center}.logo-col img{width:80%;height:80%;object-fit:contain;cursor:pointer}.info{padding:12px 12px 14px 0}.title{font-weight:800;font-size:16px;margin:0 0 6px}.meta{font-size:13px;color:var(--muted);margin:0 0 8px}.cta{font-size:13px;text-decoration:none;color:var(--blue);font-weight:700}.badge-type{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;margin-right:6px;background:#e6f2ff;color:#1262b3;border:1px solid #c7e1ff}.badge-type.lead{background:#fff0e6;color:#b34312;border:1px solid #ffd9c2}.badge-type.other{background:#f4e8ff;color:#6a2fb0;border:1px solid #e1d0ff}.dot{width:8px;height:8px;background:var(--accent);border-radius:50%;display:inline-block;vertical-align:middle;margin-right:6px}.featured-split{grid-column:1 / -1;display:grid;grid-template-columns:1fr;border-radius:16px;overflow:hidden;background:var(--card);border:2px solid #97c8ff;box-shadow:0 6px 18px #2e8fff1f}@media (min-width: 860px){.featured-split{grid-template-columns:1fr 1fr}}.fs-media{position:relative;width:100%;aspect-ratio:4 / 5;background:#dbeafc;cursor:pointer}@media (min-width: 860px){.fs-media{aspect-ratio:unset;min-height:100%}}.fs-media img{width:100%;height:100%;object-fit:cover;display:block}.fs-tag{position:absolute;top:12px;left:12px;background:#0009;color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.fs-info{background:var(--featured-info-bg);padding:18px;display:flex;flex-direction:column;gap:10px;justify-content:flex-start}.fs-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.fs-logo img{height:34px;width:auto;object-fit:contain;display:block}.fs-title{font-size:20px;font-weight:900;margin:0 0 6px;color:#0f2c44}.fs-sub{font-size:14px;color:#365468;margin:0 0 6px}.fs-desc{font-size:14px;color:#214253;margin:0 0 6px}.fs-link{font-size:13px;text-decoration:none;color:var(--blue);font-weight:700}.no-competitions{display:flex;justify-content:center;align-items:center;height:300px}.no-competitions .logo{max-width:200px;width:100%;margin-top:auto;margin-bottom:auto;height:auto;filter:drop-shadow(10px 10px 10px gray) opacity(40%)}
