:root{--bg:#f3f0e8;--ink:#1c2420;--muted:#4e5a52;--green:#17382a;--green-2:#245c40;--line:#d7d0c3;--card:#fffdf8;--accent:#8a3e12;--focus:#1a1a1a;--soon:#5c675f;--max:42rem;--wide:68rem;color-scheme:light;}*,*::before,*::after{box-sizing:border-box;}html{scroll-behavior:smooth;}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1.0625rem;line-height:1.6;}img{max-width:100%;height:auto;}a{color:var(--green-2);}a:hover{color:var(--accent);}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;}.skip{position:absolute;left:0.75rem;top:-4rem;background:var(--ink);color:#fff;padding:0.5rem 0.8rem;z-index:5;}.skip:focus{top:0.75rem;color:#fff;}.site-header{background:var(--green);color:#f4f7f4;border-bottom:4px solid #c4a574;}.header-bar{max-width:var(--wide);margin:0 auto;padding:0.85rem 1.1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.6rem 1.25rem;}.brand{color:#fff;text-decoration:none;font-weight:700;letter-spacing:0.01em;display:inline-flex;align-items:center;gap:0.55rem;min-height:44px;}.brand:hover{color:#fff;}.nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:0.2rem 0.35rem;margin:0;padding:0;}.nav a{color:#f4f7f4;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0.2rem 0.55rem;border-bottom:2px solid transparent;}.nav a:hover,.nav a[aria-current="page"]{color:#fff;border-bottom-color:#c4a574;}.wrap{max-width:var(--max);margin:0 auto;padding:1.4rem 1.1rem 3rem;}.wrap-wide{max-width:var(--wide);}.crumbs{display:flex;flex-wrap:wrap;gap:0.35rem;color:var(--muted);font-size:0.92rem;margin:0 0 1rem;}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:0.35rem;margin:0;padding:0;}.crumbs li:not(:last-child)::after{content:"/";margin-left:0.35rem;color:#8a8478;}h1{font-size:clamp(1.8rem,4vw,2.45rem);line-height:1.15;letter-spacing:-0.02em;margin:0 0 0.7rem;}h2{font-size:1.35rem;line-height:1.25;margin:2rem 0 0.6rem;}h3{font-size:1.08rem;margin:1.3rem 0 0.35rem;}.dek{font-size:1.12rem;color:var(--muted);margin-top:0;}.byline{color:var(--muted);font-size:0.95rem;margin:0.2rem 0 1rem;}.disclosure{background:#f7f1df;border-left:4px solid #c4a574;padding:0.7rem 0.85rem;margin:0 0 1.2rem;font-size:0.95rem;}.photo{margin:1.2rem 0 1.4rem;background:var(--card);border:1px solid var(--line);padding:0.55rem;}.photo img{display:block;width:100%;background:#e7efe8;}.photo figcaption{margin-top:0.45rem;color:var(--soon);font-size:0.9rem;}.soon-label{font-weight:700;letter-spacing:0.02em;text-transform:uppercase;font-size:0.75rem;color:var(--green);}ol.steps{padding-left:1.2rem;}ol.steps li{margin:0.55rem 0;}.note{background:var(--card);border:1px solid var(--line);padding:0.8rem 0.95rem;margin:1rem 0;}.guide-list,.related-list{list-style:none;margin:0;padding:0;}.guide-list li,.related-list li{border-top:1px solid var(--line);padding:0.85rem 0;}.guide-list li:last-child,.related-list li:last-child{border-bottom:1px solid var(--line);}.guide-list a,.related-list a{font-weight:700;}.guide-list p,.related-list p{margin:0.2rem 0 0;color:var(--muted);}.home-lead{font-size:1.18rem;}.cta-row{display:flex;flex-wrap:wrap;gap:0.6rem;margin:1.1rem 0 1.6rem;}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.45rem 0.9rem;background:var(--green);color:#fff;text-decoration:none;border:2px solid var(--green);font-weight:700;}.button:hover{background:var(--green-2);color:#fff;border-color:var(--green-2);}.button.secondary{background:transparent;color:var(--green);}.button.secondary:hover{background:var(--green);color:#fff;}table{width:100%;border-collapse:collapse;background:var(--card);margin:0.6rem 0 1rem;font-size:0.98rem;}th,td{text-align:left;vertical-align:top;padding:0.55rem 0.65rem;border-bottom:1px solid var(--line);}th{background:#e7efe8;font-weight:700;}.responsive-table{margin:0.4rem 0 1.2rem;}.faq{margin:0;}.faq details{border-top:1px solid var(--line);padding:0.55rem 0;}.faq details:last-child{border-bottom:1px solid var(--line);}.faq summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center;}.faq summary:hover{color:var(--accent);}.sources{padding-left:1.15rem;}.sources li{margin:0.45rem 0;}.site-footer{border-top:1px solid var(--line);background:#ebe6dc;padding:1.3rem 1.1rem 2rem;}.footer-bar{max-width:var(--wide);margin:0 auto;display:flex;flex-wrap:wrap;gap:0.7rem 1.2rem;align-items:center;justify-content:space-between;}.footer-nav{display:flex;flex-wrap:wrap;gap:0.35rem 1rem;}.footer-nav a{min-height:44px;display:inline-flex;align-items:center;}.copyright{margin:0;color:var(--muted);}.tool{background:var(--card);border:1px solid var(--line);padding:1rem;margin:0.5rem 0 1.2rem;}.grid{display:grid;gap:0.85rem;}label,legend{font-weight:700;}.field{display:flex;flex-direction:column;gap:0.3rem;}input,select,button{font:inherit;color:inherit;}input[type="number"],select{min-height:44px;padding:0.4rem 0.55rem;border:1px solid #8d867a;background:#fff;width:100%;}.choices{display:flex;flex-direction:column;gap:0.35rem;margin-top:0.35rem;}.choices label{font-weight:500;display:flex;gap:0.5rem;align-items:center;min-height:44px;}.custom-dims{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.6rem;}.custom-dims[hidden]{display:none;}button.calc{min-height:48px;background:var(--green);color:#fff;border:0;font-weight:700;padding:0.5rem 1rem;cursor:pointer;}button.calc:hover{background:var(--green-2);}.results{margin-top:1rem;background:#f6f3ea;border:1px solid var(--line);padding:0.85rem;}.results h2{margin-top:0;}.stat{margin:0.25rem 0;}.stat strong{font-variant-numeric:tabular-nums;}.error{color:#8a1f12;font-weight:700;}@media (max-width:700px){.custom-dims{grid-template-columns:1fr;}.responsive-table table,.responsive-table thead,.responsive-table tbody,.responsive-table th,.responsive-table td,.responsive-table tr{display:block;}.responsive-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}.responsive-table tr{margin:0 0 0.85rem;padding:0.75rem 0.9rem;border:1px solid var(--line);background:var(--card);}.responsive-table td{border:0;padding:0.4rem 0;}.responsive-table td::before{content:attr(data-label);display:block;font-size:0.75rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted);margin-bottom:0.12rem;}}
