/* Cedar & Ledger calm layer (Y880, refined Y881). Generated by traffic/calm_y880.py; edit there. Loaded last. */
:root{--bg:#faf7f2;--paper:#fffdf9;--ink:#1f2421;--ink2:#3a403c;--muted:#727871;--line:#e8e2d6;--accent:#35523f;--accent-d:#263d2f;--tint:#f1ece2;--gold:#b08a4f;
--s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2.5rem;--s5:4rem;--r:14px;
--serif:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}html,body{overflow-x:clip}
body{background:var(--bg)!important;color:var(--ink2)!important;font:17px/1.75 var(--sans)!important;margin:0}
h1,h2,h3{font-family:var(--serif)!important;color:var(--ink)!important;font-weight:600!important;letter-spacing:-.015em;line-height:1.15!important}
a{color:var(--accent)!important;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s}
a:hover{color:var(--accent-d)!important}
::selection{background:#dfe8df}
/* header + nav (every page) */
body>header{max-width:760px!important;margin:0 auto!important;padding:var(--s3) 1.25rem!important;border:0!important;background:none!important;font-size:.95rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;text-align:left!important}
body>header img{width:30px!important;height:30px!important;max-width:30px!important;margin:0!important;border-radius:7px!important}
body>header>a{color:var(--ink)!important;font-family:var(--serif);font-weight:600;font-size:1.2rem;text-decoration:none}
body>header h1{font-size:1.1rem!important}
body>header .calc-link,body>header .holiday-link,body>header .hire-link,body>header .hub2027-link{display:none!important}
nav.calm-nav{margin-left:auto;display:flex;gap:1.4rem}
nav.calm-nav a,.rd-links a{color:var(--muted)!important;text-decoration:none!important;font-size:.92rem;font-family:var(--sans);font-weight:500!important;letter-spacing:.01em}
nav.calm-nav a:hover,.rd-links a:hover{color:var(--ink)!important}
nav.calm-nav a.calm-shop,.rd-links a[href="/#all"]{color:var(--accent)!important;font-weight:600!important}
/* one readable column */
body>main{max-width:700px!important;margin:0 auto!important;padding:var(--s2) 1.25rem var(--s5)!important;overflow:visible;display:block!important}
body>main h1{font-size:clamp(2.2rem,5vw,3rem)!important;margin:var(--s4) 0 var(--s3)!important}
body>main h2{font-size:1.75rem!important;margin:var(--s5) 0 var(--s2)!important}
body>main h3{font-size:1.3rem!important;margin:var(--s4) 0 var(--s1)!important}
body>main p,body>main li{margin:0 0 1.1rem}
body>main>p:first-of-type{font-size:1.1rem;color:var(--ink2)}
body>main ul,body>main ol{padding-left:1.3rem}
body>main li::marker{color:var(--gold)}
body>main hr{border:0;border-top:1px solid var(--line);margin:var(--s4) 0}
body>main blockquote{border-left:2px solid var(--gold);margin:var(--s3) 0;padding:.2rem 0 .2rem 1.2rem;font-family:var(--serif);font-size:1.25rem;color:var(--ink)}
/* boxes -> plain flow */
body>main aside,body>main section,body>main div[style*="border"],body>main section[style*="border"]{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:var(--s3) 0!important;font-size:1rem!important}
body>main img{border:0!important;box-shadow:0 1px 2px rgba(31,36,33,.06),0 8px 24px rgba(31,36,33,.06)!important;border-radius:10px!important;max-width:100%;height:auto}
table{border-collapse:collapse;width:100%;box-shadow:none!important;border-radius:0!important;background:none!important;font-size:.94rem}
th{background:none!important;color:var(--ink)!important;border-bottom:1px solid var(--ink)!important;font-weight:600;text-align:left}
td,th{padding:.65rem .5rem!important;border-top:0!important;border-left:0!important;border-right:0!important}
td{background:none!important;border-bottom:1px solid var(--line)!important}tr:nth-child(even) td{background:none!important}
/* buttons */
body a.b,body .btn,body a.rd-btn{display:inline-block;background:var(--accent)!important;color:#fff!important;border-radius:999px!important;padding:.75rem 1.5rem!important;font-weight:600;font-size:.95rem;letter-spacing:.01em;text-decoration:none!important;box-shadow:0 1px 2px rgba(38,61,47,.2)!important;filter:none!important;border:0!important;transition:background .15s,transform .15s,box-shadow .15s;cursor:pointer;position:relative;z-index:1}
body a.b:hover,body a.rd-btn:hover{background:var(--accent-d)!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 6px 16px rgba(38,61,47,.22)!important}
body a.b:focus-visible,nav a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
p.fmt{color:var(--muted)!important;font-size:.9rem}
/* the single CTA card */
body>main aside.cta-top{background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;padding:var(--s4) var(--s4)!important;margin:var(--s5) 0 var(--s4)!important;line-height:1.7;box-shadow:0 10px 30px rgba(31,36,33,.06)!important}
body>main aside.cta-top h2,body>main aside.cta-top h3{margin-top:0!important}
/* folded extras */
details.calm-more,details.calm-list{margin:var(--s3) 0}
details.calm-more{border-top:1px solid var(--line);padding-top:var(--s2)}
details>summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:.93rem;list-style:none}
details>summary::-webkit-details-marker{display:none}
details>summary::after{content:" +";color:var(--muted)}details[open]>summary::after{content:" \2013"}
details.calm-more[open]{font-size:.95rem}
details.calm-list{margin:.2rem 0 1.5rem}
/* the old top banner, now a quiet line above the footer */
.calm-note{max-width:700px;margin:var(--s4) auto 0;padding:0 1.25rem;font-size:.85rem;color:var(--muted)}
.calm-note>div{background:none!important;color:var(--muted)!important;padding:0!important;text-align:left!important;font:inherit!important}
.calm-note a{color:var(--muted)!important}.calm-note span,.calm-note strong{color:var(--ink)!important;font-weight:600}
/* footer */
footer{max-width:760px!important;margin:var(--s4) auto 0!important;padding:var(--s4) 1.25rem var(--s5)!important;border-top:1px solid var(--line)!important;font-size:.84rem!important;color:var(--muted)!important;text-align:center;line-height:2.1!important;background:none!important}
footer a{color:var(--muted)!important;text-decoration:none!important}footer a:hover{color:var(--ink)!important}
footer::before{content:"Cedar & Ledger";display:block;font-family:var(--serif);font-size:1.25rem;color:var(--ink);font-weight:600;margin-bottom:.4rem}
/* product cards (home picks + /shop/) */
.rd-grid,.calm-grid,details.rd-all main{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:1.75rem!important}
.rd-grid section.c,.calm-grid section.c,details.rd-all main section.c{background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(31,36,33,.04)!important;transition:transform .2s,box-shadow .2s;margin:0!important;padding:0!important}
.rd-grid section.c:hover,.calm-grid section.c:hover,details.rd-all main section.c:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(31,36,33,.09)!important}
.rd-grid section.c>img,.calm-grid section.c>img,details.rd-all main section.c>img{width:100%!important;aspect-ratio:4/3;object-fit:contain!important;background:var(--tint)!important;padding:1.25rem!important;box-sizing:border-box;border-radius:0!important;box-shadow:none!important;display:block}
.rd-grid section.c>div,.calm-grid section.c>div,details.rd-all main section.c>div{padding:1.25rem 1.4rem 1.5rem!important;display:flex;flex-direction:column;flex:1}
.rd-grid section.c h3,.calm-grid section.c h2,details.rd-all main section.c h2{font-size:1.35rem!important;margin:0 0 .45rem!important}
.rd-grid section.c h3 a,.calm-grid section.c h2 a,details.rd-all main section.c h2 a{color:var(--ink)!important;text-decoration:none!important}
.rd-grid section.c p,.calm-grid section.c p,details.rd-all main section.c p{color:var(--muted)!important;font-size:.93rem;line-height:1.6;flex:1;margin:0 0 1.2rem!important}
.rd-grid section.c a.b,.calm-grid section.c a.b,details.rd-all main section.c a.b{align-self:stretch;text-align:center}
.rd-grid .cshot,.calm-grid .cshot,details.rd-all .cshot{display:none!important}
/* home */
body.rd-home .rd-nav{max-width:1040px;padding:var(--s3) 1.25rem}
body.rd-home .rd-brand{font-family:var(--serif)!important;font-size:1.3rem!important;color:var(--ink)!important}
body.rd-home>header{display:block!important;max-width:680px!important;padding:var(--s5) 1.25rem var(--s4)!important;text-align:center!important;position:relative}
body.rd-home>header::before{content:"";position:absolute;inset:0 -30vw;z-index:-1;background:radial-gradient(60% 80% at 50% 0%,#efe8da 0%,rgba(250,247,242,0) 70%);pointer-events:none}
body.rd-home>header h1{font-size:clamp(2.6rem,7vw,4rem)!important;margin:0 0 var(--s2)!important;font-weight:500!important}
body.rd-home>header>p{font-size:1.15rem;color:var(--muted)!important;max-width:30rem;margin:0 auto var(--s3)!important}
body.rd-home>header .start-link a.b{font-size:.98rem}
body.rd-home .rd-sec{max-width:1040px;padding:var(--s3) 1.25rem var(--s4)}
body.rd-home .rd-sec>h2{text-align:center;font-size:2rem!important;margin:0 0 .3rem!important}
body.rd-home .rd-sec>p.rd-sub{text-align:center;color:var(--muted);margin:0 0 var(--s4)}
.rd-home p.hg{display:none}
.rd-home-links{text-align:center;color:var(--muted);font-size:.95rem;margin:var(--s4) auto 0}
.rd-home-links a{text-decoration:none!important}.rd-home-links a.rd-shopall{font-weight:600}
details.rd-all>summary{background:var(--paper)!important;border:1px solid var(--line)!important;scroll-margin-top:1rem}
details.rd-all{scroll-margin-top:1rem}
details.rd-all .rd-more{display:none!important}/* header link wall: same links live on /tools/ and /holiday/ */
/* shop page */
body.calm-shop-page>main{max-width:1040px!important}
.calm-shop-head{text-align:center;max-width:620px;margin:0 auto var(--s4)}
.calm-shop-head p{color:var(--muted)}
/* Y882 audit: one system for every template */
body>main :is(div,section,aside,li,details,form)>:is(h2,h3):first-child{margin-top:0!important}
body>main h2+h3{margin-top:var(--s2)!important}
body>main>h1+p strong,body>main>h1~section.open strong,body>main>p:first-of-type strong{font-weight:500!important}
body>main>h1+p,body>main section.open p{font-weight:400!important;font-size:1.12rem!important;color:var(--ink2)!important;line-height:1.7}
body>main section.open{margin:0 0 var(--s3)!important}
p.calm-long{font-size:1rem!important;color:var(--muted)!important;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
small{font-size:.86rem;color:var(--muted)}
/* callouts: every inline-styled tinted box becomes one quiet note */
body>main :is(p,div)[style*="background"],body>main :is(p,div)[style*="border-left"],body>main p[style*="border:"]{background:var(--tint)!important;border:0!important;border-left:3px solid var(--gold)!important;border-radius:0 10px 10px 0!important;padding:.9rem 1.2rem!important;margin:var(--s3) 0!important;color:var(--ink2)!important;font-size:.97rem!important;box-shadow:none!important}
body>main div[style*="background"] *{color:inherit}
/* hub hero boxes = the one CTA card */
body>main .hero,body>main .hb{background:var(--paper)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;padding:var(--s3) var(--s3)!important;margin:var(--s4) 0!important;box-shadow:0 10px 30px rgba(31,36,33,.05)!important}
body>main .hb{padding:var(--s3)!important;margin:var(--s2) 0!important;box-shadow:none!important}
.hero a.b,.hero .hbuy,.hb a.b{margin:.3rem .6rem .3rem 0}
/* index lists (guides, calculators, free printables): tidy rows */
body>main ul:has(>li>a+br){list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:.9rem;margin:var(--s3) 0!important}
body>main ul:has(>li>a+br)>li{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1rem 1.15rem!important;margin:0!important;line-height:1.5;font-size:.9rem;color:var(--muted);transition:border-color .15s,box-shadow .15s}
body>main ul:has(>li>a+br)>li:hover{border-color:#d6cdbb;box-shadow:0 6px 18px rgba(31,36,33,.06)}
body>main ul:has(>li>a+br)>li>a{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--ink)!important;text-decoration:none!important;line-height:1.25;display:inline-block;margin-bottom:.3rem}
body>main ul:has(>li>a+br)>li>a b{font-weight:600}
body>main ul:has(>li>a+br)>li small{font-size:.88rem}
body>main ul.calm-check{list-style:none;padding-left:0}body>main ul.calm-check>li{padding:.55rem .9rem;margin:0 0 .5rem;background:var(--paper);border:1px solid var(--line);border-radius:10px}
/* calculators: one tidy form card */
body>main label{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.95rem;color:var(--ink2);font-weight:500}
body>main input:not([type=checkbox]):not([type=radio]),body>main select,body>main textarea{font:inherit!important;font-size:.95rem!important;color:var(--ink)!important;background:var(--paper)!important;border:1px solid #d9d1c2!important;border-radius:10px!important;padding:.55rem .75rem!important;min-height:2.6rem;box-sizing:border-box;box-shadow:inset 0 1px 2px rgba(31,36,33,.04)!important;transition:border-color .15s,box-shadow .15s;max-width:100%}
body>main input:focus,body>main select:focus,body>main textarea:focus{outline:0;border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(53,82,63,.15)!important}
body>main input[type=checkbox],body>main input[type=radio]{accent-color:var(--accent)}
body>main button{font:inherit!important;font-size:.93rem!important;font-weight:600!important;background:var(--paper)!important;color:var(--accent)!important;border:1px solid var(--accent)!important;border-radius:999px!important;padding:.6rem 1.3rem!important;cursor:pointer;transition:background .15s,color .15s,transform .15s}
body>main button:hover{background:var(--tint)!important;transform:translateY(-1px)}
body>main button#go,body>main button.b,body>main button[type=submit]{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;padding:.75rem 1.7rem!important;box-shadow:0 1px 2px rgba(38,61,47,.2)}
body>main button#go:hover,body>main button.b:hover{background:var(--accent-d)!important;box-shadow:0 6px 16px rgba(38,61,47,.22)}
body>main p:has(>label){margin:0 0 .85rem!important}
body>main p:has(>label)~p:has(>button#go){margin-top:var(--s3)!important}
body>main [id=out],body>main [id=res],body>main [id=result],body>main [aria-live]{display:block}
body>main [aria-live]:not(:empty){background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:var(--s3);margin:var(--s3) 0 var(--s4);box-shadow:0 10px 30px rgba(31,36,33,.05)}
body>main [aria-live] p:last-child{margin-bottom:0}
body>main [aria-live] table{margin:0 0 1rem}
body>main [aria-live] strong{color:var(--ink)}
/* tables: soft and scrollable */
body>main table{font-variant-numeric:tabular-nums}
body>main th{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)!important;border-bottom:1px solid var(--line)!important}
body>main tr:last-child td{border-bottom:0!important}
@media(max-width:640px){body>main table{font-size:.8rem}body>main td,body>main th{padding:.5rem .3rem!important}body>main [aria-live]:not(:empty){padding:var(--s2)}}
/* images: framed */
body>main figure{margin:var(--s3) 0}
body>main figcaption,body>main img+br+small,body>main img+small{display:block;font-size:.84rem;color:var(--muted);margin-top:.5rem}
body>main a>img{transition:transform .2s}
/* emoji/badge clutter */
body>main .badge,body>main .pill,body>main .tag,body>main span[style*="background"]{background:var(--tint)!important;color:var(--ink2)!important;border-radius:999px!important;padding:.1rem .6rem!important;font-size:.78rem!important;font-weight:600;border:0!important}
@media(max-width:640px){body{font-size:16.5px!important}body>header{padding:1.1rem 1.1rem!important}nav.calm-nav{gap:1rem;width:auto}
body.rd-home>header{padding:var(--s4) 1.1rem var(--s3)!important}body>main aside.cta-top{padding:var(--s3)!important}
.rd-grid,.calm-grid,details.rd-all main{grid-template-columns:1fr!important;gap:1.25rem!important}body>main h2{margin-top:var(--s4)!important}}
