:root{
  --bg:#f7f6f2;
  --paper:#fff;
  --surface:#fbfaf7;
  --ink:#17211c;
  --text:#27332d;
  --muted:#66736c;
  --faint:#8c968f;
  --line:#dde1dc;
  --line-strong:#c8cec8;
  --accent:#315b4c;
  --accent-strong:#183f32;
  --accent-soft:#edf3ef;
  --warm:#765f45;
  --radius:8px;
  --radius-lg:12px;
  --shadow:0 18px 50px rgba(20,35,28,.07);
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --serif:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.cae-body{margin:0;background:var(--bg);color:var(--text);font:15px/1.68 var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{color:var(--accent-strong);text-underline-offset:3px}
a:hover{color:#102d24}
img{display:block;max-width:100%}
button,input{font:inherit}
button{cursor:pointer}
.wrap{width:min(1160px,calc(100% - 44px));margin:0 auto}
.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;padding:10px 14px;background:#111;color:#fff;text-decoration:none;border-radius:4px}.skip-link:focus{top:12px}

.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(200,206,200,.8);background:rgba(247,246,242,.94);backdrop-filter:blur(14px)}
.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);font-weight:780;letter-spacing:-.025em;text-decoration:none;white-space:nowrap}.brand img{flex:0 0 36px}.brand span{font-size:16px}
.main-nav{display:flex;align-items:center;gap:4px}.main-nav a{padding:10px 12px;border-radius:6px;color:#46534c;font-size:13.5px;font-weight:690;text-decoration:none}.main-nav a:hover{background:#eeeee9;color:var(--ink)}
.nav-toggle{display:none;min-width:48px;min-height:42px;border:1px solid var(--line-strong);border-radius:6px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:750}

.content-wrap{padding:38px 0 86px}
.breadcrumbs{margin:0 0 18px;color:var(--muted);font-size:12px}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none}.breadcrumbs li{display:flex;align-items:center}.breadcrumbs li+li:before{content:"/";margin:0 8px;color:#a1aaa4}.breadcrumbs a{color:#556159;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}
.kicker{display:inline-block;margin-bottom:8px;color:var(--accent);font-size:10px;font-weight:820;letter-spacing:.115em;text-transform:uppercase}
h1,h2,h3{margin:0;color:var(--ink);line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(38px,5.7vw,68px);font-weight:760}h2{font-size:clamp(26px,3.2vw,36px);font-weight:740}h3{font-size:18px;font-weight:740}p{margin:0 0 16px}
.hero-lede{max-width:760px;margin-top:18px;color:#56635b;font-size:18px;line-height:1.65}.hero-answer{margin:19px 0 0;color:#34413a;font-size:18px}.hero-answer strong{color:var(--ink);font-size:1.15em}.subtle,.panel-note{color:var(--muted)}
.page-hero{max-width:900px;padding:26px 0 34px}.page-hero .notice{margin-top:20px}

.home-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.45fr);gap:54px;align-items:start;padding:44px 0 64px;border-bottom:1px solid var(--line-strong)}
.hero-copy h1{max-width:870px}.hero-copy .hero-lede{max-width:800px;font-size:19px}
.hero-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;max-width:820px}
.hero-tools form,.inline-time-tool{padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.hero-tools label,.inline-time-tool label,.calculator-card label{display:block;margin-bottom:7px;color:#4a574f;font-size:11px;font-weight:780;letter-spacing:.03em}
.hero-tools form>div,.inline-time-tool>div{display:grid;grid-template-columns:1fr auto;gap:8px}
input[type="date"],input[type="time"],input[type="search"],input[type="number"]{width:100%;min-height:45px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink);padding:0 12px;outline:none}
input:focus{border-color:#78978a;box-shadow:0 0 0 3px rgba(49,91,76,.11)}
button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 15px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;color:var(--ink);font-weight:740;text-decoration:none;white-space:nowrap}
button:hover,.button:hover{background:#f0f1ed}.button.primary,.hero-tools button,.inline-time-tool button,.calculator-card button,.directory-search button{border-color:var(--accent);background:var(--accent);color:#fff}.button.primary:hover,.hero-tools button:hover,.inline-time-tool button:hover,.calculator-card button:hover,.directory-search button:hover{background:var(--accent-strong)}
.hero-search-wrap{position:relative;max-width:820px;margin-top:12px}.event-search{position:relative}.event-search input{min-height:50px;padding-left:15px;background:#fcfcfa}
.search-results{position:absolute;left:0;right:0;top:56px;z-index:20;padding:6px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.search-results a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px;border-radius:5px;color:var(--ink);text-decoration:none}.search-results a:hover{background:var(--accent-soft)}.search-results span{color:var(--muted);font-size:12px}
.hero-index{border-top:1px solid var(--line-strong)}.hero-index>div{padding:19px 0;border-bottom:1px solid var(--line)}.hero-index span{display:block;color:var(--muted);font-size:11px;font-weight:700}.hero-index strong{display:block;margin:1px 0;color:var(--ink);font-family:var(--serif);font-size:34px;font-weight:500;letter-spacing:-.04em}.hero-index small{color:var(--faint);font-size:11px}

.section{margin-top:58px}.compact-section{margin-top:46px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}.section-head>div{min-width:0}.section-head>a{flex:0 0 auto;color:#4d5d54;font-size:12px;font-weight:720;text-decoration:none}.section-head>a:hover{text-decoration:underline}
.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-strong);border-left:1px solid var(--line)}.tool-card{min-height:240px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.55);color:var(--text);text-decoration:none;transition:background .15s}.tool-card:hover{background:#fff}.tool-index{display:block;margin-bottom:30px;color:#829087;font:600 13px/1 var(--serif)}.tool-card h3{font-size:22px}.tool-card p{margin:12px 0 25px;color:var(--muted);font-size:13.5px}.text-link{margin-top:auto;color:var(--accent-strong);font-size:12px;font-weight:760}
.event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.event-card{display:flex;min-height:150px;flex-direction:column;padding:17px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s}.event-card:hover{transform:translateY(-1px);border-color:#bfc8c1;box-shadow:0 9px 28px rgba(29,46,37,.05)}.event-card .card-kicker{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.event-card strong{margin:9px 0 auto;color:var(--ink);font-size:15.5px;line-height:1.4}.event-card .card-meta{margin-top:16px;padding-top:12px;border-top:1px solid #eceeea;color:var(--muted);font-size:11.5px}
.month-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.month-link{display:flex;min-height:86px;flex-direction:column;justify-content:space-between;padding:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.5);color:var(--ink);text-decoration:none}.month-link:hover{background:#fff}.month-link span{color:var(--faint);font:600 11px/1 var(--serif)}.month-link strong{font-size:13px}
.year-links{display:flex;flex-wrap:wrap;gap:8px}.year-links a,.time-links a{min-width:72px;padding:9px 12px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font-size:12px;font-weight:700;text-align:center;text-decoration:none}.year-links a:hover,.time-links a:hover{border-color:#aebbb2;background:var(--accent-soft)}

.answer-panel{margin:4px 0 0;padding:26px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--paper);box-shadow:0 12px 36px rgba(26,42,34,.04)}.answer-panel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:19px;border-bottom:1px solid var(--line)}.answer-panel-top h2{font-size:26px}.calculation-badge,.local-zone{padding:5px 8px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:10px;font-weight:720;white-space:nowrap}
.metric-grid{display:grid;margin-top:18px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.metric-grid-4{grid-template-columns:repeat(4,1fr)}.metric-grid-5{grid-template-columns:repeat(5,1fr)}.metric-grid>div{min-width:0;padding:18px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfbf8}.metric-grid strong{display:block;overflow:hidden;color:var(--ink);font-family:var(--serif);font-size:clamp(26px,3vw,38px);font-weight:500;letter-spacing:-.045em;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.metric-grid span{display:block;margin-top:4px;color:var(--muted);font-size:9.5px;font-weight:780;letter-spacing:.08em;text-transform:uppercase}.panel-note{margin:14px 0 0;font-size:11.5px}
.split-section{display:grid;grid-template-columns:1fr 1fr;margin-top:58px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:rgba(255,255,255,.36)}.split-section>div{padding:28px 30px 29px 0}.split-section>div+div{padding-left:30px;border-left:1px solid var(--line)}.split-section h2{font-size:25px}.split-section p{margin-top:12px;color:#58645c}.mini-facts{margin:15px 0 0}.mini-facts>div{display:flex;justify-content:space-between;gap:18px;padding:8px 0;border-top:1px solid var(--line)}.mini-facts dt{color:var(--muted)}.mini-facts dd{margin:0;color:var(--ink);font-weight:720}
.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.fact-grid>div{padding:17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.fact-grid dt{margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:760;letter-spacing:.07em;text-transform:uppercase}.fact-grid dd{margin:0;color:var(--ink);font-size:14px;font-weight:700}
.notice{max-width:760px;padding:11px 13px;border-left:3px solid var(--warm);background:#f3efe8;color:#554939;font-size:12.5px}
.adjacent-nav{display:grid;grid-template-columns:1fr 1fr;margin-top:58px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.adjacent-nav a{display:flex;flex-direction:column;padding:18px 0;color:var(--ink);text-decoration:none}.adjacent-nav a+ a{align-items:flex-end;padding-left:24px;border-left:1px solid var(--line)}.adjacent-nav span{color:var(--muted);font-size:10px;font-weight:760;letter-spacing:.07em;text-transform:uppercase}.adjacent-nav strong{margin-top:3px;font-size:14px}

.source-section{padding-top:4px}.source-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0;padding:0;border-top:1px solid var(--line);border-left:1px solid var(--line);list-style:none;counter-reset:source}.source-list li{counter-increment:source;min-width:0;padding:17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.source-list li:before{content:counter(source,decimal-leading-zero);display:block;margin-bottom:7px;color:var(--accent);font-family:var(--serif);font-size:13px}.source-list a{display:block;overflow-wrap:anywhere;font-weight:700;text-decoration:none}.source-list a:hover{text-decoration:underline}.source-list span{display:block;margin-top:5px;color:var(--muted);font-size:10px}
.faq-list{border-top:1px solid var(--line-strong)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;padding:16px 30px 16px 0;color:var(--ink);font-weight:740;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:2px;top:14px;color:#7b877f;font-size:18px;font-weight:400}.faq-list details[open] summary:after{content:"–"}.faq-list details p{max-width:780px;padding:0 0 16px;color:var(--muted)}

.date-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.date-row{display:grid;grid-template-columns:1fr 44px 58px;align-items:center;gap:12px;padding:11px 13px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none}.date-row:hover{background:var(--accent-soft)}.date-row strong{color:var(--muted);font-size:10px}.date-row em{color:var(--accent);font-size:11px;font-style:normal;font-weight:760;text-align:right}
.year-grid{display:grid;grid-template-columns:repeat(8,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.year-card{display:flex;min-height:84px;flex-direction:column;justify-content:center;padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none}.year-card:hover{background:var(--accent-soft)}.year-card strong{font-family:var(--serif);font-size:21px;font-weight:500}.year-card span{color:var(--muted);font-size:10px}
.month-card-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.month-card{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;gap:2px 6px;min-height:100px;align-content:center;padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none}.month-card:hover{background:var(--accent-soft)}.month-card>span{grid-row:1/3;color:var(--faint);font-family:var(--serif);font-size:12px}.month-card strong{font-size:15px}.month-card small{color:var(--muted)}
.day-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.day-card{display:flex;min-height:108px;flex-direction:column;padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none}.day-card:hover{background:var(--accent-soft)}.day-card>span{color:var(--muted);font-size:10px;font-weight:760;text-transform:uppercase}.day-card strong{margin:6px 0 auto;font-family:var(--serif);font-size:28px;font-weight:500}.day-card small{color:var(--muted);font-size:10px}
.note-section{padding:26px;border:1px solid var(--line);background:#fff}.note-section h2{font-size:24px}.note-section p{max-width:820px;margin-top:10px;color:var(--muted)}

.time-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:3px}.time-answer-card{padding:24px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:#fff}.time-answer-card h2{margin:5px 0 20px;font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:-.035em}.time-answer-card dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.time-answer-card dl>div{padding:12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.time-answer-card dt{color:var(--muted);font-size:9px;font-weight:780;text-transform:uppercase}.time-answer-card dd{margin:4px 0 0;color:var(--ink);font-family:var(--serif);font-size:20px;font-variant-numeric:tabular-nums}.time-links{display:flex;flex-wrap:wrap;gap:7px}.time-directory{display:grid;grid-template-columns:repeat(8,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.time-directory a{padding:9px 7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--ink);font-size:11px;font-weight:650;text-align:center;text-decoration:none}.time-directory a:hover{background:var(--accent-soft)}
.inline-time-tool{max-width:560px;margin-top:25px}.inline-time-tool>div{margin-top:4px}

.calculator-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.calculator-card{padding:26px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:#fff}.calculator-card h2{font-size:27px}.calculator-card form{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;margin-top:22px}.calculator-card label{grid-column:1/-1;margin:0}.calculator-card input{min-height:48px}.calculator-card p{margin:16px 0 0;color:var(--muted);font-size:12px}.wide-card{grid-column:1/-1}.small-note{margin:12px 0 0;color:var(--muted);font-size:11.5px}.arithmetic-hero .hero-answer strong{font-family:var(--serif);font-size:clamp(28px,4vw,46px);font-weight:500}.arithmetic-grid form[data-offset-jump]{grid-template-columns:minmax(110px,.42fr) minmax(0,1fr) auto}.arithmetic-grid form[data-offset-jump] label:first-of-type{grid-column:1;grid-row:1}.arithmetic-grid form[data-offset-jump] label:nth-of-type(2){grid-column:2;grid-row:1}.arithmetic-grid form[data-offset-jump] input[name="days"]{grid-column:1;grid-row:2}.arithmetic-grid form[data-offset-jump] input[name="date"]{grid-column:2;grid-row:2}.arithmetic-grid form[data-offset-jump] button{grid-column:3;grid-row:2}.arithmetic-grid form[data-between-jump]{grid-template-columns:1fr 1fr auto}.arithmetic-grid form[data-between-jump] label:first-of-type{grid-column:1;grid-row:1}.arithmetic-grid form[data-between-jump] label:nth-of-type(2){grid-column:2;grid-row:1}.arithmetic-grid form[data-between-jump] input[name="start"]{grid-column:1;grid-row:2}.arithmetic-grid form[data-between-jump] input[name="end"]{grid-column:2;grid-row:2}.arithmetic-grid form[data-between-jump] button{grid-column:3;grid-row:2}
.directory-search{display:grid;grid-template-columns:minmax(0,500px) auto;gap:8px;margin-top:24px;max-width:650px}.directory-search input{min-height:46px}


.authority-reference{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;margin-top:34px;padding:24px 26px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:#fff}.authority-reference h2{margin:5px 0 7px;font-size:25px}.authority-reference p{max-width:760px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}.authority-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 15px;border:1px solid var(--line-strong);border-radius:7px;background:var(--accent-soft);color:var(--ink);font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap}.authority-link:hover{border-color:var(--accent);background:#fff}.authority-link span{font-size:15px}

.prose{max-width:820px;padding-top:8px}.prose h2{margin:34px 0 10px;font-size:27px}.prose p{color:#56635b;font-size:16px}
.button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}

.site-footer{margin-top:30px;border-top:1px solid var(--line-strong);background:#f1f1ec}.footer-grid{display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:38px;padding:42px 0}.footer-brand{margin-bottom:13px}.footer-grid p{max-width:370px;color:var(--muted);font-size:12px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:7px}.footer-grid>div>strong{margin-bottom:6px;color:var(--ink);font-size:11px;letter-spacing:.07em;text-transform:uppercase}.footer-grid>div>a:not(.brand){color:#536057;font-size:12px;text-decoration:none}.footer-grid>div>a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding:16px 0 24px;border-top:1px solid #d6dad4;color:#7a857d;font-size:10.5px}
.sr-only{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:980px){
  .home-hero{grid-template-columns:1fr;gap:28px}.hero-index{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line)}.hero-index>div{padding:15px;border-right:1px solid var(--line)}
  .tool-grid{grid-template-columns:repeat(2,1fr)}.event-grid{grid-template-columns:repeat(3,1fr)}.month-grid{grid-template-columns:repeat(4,1fr)}.year-grid{grid-template-columns:repeat(6,1fr)}.time-directory{grid-template-columns:repeat(6,1fr)}
  .metric-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.fact-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.5fr repeat(3,1fr);gap:22px}
}
@media(max-width:760px){
  .wrap{width:min(100% - 28px,1160px)}.header-inner{height:64px}.main-nav{position:absolute;left:14px;right:14px;top:70px;display:none;flex-direction:column;align-items:stretch;padding:6px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.main-nav a{min-height:42px;display:flex;align-items:center}.nav-toggle{display:inline-flex;align-items:center;justify-content:center}.content-wrap{padding-top:26px}
  .hero-tools,.calculator-grid,.time-answer-grid,.split-section,.authority-reference{grid-template-columns:1fr}.wide-card{grid-column:auto}.arithmetic-grid form[data-offset-jump],.arithmetic-grid form[data-between-jump]{grid-template-columns:1fr}.arithmetic-grid form[data-offset-jump] label:first-of-type,.arithmetic-grid form[data-offset-jump] label:nth-of-type(2),.arithmetic-grid form[data-offset-jump] input[name="days"],.arithmetic-grid form[data-offset-jump] input[name="date"],.arithmetic-grid form[data-offset-jump] button,.arithmetic-grid form[data-between-jump] label:first-of-type,.arithmetic-grid form[data-between-jump] label:nth-of-type(2),.arithmetic-grid form[data-between-jump] input[name="start"],.arithmetic-grid form[data-between-jump] input[name="end"],.arithmetic-grid form[data-between-jump] button{grid-column:1;grid-row:auto}.split-section>div{padding:24px 0}.split-section>div+div{padding:24px 0;border-top:1px solid var(--line);border-left:0}.tool-grid{grid-template-columns:1fr}.tool-card{min-height:0}.tool-index{margin-bottom:15px}.event-grid{grid-template-columns:repeat(2,1fr)}.month-grid{grid-template-columns:repeat(3,1fr)}.year-grid{grid-template-columns:repeat(4,1fr)}.month-card-grid{grid-template-columns:repeat(3,1fr)}.day-grid{grid-template-columns:repeat(5,1fr)}.date-list{grid-template-columns:1fr}.time-directory{grid-template-columns:repeat(4,1fr)}
  .authority-reference{gap:16px;padding:20px}.authority-link{width:100%;white-space:normal;text-align:center}
  .metric-grid-5{grid-template-columns:repeat(3,1fr)}.metric-grid-5>div:nth-child(n+4){grid-column:auto}.source-list{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}
}
@media(max-width:520px){
  body.cae-body{font-size:14px}.wrap{width:min(100% - 20px,1160px)}.brand span{max-width:190px;overflow:hidden;text-overflow:ellipsis}.brand img{width:34px;height:34px}
  h1{font-size:39px;line-height:1.03}.page-hero{padding:18px 0 26px}.hero-lede,.hero-copy .hero-lede{font-size:16px}.home-hero{padding:28px 0 44px}.hero-tools{gap:8px}.hero-tools form>div,.inline-time-tool>div,.calculator-card form,.directory-search{grid-template-columns:1fr}.hero-tools button,.inline-time-tool button,.calculator-card button,.directory-search button{width:100%}
  .hero-index{grid-template-columns:1fr 1fr}.hero-index>div:last-child{grid-column:auto}.section{margin-top:44px}.section-head{align-items:flex-start}.section-head h2{font-size:27px}.section-head>a{display:none}
  .event-grid{grid-template-columns:1fr 1fr;gap:7px}.event-card{min-height:134px;padding:13px}.event-card strong{font-size:13.5px}.month-grid{grid-template-columns:repeat(3,1fr)}.month-link{min-height:72px;padding:11px}.year-grid{grid-template-columns:repeat(3,1fr)}.year-card{min-height:70px}.month-card-grid{grid-template-columns:repeat(2,1fr)}.day-grid{grid-template-columns:repeat(4,1fr)}.day-card{min-height:92px;padding:10px}.day-card strong{font-size:24px}.time-directory{grid-template-columns:repeat(3,1fr)}
  .answer-panel{padding:17px}.answer-panel-top{display:block}.local-zone{display:inline-block;margin-top:10px}.metric-grid-4{grid-template-columns:repeat(2,1fr)}.metric-grid-5{grid-template-columns:repeat(2,1fr)}.metric-grid-5>div:last-child{grid-column:1/-1}.metric-grid>div{padding:14px 9px}.metric-grid strong{font-size:28px}.fact-grid{grid-template-columns:1fr 1fr}.adjacent-nav a{padding:14px 0}.adjacent-nav a+ a{padding-left:14px}.time-answer-card{padding:17px}.time-answer-card h2{font-size:25px}.time-answer-card dl{grid-template-columns:1fr}.time-answer-card dl>div{display:flex;align-items:center;justify-content:space-between}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}
}

/* v0.4.2: compact editorial calendar reference, consistent with the existing palette. */
.annual-guide>p{max-width:850px;color:var(--muted);margin:0 0 18px;line-height:1.7}
.annual-date-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.annual-date-list li{min-width:0;padding:20px 18px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:#fff}
.annual-date-list li div{display:flex;flex-direction:column;gap:6px}.annual-date-list time{font-weight:750;color:var(--ink)}
.annual-date-list span{font-size:13px;color:var(--muted)}.annual-date-list small{display:block;margin-top:14px;font-size:12px;line-height:1.5;color:var(--accent)}
.annual-explanation{max-width:850px;margin-top:22px}.annual-explanation h3{font-size:20px}.annual-explanation p{margin-top:8px;color:var(--muted);line-height:1.7}
@media(max-width:880px){.annual-date-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.annual-date-list{grid-template-columns:1fr}.annual-date-list li{padding:15px}}

/* v0.4.3: readable, date-specific calendar context without new frameworks. */
.exact-calendar-context>p,.exact-date-nearby>p{max-width:850px;margin:12px 0 18px;color:var(--muted);line-height:1.7}
.exact-calendar-context .fact-grid{margin:20px 0}
.exact-date-nearby .time-links{margin-top:14px}

/* v0.4.4: editorial date arithmetic guidance; existing layout and palette retained. */
.offset-walkthrough>p,.offset-faq>p,.between-explainer>p,.offset-guide>p{max-width:850px;color:var(--muted);line-height:1.7;margin:12px 0 18px}
.offset-walkthrough ol{max-width:850px;margin:17px 0 18px;padding-left:28px;color:var(--muted);line-height:1.7}
.offset-walkthrough li{padding:0 0 10px 5px}.offset-walkthrough strong{color:var(--ink)}
.offset-faq h3,.offset-guide h3{font-size:18px;margin:23px 0 8px;color:var(--ink)}
.offset-guide .time-links{margin:15px 0 23px}

/* v0.4.5: occurrence dates and lightweight clock-time methodology, original design retained. */
.clock-occurrence{color:var(--muted);font-size:12px;line-height:1.65;margin:7px 0 15px;overflow-wrap:anywhere}
.clock-occurrence strong{color:var(--ink)}
.clock-guide>p{max-width:850px;margin:12px 0 18px;line-height:1.7;color:var(--muted)}
.clock-guide h3{font-size:19px;margin:24px 0 8px;color:var(--ink)}

/* v0.4.38 — complete text-first interface refresh. No remote fonts or imagery required. */
:root{--bg:#f8f9fb;--paper:#fff;--surface:#f3f6fa;--ink:#17243a;--text:#344358;--muted:#617187;--faint:#8794a5;--line:#e1e7ef;--line-strong:#cdd7e4;--accent:#2858a5;--accent-strong:#1d4484;--accent-soft:#eaf1fc;--warm:#526c8e;--radius:12px;--radius-lg:20px;--shadow:0 15px 45px rgba(32,50,85,.06);--serif:var(--sans)}
body.cae-body{background:var(--bg);color:var(--text);font-size:15px;line-height:1.72}
.wrap{width:min(1180px,calc(100% - 52px))}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #7aa6ed;outline-offset:3px}
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.header-inner{height:76px}.brand{gap:10px;font-weight:820;letter-spacing:-.04em}.brand span{font-size:17px}
.main-nav a{color:#45556f;border-radius:9px;font-weight:680}.main-nav a:hover{background:var(--accent-soft);color:var(--accent-strong)}
.content-wrap{padding:33px 0 92px}.breadcrumbs{font-size:12px;margin-bottom:20px}.breadcrumbs a{color:#53627a}
h1,h2,h3{color:var(--ink);font-family:var(--sans);letter-spacing:-.045em;overflow-wrap:break-word}h1{font-size:clamp(34px,4.25vw,58px);font-weight:800;line-height:1.12}h2{font-size:clamp(23px,2.7vw,34px);font-weight:780;line-height:1.2}h3{font-size:19px;font-weight:750;line-height:1.28}
.kicker{color:var(--accent);font-size:11px;letter-spacing:.11em;font-weight:800;margin-bottom:12px}.hero-lede{color:#57687c;font-size:17px;line-height:1.75}.page-hero{max-width:100%;padding:20px 0 30px}.page-hero h1{max-width:1000px;text-wrap:balance}.page-hero .hero-lede{max-width:760px}.hero-answer{margin:22px 0 0;color:var(--accent-strong);font-size:clamp(19px,2.2vw,25px);line-height:1.45}.hero-answer strong{color:var(--ink);font-size:1.13em;letter-spacing:-.03em}
.exact-date-hero{padding:36px clamp(24px,5vw,62px) 38px;border:1px solid #d6e3f5;border-radius:24px;background:linear-gradient(130deg,#fff 0%,#f0f6ff 100%);box-shadow:var(--shadow);margin-bottom:22px}.exact-date-hero .hero-lede{margin-top:15px}.exact-date-hero .hero-answer strong{display:inline-block;font-size:clamp(24px,3.5vw,42px);font-weight:830;line-height:1.16}
.date-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}.date-hero-actions button,.date-hero-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 17px;border-radius:10px;font-size:13px;font-weight:740;text-decoration:none}.date-hero-actions button{background:var(--accent);color:#fff;border:1px solid var(--accent)}.date-hero-actions a{background:#fff;border:1px solid #cbd8e9;color:var(--accent-strong)}.date-hero-actions button:hover{background:var(--accent-strong)}
.answer-panel,.time-answer-card,.calculator-card,.note-section{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 5px 25px rgba(30,50,75,.035)}.answer-panel{padding:clamp(21px,3vw,35px)}.answer-panel-top h2{font-size:clamp(22px,2.5vw,30px);font-weight:780}.metric-grid{border:0;gap:10px}.metric-grid>div{padding:19px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.metric-grid strong{color:var(--ink);font-family:var(--sans);font-size:clamp(23px,2.75vw,37px);font-weight:820;letter-spacing:-.06em;overflow-wrap:anywhere}.metric-grid span{font-size:10px;letter-spacing:.04em;line-height:1.55}.panel-note{font-size:12px;line-height:1.65;margin-top:20px}.local-zone{border-radius:8px;background:var(--surface);font-size:11px;padding:7px 10px}
.section{margin-top:56px}.section-head{margin-bottom:20px}.section-head>a{font-size:13px;color:var(--accent)}.section>p,.split-section p{font-size:15px;line-height:1.85;color:#516277}.split-section{gap:16px;border:0;background:transparent}.split-section>div,.split-section>div+div{padding:26px;border:1px solid var(--line);border-radius:17px;background:#fff}.split-section>div+div{border-left:1px solid var(--line)}.split-section h2{font-size:clamp(21px,2.7vw,29px)}
.fact-grid{gap:10px;border:0}.fact-grid>div{border:1px solid var(--line);border-radius:12px;padding:18px;background:#fff}.fact-grid dt{font-size:11px;letter-spacing:.04em}.fact-grid dd{overflow-wrap:anywhere;font-size:17px;font-weight:770;color:var(--ink)}
.tool-grid{gap:12px;border:0}.tool-card{padding:27px;min-height:265px;border:1px solid var(--line);border-radius:17px;background:#fff;transition:box-shadow .18s,transform .18s}.tool-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.tool-card h3{font-size:21px}.tool-index{font-family:var(--sans);font-size:12px;color:var(--accent);font-weight:800}.tool-card p{font-size:14px;line-height:1.7}
.home-hero{align-items:center;gap:42px;padding:52px 0 62px}.home-hero h1{max-width:760px}.hero-index{background:#fff;border:1px solid var(--line);border-radius:18px;padding:6px 24px}.hero-index>div{padding:18px 0}.hero-index>div:last-child{border-bottom:0}.hero-index strong{font-family:var(--sans);font-size:28px;font-weight:820}.hero-index span{font-size:12px}
.event-card{border-radius:14px;min-height:170px;padding:19px}.event-card strong{font-size:16px}.event-card .card-meta{font-size:12px}.month-grid,.year-grid,.time-directory{gap:8px;border:0}.month-link,.time-directory a{border:1px solid var(--line);border-radius:11px;background:#fff}.month-link{padding:15px}.month-link span{font-family:var(--sans)}.time-directory a{padding:11px 8px}.year-links a,.time-links a{border-radius:9px;padding:10px 13px}
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:9px;padding:17px 20px}.faq-list summary{font-weight:740;cursor:pointer;color:var(--ink)}.faq-list details p{margin-top:14px;margin-bottom:0;color:var(--muted)}
.site-footer{background:#eef2f7;border-color:var(--line)}.footer-grid{padding:54px 0}.footer-grid p{font-size:13px;line-height:1.75}.footer-grid>div>a:not(.brand){font-size:13px;line-height:1.8}.footer-bottom{font-size:11px}
/* Clickable intrinsic monthly calendar: lightweight, crawlable, and image-independent. */
.glance-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr);gap:24px;align-items:stretch}.glance-calendar,.glance-description{border:1px solid var(--line);border-radius:18px;background:#fff;padding:25px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekdays{margin-bottom:11px}.calendar-weekday{text-align:center;font-size:11px;font-weight:800;color:var(--muted);padding:8px 0}.calendar-days>a,.calendar-blank{min-width:0;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;text-decoration:none;color:var(--ink);font-size:14px;font-weight:680;border:1px solid transparent}.calendar-days>a:hover{background:var(--accent-soft);border-color:#c9ddfa}.calendar-days>a.is-selected{background:var(--accent);color:#fff;font-weight:820}.glance-description{display:flex;flex-direction:column;justify-content:center;background:#f1f6fe}.glance-description>strong{color:var(--ink);font-size:clamp(24px,2.7vw,35px);letter-spacing:-.04em;line-height:1.2}.glance-description p{font-size:14px;line-height:1.8;color:var(--muted);margin:15px 0 22px}.glance-jump{margin-top:auto}.glance-jump label{display:block;font-size:12px;font-weight:760;margin-bottom:7px}.glance-jump>div{display:flex;gap:8px}.glance-jump input{min-width:0;flex:1;background:#fff;border:1px solid var(--line-strong);border-radius:9px;padding:11px}.glance-jump button{background:var(--accent);color:#fff;border:0;border-radius:9px;padding:0 17px;font-size:13px;font-weight:740}
@media(max-width:980px){.glance-layout{grid-template-columns:1fr 1fr}.home-hero{grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:25px}.hero-index{padding:6px 15px}.hero-index>div{border-right:0}.tool-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.wrap{width:min(100% - 32px,1180px)}.header-inner{height:67px}.home-hero,.glance-layout{grid-template-columns:1fr}.home-hero{gap:20px}.hero-index{display:grid;grid-template-columns:repeat(2,1fr);padding:10px}.hero-index>div{border-bottom:1px solid var(--line);padding:15px}.glance-calendar,.glance-description{padding:21px}.split-section>div+div{border-left:1px solid var(--line)}.section{margin-top:44px}.content-wrap{padding-top:24px}.page-hero h1{font-size:clamp(31px,6vw,45px)}.exact-date-hero{padding:27px 24px}.tool-grid{grid-template-columns:1fr 1fr}.tool-card{min-height:230px}}
@media(max-width:520px){body.cae-body{font-size:14px}.wrap{width:min(100% - 26px,1180px)}.brand span{font-size:15px}.home-hero h1,h1{font-size:clamp(32px,8vw,41px);line-height:1.13}.hero-lede{font-size:15px}.exact-date-hero{padding:23px 19px;border-radius:16px}.exact-date-hero .hero-answer strong{font-size:clamp(23px,6.7vw,31px)}.date-hero-actions{gap:8px}.date-hero-actions a,.date-hero-actions button{flex:1 1 auto}.answer-panel{padding:19px}.answer-panel-top h2{font-size:23px}.metric-grid{gap:8px}.metric-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid>div{padding:13px 11px}.metric-grid strong{font-size:clamp(23px,6vw,30px)}.metric-grid span{font-size:10px}.metric-grid-5>div:last-child{grid-column:1/-1}.tool-grid{grid-template-columns:1fr}.tool-card{min-height:0;padding:22px}.split-section>div,.split-section>div+div{padding:21px}.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fact-grid>div{padding:14px}.fact-grid dd{font-size:14px}.glance-calendar,.glance-description{padding:16px}.calendar-weekdays,.calendar-days{gap:3px}.calendar-days>a{font-size:13px;border-radius:7px}.glance-jump>div{flex-direction:column}.glance-jump button{min-height:44px}.section-head{gap:10px}.section-head h2{font-size:25px}.event-card{padding:13px}.footer-grid{gap:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tool-card,.event-card{transition:none}}


/* 0.4.39 Date Intelligence: compact information-rich, text-first planning panels */
.planner-section{scroll-margin-top:5rem}.planner-section .section-head p{margin:.55rem 0 0;color:var(--muted,#667085);max-width:68ch}
.planner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem}
.planner-card,.planner-milestones{min-width:0;border:1px solid #dce2e4;background:#fff;border-radius:18px;padding:clamp(1rem,2.8vw,1.6rem);box-shadow:0 5px 24px rgba(17,35,41,.035)}
.planner-card h3,.planner-milestones h3{font-size:clamp(1.13rem,2vw,1.4rem);line-height:1.3;letter-spacing:-.025em;margin:.45rem 0 1rem;color:#1d3038}
.planner-card form{display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1rem;align-items:end}
.planner-card label{display:block;font-size:.84rem;font-weight:650;color:#334650}
.planner-card input[type="date"],.planner-card input[type="text"]{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #cbd6da;border-radius:10px;padding:.7rem .75rem;background:#fff;color:#162c33;font:inherit;font-size:.94rem;color-scheme:light}
.planner-card form button{grid-column:1/-1;min-height:43px;border:0;border-radius:11px;background:#183e49;color:white;padding:.7rem 1rem;font:inherit;font-weight:700;cursor:pointer}
.planner-check{grid-column:1/-1;display:flex!important;align-items:center;gap:.5rem}.planner-check input{width:1rem;height:1rem;accent-color:#183e49}
.planner-result{display:block;background:#edf5f5;border-radius:11px;color:#17414b;font-weight:650;line-height:1.6;padding:.85rem 1rem;margin-top:1rem;overflow-wrap:anywhere}
.planner-hint{font-size:.83rem;line-height:1.65;color:#65747c;margin:.9rem 0 0}
.planner-milestones{margin-top:1rem;display:grid;grid-template-columns:minmax(155px,.8fr) minmax(0,1.6fr);gap:1.5rem;align-items:start}
.planner-milestones p{font-size:.9rem;color:#65747c;line-height:1.6}.planner-table-scroll{overflow-x:auto}
.planner-table{width:100%;border-collapse:collapse;font-size:.9rem;font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap}.planner-table th,.planner-table td{padding:.65rem .7rem;border-bottom:1px solid #e8edee}.planner-table th{font-weight:700;color:#344d55}.planner-table thead{background:#f3f6f6}.planner-table tbody tr:last-child>*{border-bottom:0}
.planner-secondary{margin-top:1rem}.planner-secondary .planner-card>p:not(.planner-hint){font-size:1.05rem;line-height:1.5;font-weight:650}.planner-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem;align-items:center}
.planner-actions button,.planner-actions a{font:inherit;font-weight:650;font-size:.91rem;line-height:1.25;padding:.7rem .85rem;border-radius:10px;border:1px solid #c9d7da;background:#f5f9f8;color:#143c46;text-decoration:none;cursor:pointer}
.planner-actions button:hover,.planner-actions a:hover{background:#e6f1ef}
@media(max-width:780px){.planner-grid,.planner-milestones{grid-template-columns:1fr}.planner-milestones{gap:.5rem}}
@media(max-width:480px){.planner-card form{grid-template-columns:1fr}.planner-card{padding:1rem}.planner-table{font-size:.79rem}.planner-table th,.planner-table td{padding:.55rem .42rem}}
