:root{--ink:#111216;--paper:#f6f0e5;--card:#fffaf0;--red:#ff5b2e;--blue:#1d55ff;--aqua:#2de2c1;--yellow:#ffd445;--muted:#625f59;--line:rgba(17,18,22,.18);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 90% 2%,rgba(45,226,193,.22),transparent 24rem),var(--paper);font:16px/1.48 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;overflow-x:hidden}a{color:inherit}button,input,select,textarea{font:inherit}button,a.btn{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}.skip{position:fixed;left:10px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(18px,calc((100vw - var(--max))/2));background:rgba(246,240,229,.96);border-bottom:1px solid var(--ink)}.brand{display:flex;align-items:center;gap:8px;font-weight:900;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:34px;height:34px;color:white;background:var(--ink);border-radius:50%}.nav-links,.languages{display:flex;gap:14px;align-items:center}.nav a{text-decoration:none;font-size:13px;font-weight:800}.languages a{padding:8px 3px;min-height:36px}.languages [aria-current=page]{border-bottom:3px solid var(--red)}.hero{padding:76px 0 54px}.kicker,.eyebrow{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.kicker{display:inline-block;background:var(--yellow);border:1px solid;padding:8px 12px}.hero h1{font-size:clamp(50px,10vw,124px);line-height:.86;letter-spacing:-.065em;text-transform:uppercase;margin:26px 0;max-width:100%}.hero h1 span{color:var(--red)}.lead{font-size:clamp(20px,2.8vw,28px);max-width:850px}.muted{color:var(--muted);font-size:14px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:22px 0}.btn,button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--ink);background:var(--card);font-weight:800;text-decoration:none;color:var(--ink)}.btn:not(.alt),button.primary{background:var(--ink);color:white;box-shadow:4px 4px 0 var(--red)}.text-link{font-weight:800}.section{padding:42px 0;border-top:1px solid var(--ink);scroll-margin-top:88px}.section h2{font-size:clamp(27px,4vw,44px);line-height:1.08;letter-spacing:-.03em;margin:12px 0 22px}.section>p{max-width:900px}.filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:750;min-width:0}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line);padding:12px;background:#fffdf7;color:var(--ink);border-radius:0}textarea{min-height:100px;resize:vertical}.search-label{margin-bottom:14px}.filter-footer{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:16px 0}.check{flex-direction:row;align-items:center}.check input{width:18px;height:18px}output{font-size:14px;font-weight:800}.events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.event{display:flex;flex-direction:column;min-width:0;padding:20px;background:var(--card);border:1px solid var(--line);overflow-wrap:anywhere}.event h3{font-size:23px;line-height:1.15;margin:18px 0 12px}.event p{font-size:14px}.event .date{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;font-weight:800}.tag{padding:3px 7px;background:rgba(45,226,193,.2)}.event-link{font-size:14px;font-weight:800;margin-top:auto}.event-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.event-actions button{font-size:13px;padding:8px 12px}.event[hidden],[hidden]{display:none!important}.calendar-tools,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{border:1px solid var(--line);padding:22px;background:var(--card)}.panel h3{margin-top:0}.source-links{display:flex;gap:14px;flex-wrap:wrap}#proposal-form{max-width:850px;display:grid;gap:16px}#proposal-form .actions{margin:8px 0}footer{padding:36px 0;font-size:14px}#event-empty{padding:22px;border-left:5px solid var(--red);background:var(--card)}
@media(max-width:1050px){.nav{flex-wrap:wrap}.nav-links{order:3;flex:1 0 100%;max-width:100%;overflow-x:auto;white-space:nowrap;padding:4px 0}.nav-links a{flex-shrink:0}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.events{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:590px){.wrap{width:calc(100% - 28px)}.nav{padding:10px 14px;gap:8px}.brand{font-size:13px}.nav a{font-size:12px}.languages{gap:8px}.hero{padding:46px 0 34px}.hero h1{max-width:300px}.hero h1 span{display:block}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid label:last-child{grid-column:1/-1}.events,.calendar-tools,.two-col{grid-template-columns:1fr}.section{scroll-margin-top:120px;padding:34px 0}.actions .btn{max-width:100%}.event{padding:18px}}

/* Weekly timetable uses the existing production palette and event controls. */
.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:22px 0}.schedule-periods,.schedule-views{display:flex;gap:8px;flex-wrap:wrap}.schedule-toolbar button{font-size:13px;padding:8px 12px}.schedule-toolbar button[aria-pressed="true"]{background:var(--ink);color:var(--card);border-color:var(--ink)}.schedule-week{margin:28px 0 40px}.schedule-range{padding:12px 16px;background:var(--yellow);border:1px solid var(--ink);font-size:20px;margin:0 0 20px}.schedule-day{margin:20px 0}.schedule-day h4{font-size:17px;margin:0 0 10px;text-transform:capitalize}.schedule-day[data-is-today="true"] h4{color:var(--blue)}.schedule-empty{padding:8px 0;margin:0}.schedule-day .events{grid-template-columns:1fr;margin:0}.schedule-day .event{display:grid;grid-template-columns:160px minmax(0,1fr) 180px;gap:8px 20px;padding:18px}.schedule-day .date{grid-column:1;grid-row:1/5;display:flex;flex-direction:column;justify-content:start;align-items:start}.schedule-day .event h3{grid-column:2;margin:0;font-size:21px}.schedule-day .event p{grid-column:2;margin:0}.schedule-day .event-link{grid-column:3;grid-row:1;margin:0}.schedule-day .event-actions{grid-column:3;grid-row:2/5;margin:0;align-content:start}.schedule-ongoing{padding-top:20px;border-top:1px dashed var(--line)}.schedule-ongoing h3{font-size:22px}.schedule-ongoing .events{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){.schedule-day .event{grid-template-columns:110px minmax(0,1fr)}.schedule-day .date{grid-row:1/6}.schedule-day .event-link,.schedule-day .event-actions{grid-column:2;grid-row:auto}.schedule-ongoing .events{grid-template-columns:1fr}}
@media(max-width:590px){.schedule-day .event{display:flex;gap:10px}.schedule-day .date{flex-direction:row;justify-content:space-between;flex-wrap:wrap}.schedule-day .event h3{font-size:20px}.schedule-range{font-size:18px}.schedule-toolbar{gap:12px}.schedule-toolbar button{min-height:44px}.schedule-periods{width:100%}}

.schedule-filters{margin:18px 0}.schedule-filters summary{cursor:pointer;font-weight:800;min-height:44px;padding:10px 0}.schedule-filters[open] summary{margin-bottom:12px}
