/* Residential services use the site's shared typography, colors and controls. */
.residential-hero { background:linear-gradient(150deg,#fff 30%,#f0f5fb); padding-bottom:0; }
.residential-hero .breadcrumb { margin-bottom:36px; }
.residential-hero-grid,.residential-teaser-grid,.residential-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); align-items:center; gap:clamp(32px,5vw,72px); }
.residential-hero .eyebrow,.residential-capabilities .eyebrow,.residential-showcase .eyebrow,.residential-section-copy .eyebrow,.residential-setup .eyebrow,.residential-faq .eyebrow,.residential-cta .eyebrow { color:#005dbb; }
.residential-hero h1 { font-size:clamp(3rem,5.1vw,4.8rem); line-height:1.1; }
.residential-hero h1>span { color:var(--blue); }
.residential-hero .page-intro { font-size:1.125rem; line-height:1.85; margin-top:25px; }
.residential-photo img { display:block; width:100%; border-radius:var(--radius); object-fit:cover; }
.residential-photo figcaption { color:var(--muted); font-size:.75rem; margin-top:12px; }
.residential-hero-photo img { aspect-ratio:1.22; object-position:left center; }
.residential-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; margin-top:30px; }
.residential-presentation-button { color:#005dbb; background:transparent; border-color:#9dbfe4; }
.residential-presentation-button:hover { background:#e6f0fd; }
.residential-explore { margin-top:16px; font-size:.9375rem; }
.residential-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; border-top:1px solid var(--line); margin-top:40px; padding-block:28px; }
.residential-pillars li { display:flex; align-items:baseline; gap:13px; font-weight:550; font-size:.9375rem; }
.residential-pillars li>span { color:#005dbb; font-size:.75rem; font-variant-numeric:tabular-nums; }
.residential-control-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr); gap:clamp(35px,7vw,100px); align-items:start; }
.residential-control-grid .section-heading { margin-bottom:0; }
.residential-control-grid h2 { font-size:clamp(2.25rem,3.7vw,3.3rem); }
.residential-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 38px; }
.residential-feature { padding-top:23px; border-top:1px solid var(--line); }
.residential-feature-icon { color:var(--blue); display:block; margin-bottom:18px; }
.residential-feature-icon .icon { width:27px; height:27px; }
.residential-feature h3 { font-size:1.1875rem; line-height:1.35; letter-spacing:-.025em; }
.residential-feature p { font-size:.9375rem; color:var(--muted); line-height:1.8; margin-top:12px; }
.residential-showcase { background:var(--canvas); }
.residential-showcase .section-heading { max-width:710px; margin-bottom:42px; }
.residential-screen-example { max-width:1100px; margin-inline:auto; }
.residential-screen-example>img { display:block; width:100%; height:auto; border:7px solid #15253c; border-radius:12px; box-shadow:0 20px 55px #173b6118; }
.residential-screen-example>figcaption { display:flex; align-items:center; justify-content:space-between; gap:20px 34px; margin-top:22px; }
.residential-screen-example>figcaption>span { max-width:710px; color:var(--muted); font-size:.8125rem; line-height:1.75; }
.residential-screen-example .text-link { font-size:.875rem; flex:none; }
.residential-advertising { background:#fff; }
.residential-section-copy h2 { font-size:clamp(2.125rem,3.5vw,3.1rem); }
.residential-ad-benefits { display:grid; gap:15px; margin-block:27px; }
.residential-ad-benefits li { display:flex; align-items:flex-start; gap:12px; font-size:.9375rem; }
.residential-ad-benefits .icon { color:var(--blue); width:19px; height:19px; margin-top:3px; }
.residential-note { color:var(--muted); font-size:.8125rem; line-height:1.8; }
.residential-ad-figure { min-width:0; }
.residential-ad-screen { border:7px solid #15253c; border-radius:13px; overflow:hidden; background:#15253c; box-shadow:0 22px 45px #173b6115; }
.residential-ad-top { display:flex; align-items:center; gap:9px; padding:13px 18px; background:#fff; color:#15253c; font-size:.75rem; }
.residential-ad-top .icon { color:var(--blue); width:20px; height:20px; }
.residential-ad-top>b { margin-inline-start:auto; font-size:1.3rem; line-height:1; font-weight:550; letter-spacing:-.05em; }
.residential-ad-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:7px; padding:7px; background:#f0f4fa; }
.residential-ad-info { display:flex; flex-direction:column; justify-content:space-between; gap:30px; padding:23px 18px; background:#fff; border-radius:5px; }
.residential-ad-info>.icon { color:#0071e3; }
.residential-ad-info>strong { color:#15253c; font-size:clamp(1rem,1.65vw,1.35rem); line-height:1.45; font-weight:550; letter-spacing:-.03em; }
.residential-ad-info>span { color:var(--muted); font-size:.6rem; }
.residential-ad-banner { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; position:relative; padding:46px 19px 26px; text-align:center; background:linear-gradient(140deg,#e1eeff,#bfdafa); color:#154c7c; border-radius:5px; }
.residential-ad-banner>span { position:absolute; top:13px; inset-inline-start:14px; font-size:.625rem; }
.residential-ad-banner>.icon { width:39px; height:39px; stroke-width:1.3; }
.residential-ad-banner>strong { font-size:clamp(1.05rem,1.8vw,1.6rem); line-height:1.35; font-weight:550; letter-spacing:-.035em; }
.residential-ad-ticker { display:flex; align-items:center; gap:9px; padding:10px 17px; }
.residential-ad-ticker>span { width:33%; height:3px; background:#7397bc; border-radius:3px; }
.residential-ad-ticker>span:first-child { width:12%; background:#2d8feb; }
.residential-ad-ticker>span:last-child { width:22%; }
.residential-ad-figure>figcaption { margin-top:18px; text-align:center; }
.residential-setup { background:#f6f8fb; }
.residential-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px; list-style:none; margin:0; padding:0; }
.residential-step-number { display:block; font-size:.9375rem; color:#005dbb; padding-bottom:17px; border-bottom:1px solid #cbd9e9; margin-bottom:22px; font-variant-numeric:tabular-nums; }
.residential-steps h3 { font-size:1.35rem; line-height:1.35; }
.residential-steps p { color:var(--muted); font-size:1rem; line-height:1.8; margin-top:14px; }
.residential-setup-note { margin-top:30px; text-align:center; }
.residential-cta { text-align:center; background:radial-gradient(ellipse at 50% 100%,#deebfc,#f3f7fd 50%,#fff 85%); }
.residential-cta-icon { display:grid; place-items:center; width:55px; height:55px; margin:0 auto 26px; border-radius:16px; background:#e5effc; color:var(--blue); }
.residential-cta-icon .icon { width:29px; height:29px; }
.residential-cta .section-description { margin-inline:auto; }
.residential-cta .residential-actions { justify-content:center; }
.residential-teaser { background:#fff; }
.residential-teaser-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); }
.residential-teaser-copy .eyebrow { display:flex; align-items:center; gap:12px; color:#005dbb; }
.residential-teaser-copy .eyebrow .icon { width:20px; height:20px; }
.residential-teaser-copy h2 { font-size:clamp(2.25rem,3.6vw,3.3rem); }
.residential-teaser-copy>.text-link { margin-top:25px; }
.residential-teaser-photo { padding:16px 16px 0; border-radius:calc(var(--radius) + 8px); background:#f2f6fb; }
.residential-teaser-photo img { aspect-ratio:1.42; object-position:left center; border-radius:calc(var(--radius) - 5px); }
.residential-teaser-photo figcaption { padding:0 5px 14px; margin-top:10px; }
.solution-residential .solution-art { padding:0; position:relative; }
.solution-residential .solution-art>img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:left center; }
.solution-residential .text-link { margin-top:20px; }
@media (max-width:1000px) {
    .residential-control-grid { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:36px; }
    .residential-feature-grid { gap:26px; }
    .residential-hero h1 { font-size:3.1rem; }
    .residential-hero .page-intro { font-size:1.0625rem; }
    .residential-actions { gap:13px; }
    .residential-actions .button { font-size:.875rem; padding-inline:19px; }
    .residential-split { grid-template-columns:1fr; max-width:790px; }
    .residential-ad-figure { width:100%; max-width:600px; margin-inline:auto; }
    .residential-ad-info>strong { font-size:1.3rem; }
    .residential-ad-banner>strong { font-size:1.5rem; }
    .residential-screen-example>figcaption { flex-direction:column; align-items:flex-start; gap:10px; }
}
@media (max-width:700px) {
    .residential-hero-grid,.residential-teaser-grid,.residential-control-grid,.residential-feature-grid,.residential-steps { grid-template-columns:1fr; gap:32px; }
    .residential-hero { padding-bottom:0; }
    .residential-hero .breadcrumb { margin-bottom:30px; }
    .residential-hero h1 { font-size:clamp(2.6rem,11vw,3.6rem); }
    .residential-hero .page-intro { margin-top:21px; }
    .residential-hero-photo img { aspect-ratio:1.5; }
    .residential-photo img { border-radius:20px; }
    .residential-actions { margin-top:24px; gap:12px; }
    .residential-actions .button { max-width:100%; }
    .residential-pillars { grid-template-columns:1fr; gap:12px; padding-block:22px; margin-top:27px; }
    .residential-pillars li { font-size:.875rem; }
    .residential-control-grid h2,.residential-section-copy h2,.residential-teaser-copy h2 { font-size:2.25rem; }
    .residential-feature-grid { gap:27px; }
    .residential-feature { padding-top:21px; }
    .residential-feature-icon { margin-bottom:13px; }
    .residential-feature p { margin-top:9px; }
    .residential-showcase .section-heading { margin-bottom:30px; }
    .residential-screen-example>img { border-width:4px; border-radius:7px; }
    .residential-screen-example>figcaption { margin-top:17px; }
    .residential-screen-example>figcaption>span { font-size:.75rem; }
    .residential-ad-screen { border-width:5px; border-radius:11px; }
    .residential-ad-top { padding:10px 12px; font-size:.6875rem; }
    .residential-ad-top>b { font-size:1.15rem; }
    .residential-ad-content { gap:5px; padding:5px; }
    .residential-ad-info { padding:20px 11px; gap:28px; }
    .residential-ad-info>strong { font-size:1rem; }
    .residential-ad-info>span { font-size:.5rem; }
    .residential-ad-banner { gap:15px; padding:38px 10px 20px; }
    .residential-ad-banner>span { top:10px; inset-inline-start:10px; font-size:.5625rem; }
    .residential-ad-banner>.icon { width:30px; height:30px; }
    .residential-ad-banner>strong { font-size:1.0625rem; }
    .residential-ad-ticker { padding:9px 12px; }
    .residential-steps { gap:30px; }
    .residential-step-number { padding-bottom:13px; margin-bottom:17px; }
    .residential-steps h3 { font-size:1.3rem; }
    .residential-steps p { margin-top:10px; }
    .residential-setup-note { text-align:start; }
    .residential-cta .residential-actions { flex-direction:column; }
    .residential-teaser-photo { padding:10px 10px 0; border-radius:25px; }
    .residential-teaser-photo img { aspect-ratio:1.5; border-radius:17px; }
    .residential-teaser-photo figcaption { padding:0 3px 10px; font-size:.6875rem; }
}
@media print {
    .residential-hero-photo img,.residential-teaser-photo img { max-height:300px; }
    .residential-feature,.residential-screen-example,.residential-ad-figure,.residential-steps li { break-inside:avoid; }
}
