/* Presentation pages retain the original illustration-led visual language. */
.landing-page{background:#f5f7f2}.landing-hero{background:#e9eee6;padding:28px 0 54px}.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:55px;align-items:center}.landing-hero h1{font-size:clamp(36px,3.5vw,52px);line-height:1.2;font-weight:550;letter-spacing:-1.8px;margin:0 0 22px;overflow-wrap:break-word}.landing-lead{font-size:18px;line-height:1.8;color:#4c6051;max-width:650px;margin:0 0 24px}.landing-capabilities{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:0 0 28px}.landing-capabilities li{background:#ffffffb8;color:#38523e;border-radius:18px;font-size:12px;line-height:1.6;padding:7px 12px}.landing-hero-art{min-width:0;min-height:330px;display:grid;place-items:center}.landing-hero-art img{width:100%;height:auto;max-height:430px;object-fit:contain}.landing-body{padding-top:30px;padding-bottom:65px}.landing-toc{display:flex;flex-wrap:wrap;gap:10px 26px;padding:15px 0 25px;border-bottom:1px solid var(--line);margin-bottom:15px}.landing-toc a{font-size:13px;min-height:34px;display:inline-flex;align-items:center;color:var(--green);max-width:100%}.service-content{max-width:none}.service-content>section{padding:45px 0;margin:0}.service-content>section>h2{font-size:34px;font-weight:550;line-height:1.3;letter-spacing:-1px;margin-top:0;margin-bottom:26px;max-width:1000px}.service-content>section>p{max-width:1000px;font-size:16px}.service-content>section[id^=about-banner]{margin:30px 0;padding:36px 42px;background:linear-gradient(120deg,#53785b,#2f473b 75%);border-radius:28px;color:#fff}.service-content>section[id^=about-banner] p{color:#f0f5ee;line-height:1.85}.service-content>section[id^=about-banner] strong{font-size:23px;font-weight:500;line-height:1.6}.service-content [data-component=benefit-grid]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:25px 0}.service-content [data-component=benefit-grid]>li,.service-content [data-component=benefit-grid]>article{background:#fff;border:1px solid #e0e6da;border-radius:18px;padding:23px;min-width:0;margin:0;font-size:15px;line-height:1.8}.service-content [data-component=benefit-grid] h3{font-size:19px;margin:0 0 12px}.service-content [data-component=benefit-grid] p{font-size:15px;margin:0}.service-content details[data-component=service-details]{border:1px solid #d7e0d3;background:white;border-radius:15px;padding:0;margin:14px 0;overflow:clip}.service-content details[data-component=service-details]>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;min-height:72px;padding:20px 26px;font-size:19px;font-weight:550;line-height:1.55;color:var(--ink)}.service-content details[data-component=service-details]>summary::-webkit-details-marker{display:none}.service-content details[data-component=service-details]>summary:after{content:'+';font-size:25px;font-weight:400;flex:none;color:var(--green)}.service-content details[data-component=service-details][open]>summary:after{content:'−'}.service-content details[data-component=service-details]>div{padding:0 26px 25px}.service-content details[data-component=service-details]>div p,.service-content details[data-component=service-details]>div li{font-size:15px}.service-content details[data-component=service-details] h3{font-size:21px}.service-content details[data-component=service-details] h4{font-size:18px}.service-content [data-component=steps]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:30px 0}.service-content [data-step]{background:#fff;border-radius:17px;border:1px solid #e0e6da;padding:24px;min-width:0}.service-content [data-step] h3{font-size:19px;margin:0 0 13px}.service-content [data-step] p{font-size:14px;margin:0}.service-content [data-component=media-gallery]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:25px 0}.service-content [data-component=media-gallery] figure{margin:0;min-width:0;display:flex;flex-direction:column;gap:10px}.service-content [data-component=media-gallery] img{width:100%;height:210px;object-fit:contain;margin:0;background:#f1f4ed;border-radius:10px;padding:10px}.service-content [data-component=media-gallery] figcaption{font-size:12px;line-height:1.7;color:var(--muted)}.media-button{display:block;width:100%;padding:0;min-height:44px;border-radius:10px;cursor:zoom-in}.media-button:hover{outline:1px solid #9db49a;outline-offset:3px}.service-content .table-scroll{background:#fff}.table-scroll-hint{font-size:12px!important;color:var(--muted);margin:10px 0!important}.company-offerings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:26px 0}.company-offering,.company-benefit{min-width:0;background:white;border:1px solid #dfe7d9;border-radius:18px;padding:25px}.company-offering h3,.company-benefit h3{font-size:20px;margin:0 0 13px}.company-offering p,.company-benefit p{font-size:15px;margin:0;line-height:1.85}.company-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-content #trustCarousel,.service-content #trustCarouselA{background:transparent}.service-content #trustCarousel img,.service-content #trustCarouselA img{background:#fff;border:1px solid #e2e8dd}.service-content #testiCarousel figure{background:#fff;border:1px solid #e0e6da}.document-content{padding-top:30px;padding-bottom:65px}.document-toolbar{display:flex;flex-wrap:wrap;gap:10px 28px;padding:8px 0 24px;border-bottom:1px solid var(--line);margin-bottom:25px}.document-toolbar a{font-size:13px;color:var(--green);min-height:34px;display:flex;align-items:center;gap:15px}.document-toc{display:flex;gap:12px 24px;flex-wrap:wrap;margin:0 0 28px}.document-toc a{font-size:13px;color:var(--green)}.document-article{max-width:1180px}.document-article .table-scroll{width:100%;max-width:100%;border-radius:8px}.document-article table{min-width:900px}.document-article th,.document-article td{overflow-wrap:normal;word-break:normal}.document-article p,.document-article li{font-size:15px}.document-article h2{font-size:28px}.document-article a{overflow-wrap:anywhere}.install-content{padding-top:40px;padding-bottom:65px}.install-platform{background:var(--paper);padding:30px;border-radius:20px;margin:20px 0}.install-platform h2{margin-top:0}.contact-page-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;padding-top:50px;padding-bottom:60px}.contact-address{padding:10px 0}.contact-direct{background:var(--sage);padding:32px;border-radius:22px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.contact-direct h2{font-size:23px;margin:0 0 7px;font-weight:550}.contact-direct>a{font-size:17px;color:var(--green);overflow-wrap:anywhere}.contact-direct .button{margin-top:12px}.media-dialog{width:min(1100px,calc(100% - 32px));max-height:94dvh;padding:18px}.media-dialog .dialog-heading{margin-bottom:12px}.media-dialog .dialog-heading h2{font-size:18px}.media-dialog img{display:block;max-width:100%;max-height:calc(90dvh - 110px);object-fit:contain;margin:auto}.media-dialog p{font-size:13px;margin:14px 0 0;text-align:center}
@media(max-width:1000px){.landing-hero-grid{gap:30px}.landing-hero h1{font-size:37px}.landing-lead{font-size:16px}.landing-capabilities li{font-size:11px;padding:6px 10px}.landing-hero-art{min-height:250px}.service-content [data-component=steps]{grid-template-columns:repeat(2,minmax(0,1fr))}.company-offerings{grid-template-columns:1fr}.service-content [data-component=media-gallery]{grid-template-columns:repeat(2,minmax(0,1fr))}.service-content>section>h2{font-size:29px}}
@media(max-width:700px){.landing-hero{padding:23px 0 30px}.landing-hero-grid{grid-template-columns:1fr;gap:20px}.landing-hero h1{font-size:34px;line-height:1.25;letter-spacing:-1.1px}.landing-lead{font-size:16px;margin-bottom:20px}.landing-capabilities{gap:7px;margin-bottom:22px}.landing-capabilities li{font-size:12px;padding:6px 10px}.landing-hero-art{min-height:0;order:2}.landing-hero-art img{max-height:270px}.landing-body{padding-top:18px;padding-bottom:40px}.landing-toc{gap:8px 20px;margin-bottom:0;padding-bottom:18px}.landing-toc a{font-size:12px}.service-content>section{padding:32px 0}.service-content>section>h2{font-size:27px}.service-content>section[id^=about-banner]{padding:25px;border-radius:22px;margin:24px 0}.service-content>section[id^=about-banner] strong{font-size:19px}.service-content [data-component=benefit-grid],.company-benefits{grid-template-columns:1fr;gap:14px}.service-content [data-component=benefit-grid]>li,.service-content [data-component=benefit-grid]>article{padding:20px}.service-content details[data-component=service-details]>summary{font-size:16px;min-height:68px;padding:17px 19px}.service-content details[data-component=service-details]>div{padding:0 19px 20px}.service-content details[data-component=service-details]>div li{font-size:14px}.service-content [data-component=steps]{grid-template-columns:1fr}.service-content [data-component=media-gallery]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-content [data-component=media-gallery] img{height:155px;padding:6px}.service-content [data-component=media-gallery] figcaption{font-size:11px}.company-offering,.company-benefit{padding:22px}.document-content{padding-top:20px;padding-bottom:40px}.document-toolbar a{font-size:12px}.document-article h2{font-size:24px}.document-article p,.document-article li{font-size:14px}.install-content{padding-top:24px}.install-platform{padding:23px}.contact-page-grid{grid-template-columns:1fr;gap:25px;padding-top:28px;padding-bottom:40px}.contact-direct{padding:25px}.contact-direct>a{font-size:15px}}

.service-content [data-component=steps]{grid-template-columns:1fr;gap:18px}
.service-content [data-component=steps]>h2{grid-column:1/-1}
.service-content [data-step]{display:grid;grid-template-columns:90px minmax(0,1fr);gap:24px;align-items:start}
.service-content [data-step]>figure{margin:0}
.service-content [data-step]>figure img{width:90px;height:100px;object-fit:contain;margin:0}
.service-content [data-step] .step-number{font-size:12px;color:var(--green);font-weight:600;margin:0 0 8px}
.service-content [data-step] .step-body{min-width:0}
.service-content [data-step] .step-body p{font-size:15px;line-height:1.9}
@media(max-width:700px){.service-content [data-step]{grid-template-columns:54px minmax(0,1fr);gap:16px;padding:20px}.service-content [data-step]>figure img{width:54px;height:65px}.service-content [data-step] .step-body p{font-size:14px}}

.service-content details img{max-width:100%;width:auto;height:auto;max-height:320px;object-fit:contain}
[data-component=missing-image]{background:#f6f1e5;border:1px solid #d7caa9;padding:16px 20px;border-radius:10px;font-size:13px!important}
/* Reserve a real box before lazy images decode; auto/auto collapsed to 0×0. */
.service-content details img{width:100%;max-width:780px;height:auto;max-height:320px;object-fit:contain}
.install-platform>h2{font-size:28px}.install-platform>h3{font-size:20px;margin-top:28px}.install-platform>ol{padding-left:24px;margin-top:24px}.install-platform>ol>li{padding:10px 0;font-size:15px}.install-platform .button{font-size:14px;text-decoration:none;max-width:100%;margin:5px 0}
#instructionDropdown details{background:#fff;border:1px solid #dce5d6;border-radius:10px;margin:10px 0;padding:0;overflow:clip}
#instructionDropdown summary{padding:17px 20px;font-size:15px;min-height:56px}#instructionDropdown details>div{padding:0 20px 20px;font-size:14px;line-height:1.9}

/* Article links must retain the contrast of their button treatment. */
.install-platform a.button{color:#fff}
/* Keep each outsourcing illustration beside its list, as a single readable row. */
.service-content>section:has(>img[src*="/pane-1-"]){display:grid;grid-template-columns:230px minmax(0,1fr);column-gap:35px;row-gap:30px;align-items:center}
.service-content>section:has(>img[src*="/pane-1-"])>h2{grid-column:1/-1;margin-bottom:0}
.service-content>section:has(>img[src*="/pane-1-"])>img{width:230px;height:184px;object-fit:contain;margin:0}
.service-content>section:has(>img[src*="/pane-1-"])>ul{margin:0}
@media(max-width:700px){.service-content>section:has(>img[src*="/pane-1-"]){grid-template-columns:1fr;gap:18px}.service-content>section:has(>img[src*="/pane-1-"])>img{width:200px;height:160px;margin:0 auto}}
/* Smart-home icon sets and product illustrations are composed sections, not a text stream. */
.smart-home-page .smart-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.smart-home-page .smart-feature-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:start;background:#fff;border:1px solid #dfe6da;border-radius:20px;padding:24px;min-width:0}
.smart-home-page .smart-feature-card>img{width:64px;height:64px;object-fit:contain;margin:0}
.smart-home-page .smart-feature-card h3{font-size:18px;line-height:1.45;letter-spacing:-.2px;margin:0 0 8px}
.smart-home-page .smart-feature-card p{font-size:14px;line-height:1.8;margin:0;color:#4c6051}
.smart-home-page .smart-section-intro{font-weight:600;margin:18px 0 0}
.smart-home-page .service-content>section.smart-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding:48px 0}
.smart-home-page .smart-product-copy{min-width:0}
.smart-home-page .smart-product-copy h2{font-size:30px;line-height:1.35;letter-spacing:-.8px;margin:0 0 20px}
.smart-home-page .smart-product-copy>p{font-size:15px;line-height:1.8}
.smart-home-page .smart-product-copy [data-component=benefit-grid]{display:block;margin:20px 0 0;padding-left:20px;list-style:disc}
.smart-home-page .smart-product-copy [data-component=benefit-grid]>li{border:0;border-radius:0;background:transparent;padding:4px 0 4px 3px;margin:5px 0;font-size:15px}
.smart-home-page .smart-product-copy li::marker{color:#458158}
.smart-home-page .smart-product>figure{min-width:0;margin:0;background:#e9eee5;border-radius:28px;padding:22px}
.smart-home-page .smart-product>figure img{width:100%;height:auto;max-height:360px;object-fit:contain;margin:0}
.smart-home-page .smart-product--reverse .smart-product-copy{order:2}
.smart-home-page .smart-product--reverse>figure{order:1}
.smart-home-page .landing-toc{gap:8px 22px}.smart-home-page .landing-toc a{max-width:340px;font-size:12px}
@media(max-width:1100px){.smart-home-page .smart-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.smart-home-page .service-content>section.smart-product{gap:30px}.smart-home-page .smart-product-copy h2{font-size:27px}.smart-home-page .smart-feature-card{padding:21px;gap:15px}}
@media(max-width:700px){.smart-home-page .smart-feature-grid{grid-template-columns:1fr;gap:12px;margin-top:22px}.smart-home-page .smart-feature-card{grid-template-columns:54px minmax(0,1fr);gap:15px;padding:20px}.smart-home-page .smart-feature-card>img{width:54px;height:54px}.smart-home-page .smart-feature-card h3{font-size:17px}.smart-home-page .service-content>section.smart-product{grid-template-columns:1fr;gap:24px;padding:32px 0}.smart-home-page .smart-product-copy,.smart-home-page .smart-product--reverse .smart-product-copy{order:0}.smart-home-page .smart-product>figure{order:1;padding:18px;border-radius:22px}.smart-home-page .smart-product-copy h2{font-size:26px}.smart-home-page .smart-product-copy [data-component=benefit-grid]>li{font-size:14px}.smart-home-page .landing-toc{display:grid;gap:0}.smart-home-page .landing-toc a{max-width:none;padding:7px 0}}
@media(max-width:900px){.smart-home-page .service-content>section.smart-product{grid-template-columns:1fr;gap:24px}.smart-home-page .smart-product-copy,.smart-home-page .smart-product--reverse .smart-product-copy{order:0}.smart-home-page .smart-product>figure{order:1;width:100%;max-width:620px;margin:0 auto}}
