:root{--ivory: oklch(97.8% .011 88);--ivory-raised: oklch(99.6% .005 88);--ivory-deep: oklch(95.5% .018 88);--forest: oklch(27% .052 156);--forest-2: oklch(22% .046 156);--forest-3: oklch(34% .058 156);--ink: oklch(23% .03 156);--ink-soft: oklch(41% .022 156);--ink-faint: oklch(54% .016 156);--on-forest: oklch(96% .014 88);--on-forest-soft: oklch(82% .02 156);--brass: oklch(70% .13 78);--brass-strong: oklch(56% .125 72);--brass-soft: oklch(94.5% .038 85);--green: oklch(44% .105 156);--green-soft: oklch(93% .026 156);--line: oklch(88.5% .014 92);--line-soft: oklch(92% .01 92);--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-base: clamp(1rem, .95rem + .25vw, 1.0625rem);--text-sm: .875rem;--text-xs: .78rem;--text-lg: clamp(1.125rem, 1.05rem + .4vw, 1.3125rem);--text-h3: clamp(1.15rem, 1.05rem + .5vw, 1.45rem);--text-h2: clamp(1.55rem, 1.25rem + 1.5vw, 2.3rem);--text-h1: clamp(2.1rem, 1.5rem + 3vw, 3.6rem);--text-hero: clamp(2.6rem, 1.6rem + 4.6vw, 4.9rem);--text-result: clamp(2.3rem, 1.6rem + 3.4vw, 4rem);--space-section: clamp(3.75rem, 2.5rem + 4.5vw, 7.5rem);--radius: 14px;--radius-lg: 24px;--shadow-1: 0 1px 2px oklch(30% .03 156 / .05), 0 6px 22px oklch(30% .03 156 / .08);--shadow-2: 0 4px 10px oklch(30% .03 156 / .08), 0 22px 55px oklch(30% .03 156 / .16);--dur: .22s;--dur-slow: .6s;--ease: cubic-bezier(.16, 1, .3, 1);--wrap: 1140px;--wrap-narrow: 768px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:1.68;color:var(--ink);background:var(--ivory);-webkit-font-smoothing:antialiased}img,svg,video{max-width:100%;height:auto}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.1;letter-spacing:-.016em;margin:0 0 .5em;text-wrap:balance}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2);margin-top:2.1em}h3{font-size:var(--text-h3);margin-top:1.7em}p{margin:0 0 1.1em}a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--dur) var(--ease)}a:hover{color:var(--brass-strong)}:focus-visible{outline:3px solid var(--brass);outline-offset:2px;border-radius:4px}::selection{background:var(--brass-soft)}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2rem)}.wrap-narrow{max-width:var(--wrap-narrow);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2rem)}.site-header{position:sticky;top:0;z-index:60;background:#fbf8f0db;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:66px}.logo{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:1.32rem;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap;letter-spacing:-.01em}.logo svg{width:32px;height:32px;flex-shrink:0}.main-nav{display:flex;gap:clamp(.8rem,2.2vw,1.9rem);align-items:center}.main-nav a{font-size:var(--text-sm);font-weight:600;color:var(--ink-soft);text-decoration:none;padding:.4rem .05rem;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:.05rem;height:2px;background:var(--brass);transition:right var(--dur) var(--ease)}.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--ink)}.main-nav a:hover:after,.main-nav a[aria-current=page]:after{right:0}.nav-cta{background:var(--forest);color:var(--on-forest)!important;padding:.52rem 1.05rem!important;border-radius:999px;transition:background var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.nav-cta:after{display:none}.nav-cta:hover{background:var(--forest-2);transform:translateY(-1px);box-shadow:0 8px 20px #0e2e1c4d}@media(max-width:680px){.site-header .wrap{flex-direction:column;align-items:flex-start;gap:0;padding-block:.6rem;min-height:0}.main-nav{gap:1.05rem;flex-wrap:wrap}.nav-cta{display:none}}.hero{position:relative;overflow:hidden;padding-block:clamp(3rem,2rem + 4vw,6.5rem) var(--space-section)}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 52% 60% at 82% 8%,oklch(91% .055 88 / .65),transparent 62%),radial-gradient(ellipse 40% 45% at 8% 92%,oklch(92% .03 156 / .5),transparent 60%)}.hero .wrap{position:relative;z-index:1;display:grid;gap:clamp(2rem,4vw,4rem);align-items:center}@media(min-width:900px){.hero .wrap{grid-template-columns:11fr 9fr}}.eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:var(--text-xs);font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--brass-strong);background:var(--brass-soft);border:1px solid oklch(88% .05 85);padding:.32rem .9rem;border-radius:999px;margin-bottom:1.25rem}.hero h1{font-size:var(--text-hero);margin-bottom:.35em}.hero h1 em{font-style:italic;color:var(--green)}.hero .lede{font-size:var(--text-lg);color:var(--ink-soft);max-width:50ch}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}.hero-proof{display:flex;flex-wrap:wrap;gap:1.4rem 2.2rem;margin-top:2.2rem;padding-top:1.6rem;border-top:1px solid var(--line)}.hero-proof div{min-width:100px}.hero-proof strong{display:block;font-family:var(--font-display);font-size:1.5rem;color:var(--forest)}.hero-proof span{font-size:var(--text-xs);color:var(--ink-faint);letter-spacing:.04em}.hero-visual{position:relative}.hero-visual svg{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 50px oklch(28% .05 156 / .18))}.btn{display:inline-block;font-weight:700;font-size:var(--text-base);text-decoration:none;text-align:center;border-radius:999px;padding:.85rem 1.75rem;border:none;cursor:pointer;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease),color var(--dur) var(--ease)}.btn-primary{background:var(--forest);color:var(--on-forest)}.btn-primary:hover{background:var(--forest-2);color:var(--on-forest);transform:translateY(-2px);box-shadow:0 12px 28px #0e2e1c4d}.btn-ghost{background:transparent;color:var(--forest);box-shadow:inset 0 0 0 1.5px var(--line)}.btn-ghost:hover{color:var(--brass-strong);box-shadow:inset 0 0 0 1.5px var(--brass);transform:translateY(-2px)}.btn-accent{background:var(--brass);color:#261700}.btn-accent:hover{background:var(--brass-strong);color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px #9f670059}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:1.15rem;margin-block:2.2rem 0;padding:0;list-style:none}.tool-card{position:relative;display:flex;flex-direction:column;gap:.45rem;background:var(--ivory-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.65rem 1.5rem 1.4rem;box-shadow:var(--shadow-1);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.tool-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-2);border-color:#d5c29c}.tool-card.featured{background:linear-gradient(150deg,var(--forest) 0%,var(--forest-2) 100%);border-color:var(--forest);color:var(--on-forest)}.tool-card.featured h3 a{color:var(--on-forest)}.tool-card.featured p{color:var(--on-forest-soft)}@media(min-width:900px){.tool-card.featured{grid-column:span 2}}.tool-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--green-soft);color:var(--green);margin-bottom:.5rem;transition:transform var(--dur) var(--ease)}.tool-card:hover .tool-icon{transform:scale(1.08) rotate(-3deg)}.tool-card.featured .tool-icon{background:#20432e;color:var(--brass)}.tool-card h3{margin:0;font-size:1.24rem}.tool-card h3 a{color:var(--ink);text-decoration:none}.tool-card h3 a:after{content:"";position:absolute;inset:0}.tool-card p{font-size:var(--text-sm);color:var(--ink-soft);margin:0}.tool-card p a{position:relative;z-index:1}.tool-card .go{margin-top:auto;padding-top:.85rem;font-size:var(--text-sm);font-weight:700;color:var(--brass-strong)}.tool-card.featured .go{color:var(--brass)}.calc-page-head{padding-top:clamp(1.8rem,4.5vw,3.2rem)}.breadcrumbs{font-size:var(--text-xs);color:var(--ink-faint);margin-bottom:1.05rem}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;padding:0;margin:0}.breadcrumbs li+li:before{content:"/";margin-right:.45rem;color:var(--line)}.breadcrumbs a{color:var(--ink-faint)}.answer-box{border-left:4px solid var(--brass);background:var(--brass-soft);border-radius:0 var(--radius) var(--radius) 0;padding:1.05rem 1.35rem;margin:1.15rem 0 2rem;font-size:var(--text-lg);max-width:70ch}.answer-box p{margin:0}.calc-shell{display:grid;gap:1.5rem;margin-block:.8rem 2.6rem}@media(min-width:920px){.calc-shell{grid-template-columns:5fr 4fr;align-items:start}}.calc-form{background:var(--ivory-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.3rem,3vw,2rem);box-shadow:var(--shadow-1)}.calc-form h2,.calc-form .form-title{margin:0 0 1.1rem;font-size:1.1rem;font-family:var(--font-body);font-weight:700;letter-spacing:.01em}.field{margin-bottom:1.02rem}.field label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--ink-soft);margin-bottom:.32rem}.field input,.field select{width:100%;font:inherit;font-size:1.05rem;padding:.72rem .9rem;min-height:48px;border:1.5px solid var(--line);border-radius:11px;background:var(--ivory);color:var(--ink);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.field input:focus,.field select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3.5px var(--green-soft)}.field .hint{font-size:var(--text-xs);color:var(--ink-faint);margin:.28rem 0 0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}@media(max-width:430px){.field-row{grid-template-columns:1fr}}.calc-form .btn{width:100%;margin-top:.35rem}.calc-result{background:linear-gradient(160deg,var(--forest) 0%,var(--forest-2) 100%);color:var(--on-forest);border-radius:var(--radius-lg);padding:clamp(1.3rem,3vw,2rem);position:sticky;top:86px;box-shadow:var(--shadow-2)}@media(max-width:919px){.calc-result{position:static}}.calc-result .result-label{margin:0;font-size:var(--text-xs);font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:#c0af8d}.result-big{font-family:var(--font-display);font-size:var(--text-result);font-weight:600;letter-spacing:-.02em;line-height:1.05;color:var(--brass);margin:.25rem 0 1.15rem;font-variant-numeric:tabular-nums}.result-rows{display:grid;gap:.62rem;margin:0}.result-rows>div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.58rem;border-bottom:1px solid oklch(37% .05 156)}.result-rows dt{color:var(--on-forest-soft);font-size:var(--text-sm)}.result-rows dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.result-note{font-size:var(--text-xs);color:#8d9d92;margin:1.1rem 0 0}.chart-block{margin-block:.4rem 2.4rem;background:var(--ivory-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1rem,2.5vw,1.6rem);box-shadow:var(--shadow-1)}.chart-block h2{margin:0 0 .9rem;font-size:1.1rem;font-family:var(--font-body);font-weight:700}.chart-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:var(--text-xs);color:var(--ink-soft);margin-top:.7rem}.chart-legend span{display:inline-flex;align-items:center;gap:.4rem}.chart-legend i{width:12px;height:12px;border-radius:4px;display:inline-block}.chart-svg{width:100%;height:auto;display:block}.chart-svg path,.chart-svg rect{transition:all var(--dur-slow) var(--ease)}.table-scroll{overflow-x:auto;margin:1.4rem 0;border:1px solid var(--line);border-radius:var(--radius);-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;font-size:var(--text-sm);background:var(--ivory-raised)}th,td{text-align:left;padding:.72rem .95rem;border-bottom:1px solid var(--line-soft);white-space:nowrap}th{background:var(--green-soft);color:var(--ink);font-weight:700;position:sticky;top:0}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--ivory-deep)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.content-section{padding-block:1rem var(--space-section)}.prose{max-width:var(--wrap-narrow)}.prose ul,.prose ol{padding-left:1.35rem}.prose li{margin-bottom:.5em}.prose li::marker{color:var(--brass-strong);font-weight:700}.formula{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--green-soft);border:1px solid oklch(87% .028 156);border-radius:var(--radius);padding:.95rem 1.25rem;font-size:.95rem;overflow-x:auto}.faq{margin-top:1.2rem}.faq details{border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory-raised);margin-bottom:.7rem;overflow:hidden}.faq summary{cursor:pointer;font-weight:700;padding:1.02rem 1.25rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:background var(--dur) var(--ease)}.faq summary:hover{background:var(--brass-soft)}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:1.45rem;font-weight:400;color:var(--brass-strong);flex-shrink:0;line-height:1;transition:transform var(--dur) var(--ease)}.faq details[open] summary:after{transform:rotate(45deg)}.faq details>div{padding:0 1.25rem 1.05rem;color:var(--ink-soft)}.faq details>div p:last-child{margin-bottom:0}.steps{counter-reset:step;list-style:none;padding:0;margin:1.4rem 0;display:grid;gap:.85rem}.steps li{position:relative;padding:.15rem 0 .15rem 3.1rem}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:2.2rem;height:2.2rem;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:var(--brass);font-family:var(--font-display);font-weight:700;font-size:1.05rem}.related{background:var(--green-soft);border-radius:var(--radius-lg);padding:1.7rem clamp(1.2rem,3vw,2rem) clamp(1.2rem,3vw,2rem);margin-block:2.6rem 0}.related h2{margin-top:0;font-size:1.3rem}.related ul{list-style:none;padding:0;margin:0;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.related-card{position:relative;display:flex;flex-direction:column;gap:.3rem;height:100%;background:var(--ivory-raised);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 2.4rem 1rem 1.1rem;text-decoration:none;box-shadow:var(--shadow-1);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:#d0bb92}.related-type{align-self:flex-start;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.14rem .55rem;border-radius:999px;background:var(--green-soft);color:var(--green)}.related-type[data-type=Guide]{background:var(--brass-soft);color:var(--brass-strong)}.related-card strong{color:var(--ink);font-size:.98rem;line-height:1.35}.related-hint{font-size:var(--text-xs);color:var(--ink-faint)}.related-arrow{position:absolute;right:.95rem;top:50%;transform:translateY(-50%);color:var(--brass-strong);font-weight:700;transition:transform var(--dur) var(--ease)}.related-card:hover .related-arrow{transform:translateY(-50%) translate(4px)}.scenarios{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:1.6rem 0 .6rem;padding:0;list-style:none}.scenario{display:flex;flex-direction:column;gap:.45rem;background:var(--ivory-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.35rem 1.25rem 1.15rem;box-shadow:var(--shadow-1)}.scenario h3{margin:0;font-size:1.12rem}.scenario .scenario-who{font-size:var(--text-xs);font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--brass-strong)}.scenario p{font-size:var(--text-sm);color:var(--ink-soft);margin:0}.scenario .scenario-result{font-size:var(--text-sm);color:var(--ink);background:var(--green-soft);border-radius:10px;padding:.6rem .8rem;margin-top:.2rem}.scenario .scenario-result strong{font-variant-numeric:tabular-nums}.scenario a{margin-top:auto;padding-top:.55rem;font-size:var(--text-sm);font-weight:700;text-decoration:none;color:var(--green)}.scenario a:hover{color:var(--brass-strong)}.article-meta{font-size:var(--text-sm);color:var(--ink-faint);margin-bottom:2rem}.article-hero{padding-top:clamp(1.8rem,4.5vw,3.2rem)}.prose blockquote{margin:1.6rem 0;padding:.2rem 0 .2rem 1.3rem;border-left:3px solid var(--brass);color:var(--ink-soft);font-style:italic}.prose>table{display:block;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}.site-footer{background:var(--forest-2);color:var(--on-forest-soft);margin-top:var(--space-section);padding-block:3.6rem 2rem;font-size:var(--text-sm)}.footer-grid{display:grid;gap:2.1rem;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));margin-bottom:2.6rem}.site-footer h3{color:var(--on-forest);font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;margin:0 0 .9rem}.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.48rem}.site-footer a{color:var(--on-forest-soft);text-decoration:none}.site-footer a:hover{color:var(--brass)}.footer-bottom{border-top:1px solid oklch(33% .04 156);padding-top:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;color:#7d8a81}.footer-brand{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--on-forest);margin:0 0 .5rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease)}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}.section-title{max-width:26ch}.section-sub{color:var(--ink-soft);max-width:60ch;margin-top:-.2rem}.skip-link{position:absolute;left:-9999px;top:0;background:var(--brass);color:var(--ink);padding:.6rem 1rem;z-index:200;border-radius:0 0 8px}.skip-link:focus{left:0}.pill-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1rem 0}.pill-list li{font-size:var(--text-xs);font-weight:600;color:var(--ink-soft);background:var(--ivory-raised);border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem}
