:root{--navy:#0f2c59;--blue:#1a4a8a;--accent:#2e7d32;--accent-dark:#1b5e20;--light:#f5f7fa;--gray:#4f5b66;--border:#d9dee4;--focus:#ffbf47}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:5rem}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.65;color:#1f2328;background:#fff;font-size:1.0625rem}
a{color:var(--blue)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.container{max-width:1100px;margin:0 auto;padding:0 1.25rem}
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:var(--navy);padding:.6rem 1rem;z-index:200;font-weight:600}
.skip-link:focus{left:1rem;top:.5rem}
.site-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.nav{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;flex-wrap:wrap;gap:.5rem}
.logo{color:#fff;text-decoration:none;font-size:1.45rem;font-weight:700;letter-spacing:.2px}
.logo span{color:#a8d5ff;margin-left:.3rem}
.menu{display:flex;list-style:none;gap:.25rem 1rem;flex-wrap:wrap}
.menu a{color:#fff;text-decoration:none;font-weight:500;padding:.35rem .1rem;display:inline-block;font-size:.98rem}
.menu a:hover,.menu a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}
.menu-toggle{display:none;background:transparent;border:2px solid rgba(255,255,255,.6);color:#fff;border-radius:6px;padding:.4rem .7rem;font-size:1rem;cursor:pointer;align-items:center;gap:.5rem}
.menu-icon,.menu-icon::before,.menu-icon::after{display:block;width:20px;height:2px;background:#fff;position:relative;content:""}
.menu-icon::before{position:absolute;top:-6px}.menu-icon::after{position:absolute;top:6px}
@media (max-width:1000px){
 .menu-toggle{display:inline-flex}
 .js .menu{display:none;width:100%;flex-direction:column;padding:.5rem 0 .75rem;border-top:1px solid rgba(255,255,255,.2)}
 .js .menu.open{display:flex}
 .menu a{padding:.55rem 0;font-size:1.05rem}
}
.hero{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;padding:3.5rem 0 3rem;text-align:center}
.hero h1{color:#fff;font-size:2.3rem;line-height:1.25;margin-bottom:.75rem}
.subtitle{font-size:1.2rem;opacity:.95;max-width:760px;margin:0 auto 1rem}
.hero-note{font-size:.95rem;opacity:.9}
.home-content{padding:2.5rem 1.25rem 3.5rem}
.home-content>section{margin-bottom:2.5rem}
.page-content{padding:2.5rem 1.25rem 3.5rem;max-width:860px}
h1{color:var(--navy);font-size:2.1rem;line-height:1.25;margin-bottom:.5rem}
h2{font-size:1.55rem;color:var(--navy);margin:2.2rem 0 .8rem;line-height:1.3}
h3{font-size:1.2rem;color:var(--blue);margin:1.2rem 0 .5rem}
p,ul,ol{margin-bottom:1rem}
ul,ol{padding-left:1.4rem}
li{margin-bottom:.4rem}
.lead{font-size:1.15rem;color:var(--gray);margin-bottom:1.25rem}
.disclaimer{background:#fff8e1;border-left:4px solid #f9a825;padding:.75rem 1rem;margin:1.25rem 0;border-radius:4px;font-size:.95rem}
.note{background:var(--light);border-left:4px solid var(--blue);padding:.75rem 1rem;margin:1rem 0;border-radius:4px;font-size:.97rem}
.example{background:#eef6ee;border:1px solid #cfe3cf;border-radius:8px;padding:1rem 1.25rem;margin:1.5rem 0}
.example h3{margin-top:0;color:var(--accent-dark)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;margin-top:1rem}
.card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:1.25rem 1.4rem;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.card h3{margin:0 0 .5rem}
.card a{text-decoration:none}.card a:hover{text-decoration:underline}
.checklist li{margin-bottom:.7rem}
.table-wrapper{overflow-x:auto;margin:1rem 0 1.25rem;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;background:#fff;font-size:.97rem}
caption{text-align:left;font-weight:600;color:var(--gray);padding-bottom:.5rem}
th,td{padding:.7rem .85rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
thead th{background:var(--navy);color:#fff}
tbody th{font-weight:600;background:var(--light)}
.factor-table td,.factor-table th{padding:.35rem .7rem}
.calculator{background:#fff;border:1px solid var(--border);padding:1.5rem;border-radius:10px;max-width:520px;margin:1.5rem 0}
.field{margin-bottom:1rem}
.calculator label{display:block;margin-bottom:.3rem;font-weight:600}
.calculator input{width:100%;padding:.6rem;border:1px solid #8a96a3;border-radius:6px;font-size:1.05rem}
.help{font-size:.9rem;color:var(--gray);margin:.3rem 0 0}
.btn{background:var(--accent);color:#fff;border:none;padding:.7rem 1.3rem;border-radius:6px;cursor:pointer;font-size:1.02rem;font-weight:600}
.btn:hover{background:var(--accent-dark)}
.form-error{color:#b00020;font-weight:600;margin-top:.75rem}
.result{margin-top:1rem;padding:1rem;background:#e8f5e9;border-radius:6px}
.result[hidden],.form-error[hidden]{display:none}
.faq details{border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;margin-bottom:.6rem;background:#fff}
.faq summary{cursor:pointer;font-weight:600;color:var(--navy)}
.faq details p{margin:.6rem 0 0}
.next-steps{background:var(--light);border-radius:10px;padding:1rem 1.25rem;margin:2rem 0 1rem}
.next-steps h2{margin-top:0;font-size:1.25rem}
.next-steps ul{margin-bottom:0}
.sources h2{font-size:1.2rem}
.sources{font-size:.95rem}
.reviewed{color:var(--gray);font-size:.92rem;margin-top:1.5rem}
.link-list{list-style:none;padding:0}
.site-footer{background:var(--navy);color:#fff;padding:2rem 0;text-align:center;font-size:.92rem}
.site-footer a{color:#fff}
.footer-links{margin-bottom:.6rem}
main:focus{outline:none}
@media (max-width:600px){.hero h1{font-size:1.75rem}h1{font-size:1.7rem}h2{font-size:1.35rem}body{font-size:1rem}}
@media print{.site-header,.site-footer,.skip-link,.next-steps{display:none}}
.example{background:#f0f6ff;border-left:4px solid var(--blue);padding:1rem 1.25rem;margin:1.25rem 0;border-radius:4px}
.example h3{margin-top:0}
.table-wrap{overflow-x:auto;margin:1rem 0}
table{border-collapse:collapse;width:100%;font-size:.97rem}
th,td{border:1px solid var(--border);padding:.5rem .65rem;text-align:left;vertical-align:top}
th{background:var(--light)}
td.num,th.num{text-align:right;white-space:nowrap}
