.directory-hero{position:relative;overflow:hidden;padding:66px 0 58px;background:radial-gradient(circle at 88% 18%,rgba(50,86,221,.12),transparent 25%),linear-gradient(180deg,#fff 0%,#f7f9ff 100%);border-bottom:1px solid var(--border)}
.directory-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:45px;align-items:center}
.directory-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--primary);font-size:12px;font-weight:700;letter-spacing:1.25px;text-transform:uppercase}
.directory-kicker:before{content:"";width:23px;height:2px;background:currentColor;border-radius:3px}
.directory-hero h1{font-size:clamp(36px,5vw,56px);line-height:1.08;letter-spacing:-1.8px;margin:13px 0 15px;max-width:800px}
.directory-hero p{max-width:760px;color:var(--muted);font-size:17px;line-height:1.75;margin:0}
.directory-art{width:190px;height:170px;justify-self:center;display:grid;place-items:center;position:relative}
.directory-art:before,.directory-art:after{content:"";position:absolute;border:1px solid rgba(50,86,221,.14);border-radius:50%;width:148px;height:148px;box-shadow:0 0 0 20px rgba(50,86,221,.035),0 0 0 42px rgba(50,86,221,.025)}
.directory-art:after{width:90px;height:90px;background:rgba(50,86,221,.07);box-shadow:none}
.directory-art span{z-index:1;width:76px;height:76px;border-radius:22px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:25px;font-weight:700;box-shadow:0 14px 32px rgba(50,86,221,.24)}
.directory-main{padding:55px 0 88px}
.directory-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:25px}
.directory-section-head h2{font-size:clamp(24px,3vw,32px);line-height:1.2;margin:7px 0 0;letter-spacing:-.8px}
.directory-section-head p{max-width:550px;color:var(--muted);font-size:14px;margin:0}
.directory-count{display:inline-flex;align-items:center;white-space:nowrap;padding:8px 12px;border-radius:100px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:700}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.directory-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:23px;border:1px solid var(--border);border-radius:17px;background:#fff;min-height:220px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.directory-card:hover{transform:translateY(-3px);border-color:#cbd5f2;box-shadow:var(--shadow)}
.directory-card-top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}
.directory-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:var(--primary-soft);color:var(--primary);font-size:15px;font-weight:700}
.directory-index{color:#9aa5bb;font-size:11px;font-weight:700;letter-spacing:.8px}
.directory-card h3{font-size:18px;line-height:1.3;letter-spacing:-.35px;margin:18px 0 7px}
.directory-card p{font-size:13px;line-height:1.65;color:var(--muted);margin:0 0 18px}
.directory-card-link{margin-top:auto;display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-size:13px;font-weight:700}
.directory-card-link span{transition:transform .2s ease}.directory-card:hover .directory-card-link span{transform:translateX(3px)}
.directory-category{font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:#6c7892;margin:0 0 3px}
.directory-intro{max-width:880px;color:var(--muted);line-height:1.8;font-size:15px;margin:0 0 30px}
.directory-info-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;margin-top:45px}
.directory-info{border:1px solid var(--border);border-radius:18px;padding:26px;background:#fff}
.directory-info.soft{background:#f6f8ff;border-color:#e5eaff}
.directory-info h2{font-size:20px;margin:0 0 10px;letter-spacing:-.4px}
.directory-info p,.directory-info li{color:var(--muted);font-size:14px;line-height:1.75}
.directory-info p:last-child{margin-bottom:0}
.directory-info ul{padding-left:19px;margin:12px 0 0}
.directory-faq{margin-top:45px;border-top:1px solid var(--border)}
.directory-faq details{border-bottom:1px solid var(--border)}
.directory-faq summary{list-style:none;cursor:pointer;position:relative;padding:17px 35px 17px 0;font-size:14px;font-weight:700}
.directory-faq summary::-webkit-details-marker{display:none}
.directory-faq summary:after{content:"+";position:absolute;right:5px;top:12px;color:var(--primary);font-size:22px;font-weight:400}
.directory-faq details[open] summary:after{content:"−"}
.directory-faq details p{max-width:850px;margin:0;padding:0 0 18px;color:var(--muted);font-size:14px;line-height:1.75}
.directory-breadcrumb{padding:17px 0 0;color:#78839a;font-size:12px}
.directory-breadcrumb a{color:var(--primary);font-weight:600}
.directory-breadcrumb span{padding:0 8px;color:#a3acc0}
.directory-cta{margin-top:48px;padding:30px 34px;background:var(--primary);border-radius:20px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:22px}
.directory-cta h2{font-size:23px;line-height:1.25;margin:0 0 7px;letter-spacing:-.5px}
.directory-cta p{color:#e5eaff;font-size:14px;margin:0}
.directory-cta .btn-white{flex-shrink:0}
.directory-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.directory-tags a{font-size:12px;color:#43557e;border:1px solid #dfe5f4;background:#fff;padding:7px 10px;border-radius:100px}
.directory-tags a:hover{border-color:#b8c6f6;color:var(--primary)}
@media(max-width:900px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-hero-grid{grid-template-columns:minmax(0,1fr) 165px;gap:20px}.directory-art{transform:scale(.85)}}
@media(max-width:640px){.directory-hero{padding:43px 0 38px}.directory-hero-grid{grid-template-columns:1fr}.directory-art{display:none}.directory-hero h1{font-size:36px;letter-spacing:-1.1px}.directory-hero p{font-size:15px}.directory-main{padding:36px 0 60px}.directory-section-head{align-items:flex-start;flex-direction:column;gap:12px}.directory-grid{grid-template-columns:1fr;gap:12px}.directory-card{min-height:0;padding:20px}.directory-card h3{margin-top:13px}.directory-info-grid{grid-template-columns:1fr;gap:13px;margin-top:32px}.directory-info{padding:21px}.directory-cta{align-items:flex-start;flex-direction:column;padding:25px;margin-top:35px}.directory-cta .btn-white{width:100%}.directory-breadcrumb{padding-top:13px}}


/* V16: higher-contrast directory cards in PoolTaken primary blue */
.directory-card{background:linear-gradient(145deg,#3256DD 0%,#2949ca 100%);border-color:#3256DD;color:#fff;box-shadow:0 9px 24px rgba(50,86,221,.12);position:relative;isolation:isolate}
.directory-card:before{content:"";position:absolute;inset:auto -30px -50px auto;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.055);z-index:-1;pointer-events:none}
.directory-card:hover{background:linear-gradient(145deg,#3b60e8 0%,#2b4dcc 100%);border-color:#6e8afa;box-shadow:0 14px 30px rgba(50,86,221,.22)}
.directory-card h3{color:#fff}
.directory-card p{color:#e5eaff}
.directory-icon{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.12)}
.directory-index{color:#d4ddff}
.directory-card-link{color:#fff}
.directory-category{color:#d8e0ff}
.directory-card[hidden],.tool-group[hidden],.directory-no-results[hidden],#clear-tool-search[hidden]{display:none!important}
.directory-search-panel{max-width:760px;margin:0 0 34px;padding:21px 23px;border:1px solid #dce4ff;border-radius:18px;background:linear-gradient(135deg,#f5f7ff 0%,#fff 100%);box-shadow:0 8px 24px rgba(38,66,160,.06)}
.directory-search-panel label{display:block;color:#17254c;font-size:14px;font-weight:700;margin-bottom:10px}
.directory-search-control{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;border:1px solid #cbd6ff;border-radius:12px;background:#fff;transition:border-color .2s,box-shadow .2s}
.directory-search-control:focus-within{border-color:#3256DD;box-shadow:0 0 0 3px rgba(50,86,221,.12)}
.directory-search-control>span{color:#3256DD;font-size:23px;line-height:1}
.directory-search-control input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#1d2b50;font:inherit;font-size:14px}
.directory-search-control input::placeholder{color:#8994ad}
.directory-search-control button{border:0;border-radius:8px;background:#edf1ff;color:#3256DD;padding:7px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.directory-search-status{font-size:12px;color:#697694;margin:10px 0 0}
.directory-no-results{padding:25px;border:1px dashed #aabaf5;border-radius:15px;background:#f7f9ff;color:#1c2b58;text-align:center;margin:24px 0}
.directory-no-results p{font-size:13px;color:#687696;margin:7px 0 0}
.directory-card-link span{color:#fff}
@media(prefers-reduced-motion:reduce){.directory-card,.directory-card-link span{transition:none}}


/* V17: ensure directory styling is refreshed and search is comfortable on every screen */
.directory-search-panel{width:100%;max-width:820px;margin:0 0 38px;padding:22px 24px;border:1px solid #d9e2ff;border-radius:18px;background:linear-gradient(135deg,#f1f4ff 0%,#ffffff 88%);box-shadow:0 12px 30px rgba(35,60,150,.09)}
.directory-search-panel label{display:block;margin:0 0 11px;color:#18264b;font-size:15px;font-weight:700;line-height:1.4}
.directory-search-control{display:flex;width:100%;min-width:0;align-items:center;gap:12px;min-height:56px;padding:0 15px;border:1.5px solid #c7d3ff;border-radius:13px;background:#fff;box-shadow:0 3px 12px rgba(35,60,150,.045);transition:border-color .18s ease,box-shadow .18s ease}
.directory-search-control:focus-within{border-color:#3256DD;box-shadow:0 0 0 4px rgba(50,86,221,.13),0 5px 16px rgba(35,60,150,.07)}
.directory-search-control>span{flex:0 0 auto;color:#3256DD;font-size:22px;line-height:1}
.directory-search-control input{display:block;flex:1 1 auto;width:100%;min-width:0;height:52px;margin:0;padding:0;border:0!important;outline:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#1d2b50;font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.4}
.directory-search-control input::placeholder{color:#8793b0;opacity:1}
.directory-search-control input::-webkit-search-cancel-button{-webkit-appearance:none}
.directory-search-control button{flex:0 0 auto;border:0;border-radius:9px;background:#edf1ff;color:#3256DD;padding:9px 12px;font-family:"DM Sans",sans-serif;font-size:12px;font-weight:700;cursor:pointer}
.directory-search-control button:hover{background:#dfe6ff}
.directory-search-status{margin:11px 0 0;color:#657392;font-size:13px;line-height:1.5}
.directory-card{background:linear-gradient(145deg,#3256DD 0%,#2848c6 100%);border:1px solid #3256DD;color:#fff;box-shadow:0 10px 25px rgba(50,86,221,.16);position:relative;isolation:isolate;overflow:hidden}
.directory-card:before{content:"";position:absolute;inset:auto -34px -56px auto;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.075);z-index:-1;pointer-events:none}
.directory-card:hover{background:linear-gradient(145deg,#3c61e8 0%,#2c4dcc 100%);border-color:#7891ff;box-shadow:0 15px 34px rgba(50,86,221,.25)}
.directory-card h3{color:#fff}.directory-card p{color:#e7ecff}.directory-icon{background:rgba(255,255,255,.17);color:#fff;border:1px solid rgba(255,255,255,.2)}.directory-index{color:#dbe3ff}.directory-card-link{color:#fff}.directory-card-link span{color:#fff}
.directory-card:focus-visible,.directory-search-control button:focus-visible{outline:3px solid #8ca5ff;outline-offset:3px}
.directory-card[hidden],.tool-group[hidden],.directory-no-results[hidden],#clear-tool-search[hidden]{display:none!important}
@media(max-width:640px){.directory-search-panel{max-width:none;margin-bottom:28px;padding:17px 15px;border-radius:15px}.directory-search-control{min-height:52px;gap:9px;padding:0 11px}.directory-search-control input{height:48px;font-size:14px}.directory-search-control button{padding:8px 9px}.directory-card{padding:20px;min-height:0}.directory-grid{grid-template-columns:minmax(0,1fr);gap:13px}}
@media(max-width:360px){.directory-search-panel{padding:14px 11px}.directory-search-control{gap:7px;padding:0 9px}.directory-search-control input{font-size:13px}.directory-search-control button{font-size:11px;padding:7px 8px}}

/* Shared tool-page layout and calculator styling */
.tool-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:30px;align-items:start}
.tool-page-primary{min-width:0}
.tool-page-primary .directory-section-head{margin-top:34px}
.tool-sidebar{display:grid;gap:16px;position:sticky;top:24px;min-width:0}
.tool-sidebar-card{border:1px solid #dce4ff;border-radius:17px;background:linear-gradient(160deg,#f4f6ff 0%,#fff 80%);padding:21px 19px;box-shadow:0 9px 24px rgba(30,55,130,.06)}
.tool-sidebar-card h2{font-size:18px;line-height:1.3;letter-spacing:-.35px;margin:9px 0 13px;color:#17254c}
.tool-sidebar-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.tool-sidebar-list li{margin:0;padding:0}
.tool-sidebar-list a{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:9px;color:#425171;font-size:12px;line-height:1.45;font-weight:600;transition:background .15s,color .15s}
.tool-sidebar-list a:hover,.tool-sidebar-list a[aria-current=page]{background:#e5eaff;color:#294bd0}
.tool-sidebar-list a[aria-current=page]:before{content:"";flex:0 0 4px;width:4px;height:17px;margin:0 2px 0 -5px;border-radius:5px;background:#3256DD}
.tool-sidebar-list a span{flex-shrink:0;color:#7a87a5;font-size:10px;font-weight:500}
.tool-sidebar-all{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:13px;padding:11px 12px;border-radius:10px;background:#3256DD;color:#fff;font-size:12px;font-weight:700}
.tool-sidebar-all:hover{background:#2848c6;color:#fff}
.tool-article-section{margin-top:38px;color:#435171}
.tool-article-section h2{margin:26px 0 9px;color:#17254c;font-size:22px;line-height:1.3;letter-spacing:-.55px}
.tool-article-section h3{margin:20px 0 8px;color:#17254c;font-size:17px;line-height:1.4}
.tool-article-section p,.tool-article-list{font-size:14px;line-height:1.8;color:#596783}
.tool-article-list{padding-left:20px}
.formula-panel{margin:17px 0;padding:18px 20px;border:1px solid #dce4ff;border-left:4px solid #3256DD;border-radius:12px;background:#f3f6ff;color:#1c2b58;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.heating-calculator{margin:0 0 42px;border:1px solid #dce4ff;border-radius:21px;background:#fff;box-shadow:0 16px 40px rgba(28,55,140,.09);overflow:hidden}
.heating-calc-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:26px 27px;background:linear-gradient(130deg,#eef2ff 0%,#fff 78%);border-bottom:1px solid #e3e9ff}
.heating-calc-heading h2{margin:7px 0 6px;color:#17254c;font-size:clamp(22px,2.5vw,29px);line-height:1.2;letter-spacing:-.8px}
.heating-calc-heading p{margin:0;color:#657392;font-size:13px;line-height:1.6}
.heating-calc-mark{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:16px;background:#3256DD;color:#fff;font-size:25px;font-weight:700;box-shadow:0 9px 22px rgba(50,86,221,.22)}
#heating-cost-form{padding:0 27px 26px}
.heating-form-section{padding:23px 0 21px;border-bottom:1px solid #edf0f8}
.heating-form-section h3{display:flex;align-items:center;gap:10px;margin:0 0 17px;color:#1b294d;font-size:15px;font-weight:700}
.heating-form-section h3 span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#eaf0ff;color:#3256DD;font-size:10px;letter-spacing:.4px}
.heating-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px}
.heating-field{min-width:0}
.heating-field label{display:block;margin:0 0 7px;color:#273657;font-size:12px;font-weight:700;line-height:1.4}
.heating-input-unit{display:flex;align-items:center;min-width:0;height:46px;border:1px solid #d8e0f4;border-radius:10px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.heating-input-unit:focus-within{border-color:#3256DD;box-shadow:0 0 0 3px rgba(50,86,221,.1)}
.heating-input-unit input{flex:1;min-width:0;width:100%;height:100%;padding:0 12px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:#17254c;font:500 14px "DM Sans",sans-serif}
.heating-input-unit span{flex:0 0 auto;padding:0 11px;color:#71809f;font-size:10px;font-weight:600;white-space:nowrap}
.heating-input-unit .unit-prefix{padding-right:0;color:#3256DD;font-size:12px}
.heating-field select{display:block;width:100%;height:46px;padding:0 12px;border:1px solid #d8e0f4;border-radius:10px;background:#fff;color:#17254c;font:500 13px "DM Sans",sans-serif;outline:none}
.heating-field select:focus{border-color:#3256DD;box-shadow:0 0 0 3px rgba(50,86,221,.1)}
.heating-field small{display:block;margin-top:6px;color:#7a87a3;font-size:10px;line-height:1.55}
.heating-field small a{color:#3256DD;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.heating-form-grid-small{grid-template-columns:1fr 1fr;align-items:center}
.heating-tip{padding:12px 14px;border-radius:10px;background:#f3f6ff;color:#61708f}
.heating-tip p{margin:0;font-size:11px;line-height:1.6}
.heating-form-actions{display:flex;align-items:center;gap:11px;padding-top:22px}
.heating-calculate-btn,.heating-reset-btn{min-height:46px;padding:0 17px;border-radius:10px;font:700 12px "DM Sans",sans-serif;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s}
.heating-calculate-btn{border:1px solid #3256DD;background:#3256DD;color:#fff;box-shadow:0 8px 18px rgba(50,86,221,.2)}
.heating-calculate-btn:hover{background:#2848c6;transform:translateY(-1px)}
.heating-calculate-btn span{margin-left:7px}
.heating-reset-btn{border:1px solid #dce4f5;background:#fff;color:#516181}
.heating-reset-btn:hover{background:#f4f6ff;color:#3256DD}
.heating-form-error{margin:13px 0 0;padding:11px 13px;border-radius:9px;background:#fff1f0;color:#a72e27;font-size:12px;line-height:1.5}
.heating-results{margin:0 27px 25px;padding:21px;border:1px solid #cbd7ff;border-radius:16px;background:linear-gradient(145deg,#f4f6ff 0%,#fff 100%)}
.heating-results[hidden]{display:none!important}
.heating-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.heating-results-head h3{margin:5px 0 0;color:#17254c;font-size:18px;letter-spacing:-.4px}
.heating-results-badge{padding:6px 9px;border-radius:100px;background:#e5eaff;color:#3256DD;font-size:10px;font-weight:700;white-space:nowrap}
.heating-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.heating-result-card{display:flex;flex-direction:column;gap:7px;min-width:0;padding:15px;border:1px solid #e0e6f5;border-radius:12px;background:#fff}
.heating-result-card span{color:#6d7a97;font-size:10px;font-weight:700;line-height:1.4}
.heating-result-card strong{color:#1a2b59;font-size:clamp(19px,2.5vw,25px);line-height:1.2;letter-spacing:-.6px;overflow-wrap:anywhere}
.heating-result-card small{color:#8994ac;font-size:9px;line-height:1.5}
.heating-result-primary{border-color:#3256DD;background:#3256DD}
.heating-result-primary span,.heating-result-primary small{color:#e4eaff}
.heating-result-primary strong{color:#fff}
.heating-result-note{margin:14px 0 0;color:#677594;font-size:10px;line-height:1.65}
.heating-safety-note{margin:0 27px 26px;padding:13px 15px;border-radius:10px;background:#f7f9ff;color:#677594;font-size:11px;line-height:1.7}
.heating-safety-note strong{color:#34466e}
@media(max-width:1000px){.tool-page-layout{grid-template-columns:minmax(0,1fr) 245px;gap:20px}.tool-sidebar-card{padding:18px 15px}}
@media(max-width:760px){.tool-page-layout{grid-template-columns:1fr;gap:30px}.tool-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.tool-sidebar-card{height:100%}}
@media(max-width:560px){.heating-calc-heading{padding:21px 18px}.heating-calc-mark{width:45px;height:45px;flex-basis:45px;border-radius:13px;font-size:21px}#heating-cost-form{padding:0 18px 20px}.heating-form-section{padding:20px 0 18px}.heating-form-grid,.heating-form-grid-small{grid-template-columns:1fr;gap:14px}.heating-form-actions{align-items:stretch;flex-direction:column}.heating-calculate-btn,.heating-reset-btn{width:100%}.heating-results{margin:0 18px 20px;padding:15px}.heating-result-grid{gap:8px}.heating-result-card{padding:12px}.heating-result-card strong{font-size:20px}.heating-safety-note{margin:0 18px 20px}.tool-sidebar{grid-template-columns:1fr}.tool-article-section h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.heating-input-unit,.heating-calculate-btn,.heating-reset-btn,.tool-sidebar-list a{transition:none}}

/* PoolTaken shared calculator cards */
.eq-calculator{margin:0 0 42px;border:1px solid #dce4ff;border-radius:21px;background:#fff;box-shadow:0 16px 40px rgba(28,55,140,.09);overflow:hidden;color:#17254c}
.eq-calc-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:27px 30px;background:linear-gradient(120deg,#eef2ff,#fff)}
.eq-calc-head h2{margin:5px 0 7px;color:#17254c;font-size:24px;letter-spacing:-.6px}.eq-calc-head p{margin:0;color:#596783;font-size:14px;line-height:1.65}
.eq-calc-icon{display:flex;align-items:center;justify-content:center;flex:0 0 64px;width:64px;height:64px;border-radius:18px;background:#3256DD;color:#fff;font-size:15px;font-weight:800;box-shadow:0 9px 20px rgba(50,86,221,.22)}
.eq-calc-form{padding:0 30px 25px}.eq-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}.eq-field{min-width:0}.eq-field label{display:block;margin:0 0 8px;color:#17254c;font-size:13px;font-weight:700}.eq-input-unit{display:flex;align-items:center;min-width:0;min-height:49px;border:1px solid #dce4f5;border-radius:11px;background:#fff;overflow:hidden}.eq-input-unit:focus-within{border-color:#3256DD;box-shadow:0 0 0 3px rgba(50,86,221,.1)}.eq-input-unit input{width:100%;min-width:0;border:0;outline:0;padding:13px 13px;color:#17254c;font:inherit;font-size:14px;background:transparent}.eq-input-unit span{flex:0 0 auto;padding:0 12px;color:#657393;font-size:12px;font-weight:600;white-space:nowrap}.eq-field small{display:block;margin:7px 0 0;color:#71809e;font-size:11px;line-height:1.55}.eq-field small a{color:#3256DD;font-weight:700;text-decoration:underline;text-underline-offset:2px}.eq-actions{display:flex;align-items:center;gap:12px;margin-top:24px}.eq-calculate,.eq-reset{min-height:47px;border-radius:10px;padding:0 19px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}.eq-calculate{border:1px solid #3256DD;background:#3256DD;color:#fff;box-shadow:0 8px 18px rgba(50,86,221,.2)}.eq-calculate:hover{transform:translateY(-1px);box-shadow:0 11px 23px rgba(50,86,221,.28)}.eq-reset{border:1px solid #dce4f5;background:#fff;color:#425477}.eq-reset:hover{border-color:#3256DD;color:#3256DD}.eq-error{margin:14px 0 0;padding:11px 13px;border:1px solid #f3c4c4;border-radius:9px;background:#fff5f5;color:#a22c2c;font-size:13px}.eq-results{scroll-margin-top:28px;margin:0 30px 23px;padding:22px;border:1px solid #cbd7ff;border-radius:15px;background:linear-gradient(145deg,#f7f9ff,#fff)}.eq-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.eq-result-head h3{margin:4px 0 0;color:#17254c;font-size:20px;letter-spacing:-.4px}.eq-result-pill{padding:6px 10px;border-radius:30px;background:#e8edff;color:#3256DD;font-size:10px;font-weight:800;white-space:nowrap}.eq-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.eq-result-card{display:flex;flex-direction:column;gap:7px;min-width:0;padding:17px;border:1px solid #e0e6f8;border-radius:12px;background:#fff}.eq-result-card span{color:#61708e;font-size:12px;font-weight:650}.eq-result-card strong{color:#17254c;font-size:24px;line-height:1.25;overflow-wrap:anywhere}.eq-result-card small{color:#7a87a2;font-size:11px;line-height:1.4}.eq-result-card.eq-primary{border-color:#3256DD;background:linear-gradient(135deg,#3256DD,#2445c7)}.eq-result-card.eq-primary span,.eq-result-card.eq-primary strong,.eq-result-card.eq-primary small{color:#fff}.eq-result-note{margin:15px 0 0;color:#596783;font-size:12px;line-height:1.7}.eq-safety{margin:0 30px 25px;padding:13px 15px;border-left:3px solid #3256DD;border-radius:0 9px 9px 0;background:#f2f5ff;color:#536281;font-size:12px;line-height:1.7}.eq-safety strong{color:#233e9e}
@media(max-width:560px){.eq-calc-head{padding:21px 18px}.eq-calc-head h2{font-size:21px}.eq-calc-icon{flex-basis:48px;width:48px;height:48px;border-radius:13px;font-size:12px}.eq-calc-form{padding:0 18px 20px}.eq-fields{grid-template-columns:1fr;gap:15px}.eq-actions{align-items:stretch;flex-direction:column}.eq-calculate,.eq-reset{width:100%}.eq-results{margin:0 18px 20px;padding:15px}.eq-result-grid{gap:8px}.eq-result-card{padding:12px}.eq-result-card strong{font-size:19px}.eq-result-head h3{font-size:18px}.eq-safety{margin:0 18px 20px}}

/* Pool volume & sand calculators - shared responsive tool-card system */
.pt-calc-card{margin:0 0 42px;border:1px solid #dce4ff;border-radius:21px;background:#fff;box-shadow:0 16px 40px rgba(28,55,140,.09);overflow:hidden;color:#17254c}
.pt-calc-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px 27px;background:linear-gradient(130deg,#eef2ff 0%,#fff 78%);border-bottom:1px solid #e3e9ff}
.pt-calc-head h2{margin:7px 0 6px;color:#17254c;font-size:clamp(22px,2.5vw,29px);line-height:1.2;letter-spacing:-.7px}.pt-calc-head p{margin:0;color:#657392;font-size:13px;line-height:1.65}
.pt-calc-icon{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:17px;background:#3256DD;color:#fff;font-size:15px;font-weight:800;box-shadow:0 9px 22px rgba(50,86,221,.22)}
.pt-calc-form{padding:22px 27px 24px}.pt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px}.pt-field{min-width:0}.pt-field[hidden],#psand-base-fields[hidden],#psand-filter-fields[hidden],.pt-field[hidden]{display:none!important}.pt-field label{display:block;margin:0 0 7px;color:#26365d;font-size:13px;font-weight:700}.pt-input-unit{display:flex;align-items:center;min-height:47px;border:1px solid #dbe3f3;border-radius:10px;background:#fff;overflow:hidden}.pt-input-unit:focus-within{border-color:#3256DD;box-shadow:0 0 0 3px rgba(50,86,221,.1)}.pt-input-unit input{width:100%;min-width:0;height:45px;padding:0 12px;border:0;outline:0;color:#17254c;font:600 14px "DM Sans",sans-serif;background:transparent}.pt-input-unit span{flex:0 0 auto;padding:0 12px;color:#73809c;font-size:12px;font-weight:600}.pt-field select{width:100%;height:47px;padding:0 12px;border:1px solid #dbe3f3;border-radius:10px;background:#fff;color:#17254c;font:600 13px "DM Sans",sans-serif}.pt-field select:focus{outline:0;border-color:#3256DD;box-shadow:0 0 0 3px rgba(50,86,221,.1)}.pt-field small{display:block;margin-top:6px;color:#7885a0;font-size:11px;line-height:1.55}.pt-field small a{color:#3256DD;font-weight:700}.pt-calc-notice{margin:0 0 16px;padding:10px 13px;border:1px solid #dce5ff;border-radius:9px;background:#f5f7ff;color:#3256DD;font-size:12px;font-weight:700}.pt-calc-actions{display:flex;gap:10px;margin-top:22px}.pt-calculate,.pt-reset{min-height:46px;padding:0 18px;border-radius:10px;font:700 12px "DM Sans",sans-serif;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s}.pt-calculate{border:1px solid #3256DD;background:#3256DD;color:#fff;box-shadow:0 8px 18px rgba(50,86,221,.2)}.pt-calculate:hover{background:#2848c6;transform:translateY(-1px)}.pt-reset{border:1px solid #dce4f5;background:#f7f9ff;color:#425276}.pt-reset:hover{background:#edf1ff}.pt-error{margin:12px 0 0;padding:10px 12px;border-radius:9px;background:#fff1f1;color:#a12424;font-size:12px}.pt-results{margin:0 27px 22px;padding:19px;border:1px solid #dce5ff;border-radius:15px;background:linear-gradient(145deg,#f6f8ff,#fff);scroll-margin-top:100px}.heating-results{scroll-margin-top:100px}.pt-result-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.pt-result-head h3{margin:5px 0 0;color:#17254c;font-size:19px}.pt-result-pill{padding:6px 9px;border-radius:30px;background:#e9eeff;color:#3256DD;font-size:10px;font-weight:800;white-space:nowrap}.pt-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pt-result-tile{display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px;border:1px solid #e0e7f6;border-radius:11px;background:#fff}.pt-result-tile>span{color:#6e7b99;font-size:11px;font-weight:700}.pt-result-tile strong{color:#17254c;font-size:clamp(19px,2vw,25px);line-height:1.2;overflow-wrap:anywhere}.pt-result-tile small{color:#8994aa;font-size:10px}.pt-result-primary{border-color:#3256DD;background:linear-gradient(135deg,#3256DD,#5475ed)}.pt-result-primary>span,.pt-result-primary strong,.pt-result-primary small{color:#fff}.pt-result-note{margin:13px 0 0;color:#647291;font-size:12px;line-height:1.65}.pt-calc-safety{margin:0 27px 23px;padding:12px 14px;border-left:3px solid #3256DD;border-radius:0 9px 9px 0;background:#f5f7ff;color:#657392;font-size:11px;line-height:1.65}.pt-calc-safety strong{color:#26365d}
@media(max-width:650px){.pt-calc-head{padding:20px 18px}.pt-calc-icon{width:47px;height:47px;flex-basis:47px;border-radius:13px;font-size:12px}.pt-calc-form{padding:19px 18px 20px}.pt-fields{grid-template-columns:1fr;gap:14px}.pt-calc-actions{flex-direction:column}.pt-calculate,.pt-reset{width:100%}.pt-results{margin:0 18px 19px;padding:14px}.pt-result-grid{gap:8px}.pt-result-tile{padding:11px}.pt-result-tile strong{font-size:19px}.pt-calc-safety{margin:0 18px 19px}.pt-result-head{align-items:flex-start;flex-direction:column}.pt-result-pill{white-space:normal}}
@media(prefers-reduced-motion:reduce){.pt-calculate,.pt-reset{transition:none}}


/* Water chemistry calculators */
.ph-reference-box{margin:0 27px 22px;padding:19px;border:1px solid #dce5ff;border-radius:15px;background:linear-gradient(145deg,#f6f8ff,#fff);scroll-margin-top:100px}.ph-scale{position:relative;height:22px;margin-top:16px;border:1px solid #d7dfef;border-radius:999px;background:linear-gradient(90deg,#f06b6b 0%,#f3b56b 21%,#f4e889 40%,#8bd69a 50%,#a0d6f0 66%,#86b6f1 82%,#8a8ce7 100%);overflow:visible}.ph-marker{position:absolute;top:50%;width:14px;height:34px;border:3px solid #fff;border-radius:7px;background:#3256DD;box-shadow:0 4px 12px rgba(24,40,100,.25);transform:translate(-50%,-50%)}.ph-band-labels{display:flex;justify-content:space-between;gap:10px;margin:8px 2px 0;color:#7a87a2;font-size:10px}.ph-table-wrap{margin:0 27px 24px;overflow-x:auto}.ph-table{width:100%;border-collapse:separate;border-spacing:0;min-width:620px;border:1px solid #dfe6f5;border-radius:14px;overflow:hidden;background:#fff}.ph-table caption{text-align:left;padding:0 0 10px;color:#26365d;font-size:16px;font-weight:700}.ph-table th,.ph-table td{padding:12px 13px;border-bottom:1px solid #e8edf6;text-align:left;font-size:12px;vertical-align:top}.ph-table th{background:#f7f9ff;color:#3d4d70;font-weight:700}.ph-table tr:last-child td{border-bottom:0}.ph-table td:nth-child(1){width:18%;font-weight:700;color:#26365d}.ph-table td:nth-child(2){width:23%;color:#596783;white-space:nowrap}.ph-table td:nth-child(3){color:#687693}.ph-current-row td{background:#eef2ff}.ph-dot{display:inline-block;width:10px;height:10px;margin-right:7px;border-radius:50%;vertical-align:-1px}.ph-low{background:#f06b6b}.ph-near{background:#f0c06b}.ph-ideal{background:#79c58b}.ph-highside{background:#77a7e8}.ph-high{background:#7c77d6}
@media(max-width:650px){.ph-reference-box{margin:0 18px 20px;padding:14px}.ph-table-wrap{margin:0 18px 20px}.ph-table th,.ph-table td{padding:10px}.ph-band-labels{font-size:9px}.ph-marker{width:12px;height:30px}}


/* V22: redesigned PoolTaken pH reference table */
.ph-table-wrap{margin:0 27px 24px;padding:18px;border:1px solid #dce5ff;border-radius:17px;background:linear-gradient(145deg,#f8f9ff,#fff);box-shadow:0 10px 28px rgba(28,55,140,.06)}
.ph-table-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px}
.ph-table-heading h3{margin:5px 0 0;color:#17254c;font-size:17px;line-height:1.3;letter-spacing:-.35px}
.ph-table-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid #d8e1ff;border-radius:999px;background:#eef2ff;color:#3256DD;font-size:10px;font-weight:800;white-space:nowrap}
.ph-table-scroll{overflow-x:auto;border:1px solid #e0e7f6;border-radius:13px;background:#fff}
.ph-table{width:100%;min-width:0;border:0;border-radius:0;table-layout:fixed;overflow:hidden}
.ph-table th{padding:13px 14px;background:linear-gradient(135deg,#eef2ff,#f8f9ff);color:#26365d;font-size:11px;text-transform:uppercase;letter-spacing:.35px}
.ph-table td{padding:13px 14px;color:#687693;font-size:12px;line-height:1.55;border-bottom:1px solid #e9edf7}
.ph-table tbody tr:last-child td{border-bottom:0}
.ph-table tbody tr{transition:transform .15s,box-shadow .15s}
.ph-table tbody tr:hover td{background:#f9fbff}
.ph-table td:first-child{width:20%;font-weight:800;color:#17254c}
.ph-table td:nth-child(2){width:27%;white-space:normal;color:#536382}
.ph-table td:last-child{width:53%}
.ph-level{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid #e1e7f4;border-radius:999px;background:#fbfcff;color:#415274;font-size:10px;font-weight:800}
.ph-dot{width:9px;height:9px;flex:0 0 9px;margin:0;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(40,55,100,.12);vertical-align:0}
.ph-current-row td{background:#eef2ff!important}
.ph-current-row td:first-child{box-shadow:inset 3px 0 0 #3256DD}
@media(max-width:650px){
  .ph-table-wrap{margin:0 18px 20px;padding:14px}
  .ph-table-heading{align-items:flex-start;flex-direction:column;gap:9px}
  .ph-table-badge{white-space:normal}
  .ph-table-scroll{overflow:visible;border:0;background:transparent}
  .ph-table{display:block;background:transparent}
  .ph-table thead{display:none}
  .ph-table tbody,.ph-table tr,.ph-table td{display:block;width:100%!important}
  .ph-table tbody tr{margin:0 0 10px;border:1px solid #dfe6f5;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 7px 18px rgba(28,55,140,.05)}
  .ph-table tbody tr:last-child{margin-bottom:0}
  .ph-table td{display:grid;grid-template-columns:minmax(88px,34%) 1fr;gap:10px;align-items:start;padding:10px 12px;border-bottom:1px solid #edf0f7}
  .ph-table td::before{content:attr(data-label);color:#8692aa;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.35px;line-height:1.5}
  .ph-table td:first-child{font-size:13px}
  .ph-table td:nth-child(2){font-size:11px}
  .ph-table td:last-child{font-size:11px}
  .ph-level{justify-self:start;padding:4px 7px;font-size:9px}
  .ph-current-row td:first-child{box-shadow:none}
  .ph-current-row{border-color:#bfcfff!important;box-shadow:0 8px 20px rgba(50,86,221,.10)!important}
}

/* Sidebar navigation visibility safeguard */
.tool-sidebar{display:grid!important;visibility:visible!important;opacity:1!important;min-width:0}
.tool-sidebar-card{display:block!important;visibility:visible!important;opacity:1!important}
.tool-sidebar-list{display:grid!important;list-style:none!important;margin:0!important;padding:0!important;gap:4px}
.tool-sidebar-list li{display:block!important;visibility:visible!important}
.tool-sidebar-list li a{display:flex!important;visibility:visible!important;min-height:34px}

/* V25: reference tables in tool article sections */
.pt-ref-table-wrap{margin:16px 0;overflow-x:auto;border:1px solid #e0e7f6;border-radius:13px;background:#fff}
.pt-ref-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.5;color:#435171}
.pt-ref-table caption{caption-side:top;text-align:left;padding:13px 15px 4px;color:#17254c;font-size:14px;font-weight:700}
.pt-ref-table th,.pt-ref-table td{padding:10px 13px;border-bottom:1px solid #e8edf6;text-align:left;white-space:nowrap}
.pt-ref-table th{background:#f7f9ff;color:#3d4d70;font-weight:700}
.pt-ref-table tbody tr:last-child td{border-bottom:0}
.pt-ref-table td:first-child{font-weight:700;color:#26365d}
.pt-ref-note{margin:-6px 0 14px;font-size:12px;line-height:1.6;color:#6d7a96}
