:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202633;background:#f7faf8;line-height:1.65;--ink:#202633;--ink-soft:#4e5966;--teal:#168c83;--teal-dark:#0f625f;--coral:#f27661;--mint:#e7f4ef;--paper:#ffffff;--wash:#f7faf8;--line:#dce7e2;--shadow:0 18px 50px rgba(31,48,57,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fbfdfc 0,#f4f8f6 72%,#eef5f2)}a{color:var(--teal-dark);text-decoration:none}a:hover{color:var(--coral)}.site-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:32px;max-width:1320px;margin:auto;padding:16px 34px;background:#fbfdfce0;border-bottom:1px solid rgba(220,231,226,.92);backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);font-weight:850;letter-spacing:-.045em}.brand:hover{color:var(--ink)}.brand-icon{width:38px;height:38px;display:block;flex:0 0 auto}.brand-name{font-size:1rem;white-space:nowrap}.brand-name i{font-style:normal;color:var(--teal)}nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}nav a,footer a{font-size:.82rem;font-weight:800;color:#68747b;padding:9px 11px;border-radius:9px}nav a:hover,footer a:hover{color:var(--teal-dark);background:var(--mint)}main{min-height:72vh}.hero,.section{max-width:1320px;margin:auto;padding:88px 34px}.hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.65fr);gap:70px;align-items:center;padding-top:108px;padding-bottom:96px}.hero-copy{max-width:790px}.hero h1,.prose h1{max-width:930px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.3rem,7vw,7.2rem);font-weight:500;line-height:.94;letter-spacing:-.075em;margin:20px 0 27px;color:var(--ink)}.hero h1 em{font-style:normal;color:var(--teal)}.hero p,.lede{max-width:720px;font-size:1.12rem;color:var(--ink-soft)}.hero-visual{position:relative;min-height:390px;border-radius:30px;background:var(--ink);overflow:hidden;box-shadow:var(--shadow)}.hero-visual:before,.hero-visual:after{content:"";position:absolute;border-radius:999px;filter:blur(1px)}.hero-visual:before{width:280px;height:280px;right:-90px;top:-85px;background:var(--coral)}.hero-visual:after{width:330px;height:330px;left:-130px;bottom:-155px;background:var(--teal)}.signal-card{position:absolute;left:35px;right:35px;top:58px;padding:23px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:#ffffff1a;backdrop-filter:blur(12px);color:#fff}.signal-card small{display:block;color:#a7ddd5;text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:.64rem}.signal-card strong{display:block;margin:27px 0 20px;font-family:Georgia,serif;font-size:2.25rem;font-weight:500;line-height:1.05}.signal-row{display:flex;gap:8px;flex-wrap:wrap}.signal-row span{padding:6px 9px;border-radius:999px;background:#ffffff16;color:#dbe9e6;font-size:.74rem;font-weight:800}.eyebrow,.tag{display:inline-block;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.15em;font-size:.67rem;font-weight:950}.tag{color:var(--coral)}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-block;padding:13px 18px;border-radius:11px;background:var(--teal-dark);color:#fff;font-weight:900;box-shadow:0 8px 18px #0f625f26;transition:transform .2s,background .2s}.button.alt{background:transparent;border:1px solid #a9c8c1;color:var(--teal-dark);box-shadow:none}.button:hover{transform:translateY(-2px);color:#fff;background:var(--coral)}.button.alt:hover{color:var(--teal-dark);background:var(--mint);border-color:var(--teal)}.notice{border:1px solid #cbe3da;border-left:4px solid var(--teal);border-radius:0 14px 14px 0;background:var(--mint);padding:16px 19px;margin:32px 0;color:#40545a;max-width:790px}.section h2{font-family:Georgia,Times New Roman,serif;font-weight:500;font-size:clamp(2.35rem,4.7vw,4.8rem);line-height:.98;letter-spacing:-.07em;color:var(--ink);max-width:780px}.section>h2{margin-top:15px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px;margin-top:30px}.card{display:block;background:var(--paper);border:1px solid var(--line);padding:25px;border-radius:18px;box-shadow:0 7px 24px #1f30390a;transition:transform .2s,border-color .2s,box-shadow .2s}.card:hover{border-color:#8bc5b8;transform:translateY(-5px);box-shadow:var(--shadow)}.card h3{color:var(--ink);margin:9px 0;font-size:1.23rem;line-height:1.2}.card p{color:var(--ink-soft);margin-bottom:0}.prose,.prose-page,.container{max-width:920px;margin-left:auto;margin-right:auto}.prose h2,.prose-page h2{margin-top:55px;font-family:Georgia,Times New Roman,serif;font-weight:500;font-size:2.1rem;line-height:1.05;color:var(--ink)}.prose h3,.prose-page h3{color:var(--ink);margin-top:32px}.prose p,.prose li,.prose-page p,.prose-page li{color:var(--ink-soft);font-size:1.04rem}.prose-page{padding:95px 34px}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:30px 0}.fact{background:var(--paper);border:1px solid var(--line);padding:19px;border-radius:15px}.fact strong{display:block;color:var(--coral);text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;margin-bottom:7px}.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;color:#849197;font-size:.77rem;font-weight:800;margin:20px 0}.breadcrumbs a{color:var(--teal-dark)}.evidence-panel,.source-box{background:var(--ink);color:#f7faf8;padding:28px;border-radius:22px;margin:30px 0;box-shadow:var(--shadow)}.evidence-panel h2,.source-box h2{color:#fff}.evidence-panel p,.source-box p{color:#d6e3df}.source-box h2{font-size:2rem}.tool-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(260px,1.1fr);gap:18px}.tool-panel,.tool-result{background:var(--paper);border:1px solid var(--line);padding:25px;border-radius:18px;box-shadow:0 7px 24px #1f30390a}.tool-panel{display:grid;gap:14px}.tool-panel label{display:grid;gap:6px;font-weight:850;color:var(--ink)}.tool-panel input,.tool-panel select{padding:11px 12px;border:1px solid #b9cec8;border-radius:10px;background:#fff;font:inherit;color:var(--ink)}.tool-result output{display:block;font-size:1.7rem;font-weight:950;color:var(--teal-dark);margin:18px 0}.checklist{display:grid;gap:10px}.checklist label{display:flex;gap:12px;background:var(--paper);border:1px solid var(--line);padding:14px;border-radius:12px}.glossary-list{display:grid;gap:10px}.glossary-list div{background:var(--paper);border:1px solid var(--line);padding:18px;border-radius:14px}.glossary-list dt{font-weight:950;color:var(--ink)}.glossary-list dd{margin:5px 0;color:var(--ink-soft)}footer{max-width:1320px;margin:auto;padding:58px 34px;display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);color:var(--ink-soft)}footer p{max-width:450px}footer>div:last-child{display:flex;align-items:flex-start;gap:4px;flex-wrap:wrap}.muted,.small{font-size:.9rem;color:var(--ink-soft)}@media(max-width:820px){.site-header{padding:15px 20px;display:block}.site-header nav{margin-top:12px;gap:2px}.site-header nav a{padding:7px 8px}.hero{grid-template-columns:1fr;padding:74px 20px 64px;gap:38px}.section,.prose-page{padding:64px 20px}.hero-visual{min-height:330px}.signal-card{left:22px;right:22px;top:42px}.hero h1{font-size:clamp(3rem,15vw,5rem)}footer{display:block;padding:45px 20px}footer>div:last-child{margin-top:25px}.tool-layout{grid-template-columns:1fr}}:root{--check-size:32px}.checklist label{position:relative;align-items:center;min-height:68px;padding:16px 20px 16px 70px;border-radius:18px;cursor:pointer;overflow:hidden;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.checklist label:hover{transform:translateY(-3px);border-color:#8bc5b8;background:#fbfffd;box-shadow:0 12px 28px #1f303914}.checklist label:before{content:"";position:absolute;left:20px;top:50%;width:var(--check-size);height:var(--check-size);transform:translateY(-50%);border:1.5px solid #a9c0ba;border-radius:11px;background:#f7faf8;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.checklist label:after{content:"";position:absolute;left:28px;top:50%;width:15px;height:8px;border-left:4px solid #7bd1c2;border-bottom:4px solid #7bd1c2;opacity:0;transform:translateY(-65%) rotate(-45deg) scale(.6);transform-origin:center;transition:opacity .18s ease,transform .25s cubic-bezier(.2,.8,.2,1)}.checklist label span{position:relative;z-index:1}.checklist label span:before{content:"";position:absolute;left:-48px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--coral);opacity:0;transform:translateY(-50%) scale(.3);transition:opacity .2s ease,transform .25s ease}.checklist input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.checklist label:has(input:checked){border-color:#86c8bb;background:linear-gradient(105deg,#f1fbf7,#fff);box-shadow:0 10px 26px #168c831a}.checklist label:has(input:checked):before{border-color:var(--ink);background:var(--ink);box-shadow:0 0 0 5px #168c831a;transform:translateY(-50%) scale(1.04);animation:check-pop .34s ease-out}.checklist label:has(input:checked):after{opacity:1;transform:translateY(-65%) rotate(-45deg) scale(1)}.checklist label:has(input:checked) span:before{opacity:1;transform:translateY(-50%) scale(1);animation:dot-pulse .55s ease-out}.checklist label:focus-within{outline:3px solid rgba(22,140,131,.25);outline-offset:3px}@keyframes check-pop{0%{transform:translateY(-50%) scale(.7)}70%{transform:translateY(-50%) scale(1.12)}to{transform:translateY(-50%) scale(1.04)}}@keyframes dot-pulse{0%{box-shadow:0 0 #f2766159}to{box-shadow:0 0 0 8px #f2766100}}@media(prefers-reduced-motion:reduce){.checklist label,.checklist label:before,.checklist label:after,.checklist label span:before{animation:none;transition:none}.checklist label:hover{transform:none}}:where(a,button,input,select,summary):focus-visible{outline:3px solid rgba(22,140,131,.35);outline-offset:3px}.skip-link{position:fixed;left:18px;top:12px;z-index:20;transform:translateY(-180%);padding:10px 14px;border-radius:10px;background:var(--ink);color:#fff;font-weight:900;transition:transform .2s}.skip-link:focus{transform:translateY(0)}.primary-nav .nav-cta{margin-left:5px;background:var(--teal-dark);color:#fff;padding-inline:14px;box-shadow:0 7px 16px #0f625f24}.primary-nav .nav-cta:hover{background:var(--coral);color:#fff}.primary-nav .nav-cta span{margin-left:4px;color:#b9eee4}nav a[aria-current=page]{color:var(--teal-dark);background:var(--mint)}.checklist-wrap{margin-top:26px}.checklist-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:9px;color:var(--ink-soft);font-size:.78rem;font-weight:850}.checklist-meta output{color:var(--teal-dark)}.progress-track{height:7px;border-radius:99px;background:#dcebe6;overflow:hidden;margin-bottom:12px}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),#7bd1c2);transition:width .3s ease}.page-map{display:flex;gap:8px;flex-wrap:wrap;padding:14px 0 6px;margin:4px 0 32px;border-bottom:1px solid var(--line)}.page-map a{padding:7px 10px;border-radius:99px;background:var(--mint);font-size:.75rem;font-weight:850;color:var(--teal-dark)}.page-map a:hover{background:#d2ece4;color:var(--ink)}@media(max-width:820px){.site-header{padding:13px 20px;display:block}.site-header .brand{margin-bottom:2px}.site-header nav{margin-top:10px;gap:2px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:3px}.site-header nav::-webkit-scrollbar{display:none}.site-header nav a{padding:7px 9px;white-space:nowrap}.primary-nav .nav-cta{margin-left:2px}}.tool-step{display:flex;align-items:center;gap:10px;padding-bottom:3px;border-bottom:1px solid var(--line);color:var(--ink);font-weight:900}.tool-step span{color:var(--coral);font-size:.72rem;letter-spacing:.1em}.tool-step p{margin:0}.tool-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.tool-actions .button{border:0;font:inherit;cursor:pointer}.result-empty strong{display:block;margin:26px 0 14px;font-family:Georgia,serif;font-size:2.35rem;line-height:1.04;font-weight:500;color:var(--teal-dark)}.result-empty p{color:var(--ink-soft);font-size:1rem}.result-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-top:22px}.result-kicker{display:block;color:var(--coral);font-size:.68rem;font-weight:950;letter-spacing:.15em}.result-heading h2{margin:7px 0 0;font-family:Georgia,serif;font-size:2.2rem;line-height:1.02;font-weight:500;color:var(--teal-dark)}.score-badge{min-width:75px;padding:9px 10px;border-radius:14px;background:var(--mint);color:var(--teal-dark);text-align:center}.score-badge strong{font-size:2rem;line-height:1}.score-badge span{font-size:.75rem;font-weight:850}.score-track{height:10px;margin:20px 0;border-radius:99px;background:#dcebe6;overflow:hidden}.score-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--coral));transition:width .45s ease}.tool-result h3{margin-top:28px;font-size:1rem;color:var(--ink)}.factor-breakdown{display:grid;gap:11px}.factor-row{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;font-size:.86rem}.factor-row span{color:var(--ink-soft);font-weight:800}.factor-row strong{color:var(--teal-dark)}.mini-track{grid-column:1/-1;height:5px;border-radius:99px;background:#e3eeea;overflow:hidden}.mini-track i{display:block;height:100%;border-radius:inherit;background:var(--teal)}.result-actions{padding-left:20px;margin-bottom:0}.result-actions li{font-size:.92rem;margin:6px 0}.estimator-footnote{margin-top:28px;padding:18px 20px;border:1px solid #cbe3da;border-left:4px solid var(--teal);border-radius:0 14px 14px 0;background:var(--mint);color:#40545a}.estimator-footnote a{font-weight:900}@media(max-width:600px){.result-heading h2{font-size:1.8rem}.score-badge{min-width:65px}.tool-actions .button{width:100%;text-align:center}}.footer-brand small{display:block;color:#849197;font-size:.76rem}.footer-links{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:30px}.footer-links div{display:grid;align-content:start;gap:3px}.footer-links strong{color:var(--ink);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.footer-links a{padding:4px 0}@media(max-width:760px){.footer-links{grid-template-columns:repeat(2,1fr);margin-top:28px}}.faq-list{display:grid;gap:10px;margin-top:24px}.faq-list details{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:0 18px;box-shadow:0 7px 24px #1f303909}.faq-list summary{cursor:pointer;list-style:none;padding:18px 28px 18px 0;color:var(--ink);font-weight:900;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:2px;top:14px;color:var(--coral);font-size:1.35rem;font-weight:500}.faq-list details[open] summary:after{content:"−"}.faq-list details p{margin:0 0 18px;padding-right:24px}.comparison-table-wrap{margin-top:26px;overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 7px 24px #1f30390a}.comparison-table{width:100%;min-width:680px;border-collapse:collapse;text-align:left}.comparison-table th,.comparison-table td{padding:16px 18px;border-bottom:1px solid var(--line);vertical-align:top}.comparison-table thead th{background:var(--mint);color:var(--teal-dark);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.comparison-table tbody tr:last-child th,.comparison-table tbody tr:last-child td{border-bottom:0}.comparison-table tbody th{color:var(--ink);white-space:nowrap}.comparison-table td{color:var(--ink-soft);font-size:.94rem}.tag,.step-number{color:#a84436}.evidence-panel .tag,.source-box .tag{color:#ffab9d}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px}.step-card{position:relative;overflow:hidden;padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:18px}.step-card:after{content:"";position:absolute;right:-24px;bottom:-42px;width:100px;height:100px;border:1px solid #bfe3d9;border-radius:50%}.step-number{color:var(--coral);font-weight:950;letter-spacing:.12em;font-size:.72rem}.step-card h3{font-size:1.15rem;color:var(--ink);margin:20px 0 7px}.step-card p{color:var(--ink-soft);font-size:.95rem}@media(max-width:900px){.steps-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.steps-grid{grid-template-columns:1fr}}
