@font-face{font-family:Inter;src:url(../fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--navy:#283985;--ink:#141a3a;--red:#da2328;--redd:#b81a1f;--steel:#e9ecf1;--steel2:#f4f5f8;--line:#cdd3de;--mute:#535b75;--rubber:#141518;--pad:clamp(16px,4vw,40px)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:100px}
body{margin:0;background:#fff;color:var(--ink);font:400 17px/1.55 Inter,Roboto,system-ui,sans-serif;font-feature-settings:"cv11","ss03"}
img{max-width:100%;height:auto;display:block}a{color:var(--navy)}
h1,h2,h3{line-height:1.1;margin:0 0 .5em;letter-spacing:-.022em;font-weight:800}
h1{font-size:clamp(2.2rem,5vw,3.9rem);letter-spacing:-.035em}h2{font-size:clamp(1.6rem,3vw,2.3rem)}h3{font-size:1.125rem;letter-spacing:-.01em;font-weight:700}
p{margin:0 0 1em}ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--pad)}
.sr,.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.top{background:var(--ink);color:#dfe3ee;font-size:.84rem}.topin{display:flex;justify-content:space-between;gap:16px;padding-top:7px;padding-bottom:7px}.top a{color:inherit}.top b{font-weight:600}.top .open{color:#fff}
.hd{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.hdin{display:flex;align-items:center;gap:24px;padding-top:10px;padding-bottom:10px}.logo img{width:176px}
#nav{display:flex;flex:1;align-items:center;justify-content:space-between;gap:20px}
.mainnav{display:flex;gap:4px}.mainnav>li{position:relative}.mainnav>li>a{display:block;padding:10px 10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.97rem}.mainnav>li>a:hover{color:var(--red)}
.mega{display:none;position:absolute;left:0;top:100%;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);padding:12px;width:560px}.mega.small{width:220px}.mega ul{columns:2}.mega.small ul{columns:1}.mega a{display:block;padding:7px 10px;text-decoration:none;color:var(--ink);font-size:.95rem}.mega a:hover{background:var(--steel)}
.has:hover .mega,.has:focus-within .mega{display:block}
.hdcta{display:flex;align-items:center;gap:16px}.tel{font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap}
.btn{display:inline-block;padding:13px 20px;font-weight:700;text-decoration:none;font-size:1rem;border:2px solid transparent;border-radius:4px;cursor:pointer;font-family:inherit;line-height:1.2;white-space:nowrap}
.btn.red{background:var(--red);color:#fff}.btn.red:hover{background:var(--redd)}.btn.ghost{border-color:var(--navy);color:var(--navy)}.btn.ghost:hover{background:var(--navy);color:#fff}.btn.line{border-color:#fff;color:#fff}.btn.line:hover{background:#fff;color:var(--ink)}
.hdcta .btn{padding:10px 14px;font-size:.93rem}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.burger{display:none;margin-left:auto;background:none;border:0;padding:10px;cursor:pointer}.burger span{display:block;width:24px;height:3px;background:var(--ink);margin:4px 0}
/* hose */
.hose{position:relative;height:72px;overflow:hidden;background:repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 2px,transparent 2px 7px),linear-gradient(180deg,#3d3f46 0,#1e1f24 16%,#121316 48%,#0c0d0f 72%,#2c2e33 90%,#090a0b 100%)}
.lay{position:absolute;top:50%;left:0;transform:translateY(-50%);white-space:nowrap;color:#e6e8ec;font-weight:600;font-size:.82rem;letter-spacing:.13em;opacity:.86}
.lay span{margin-right:3.4em}
.home .lay{animation:pay 1.8s cubic-bezier(.2,.7,.2,1) both}@keyframes pay{from{transform:translate(-340px,-50%)}to{transform:translate(0,-50%)}}
.fer{position:absolute;right:0;top:0;height:72px;width:150px}
.hose.ftr{margin-top:0}.hose.ftr .fer{transform:scaleX(-1);right:auto;left:0}.hose.ftr .lay{left:170px}
/* hero */
.heroin{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch}
.herotxt{padding:clamp(32px,6vw,84px) clamp(24px,4vw,56px) clamp(32px,5vw,72px) max(var(--pad),calc((100vw - 1240px)/2 + var(--pad)));align-self:center}
.herotxt h1{font-size:clamp(2.5rem,4.6vw,4.3rem);line-height:1.02}.herotxt p{font-size:1.15rem;max-width:32em;color:#333b5e}
.herofig img{width:100%;height:100%;min-height:440px;max-height:640px;object-fit:cover;object-position:50% 30%}
/* sections */
.sec{padding:clamp(44px,6vw,80px) 0}.sec.tight{padding:0 0 clamp(32px,4vw,48px)}.sec.first{padding-top:clamp(24px,3vw,36px)}.sec+.sec.tight{margin-top:-20px}
.shead{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.more{font-weight:700;color:var(--navy);white-space:nowrap}
.lead{font-size:1.15rem;max-width:42em;color:#333b5e}.measure{max-width:760px}.sm{font-size:.9rem;color:var(--mute)}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tiles.three{grid-template-columns:repeat(3,minmax(0,1fr))}.wide{grid-column:span 2;grid-row:span 2;display:flex}
.tile{position:relative;display:flex;flex-direction:column;background:var(--steel);padding:20px;text-decoration:none;color:var(--ink);min-height:250px;overflow:hidden;width:100%}
.tile h3{margin-bottom:.3em;font-size:1.2rem}.tile p{font-size:.92rem;color:#3f4765;margin:0 0 10px;max-width:30em}
.tile img{margin:auto 0 0 auto;max-height:118px;width:auto;object-fit:contain;mix-blend-mode:multiply}
.tile:hover{background:#dde2ea}.tile:hover h3{color:var(--red)}
.tile.feat{background:var(--navy);color:#fff;min-height:512px}.tile.feat h3{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800}.tile.feat p{color:#dfe3f2;font-size:1.05rem}.tile.feat img{mix-blend-mode:normal;width:min(100%,430px);max-height:none;margin:auto auto 0}.tile.feat:hover{background:#22317a}.tile.feat:hover h3{color:#fff}
.morelist{display:flex;flex-wrap:wrap;gap:6px 26px;margin-top:22px}.morelist a{font-weight:600}
.fsec{background:var(--ink);color:#fff;padding:clamp(44px,6vw,76px) 0}.fgrid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px}.fgrid p{color:#d3d8ea}
.ffields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px;margin-bottom:20px}
.finder label{display:block;font-weight:600;margin-bottom:8px;font-size:.96rem}.finder output{color:#fff;font-weight:800}
.finder select{width:100%;padding:11px;font:inherit;font-weight:600;border:0;border-radius:4px;background:#fff;color:var(--ink)}
.finder input[type=range]{width:100%;accent-color:var(--red);height:32px}.ticks{display:flex;justify-content:space-between;font-size:.8rem;color:#b8bfd6}
.ftab{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.ftab th,.ftab td{padding:11px 10px;text-align:left;border-bottom:1px solid #3a426a;font-size:.96rem}.ftab thead th{font-weight:600;color:#b8bfd6;font-size:.83rem}.ftab tbody th a{color:#fff;font-weight:700}.ftab small{display:block;font-weight:400;color:#b8bfd6}
.fno{background:#222a55;padding:16px;color:#fff!important}.fnote{font-size:.83rem;margin:14px 0 0}
.mgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:center}.mimg img{width:100%;mix-blend-mode:multiply}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1.1em}.chips li{background:var(--steel);padding:7px 12px;border-radius:3px;font-weight:600;font-size:.92rem}
.serv{background:var(--steel2)}.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.svc{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:18px;background:#fff;border-top:4px solid var(--red);padding:26px;text-decoration:none;color:var(--ink);align-items:center}.svc img{max-height:210px;width:auto;margin:auto}.svc:hover h2{color:var(--red)}
.wgrid{display:grid;grid-template-columns:7fr 5fr;gap:48px}.plain{columns:2;column-gap:32px;margin-bottom:14px}.plain li{padding:8px 0;border-bottom:1px solid var(--line);font-weight:600;break-inside:avoid}
.visit{background:var(--steel)}.vgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:center}.vimg img{width:100%;height:100%;min-height:300px;object-fit:cover}
.addr{font-weight:700;font-size:1.12rem}
.hrs{border-collapse:collapse;margin:0 0 1em;font-variant-numeric:tabular-nums;width:100%;max-width:420px}.hrs th{text-align:left;font-weight:500;padding:5px 16px 5px 0}.hrs td{padding:5px 0;font-weight:600;text-align:right}
.cta{background:var(--navy);color:#fff;padding:36px 0}.ctain{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.cta h2{margin-bottom:.2em;font-size:1.6rem}.cta p{margin:0;color:#dfe3f2}.cta .btns{margin:0}
/* product pages */
.crumbs{font-size:.88rem;color:var(--mute);margin-bottom:16px}.crumbs a{color:var(--mute)}
.phead{background:var(--steel);padding:clamp(24px,4vw,44px) 0}.phin{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center}.phead p{max-width:40em}.phimg img{margin:auto;max-height:340px;width:auto;mix-blend-mode:multiply}
.plain-h{background:var(--steel);padding:clamp(24px,4vw,44px) 0}
.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px 20px;margin-top:8px}.iimg{background:var(--steel);height:190px;display:flex;align-items:center;justify-content:center;padding:16px;margin-bottom:12px}.iimg img{max-height:100%;width:auto;object-fit:contain;mix-blend-mode:multiply}.item p{font-size:.95rem;color:#3f4765;margin:0}.item h3{margin-bottom:.3em}
.charts{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.chart{background:none;border:1px solid var(--line);padding:10px;cursor:zoom-in;font:inherit;text-align:left;color:var(--ink)}.chart span{display:block;font-weight:600;padding-top:8px;font-size:.93rem}.chart:hover{border-color:var(--navy)}
.lb{position:fixed;inset:0;background:rgba(10,12,30,.92);z-index:60;display:flex;align-items:center;justify-content:center;padding:44px 12px 12px}.lb[hidden]{display:none}.lb img{max-height:100%;max-width:100%;background:#fff}.lb button{position:absolute;top:8px;right:12px;background:#fff;border:0;padding:7px 12px;font:inherit;font-weight:700;cursor:pointer}
.rel{background:var(--steel2)}.rel .tile{background:#fff}.rel .tile:hover{background:var(--steel)}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px;border-bottom:2px solid var(--ink)}.tabs button{background:var(--steel);border:0;padding:10px 16px;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}.tabs [aria-selected=true]{background:var(--ink);color:#fff}
.pinfo{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:32px;margin-bottom:20px}.pinfo h3{font-size:1.5rem}.pinfo dl{margin:0;display:grid;gap:8px}.pinfo dl div{display:grid;grid-template-columns:130px 1fr;gap:10px}.pinfo dt{font-weight:600}.pinfo dd{margin:0;color:#3f4765;font-size:.96rem}
.tblwrap{overflow-x:auto;border:1px solid var(--line)}.spec{border-collapse:collapse;width:100%;min-width:940px;font-variant-numeric:tabular-nums;font-size:.92rem}.spec th,.spec td{padding:8px 9px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}.spec thead th{background:var(--navy);color:#fff;font-weight:600;border-color:#4b5ba5;font-size:.84rem;white-space:normal}.spec tbody th{text-align:left;font-weight:700;position:sticky;left:0;background:#fff}.spec tbody tr:nth-child(even) td{background:var(--steel2)}.spec td:nth-child(10),.spec td:nth-child(9){font-weight:700}.spec.left td,.spec.left th{text-align:left}.spec.left{min-width:760px}.spec.left td{font-weight:400!important}
.stamp{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;margin-top:20px}.stamp b{display:flex;width:52px;height:52px;align-items:center;justify-content:center;background:var(--red);color:#fff;font-size:1.5rem;font-weight:800;border-radius:50%;margin-bottom:10px}.stamp h3{margin-bottom:.25em}.stamp p{font-size:.9rem;margin:0;color:#3f4765}
.stamped{background:var(--steel2)}
.sawrow{padding-top:40px}
.cfbar{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px}.cfbar label{display:block;font-weight:600;font-size:.92rem;margin-bottom:5px}.cfbar input,.cfbar select{font:inherit;padding:10px 12px;border:1px solid #8a93aa;border-radius:4px;min-width:260px;background:#fff;color:var(--ink);max-width:100%}
.filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.filters button{font:inherit;font-weight:600;font-size:.92rem;padding:7px 13px;background:var(--steel);border:0;border-radius:3px;cursor:pointer;color:var(--ink)}.filters [aria-pressed=true]{background:var(--ink);color:#fff}
.count{font-size:.9rem;color:var(--mute)}
.cfgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.cf{border:1px solid var(--line);padding:10px;display:flex;flex-direction:column}.cf[hidden]{display:none}.cf img{height:128px;width:100%;object-fit:contain;margin-bottom:8px}.cf b{font-size:1.02rem}.cf span{font-size:.86rem;color:#3f4765;line-height:1.35}
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;counter-reset:s;margin-top:18px}.flow.four{grid-template-columns:repeat(4,minmax(0,1fr))}.flow li{counter-increment:s;border-top:4px solid var(--navy);padding:14px 18px 0 0;position:relative}.flow li:before{content:counter(s);display:block;font-weight:800;color:var(--red);font-size:1.5rem}.flow p{font-size:.95rem;margin:0;color:#3f4765}
.tgrid-s{background:var(--steel2)}.tgrid{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:center}.mt{margin-top:1.1em}.check li{padding:7px 0 7px 26px;position:relative}.check li:before{content:"";position:absolute;left:2px;top:15px;width:11px;height:11px;background:var(--red);border-radius:50%}.tagimg{display:flex;gap:16px;justify-content:center}.tagimg img{max-width:46%}
.inds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 32px}.ind{border-top:4px solid var(--navy);padding-top:14px}.ind h2{font-size:1.3rem}.ind ul{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.94rem}.ind a{font-weight:600}
.abhero img{width:100%;height:clamp(240px,48vw,560px);object-fit:cover;object-position:50% 32%}
.ab{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px}.abtxt p{font-size:1.08rem}.brands{width:100%;max-width:560px}
.time{background:var(--steel)}.tl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.tl b{font-size:2rem;color:var(--navy);font-weight:800;letter-spacing:-.02em}
.fqs{max-width:820px}.fq{margin-bottom:28px}.fq h2{font-size:1.35rem}details{border-bottom:1px solid var(--line)}summary{padding:13px 0;font-weight:600;cursor:pointer}details p{color:#333b5e;padding-bottom:6px}
.cgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px}.bigtel{font-size:clamp(1.9rem,4vw,2.7rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.3em}.bigtel a{text-decoration:none;color:var(--ink)}.cgrid h2{font-size:1.2rem;margin-top:1em}
.mapw iframe{width:100%;height:400px;border:0;display:block;background:var(--steel)}.bldg{width:100%}
.ppl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.ppl li{background:var(--steel);padding:18px}.ppl h3{font-size:1.25rem;margin-bottom:.15em}.ppl p{font-size:.93rem;margin:0 0 8px}.ppl a{font-size:.92rem;font-weight:600;word-break:break-all}
.qgrid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:44px}fieldset{border:0;padding:0;margin:0 0 22px}legend{font-weight:800;font-size:1.25rem;padding:0;margin-bottom:10px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fld{margin-bottom:6px}.fld.full{grid-column:1/-1}.fld label{display:block;font-weight:600;font-size:.92rem;margin-bottom:4px}.fld input,.fld select,.fld textarea{width:100%;font:inherit;padding:10px;border:1px solid #8a93aa;border-radius:4px;background:#fff;color:var(--ink)}.fmsg{margin-top:12px;font-weight:600}.qside{background:var(--steel);padding:24px;align-self:start}
.ft{background:var(--ink);color:#d3d8ea;padding:48px 0 22px;font-size:.95rem}.ftg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}.ft a{color:inherit}.ft h2{font-size:1rem;color:#fff;letter-spacing:0;font-weight:700}.ft li{padding:3px 0}.ft li a{text-decoration:none}.ft li a:hover{text-decoration:underline}.ftlogo img{background:#fff;padding:10px;width:232px;border-radius:3px}.copy{margin-top:30px;font-size:.84rem;color:#a9b0c8}
.mbar{display:none}
@media (max-width:1120px){.hdcta .tel{display:none}.mainnav>li>a{padding:10px 7px;font-size:.93rem}.logo img{width:150px}}
@media (max-width:980px){
.burger{display:block}#nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:8px var(--pad) 16px;flex-direction:column;align-items:stretch;max-height:calc(100vh - 100px);overflow:auto}#nav.on{display:flex}
.mainnav{flex-direction:column}.mega{position:static;display:block;width:auto;border:0;padding:0 0 6px 10px}.mega ul{columns:2}.hdin{position:relative}.hdcta .tel{display:block}.hdcta{justify-content:space-between}
.heroin{grid-template-columns:1fr}.herotxt{padding:32px var(--pad)}.herofig img{min-height:0;max-height:none;height:auto;aspect-ratio:3/2}
.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles.three{grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:span 2;grid-row:auto}.tile.feat{min-height:0}.tile.feat img{max-height:240px}
.fgrid,.mgrid,.wgrid,.vgrid,.phin,.ab,.cgrid,.qgrid,.tgrid,.pinfo{grid-template-columns:minmax(0,1fr);gap:24px}.sgrid{grid-template-columns:1fr}.phimg img{max-height:220px}
.stamp{grid-template-columns:repeat(2,minmax(0,1fr))}.flow,.flow.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.inds{grid-template-columns:repeat(2,minmax(0,1fr))}.ftg{grid-template-columns:1fr 1fr}.ftb{grid-column:1/-1}
}
@media (max-width:640px){
body{padding-bottom:54px;font-size:16px}.toplinks{display:none}.tile{min-height:0;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) 96px;column-gap:12px;align-items:center}.tile h3{grid-column:1;margin:0 0 .2em}.tile p{grid-column:1;font-size:.87rem;margin:0}.tile img{grid-column:2;grid-row:1/3;max-height:84px;margin:auto}.tile.feat{display:flex}
.tiles.three,.tiles{grid-template-columns:minmax(0,1fr)}.wide{grid-column:auto}.ffields{grid-template-columns:1fr}.plain{columns:1}.inds,.tl{grid-template-columns:1fr}.row{grid-template-columns:1fr}.svc{grid-template-columns:minmax(0,1fr) 92px;padding:18px}
.ftab th:nth-child(5),.ftab td:nth-child(5){display:none}.ftab th,.ftab td{padding:9px 6px;font-size:.88rem}
.hose{height:56px}.fer{height:56px;width:116px}.lay{font-size:.72rem}.hose.ftr .lay{left:130px}
.btns .btn{flex:1 1 100%;text-align:center}.cta .btns{width:100%}.mega ul{columns:1}.cfbar input,.cfbar select{min-width:0;width:100%}.cfbar>div{width:100%}.cfgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.pinfo dl div{grid-template-columns:1fr;gap:0}
.mbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--ink)}.mbar a{color:#fff;text-align:center;padding:15px 4px;font-weight:700;text-decoration:none;border-right:1px solid #333b5e}.mbar a:first-child{background:var(--red)}
}
@media (prefers-reduced-motion:reduce){.home .lay{animation:none}}
.phead+.sec.tight{padding-top:44px}
