:root{color-scheme:light;--paper:#f5f2e9;--paper-deep:#e9e6d9;--ink:#202921;--muted:#5b655b;--green:#315844;--green-light:#dbe5d8;--line:#bfc8b8;--white:#fffdf7;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}
::selection{background:#bed4bd;color:var(--ink)}
a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:.17em}
a:hover{color:#183b29}
:focus-visible{outline:3px solid #b16942;outline-offset:4px;border-radius:2px}
.skip{position:absolute;top:-5rem;left:1rem;z-index:20;padding:.6rem 1rem;background:var(--ink);color:#fff}
.skip:focus{top:.7rem;color:#fff}
.wrap{width:min(1180px,calc(100% - 3rem));margin-inline:auto}
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem;min-height:86px}
.brand{color:var(--ink);font-family:var(--serif);font-size:1.45rem;line-height:1.1;text-decoration:none;letter-spacing:-.035em;white-space:nowrap}
.brand span{display:block;font:700 .58rem/1.5 var(--sans);text-transform:uppercase;letter-spacing:.2em;color:var(--green);margin-top:.3rem}
.site-nav{display:flex;gap:clamp(.8rem,2.5vw,2.4rem);align-items:center;flex-wrap:wrap}
.site-nav a{font-size:.82rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:var(--ink);padding:.6rem 0;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav a[aria-current=page]{border-bottom-color:var(--green);color:var(--green)}
.prelaunch{background:var(--green-light);border-bottom:1px solid var(--line);font-size:.78rem;line-height:1.45}.prelaunch .wrap{display:flex;gap:.8rem;padding-top:.65rem;padding-bottom:.65rem}.prelaunch strong{color:var(--green);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.eyebrow{font-size:.72rem;text-transform:uppercase;font-weight:800;letter-spacing:.22em;color:var(--green);margin:0 0 1.1rem}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.05em;line-height:1.09}
h1{font-size:clamp(3.5rem,8vw,7.7rem);max-width:11ch;margin-bottom:1.4rem}
h2{font-size:clamp(2.4rem,4.5vw,4.2rem);margin-bottom:1.2rem}
h3{font-size:clamp(1.5rem,2.5vw,2rem);margin-bottom:.65rem}
p{margin-bottom:1rem}
.lede{font-size:clamp(1.15rem,2vw,1.43rem);line-height:1.55;max-width:41rem;color:#3d4a3e}
.hero{position:relative;overflow:hidden;padding:clamp(4.2rem,9vw,9rem) 0 5rem;border-bottom:1px solid var(--line)}
.hero::after{content:'';position:absolute;width:min(37vw,470px);height:min(37vw,470px);border:1px solid #bacbb8;border-radius:50%;right:-10%;top:3rem;box-shadow:0 0 0 48px var(--paper),0 0 0 49px #d2dacb,0 0 0 100px var(--paper),0 0 0 101px #d8dfd0;opacity:.8;pointer-events:none}
.hero .wrap{position:relative;z-index:1}
.hero p{max-width:38rem}
.hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:2.3rem 0 3.2rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.78rem 1.25rem;background:var(--green);color:#fff;text-decoration:none;font-size:.79rem;line-height:1.3;font-weight:800;letter-spacing:.11em;text-transform:uppercase;border:1px solid var(--green);cursor:pointer}
.button:hover{background:#1f3b2b;color:#fff}
.button.outline{color:var(--green);background:transparent}.button.outline:hover{background:var(--green-light)}
.status-note{border-top:1px solid var(--line);padding-top:1.3rem;font-size:.83rem;line-height:1.55;color:var(--muted);max-width:45rem!important}
.status-note strong{color:var(--ink)}
.section{padding:clamp(4rem,8vw,7rem) 0;border-bottom:1px solid var(--line)}
.section.compact{padding:clamp(3rem,6vw,5rem) 0}
.section-heading{max-width:47rem;margin-bottom:2.8rem}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,7rem);align-items:start}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.card{background:var(--white);border:1px solid var(--line);padding:2rem;min-height:270px;display:flex;flex-direction:column;align-items:flex-start}
.card .number{display:block;font:700 .73rem var(--sans);letter-spacing:.15em;color:var(--green);margin-bottom:2.4rem}
.card p{color:var(--muted)}.card a{margin-top:auto;font-weight:700}
.feature-panel{background:var(--green);color:var(--white);padding:clamp(2rem,4vw,4rem);min-height:360px;display:flex;flex-direction:column;justify-content:space-between}
.feature-panel .eyebrow{color:#bdd6b9}.feature-panel h2{max-width:9ch}.feature-panel p{max-width:25rem;color:#dfebdb}
.feature-panel a{color:white}
.large-quote{font:400 clamp(1.9rem,3.2vw,3.1rem)/1.28 var(--serif);letter-spacing:-.04em;max-width:30rem;margin:0}
.page-intro{padding:clamp(4rem,8vw,7rem) 0 clamp(3rem,6vw,5rem);border-bottom:1px solid var(--line)}
.page-intro h1{font-size:clamp(3.1rem,6vw,6rem);max-width:13ch}
.prose{max-width:49rem}.prose h2{margin:3rem 0 1.1rem;font-size:clamp(2rem,4vw,3rem)}.prose h3{font-size:1.65rem;margin:2rem 0 .8rem}.prose p,.prose li{font-size:1.08rem;line-height:1.76}.prose li{margin-bottom:.55rem}.prose ul{padding-left:1.3rem}
.aside{background:var(--green-light);padding:2rem;border-left:3px solid var(--green)}.aside p:last-child{margin-bottom:0}
.rule-list{list-style:none;padding:0;margin:0}.rule-list li{display:grid;grid-template-columns:3rem 1fr;gap:1.3rem;border-top:1px solid var(--line);padding:1.4rem 0}.rule-list li:last-child{border-bottom:1px solid var(--line)}.rule-list .index{font-weight:800;font-size:.8rem;letter-spacing:.1em;color:var(--green);padding-top:.25rem}.rule-list h3{margin:0 0 .5rem}.rule-list p{margin:0;color:var(--muted)}
.callout{background:var(--paper-deep);border-top:3px solid var(--green);padding:2rem;margin:2.8rem 0}.callout h3{margin-bottom:.7rem}.callout p:last-child{margin-bottom:0}
.source-note{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-top:2.5rem}
.calculator{background:var(--white);border:1px solid var(--line);padding:clamp(1.4rem,4vw,3rem);box-shadow:10px 10px 0 var(--green-light);margin:2.5rem 0 3.5rem}
.calculator h2{font-size:clamp(2rem,4vw,3.1rem)}.calculator .tiny{font-size:.86rem;color:var(--muted);max-width:44rem}
.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0}
.field label{font-size:.82rem;font-weight:800;letter-spacing:.04em;display:block;margin-bottom:.55rem}
.input-shell{display:flex;align-items:center;border:1px solid #89978a;background:#fff;min-height:51px}.input-shell span{padding:0 .8rem;color:var(--muted)}.input-shell input{width:100%;border:0;outline:0;background:transparent;font:600 1.15rem var(--sans);padding:.7rem .65rem .7rem 0;color:var(--ink);min-width:0}.input-shell:focus-within{outline:3px solid #b16942;outline-offset:3px}
.error{color:#9a2f20;font-size:.85rem;min-height:1.4rem;margin:.4rem 0 0}
.field .error{color:var(--muted)}
.result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:1.7rem}.result>div{background:#eaf0e7;padding:1.2rem}.result span{display:block;font-size:.77rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--green)}.result strong{font:400 clamp(1.7rem,3vw,2.5rem) var(--serif);letter-spacing:-.04em;display:block;margin-top:.4rem}.result-note{margin:1.4rem 0 0;font-size:.87rem;color:var(--muted)}
.result[hidden]{display:none}
.site-footer{background:var(--ink);color:#edf0e8;padding:3.4rem 0 2.3rem}.site-footer .brand{color:#fff}.site-footer .brand span{color:#b9d2b4}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:2rem}.site-footer p,.site-footer a{color:#d1dccf;font-size:.87rem}.site-footer a:hover{color:#fff}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.footer-small{border-top:1px solid #4e6250;padding-top:1.3rem;margin-top:2.5rem;color:#c2d1be;font-size:.78rem}
@media(max-width:800px){.header-inner{align-items:flex-start;flex-direction:column;padding:1rem 0;gap:.5rem}.site-nav{gap:.9rem 1.2rem}.two-col,.three-col,.footer-grid{grid-template-columns:1fr}.card{min-height:220px}.feature-panel{min-height:300px}.hero::after{right:-25%;top:11rem;opacity:.35}.field-grid{grid-template-columns:1fr}.result{grid-template-columns:1fr}}
@media(max-width:500px){.wrap{width:min(100% - 2rem,1180px)}.site-nav a{font-size:.72rem}.prelaunch .wrap{flex-direction:column;gap:.15rem}.hero{padding-top:4.5rem}.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.rule-list li{grid-template-columns:2rem 1fr;gap:.6rem}}
@media print{.site-header,.site-footer,.hero-actions,.button{display:none!important}body{background:#fff;color:#000}.section,.page-intro{padding:1rem 0;border:0}.wrap{width:100%}a{color:#000;text-decoration:underline}.calculator{box-shadow:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
