:root{--brand: #0a6e5c;--brand-dark: #085548;--ink: #1a2b27;--muted: #5b6f6a;--bg: #ffffff;--surface: #f3f7f5;--surface-hover: #e9f2ee;--line: #dbe5e1;--accent: #8c5b0e;--max-width: 56rem}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}.wrap{max-width:var(--max-width);margin:0 auto;padding:0 1rem}h1{font-size:1.6rem;line-height:1.25;margin:1rem 0 .5rem}h2{font-size:1.2rem;margin:2rem 0 .5rem}a{color:var(--brand)}.skip-link{position:absolute;left:-999px;top:0;z-index:100;background:#fff;color:var(--brand);padding:.5rem 1rem;border-radius:0 0 4px}.skip-link:focus{left:0}.site-header{background:var(--brand);color:#fff;padding:.55rem 0}.header-row{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .75rem}.site-header .brand{color:#fff;font-weight:700;font-size:1.15rem;text-decoration:none}.site-header .tagline{font-size:.85rem;opacity:.85}.site-nav{margin-left:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.15rem}.nav-group{position:relative}.nav-group summary{list-style:none;cursor:pointer;user-select:none;color:#fff;font-size:.9rem;font-weight:600;padding:.35rem .6rem;border-radius:4px;white-space:nowrap}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:" ▾";font-size:.7em;opacity:.8}.nav-group summary:hover,.nav-group[open] summary{background:var(--brand-dark)}.nav-group ul{position:absolute;left:0;top:100%;z-index:20;min-width:16rem;margin:.35rem 0 0;padding:.35rem 0;list-style:none;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 18px #0a28232e}.nav-group:last-child ul{left:auto;right:0}.nav-group li a{display:block;padding:.45rem .9rem;color:var(--ink);text-decoration:none;font-size:.9rem}.nav-group li a:hover{background:var(--surface);color:var(--brand)}.nav-group li a[aria-current=page]{font-weight:700;color:var(--brand)}@media(max-width:599px){.site-header .tagline{display:none}.site-nav{position:relative}.nav-group{position:static}.nav-group ul,.nav-group:last-child ul{left:auto;right:0}}.breadcrumb{display:flex;gap:.4rem;margin-top:.9rem;font-size:.8rem;color:var(--muted)}.breadcrumb a{color:var(--muted)}.breadcrumb+h1{margin-top:.3rem}.calc-grid{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.7rem;grid-template-columns:1fr}@media(min-width:640px){.calc-grid{grid-template-columns:1fr 1fr}}.calc-card{display:block;height:100%;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink)}.calc-card:hover{border-color:var(--brand);background:var(--surface-hover)}.calc-card-name{display:block;font-weight:700;color:var(--brand);margin-bottom:.15rem}.calc-card-blurb{display:block;font-size:.85rem;line-height:1.45;color:var(--muted)}.chip-list{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.chip-list a{display:inline-block;padding:.45rem .9rem;background:var(--surface);border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.9rem;font-weight:600}.chip-list a:hover{border-color:var(--brand);background:var(--surface-hover)}.site-footer{margin-top:3rem;padding:1.4rem 0 2rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.footer-directory{display:grid;gap:1rem 2rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));margin-bottom:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}.footer-col h2{margin:0 0 .4rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}.footer-col ul{list-style:none;margin:0;padding:0}.footer-col li{margin:.3rem 0}.footer-col a{color:var(--muted);text-decoration:none}.footer-col a:hover{color:var(--brand);text-decoration:underline}.footer-nav{margin-top:.8rem;display:flex;gap:1rem}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--line)}thead th{background:var(--surface)}@media(min-width:720px){h1{font-size:2rem}}@media(max-width:719px){h1{margin-top:.8rem}h2{margin-top:1.5rem}}form label{display:block;font-weight:600;margin:1rem 0 .3rem}form input,form select{display:block;width:100%;max-width:20rem;font-size:16px;padding:.5rem .6rem;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}form input:focus,form select:focus{outline:2px solid var(--brand);outline-offset:1px}form select{appearance:none;background-color:var(--surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235b6f6a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:.7rem auto;padding-right:2.1rem;cursor:pointer}.form-intro{margin:.2rem 0 .6rem;font-size:.9rem;color:var(--muted)}.req-pill,.opt-pill{display:inline-block;margin-left:.4rem;padding:.02rem .45rem;border-radius:999px;font-size:.66rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;vertical-align:.14em}.req-pill{color:var(--accent);background:#fdf4e3;border:1px solid #e5c890}.opt-pill{color:var(--muted);background:var(--surface);border:1px solid var(--line);font-weight:500}form .affix{display:flex;align-items:stretch;width:100%;max-width:20rem;border:1px solid var(--line);border-radius:4px;background:#fff}form .affix>.affix-tag{display:flex;align-items:center;padding:0 .55rem;font-size:.92rem;font-weight:600;color:var(--muted);background:var(--surface);border-right:1px solid var(--line);border-radius:3px 0 0 3px;user-select:none}form .affix>.affix-tag.affix-suffix{border-right:none;border-left:1px solid var(--line);border-radius:0 3px 3px 0}form .affix>input{border:none;border-radius:3px;max-width:none;flex:1;min-width:0}form .affix:focus-within{outline:2px solid var(--brand);outline-offset:1px}form .affix>input:focus{outline:none}form .affix.field-primary{border-color:var(--brand)}form .affix.field-primary>input,form input.field-primary{font-size:1.12rem;font-weight:600}form fieldset.form-group{border:0;margin:1.6rem 0 0;padding:0;min-width:0}form fieldset.form-group>legend{padding:0;margin:0 0 -.4rem;font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--brand)}form .field-hint{font-size:.8rem;color:var(--muted);margin:.2rem 0 0}form .form-error{color:#a3241a;font-size:.85rem;font-weight:600;margin:.3rem 0 0}form .checkbox-field{display:flex;align-items:center;gap:.5rem;margin:1rem 0 .3rem}form .checkbox-field input[type=checkbox]{display:inline-block;width:1.05rem;height:1.05rem;max-width:none;flex-shrink:0;accent-color:var(--brand);cursor:pointer}form .checkbox-field label{display:inline;margin:0;font-weight:600}form details.more-options{margin-top:1.4rem;border-top:1px solid var(--line);padding-top:.9rem}form details.more-options>summary{display:inline-flex;align-items:baseline;gap:.45rem;padding:.45rem .9rem;border:1px solid var(--line);border-radius:6px;background:var(--surface);cursor:pointer;user-select:none;font-weight:600;font-size:.92rem;list-style:none}form details.more-options>summary::-webkit-details-marker{display:none}form details.more-options>summary:before{content:"▸";color:var(--brand);transition:transform .15s}form details.more-options[open]>summary:before{content:"▾"}form details.more-options>summary:hover{border-color:var(--brand);background:var(--surface-hover)}form .weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(2.6rem,1fr));gap:.4rem;max-width:30rem;margin:.3rem 0 0}form .weekday-grid>div{display:flex;flex-direction:column;gap:.2rem}form .weekday-grid label{margin:0;font-size:.78rem;font-weight:600;color:var(--muted);text-align:center}form .weekday-grid input{width:100%;max-width:none;padding:.45rem .2rem;text-align:center}@media(max-width:30rem){form .weekday-grid{grid-template-columns:repeat(4,1fr)}}form button.mini-btn{margin:.4rem 0 0;padding:.35rem .8rem;font-size:.85rem;font-weight:600;color:var(--brand);background:var(--surface);border:1px solid var(--line);border-radius:6px;cursor:pointer}form button.mini-btn:hover{border-color:var(--brand);background:var(--surface-hover)}form.table-lookup{margin:1rem 0 1.2rem;padding:.9rem 1rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:8px}form.table-lookup label{margin-top:0}.lookup-answer{margin:.6rem 0 0;padding:.55rem .7rem;border-left:3px solid var(--brand);background:#fff;font-weight:600}tr.row-hit>td{background:var(--surface-hover);box-shadow:inset 0 0 0 9999px #0a6e5c14;font-weight:700}.advice-note{color:var(--muted);font-size:.85rem}.table-scroll{overflow-x:auto}form button{margin-top:1.2rem;padding:.6rem 1.4rem;font-size:1rem;font-weight:600;color:#fff;background:var(--brand);border:none;border-radius:4px;cursor:pointer}form button:hover{background:var(--brand-dark)}.results[aria-live]{margin-top:1.5rem;padding:1rem 1.2rem;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:4px}.results[aria-live] p{margin:.35rem 0}.results[aria-live] strong{font-size:1.08em;font-variant-numeric:tabular-nums}.results[aria-live] .result-total{margin-top:.7rem;padding-top:.6rem;border-top:1px solid var(--line)}.results[aria-live] .result-total strong{font-size:1.25em}.results[aria-live] .result-headline{margin:.1rem 0 .75rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.results[aria-live] .result-headline .headline-label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.results[aria-live] .result-headline>strong{display:block;font-size:1.65em;line-height:1.2;color:var(--brand);font-variant-numeric:tabular-nums}.results[aria-live] .result-headline .headline-sub{display:block;margin-top:.15rem;font-size:.85rem;color:var(--muted)}.result-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.result-actions-hint{margin-top:.35rem}.restored-note{margin:0 0 .6rem;padding:.5rem .7rem;border-left:3px solid var(--brand);background:var(--surface);font-size:.88rem;color:var(--muted)}.link-btn{padding:0;border:none;background:none;font:inherit;font-weight:600;color:var(--brand);text-decoration:underline;cursor:pointer}.print-url{display:none}.share-btn{margin-top:.8rem;padding:.4rem .9rem;font-size:.85rem;font-weight:600;color:var(--brand);background:#fff;border:1px solid var(--line);border-radius:4px;cursor:pointer}.share-btn:hover{border-color:var(--brand);background:var(--surface-hover)}.disclaimer{color:var(--muted);font-size:.85rem;margin-top:1.5rem}.result-sticky{display:none}@media(max-width:719px){.result-sticky.is-on{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:var(--brand);color:#fff;cursor:pointer;box-shadow:0 -2px 10px #0a282340}.result-sticky-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;opacity:.9}.result-sticky-label:before{content:"↓ "}.result-sticky-value{font-size:1.15rem;font-variant-numeric:tabular-nums;white-space:nowrap}}@media(max-width:599px){form input,form select,form .affix{max-width:none}form details.more-options>summary{display:flex;width:100%}}@media(pointer:coarse){form input,form select{padding-top:.7rem;padding-bottom:.7rem}form .checkbox-field input[type=checkbox]{width:1.3rem;height:1.3rem}.nav-group li a{padding-top:.65rem;padding-bottom:.65rem}.faq summary{padding-top:.8rem;padding-bottom:.8rem}}.faq details{border:1px solid var(--line);border-radius:6px;margin:.5rem 0;background:#fff}.faq summary{padding:.6rem .9rem;cursor:pointer;font-weight:600}.faq details p{margin:0;padding:.1rem .9rem .8rem}@media print{header,footer,.faq,.related,.breadcrumb,.skip-link,.result-actions,.result-actions-hint,.restored-note,.result-sticky{display:none}form button,form .field-hint,form .form-error,form .req-pill,form .opt-pill,form .form-intro,form details.more-options>summary{display:none}form label{margin:.5rem 0 .1rem;font-size:.85rem;color:#444}form input,form select{padding:0 0 .1rem;border:none;border-bottom:1px solid #bbb;border-radius:0;background:none;font-weight:700}.results,#methodology,.print-url{display:block}.print-url{margin-top:.8rem;font-size:.75rem;color:#555;word-break:break-all}}
