:root{--ink:#1b1e19;--paper:#fffaf0;--white:#fff;--muted:#62665f;--line:#cfcec6;--yellow:#ffd84d;--lime:#c9f45a;--blue:#275be8;--soft-blue:#e6edff;--red:#d9523e;--soft-red:#ffe2dc;--green:#17765c;--soft-green:#dff2e8;--navy:#183453;--shadow:8px 9px 0 var(--ink)}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}.shell{width:min(1120px,calc(100% - 36px));margin:0 auto}button,select{font:inherit}button,a{touch-action:manipulation}.nav{display:flex;align-items:center;justify-content:center;gap:30px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:19px;font-weight:950;letter-spacing:-.03em;text-decoration:none}.nav-links{display:flex;align-items:center;gap:22px}.nav-links a{color:var(--ink);font-size:14px;font-weight:850;text-decoration:none}
.hero{padding:68px 0 35px;text-align:center}.tool-stamp{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:2px solid var(--ink);border-radius:999px;background:var(--lime);font-size:12px;font-weight:950;letter-spacing:.1em;text-transform:uppercase;transform:rotate(-1deg)}.tool-stamp i{width:9px;height:9px;border-radius:50%;background:var(--green)}.hero h1{max-width:980px;margin:24px auto 20px;font-size:clamp(58px,9vw,99px);line-height:.89;letter-spacing:-.078em}.hero h1 em{position:relative;color:var(--blue);font-family:Georgia,"Times New Roman",serif;font-weight:400;white-space:nowrap}.hero h1 em::after{content:"";position:absolute;right:-2%;bottom:-6px;left:0;z-index:-1;height:10px;border-radius:50%;background:var(--yellow);transform:rotate(-1deg)}.dek{max-width:770px;margin:0 auto;color:var(--muted);font-size:clamp(18px,2vw,21px)}.maker-note{display:flex;max-width:860px;margin:30px auto 0;align-items:center;padding:17px 21px;border:2px dashed var(--ink);border-radius:18px;background:#fff;text-align:left}.maker-face{display:grid;width:57px;height:53px;flex:0 0 57px;margin-right:17px;place-items:center;border:2px solid var(--ink);border-radius:52% 48% 45% 55%;background:var(--yellow);box-shadow:3px 3px 0 var(--ink);font-family:Georgia,serif;font-size:18px;font-weight:900;transform:rotate(-6deg)}.maker-note strong{display:block}.maker-note p{margin:3px 0 0;color:var(--muted)}
.countdown-section{padding:20px 0 76px}.countdown-card{position:relative;overflow:hidden;padding:34px;border:2px solid var(--ink);border-radius:28px;background:var(--navy);box-shadow:var(--shadow);color:#fff}.countdown-card::before{content:"";position:absolute;top:-70px;right:-60px;width:230px;height:230px;border:2px solid rgba(255,255,255,.28);border-radius:50%;box-shadow:inset 0 0 0 22px rgba(255,216,77,.09)}.countdown-copy{position:relative;text-align:center}.eyebrow{font-size:11px;font-weight:950;letter-spacing:.15em;text-transform:uppercase;color:#d8e1ee}.countdown-copy h2{margin:7px 0 3px;font-size:clamp(34px,5.2vw,58px);line-height:.98;letter-spacing:-.055em}.countdown-copy p{margin:0;color:#c9d4df}.countdown-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);max-width:820px;margin:28px auto 22px;gap:11px}.countdown-grid div{display:flex;min-width:0;min-height:112px;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--ink);border-radius:18px;background:#fff;color:var(--ink);box-shadow:4px 4px 0 var(--yellow)}.countdown-grid strong{font-variant-numeric:tabular-nums;font-size:clamp(31px,5vw,53px);line-height:1;letter-spacing:-.05em}.countdown-grid span{margin-top:7px;color:var(--muted);font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.countdown-actions{position:relative;display:flex;justify-content:center;gap:10px}.countdown-actions button,.holiday-detail button{min-height:44px;padding:9px 15px;border:2px solid var(--ink);border-radius:999px;background:var(--yellow);color:var(--ink);font-size:12px;font-weight:950;cursor:pointer}.countdown-actions .quiet-button{background:#fff}.time-note{position:relative;margin:15px 0 0;color:#c9d4df;font-size:11px;text-align:center}.big-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:25px}.big-two-card{position:relative;overflow:hidden;padding:23px 25px;border:2px solid var(--ink);border-radius:22px;background:#fff;box-shadow:6px 7px 0 var(--ink)}.big-two-card::after{content:"";position:absolute;right:-22px;bottom:-35px;width:120px;height:120px;border:16px solid rgba(27,30,25,.09);border-radius:50%}.big-two-card>span{font-size:10px;font-weight:950;letter-spacing:.14em}.big-two-card h3{margin:5px 0 2px;font-size:28px;letter-spacing:-.045em}.big-two-card p{margin:0;color:var(--muted);font-size:13px}.big-two-card strong{display:block;margin-top:13px;font-size:17px}.thanksgiving-card{background:var(--soft-red);transform:rotate(-.3deg)}.christmas-card{background:var(--soft-green);transform:rotate(.3deg)}
.calendar-band{padding:76px 0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:#fff}.calendar-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:27px}.kicker{font-size:11px;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.calendar-heading h2,.details-section h2,.faq-section h2,.sources-section h2{margin:6px 0 0;font-size:clamp(40px,6vw,65px);line-height:.94;letter-spacing:-.058em}.calendar-heading p{max-width:470px;margin:0;color:var(--muted);text-align:right}.calendar-app{overflow:hidden;border:2px solid var(--ink);border-radius:27px;background:var(--paper);box-shadow:var(--shadow)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:2px solid var(--ink);background:var(--yellow)}.month-nav{display:flex;align-items:center;gap:16px}.month-nav button,.toolbar-actions button{display:grid;width:43px;height:41px;place-items:center;border:2px solid var(--ink);border-radius:50%;background:#fff;font-weight:950;cursor:pointer}.month-nav>div{min-width:180px;text-align:center}.month-nav span{display:block;font-size:10px;font-weight:950;letter-spacing:.12em}.month-nav h3{margin:-1px 0 0;font-size:27px;letter-spacing:-.04em}.toolbar-actions{display:flex;align-items:center;gap:9px}.toolbar-actions button{width:auto;padding:0 14px;border-radius:999px}.toolbar-actions label{font-size:11px;font-weight:950;text-transform:uppercase}.toolbar-actions select{min-height:41px;padding:0 29px 0 12px;border:2px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);font-weight:900}.month-strip{display:grid;grid-template-columns:repeat(12,1fr);border-bottom:2px solid var(--ink);background:#fff}.month-strip button{min-width:0;padding:13px 4px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--muted);font-size:10px;font-weight:950;text-transform:uppercase;cursor:pointer}.month-strip button:last-child{border-right:0}.month-strip button.is-active{background:var(--navy);color:#fff}.filter-row{display:flex;justify-content:center;gap:8px;padding:14px;border-bottom:1.5px solid var(--ink);background:#fff}.filter{padding:8px 13px;border:1.5px solid var(--ink);border-radius:999px;background:#fff;font-size:11px;font-weight:900;cursor:pointer}.filter.is-active{background:var(--ink);color:#fff}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr)}.month-calendar{padding:20px;border-right:2px solid var(--ink);background:#fff}.weekday-row,.day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday-row span{padding:5px 0 9px;color:var(--muted);font-size:10px;font-weight:950;text-align:center;text-transform:uppercase}.day-cell{position:relative;min-height:105px;padding:8px;border:1.5px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.day-cell.is-outside{background:#f3f1eb;color:#a4a39e}.day-cell.is-today{border:3px solid var(--ink);padding:6px}.day-number{display:inline-grid;width:25px;height:24px;place-items:center;border-radius:50%;font-size:11px;font-weight:900}.day-cell.is-today .day-number{background:var(--ink);color:#fff}.holiday-chip{display:block;width:100%;margin-top:4px;padding:5px 6px;border:1px solid var(--ink);border-radius:7px;color:var(--ink);font-size:9px;font-weight:900;line-height:1.18;text-align:left;cursor:pointer;overflow-wrap:anywhere}.holiday-chip.federal{background:var(--soft-blue)}.holiday-chip.popular{background:var(--soft-red)}.holiday-chip.observed{border-style:dashed;background:var(--soft-green)}.holiday-chip:hover{transform:translateY(-1px)}.more-label{display:block;margin-top:4px;color:var(--muted);font-size:8px;font-weight:850}.holiday-detail{padding:28px;background:linear-gradient(155deg,#fff 0 67%,var(--soft-green) 67% 100%)}.detail-type{display:inline-block;padding:5px 8px;border:1.5px solid var(--ink);border-radius:999px;background:var(--yellow);font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.holiday-detail h3{margin:14px 0 5px;font-size:31px;line-height:1;letter-spacing:-.05em}.detail-date{margin:0 0 16px;color:var(--blue);font-weight:900}.holiday-detail>p:not(.detail-date){color:var(--muted)}.detail-observed{margin:16px 0;padding:12px;border:1.5px dashed var(--ink);border-radius:12px;background:#fff;font-size:12px}.holiday-detail button{margin-top:11px}.holiday-detail button:disabled{cursor:not-allowed;opacity:.42}.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:17px;padding:16px;border-top:1.5px solid var(--ink);background:#fff}.legend span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:850}.legend i{width:15px;height:15px;border:1px solid var(--ink);border-radius:4px}.federal-key{background:var(--soft-blue)}.popular-key{background:var(--soft-red)}.observed-key{border-style:dashed!important;background:var(--soft-green)}.today-key{background:var(--ink)}
.details-section{padding:77px 0;text-align:center}.details-section h2{max-width:900px;margin:8px auto 30px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.info-grid article{padding:27px;border:2px solid var(--ink);border-radius:22px;background:#fff}.info-grid article:nth-child(2){background:var(--soft-blue);transform:rotate(-.25deg)}.info-grid article:nth-child(3){background:var(--soft-green);transform:rotate(.25deg)}.info-grid article>span{display:grid;width:35px;height:33px;margin:0 auto 13px;place-items:center;border:1.5px solid var(--ink);border-radius:50%;background:#fff;font-size:10px;font-weight:950}.info-grid h3{margin:0 0 7px;font-size:20px}.info-grid p{margin:0;color:#50554e}.faq-section{padding:4px 0 82px;text-align:center}.faq-section h2{margin:8px auto 30px}.faq-list{display:grid;max-width:880px;margin:auto;gap:10px;text-align:left}.faq-list details{padding:17px 19px;border:2px solid var(--ink);border-radius:17px;background:#fff}.faq-list summary{cursor:pointer;font-weight:950}.faq-list p{margin:9px 0 0;color:var(--muted)}.sources-section{padding:67px 0;border-top:2px solid var(--ink);background:var(--soft-blue);text-align:center}.sources-section h2{margin:7px auto 17px}.sources-section p{max-width:850px;margin:0 auto 13px;color:#444b45}.sources-section a{color:var(--ink);font-weight:900;text-underline-offset:3px}.sources-section small{color:var(--muted)}
:focus-visible{outline:4px solid rgba(39,91,232,.32);outline-offset:3px}@media(max-width:900px){.calendar-heading{align-items:flex-start;flex-direction:column}.calendar-heading p{text-align:left}.calendar-layout{grid-template-columns:1fr}.month-calendar{border-right:0;border-bottom:2px solid var(--ink)}.month-strip{grid-template-columns:repeat(6,1fr)}.month-strip button:nth-child(6){border-right:0}.month-strip button:nth-child(-n+6){border-bottom:1px solid var(--line)}.day-cell{min-height:91px}.hero h1{font-size:72px}}
@media(max-width:640px){.shell{width:min(100% - 24px,1120px)}.nav-links a:not(.nav-pill){display:none}.hero{padding:49px 0 32px}.hero h1{font-size:50px}.dek{font-size:17px}.maker-note{align-items:flex-start;padding:16px}.maker-face{width:50px;height:47px;flex-basis:50px;margin-right:13px}.countdown-card{padding:23px 15px;border-radius:22px;box-shadow:6px 7px 0 var(--ink)}.countdown-grid{grid-template-columns:repeat(2,1fr)}.countdown-grid div{min-height:91px}.countdown-actions{flex-direction:column}.countdown-actions button{width:100%}.big-two{grid-template-columns:1fr}.calendar-band{padding:54px 0}.calendar-toolbar{align-items:stretch;flex-direction:column;gap:14px}.month-nav{justify-content:space-between}.month-nav>div{min-width:0}.toolbar-actions{justify-content:center}.month-strip{overflow-x:auto;grid-template-columns:repeat(12,74px);justify-content:flex-start}.month-strip button:nth-child(n){border-right:1px solid var(--line);border-bottom:0}.filter-row{justify-content:flex-start;overflow-x:auto}.filter{white-space:nowrap}.month-calendar{padding:10px}.weekday-row,.day-grid{gap:3px}.weekday-row span{font-size:8px}.day-cell{min-height:74px;padding:4px;border-radius:8px}.day-cell.is-today{padding:2px}.holiday-chip{padding:4px 3px;font-size:7.5px}.day-number{width:21px;height:20px;font-size:9px}.holiday-detail{padding:22px}.info-grid{grid-template-columns:1fr}.legend{justify-content:flex-start}.sources-section p:last-of-type{display:flex;flex-direction:column;gap:7px}}
@media(max-width:390px){.hero h1{font-size:45px}.tool-stamp{font-size:10px}.countdown-grid strong{font-size:36px}.day-cell{min-height:68px}.holiday-chip{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.big-two-card{padding:20px}.calendar-heading h2,.details-section h2,.faq-section h2,.sources-section h2{font-size:38px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.filter-row{border-bottom:0}.memory-note{margin:0;padding:10px 16px;border-top:1px solid var(--line);border-bottom:1.5px solid var(--ink);background:var(--soft-green);color:var(--muted);font-size:10px;text-align:center}.memory-note strong{color:var(--ink)}.month-strip{scrollbar-width:none}.month-strip::-webkit-scrollbar{display:none}
