:root{color-scheme:light dark;--color-text:light-dark(#292827, #f2eee9);--color-text-secondary:light-dark(#55514e, #d9d6d2);--color-text-muted:light-dark(#6f6863, #c3c1bd);--color-text-accent:light-dark(#960018, #ff9aa7);--color-text-moved-day:light-dark(#285a3f, #b4ebcb);--color-text-moved-workday:light-dark(#6b4d12, #f3d59e);--color-on-accent:#fff;--color-page:light-dark(#f8f7f3, #191b1e);--color-card:light-dark(#fff, #23262a);--color-muted-surface:light-dark(#eeeae5, #2b2f33);--color-footer:light-dark(#f2efeb, #1e2124);--color-weekend:light-dark(#ebe6df, #30363b);--color-weekend-text:light-dark(#4f4945, #d6d2cc);--color-weekend-hatch:light-dark(rgb(0 0 0 / 7%), rgb(255 255 255 / 7%));--color-holiday:light-dark(#f8dde1, #4a1822);--color-holiday-text:light-dark(#7a0013, #ffc6cd);--color-holiday-bar:light-dark(#960018, #ff8595);--color-moved-day:light-dark(#dcefe4, #1f3a2d);--color-moved-workday:light-dark(#fff, #23262a);--color-extra-day:light-dark(#dde9f6, #1c3045);--color-text-extra-day:light-dark(#1f4a74, #bcd9f5);--color-border-extra-day:light-dark(#2f6aa3, #86b8e6);--color-border-day:light-dark(#cfc8bf, #5a6268);--color-text-outside:light-dark(#665f5a, #c3c1bd);--color-accent-fill:light-dark(#960018, #e00024);--color-accent-hover:light-dark(#7a0013, #c2001f);--color-switch-off:light-dark(#716a64, #aeb5b7);--color-switch-on:light-dark(#960018, #ff8595);--color-switch-thumb:light-dark(#fff, #191b1e);--color-border:light-dark(#dedbd5, #545a5e);--color-border-soft:light-dark(#e4dfd9, #41484d);--color-border-control:light-dark(#8a837d, #8f989e);--color-border-holiday:light-dark(#efc3ca, #a3485a);--color-border-moved-day:light-dark(#3d7a57, #7fcaa0);--color-border-moved-workday:light-dark(#9a6b12, #e0b765);--color-scrollbar:light-dark(#c5bcb5, #6c7479);--color-focus:light-dark(#960018, #ffb3bd);font-family:Inter,helvetica neue,Arial,sans-serif;color:var(--color-text);background:var(--color-page);font-synthesis:none}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}a:hover{color:var(--color-text-accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.holiday-list:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.shell{width:min(100% - 64px,1220px);margin-inline:auto}.skip-link{position:absolute;top:-60px;left:12px;background:var(--color-text);color:var(--color-card);padding:10px;z-index:10}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--color-border);background:var(--color-page)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-size:18px;font-weight:750;letter-spacing:-.05em;white-space:nowrap}.brand-logo{width:44px;height:44px;flex:none}.accent{color:var(--color-text-accent)}.site-header nav{display:flex;gap:34px}.site-header nav a{text-decoration:none;font-size:13px;font-weight:550;color:var(--color-text-secondary)}.language-switch{display:flex;flex:none;padding:2px;border:1px solid var(--color-border-control);border-radius:3px}.language-switch button,.language-switch a{min-width:34px;height:28px;border:0;background:0 0;color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.08em}.language-switch a{display:grid;place-items:center;text-decoration:none}.language-switch button[aria-pressed=true],.language-switch a[aria-current=page]{background:var(--color-accent-fill);color:var(--color-on-accent)}.header-actions{display:flex;align-items:center;gap:8px}.theme-toggle{width:34px;height:34px;border:1px solid var(--color-border-control);border-radius:3px;background:var(--color-card);color:var(--color-text);font-size:19px;line-height:1}.header-context{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--color-text-muted)}.header-context span{font-size:16px}.intro{min-height:316px;padding-top:78px;padding-bottom:62px;display:flex;justify-content:space-between;align-items:center;gap:30px}.eyebrow{margin:0 0 18px;font-size:10px;font-weight:750;letter-spacing:.19em;color:var(--color-text-accent)}.tiny-square{display:inline-block;width:7px;height:7px;margin-right:7px;background:var(--color-text-accent)}.intro h1{margin:0;font-family:Georgia,times new roman,serif;font-size:clamp(42px,5.4vw,75px);font-weight:400;line-height:1.07;letter-spacing:-.055em}.intro h1 em{font-weight:400;color:var(--color-text-accent)}.intro-copy{margin:24px 0 0;color:var(--color-text-muted);font-size:15px;line-height:1.7}.intro-stamp{flex:none;width:105px;height:105px;border:1px solid var(--color-border-control);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(13deg);color:var(--color-text-accent)}.intro-stamp span:first-child{font-family:Georgia,serif;font-size:38px;line-height:1}.intro-stamp span:last-child{font-size:9px;letter-spacing:.18em}.calendar-section,.tools-section,.entitlement-section{scroll-margin-top:24px}.section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 30px;margin-bottom:24px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{margin:0;font-family:Georgia,times new roman,serif;font-size:clamp(30px,3vw,44px);font-weight:400;letter-spacing:-.045em}.year-control{display:flex;align-items:center;gap:16px;font-size:12px;font-weight:650}.year-control select{min-width:112px;padding:12px 32px 12px 14px;border:1px solid var(--color-border-control);border-radius:3px;background:var(--color-card);color:var(--color-text)}.calendar-meta{min-height:66px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 22px;background:var(--color-muted-surface);border:1px solid var(--color-border-soft)}.switch-row{display:flex;align-items:center;gap:13px;cursor:pointer}.switch-row input{appearance:none;width:35px;height:20px;margin:0;border-radius:15px;background:var(--color-switch-off);position:relative;flex:none}.switch-row input:after{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:var(--color-switch-thumb);transition:transform .2s}.switch-row input:checked{background:var(--color-switch-on)}.switch-row input:checked:after{transform:translateX(15px)}.switch-row input:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.switch-row input:disabled{opacity:.55}.switch-row strong{display:block;font-size:12px;font-weight:700}.switch-row small{display:block;margin-top:3px;color:var(--color-text-muted);font-size:11px}.transfer-note{font-size:11px;color:var(--color-text-muted)}.status{min-height:22px;margin:7px 0;color:var(--color-text-accent);font-size:12px}.status:empty{min-height:22px}.stat-note{white-space:pre-line;font-size:11px;color:var(--color-text-muted)}.stat-note:empty{display:none}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--color-border);background:var(--color-card)}.stat{padding:23px 28px;display:flex;flex-direction:column;gap:5px;border-right:1px solid var(--color-border-soft)}.stat:last-child{border-right:0}.stat strong{font-family:Georgia,serif;font-size:31px;font-weight:400;letter-spacing:-.04em}.stat span{font-size:11px;color:var(--color-text-muted)}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.65fr)minmax(290px,.82fr);gap:20px;margin-top:20px}.calendar-card,.holiday-panel,.tool-card,.results-card,.entitlement-result{background:var(--color-card);border:1px solid var(--color-border)}.calendar-card{padding:30px 34px 22px}.month-heading,.results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.month-heading .eyebrow,.panel-heading .eyebrow,.results-heading .eyebrow{margin-bottom:8px}.month-heading h3,.panel-heading h3,.results-heading h3{font-family:Georgia,serif;font-size:28px;letter-spacing:-.04em;font-weight:400;margin:0}.month-actions{display:flex;gap:6px}.month-actions button{width:35px;height:35px;border:1px solid var(--color-border-control);background:var(--color-card);font-size:16px;color:var(--color-text-secondary)}.month-actions button:hover:not(:disabled){border-color:var(--color-text-accent);color:var(--color-text-accent)}.month-actions button:disabled{opacity:.35;cursor:not-allowed}.weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{margin-top:29px;margin-bottom:9px}.weekdays span{text-align:center;color:var(--color-text-muted);font-size:10px;font-weight:700;letter-spacing:.07em}.month-grid{gap:5px}.day{min-height:60px;padding:7px 8px;border:1px solid var(--color-border-day);background:var(--color-card);position:relative;font-size:12px;color:var(--color-text)}.day.empty{border-color:transparent}.day.weekend,.key.weekend-key{background:repeating-linear-gradient( 135deg,transparent 0 7px,var(--color-weekend-hatch) 7px 8px ),var(--color-weekend);color:var(--color-weekend-text)}.day.holiday,.key.holiday-key{background:var(--color-holiday);border-color:var(--color-border-holiday);color:var(--color-holiday-text);box-shadow:inset 0 4px 0 var(--color-holiday-bar)}.day.moved-day,.key.moved-key{background:var(--color-moved-day);border:2px dashed var(--color-border-moved-day);color:var(--color-text-moved-day)}.day.moved-workday,.key.moved-work-key{background:var(--color-moved-workday);border:2px dashed var(--color-border-moved-workday);color:var(--color-text-moved-workday)}.day.extra-day,.key.extra-key{background:var(--color-extra-day);border:2px dotted var(--color-border-extra-day);color:var(--color-text-extra-day)}.day.outside{color:var(--color-text-outside)}.day.today:before{content:"";position:absolute;inset:3px;border:2px solid;pointer-events:none}.day[title]{cursor:pointer}.day[title]:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.day-detail{margin:14px 0 0;font-size:13px;font-weight:600;color:var(--color-text)}.day-detail:empty{display:none}.day-label{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;hyphens:auto;font-size:10px;font-weight:600;margin-top:5px;line-height:1.2}.legend{display:flex;flex-wrap:wrap;gap:9px 20px;padding-top:22px;margin-top:22px;border-top:1px solid var(--color-border-soft);color:var(--color-text-secondary);font-size:11px}.legend span{display:flex;align-items:center;gap:7px}.key{display:inline-block;width:16px;height:16px;border:1px solid var(--color-border-day)}.holiday-panel{display:flex;flex-direction:column;min-height:470px;padding:30px 28px 20px}.holiday-list{list-style:none;padding:0;margin:22px 0 0;max-height:435px;overflow:auto;scrollbar-color:var(--color-scrollbar)transparent}.holiday-list li{display:grid;grid-template-columns:54px 1fr;gap:13px;padding:12px 0;border-bottom:1px solid var(--color-border-soft)}.holiday-list time{font-size:11px;font-weight:700;color:var(--color-text-accent)}.holiday-list strong{display:block;font-size:12px;font-weight:650;line-height:1.35}.extra-days{margin-top:18px;padding-top:16px;border-top:1px solid var(--color-border-soft)}.extra-days h4{margin:0 0 4px;font-size:13px;font-weight:700}.extra-days-note{margin:0 0 10px;font-size:11px;line-height:1.5;color:var(--color-text-muted)}.extra-days-form{display:flex;gap:6px}.extra-days-form input{flex:1;min-width:0;padding:8px;border:1px solid var(--color-border-control);border-radius:2px;background:var(--color-card);color:var(--color-text);font:inherit;font-size:12px}.extra-days-form button{padding:0 12px;border:1px solid var(--color-accent-fill);background:var(--color-accent-fill);color:var(--color-on-accent);font-size:12px;font-weight:700}.extra-days-list{list-style:none;padding:0;margin:8px 0 0}.extra-days-list li{display:flex;justify-content:space-between;align-items:center;padding:2px 0;border-bottom:1px solid var(--color-border-soft);font-size:12px}.extra-days-list button{width:28px;height:28px;border:0;background:0 0;color:var(--color-text-muted);font-size:18px}.extra-days-list button:hover{color:var(--color-text-accent)}.panel-foot{font-size:10px;line-height:1.5;color:var(--color-text-muted);margin:auto 0 0;padding-top:18px}.calendar-caveat{font-size:11px;color:var(--color-text-muted);margin:15px 0 0}.tools-section,.entitlement-section{padding-top:94px}.section-aside{flex-basis:100%;margin:0;color:var(--color-text-muted);font-size:14px;line-height:1.6}.tool-layout{display:grid;grid-template-columns:minmax(0,.95fr)minmax(0,1.05fr);gap:20px}.tool-card{padding:31px 34px}.tool-card h3{font-family:Georgia,serif;font-size:26px;font-weight:400;letter-spacing:-.03em;margin:0 0 8px}.tool-card>p:not(.form-status){font-size:12px;color:var(--color-text-muted);margin:0 0 25px;line-height:1.55}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.form-grid label{font-size:11px;font-weight:700;display:block}.form-grid input,.form-grid textarea{display:block;width:100%;margin-top:8px;padding:12px 11px;border:1px solid var(--color-border-control);border-radius:2px;background:var(--color-card);color:var(--color-text);min-height:43px}.form-grid textarea{resize:vertical;font:inherit;line-height:1.5}.form-grid small{display:block;color:var(--color-text-muted);font-weight:400;line-height:1.4;margin-top:7px;font-size:10px}.under-18-switch{margin-top:22px}.birth-date-field{margin-top:16px}.birth-date-field[hidden]{display:none}.primary-button{width:100%;margin-top:26px;min-height:45px;border:1px solid var(--color-accent-fill);background:var(--color-accent-fill);color:var(--color-on-accent);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700}.primary-button:hover{background:var(--color-accent-hover)}.primary-button:disabled{opacity:.7;cursor:wait}.primary-button span{font-size:16px;font-weight:400}.form-status{min-height:17px;margin:8px 0 0;color:var(--color-text-accent);font-size:11px}.results-card{padding:29px 33px}.count-badge{border:1px solid var(--color-border-holiday);color:var(--color-text-accent);padding:6px 11px;border-radius:20px;font-size:11px}.results-empty{padding:55px 25px;color:var(--color-text-muted);font-family:Georgia,serif;font-size:18px;line-height:1.5;text-align:center}.opportunity{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:19px 0;border-bottom:1px solid var(--color-border-soft)}.opportunity:last-child{border-bottom:0}.opportunity-index{color:var(--color-text-muted);font-family:Georgia,serif;font-size:23px}.opportunity-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.opportunity h4{margin:0;font-size:14px;font-weight:650}.opportunity strong{color:var(--color-text-accent);font-family:Georgia,serif;font-size:20px;font-weight:400;white-space:nowrap}.opportunity p{margin:8px 0 0;font-size:11px;color:var(--color-text-muted);line-height:1.5}.entitlement-section{padding-bottom:105px}.contact-section{scroll-margin-top:24px;padding-bottom:105px}.contact-form{max-width:720px}.contact-form .form-grid{grid-template-columns:1fr}.tool-card>p.contact-note{margin:18px 0 0;font-size:11px;color:var(--color-text-muted)}.entitlement-result{background:var(--color-muted-surface);border-color:var(--color-border-soft);padding:34px 38px;display:flex;flex-direction:column;min-height:310px}.estimate-number{font-family:Georgia,serif;font-size:clamp(68px,8vw,112px);letter-spacing:-.075em;line-height:1;color:var(--color-text-accent);margin-top:13px}.estimate-unit{margin:8px 0 0;font-size:13px;font-weight:650}.estimate-workdays{margin:4px 0 0;font-size:12px;color:var(--color-text-muted)}.estimate-detail{color:var(--color-text-muted);font-size:12px;line-height:1.6;max-width:420px}.rule-note{margin-top:auto;border-top:1px solid var(--color-border-soft);padding-top:20px;display:flex;gap:14px;align-items:start;font-size:10px;color:var(--color-text-muted);line-height:1.55}.rule-note-icon{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;color:var(--color-text-accent)}.site-footer{border-top:1px solid var(--color-border);padding:30px 0 40px;background:var(--color-footer)}.footer-inner{display:flex;align-items:start;justify-content:space-between;gap:24px}.footer-inner strong{font-family:Georgia,serif;font-size:25px;font-weight:400}.footer-inner p{font-size:11px;color:var(--color-text-muted)}.footer-links{display:flex;flex-wrap:wrap;gap:22px}.footer-links a{font-size:11px;text-decoration:none;border-bottom:1px solid var(--color-border-control);padding-bottom:3px}.footer-inner>span{font-size:10px;letter-spacing:.13em;color:var(--color-text-muted)}.policy{max-width:720px;padding:56px 0 72px}.policy article+article{margin-top:64px;padding-top:48px;border-top:1px solid var(--color-border)}.policy h1{margin:0;font-family:Georgia,times new roman,serif;font-size:clamp(34px,4vw,52px);font-weight:400;letter-spacing:-.045em}.policy h2{margin:32px 0 8px;font-size:15px;font-weight:700}.policy p{margin:0;font-size:14px;line-height:1.7;color:var(--color-text-secondary)}.policy .policy-date{margin-top:12px;font-size:12px;color:var(--color-text-muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.header-context{display:none}.site-header nav{gap:16px}.calendar-layout,.tool-layout{grid-template-columns:1fr}.holiday-panel{min-height:0}.holiday-list{max-height:270px}.intro{min-height:0}.stat{padding:20px}}@media(max-width:800px){.header-inner{height:auto;min-height:68px;flex-wrap:wrap;padding:13px 0;gap:14px}.brand{order:1}.header-actions{order:2;margin-left:auto}.site-header nav{order:3;width:100%;gap:18px;overflow-x:auto}.site-header nav a{white-space:nowrap}}@media(max-width:620px){.shell{width:min(100% - 32px,1220px)}.intro{padding:58px 0 45px}.intro h1{font-size:clamp(43px,10vw,62px)}.intro-stamp{display:none}.section-heading{align-items:start;flex-direction:column;gap:16px}.year-control{align-self:stretch;justify-content:space-between}.calendar-meta{align-items:start;flex-direction:column;padding:16px}.transfer-note{margin:0 0 0 49px}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--color-border-soft)}.calendar-card,.holiday-panel,.tool-card,.results-card,.entitlement-result{padding:22px 18px}.day{min-height:48px;padding:5px 3px;font-size:11px}.day-label{font-size:9px}.legend{gap:8px 12px}.tools-section,.entitlement-section{padding-top:70px}.entitlement-section,.contact-section{padding-bottom:70px}.form-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column}.footer-links{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.switch-row input:after{transition:none}}