:root{--black:#080a0e;--ink:#14171d;--blue:#0044ff;--blue-light:#4878ff;--white:#fff;--paper:#f3f5f8;--muted:#657081;--line:#dce1e8;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--blue-light);outline-offset:6px}.wrap{max-width:1360px;width:calc(100% - 112px);margin:auto}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;background:var(--blue);color:white;padding:12px 22px}.skip-link:focus{top:12px}.header{background:var(--black);border-bottom:1px solid #ffffff1f;position:sticky;top:0;z-index:30}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:32px}.logo-crop{display:block;position:relative;width:235px;height:67px;overflow:hidden;flex-shrink:0}.logo-crop img{position:absolute;width:100%;height:auto;bottom:0}nav{display:flex;gap:34px;align-items:center;color:#d1d5df;font-size:14px;font-weight:600}nav>a:hover{color:white}.nav-contact{color:white;border:1px solid #ffffff45;padding:11px 19px;border-radius:3px;white-space:nowrap}.nav-contact:hover{background:var(--blue);border-color:var(--blue)}.menu-toggle{display:none}.hero{position:relative;background:var(--black);color:white;min-height:680px;overflow:hidden}.hero-image{position:absolute;left:45%;right:0;top:0;bottom:0}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:55% center}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--black) 0%,rgba(8,10,14,.35) 17%,rgba(8,10,14,0) 45%),linear-gradient(0deg,rgba(8,10,14,.6),transparent 45%)}.hero-content{position:relative;padding-top:78px;padding-bottom:122px;z-index:2}.hero-copy{max-width:590px}.eyebrow{font-weight:800;font-size:13px;letter-spacing:.16em;line-height:1.5;margin:0 0 20px;color:var(--blue)}.eyebrow.light{color:#c0c7d4}.eyebrow:before{content:'';display:inline-block;width:27px;height:3px;background:var(--blue);margin:0 12px 4px 0}h1,h2,h3,p{margin-top:0}h1{font:800 clamp(80px,7.75vw,118px)/.88 var(--display);letter-spacing:-.015em;margin:0 0 30px}h1 span{color:var(--blue-light)}.hero-description{font-size:17px;line-height:1.8;color:#c6cbd5;max-width:480px;margin-bottom:31px}.hero-description:first-line{color:white;font-weight:600}.hero-actions{display:flex;flex-wrap:wrap;gap:23px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 24px;border-radius:3px;font-size:14px;font-weight:800;line-height:1.5;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-blue{color:white;background:var(--blue)}.button-blue:hover{background:#235dff}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid #ffffff66;padding:4px 0}.text-link:hover{border-color:white}.hero-bottom{position:absolute;left:0;right:0;bottom:0;display:flex;gap:24px;padding:24px 0;border-top:1px solid #ffffff2b;z-index:2;font-size:12px;letter-spacing:.11em;font-weight:700;color:#cdd2dd}.hero-bottom span+span{border-left:1px solid #ffffff40;padding-left:24px}.image-label{position:absolute;right:38px;bottom:115px;color:#fff;z-index:1;font-size:11px;font-weight:600;letter-spacing:.08em}.image-label strong{display:block;font-size:15px;margin-top:2px;letter-spacing:.03em}
.builders{background:#fff;border-bottom:1px solid var(--line);padding:29px 0 26px;overflow:hidden}.builders-intro{display:flex;align-items:center;gap:24px;margin-bottom:16px}.builders-intro h2{font:700 23px/1 var(--display);letter-spacing:.035em;margin:0}.builders-intro p{font-size:14px;color:var(--muted);margin:0}.marquee-control{margin-left:auto;font-size:12px;display:flex;gap:7px;align-items:center;background:transparent;border:0;color:var(--muted);cursor:pointer;padding:7px}.marquee-control:hover{color:var(--blue)}.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.marquee-track{display:flex;width:max-content;animation:marquee 45s linear infinite}.marquee:hover .marquee-track,.marquee:focus-within .marquee-track,.marquee.paused .marquee-track{animation-play-state:paused}.logo-group{display:flex;align-items:center;width:max-content}.builder-logo{width:205px;flex-shrink:0;height:100px;display:flex;align-items:center;justify-content:center;padding:24px 30px}.builder-logo img{width:100%;height:auto;max-height:57px;object-fit:contain;filter:grayscale(1);opacity:.85}.builder-logo.kb{width:155px}.builder-logo.kb img{max-height:72px;width:72px}.builder-logo.white-source img{filter:brightness(0)}.builder-logo.coventry img{filter:brightness(0);max-height:66px}.builder-logo.cope img{max-height:72px}.builder-logo.grand{width:220px}.builder-logo:hover img{filter:none;opacity:1}.builder-logo.white-source:hover img,.builder-logo.coventry:hover img{filter:brightness(0)}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding-top:100px;padding-bottom:100px}h2{font:700 clamp(40px,4.1vw,60px)/1.03 var(--display);letter-spacing:-.005em;margin:0 0 22px}h2 span{color:var(--muted)}.section-heading{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:end;margin-bottom:53px}.section-heading>p{max-width:445px;color:var(--muted);margin-bottom:24px;font-size:16px;line-height:1.8}.advantage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;border-top:1px solid var(--line);padding-top:33px}.advantage-grid article{padding:0 26px 0 0}.advantage-grid article+article{border-left:1px solid var(--line);padding-left:34px}.feature-icon{height:42px;width:42px;color:var(--blue);margin-bottom:22px}.feature-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h3{font-size:20px;letter-spacing:-.04em;line-height:1.3;margin-bottom:13px}.advantage-grid p{font-size:15px;color:var(--muted);margin:0;line-height:1.85}.services{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.services-layout{display:grid;grid-template-columns:1fr 1fr;gap:120px}.services-heading h2{max-width:480px}.services-heading>p:not(.eyebrow){max-width:440px;color:var(--muted);margin:25px 0}.dark-link{border-color:var(--line);font-size:14px}.dark-link:hover{color:var(--blue);border-color:var(--blue)}.service-list{padding-top:6px}.service-list article{padding:22px 0 27px;border-top:1px solid #c9d0dc}.service-list article:last-child{padding-bottom:0}.service-list h3{font-size:24px;margin-bottom:10px}.service-list p{font-size:15px;color:var(--muted);max-width:400px;margin-bottom:14px}.service-list span{font-size:11px;letter-spacing:.11em;color:var(--blue);font-weight:800}.hyphen-panel{display:grid;grid-template-columns:.85fr 1.2fr;gap:0;border:1px solid var(--line)}.hyphen-brand{background:var(--black);color:white;padding:48px 42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hyphen-brand .eyebrow{font-size:11px;letter-spacing:.1em;margin-bottom:38px}.hyphen-brand .eyebrow:before{display:none}.hyphen-brand img{width:230px;height:auto;margin-bottom:36px}.hyphen-brand>p:not(.eyebrow){font-size:22px;line-height:1.45;letter-spacing:-.03em;color:#c8ced9;font-weight:500;margin-bottom:24px}.hyphen-brand>a{font-size:12px;color:#b5bed0;border-bottom:1px solid #606b80;padding-bottom:4px}.hyphen-brand>a:hover{color:white}.hyphen-copy{padding:50px}.hyphen-copy h2{font-size:clamp(36px,3.5vw,52px)}.hyphen-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.85}.workflow{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.workflow span{font-size:10px;font-weight:800;letter-spacing:.07em;line-height:1.4;background:var(--paper);border:1px solid var(--line);padding:10px 12px}.hyphen-copy .hyphen-note{font-size:13px!important;margin:0}.bulk{background:var(--blue);color:white}.bulk-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}.bulk .eyebrow.light{color:#dce5ff}.bulk .eyebrow:before{background:white}.bulk h2{font-size:clamp(40px,3.9vw,58px);max-width:580px;margin-bottom:0}.bulk-copy>p{font-size:16px;line-height:1.85;color:#e7edff;margin-bottom:31px}.bulk-flow{border-top:1px solid #ffffff4a;padding-top:20px;display:flex;flex-direction:column;gap:13px}.bulk-flow>div{display:flex;gap:16px;align-items:center}.bulk-flow span{font-family:var(--display);font-size:22px;color:#a6bfff;line-height:1}.bulk-flow strong{font-size:14px;font-weight:700}.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:center}.contact-intro>p:not(.eyebrow){color:var(--muted);max-width:510px;margin-bottom:28px}.contact-intro h2{font-size:clamp(40px,3.8vw,57px)}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.contact-links>a:first-child{font-size:30px;font-weight:800;letter-spacing:-.04em;color:var(--ink)}.contact-links>a:last-child{font-size:16px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.contact-links>a:hover{color:var(--blue)}.contact-card{padding:38px 34px;background:var(--paper);border-top:4px solid var(--blue)}.card-label{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--blue);display:block;margin-bottom:17px}.contact-card h3{font-size:27px;max-width:320px}.contact-card>p{font-size:15px;line-height:1.8;color:var(--muted);margin-bottom:25px}.contact-card .button{width:100%}.contact-card .card-note{font-size:13px;margin:16px 0 0;text-align:center}.card-note>a{color:var(--ink);font-weight:800;text-decoration:underline;text-underline-offset:3px}.footer{background:var(--black);color:#b8bfcb;padding:36px 0 22px}.footer-top{display:flex;justify-content:space-between;gap:35px;align-items:center;padding-bottom:31px;border-bottom:1px solid #ffffff21}.footer-top>p{font-size:14px;line-height:1.7;margin:0}.footer-top>div:last-child{display:flex;flex-direction:column;gap:8px;text-align:right}.footer-top>div>span{font-size:10px;letter-spacing:.09em}.footer-top>div>a{font-size:18px;font-weight:700;color:white}.footer-bottom{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:14px;font-size:11px;padding-top:22px;color:#838d9e}.footer-bottom p{margin:0}.footer-bottom a:hover{color:white}
@media(min-width:1700px){.hero{min-height:760px}.hero-content{padding-top:115px}.hero-image{left:46%}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}nav{gap:20px}.header-inner{gap:24px}.logo-crop{width:210px;height:62px}.hero{min-height:660px}.hero-content{padding-top:76px}.hero-copy{max-width:530px}.hero-image{left:38%}.hero-image:after{background:linear-gradient(90deg,var(--black),#080a0e88 35%,#080a0e08 100%),linear-gradient(0deg,#080a0e88,transparent 50%)}.image-label{display:none}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header-inner{height:82px}.logo-crop{width:204px;height:59px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:12px;background:none;border:1px solid #ffffff45;width:46px;height:44px;cursor:pointer}.menu-toggle span{width:20px;height:2px;background:white}nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--black);padding:22px;align-items:stretch;gap:17px;flex-direction:column;font-size:16px;border-bottom:1px solid #ffffff30}nav.open{display:flex}.nav-contact{text-align:center}.hero{min-height:auto}.hero-content{padding-top:55px;padding-bottom:56px}.hero-copy{max-width:580px}h1{font-size:clamp(74px,15vw,109px)}.hero-image{left:0;top:0;bottom:0;opacity:.25}.hero-image>img{object-position:65% center}.hero-image:after{background:linear-gradient(90deg,var(--black),#080a0e55),linear-gradient(0deg,var(--black),transparent 60%)}.hero-description{font-size:16px;max-width:480px}.hero-bottom{position:relative;font-size:10px;gap:15px;padding:20px 0;flex-wrap:wrap}.hero-bottom span+span{padding-left:15px}.hero-actions{gap:17px;align-items:flex-start;flex-direction:column}.button{padding:16px 21px}.eyebrow{font-size:12px;letter-spacing:.12em}}
@media(max-width:1100px){.section{padding-top:80px;padding-bottom:80px}.section-heading{gap:45px}.services-layout{gap:65px}.bulk-layout{gap:45px}.contact{gap:50px}.hyphen-copy{padding:37px}.hyphen-brand{padding:38px 30px}.footer-top{gap:20px}.footer-top .logo-crop{width:205px}.advantage-grid{gap:22px}.advantage-grid article+article{padding-left:22px}}
@media(max-width:800px){.section{padding-top:65px;padding-bottom:65px}.builders-intro{gap:12px;flex-wrap:wrap}.builders-intro h2{font-size:21px}.builders-intro p{font-size:12px}.marquee-control{padding:5px}.marquee-control .control-text{display:none}.builder-logo{width:170px;padding:20px 25px;height:87px}.builder-logo.grand{width:185px}.builder-logo.kb{width:120px}.builder-logo.kb img{max-height:58px}.section-heading,.services-layout,.hyphen-panel,.bulk-layout,.contact{grid-template-columns:1fr;gap:30px}.section-heading{margin-bottom:30px}.section-heading>p{margin-bottom:0;max-width:600px}.advantage-grid{grid-template-columns:1fr;gap:25px;padding-top:27px}.advantage-grid article,.advantage-grid article+article{padding:0 0 23px;border-left:0;border-bottom:1px solid var(--line)}.advantage-grid article:last-child{border-bottom:0;padding-bottom:0}.feature-icon{float:left;margin:0 18px 40px 0;width:36px;height:36px}.advantage-grid h3{margin-bottom:9px}.advantage-grid p{margin-left:54px}.services-layout{gap:40px}.services-heading h2{max-width:100%}.services-heading h2 br:nth-of-type(2){display:none}.services-heading>p:not(.eyebrow){max-width:600px}.service-list article{padding:22px 0}.hyphen-panel{gap:0}.hyphen-brand{padding:32px}.hyphen-brand .eyebrow{margin-bottom:25px}.hyphen-brand img{width:210px;margin-bottom:25px}.hyphen-brand>p:not(.eyebrow){font-size:20px}.hyphen-copy{padding:32px 26px}.workflow{gap:7px}.workflow span{font-size:10px;padding:9px}.bulk-layout{gap:28px}.bulk-flow{gap:13px}.contact{gap:37px}.contact-card{padding:30px 25px}.contact-intro h2{font-size:42px}.contact-links>a:first-child{font-size:29px}.footer-top{display:grid;grid-template-columns:1fr;gap:22px}.footer-top>div:last-child{text-align:left}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}.footer-top .logo-crop{width:225px}}
@media(max-width:420px){h2{font-size:37px}.contact-intro h2{font-size:36px}.builders-intro p{width:calc(100% - 38px);order:3}.builders-intro .marquee-control{margin-left:auto}.hero-bottom{gap:10px;font-size:9px}.hero-bottom span+span{padding-left:10px}.hyphen-copy{padding:29px 23px}.bulk h2{font-size:39px}.eyebrow{font-size:11px}.contact-links>a:last-child{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.marquee{overflow-x:auto;mask-image:none}.marquee-control{display:none}.marquee-track{transform:none!important}}
.builder-logo img{filter:none;opacity:1}.builder-logo.dark-logo{background:#14171d;border-radius:3px;margin:0 10px;width:185px;height:80px;padding:15px 22px}.builder-logo.dark-logo img,.builder-logo.dark-logo:hover img{filter:none}.builder-logo.coventry img{max-height:60px}.builder-logo.mi{gap:10px}.builder-logo.mi img{width:49px;height:49px;max-height:49px}.builder-logo.mi span{color:white;font-size:15px;font-weight:700;white-space:nowrap;letter-spacing:-.03em}@media(max-width:800px){.builder-logo.dark-logo{width:167px;height:72px;padding:12px 17px}.builder-logo.mi{width:180px}.builder-logo.mi img{width:43px;height:43px;max-height:43px}}
.advantage-grid p,.service-list p,.hyphen-copy>p:not(.eyebrow),.contact-card>p{font-size:16px}.service-list span,.workflow span,.card-label,.footer-top>div>span,.footer-bottom,.image-label,.hyphen-brand .eyebrow,.hyphen-brand>a{font-size:12px}.hero-bottom,.hero-bottom span,.eyebrow,.builders-intro p{font-size:12px}.hyphen-copy .hyphen-note,.contact-card .card-note{font-size:13px!important}.hero-description,.section-heading>p,.services-heading>p:not(.eyebrow),.bulk-copy>p,.contact-intro>p:not(.eyebrow){font-size:16px}.footer-top>p{font-size:14px}.hyphen-brand .eyebrow{letter-spacing:.08em}
.communities{background:#f4f6f9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.communities-heading{display:grid;grid-template-columns:1.25fr .8fr;gap:70px;align-items:end;margin-bottom:34px}.communities-heading h2{margin-bottom:0}.communities-heading h2 span{color:var(--muted)}.communities-heading>p{color:var(--muted);max-width:440px;margin:0 0 8px}.community-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.community-filter{background:white;border:1px solid #d7dee8;border-radius:2px;padding:9px 15px;color:#596579;font-size:12px;font-weight:700;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.community-filter:hover,.community-filter.is-active{background:var(--blue);border-color:var(--blue);color:#fff}.community-layout{display:grid;grid-template-columns:1.38fr .82fr;background:white;border:1px solid var(--line);box-shadow:0 16px 45px #17233b0a}.community-map{min-width:0;padding:19px 23px 14px;background:#f9fbfd;border-right:1px solid var(--line)}.map-topline,.map-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#778296;font-size:10px;font-weight:800;letter-spacing:.08em}.map-topline>span:last-child{display:flex;align-items:center;gap:7px;letter-spacing:.02em;font-weight:600}.map-topline i{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px #1a54ff1c}.map-art{width:100%;height:auto;max-height:480px;margin:5px auto 0;overflow:visible}.map-county{fill:#f1f5f9;stroke:#d8e0e9;stroke-width:1.4;stroke-dasharray:5 5}.map-roads path{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round}.map-roads path:nth-child(even){stroke:#e7b959;stroke-width:2;stroke-dasharray:5 5}.map-road-labels text{font:700 9px var(--body);fill:#8692a3;letter-spacing:.08em}.map-city-labels text{font:700 9px var(--body);fill:#8490a1;letter-spacing:.1em}.map-foot{border-top:1px solid var(--line);padding-top:11px;font-size:9px;letter-spacing:.02em;font-weight:600}.map-foot span:last-child{color:var(--blue);font-weight:800}.community-marker{cursor:pointer;outline:none;transition:opacity .15s}.community-marker .marker-shadow{fill:#1349dd;opacity:.17}.community-marker .marker-dot{fill:var(--blue);stroke:white;stroke-width:3}.community-marker .marker-core{fill:white}.community-marker:hover .marker-shadow,.community-marker.is-selected .marker-shadow{opacity:.32}.community-marker.is-selected .marker-dot{fill:#121720;stroke:#fff}.community-marker:focus .marker-dot{stroke:#94b4ff;stroke-width:5}.map-popup{pointer-events:none}.map-popup rect{fill:#121720;stroke:#ffffff;stroke-width:1}.map-popup text{font:700 10px var(--body);fill:#fff}.community-marker:focus-visible{outline:none}
@media(max-width:900px){.communities-heading{grid-template-columns:1fr .8fr;gap:35px}.community-layout{grid-template-columns:1fr}.community-map{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:600px){.communities-heading{grid-template-columns:1fr;gap:20px;margin-bottom:25px}.community-filters{gap:7px}.community-filter{padding:8px 10px;font-size:11px}.community-map{padding:14px 12px 11px}.map-topline{font-size:8px}.map-topline>span:last-child{font-size:9px}.map-city-labels text{font-size:8px}.map-road-labels text{font-size:8px}.map-foot{align-items:flex-start;font-size:8px}}
.community-layout{grid-template-columns:minmax(0,1fr)}.community-map{border-right:0}
#community-map.map-live{height:490px;width:100%;background:#e8edf1;border:1px solid #e1e6ec;z-index:1}.map-live.leaflet-container{font:12px var(--body);color:#1b2430}.community-pin-icon{background:transparent;border:0}.community-pin{display:block;width:20px;height:20px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:var(--blue);box-shadow:0 2px 8px #08152a70;transform:rotate(-45deg);transition:transform .16s,background .16s}.community-pin-icon:hover .community-pin{background:#0d35b4;transform:rotate(-45deg) scale(1.16)}.community-tooltip.leaflet-tooltip{background:#111821;border:0;border-radius:4px;color:#fff;padding:9px 12px;box-shadow:0 5px 18px #0b152744}.community-tooltip.leaflet-tooltip-top:before{border-top-color:#111821}.community-popup-content{display:flex;flex-direction:column;gap:3px;min-width:155px}.community-popup-content strong{font-size:12px;color:#1350ef}.community-popup-content span{font-size:14px;font-weight:800;color:#141a23}.community-popup-content small{font-size:11px;color:#657185}.leaflet-popup-content-wrapper{border-radius:4px}.leaflet-popup-content{margin:12px 15px}.leaflet-control-attribution{background:#fffffff0!important;font-size:10px!important}.leaflet-control-attribution a{color:#1f4fae!important}.map-foot a{color:var(--blue);font-size:10px;text-decoration:underline;text-underline-offset:3px}.map-live.map-unavailable{display:grid;place-items:center;padding:28px;text-align:center;color:#657185;font-size:14px;line-height:1.6}.community-item{cursor:pointer}
@media(max-width:900px){#community-map.map-live{height:430px}}
@media(max-width:600px){#community-map.map-live{height:390px}.map-foot{align-items:center}}
.leaflet-control-attribution{background:rgba(255,255,255,.74)!important;font-size:9px!important;color:#68758a!important;box-shadow:0 1px 5px #17233b14}.leaflet-control-attribution a{color:#526ca4!important}.shop-marker-icon{background:transparent;border:0}.shop-radar{position:absolute;inset:4px;border:2px solid #1350ef;border-radius:50%;animation:shop-radar-pulse 2.2s ease-out infinite;pointer-events:none}.shop-home-dot{position:absolute;left:9px;top:9px;width:28px;height:28px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:#1350ef;box-shadow:0 2px 8px #08152a70;color:white;z-index:1}.shop-home-dot svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.shop-popup-content strong{color:#1350ef}.shop-tooltip.leaflet-tooltip-top:before{border-top-color:#111821}@keyframes shop-radar-pulse{0%{transform:scale(.38);opacity:.9}100%{transform:scale(1.5);opacity:0}}@media(prefers-reduced-motion:reduce){.shop-radar{animation:none;opacity:.45;transform:scale(1.25)}}

/* Keep required OpenStreetMap credit discreet but clearly readable. */
.leaflet-control-attribution{background:rgba(255,255,255,.86)!important;font-size:10px!important;color:#344054!important;box-shadow:0 1px 5px #17233b20}.leaflet-control-attribution a{color:#2454ad!important}

/* Scroll reveals: restrained fades and lifts, with a light stagger for repeated rows. */
.has-scroll-reveal .scroll-reveal{transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.2,1);transition-delay:0ms}
.has-scroll-reveal .scroll-reveal:not(.is-visible){opacity:0;transform:translate3d(0,22px,0)}
.has-scroll-reveal .scroll-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
.has-scroll-reveal .scroll-reveal:focus-within{opacity:1;transform:translate3d(0,0,0)}
.has-scroll-reveal .advantage-grid article:nth-child(2),.has-scroll-reveal .service-list article:nth-child(2){transition-delay:110ms}
.has-scroll-reveal .advantage-grid article:nth-child(3),.has-scroll-reveal .service-list article:nth-child(3){transition-delay:220ms}
.has-scroll-reveal .hyphen-copy,.has-scroll-reveal .bulk-layout>div:nth-child(2),.has-scroll-reveal .contact-card{transition-delay:140ms}
