:root{--p:#f2f3ef;--i:#101310;--m:#687068;--l:#c8ccc5;--h:#ef4b32;--g:#073d2e;--pad:clamp(18px,3.5vw,56px)}*{box-sizing:border-box}body{margin:0;background:var(--p);color:var(--i);font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.top{height:70px;padding:0 var(--pad);display:flex;align-items:center;border-bottom:1px solid var(--l);position:sticky;top:0;background:#f2f3efef;backdrop-filter:blur(14px);z-index:5}.brand{display:flex;gap:9px;align-items:center}.brand img{width:34px}.brand span{font-size:19px;line-height:.8}.brand b{color:var(--h)}.brand small{display:block;font:7px "IBM Plex Mono";margin-top:7px}.top nav{display:flex;gap:22px;margin-left:44px;font-size:11px;font-weight:700}.top nav [aria-current]{color:var(--h)}.top>span{margin-left:auto;font:9px "IBM Plex Mono"}.hero{min-height:580px;display:grid;grid-template-columns:1.15fr .85fr}.hero>div{padding:65px var(--pad)}.hero small,.timeline small,.calendar small,.year-view small{font:9px "IBM Plex Mono";color:var(--h)}h1,h2{font-family:Archivo Black;line-height:.82;letter-spacing:-.075em}.hero h1{font-size:clamp(66px,8vw,126px);margin:24px 0}.hero>div>p{line-height:1.6;max-width:50ch}.year{display:flex;align-items:center;margin-top:35px}.year button{width:48px;height:48px;border:1px solid var(--l);background:white}.year strong{font:48px Archivo Black;margin:0 20px}.hero nav{display:flex;gap:12px;margin-top:25px}.hero nav a,.hero nav button{border:1px solid;background:transparent;padding:12px 18px;font-weight:700}.hero nav a{background:var(--h);color:white;border-color:var(--h)}.hero aside{background:var(--g);color:white;padding:clamp(35px,5vw,70px);display:flex;flex-direction:column;justify-content:center}.hero aside>b{font-size:23px;margin-top:55px}.hero aside time{font:clamp(55px,7vw,95px)/.9 Archivo Black;letter-spacing:-.06em;margin:25px 0}.hero aside strong{font:28px "IBM Plex Mono";border-top:1px solid #53756a;padding-top:20px}.hero aside p{font:10px "IBM Plex Mono";color:#bad8cd;margin-top:65px}.summary{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--l);border-bottom:1px solid var(--l)}.summary article{padding:22px var(--pad);border-right:1px solid var(--l)}.summary small,.summary span{font:9px "IBM Plex Mono";color:var(--m);display:block}.summary b{font:35px Archivo Black;display:block;margin:18px 0 5px}.timeline,.calendar,.year-view{padding:80px var(--pad)}.timeline>header,.calendar>header,.year-view>header{display:grid;grid-template-columns:1fr minmax(280px,500px);gap:30px;align-items:end;border-bottom:2px solid;padding-bottom:28px}.timeline h2,.calendar h2,.year-view h2{font-size:clamp(48px,6vw,84px);margin:16px 0 0}.filters{display:flex;flex-wrap:wrap;justify-content:flex-end}.filters button{border:1px solid var(--l);background:white;padding:9px 12px;font-size:10px}.filters button.active{background:var(--i);color:white}.event{display:grid;grid-template-columns:110px 1fr 150px;gap:25px;padding:22px 0;border-bottom:1px solid var(--l);align-items:center}.event time{font:13px "IBM Plex Mono"}.event h3{margin:0 0 6px;font-size:18px}.event p{margin:0;color:var(--m);font-size:11px}.event button{border:0;background:transparent;text-align:right;font:10px "IBM Plex Mono"}.calendar{background:white}.month-nav{display:flex;justify-content:flex-end;align-items:center;gap:10px}.month-nav button{width:42px;height:42px;border:1px solid var(--l);background:var(--p)}.month-nav #this-month{width:auto;padding:0 15px}.month-nav strong{font:13px "IBM Plex Mono"}.week,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.week span{padding:15px;font:9px "IBM Plex Mono";color:var(--m);border-bottom:1px solid var(--l)}.day{min-height:125px;padding:12px;border-right:1px solid var(--l);border-bottom:1px solid var(--l);background:white;text-align:left}.day.empty{background:#f7f8f5}.day.today{outline:2px solid var(--i);outline-offset:-2px}.day>span{font:11px "IBM Plex Mono"}.day b{display:block;font-size:10px;line-height:1.25;margin-top:15px;color:var(--h)}.day i{display:block;width:7px;height:7px;margin-top:6px;background:var(--h)}.legend{display:flex;gap:18px;margin-top:18px;font:9px "IBM Plex Mono"}.legend span:before{content:'';display:inline-block;width:8px;height:8px;background:var(--i);margin-right:6px}.legend .official:before{background:var(--h)}.legend .religious:before{background:var(--g)}.legend .school:before{background:#557bc1}.legend .important:before{background:#999}.year-view>header>p{color:var(--m)}#year-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--l)}.mini{padding:18px;border-right:1px solid var(--l);border-bottom:1px solid var(--l);background:white;text-align:left}.mini h3{margin:0 0 12px}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.mini-grid span{font:8px "IBM Plex Mono";text-align:center;padding:4px 0}.mini-grid .mark{background:var(--h);color:white}.facts{display:grid;grid-template-columns:repeat(3,1fr);padding:0 var(--pad);background:var(--g);color:white}.facts article{padding:35px;border-right:1px solid #496c60}.facts small{color:#bad8cd}.facts h3{margin-top:45px}.facts p{font-size:12px;line-height:1.6;color:#c7d5d0}footer{padding:40px var(--pad);display:flex;gap:40px;align-items:center;font-size:11px}footer .brand{margin-right:auto}dialog{max-width:600px;border:0;padding:45px;background:var(--p);box-shadow:0 20px 80px #0005}dialog::backdrop{background:#07100dcc}dialog #close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:25px}dialog h2{font-size:42px}dialog time{font:13px "IBM Plex Mono"}dialog p{line-height:1.7}
@media(max-width:900px){.top nav{display:none}.hero{grid-template-columns:1fr}.hero aside{min-height:440px}.summary{grid-template-columns:1fr 1fr}.timeline>header,.calendar>header,.year-view>header{grid-template-columns:1fr}#year-grid{grid-template-columns:repeat(2,1fr)}.facts{grid-template-columns:1fr}}
@media(max-width:560px){.top{height:62px}.top>span{display:none}.hero>div{padding:45px 18px}.hero h1{font-size:62px}.hero aside{padding:40px 18px}.summary article{padding:18px}.timeline,.calendar,.year-view{padding:55px 18px}.timeline h2,.calendar h2,.year-view h2{font-size:48px}.filters{justify-content:flex-start}.event{grid-template-columns:82px 1fr}.event button{display:none}.month-nav{justify-content:flex-start;flex-wrap:wrap}.day{min-height:85px;padding:7px}.day b{font-size:8px;margin-top:8px}.week span{padding:8px 4px}.legend{flex-wrap:wrap}#year-grid{grid-template-columns:1fr}.facts{padding:0}footer{flex-wrap:wrap}}
