/* One frame and consistent text tracks across all service cards. */
.service-grid{gap:24px;border:0;align-items:stretch}
.service-card,.smart-card{padding:0;display:flex;flex-direction:column;grid-column:auto;gap:0;border:1px solid var(--line);border-radius:8px;background:#fff}
.service-card-photo,.smart-card .service-card-photo{height:190px;min-height:190px;width:100%;margin:0 0 24px;grid-row:auto;display:block;overflow:hidden;background:#eff3f8}
.service-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.service-card .service-head,.smart-card .service-head{padding:0;margin:0 24px 18px}
.service-card>h3,.smart-card>h3{margin:0 24px 12px;min-height:48px;font-size:20px;line-height:1.25}
.service-card>p,.smart-card>p{margin:0 24px 25px;min-height:64px;max-width:none}
.service-card .service-link,.smart-card .service-link{margin:auto 24px 25px}
.service-card-photo[href*="wifi-connectivity"] img{object-position:70% 22%}
.service-card-photo[href*="business-telephony"] img{object-position:30% 50%}
.service-card-photo[href*="site-connectivity"] img{object-position:20% 50%}
.service-card-photo[href*="cctv-surveillance"] img,.service-card-photo[href*="smart-buildings"] img{object-fit:contain;padding:10px;transform:scale(1.25)}
.service-card:hover .service-card-photo[href*="cctv-surveillance"] img,.service-card:hover .service-card-photo[href*="smart-buildings"] img{transform:scale(1.28)}
.service-photo>img{width:100%;height:360px;object-fit:cover;display:block;object-position:center}
.service-photo>img[src*="wifi-service"]{object-position:70% 22%}
.vendor-banner-art{height:360px;border-radius:8px;background:linear-gradient(145deg,#f4f7fb,#e8eef6);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;justify-items:center;overflow:hidden;padding:25px}
.vendor-banner-art img{width:100%;height:300px;object-fit:contain;transform:scale(1.2);background:none;border-radius:0}
.single-product .vendor-banner-art{grid-template-columns:1fr}
.single-product .vendor-banner-art img{max-width:520px}
.vendor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.vendor-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}
.vendor-product-image{height:250px;overflow:hidden;background:#f0f4fa;display:flex;align-items:center;justify-content:center;padding:10px}
.vendor-product-image img{width:100%;height:100%;object-fit:contain;transform:scale(1.2)}
.vendor-copy{padding:25px;display:flex;flex-direction:column;flex:1}
.vendor-copy .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:15px}
.vendor-copy h3{font-size:23px}
.vendor-copy p{font-size:13px;color:var(--muted);line-height:1.8;min-height:70px}
.vendor-copy ul{padding-left:17px;font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:25px}
.vendor-copy a{margin-top:auto;font-size:11px;font-weight:600;color:var(--blue)}
.vendor-attribution{font-size:10px;line-height:1.8;color:var(--muted);padding-top:20px}
.ai-note{padding-bottom:65px}.ai-note p{font-size:14px;color:var(--muted);max-width:800px;line-height:1.9}.ai-note a{font-size:12px;color:var(--blue)}
.vendor-section:has(.vendor-card:only-child) .vendor-grid{grid-template-columns:1fr}
.vendor-section .vendor-card:only-child{display:grid;grid-template-columns:1fr 1.2fr}
.vendor-section .vendor-card:only-child .vendor-product-image{height:340px}
@media(max-width:1050px){.service-card .service-head,.smart-card .service-head{margin-left:20px;margin-right:20px}.service-card>h3,.service-card>p{margin-left:20px;margin-right:20px}.service-card .service-link{margin-left:20px;margin-right:20px}.vendor-grid{gap:16px}.vendor-copy{padding:20px}}
@media(max-width:760px){.service-card-photo,.smart-card .service-card-photo{height:170px;min-height:170px}.service-card>h3,.smart-card>h3{font-size:18px;min-height:45px}.service-card>p,.smart-card>p{min-height:80px}.vendor-grid{grid-template-columns:1fr}.vendor-copy p{min-height:0}.vendor-banner-art{height:270px;padding:12px;gap:5px}.vendor-banner-art img{height:220px}.service-photo>img{height:240px}.vendor-section .vendor-card:only-child{display:flex}.vendor-section .vendor-card:only-child .vendor-product-image{height:260px}}
@media(max-width:390px){.service-card-photo,.smart-card .service-card-photo{height:190px;min-height:190px}.service-card>h3,.service-card>p{min-height:0}.vendor-banner-art{height:220px}.vendor-banner-art img{height:180px}}

/* Solutions navigation uses keyboard-accessible native disclosures. */
header{position:relative;z-index:30}nav{align-items:center}.nav-disclosure summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;font-size:13px}.nav-disclosure summary::-webkit-details-marker{display:none}.nav-disclosure summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.nav-disclosure[open]>summary{color:var(--blue)}.nav-disclosure[open]>summary>span{transform:rotate(180deg)}
.solutions-menu,.sectors-menu{position:absolute;top:calc(100% - 8px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 45px #102e5614;padding:28px}.solutions-menu{left:64px;right:64px}.nav-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.menu-overview{display:block;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:22px;font-weight:600}.nav-group>span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}.nav-group>a{display:flex;gap:10px;padding:10px 0;font-size:12px;line-height:1.5}.nav-group b{font-weight:500}.nav-group svg{width:20px;height:20px;flex-shrink:0;color:var(--blue)}.sectors-menu{min-width:255px}.sectors-menu a{display:block;padding:9px 0;font-size:12px}
.service-photo>img[src$=".svg"]{object-fit:contain;background:#eff3f8;border-radius:8px}.outcome-band .text-link{display:block;margin:20px 0 26px}.sector-card{scroll-margin-top:35px}
@media(max-width:1050px){.solutions-menu{left:35px;right:35px}}
@media(max-width:760px){nav.open{max-height:calc(100dvh - 91px);overflow-y:auto;align-items:stretch}.solutions-menu,.sectors-menu{position:static;box-shadow:none;padding:20px;margin-top:15px}.nav-columns{grid-template-columns:1fr;gap:24px}.nav-disclosure summary{justify-content:space-between}.service-grid{grid-template-columns:1fr 1fr}.service-card>h3{min-height:70px}.service-card>p{min-height:90px}}
@media(max-width:480px){.service-grid{grid-template-columns:1fr}.service-card>h3,.service-card>p{min-height:0}}

.sector-solution-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin:18px 0}.sector-solution-links a{color:var(--blue);font-size:11px}

.project-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-preview{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}.project-preview-image{height:190px;background:#eff3f8}.project-preview-image img{height:100%;width:100%;object-fit:cover}.project-preview-image img[src*="ubiquiti"]{object-fit:contain;padding:15px}.project-preview-copy{padding:24px}.project-status{display:block;font-size:9px;letter-spacing:1.2px;color:var(--muted);margin-bottom:16px}.project-preview-copy p{font-size:13px;color:var(--muted);margin-bottom:0}.selected-projects{border-top:1px solid var(--line)}
@media(max-width:760px){.project-preview-grid{grid-template-columns:1fr}.project-preview-image{height:220px}}

.hotel-service-context{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;padding-top:65px;padding-bottom:65px;border-top:1px solid var(--line)}.hotel-service-context h2{font-size:34px;max-width:430px}.hotel-service-context p{font-size:15px;color:var(--muted);line-height:1.9;margin-top:0;margin-bottom:22px}.hotel-service-context .text-link{color:var(--blue)}.hotel-solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.hotel-solution-grid article{background:white;border:1px solid var(--line);border-radius:8px;padding:26px}.hotel-solution-grid h3{font-size:19px}.hotel-solution-grid p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:0}.hotel-experience-panel{padding:42px;border:1px solid var(--line);border-radius:16px;background:#eff3f8}.hotel-experience-panel strong{display:block;font-size:86px;line-height:1.15;font-weight:500;color:var(--ink)}.hotel-experience-panel>span{font-size:15px}.hotel-experience-panel p{font-size:14px;color:var(--muted);margin:26px 0}.hotel-experience-panel>a{font-size:12px;font-weight:600}.hotel-solutions{background:linear-gradient(#fcfcfa,#f7f9fc)}
@media(max-width:760px){.hotel-service-context{grid-template-columns:1fr;gap:18px;padding-top:45px;padding-bottom:45px}.hotel-service-context h2{font-size:30px}.hotel-solution-grid{grid-template-columns:1fr}.hotel-experience-panel{padding:28px}.hotel-experience-panel strong{font-size:64px}}

.wireless-product-banner{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(140deg,#f4f7fb,#e8eef6);border-radius:8px;padding:26px;gap:24px}.wireless-product-banner figure{margin:0;text-align:center}.wireless-product-banner img{width:100%;height:300px;object-fit:contain;padding:20px}.wireless-product-banner figcaption{font-size:12px;color:var(--ink);padding:12px}.wireless-certifications,.wireless-platforms{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 32px}.wireless-certifications span{padding:10px 15px;border:1px solid #d1ddeb;background:#eff3f8;border-radius:5px;font-size:12px}.wireless-platforms{margin:32px 0 0}.wireless-platforms span{font-size:12px;color:var(--blue);padding:8px 14px;border-bottom:2px solid var(--gold)}.wireless-products .vendor-grid{grid-template-columns:1fr 1fr}.wireless-products .vendor-product-image img{transform:none}.service-card-photo img[src*="wireless/"]{object-fit:contain;padding:18px;object-position:center!important;transform:none!important}
@media(max-width:760px){.wireless-product-banner{gap:8px;padding:12px}.wireless-product-banner img{height:190px;padding:5px}.wireless-product-banner figcaption{font-size:10px}.wireless-products .vendor-grid{grid-template-columns:1fr}.wireless-certifications span{font-size:11px}}

/* Consistent sector photography framing. */
.sector-card .sector-photo img{transform:none;object-position:center;width:100%;height:100%;object-fit:cover}

.contact-email{display:block;margin:16px 0;font-size:20px;overflow-wrap:anywhere}.legal-page{max-width:960px}.legal-page h1{font-size:clamp(38px,6vw,64px)}.legal-page h2{font-size:25px;margin:36px 0 12px}.legal-page a,.form-note a{text-decoration:underline}.contact h1{font-size:clamp(34px,5vw,58px);line-height:1.12}
