@import url("https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Space+Grotesk:wght@500;600;700&display=swap");:root{--paper:#fbfbf9;--ink:#1b1b1a;--ink-soft:color-mix(in srgb,#1b1b1a 52%,var(--paper));--ink-faint:color-mix(in srgb,var(--paper) 50%,var(--ink));--red:#c02a42;--red-soft:color-mix(in srgb,#c02a42 9%,var(--card));--red-line:color-mix(in srgb,var(--red) 28%,var(--card));--gold:#c49a3a;--gold-soft:#f0e7cf;--line:#e7e6e1;--line-strong:color-mix(in srgb,var(--ink) 14%,var(--paper));--card:#f4f3ef;--display:"Space Grotesk",system-ui,sans-serif;--body:"DM Sans",system-ui,sans-serif;--mono:"DM Sans",system-ui,sans-serif}[data-theme=dark]{--paper:#16171b;--ink:#e7e6e2;--ink-soft:color-mix(in srgb,#e7e6e2 50%,#2c2d33);--line:#2c2d33;--card:#1f2025;--red:#e25b72;--red-soft:#241317;--gold:#d8b45a;--gold-soft:#2a2616}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}body{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}a{color:inherit}.topbar{position:relative;display:flex;align-items:center;justify-content:center;padding:18px 22px;border-bottom:1px solid var(--line)}.brand{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none}.brand b{color:var(--red);font-weight:500}.theme-toggle{position:absolute;right:22px;top:50%;transform:translateY(-50%);width:52px;height:28px;border:none;border-radius:999px;background:var(--line);cursor:pointer;padding:0;transition:background .3s ease}.theme-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.theme-toggle-icons{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:0 7px;pointer-events:none}.theme-icon{transition:color .3s ease,opacity .3s ease}.theme-icon-moon{opacity:.45;color:var(--ink-soft)}.theme-icon-sun{color:var(--gold);opacity:.45}.theme-toggle[data-dark=false] .theme-toggle-thumb{transform:translateX(24px)}.theme-toggle[data-dark=false] .theme-icon-sun{color:var(--gold);opacity:1}.theme-toggle[data-dark=false] .theme-icon-moon{opacity:.35;color:var(--ink-soft)}.theme-toggle[data-dark=true] .theme-icon-moon{color:var(--ink);opacity:1}.theme-toggle[data-dark=true] .theme-icon-sun{opacity:.35;color:color-mix(in srgb,var(--gold) 55%,transparent)}.theme-toggle-thumb{position:absolute;top:3px;left:3px;z-index:1;width:22px;height:22px;border-radius:50%;background:var(--card);box-shadow:0 1px 4px rgba(0,0,0,.18);transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.theme-toggle.is-animating[data-dark=false] .theme-toggle-thumb{animation:thumbBounceLight .55s cubic-bezier(.34,1.56,.64,1)}.theme-toggle.is-animating[data-dark=true] .theme-toggle-thumb{animation:thumbBounceDark .55s cubic-bezier(.34,1.56,.64,1)}@keyframes thumbBounceLight{0%{transform:translateX(0) scale(1)}45%{transform:translateX(26px) scale(1.12)}72%{transform:translateX(22px) scale(.94)}to{transform:translateX(24px) scale(1)}}@keyframes thumbBounceDark{0%{transform:translateX(24px) scale(1)}45%{transform:translateX(-2px) scale(1.12)}72%{transform:translateX(2px) scale(.94)}to{transform:translateX(0) scale(1)}}.hero-section{min-height:calc(100vh - 58px);display:flex;align-items:center;justify-content:center;padding:46px 22px}.hero{max-width:760px;margin:0 auto;text-align:center}.hero,.hero-date{width:100%;flex-direction:column}.eyebrow,.hero,.hero-date{display:flex;align-items:center}.eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);justify-content:center;gap:10px}.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--ink);transition:background .4s ease}.is-festivo .eyebrow .dot{background:var(--red)}.daywrap{line-height:.8;margin:12px 0 2px;min-height:clamp(7rem,30vw,18rem);display:flex;align-items:center;justify-content:center}.day-number{font-family:var(--display);font-weight:700;font-size:clamp(8rem,32vw,20rem);letter-spacing:-.045em;color:var(--ink);transition:color .5s cubic-bezier(.2,.7,.2,1);display:block}[data-theme=dark] .day-number{color:#fff}.is-festivo .day-number{color:var(--red)}.month-line{font-family:var(--display);font-weight:500;font-size:clamp(1.4rem,5vw,2.4rem);letter-spacing:-.02em;margin-top:6px}.month-line .yr{color:var(--ink-soft)}.live-clock{margin-top:20px;width:100%;display:flex;justify-content:center}.live-clock-face{display:inline-flex;justify-content:center;align-items:center;box-sizing:border-box;min-width:min(100%,19rem);padding:14px 22px;border:1.5px solid var(--ink);border-radius:18px;background:var(--card);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.45)}[data-theme=dark] .live-clock-face{border-color:var(--line);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06)}.live-clock-units{align-items:center!important;gap:clamp(4px,2vw,10px)!important;width:auto!important}.live-clock-units .countdown-unit{flex:0 0 auto;min-width:0;max-width:none}.live-clock-units .countdown-unit span{display:inline-block;min-width:2ch;text-align:center;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.live-clock-units .countdown-sep{padding-bottom:0}.live-clock-ampm{align-self:flex-end}.live-clock-ampm span{font-size:clamp(1rem,4.5vw,1.35rem)!important;letter-spacing:.06em;min-width:2.4ch}.is-festivo .live-clock-units .countdown-unit span{color:var(--red)}.status{margin:26px auto 0;max-width:540px}.badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;padding:7px 13px;border-radius:999px;border:1px solid var(--line);color:var(--ink-soft);background:var(--card)}.is-festivo .badge{background:var(--red-soft);border-color:var(--red-line);color:var(--red)}.badge .pulse{width:8px;height:8px;border-radius:50%;background:currentColor}.is-festivo .badge .pulse{animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.status-title{font-family:var(--display);font-weight:700;font-size:clamp(1.35rem,4vw,1.9rem);letter-spacing:-.02em;margin-top:14px;line-height:1.12}.status-sub{font-size:15px;color:var(--ink-soft);margin-top:7px;line-height:1.5}.esp-note{font-size:14.5px;color:var(--ink-soft);margin-top:18px}.esp-note b{color:var(--ink);font-weight:600}.legend{margin-top:22px;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:7px;font-size:15.5px;color:var(--ink-soft)}.legend .hl{color:var(--ink);font-weight:600;position:relative;white-space:nowrap}.legend .hl:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:6px;background:var(--gold);opacity:.55;z-index:-1;border-radius:2px}.cta{margin-top:30px;display:inline-flex;align-items:center;gap:11px;font-family:var(--body);font-weight:600;font-size:15px;color:var(--paper);background:var(--ink);border:none;cursor:pointer;padding:14px 22px;border-radius:14px;transition:transform .25s cubic-bezier(.2,.7,.2,1),background .25s ease,color .25s ease;text-decoration:none}[data-theme=dark] .cta{color:#fff;background:var(--red)}.cta:hover{transform:translateY(-2px);background:#000;color:#fff}[data-theme=dark] .cta:hover{background:#fff;color:var(--red)}.cta:active{transform:translateY(0)}.cta svg{transition:transform .25s ease}.cta:hover svg{transform:translate(2px,-2px)}.upcoming{margin:40px auto 0;width:100%;max-width:440px;text-align:left;flex-shrink:0}.countdown{margin-bottom:22px;padding:24px 22px 28px;border-bottom:1px solid var(--line);width:100vw;margin-left:calc(50% - 50vw);text-align:center}.countdown-label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:16px}.countdown-units{display:flex;align-items:flex-end;justify-content:center;gap:clamp(6px,2.5vw,14px);width:100%}.countdown-unit{display:flex;flex-direction:column;align-items:center;flex:1 1;min-width:0;max-width:88px}.countdown-unit span{font-family:var(--display);font-weight:700;font-size:clamp(2rem,10vw,2.75rem);letter-spacing:-.03em;line-height:1;color:var(--ink)}.countdown-unit small{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px}.countdown-sep{font-family:var(--display);font-weight:700;font-size:clamp(1.4rem,5.5vw,2rem);color:var(--ink-soft);line-height:1;padding-bottom:22px;flex-shrink:0}.is-festivo .countdown-unit span{color:var(--red)}.upcoming h3{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}.uprow{display:flex;align-items:baseline;gap:16px;padding:11px 2px;border-bottom:1px solid var(--line)}.uprow:last-child{border-bottom:none}.uprow .d{font-family:var(--display);font-weight:700;font-size:1.1rem;letter-spacing:-.01em;color:var(--ink);min-width:66px;flex-shrink:0}.uprow .d .mo{font-size:.7em;color:var(--ink-soft);font-weight:500;text-transform:uppercase;letter-spacing:.04em;margin-left:3px}.uprow .n{font-size:14.5px;color:var(--ink);line-height:1.3}.uprow .n small{display:block;color:var(--ink-soft);font-size:12px;margin-top:2px}.page,.seo-body{max-width:760px;margin:0 auto;padding:34px 22px 70px}.seo-body{border-top:1px solid var(--line)}.eyebrow-link{margin-bottom:16px}.back-today{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px 16px;transition:transform .2s ease,border-color .2s ease,background .2s ease}.back-today:hover{transform:translateY(-1px);border-color:var(--line-strong);background:#00000004}h1.title{font-family:var(--display);font-weight:700;font-size:clamp(2rem,7vw,3rem);letter-spacing:-.03em;line-height:1.04}.lead{font-size:16px;color:var(--ink-soft);line-height:1.6;margin-top:14px;max-width:60ch}.lead b{color:var(--ink);font-weight:600}.holiday-table-wrap{margin-top:26px;margin-inline:-22px;padding-inline:22px;overflow:visible}.holiday-table{width:100%}.holiday-table-caption{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;padding-inline:2px}.holiday-table-row{display:grid;grid-template-columns:minmax(92px,1fr) minmax(84px,1fr) minmax(0,2.4fr);align-items:center;grid-column-gap:10px;column-gap:10px;position:relative}.holiday-table-row--head{padding:0 2px 10px;border-bottom:1px solid var(--line)}.holiday-table-row--head [role=columnheader]{text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}.holiday-table-body .holiday-table-row{padding:12px 2px;border-bottom:1px solid var(--line)}.holiday-table-body .holiday-table-row:last-child{border-bottom:none}.holiday-table-body .holiday-table-row:has(+.is-today){border-bottom:none;padding-bottom:8px}.holiday-table-body .holiday-table-row.is-today{margin-block:18px;padding-block:16px;border-bottom:none}.holiday-table-body .holiday-table-row.is-today+.holiday-table-row{border-top:none;padding-top:8px}.ht-today-band{position:absolute;inset:0 -16px;background:var(--red-soft);border:1px solid var(--red-line);border-radius:18px;box-shadow:0 10px 32px rgba(192,42,66,.1);z-index:0;pointer-events:none}.holiday-table-row.is-today [role=cell]{position:relative;z-index:1}.holiday-table-row.is-today .ht-date,.holiday-table-row.is-today .ht-name-inner{color:var(--red)}.holiday-table-row.is-today .ht-dow{color:color-mix(in srgb,var(--red) 70%,var(--ink-soft))}.holiday-table-body [role=cell]{font-size:14.5px}.ht-date{font-family:var(--display);font-weight:700;color:var(--ink);letter-spacing:-.01em}.ht-date,.ht-dow{white-space:nowrap}.ht-dow{color:var(--ink-soft);text-transform:capitalize}.ht-name{display:flex;align-items:center;justify-content:space-between;gap:14px}.ht-name-inner{color:var(--ink);line-height:1.35}.ht-today-pill{position:relative;z-index:1;display:inline-flex;align-items:center;flex-shrink:0;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--paper);background:var(--red);padding:6px 11px;border-radius:999px;box-shadow:0 2px 10px rgba(192,42,66,.22)}.ht-moved{color:var(--ink-soft);font-size:12.5px}.cta-row{margin-top:28px}.yearnav{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.yearnav a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:11px 16px;font-size:14px;text-decoration:none;transition:transform .2s ease,border-color .2s ease}.yearnav a:hover{transform:translateY(-2px);border-color:var(--line-strong)}.yearnav a b{font-family:var(--display);font-weight:700}.muted{font-size:13px;color:var(--ink-soft);line-height:1.6;margin-top:30px}.muted a{text-decoration:underline;text-underline-offset:2px}.site-footer{border-top:1px solid var(--line);padding:30px 22px 44px}.site-footer .inner{max-width:760px;margin:0 auto}.site-footer h4{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:12px}.year-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.year-links a{font-family:var(--mono);font-size:13px;border:1px solid var(--line);border-radius:9px;padding:6px 11px;text-decoration:none;color:var(--ink);transition:background .2s ease}.year-links a:hover{background:#00000008}.year-links a.is-active{background:var(--red-soft);border-color:var(--red-line);color:var(--red);font-weight:600}.site-footer p{font-size:12.5px;color:var(--ink-soft);line-height:1.6}.footer-credit{margin-top:20px}.footer-credit a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}html.modal-open,html.modal-open body{overflow:hidden;overscroll-behavior:none}.overlay{position:fixed;inset:0;z-index:9999;background:var(--paper);overflow-y:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch;min-height:100dvh;isolation:isolate}.ov-head{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--paper);justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line);gap:16px}.ov-head,.year-stepper{display:flex;align-items:center}.year-stepper{gap:8px}.year-stepper button{font-family:var(--body);font-size:20px;line-height:1;color:var(--ink);background:none;border:1px solid var(--line);cursor:pointer;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .15s ease}.year-stepper button:hover{background:#00000008}.year-stepper button:active{transform:scale(.94)}.year-stepper .yv{font-family:var(--display);font-weight:700;font-size:1.7rem;letter-spacing:-.02em;min-width:4.4ch;text-align:center}.ov-meta{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase}.ov-close{background:none;border:1px solid var(--line);cursor:pointer;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .2s ease}.ov-close:hover{background:#00000008}.ov-legend{max-width:1180px;margin:0 auto;padding:16px 22px 0;display:flex;flex-wrap:wrap;gap:18px;font-size:12.5px;color:var(--ink-soft)}.ov-legend span{display:inline-flex;align-items:center;gap:7px}.lg-red{border-radius:4px;background:var(--red)}.lg-gold,.lg-red{width:13px;height:13px}.lg-gold{border-radius:50%;background:var(--gold)}.lg-band{width:18px;height:13px;border-radius:4px;background:var(--gold-soft);border:1px solid color-mix(in srgb,var(--gold) 35%,var(--card))}.months{max-width:1180px;margin:0 auto;padding:22px 22px 64px;display:grid;grid-template-columns:1fr;grid-gap:30px;gap:30px}.month h4{font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;margin-bottom:12px;text-transform:capitalize}.dow{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;margin-bottom:6px}.dow span{font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--ink-soft);text-align:center;text-transform:uppercase}.days{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;border-radius:9px;color:var(--ink);position:relative;transition:background .2s ease,color .2s ease,transform .15s ease}.cell.empty{visibility:hidden}.cell.celebra{background:var(--gold-soft)}.cell.today{box-shadow:inset 0 0 0 1.5px var(--ink);font-weight:600}.cell.special{cursor:pointer}.cell.special:after{content:"";position:absolute;bottom:5px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--gold)}.cell.special:hover{transform:scale(1.08)}.cell.holiday{background:var(--red);color:#fff;font-weight:600;cursor:pointer}.cell.holiday.today{box-shadow:inset 0 0 0 2px var(--ink)}.cell.holiday:hover{transform:scale(1.08)}.cell.holiday:after{display:none}.cell.holiday:focus-visible,.cell.special:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.cell.holiday[data-active],.cell.special[data-active]{outline:2px solid var(--ink);outline-offset:2px;transform:scale(1.06);z-index:1}.date-popover{position:fixed;z-index:10001;max-width:min(280px,calc(100vw - 28px));background:var(--ink);color:var(--paper);padding:14px 40px 12px 16px;border-radius:14px;font-size:13px;line-height:1.45;pointer-events:auto;box-shadow:0 16px 40px rgba(0,0,0,.22)}.date-popover strong{font-family:var(--display);font-weight:700;display:block;margin-bottom:4px;font-size:14px;padding-right:4px}.date-popover p{margin:0}.date-popover em{font-style:normal;color:var(--ink-faint);font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;display:block;margin-top:8px}.date-popover-close{position:absolute;top:10px;right:10px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--ink-faint);cursor:pointer;transition:background .2s ease,color .2s ease}.date-popover-close:hover{background:#ffffff14;color:var(--paper)}.date-popover-arrow{position:absolute;width:12px;height:12px;background:var(--ink);transform:translateX(-50%) rotate(45deg);pointer-events:none}.date-popover-arrow[data-placement=above]{bottom:-6px}.date-popover-arrow[data-placement=below]{top:-6px}@media(max-width:899px){.overlay{scroll-padding-top:140px}.month{scroll-margin-top:140px}.hero-section{min-height:auto;padding:32px 22px 40px;align-items:stretch}.daywrap{min-height:clamp(5rem,22vw,9rem)}.upcoming{margin-top:28px}}@media(min-width:900px){.hero-section{padding:40px 32px}.hero{max-width:1100px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);grid-gap:48px 56px;gap:48px 56px}.hero,.hero-date{align-items:center}.hero-date{text-align:center}.daywrap{min-height:clamp(5rem,18vw,12rem)}.day-number{font-size:clamp(6rem,14vw,11rem)}.status{margin:26px auto 0}.cta{margin-top:26px}.upcoming{margin:0;max-width:none;align-self:center}.countdown{width:auto;margin-left:0;padding:0 0 20px;text-align:left}.countdown-label{margin-bottom:12px}.countdown-units{justify-content:flex-start;gap:6px;width:auto}.countdown-unit{flex:0 0 auto;min-width:44px;max-width:none}.countdown-unit span{font-size:1.65rem}.countdown-unit small{font-size:9.5px;margin-top:5px}.countdown-sep{font-size:1.35rem;padding-bottom:18px}.live-clock{margin-top:16px}.live-clock-face{min-width:14.5rem;padding:10px 16px}.live-clock-units .countdown-unit span{font-size:1.65rem}.live-clock-ampm span{font-size:1.1rem!important}.months{grid-template-columns:repeat(3,1fr);gap:34px 30px}}@media(min-width:1300px){.months{grid-template-columns:repeat(4,1fr)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(prefers-reduced-motion:no-preference){.holiday-table-body .holiday-table-row,.yearnav a,[data-reveal]{opacity:0}}