:root{--ink:#182430; --ink-2:#233543;--paper:#F7F6F2; --card:#FFFFFF;--water:#1F6E8C; --water-deep:#144B60;--rain:#E3EDF2; --rain-2:#F0F5F8;--flag:#E8590C; --flag-deep:#C64A08;--grade:#8FA3AD; --line:#DCD7CC;--radius:10px;--font-display:"Archivo",system-ui,sans-serif;--font-body:"Source Sans 3",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}body{font-family:var(--font-body);font-size:1.075rem;line-height:1.65;color:var(--ink);background:var(--paper)}img{max-width:100%;display:block}a{color:var(--water-deep)}a:focus-visible,button:focus-visible{outline:3px solid var(--flag);outline-offset:2px}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}h1,h2,h3{font-family:var(--font-display);line-height:1.12;letter-spacing:-.015em}h1{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:800}h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800}h3{font-size:1.2rem;font-weight:700}p{max-width:68ch}.ribbon{background:var(--ink);color:#cfdde6;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:7px 12px}.ribbon b{color:#fff}header.site{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.nav{display:flex;align-items:center;gap:28px;padding:14px 0}.nav .logo img{height:44px;width:auto}.nav nav{display:flex;align-items:center;gap:22px;margin-left:auto;font-weight:600;font-size:.98rem}.nav nav a{text-decoration:none;color:var(--ink);line-height:1;display:flex;align-items:center}.nav nav a:hover{color:var(--water)}.nav .call{background:var(--flag);color:#fff;text-decoration:none;font-weight:700;padding:10px 18px;border-radius:8px;white-space:nowrap}.nav .call:hover{background:var(--flag-deep)}@media(max-width:860px){.nav nav{display:none}}.spec{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--water);display:inline-flex;gap:10px;align-items:center;margin-bottom:14px}.spec::before{content:"";width:26px;height:2px;background:var(--flag)}.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}.hero .contours{position:absolute;inset:0;opacity:.16;pointer-events:none}.hero .wrap{position:relative;padding-top:76px;padding-bottom:64px}.hero h1{max-width:17ch;color:#fff}.hero .sub{margin-top:18px;font-size:1.2rem;color:#cfdde6;max-width:52ch}.hero .cta-row{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}.btn{display:inline-block;text-decoration:none;font-weight:700;padding:14px 26px;border-radius:9px;font-size:1.02rem}.btn-flag{background:var(--flag);color:#fff}.btn-flag:hover{background:var(--flag-deep)}.btn-ghost{border:2px solid #4d6a7c;color:#fff}.btn-ghost:hover{border-color:#fff}.hero .phone{font-family:var(--font-mono);color:#cfdde6;font-size:.95rem}.hero .phone a{color:#fff;text-decoration:none;font-weight:700}.specstrip{background:var(--water-deep);color:#d9e8ef}.specstrip .wrap{display:flex;gap:8px 36px;flex-wrap:wrap;justify-content:center;padding:13px 24px;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.specstrip span b{color:#fff}section{padding:72px 0}section.alt{background:var(--rain-2)}.lede{font-size:1.15rem;margin-top:12px;color:#3c4c58}.grid{display:grid;gap:22px;margin-top:38px}.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c4{grid-template-columns:repeat(4,1fr)}.grid.c2{grid-template-columns:repeat(2,1fr)}@media(max-width:900px){.grid.c3,.grid.c4{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.grid.c3,.grid.c4,.grid.c2{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.card h3{margin-bottom:8px}.card p{font-size:.99rem;color:#3c4c58}.card .spec{margin-bottom:8px}.capsule{background:var(--card);border-left:5px solid var(--water);border-radius:0 var(--radius) var(--radius) 0;box-shadow:0 1px 2px rgba(24,36,48,.06);padding:26px 30px;margin-top:26px}.capsule h3{font-size:1.15rem}.capsule .answer{font-weight:600;color:var(--ink);margin-top:8px}.capsule .detail{margin-top:10px;color:#3c4c58;font-size:.99rem}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;margin-top:30px}@media(max-width:860px){.split{grid-template-columns:1fr}}.split .art{background:var(--rain);border-radius:14px;padding:34px;display:flex;justify-content:center}.split .art img{max-height:320px;width:auto}.review{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.review .stars{color:var(--flag);letter-spacing:2px;font-size:.95rem}.review p{font-size:.97rem;margin-top:10px;color:#33434f}.review .who{margin-top:14px;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grade)}.loc-card{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;color:var(--ink);position:relative}.loc-card:hover{border-color:var(--water)}.loc-card .st{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;color:var(--grade);text-transform:uppercase}.loc-card h3{margin:6px 0 4px}.loc-card .tel{font-family:var(--font-mono);font-size:.88rem;color:var(--water-deep);font-weight:600}.loc-card .tag{position:absolute;top:18px;right:18px;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;padding:4px 8px;border-radius:4px;background:var(--rain);color:var(--water-deep)}.loc-card .tag.build{background:#F4EBE2;color:#9a5a2b}.gradeline{position:relative;height:2px;background:linear-gradient(90deg,var(--line),var(--grade),var(--line));margin:0 auto;max-width:1120px}.gradeline::after{content:none;position:absolute;right:24px;top:-9px;background:var(--paper);padding:0 10px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;color:var(--grade)}section.alt + .gradeline::after,.gradeline.alt::after{background:var(--rain-2)}.step{border-top:3px solid var(--water);padding-top:18px}.step .n{font-family:var(--font-mono);color:#A33A05;font-size:.8rem;letter-spacing:.12em}details{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 24px;margin-top:12px}details summary{font-weight:700;cursor:pointer;font-family:var(--font-display);font-size:1.05rem}details p{margin-top:10px;color:#3c4c58;font-size:.99rem}.nap{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:30px;align-items:start}@media(max-width:860px){.nap{grid-template-columns:1fr}}.nap .map{border-radius:12px;overflow:hidden;border:1px solid var(--line);min-height:320px}.nap .map iframe{width:100%;height:100%;min-height:320px;border:0}.nap .facts{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.nap .facts dt{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grade);margin-top:16px}.nap .facts dt:first-child{margin-top:0}.nap .facts dd{font-weight:600;margin-top:3px}.nap .facts dd a{text-decoration:none}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chips span{background:var(--rain);color:var(--water-deep);border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:600}table.cmp{width:100%;border-collapse:collapse;margin-top:30px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}table.cmp th,table.cmp td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:.97rem}table.cmp thead th{background:var(--ink);color:#fff;font-family:var(--font-display);font-size:.95rem}table.cmp td:first-child{font-weight:700}.cta-band{background:var(--water-deep);color:#fff;text-align:center}.cta-band h2{color:#fff;max-width:24ch;margin:0 auto}.cta-band p{margin:14px auto 26px;color:#cfe2ea}.cta-band .phone{display:block;margin-top:16px;font-family:var(--font-mono);color:#cfe2ea;font-size:.92rem}.cta-band .phone a{color:#fff}footer{background:var(--ink);color:#9db2bf;padding:56px 0 34px;font-size:.94rem}footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:30px}footer .cols p{font-size:.9rem;max-width:none}@media(max-width:860px){footer .cols{grid-template-columns:1fr 1fr}}footer h4{color:#fff;font-family:var(--font-display);font-size:.95rem;margin-bottom:14px;letter-spacing:.02em}footer a{color:#c6d5de;text-decoration:none;display:block;margin-top:8px}footer a:hover{color:#fff}footer .tel{font-family:var(--font-mono);font-size:.82rem;color:#8fa3ad}footer .base{border-top:1px solid #2c3d4b;margin-top:44px;padding-top:22px;font-size:.82rem;font-family:var(--font-mono);letter-spacing:.04em;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}.breadcrumb{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;padding:18px 0 0;color:var(--grade)}.breadcrumb a{color:var(--water-deep);text-decoration:none}.mcall{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--flag);color:#fff;font-weight:800;font-family:var(--font-display);text-decoration:none;justify-content:center;align-items:center;gap:8px;padding:15px 12px;font-size:1.02rem;box-shadow:0 -2px 12px rgba(24,36,48,.22)}.mcall:active{background:var(--flag-deep)}@media(max-width:640px){body{font-size:1rem;padding-bottom:58px}.wrap{padding:0 18px}section{padding:46px 0}.hero .wrap{padding-top:42px;padding-bottom:38px}.hero .sub{font-size:1.05rem;margin-top:14px}.hero .cta-row{margin-top:22px;gap:10px}.btn{display:block;width:100%;text-align:center;padding:15px 20px}.hero .phone{width:100%;text-align:center}.card{padding:20px}.capsule{padding:18px 20px}.nap .facts{padding:20px}.specstrip .wrap{gap:5px 16px;font-size:.66rem;padding:9px 16px}.nav{gap:12px;padding:10px 0}.nav .logo img{height:34px}.nav .call{padding:9px 13px;font-size:.9rem;margin-left:auto}.split{gap:22px}.split .art{padding:20px}.split .art img{max-height:220px}footer .cols{grid-template-columns:1fr;gap:26px}footer{padding:40px 0 26px}.grid{gap:14px;margin-top:26px}table.cmp{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}table.cmp th,table.cmp td{padding:11px 13px;font-size:.9rem}.loc-card .tag{position:static;display:inline-block;margin-bottom:8px}details{padding:14px 16px}.gradeline::after{right:14px}.review{padding:20px}.mcall{display:flex}}@media(max-width:400px){h1{font-size:1.85rem}.specstrip .wrap{font-size:.6rem}}@media(pointer:coarse){.nav .call,.btn,footer a,details summary{min-height:44px}footer a{padding:4px 0}}.hero.photo{background:var(--ink)}.hero.photo .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.38}.hero.photo .shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(16,26,35,.94) 30%,rgba(16,26,35,.55) 70%,rgba(16,26,35,.35))}.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.pcard img{width:100%;height:200px;object-fit:cover}.pcard .pad{padding:20px 22px}.pcard h3{margin-bottom:6px;font-size:1.08rem}.pcard p{font-size:.95rem;color:#3c4c58}.workstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.workstrip figure{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--card)}.workstrip img{width:100%;height:230px;object-fit:cover}.workstrip figcaption{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grade);padding:10px 14px}.founder{display:flex;gap:24px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-top:34px}.founder img.face{width:96px;height:96px;border-radius:50%;object-fit:cover;flex-shrink:0}.founder blockquote{font-size:1.05rem;font-style:italic;color:#33434f}.founder .who{margin-top:8px;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grade)}.founder img.seal{height:40px;width:auto;margin-left:auto;flex-shrink:0}.cta-band.photo{position:relative;overflow:hidden}.cta-band.photo .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.30}.cta-band.photo .shade{position:absolute;inset:0;background:rgba(15,49,63,.82)}.cta-band.photo .wrap{position:relative}.diagram-frame{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.diagram-frame img{width:100%;height:auto}.badge-inline{display:flex;gap:14px;align-items:center;margin-top:18px}.badge-inline img{height:84px;width:auto}.badge-inline span{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--water-deep)}@media(max-width:900px){.workstrip{grid-template-columns:1fr 1fr}.workstrip figure:last-child{display:none}}@media(max-width:640px){.workstrip{grid-template-columns:1fr}.workstrip figure:last-child{display:block}.workstrip img{height:190px}.pcard img{height:170px}.founder{flex-wrap:wrap;padding:20px}.founder img.seal{margin-left:0}.hero.photo .shade{background:linear-gradient(180deg,rgba(16,26,35,.92),rgba(16,26,35,.72))}}.hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:44px;align-items:center}.hero-house{border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.14)}.hero-house img{width:100%;height:auto;display:block}.owner{display:grid;grid-template-columns:220px 1fr;gap:30px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px}.owner img{width:100%;height:auto;border-radius:var(--radius)}.owner .role{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--flag);margin-bottom:8px}.owner h3{font-size:1.35rem;margin-bottom:10px}.owner p{color:#3c4c58;margin-bottom:10px}.owner .sig{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grade);margin-top:6px}@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-house{max-width:520px}}@media(max-width:640px){.owner{grid-template-columns:1fr;padding:22px}.owner img{max-width:230px}.hero-house{box-shadow:0 10px 28px rgba(0,0,0,.3)}}.hotmap{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.14)}.hotmap img{width:100%;height:auto;display:block}.lens{position:absolute;width:240px;height:240px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;box-shadow:0 0 0 9999px rgba(13,23,32,.44), inset 0 0 0 2px rgba(190,227,242,.85), inset 0 0 26px rgba(31,110,140,.35);transition:left .55s cubic-bezier(.5,.1,.2,1), top .55s cubic-bezier(.5,.1,.2,1)}.lens::before,.lens::after{content:"";position:absolute;background:rgba(190,227,242,.85)}.lens::before{left:50%;top:-7px;width:2px;height:12px;transform:translateX(-50%);box-shadow:0 235px 0 rgba(190,227,242,.85)}.lens::after{top:50%;left:-7px;height:2px;width:12px;transform:translateY(-50%);box-shadow:235px 0 0 rgba(190,227,242,.85)}.hs{position:absolute;width:32px;height:32px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #fff;background:linear-gradient(160deg,#FFC53D,#E8590C);color:#182430;font-family:var(--font-display);font-weight:800;font-size:.9rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35);padding:0;transition:transform .2s,opacity .2s;opacity:.82;z-index:2}.hs:hover{transform:translate(-50%,-50%) scale(1.12);opacity:1}.hs:focus-visible{outline:3px solid #BEE3F2;outline-offset:2px}.hs.active{opacity:1;transform:translate(-50%,-50%) scale(1.22)}.hs.active .ring{position:absolute;inset:-7px;border-radius:50%;background:conic-gradient(#BEE3F2 var(--p,0%), rgba(190,227,242,.18) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 3px))}.hotcard{margin-top:14px;background:rgba(16,26,35,.86);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:18px 20px 16px;backdrop-filter:blur(6px)}.hotcard .eyebrow{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#7FB6CC;margin-bottom:8px}.hotcard h3{color:#fff;font-size:1.12rem;margin-bottom:6px;min-height:1.3em}.hotcard p{color:#c8d6de;font-size:.94rem;margin:0;min-height:3.6em}.hotcard .fade{transition:opacity .25s}.hotcard .fade.out{opacity:0}.hotnav{display:flex;align-items:center;gap:14px;margin-top:12px}.hotnav .dots{display:flex;gap:7px;flex:1}.hotnav .dot{width:7px;height:7px;border-radius:50%;background:rgba(190,227,242,.28);border:0;padding:0;cursor:pointer;transition:background .2s,transform .2s}.hotnav .dot.on{background:#BEE3F2;transform:scale(1.35)}.hotnav .chev{background:none;border:1px solid rgba(190,227,242,.35);color:#BEE3F2;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}.hotnav .chev:hover{border-color:#BEE3F2;background:rgba(190,227,242,.12)}.hotcard .fixlink{display:inline-block;margin-top:10px;color:#FFC53D;font-weight:700;font-size:.9rem;text-decoration:none;border-bottom:1px solid rgba(255,197,61,.4)}.hotcard .fixlink:hover{border-bottom-color:#FFC53D}@media(max-width:640px){.lens{width:128px;height:128px}.lens::before{box-shadow:0 123px 0 rgba(190,227,242,.85)}.lens::after{box-shadow:123px 0 0 rgba(190,227,242,.85)}.hs{width:24px;height:24px;font-size:.8rem}.hotcard{padding:15px 16px 13px}.hotcard p{min-height:4.6em}}@media(prefers-reduced-motion:reduce){.lens{transition:none}.hs,.hotnav .dot,.hotcard .fade{transition:none}}.hm-toggle{display:flex;gap:0;margin-bottom:12px;border:1px solid rgba(190,227,242,.35);border-radius:999px;overflow:hidden;width:max-content}.hm-toggle button{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:9px 16px;background:transparent;color:#9DBECD;border:0;cursor:pointer;transition:background .25s,color .25s}.hm-toggle button.on{background:#BEE3F2;color:#0F313F;font-weight:700}.hotmap .img-dry{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}.hotmap[data-state=after] .img-dry{opacity:1}.hm-chip{position:absolute;top:12px;left:12px;z-index:3;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 11px;border-radius:6px;background:rgba(16,26,35,.78);border:1px solid rgba(255,255,255,.2);color:#FF9A6B;transition:color .4s,border-color .4s}.hotmap[data-state=after] .hm-chip{color:#8CE8B4;border-color:rgba(140,232,180,.45)}.pipes{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.pipes .case{fill:none;stroke:#0F313F;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s cubic-bezier(.4,0,.2,1)}.pipes .flow{fill:none;stroke:#7FD1EA;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.045 .03;opacity:0;transition:opacity .5s ease 1s;animation:pflow 1.4s linear infinite}@keyframes pflow{to{stroke-dashoffset:-.075}}.pipes .inlet{fill:#E8590C;stroke:#fff;stroke-width:1.5;opacity:0;transition:opacity .4s ease .9s}.pipes .arrow{fill:none;stroke:#8CE8B4;stroke-width:4;stroke-linecap:round;opacity:0;transition:opacity .4s ease 1.2s}.hotmap[data-state=after] .case{stroke-dashoffset:0}.hotmap[data-state=after] .flow{opacity:.95}.hotmap[data-state=after] .inlet{opacity:1}.hotmap[data-state=after] .arrow{opacity:1}.hotmap[data-state=after] .hs{filter:saturate(.6) brightness(1.05)}@media(max-width:640px){.hm-toggle{width:100%}.hm-toggle button{flex:1;padding:10px 8px;font-size:.64rem;text-align:center}.hm-chip{font-size:.6rem;padding:5px 9px}}@media(prefers-reduced-motion:reduce){.hotmap .img-dry,.pipes .case,.pipes .flow,.pipes .inlet,.pipes .arrow{transition:none;animation:none}}.hotmap[data-state=after] .lens{box-shadow:0 0 0 9999px rgba(13,23,32,.26), inset 0 0 0 2px rgba(140,232,180,.8), inset 0 0 26px rgba(46,160,110,.28)}.hotmap[data-state=after] .lens::before,.hotmap[data-state=after] .lens::after{background:rgba(140,232,180,.8)}.hotmap[data-state=after] .lens::before{box-shadow:0 235px 0 rgba(140,232,180,.8)}.hotmap[data-state=after] .lens::after{box-shadow:235px 0 0 rgba(140,232,180,.8)}@media(max-width:640px){.hotmap[data-state=after] .lens::before{box-shadow:0 123px 0 rgba(140,232,180,.8)}.hotmap[data-state=after] .lens::after{box-shadow:123px 0 0 rgba(140,232,180,.8)}}.hero.photo .bgimg{background-image:var(--bg)}.cta-band.photo .bgimg{background-image:var(--bg)}@media(max-width:760px){.hero.photo .bgimg{background-image:var(--bg-m,var(--bg))}.cta-band.photo .bgimg{background-image:var(--bg-m,var(--bg))}}.hs,.hm-toggle button,.hotnav .chev,.hotnav .dot,.btn,.nav .call,.mcall{touch-action:manipulation}.hs::after{content:"";position:absolute;inset:-10px;border-radius:50%}section{content-visibility:auto;contain-intrinsic-size:auto 640px}.hero,.specstrip{content-visibility:visible;contain-intrinsic-size:none}.evalform{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;margin-top:30px}.evalform .full{grid-column:1/-1}.evalform label{display:block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grade);margin-bottom:7px}.evalform input,.evalform select,.evalform textarea{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:8px;background:var(--card);font:inherit;font-size:1rem;color:var(--ink);transition:border-color .15s}.evalform input:focus,.evalform select:focus,.evalform textarea:focus{outline:none;border-color:var(--water)}.evalform textarea{min-height:110px;resize:vertical}.evalform .err{border-color:#C4472B !important}.evalform .submit-row{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.evalform .note{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#98A8B3}.eval-side{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.eval-side .line{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px dashed var(--line)}.eval-side .line:last-child{border-bottom:0}.eval-side .k{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grade);min-width:86px}.eval-side .v{font-weight:700}.eval-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:34px;align-items:start}.eval-ok{display:none;background:var(--card);border:1px solid var(--line);border-left:4px solid #2E8B57;border-radius:var(--radius);padding:26px;margin-top:30px}.eval-ok h3{margin-bottom:8px}.eval-ok .spec{color:#2E8B57}.hp-field{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}@media(max-width:900px){.eval-grid{grid-template-columns:1fr}}@media(max-width:640px){.evalform{grid-template-columns:1fr}.evalform .submit-row .btn{width:100%}}
footer h2{color:#fff;font-family:var(--font-display);font-size:.95rem;margin-bottom:14px;letter-spacing:.02em}
.side .box h2{margin:0 0 12px;font-size:.95rem;font-family:var(--font-display)}

.menu-btn{display:none;margin-left:auto;background:none;border:1.5px solid var(--line);border-radius:8px;padding:8px 12px;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}
@media(max-width:860px){.menu-btn{display:inline-block}.nav nav.open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--card);border-bottom:1px solid var(--line);padding:14px 22px;gap:14px;z-index:40}.nav{position:relative}}
.hero.plain{background:var(--ink);color:#fff}
.hero.plain .sub{color:#cfdde6}
.meta{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grade);display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}
.meta a{color:#8fc4da}
.prose{max-width:76ch;font-size:1.06rem;line-height:1.7}
.prose h2{margin:44px 0 14px;font-size:1.65rem}
.prose h3{margin:32px 0 10px;font-size:1.25rem}
.prose h4{margin:24px 0 8px;font-size:1.05rem}
.prose p{margin:0 0 18px}
.prose ul,.prose ol{margin:0 0 20px;padding-left:24px}
.prose li{margin:0 0 8px}
.prose img{display:block;max-width:100%;height:auto;border-radius:var(--radius);margin:22px 0;border:1px solid var(--line)}
.prose img.portrait{float:left;width:180px;margin:6px 24px 12px 0}
.prose img.icon{display:inline-block;width:64px;margin:0 12px 0 0;border:0;vertical-align:middle}
.prose .imgrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:22px 0}
.prose .imgrow img{margin:0}
.prose blockquote{border-left:4px solid var(--water);margin:22px 0;padding:6px 20px;color:var(--ink-2);font-style:italic}
.prose a{color:var(--water-deep)}
.prose table{border-collapse:collapse;width:100%;margin:22px 0;font-size:.98rem}
.prose td,.prose th{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.prose::after{content:"";display:block;clear:both}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
@media(max-width:900px){.layout{grid-template-columns:1fr}}
.side{position:sticky;top:20px;display:grid;gap:18px}
.side .box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.side .box h4{margin:0 0 12px;font-size:.95rem}
.side .box a{display:block;text-decoration:none;color:var(--ink);padding:7px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.side .box a:last-child{border:0}
.side .box a:hover{color:var(--water)}
.side .box.call{background:var(--ink);color:#fff;border:0}
.side .box.call a{color:#fff;border:0;font-size:1.25rem;font-weight:800;padding:4px 0}
.side .box.call .spec{color:#8fc4da}
.postgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:22px;margin-top:30px}
.post{display:block;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .15s,box-shadow .15s}
.post:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(24,36,48,.08)}
.post img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:var(--rain)}
.post .pad{padding:18px 20px 22px}
.post h3{margin:0 0 8px;font-size:1.08rem;line-height:1.35}
.post p{margin:0;color:var(--ink-2);font-size:.95rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.post .spec{margin-bottom:8px}
.review .stars{color:#E8A317}
.badges{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin-top:24px}
.badges img{height:64px;width:auto}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:14px;margin-top:30px}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}
.pillnav{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.pillnav a{text-decoration:none;font-size:.9rem;font-weight:600;padding:8px 14px;border:1.5px solid var(--line);border-radius:999px;color:var(--ink)}
.pillnav a.on,.pillnav a:hover{border-color:var(--water);color:var(--water)}
video{width:100%;max-width:960px;border-radius:var(--radius);background:#000}
.ans{background:var(--rain-2);border-left:4px solid var(--water);padding:18px 22px;border-radius:0 var(--radius) var(--radius) 0;margin:0 0 30px}
.ans .spec{margin-bottom:6px}
.ans p{margin:0;font-size:1.08rem}
.tocbox{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin:0 0 28px}
.tocbox ol{margin:8px 0 0;padding-left:20px;columns:2;column-gap:28px}
@media(max-width:640px){.tocbox ol{columns:1}}
.tocbox li{margin:0 0 6px;font-size:.95rem}

/* --- accessibility & contrast (WCAG 2.1 AA) --- */
:root{--grade:#5A6E7B;--grade-dark:#8FA3AD;--flag:#C64A08;--flag-deep:#AD4007;--star:#A85F00}
.hero .spec,.hero .meta,.side .box.call .spec,footer .spec,.cta-band .spec{color:#8fc4da}
.specstrip .spec,.specstrip{color:#cfdde6}
.review .stars{color:var(--star)}
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ink);color:#fff;padding:12px 20px;
 border-radius:0 0 8px 0;font-weight:700;text-decoration:none}
.skip:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #1F6E8C;outline-offset:2px;border-radius:3px}
.hero a:focus-visible,footer a:focus-visible,.cta-band a:focus-visible,.site .call:focus-visible{outline-color:#8fc4da}
.nav a,.menu-btn{min-height:44px}.side .box a{min-height:44px;display:inline-flex;align-items:center}
footer .cols a{min-height:38px}
.pillnav a{min-height:44px;display:inline-flex;align-items:center}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
 clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.evalform input[aria-invalid="true"],.evalform select[aria-invalid="true"]{border-color:#B3261E;outline:2px solid #B3261E}
.err-msg{color:#B3261E;font-size:.88rem;margin-top:6px;font-weight:600}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
  transition-duration:.001ms!important;scroll-behavior:auto!important}
}
@media(prefers-contrast:more){:root{--grade:#3E525E}}

.jobber-cta{margin-top:18px;padding:18px 20px;background:var(--rain-2);border:1px solid var(--line);border-radius:var(--radius)}.jobber-cta .btn{margin-top:10px}.jobber-cta p{font-size:.95rem;color:#3c4c58}
.hotcard h2.hc-h{color:#fff;font-size:1.12rem;margin-bottom:6px;min-height:1.3em;font-weight:700}.hotnav .dot{position:relative}.hotnav .dot::after{content:"";position:absolute;inset:-10px}.hotnav .dot[aria-selected=true]{background:#BEE3F2;transform:scale(1.35)}
img{height:auto}.hotnav .dot{width:24px;height:24px;background:transparent;display:flex;align-items:center;justify-content:center}.hotnav .dot::after{content:"";position:static;inset:auto;width:7px;height:7px;border-radius:50%;background:rgba(190,227,242,.28);transition:background .2s,transform .2s}.hotnav .dot.on,.hotnav .dot[aria-selected=true]{background:transparent;transform:none}.hotnav .dot.on::after,.hotnav .dot[aria-selected=true]::after{background:#BEE3F2;transform:scale(1.35)}.hotnav .dots{gap:2px}.hero .breadcrumb a{text-decoration:underline;text-underline-offset:3px}
#evaluation{content-visibility:visible;contain-intrinsic-size:none}.jobber-embed{margin-top:22px;min-height:140px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px}.jobber-embed iframe{width:100%;border:0;min-height:600px}.jb-loading{padding:26px;color:#3c4c58;font-size:.98rem;text-align:center}.jb-picks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 6px}.jb-pick{font:inherit;font-weight:700;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:9px;padding:12px 14px;cursor:pointer;color:var(--ink);display:flex;gap:10px;align-items:center;min-height:44px}.jb-pick .st{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;color:var(--grade)}.jb-pick:hover{border-color:var(--water)}.jb-pick[aria-pressed=true]{border-color:var(--flag);box-shadow:inset 0 0 0 1px var(--flag)}.loc-card[aria-pressed=true]{border-color:var(--flag);box-shadow:inset 0 0 0 1px var(--flag)}@media(max-width:900px){.jb-picks{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.jb-picks{grid-template-columns:1fr}}
/* --- v15: bright theme (per client feedback 2026-10-29) --- */
:root{--paper:#FFFFFF;--rain:#E4F0F6;--rain-2:#F2F7FA;--line:#D9E3EA;--sky:#EAF4F9}
html,body{overflow-x:clip}
body{background:var(--paper)}
.hero,.hero.photo,.hero.plain{background:linear-gradient(180deg,#FFFFFF 0%,var(--sky) 100%);color:var(--ink)}
.hero .contours{opacity:.10}
.hero.photo .bgimg{opacity:1}
.hero.photo .shade{background:linear-gradient(100deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.93) 34%,rgba(255,255,255,.72) 60%,rgba(255,255,255,.28) 100%)}
@media(max-width:640px){.hero.photo .shade{background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.90) 55%,rgba(255,255,255,.78) 100%)}}
.hero h1,.hero.plain h1{color:var(--ink)}
.hero .sub,.hero.plain .sub{color:#33434f}
.hero .spec,.hero .meta,.hero .meta a,.hero .breadcrumb,.hero .breadcrumb a{color:var(--water)}
.hero .breadcrumb{color:var(--grade)}
.btn-ghost{border-color:var(--water);color:var(--water-deep);background:rgba(255,255,255,.7)}
.btn-ghost:hover{border-color:var(--water-deep);background:#fff}
.hero .phone{color:#33434f}.hero .phone a{color:var(--ink)}
.hm-toggle{border-color:var(--water);background:#fff}
.hm-toggle button{color:#33434f}.hm-toggle button.on{background:var(--water);color:#fff}
.hotmap,.hero-house{box-shadow:0 14px 36px rgba(24,36,48,.16);border:1px solid var(--line)}
.lens{box-shadow:0 0 0 9999px rgba(24,36,48,.22),inset 0 0 0 2px rgba(255,255,255,.95),inset 0 0 26px rgba(31,110,140,.25)}
.hotmap[data-state=after] .lens{box-shadow:0 0 0 9999px rgba(24,36,48,.12),inset 0 0 0 2px rgba(255,255,255,.95),inset 0 0 26px rgba(46,160,110,.25)}
.hotcard{background:#fff;border:1px solid var(--line);backdrop-filter:none;box-shadow:0 6px 20px rgba(24,36,48,.08)}
.hotcard .eyebrow{color:var(--water)}
.hotcard h2.hc-h,.hotcard h3{color:var(--ink)}
.hotcard p{color:#33434f}
.hotnav .chev{border-color:var(--line);color:var(--water-deep);background:#fff}
.hotnav .chev:hover{border-color:var(--water);background:var(--rain-2)}
.hotnav .dot::after{background:rgba(31,110,140,.22)}
.hotnav .dot.on::after,.hotnav .dot[aria-selected=true]::after{background:var(--water)}
.hotcard .fixlink{color:var(--flag);border-bottom-color:rgba(198,74,8,.35)}
.hotcard .fixlink:hover{border-bottom-color:var(--flag)}
.hm-chip{background:rgba(255,255,255,.92);border-color:var(--line);color:#A33A05}
.hotmap[data-state=after] .hm-chip{color:#1E7A4C;border-color:rgba(30,122,76,.4)}
.specstrip{background:var(--rain);color:#33434f}.specstrip span b{color:var(--water-deep)}
.cta-band,.cta-band.photo{background:var(--water)}
.cta-band.photo .shade{background:linear-gradient(100deg,rgba(31,110,140,.90),rgba(20,75,96,.84))}
.cta-band.photo .bgimg{opacity:.35}
table.cmp thead th{background:var(--water-deep)}
.side .box.call{background:var(--water-deep)}
.ribbon{background:var(--water-deep)}
.pcard img,.post img,.workstrip img{filter:brightness(1.04) saturate(1.04)}
.hero .btn-flag{box-shadow:0 6px 16px rgba(198,74,8,.22)}
/* ZIP router */
.zip-router{margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
.zip-router label{display:block;font-weight:700;font-size:1.05rem;margin-bottom:10px}
.zip-row{display:flex;gap:10px;flex-wrap:wrap}
.zip-row input{flex:1 1 160px;min-width:0;padding:13px 14px;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:1.1rem;letter-spacing:.06em;color:var(--ink);background:#fff}
.zip-row input:focus{outline:none;border-color:var(--water)}
.zip-row .btn{padding:13px 22px;white-space:nowrap}
.zip-router .detail{margin:10px 0 0;color:#33434f;font-size:.95rem;min-height:1.4em}
.jb-alt{margin-top:14px;background:transparent;border:0;padding:0}
.jb-alt summary{font-size:.95rem;color:var(--water-deep)}
.jb-alt .jb-picks{margin-top:12px}
@media(max-width:640px){.zip-row .btn{width:100%}.zip-router{padding:16px}}
/* Mobile overflow fixes */
@media(max-width:640px){
 .nav{gap:8px}.nav .call{padding:9px 10px;font-size:.84rem;letter-spacing:0}.menu-btn{padding:8px 10px}
 .hero .phone{font-size:.86rem;line-height:1.5}.hero .phone a{white-space:nowrap}
 .specstrip .wrap{gap:4px 14px}
 .ribbon{font-size:.62rem;letter-spacing:.04em}
 .eval-side{padding:18px}.eval-side .k{min-width:72px}
}
@media(max-width:380px){.nav .logo img{height:30px}.nav .call{font-size:.78rem;padding:8px 8px}}
/* --- v17: brand match to live draindesigns.com (sky blue / green / white, Lato, Request a Quote CTAs) --- */
:root{--sky:#1BBDE8;--sky-deep:#0E8FB5;--sky-dark:#0B7A9C;--green:#0B2621;--green-2:#143D35;--navy:#212934;--sand:#0B2621;
 --ink:#212934;--ink-2:#2E3A46;--water:var(--sky-deep);--water-deep:var(--sky-dark);--flag:var(--sky);--flag-deep:#0FA9D3;
 --rain:#E3F6FC;--rain-2:#F1FAFD;--line:#D6E7EE;--paper:#FFFFFF;--grade:#4F6672;
 --font-display:"Lato",system-ui,sans-serif;--font-body:"Lato",system-ui,sans-serif}
body{color:var(--ink)}
h1,h2,h3{letter-spacing:0}
a{color:var(--sky-deep)}
.btn-flag,.nav .call,.mcall,.zip-row .btn,.evalform .btn{background:var(--sky);color:var(--green);font-weight:800}
.btn-flag:hover,.nav .call:hover,.zip-row .btn:hover{background:var(--flag-deep);color:var(--green)}
.btn-sand{background:var(--sand);color:var(--green)}
.spec{color:var(--sky-deep)}.spec::before{background:var(--green)}
.hero .spec{color:var(--sky-deep)}
.hero.photo .shade{background:linear-gradient(100deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.93) 34%,rgba(255,255,255,.72) 60%,rgba(255,255,255,.28) 100%)}
.hero,.hero.photo,.hero.plain{background:linear-gradient(180deg,#FFFFFF 0%,#EAF8FD 100%)}
.specstrip{background:var(--green);color:#CFEAF3}.specstrip span b{color:#fff}
.gradeline{background:linear-gradient(90deg,var(--line),var(--sky),var(--line))}
.step{border-top-color:var(--sky)}.step .n{color:var(--sky-deep)}
.capsule,.ans,.prose blockquote,blockquote{border-left-color:var(--sky)}
.cta-band,.cta-band.photo{background:var(--green)}
.cta-band.photo .shade{background:linear-gradient(100deg,rgba(11,38,33,.92),rgba(20,61,53,.86))}
.cta-band p,.cta-band .phone{color:#CFEAF3}
footer{background:var(--green);color:#B8D3DC}footer a{color:#DCEFF5}footer .base{border-top-color:#1F4A42}footer .tel{color:#9CC3CF}
.side .box.call{background:var(--green)}.side .box.call .spec{color:var(--sky)}
table.cmp thead th{background:var(--green)}
.ribbon{background:var(--green)}
.hm-toggle{border-color:var(--sky-deep)}.hm-toggle button.on{background:var(--sky-deep);color:#fff}
.hotcard .eyebrow{color:var(--sky-deep)}.hotcard .fixlink{color:var(--sky-dark);border-bottom-color:rgba(14,143,181,.35)}
.hotnav .dot.on::after,.hotnav .dot[aria-selected=true]::after{background:var(--sky-deep)}
.hotnav .chev{color:var(--sky-dark)}
.hs{background:linear-gradient(160deg,#FFC53D,#F28C28);color:#1b1b1b}
.loc-card .tag{background:var(--rain);color:var(--sky-dark)}.loc-card .tel{color:var(--sky-dark)}
.chips span{background:var(--rain);color:var(--sky-dark)}
.jb-pick[aria-pressed=true],.loc-card[aria-pressed=true]{border-color:var(--sky-deep);box-shadow:inset 0 0 0 1px var(--sky-deep)}
.pillnav a.on,.pillnav a:hover{border-color:var(--sky-deep);color:var(--sky-dark)}
.review .stars{color:#F2A900}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-color:var(--green)}
.badge-inline span{color:var(--sky-dark)}
.eval-ok{border-left-color:var(--sky)}
/* header: phone line + quote button like the live site */
.nav .hdr-phone{display:none;margin-left:auto;font-weight:700;color:var(--navy);white-space:nowrap}
.nav .hdr-phone a{color:var(--sky-deep);text-decoration:none}
.nav .call{text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;border-radius:6px}
@media(min-width:1180px){.nav .hdr-phone{display:inline}.nav nav{margin-left:0}}
@media(min-width:861px){.nav nav{margin-left:auto}.nav .hdr-phone+nav{margin-left:0}}
/* floating Request a Quote (desktop), bottom bar (mobile) */
.fquote{position:fixed;left:20px;bottom:20px;z-index:60;background:var(--sky);color:var(--green);font-weight:800;text-decoration:none;padding:14px 22px;border-radius:8px;box-shadow:0 6px 18px rgba(11,38,33,.22);font-size:1rem}
.fquote:hover{background:var(--flag-deep)}
@media(max-width:640px){.fquote{display:none}
 .mcall{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;background:transparent;box-shadow:0 -2px 12px rgba(24,36,48,.22)}
 .mcall a{display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 10px;font-weight:800;font-family:var(--font-display);text-decoration:none;font-size:.95rem;min-height:52px}
 .mcall .mc-call{background:var(--green);color:#fff}.mcall .mc-quote{background:var(--sky);color:var(--green)}
 body{padding-bottom:60px}}
/* home: services strip */
.svc-strip .card{border-top:4px solid var(--sky)}
.svc-strip .card a.more{display:inline-block;margin-top:10px;font-weight:700;text-decoration:none;color:var(--sky-dark)}

/* v25 video blocks */
.vidblk{position:relative;border-radius:14px;overflow:hidden;background:#0f313f;box-shadow:0 18px 40px rgba(11,38,33,.18);aspect-ratio:16/9;margin:28px 0 8px}
.vidblk video,.vidblk img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vidblk .cap{position:absolute;left:14px;bottom:12px;background:rgba(11,38,33,.72);color:#fff;font:600 12px/1.2 Lato,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:7px 10px;border-radius:6px}
.vidblk .playb{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.92);color:#0B2621;border:0;border-radius:6px;font:600 12px Lato,sans-serif;padding:7px 10px;cursor:pointer}
.vidrow{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:center}
@media(max-width:860px){.vidrow{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.vidblk video{display:none}}
/* v27 */.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.btn-sand{background:var(--green);color:#fff}.btn-sand:hover{background:#15433b;color:#fff}.btn-ghost{border:2px solid var(--water,#1F6E8C)}@media(max-width:640px){.cta-row{gap:12px}.cta-row .btn{margin:0}:not(.cta-row)>.btn+.btn{margin-top:12px}.btn+.btn:not(.cta-row .btn){margin-left:0}}/* v27b */.mcall{gap:6px;padding:6px;background:#fff;border-top:1px solid #e3e9ed}.mcall a{border-radius:8px;min-height:50px}/* v28 header */.nav{display:flex;align-items:center;flex-wrap:nowrap;min-width:0;gap:16px}.nav .logo{flex:0 1 auto;min-width:0;display:flex;align-items:center}.nav .logo img{max-width:100%;height:auto;max-height:44px}.nav .call{flex:0 0 auto;white-space:nowrap}.menu-btn{flex:0 0 auto;order:4;width:44px;height:44px;min-height:44px;padding:0;display:none;align-items:center;justify-content:center;background:#fff;border:1.5px solid var(--line,#d9e2e8);border-radius:8px;position:relative;cursor:pointer}.menu-btn .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.menu-btn .hb,.menu-btn .hb::before,.menu-btn .hb::after{display:block;width:20px;height:2px;background:var(--green,#0B2621);border-radius:2px;transition:transform .2s,opacity .2s;content:""}.menu-btn .hb{position:relative}.menu-btn .hb::before{position:absolute;top:-6px;left:0}.menu-btn .hb::after{position:absolute;top:6px;left:0}.menu-btn[aria-expanded="true"] .hb{background:transparent}.menu-btn[aria-expanded="true"] .hb::before{transform:translateY(6px) rotate(45deg)}.menu-btn[aria-expanded="true"] .hb::after{transform:translateY(-6px) rotate(-45deg)}@media(max-width:1023px){.menu-btn{display:flex}.nav nav{display:none}.nav .hdr-phone{display:none}.nav .call{margin-left:auto;order:3}.nav nav.open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line,#d9e2e8);padding:8px 0 10px;gap:0;z-index:60;box-shadow:0 14px 30px rgba(11,38,33,.14)}.nav nav.open a{display:flex;align-items:center;min-height:50px;padding:0 22px;font-size:1.05rem;font-weight:700;color:var(--green,#0B2621);border-top:1px solid #eef2f5;text-decoration:none}.nav nav.open a:first-child{border-top:0}.nav nav.open a.mn-call{color:var(--sky-deep,#1F6E8C)}}@media(max-width:640px){.nav{gap:10px;padding:10px 0}.nav .logo img{max-height:32px}.nav .call{font-size:.78rem;padding:0 10px;min-height:42px;display:inline-flex;align-items:center;letter-spacing:.03em}.menu-btn{width:42px;height:42px;min-height:42px}}@media(max-width:359px){.nav .call{font-size:.72rem;padding:0 8px}.nav .logo img{max-height:28px}}.nav nav .mn-call{display:none}@media(max-width:1023px){.nav nav.open .mn-call{display:flex}}html,body{overflow-x:hidden;max-width:100%}img,video,svg,iframe{max-width:100%}/* v28b */.nav nav.open a{justify-content:flex-start;text-align:left}/* v28c overflow */.layout>*,.hero .wrap>*,.split>*,.grid>*,.vidrow>*{min-width:0}article,.prose,.ans,.meta,.tocbox,.card,.hero .sub,.hero .phone,p,li,h1,h2,h3{overflow-wrap:anywhere}.prose a{word-break:break-all}.hero .phone{white-space:normal}.prose table,table.cmp,.cmp-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.grid.facts,.facts-grid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}figure,figure img{max-width:100%}/* v29 wrap */.nw{white-space:nowrap}a[href^="tel:"]{white-space:nowrap}.tel{white-space:nowrap}h1,h2,h3,h4,.sub,.lede,figcaption,summary,.spec,.btn,.breadcrumb{text-wrap:balance}p,li,dd,td{text-wrap:pretty}footer .wrap{max-width:1240px}footer .ftop{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:28px 48px;padding-bottom:34px;margin-bottom:34px;border-bottom:1px solid #1F4A42}footer .ftop p{margin:0;max-width:52ch;font-size:.92rem}footer .fcontact a{margin-top:0}footer .fcontact .fphone{font-size:1.06rem;color:#fff}footer .fcontact .fphone b{font-weight:800}footer .fcontact{display:flex;flex-direction:column;gap:6px}footer .fhours{color:#B8D3DC}footer .fhours b{color:#fff;margin-right:6px}footer .fsl{display:flex;flex-wrap:wrap;gap:4px 18px}footer .fsl a{margin-top:0;white-space:nowrap}footer .cols{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:30px 32px}footer .cols a{white-space:nowrap}footer .floc{margin-top:14px}footer .floc:first-of-type{margin-top:0}footer .cols .floc>a{margin-top:0;min-height:30px;display:flex;align-items:center;font-weight:700;color:#fff}footer .fmeta{display:flex;align-items:center;flex-wrap:wrap;gap:0 8px;font-family:var(--font-mono);font-size:.8rem;color:#9CC3CF}footer .fmeta a{display:inline-flex;align-items:center;margin-top:0;min-height:32px;padding:0}footer .fmeta a.tel{color:#DCEFF5}footer .fmeta a.gbp{color:#9CC3CF;text-decoration:underline;text-underline-offset:3px}footer .ext{font-size:.8em;margin-left:4px;opacity:.75}@media(max-width:1179px){footer .cols{grid-template-columns:repeat(2,minmax(0,1fr))}footer .ftop{grid-template-columns:1fr 1fr}footer .fbrand{grid-column:1/-1}}@media(max-width:640px){footer .cols,footer .ftop{grid-template-columns:1fr}footer .cols a{white-space:normal}}.loc-card{display:grid!important;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"st h" "st t";align-items:start;column-gap:12px;row-gap:6px;text-align:left}.loc-card .st{grid-area:st;margin-top:3px}.loc-card h3{grid-area:h;margin:0}.loc-card .tel{grid-area:t;margin:0}.loc-card .lc-k{display:block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:500;color:var(--sky-deep,#1F6E8C);margin-bottom:3px}.loc-card .lc-city{display:block}*:has(>.loc-card){grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important}.eval-side .line{display:flex!important;flex-direction:column;align-items:flex-start;gap:4px}.eval-side .line .k{min-width:0}.eval-side .line .v{white-space:normal}/* v29b */.spec{flex-wrap:wrap;row-gap:4px}.spec .nw{min-width:0}.pillnav a{white-space:nowrap}/* v29c */.side .box a{display:flex}.tw{display:inline}