
/* D2C GUIDE / THE UTILITY EDITION — visual-only overrides, sitewide. */
:root, :root[data-theme="light"]{
 --paper:#f3f5ee; --paper-2:#e9ede5; --card:#ffffff;
 --ink:#183228; --ink-2:#385349; --ink-3:#687b71;
 --rule:#ccd7cd; --rule-2:#e1e8df; --accent:#285d42;
 --accent-ink:#fff; --accent-soft:#e1eee1; --link:#245f42;
 --serif:"Inter Variable",system-ui,sans-serif;
 --sans:"Inter Variable",system-ui,sans-serif;
 --radius:3px; --wide:78rem; --shadow:none;
 color-scheme:light;
}
html{scroll-behavior:smooth;}
body{font-size:1rem;line-height:1.64;background:var(--paper);}
h1,h2,h3,h4{font-family:var(--sans);letter-spacing:-.04em;line-height:1.16;font-weight:700;}
h1{font-weight:750;} h2{font-weight:725;} h3{font-weight:700;letter-spacing:-.025em;}
.eyebrow,.foot-h{font-family:var(--mono);letter-spacing:.07em;font-size:.68rem;}
.site-header[data-astro-cid-hkbrpulz]{background:#f3f5eef5;backdrop-filter:blur(14px);border-bottom:1px solid var(--ink);}
.bar[data-astro-cid-hkbrpulz]{height:4.55rem;gap:1.8rem;}
.logo[data-astro-cid-hkbrpulz]{font-family:var(--mono);font-weight:800;font-size:1.22rem;letter-spacing:-.08em;}
.logo-mark[data-astro-cid-hkbrpulz]{background:var(--ink);color:#d8f27b;padding:.24rem .4rem .25rem .42rem;letter-spacing:-.08em;}
.logo-dot[data-astro-cid-hkbrpulz]{color:var(--ink);padding-left:.1rem;}
nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{font-size:.79rem;font-weight:650;letter-spacing:.005em;}
.nav-cta[data-astro-cid-hkbrpulz]{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.025em;border-radius:2px;padding:.77rem 1rem;background:var(--ink);color:white;}
.btn,.task,.hub,.calc-step,select,.num-input{border-radius:3px;}
.btn-primary{background:var(--ink)}
.site-footer[data-astro-cid-hkbrpulz]{background:#e7ebe3;border-top:1px solid var(--ink);margin-top:0;}
.foot-grid h2[data-astro-cid-hkbrpulz]{letter-spacing:.05em;}
/* Homepage: the tool first, the library second. */
.launch{background:#e8efe3;border-bottom:1px solid var(--ink);position:relative;overflow:hidden;}
.launch:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(#b5c9b65c 1px, transparent 1px),linear-gradient(90deg,#b5c9b65c 1px, transparent 1px);background-size:40px 40px;mask-image:linear-gradient(to bottom,black 0%,transparent 75%);}
.launch-inner{position:relative;padding-top:1.35rem;padding-bottom:1.6rem;}
.launch-topline{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1.2rem;font-family:var(--mono);font-size:.67rem;letter-spacing:.06em;color:var(--ink-2);}
.launch-tag{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;}
.pulse{width:.55rem;height:.55rem;background:#3e9256;box-shadow:0 0 0 3px #c6e3c2;display:inline-block;}
.launch-copy{max-width:930px;margin:3.05rem auto 2.35rem;text-align:center;}
.launch-label,.directory-overline{color:var(--accent);font-family:var(--mono);font-weight:750;letter-spacing:.06em;font-size:.69rem;}
.launch-copy h1{color:var(--ink);margin:1rem auto 1.12rem;max-width:960px;font-size:clamp(2.7rem,5.6vw,5.5rem);line-height:1.02;letter-spacing:-.074em;font-weight:780;}
.launch-copy h1 em{font-style:normal;position:relative;white-space:nowrap;}
.launch-copy h1 em:after{content:"";height:.14em;position:absolute;bottom:-.025em;left:0;right:0;background:#afcf73;z-index:0;mix-blend-mode:multiply;transform:rotate(-1.2deg);}
.launch-copy p{max-width:610px;margin:auto;color:#3d554b;font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.55;}
.launch-card{background:white;border:1px solid var(--ink);box-shadow:8px 8px 0 #cadac7;max-width:1110px;margin:0 auto;}
.launcher-heading{padding:1.08rem 1.45rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--rule);}
.launcher-heading>div{display:flex;align-items:center;gap:.7rem;}
.block-icon{display:grid;place-items:center;width:1.7rem;height:1.7rem;background:var(--ink);color:#d8f27b;font-size:1.13rem;line-height:1;}
.launcher-heading h2{font-size:1.09rem;font-weight:730;margin:0;letter-spacing:-.035em;}
.launcher-heading>span,.jump-index{font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;color:var(--ink-3);white-space:nowrap;}
.launcher-fields{display:grid;grid-template-columns:1.05fr .9fr 1.12fr;gap:1rem;padding:1.65rem 1.45rem 1.35rem;}
.launch-field{display:grid;align-content:start;gap:.58rem;min-width:0;}
.field-name{font-size:.77rem;font-weight:710;color:var(--ink);letter-spacing:.01em;line-height:1.32;}
.required{color:#84988d;font-size:.72rem;}
.launch-control{display:flex;align-items:stretch;height:3.35rem;border:1px solid #b7c9bd;background:#f9fbf7;min-width:0;transition:border-color .15s,box-shadow .15s;}
.launch-control:focus-within{border-color:var(--ink);box-shadow:0 0 0 2px #d9e7c6;}
.input-prefix{display:flex;align-items:center;justify-content:center;min-width:2.55rem;background:#edf4ea;border-right:1px solid #c7d7c9;font-family:var(--mono);font-weight:700;font-size:.88rem;}
.launch-control input,.launch-control select{width:100%;min-width:0;border:0;outline:none;background:transparent;box-shadow:none;color:var(--ink);font:600 1.05rem var(--sans);padding:.55rem .85rem;border-radius:0;}
.launch-control input::placeholder{color:#95a69b;font-weight:450;font-size:.87rem;}
.launch-control input::-webkit-inner-spin-button,.launch-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.launch-control input[type=number]{-moz-appearance:textfield;appearance:textfield;}
.select-control{position:relative;}
.launch-control select{font-weight:550;font-size:.9rem;appearance:none;padding-right:2rem;cursor:pointer;}
.launch-control select:invalid{color:#92a498;}
.select-chev{pointer-events:none;position:absolute;right:.75rem;top:.63rem;font-size:1.35rem;color:var(--ink-2);}
.launcher-bottom{padding:1rem 1.45rem 1.25rem;border-top:1px solid #e5ece3;background:#f9fbf8;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
.launcher-caption{color:#697d70;font-size:.74rem;line-height:1.7;}
.launcher-caption>span:first-child{font-size:1rem;vertical-align:middle;color:#38794c;padding-right:.35rem;}
.caption-indent{padding-left:1.55rem;}
.launcher-submit{border:0;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2.9rem;min-width:230px;padding:1rem 1.25rem;font-size:.88rem;font-weight:750;cursor:pointer;transition:background .15s,transform .15s;white-space:nowrap;}
.launcher-submit:hover{background:#275b3d;transform:translateY(-1px);}
.launcher-submit span{font-size:1.1rem;color:#c5e997;}
.launch-foot{max-width:1110px;margin:1.45rem auto .15rem;display:flex;align-items:center;gap:.65rem 1.5rem;flex-wrap:wrap;font-size:.76rem;}
.launch-foot>span{font-family:var(--mono);letter-spacing:.025em;color:#718678;font-size:.63rem;}
.launch-foot a{font-weight:650;color:var(--ink);text-decoration:none;border-bottom:1px solid currentColor;}
.launch-foot a:last-child{margin-left:auto;}
.launch-ruler{height:2.55rem;border-top:1px solid var(--rule);display:grid;grid-template-columns:repeat(3,1fr);align-items:center;background:#dce9d9;}
.launch-ruler span{text-align:center;font-family:var(--mono);font-size:.61rem;letter-spacing:.06em;color:#4c6956;}
.launch-ruler span+span{border-left:1px solid #bed2bf;}
.jump-links{padding:3.9rem 0 4rem;background:var(--paper);}
.directory-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--ink);padding-bottom:1.25rem;margin-bottom:0;}
.directory-heading h2{font-size:clamp(1.75rem,3.1vw,2.75rem);letter-spacing:-.06em;margin:.5rem 0 0;}
.directory-heading>p{max-width:260px;font-size:.87rem;margin:0;color:var(--ink-2);}
.jump-grid{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--rule);}
.jump-item{padding:1.5rem 1.55rem 1.55rem 0;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;gap:.65rem;}
.jump-item+.jump-item{border-left:1px solid var(--rule);padding-left:1.55rem;}
.jump-item:hover .jump-title{color:#378050;}
.jump-title{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:1.26rem;font-weight:740;letter-spacing:-.04em;}
.jump-title span{font-size:1rem;}
.jump-desc{font-size:.85rem;line-height:1.55;color:var(--ink-2);}
/* Keep the original research content below the tool, with calmer, editorial styles. */
.band[data-astro-cid-lcdefpme]{padding:3.15rem 0;}
.band-alt[data-astro-cid-lcdefpme]{background:#e9eee7;}
.band[data-astro-cid-lcdefpme] h2[data-astro-cid-lcdefpme]{font-size:clamp(1.65rem,2.65vw,2.15rem);letter-spacing:-.05em;}
.hub[data-astro-cid-lcdefpme]{border-radius:3px;}
.hub-h[data-astro-cid-lcdefpme]{font-family:var(--sans);font-weight:730;letter-spacing:-.025em;}
.legacy-context{padding:3.1rem 0;background:#edf1eb;border-top:1px solid var(--rule);}
.legacy-inner{max-width:820px;}
.legacy-inner h2{font-size:1.65rem;margin:.6rem 0 1rem;letter-spacing:-.04em;}
.legacy-inner p:last-child{font-size:.98rem;line-height:1.75;color:var(--ink-2);margin:0;}
/* Calculator page: inherited content, improved typographic rhythm and field styling. */
.calc-page{padding-top:3rem;}
.calc-intro{max-width:850px;}
.calc-intro h1{font-size:clamp(2.25rem,4.1vw,3.7rem);letter-spacing:-.064em;}
.calc-intro .lede{font-family:var(--sans);font-size:1rem;line-height:1.7;}
.calc-step{box-shadow:4px 4px 0 #dfe8dc;}
.step-n{background:var(--ink);color:#d8f27b;border-radius:2px;font-family:var(--mono);}
.step-head h2{font-size:1.4rem;}
.fee-group legend{font-family:var(--mono);}
.basis{border-radius:2px;}
.num-input{background:#fafcf9;}
/* Generic article hierarchy */
.prose h2,.prose h3{letter-spacing:-.038em;}
.prose blockquote{font-family:var(--sans);}
@media(max-width:900px){
 .launch-copy{margin:2.2rem auto 2rem;}
 .launcher-fields{grid-template-columns:repeat(2,minmax(0,1fr));}
 .launcher-fields .launch-field:last-child{grid-column:1/-1;}
 .launch-foot a:last-child{margin-left:0;}
}
@media(max-width:640px){
 .launch-inner{padding-top:.9rem;padding-bottom:1.15rem;}
 .launch-version{display:none;}
 .launch-copy{text-align:left;margin:2rem 0 1.75rem;}
 .launch-copy h1{font-size:clamp(2.35rem,10.8vw,3.6rem);margin:.8rem 0 1rem;letter-spacing:-.07em;}
 .launch-copy p{font-size:.98rem;}
 .launch-card{box-shadow:4px 4px 0 #cadac7;}
 .launcher-heading{padding:.9rem 1rem;}
 .launcher-heading>span{font-size:.59rem;}
 .launcher-heading h2{font-size:.94rem;}
 .launcher-fields{grid-template-columns:1fr;gap:.95rem;padding:1rem;}
 .launcher-fields .launch-field:last-child{grid-column:auto;}
 .launch-field{gap:.35rem;}
 .launch-control{height:3.1rem;}
 .launcher-bottom{flex-direction:column-reverse;align-items:stretch;gap:.8rem;padding:1rem;}
 .launcher-submit{width:100%;min-width:0;}
 .launcher-caption{font-size:.69rem;}
 .launch-foot{align-items:flex-start;gap:.8rem 1rem;}
 .launch-foot>span{width:100%;}
 .launch-ruler{grid-template-columns:1fr 1fr;}
 .launch-ruler span{font-size:.52rem;}
 .launch-ruler span:last-child{display:none;}
 .jump-links{padding:2.5rem 0;}
 .directory-heading{display:block;}
 .directory-heading p{margin-top:.7rem;}
 .jump-grid{grid-template-columns:1fr;}
 .jump-item,.jump-item+.jump-item{border-left:0;border-bottom:1px solid var(--rule);padding:1.15rem 0;}
 .launch-ruler span+span{border-left:1px solid #bed2bf;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.launcher-submit{transition:none;}}

/* Simplified information hierarchy: no decorative eyebrow labels or numbered badges. */
.launch-inner{padding-top:1.5rem;padding-bottom:2.25rem;}
.launch-copy{margin:2.7rem auto 2.5rem;}
.launch-copy h1{margin-top:0;}
.launcher-heading>div{gap:0;}
.launcher-caption{line-height:1.65;}
.caption-indent{padding-left:0;}
.launch-foot{margin-top:1.7rem;}
.directory-heading h2{margin-top:0;}
.jump-item{gap:.65rem;}
.legacy-inner h2{margin-top:0;}
@media(max-width:640px){
 .launch-inner{padding-top:1.25rem;padding-bottom:1.5rem;}
 .launch-copy{margin:1.8rem 0 1.85rem;}
 .launch-copy h1{margin-top:0;}
 .launch-foot{margin-top:1.35rem;}
}
