:root{--ink:#11293a;--muted:#526477;--navy:#102d43;--blue:#1260a7;--teal:#087f73;--line:#d6e1e6;--paper:#f5f8fa;--white:#fff;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--paper)}a{color:var(--blue);text-underline-offset:3px}a:hover{color:var(--teal)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b36910;outline-offset:4px}[hidden]{display:none!important}img{max-width:100%;height:auto}h1,h2,h3{line-height:1.2;letter-spacing:-.03em;color:var(--navy)}h1{font-size:clamp(2rem,4vw,3.35rem);margin:.4rem 0 1rem}h2{font-size:clamp(1.5rem,2.5vw,2.15rem);margin:0 0 1rem}h3{font-size:1.18rem;margin:0 0 .5rem}p{margin:0 0 1rem}.container{width:min(1200px,calc(100% - 48px));margin:auto}.skip{position:absolute;top:-100px;left:16px;background:white;padding:8px;z-index:10}.skip:focus{top:10px}.header{background:white;border-bottom:1px solid var(--line);position:relative;z-index:5}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:88px}.brand{display:block;line-height:0;flex-shrink:0}.brand img{width:238px;height:auto}.nav{display:flex;gap:28px;align-items:center}.nav a{font-size:.95rem;font-weight:650;color:var(--navy);text-decoration:none}.nav a:hover{text-decoration:underline}.menu-button{display:none;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 14px;color:var(--ink)}.eyebrow{color:var(--teal);font-size:.76rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase;margin:0 0 12px}.hero{overflow:hidden;background:radial-gradient(ellipse at 90% 5%,#d9f0ed 0,transparent 45%),linear-gradient(120deg,#edf3f8 0,#f6fafb 75%);border-bottom:1px solid var(--line);padding:64px 0 56px}.hero-grid{display:grid;grid-template-columns:1.16fr 1fr;gap:60px;align-items:center}.hero h1{font-size:clamp(2.5rem,5vw,4.2rem);max-width:670px}.hero p{max-width:590px;color:var(--muted);font-size:1.1rem}.hero-search{display:flex;border:1px solid #bacbd5;border-radius:12px;background:white;padding:6px;margin:26px 0 18px;box-shadow:0 8px 25px #123b5310}.hero-search input{border:0;min-width:0;flex:1;padding:10px 12px}.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border:0;border-radius:9px;background:var(--blue);color:white;font-weight:650;text-decoration:none;line-height:1.4;gap:10px}.button:hover{background:#0c477d;color:white}.button.secondary{background:#e8f0f5;color:var(--navy);border:1px solid #bccfdc}.trust-strip{display:flex;gap:18px;flex-wrap:wrap;font-size:.84rem;color:var(--muted)}.property-demo{background:white;border:1px solid #c8dce2;border-radius:24px;box-shadow:0 24px 70px #15476018;transform:rotate(1deg);padding:24px;position:relative}.demo-visual{height:164px;background:#e8f1f5;border-radius:14px;overflow:hidden;display:flex;align-items:end;justify-content:center;margin-bottom:20px}.demo-visual svg{width:95%;height:150px}.demo-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;font-weight:700}.tag{font-size:.75rem;background:#e4f4ef;color:#086251;border-radius:40px;padding:4px 9px;font-weight:700}.demo-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.demo-stat{background:var(--paper);padding:12px;border-radius:10px}.demo-stat span{display:block;font-size:.8rem;color:var(--muted)}.demo-stat strong{font-size:1.45rem;letter-spacing:-.04em}.section{padding:54px 0}.section.white{background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.section-heading p{color:var(--muted);max-width:650px;margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{display:flex;flex-direction:column;gap:10px;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-decoration:none;color:var(--ink);transition:transform .15s,border-color .15s,box-shadow .15s;min-width:0}.card:hover{color:var(--ink);border-color:#70a6b5;transform:translateY(-3px);box-shadow:0 10px 24px #153b5010}.card h3{margin:0;font-size:1.15rem}.card p{margin:0;color:var(--muted);font-size:.9rem}.card .arrow{color:var(--blue);font-weight:650;margin-top:auto;font-size:.88rem}.icon{width:43px;height:43px;background:#e9f2f5;border-radius:11px;color:var(--teal);display:grid;place-items:center}.icon svg{width:27px;height:27px}.mini{font-size:.8rem;color:var(--muted)}.content-top{padding:28px 0 30px}.breadcrumbs{font-size:.82rem;color:var(--muted);margin:0 0 22px;overflow-wrap:anywhere}.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.breadcrumbs li+li:before{content:'/';padding-right:8px;color:#687e8e}.lead{color:var(--muted);font-size:1.1rem;max-width:850px}.directory{display:grid;grid-template-columns:235px minmax(0,1fr);gap:28px;align-items:start;padding:0 0 55px}.filters{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;position:sticky;top:20px}.filters h2{font-size:1.1rem}.filters label{display:flex;align-items:flex-start;gap:9px;margin:14px 0;font-size:.88rem;line-height:1.4}.filters input{margin-top:3px;accent-color:var(--teal);flex-shrink:0}.filter-count{margin-left:auto;color:var(--muted)}.filter-toggle{display:none}.directory-results{min-width:0}.search-row{display:flex;gap:12px;align-items:end;margin-bottom:22px}.search-label{flex:1;font-size:.86rem;font-weight:650}.search-label input{margin-top:5px}.result-count{font-size:.88rem;color:var(--muted);margin-bottom:16px}.directory .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.empty{padding:30px;border:1px dashed #93aab8;border-radius:12px}.calc-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;align-items:start;padding-bottom:40px}.calc-form{background:white;border:1px solid var(--line);border-radius:20px;padding:27px}.calc-form h2{font-size:1.25rem;margin-bottom:22px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:block;font-size:.87rem;font-weight:650;min-width:0}.field small{display:block;font-size:.76rem;font-weight:400;color:var(--muted);margin-top:6px;line-height:1.4}.field-label{display:block;margin-bottom:5px}.unit{font-weight:400;color:var(--muted);font-size:.76rem}.field input,.field select,input[type=search],.contact input,.contact textarea{width:100%;border:1px solid #aebfca;border-radius:8px;padding:10px 12px;background:white;color:var(--ink);min-width:0;min-height:44px}.field input[type=checkbox]{width:20px;min-height:20px;margin:8px 0}.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.result-panel{background:var(--navy);border-radius:20px;padding:28px;color:white;position:sticky;top:24px;min-width:0}.result-panel h2{font-size:.8rem;color:#a7d8d9;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.primary-result{font-size:clamp(1.85rem,3.3vw,2.7rem);font-weight:750;letter-spacing:-.055em;line-height:1.17;overflow-wrap:anywhere;margin:10px 0}.result-label{color:#dbe8ed;font-size:.9rem}.result-list{margin:24px 0 0}.result-row{border-top:1px solid #ffffff25;padding:12px 0;display:flex;justify-content:space-between;gap:15px;align-items:baseline;line-height:1.4}.result-row dt{font-size:.85rem;color:#c3d9e3}.result-row dd{margin:0;font-size:1rem;font-weight:650;text-align:right;overflow-wrap:anywhere}.result-note{font-size:.8rem;color:#d7e5ec;margin:20px 0 0;line-height:1.55}.result-panel .button.secondary{margin-top:18px;background:#ffffff12;color:white;border-color:#ffffff45;font-size:.8rem}.error{color:#9b2222;background:#fff1ef;border:1px solid #df9a93;border-radius:10px;padding:14px;margin:18px 0;line-height:1.5}.field [aria-invalid=true]{border-color:#ba3535}.article-layout{display:grid;grid-template-columns:minmax(0,830px) minmax(210px,1fr);gap:30px;padding-bottom:55px;align-items:start}.article{background:white;border:1px solid var(--line);border-radius:20px;padding:35px;min-width:0}.article section+section{border-top:1px solid var(--line);padding-top:28px;margin-top:30px}.article h2{font-size:1.6rem}.article h3{margin:22px 0 10px}.article ul,.article ol{padding-left:22px}.article p:last-child{margin-bottom:0}.article .answer{background:#eaf5f2;border-left:4px solid var(--teal);padding:20px;border-radius:0 10px 10px 0;margin-bottom:30px}.aside{background:#eaf1f5;border:1px solid #cedde5;border-radius:18px;padding:23px;position:sticky;top:24px}.aside h2{font-size:1.05rem}.aside a{display:block;margin:12px 0;font-size:.9rem}.formula{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:17px;font-size:.87rem;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.8}.variables dt{font-weight:650;font-size:.93rem;margin-top:12px}.variables dd{margin:2px 0 0;color:var(--muted);font-size:.86rem}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin:18px 0;max-width:100%}table{border-collapse:collapse;width:100%;font-size:.88rem;text-align:left}th,td{padding:10px 13px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:650;background:var(--paper)}tr:last-child td{border-bottom:0}.related-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.related-links a{padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:10px;font-size:.87rem;text-decoration:none;line-height:1.4}.source-list{padding-left:20px}.source-list li{margin:12px 0}.source-list small{display:block;color:var(--muted);font-size:.79rem}.faq-item h3{font-size:1.06rem}.faq-item p{font-size:.94rem}.trust-block{background:var(--navy);border-radius:22px;padding:35px;color:#d9e8ed;display:grid;grid-template-columns:1fr 1fr;gap:40px}.trust-block h2{color:white}.trust-block a{color:#a8dcf6}.contact{max-width:650px}.contact label{display:block;font-weight:650;font-size:.9rem;margin:18px 0}.contact input,.contact textarea{margin-top:5px}.honeypot{position:absolute;left:-9999px}.status{padding:14px;border-radius:9px;background:#eaf4ef;color:#155c44;margin-top:16px}.footer{background:white;border-top:1px solid var(--line);padding:42px 0 20px}.footer-top{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:30px}.footer-top p{margin:0;font-size:.83rem;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px}.footer h2{font-size:.85rem;letter-spacing:0;margin:0 0 12px}.footer ul{padding:0;list-style:none;margin:0}.footer li{margin:8px 0}.footer a{color:var(--muted);font-size:.78rem;text-decoration:none}.footer a:hover{color:var(--blue);text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);margin-top:28px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:.74rem;color:var(--muted)}.not-found{padding:70px 0 100px;min-height:45vh}.reviewed{font-size:.77rem;color:var(--muted);margin:16px 0}.link-cta{background:#edf6f4;border:1px solid #c2ded7;border-radius:13px;padding:20px;margin:25px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1000px){.nav{gap:18px}.category-grid{grid-template-columns:1fr 1fr}.hero-grid{gap:30px}.brand img{width:210px}.article-layout{grid-template-columns:minmax(0,1fr) 220px}.footer-grid{grid-template-columns:repeat(3,1fr)}.calc-shell{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr}}
@media(max-width:760px){.container{width:calc(100% - 32px)}.header-inner{min-height:74px}.brand img{width:195px}.menu-button{display:block}.nav{display:none;position:absolute;left:0;right:0;top:74px;background:white;padding:20px 24px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #123b5310;flex-direction:column;align-items:start}.nav.open{display:flex}.hero{padding:40px 0}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:2.7rem}.property-demo{transform:none;max-width:500px;width:100%;margin:0 auto}.demo-visual{height:140px}.hero-grid{gap:35px}.section{padding:36px 0}.grid{grid-template-columns:1fr 1fr}.section-heading{align-items:start;flex-direction:column;gap:12px}.directory{grid-template-columns:1fr;gap:16px}.filters{display:none;position:static}.filters.open{display:block}.filter-toggle{display:block}.directory .grid{grid-template-columns:1fr 1fr}.search-row{align-items:stretch;flex-wrap:wrap}.search-label{flex-basis:100%}.calc-shell{grid-template-columns:1fr;gap:20px}.fields{grid-template-columns:1fr 1fr}.result-panel{position:static}.calc-form,.article{padding:22px}.article-layout{grid-template-columns:1fr}.aside{position:static}.article h2{font-size:1.45rem}.trust-block{grid-template-columns:1fr;gap:20px;padding:25px}.footer-grid{grid-template-columns:1fr 1fr}.footer-top{align-items:start;flex-direction:column}.footer-bottom{flex-direction:column;gap:5px}.card{padding:18px}.hero-search{flex-direction:column}.hero-search input{width:100%}.hero-search button{width:100%}.related-links{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.container{width:calc(100% - 28px)}.header-inner{gap:10px}.brand img{width:174px}.menu-button{padding:7px 10px;font-size:.82rem}.hero h1{font-size:2.35rem}.hero p{font-size:1rem}.grid,.directory .grid{grid-template-columns:1fr}.category-grid{gap:10px}.category-grid .card{padding:15px}.category-grid h3{font-size:1rem}.category-grid p{font-size:.8rem}.fields{grid-template-columns:1fr}.related-links{grid-template-columns:1fr}.result-panel{padding:22px}.result-row{gap:10px;flex-direction:column}.result-row dd{text-align:left}.footer-grid{gap:22px}.trust-strip{gap:8px 15px}.property-demo{padding:18px}.form-actions button{flex:1}.article{padding:20px}.primary-result{font-size:2rem}th,td{padding:9px 10px}.demo-stat strong{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Source values and captions remain readable at narrow widths. */
caption{text-align:left;padding:10px 13px;font-weight:650;background:#eaf1f5;color:var(--navy)}.table-wrap th{max-width:32em}.result-panel .unit{color:#c3d9e3}.trust-block h3{color:white}

@media(max-width:760px){.calc-shell .result-panel{grid-row:1}.calc-shell .calc-form{grid-row:2}}

.mobile-only{display:none!important}@media(max-width:760px){.mobile-only{display:inline-flex!important}}
