/* Service selection is shared by the homepage and six category landings. */
.modern-site .modern-home .modern-hero { min-height:430px; width:min(1320px,calc(100% - 48px)); padding:46px 64px; margin-bottom:0; border-radius:18px 18px 0 0; background-size:74% auto; background-position:right center; }
.modern-site .modern-home .modern-hero::before { background:linear-gradient(90deg,#242424 0%,#242424 33%,rgba(36,36,36,.93) 43%,rgba(36,36,36,.12) 72%); }
.modern-site .modern-home .modern-hero__copy { width:58%; max-width:650px; }
.modern-site .modern-home .modern-hero h1 { max-width:20ch; font-size:clamp(34px,3.15vw,46px); line-height:1.12; font-weight:650; }
.home-hero__brand { display:block; }
.modern-site .modern-home .modern-hero h1 .geo-title-suffix { display:block; margin-top:14px; max-width:29ch; color:#e8f1f5; font-size:clamp(19px,1.55vw,23px); line-height:1.4; font-weight:400; letter-spacing:0; }
.modern-site .modern-home .modern-hero__facts { margin:22px 0 26px; gap:9px; }
.modern-site .modern-home .modern-hero__facts li { font-weight:400; font-size:14px; }
.modern-site .modern-home > .service-benefits { width:min(1320px,calc(100% - 48px)); margin:0 auto; border-radius:0 0 18px 18px; background:#e8f1f5; color:#123b5d; overflow:hidden; }
.modern-site .modern-home > .service-benefits .section-wallpaper { filter:none; mix-blend-mode:multiply; opacity:.12; }
.modern-site .modern-home > .service-benefits ul { width:100%; padding:20px 64px; gap:24px; }
.modern-site .modern-home > .service-benefits strong { color:#334e68; font-size:13px; font-weight:500; }
.modern-site .modern-home > .service-benefits .service-benefits__icon { background:#cbd9e2; color:#0e7490; }
.modern-site .home-service-directory { padding-block:48px 56px; }
.modern-site :is(.home-service-directory,.hub-catalog) > .section-wallpaper { opacity:.065; }
.modern-site .home-service-directory h2 { margin:0 0 24px; font-size:clamp(28px,2.8vw,36px); font-weight:650; }
.catalog-categories { display:none; }
.service-catalog.is-enhanced { display:grid; grid-template-columns:250px minmax(0,1fr); align-items:start; gap:32px; }
.service-catalog.is-enhanced .catalog-categories { display:grid; gap:6px; }
.catalog-category { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 18px; gap:4px 10px; width:100%; min-height:64px; padding:12px 16px; text-align:left; color:#334e68; border:1px solid #cbd9e2; border-radius:10px; background:#ffffff; cursor:pointer; font:500 15px/1.35 var(--font-text); transition:background-color .15s ease,border-color .15s ease; }
.catalog-category small { grid-column:1; color:#526d82; font:400 12px/1.35 var(--font-text); }
.catalog-category > svg { grid-column:2; grid-row:1/3; align-self:center; width:18px; height:18px; stroke:currentColor; stroke-width:1.7; fill:none; }
.catalog-category[aria-selected=true] { border-color:#0e7490; background:#0e7490; color:white; }
.catalog-category[aria-selected=true] small { color:#e8f1f5; }
.catalog-category:not([aria-selected=true]):hover { background:#e8f1f5; border-color:#8db9c7; }
.catalog-panels { min-width:0; }
.catalog-panel { margin:0 0 32px; }
.is-enhanced .catalog-panel { margin:0; }
.catalog-panel[hidden] { display:none!important; }
.catalog-panel__head { display:flex; justify-content:space-between; align-items:center; gap:12px 20px; margin:0 0 18px; }
.modern-site .catalog-panel__head h3 { margin:0; color:#123b5d; font:600 22px/1.3 var(--font-display); }
.catalog-panel__head > a,.hub-catalog__all { display:inline-flex; align-items:center; gap:7px; min-height:36px; flex:none; color:#0e7490; font:500 13px/1.4 var(--font-text); text-decoration:underline; text-underline-offset:4px; }
.catalog-panel__head > a svg,.hub-catalog__all svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; }
.catalog-services { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
.catalog-services > li { display:flex; min-width:0; }
.catalog-service { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; width:100%; min-height:126px; padding:10px 12px 14px; border-radius:12px; background:#e8f1f5; color:#123b5d; text-align:center; text-decoration:none; font:500 14px/1.3 var(--font-text); transition:background-color .15s ease; }
.catalog-service .catalog-picture { width:76px; height:76px; }
.catalog-picture { display:block; flex:none; overflow:hidden; }
.catalog-picture img { width:100%; height:100%; object-fit:contain; display:block; }
.catalog-picture--photo { border-radius:8px; }
.catalog-picture--photo img { object-fit:cover; }
.catalog-picture--cutout img { mix-blend-mode:multiply; }
.catalog-service > svg { position:absolute; right:10px; top:10px; width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; opacity:0; }
.catalog-service:hover { background:#cbd9e2; color:#12627f; }
.catalog-service:hover > svg { opacity:1; }
.catalog-service--text { align-items:flex-start; text-align:left; padding:18px; }
.catalog-service--text > svg { position:static; opacity:1; margin-top:8px; }
.catalog-service--text .catalog-service__description { font-size:12px; line-height:1.5; font-weight:400; color:#526d82; }
.catalog-panel:has(.catalog-service--text) .catalog-services { grid-template-columns:repeat(3,minmax(0,1fr)); }
.catalog-category:focus-visible,.catalog-service:focus-visible,.catalog-panel:focus-visible,.hub-service:focus-visible,.catalog-panel__head a:focus-visible,.hub-catalog__all:focus-visible { outline:3px solid #0e7490; outline-offset:3px; }
.modern-site .category-landing .modern-hero { min-height:390px; padding-block:38px; }
.modern-site .category-landing .modern-hero h1 { font-size:clamp(32px,3vw,44px); }
.modern-site .category-landing .modern-hero h1 .geo-title-suffix { display:block; margin-top:12px; font-size:23px; line-height:1.4; color:#e8f1f5; font-weight:400; }
.modern-site .category-landing .modern-hero__facts li { font-size:14px; font-weight:400; }
.modern-site .category-landing .dr-hero { width:min(1320px,calc(100% - 48px)); min-height:390px; padding:38px 64px; margin:16px auto 24px; border-radius:18px; }
.modern-site .category-landing .dr-hero__copy { width:65%; }
.modern-site .category-landing .dr-hero h1 { font-size:44px; line-height:1.15; }
.modern-site .category-landing .dr-hero h1 .geo-title-suffix { display:block; font-size:23px; font-weight:400; line-height:1.4; margin-top:12px; color:#e8f1f5; }
.modern-site .category-landing .dr-hero__facts { display:grid; grid-template-columns:1fr; gap:10px; }
.modern-site .category-landing .dr-hero__facts li { font-size:14px; font-weight:400; }
.modern-site .category-landing .hub-catalog { padding-block:44px 48px; background:#f4f8fa; }
.hub-catalog__head { display:flex; align-items:baseline; justify-content:space-between; gap:18px; margin-bottom:18px; }
.modern-site .hub-catalog__head h2 { margin:0; font-size:clamp(27px,2.6vw,34px); }
.hub-services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; list-style:none; padding:0; margin:0; }
.hub-service { display:grid; grid-template-columns:96px minmax(0,1fr) 20px; gap:18px; align-items:center; height:100%; min-height:140px; padding:18px 6px 18px 0; border-top:1px solid #cbd9e2; text-decoration:none; color:#123b5d; }
.hub-service .catalog-picture { width:96px; height:96px; padding:5px; background:#e8f1f5; border-radius:12px; }
.hub-service .catalog-picture--photo { padding:0; }
.hub-service__copy { display:block; }
.modern-site .hub-service h3 { margin:0 0 6px; font:600 21px/1.3 var(--font-display); }
.hub-service__copy > span { display:block; color:#526d82; font:400 14px/1.55 var(--font-text); }
.hub-service > svg { width:20px; height:20px; fill:none; stroke:#0e7490; stroke-width:1.6; transition:transform .15s ease; }
.hub-service:hover h3 { color:#0e7490; }
.hub-service:hover > svg { transform:translateX(3px); }
.hub-service--text { grid-template-columns:minmax(0,1fr) 20px; }
.modern-site .modern-home #prices { padding-block:48px; }
.modern-site .modern-home #request { padding-block:40px; }
.modern-site .modern-home #request .form-layout { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); align-items:center; gap:48px; }
.modern-site .modern-home #request .request__info { margin:0; }
.modern-site .modern-home #request .request__info h2 { max-width:12ch; margin:0; font-size:38px; line-height:1.2; }
.modern-site .modern-home #request .lead-form { grid-template-columns:1fr; gap:14px; }
.modern-site .modern-home #request .lead-form > .form-row { grid-column:1; grid-row:auto; }
.modern-site .modern-home #request .lead-form .lead-preferences { grid-row:auto; gap:14px; }
.modern-site .modern-home #request .lead-form > .btn { grid-column:1; grid-row:auto; }
.modern-site .modern-home #request .lead-form .modal-consent { order:2; }
@media(max-width:1100px){
 .modern-site .modern-home .modern-hero { padding:40px; background-size:cover; }
 .modern-site .modern-home .modern-hero::before { background:linear-gradient(90deg,rgba(36,36,36,.97),rgba(36,36,36,.82) 50%,rgba(36,36,36,.25)); }
 .modern-site .modern-home .modern-hero__copy { width:70%; }
 .modern-site .modern-home > .service-benefits ul { padding:20px 40px; }
 .service-catalog.is-enhanced { grid-template-columns:220px minmax(0,1fr); gap:22px; }
 .catalog-services { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .catalog-panel__head { align-items:flex-start; flex-direction:column; gap:3px; }
 .hub-service { grid-template-columns:80px minmax(0,1fr) 18px; gap:14px; }
 .hub-service .catalog-picture { width:80px; height:90px; }
 .modern-site .hub-service h3 { font-size:19px; }
 .modern-site .modern-home #request .form-layout { gap:28px; }
}
@media(max-width:760px){
 .modern-site .modern-home .modern-hero { min-height:390px; width:calc(100% - 24px); padding:30px 24px; }
 .modern-site .modern-home .modern-hero { background-position:60% center; }
 .home-hero__brand { display:inline; }
 .modern-site .modern-home .modern-hero__copy { width:100%; max-width:470px; }
 .modern-site .modern-home .modern-hero h1 { font-size:34px; }
 .modern-site .modern-home .modern-hero h1 .geo-title-suffix { font-size:19px; max-width:29ch; }
 .modern-site .modern-home > .service-benefits { width:calc(100% - 24px); }
 .modern-site .modern-home > .service-benefits ul { padding:18px 20px; gap:14px; }
 .modern-site .modern-home > .service-benefits strong { font-size:12px; }
 .service-catalog.is-enhanced { display:block; }
 .service-catalog.is-enhanced .catalog-categories { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-bottom:22px; }
 .catalog-category { min-height:62px; grid-template-columns:1fr; font-size:13px; padding:10px; }
 .catalog-category small { font-size:11px; }
 .catalog-category > svg { display:none; }
 .catalog-panel__head { flex-direction:row; align-items:center; margin-bottom:14px; }
 .modern-site .catalog-panel__head h3 { font-size:20px; }
 .catalog-panel__head > a { max-width:110px; font-size:12px; flex-shrink:0; }
 .catalog-services { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .catalog-panel:has(.catalog-service--text) .catalog-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hub-services { grid-template-columns:1fr; }
 .hub-service { grid-template-columns:84px minmax(0,1fr) 18px; min-height:120px; padding-block:16px; }
 .hub-service .catalog-picture { width:84px; height:84px; }
 .hub-service--text { grid-template-columns:minmax(0,1fr) 18px; }
 .hub-catalog__head { display:block; }
 .hub-catalog__all { margin-top:8px; }
 .modern-site .category-landing .modern-hero { min-height:360px; padding-block:30px; }
 .modern-site .category-landing .modern-hero h1 { font-size:30px; }
 .modern-site .category-landing .modern-hero h1 .geo-title-suffix { font-size:18px; }
 .modern-site .category-landing .dr-hero { width:calc(100% - 24px); padding:30px 24px; }
 .modern-site .category-landing .dr-hero__copy { width:100%; }
 .modern-site .category-landing .dr-hero h1 { font-size:30px; }
 .modern-site .category-landing .dr-hero h1 .geo-title-suffix { font-size:18px; }
 .modern-site .modern-home #request .form-layout { display:block; }
 .modern-site .modern-home #request .request__info h2 { max-width:none; font-size:29px; margin-bottom:24px; }
}
@media(max-width:540px){
 .modern-site .home-service-directory { padding-block:34px 40px; }
 .modern-site .home-service-directory h2 { font-size:28px; max-width:20ch; margin-bottom:20px; }
 .service-catalog.is-enhanced .catalog-categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .catalog-category { min-height:59px; padding:10px 12px; }
 .catalog-panel__head { align-items:flex-start; }
 .modern-site .catalog-panel__head h3 { font-size:19px; max-width:18ch; }
 .catalog-panel__head > a { max-width:95px; min-height:28px; }
 .catalog-services { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
 .catalog-service { min-height:114px; padding:8px 6px 12px; font-size:13px; }
 .catalog-service .catalog-picture { width:66px; height:66px; }
 .catalog-service--text { padding:14px; }
 .modern-site .modern-home .modern-hero__facts li { font-size:13px; }
 .modern-site .modern-home .modern-hero__actions { gap:12px; }
 .modern-site .modern-home .service-price-jump { font-size:13px; }
 .modern-site .modern-home #prices { padding-block:36px; }
 .modern-site .category-landing .hub-catalog { padding-block:34px; }
}
@media(max-width:359px){
 .modern-site .modern-home .modern-hero { padding:28px 20px; }
 .modern-site .modern-home .modern-hero h1 { font-size:29px; }
 .catalog-category { font-size:12px; padding:10px; }
 .catalog-category small { font-size:10px; }
 .catalog-service { font-size:12px; }
 .hub-service { grid-template-columns:66px minmax(0,1fr) 14px; gap:10px; }
 .hub-service .catalog-picture { width:66px; height:76px; }
 .modern-site .hub-service h3 { font-size:18px; }
 .hub-service__copy > span { font-size:13px; }
 .hub-service--text { grid-template-columns:minmax(0,1fr) 14px; }
}
@media(prefers-reduced-motion:reduce){
 .catalog-category,.catalog-service,.hub-service > svg { transition:none; }
}
