html, body { width:100% !important; height:100% !important; min-height:0 !important; margin:0 !important; padding:0 !important; overflow:hidden !important; overscroll-behavior:none !important; background:#fff !important; }
  body { position:relative !important; }
  #subServiceApp, #subServiceApp * { box-sizing: border-box; }
  #subServiceApp {
    --ink:#101828; --ink-2:#344054; --muted:#667085; --line:#e4e7ec;
    --paper:#ffffff; --soft:#f5f7f8; --soft-2:#eef2f4; --dark:#111820;
    --blue:#0057a8; --blue-2:#003d77; --yellow:#f5c400; --yellow-2:#d8aa00;
    --shadow:0 20px 60px rgba(16,24,40,.12); --shadow-sm:0 10px 28px rgba(16,24,40,.08);
    --radius:22px; --radius-sm:14px; --max:1260px;
    position:absolute; inset:0; width:auto; height:auto; min-width:0; min-height:0;
    overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch;
    touch-action:pan-y pinch-zoom; overscroll-behavior:contain; scroll-padding-top:82px;
    scrollbar-width:none; -ms-overflow-style:none;
    display:flex; flex-direction:column;
    background:var(--paper); color:var(--ink); font-family:Inter,Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    line-height:1.55; -webkit-font-smoothing:antialiased; scroll-behavior:auto;
    isolation:isolate;
  }
  #subServiceApp::-webkit-scrollbar { width:0 !important; height:0 !important; display:none !important; }
  #subServiceApp button, #subServiceApp input, #subServiceApp textarea, #subServiceApp select { font:inherit; }
  #subServiceApp button { color:inherit; }
  #subServiceApp a { color:inherit; text-decoration:none; }
  #subServiceApp img { display:block; max-width:100%; }
  #subServiceApp .sub-skip { position:absolute; left:16px; top:-80px; z-index:1000; background:#fff; padding:12px 16px; border:2px solid var(--blue); font-weight:800; }
  #subServiceApp .sub-skip:focus { top:12px; }
  #subServiceApp .sub-header { position:sticky; top:0; z-index:100; background:rgba(245,247,248,.92); backdrop-filter:blur(18px); border-bottom:1px solid rgba(16,24,40,.08); }
  #subServiceApp .sub-header__bar { max-width:var(--max); margin:auto; min-height:82px; padding:0 26px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:30px; }
  #subServiceApp .sub-brand { border:0; background:transparent; padding:0; cursor:pointer; width:236px; }
  #subServiceApp .sub-brand img { width:100%; height:auto; }
  #subServiceApp .sub-nav { display:flex; justify-content:center; align-items:center; gap:2px; }
  #subServiceApp .sub-nav__link { border:0; background:transparent; padding:29px 12px 27px; font-size:14px; font-weight:750; cursor:pointer; position:relative; white-space:nowrap; }
  #subServiceApp .sub-nav__link--services { display:inline-flex; align-items:center; justify-content:center; gap:6px; }
  #subServiceApp .sub-nav__link--services > span { display:inline-flex; align-items:center; justify-content:center; line-height:1; font-size:16px; transform:translateY(-3px); }
  #subServiceApp .sub-nav__link::after { content:""; position:absolute; left:12px; right:12px; bottom:19px; height:2px; background:var(--blue); transform:scaleX(0); transition:.25s ease; }
  #subServiceApp .sub-nav__link:hover::after, #subServiceApp .sub-nav__link.is-active::after { transform:scaleX(1); }
  #subServiceApp .sub-nav__group { position:relative; }
  #subServiceApp .sub-mega { position:absolute; top:calc(100% + 1px); left:50%; width:min(820px,88vw); transform:translate(-42%,-8px); display:grid; grid-template-columns:.85fr 1.55fr; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); opacity:0; visibility:hidden; pointer-events:none; transition:.22s ease; }
  #subServiceApp .sub-nav__group:hover .sub-mega, #subServiceApp .sub-nav__group:focus-within .sub-mega { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-42%,0); }
  #subServiceApp .sub-mega__intro { padding:34px; background:linear-gradient(145deg,#eef6fd 0%,#f8fbfd 100%); color:var(--ink); display:flex; flex-direction:column; justify-content:flex-end; min-height:310px; border-right:1px solid var(--line); }
  #subServiceApp .sub-mega__intro strong { font-size:25px; line-height:1.12; margin:12px 0; }
  #subServiceApp .sub-mega__intro p { color:var(--muted); margin:0; font-size:15.5px; line-height:1.55; }
  #subServiceApp .sub-mega__links { padding:14px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  #subServiceApp .sub-mega__links button { border:0; background:#fff; text-align:left; padding:16px; display:grid; grid-template-columns:1fr; gap:3px; cursor:pointer; border-radius:10px; }
  #subServiceApp .sub-mega__links button:hover { background:var(--soft); }
  #subServiceApp .sub-mega__links b { font-size:15.5px; line-height:1.25; }
  #subServiceApp .sub-mega__links small { color:var(--muted); font-size:13.5px; line-height:1.4; }
  #subServiceApp .sub-header__actions { display:flex; align-items:center; gap:12px; }
  #subServiceApp .sub-header__phone { display:flex; align-items:center; gap:10px; }
  #subServiceApp .sub-header__phone .sub-icon { width:34px; height:34px; border-radius:50%; background:#fff; display:grid; place-items:center; font-weight:900; box-shadow:var(--shadow-sm); }
  #subServiceApp .sub-header__phone span:last-child { display:flex; flex-direction:column; line-height:1.15; }
  #subServiceApp .sub-header__phone small { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
  #subServiceApp .sub-header__phone b { font-size:13px; white-space:nowrap; }
  #subServiceApp .sub-btn { border:0; min-height:50px; padding:0 21px; display:inline-flex; align-items:center; justify-content:center; gap:9px; cursor:pointer; font-weight:850; transition:.2s ease; border-radius:8px; }
  #subServiceApp .sub-btn--primary { background:var(--yellow); color:#151515; }
  #subServiceApp .sub-btn--primary:hover { background:#ffd52c; transform:translateY(-2px); }
  #subServiceApp .sub-btn--dark { background:#dde3e7; color:var(--ink); border:1px solid #c7d0d6; }
  #subServiceApp .sub-btn--dark:hover { background:#cfd7dc; transform:translateY(-2px); }
  #subServiceApp .sub-btn--ghost { background:#fff; border:1px solid var(--line); }
  #subServiceApp .sub-btn--ghost:hover { border-color:var(--ink); }
  #subServiceApp .sub-menu-btn { width:48px; height:48px; border:1px solid var(--line); background:#fff; display:none; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:12px; cursor:pointer; }
  #subServiceApp .sub-menu-btn span { display:block; flex:0 0 auto; width:22px; height:2px; background:var(--ink); margin:0; }
  #subServiceApp .sub-main { min-height:0; flex:1 0 auto; outline:0; background:var(--paper); }

  #subServiceApp .sub-container { width:min(var(--max),calc(100% - 52px)); margin-inline:auto; }
  #subServiceApp .sub-section { padding:96px 0; }
  #subServiceApp .sub-section--soft { background:var(--soft); }
  #subServiceApp .sub-section--dark { background:#e1e6e9; color:var(--ink); }
  #subServiceApp .sub-kicker { color:var(--blue); font-weight:900; text-transform:uppercase; letter-spacing:.14em; font-size:12px; }
  #subServiceApp .sub-section--dark .sub-kicker { color:var(--blue); }
  #subServiceApp .sub-mega .sub-kicker { color:var(--blue); }
  #subServiceApp .sub-title { font-size:clamp(32px,4.1vw,60px); line-height:.98; letter-spacing:-.05em; margin:14px 0 22px; max-width:920px; }
  #subServiceApp .sub-h2 { font-size:clamp(31px,4vw,54px); line-height:1.03; letter-spacing:-.04em; margin:12px 0 18px; }
  #subServiceApp .sub-h3 { font-size:24px; line-height:1.15; letter-spacing:-.02em; margin:0 0 10px; }
  #subServiceApp .sub-lead { font-size:clamp(17px,2vw,21px); color:var(--ink-2); max-width:760px; }
  #subServiceApp .sub-section--dark .sub-lead { color:var(--ink-2); }
  #subServiceApp .sub-section--dark .sub-checklist li { color:var(--ink-2) !important; }

  #subServiceApp .sub-hero { min-height:700px; position:relative; display:block; background:var(--soft); overflow:hidden; }
  #subServiceApp .sub-hero__copy { width:min(var(--max),calc(100% - 52px)); min-height:700px; margin-inline:auto; display:flex; flex-direction:column; justify-content:center; padding:82px 0 92px; position:relative; z-index:3; }
  #subServiceApp .sub-hero__copy::before { content:none; display:none; }
  #subServiceApp .sub-hero__copy > * { position:relative; z-index:1; max-width:650px; }
  #subServiceApp .sub-hero__visual { position:absolute; inset:0; min-height:0; overflow:hidden; background:#dce2e7; z-index:1; }
  #subServiceApp .sub-hero__visual img { width:100%; height:100%; object-fit:cover; object-position:center center; }
  #subServiceApp .sub-hero__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(245,247,248,.99) 0%,rgba(245,247,248,.97) 34%,rgba(245,247,248,.78) 48%,rgba(245,247,248,.18) 69%,rgba(17,24,32,.08) 100%),linear-gradient(0deg,rgba(17,24,32,.28),transparent 45%); }
  #subServiceApp .sub-hero__badge { position:absolute; right:max(26px,calc((100vw - var(--max))/2 + 26px)); left:auto; bottom:32px; z-index:4; background:#fff; padding:18px 22px; min-width:230px; box-shadow:var(--shadow); border-left:5px solid var(--yellow); border-radius:0; }
  #subServiceApp .sub-hero__badge b { display:block; font-size:28px; line-height:1; }
  #subServiceApp .sub-hero__badge span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
  #subServiceApp .sub-hero__actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
  #subServiceApp .sub-trust { display:flex; flex-wrap:wrap; gap:18px; margin-top:34px; color:var(--ink-2); font-size:13px; font-weight:750; }
  #subServiceApp .sub-trust span { display:flex; align-items:center; gap:8px; }
  #subServiceApp .sub-trust span::before { content:"✓"; width:22px; height:22px; display:grid; place-items:center; background:#fff; border-radius:50%; color:var(--blue); box-shadow:var(--shadow-sm); }

  #subServiceApp .sub-stats { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); background:#fff; margin-top:-38px; position:relative; z-index:4; box-shadow:var(--shadow-sm); }
  #subServiceApp .sub-stat { padding:28px 30px; border-right:1px solid var(--line); }
  #subServiceApp .sub-stat:last-child { border-right:0; }
  #subServiceApp .sub-stat b { display:block; font-size:27px; line-height:1; margin-bottom:8px; }
  #subServiceApp .sub-stat span { color:var(--muted); font-size:13px; }

  #subServiceApp .sub-grid { display:grid; gap:22px; }
  #subServiceApp .sub-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #subServiceApp .sub-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #subServiceApp .sub-service-card { position:relative; min-height:390px; overflow:hidden; background:#dfe5e9; color:#fff; cursor:pointer; border:0; text-align:left; padding:0; box-shadow:var(--shadow-sm); }
  #subServiceApp .sub-service-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
  #subServiceApp .sub-service-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(52,64,74,.03),rgba(59,72,82,.82)); }
  #subServiceApp .sub-service-card:hover img { transform:scale(1.045); }
  #subServiceApp .sub-service-card__content { position:absolute; inset:auto 0 0 0; z-index:2; padding:30px; }
  #subServiceApp .sub-service-card h3 { font-size:28px; line-height:1.05; margin:8px 0 12px; }
  #subServiceApp .sub-service-card p { color:#f1f4f6; margin:0 0 18px; font-size:16.5px; line-height:1.58; }
  #subServiceApp .sub-service-card .sub-kicker { font-size:13.5px; }
  #subServiceApp .sub-service-card .sub-arrow { width:44px; height:44px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.4); border-radius:50%; font-size:0; line-height:1; }
  #subServiceApp .sub-service-card .sub-arrow::before { content:"↗"; display:block; font-size:21px; line-height:1; transform:translate(0,-1px); }
  #subServiceApp .sub-service-card--plain { background:#e1e6e9; color:var(--ink); border:1px solid #cbd3d8; }
  #subServiceApp .sub-service-card--plain::after { display:none; }
  #subServiceApp .sub-service-card--plain p { color:var(--ink-2); }
  #subServiceApp .sub-service-card--plain .sub-arrow { border-color:#9ba8b2; color:var(--ink); }
  #subServiceApp .sub-card { background:#fff; border:1px solid var(--line); padding:30px; box-shadow:0 1px 0 rgba(16,24,40,.02); }
  #subServiceApp .sub-card--feature { min-height:260px; position:relative; overflow:hidden; }
  #subServiceApp .sub-card--feature::before { content:attr(data-index); position:absolute; right:18px; top:2px; font-size:82px; line-height:1; font-weight:950; color:#f0f2f4; letter-spacing:-.08em; }
  #subServiceApp .sub-card--feature > * { position:relative; z-index:1; }
  #subServiceApp .sub-card p { color:var(--muted); font-size:17px; line-height:1.65; }
  #subServiceApp .sub-checklist li, #subServiceApp .sub-price-box p, #subServiceApp .sub-acc-content p { font-size:17px; line-height:1.65; }
  #subServiceApp .sub-card .sub-iconbox { width:48px; height:48px; display:grid; place-items:center; background:var(--yellow); font-size:21px; font-weight:900; margin-bottom:22px; }

  #subServiceApp .sub-split { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
  #subServiceApp .sub-media { height:520px; min-height:0; position:relative; overflow:hidden; background:#d9e0e5; box-shadow:var(--shadow); }
  #subServiceApp .sub-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; position:static; }
  #subServiceApp .sub-media__tag { position:absolute; right:0; bottom:0; background:var(--yellow); padding:22px 26px; font-weight:900; max-width:230px; }
  #subServiceApp .sub-media img:not([src]), #subServiceApp .sub-media img[src=""] { visibility:hidden; }
  #subServiceApp .sub-media--contain img { object-fit:contain; padding:22px; background:#eef2f4; }
  #subServiceApp .sub-checklist { display:grid; gap:12px; margin:26px 0 0; padding:0; list-style:none; }
  #subServiceApp .sub-checklist li { display:grid; grid-template-columns:28px 1fr; gap:10px; align-items:start; color:var(--ink-2); }
  #subServiceApp .sub-checklist li::before { content:"✓"; width:24px; height:24px; display:grid; place-items:center; background:var(--soft-2); color:var(--blue); font-weight:900; border-radius:50%; }

  #subServiceApp .sub-band { background:var(--yellow); padding:34px 0; }
  #subServiceApp .sub-band__inner { display:flex; justify-content:flex-start; align-items:center; gap:30px; }
  #subServiceApp .sub-band h2 { font-size:clamp(26px,3vw,42px); line-height:1.05; letter-spacing:-.04em; margin:0; }
  #subServiceApp .sub-band p { margin:8px 0 0; max-width:720px; }

  #subServiceApp .sub-page-hero { height:460px; min-height:460px; max-height:460px; position:relative; overflow:hidden; display:grid; grid-template-columns:1.04fr .96fr; background:linear-gradient(135deg,#fbfcfd 0%,#eef4f7 58%,#e3edf2 100%); color:var(--ink); border-bottom:0; }
  #subServiceApp .sub-hero::after, #subServiceApp .sub-page-hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:48px; z-index:2; pointer-events:none; background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 48%,var(--hero-fade,#fff) 100%); }
  #subServiceApp .sub-page-hero__copy { z-index:3; }
  /* Pokrytí má samostatnou, původně vyšší hero sekci a bez přechodu do CTA. */
  #subServiceApp .sub-route-enter--coverage .sub-page-hero { height:auto; min-height:612px; max-height:none; border-bottom:1px solid var(--line); }
  #subServiceApp .sub-route-enter--coverage .sub-page-hero__image { height:auto; min-height:612px; max-height:none; }
  #subServiceApp .sub-route-enter--coverage .sub-page-hero::after { content:none; display:none; }
  #subServiceApp .sub-route-enter--cenik { --hero-fade:var(--soft); }
  #subServiceApp .sub-page-hero__copy { position:relative; overflow:hidden; padding:80px max(46px,calc((100vw - var(--max))/2 + 26px)); padding-right:64px; display:flex; flex-direction:column; justify-content:center; }
  #subServiceApp .sub-page-hero__copy::before { content:none; display:none; }
  #subServiceApp .sub-page-hero__copy::after { content:none; display:none; }
  #subServiceApp .sub-page-hero__copy > * { position:relative; z-index:1; }
  #subServiceApp .sub-page-hero__copy .sub-lead { color:var(--ink-2); }
  #subServiceApp .sub-page-hero__image { position:relative; overflow:hidden; height:460px; min-height:460px; max-height:460px; background:#d9e2e7; }
  #subServiceApp .sub-page-hero__image img { width:100%; height:100%; object-fit:cover; }
  #subServiceApp .sub-page-hero__image--contain { background:linear-gradient(180deg,#eef4f7 0%,#dfe8ed 100%); }
  #subServiceApp .sub-page-hero__image--contain img { object-fit:contain; object-position:center; padding:24px; }
  #subServiceApp .sub-route-enter--lpg .sub-page-hero { min-height:460px; }
  #subServiceApp .sub-route-enter--lpg .sub-page-hero__copy { padding-top:68px; padding-bottom:68px; }
  #subServiceApp .sub-route-enter--lpg .sub-page-hero__image { min-height:460px; max-height:460px; height:460px; }
  #subServiceApp .sub-page-hero__image--crop-lpg { background:#eef2f4; }
  #subServiceApp .sub-page-hero__image--crop-lpg img { object-fit:cover; object-position:center center; padding:0; background:none; }
  #subServiceApp .sub-page-hero__image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(238,244,247,.38),transparent 32%),linear-gradient(0deg,rgba(17,24,32,.08),transparent 48%); }
  #subServiceApp .sub-breadcrumbs { display:flex; gap:8px; align-items:center; font-size:12px; color:#697586; margin-bottom:22px; }
  #subServiceApp .sub-breadcrumbs button { border:0; padding:0; background:transparent; color:var(--blue-2); cursor:pointer; font-weight:800; }

  #subServiceApp .sub-process { counter-reset:step; display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  #subServiceApp .sub-process__item { counter-increment:step; position:relative; overflow:hidden; min-height:238px; padding:112px 30px 32px; border-right:1px solid var(--line); }
  #subServiceApp .sub-process__item:last-child { border-right:0; }
  #subServiceApp .sub-process__item::before { content:"0" counter(step); position:absolute; right:18px; top:8px; color:rgba(16,24,40,.065); font-size:84px; line-height:1; font-weight:950; letter-spacing:-.08em; margin:0; }
  #subServiceApp .sub-process__item > * { position:relative; z-index:1; }
  #subServiceApp .sub-process__item b { display:block; font-size:20px; line-height:1.25; margin-bottom:10px; }
  #subServiceApp .sub-process__item p { color:var(--muted); margin:0; font-size:17px; line-height:1.65; }

  #subServiceApp .sub-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0 34px; }
  #subServiceApp .sub-tab { border:1px solid var(--line); background:#fff; padding:12px 16px; cursor:pointer; font-weight:800; border-radius:999px; }
  #subServiceApp .sub-tab.is-active { background:#dde3e7; color:var(--ink); border-color:#c7d0d6; }
  #subServiceApp .sub-tab-panel { display:none; }
  #subServiceApp .sub-tab-panel.is-active { display:block; animation:subFade .28s ease; }

  #subServiceApp .sub-logos { display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--line); }
  #subServiceApp .sub-logo-text { min-height:112px; display:grid; place-items:center; padding:20px; text-align:center; font-weight:900; letter-spacing:.04em; color:#606b78; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
  #subServiceApp .sub-logo-text:nth-child(5n) { border-right:0; }

  #subServiceApp .sub-reference-showcase { position:relative; margin-top:38px; padding:32px 0; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(180deg,#fbfcfd 0%,#f2f6f9 100%); }
  #subServiceApp .sub-reference-showcase::before,
  #subServiceApp .sub-reference-showcase::after { content:""; position:absolute; top:0; bottom:0; width:96px; z-index:3; pointer-events:none; }
  #subServiceApp .sub-reference-showcase::before { left:0; background:linear-gradient(90deg,#f7f9fb 18%,rgba(247,249,251,0)); }
  #subServiceApp .sub-reference-showcase::after { right:0; background:linear-gradient(270deg,#f7f9fb 18%,rgba(247,249,251,0)); }
  #subServiceApp .sub-reference-row { display:flex; align-items:center; gap:58px; width:max-content; padding:9px 0; animation:subRefMarquee 39s linear infinite; will-change:transform; }
  #subServiceApp .sub-reference-row + .sub-reference-row { margin-top:23px; animation-duration:47s; animation-direction:reverse; }
  #subServiceApp .sub-reference-showcase:hover .sub-reference-row { animation-play-state:paused; }
  #subServiceApp .sub-reference-item { flex:0 0 auto; min-width:154px; min-height:64px; display:flex; align-items:center; justify-content:center; opacity:.7; filter:grayscale(1); transition:opacity .22s ease,filter .22s ease,transform .22s ease; }
  #subServiceApp .sub-reference-item:hover { opacity:1; filter:none; transform:translateY(-2px); }
  #subServiceApp .sub-reference-item img { display:block; width:auto; max-width:188px; max-height:58px; object-fit:contain; }
  #subServiceApp .sub-reference-item--orkla img { max-height:67px; }
  #subServiceApp .sub-reference-item--koh img { max-height:66px; }
  #subServiceApp .sub-reference-item--iob img { max-height:49px; filter:brightness(0) saturate(100%); }
  #subServiceApp .sub-reference-wordmark { white-space:nowrap; font-size:19px; line-height:1; font-weight:900; letter-spacing:.055em; color:#52606d; text-transform:uppercase; }
  #subServiceApp .sub-reference-wordmark.is-wide { font-size:16px; letter-spacing:.035em; }
  #subServiceApp .sub-brand-carousel { position:relative; margin-top:34px; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
  #subServiceApp .sub-brand-carousel::before,
  #subServiceApp .sub-brand-carousel::after { content:""; position:absolute; z-index:3; top:0; bottom:0; width:96px; pointer-events:none; }
  #subServiceApp .sub-brand-carousel::before { left:0; background:linear-gradient(90deg,#fff 18%,rgba(255,255,255,0)); }
  #subServiceApp .sub-brand-carousel::after { right:0; background:linear-gradient(270deg,#fff 18%,rgba(255,255,255,0)); }
  #subServiceApp .sub-brand-track { display:flex; align-items:center; width:max-content; animation:subBrandMarquee 34s linear infinite; will-change:transform; }
  #subServiceApp .sub-brand-carousel:hover .sub-brand-track { animation-play-state:paused; }
  #subServiceApp .sub-brand-set { display:flex; align-items:center; gap:58px; padding:28px 58px 28px 0; }
  #subServiceApp .sub-brand-logo { flex:0 0 auto; width:176px; height:68px; display:flex; align-items:center; justify-content:center; }
  #subServiceApp .sub-brand-logo img { display:block; width:100%; height:100%; object-fit:contain; }
  #subServiceApp .sub-brand-logo--hyster { width:86px; height:68px; }
  #subServiceApp .sub-brand-logo--linde { width:112px; height:68px; }
  #subServiceApp .sub-brand-logo--cat { width:160px; height:54px; }
  #subServiceApp .sub-brand-logo--still { width:150px; height:56px; }
  #subServiceApp .sub-brand-logo--toyota { width:185px; height:60px; }
  #subServiceApp .sub-brand-logo--yale { width:190px; height:66px; }
  @keyframes subBrandMarquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }

  @keyframes subRefMarquee { from { transform:translate3d(0,0,0); } to { transform:translate3d(-50%,0,0); } }

  #subServiceApp .sub-quote { background:#f5f7f8; color:var(--ink); padding:42px; position:relative; border:1px solid #e2e7ea; }
  #subServiceApp .sub-quote::before { content:"“"; font-size:110px; position:absolute; right:30px; top:-25px; color:rgba(17,24,32,.08); font-weight:900; }
  #subServiceApp .sub-quote p { font-size:25px; line-height:1.35; max-width:820px; margin:0; }
  #subServiceApp .sub-quote span { color:var(--ink); opacity:.72; }

  #subServiceApp .sub-coverage-cta { background:var(--yellow); color:var(--ink); border-top:1px solid rgba(16,24,40,.1); border-bottom:1px solid rgba(16,24,40,.12); }
  #subServiceApp .sub-coverage-cta__inner { min-height:260px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:46px; align-items:center; padding-top:48px; padding-bottom:48px; }
  #subServiceApp .sub-coverage-cta h2 { margin:9px 0 13px; max-width:760px; font-size:clamp(32px,4.5vw,58px); line-height:1; letter-spacing:-.05em; }
  #subServiceApp .sub-coverage-cta p { margin:0; max-width:720px; color:#344054; font-size:17px; line-height:1.7; }
  #subServiceApp .sub-coverage-cta .sub-kicker { color:var(--blue-2); }
  #subServiceApp .sub-coverage-cta__actions { display:flex; flex-direction:column; gap:10px; min-width:250px; }
  #subServiceApp .sub-coverage-cta__actions .sub-btn { width:100%; }
  #subServiceApp .sub-coverage-cta__phone { background:#fff !important; color:var(--ink) !important; border:1px solid rgba(16,24,40,.16); text-decoration:none; }
  #subServiceApp .sub-coverage-cta__phone:hover { background:#f4f6f7 !important; }
  #subServiceApp .sub-coverage-cta .sub-btn { background:#dde3e7; color:var(--ink); min-width:250px; border:1px solid #c7d0d6; }
  #subServiceApp .sub-coverage-cta .sub-btn:hover { background:#cfd7dc; }

  #subServiceApp .sub-price-box { background:#e1e6e9; color:var(--ink); padding:50px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; border:1px solid #cbd3d8; }
  #subServiceApp .sub-price-box strong { display:block; font-size:clamp(34px,4vw,58px); line-height:1; margin:10px 0 16px; }
  #subServiceApp .sub-price-box p { color:var(--ink); margin:0; max-width:680px; }
  #subServiceApp .sub-price-box--buyback { background:#f4f6f7 !important; color:var(--ink) !important; border-color:#d7dde2 !important; box-shadow:none !important; }
  #subServiceApp .sub-price-box--buyback .sub-kicker { color:var(--blue-2) !important; }
  #subServiceApp .sub-price-box--buyback p { color:var(--ink-2) !important; }

  #subServiceApp .sub-contact-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:36px; align-items:start; }
  #subServiceApp .sub-contact-stack { display:grid; gap:14px; }
  #subServiceApp .sub-contact-card { border:1px solid var(--line); padding:26px; background:#fff; }
  #subServiceApp .sub-contact-card span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
  #subServiceApp .sub-contact-card strong { display:block; font-size:21px; margin:8px 0 4px; }
  #subServiceApp .sub-contact-card a { color:var(--blue); font-weight:800; }
  #subServiceApp .sub-form { background:var(--soft); padding:38px; border:1px solid var(--line); }
  #subServiceApp .sub-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  #subServiceApp .sub-field { display:grid; gap:7px; }
  #subServiceApp .sub-field--full { grid-column:1/-1; }
  #subServiceApp .sub-field label { font-weight:800; font-size:13px; }
  #subServiceApp .sub-field input, #subServiceApp .sub-field textarea, #subServiceApp .sub-field select { width:100%; border:1px solid #cfd5dc; background:#fff; min-height:52px; padding:13px 14px; outline:0; border-radius:0; }
  #subServiceApp .sub-field textarea { min-height:145px; resize:vertical; }
  #subServiceApp .sub-field input:focus, #subServiceApp .sub-field textarea:focus, #subServiceApp .sub-field select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,87,168,.12); }
  #subServiceApp .sub-form-note { color:var(--muted); font-size:12px; margin:14px 0 0; }
  #subServiceApp .sub-error { color:#b42318; font-size:12px; min-height:17px; }

  #subServiceApp .sub-accordion { border-top:1px solid var(--line); }
  #subServiceApp .sub-acc-item { border-bottom:1px solid var(--line); }
  #subServiceApp .sub-acc-btn { width:100%; border:0; background:transparent; text-align:left; padding:23px 48px 23px 0; font-weight:850; font-size:18px; cursor:pointer; position:relative; }
  #subServiceApp .sub-acc-btn::after { content:"+"; position:absolute; right:6px; top:19px; font-size:26px; font-weight:400; }
  #subServiceApp .sub-acc-item.is-open .sub-acc-btn::after { content:"−"; }
  #subServiceApp .sub-acc-content { max-height:0; overflow:hidden; transition:max-height .28s ease; }
  #subServiceApp .sub-acc-content p { margin:0 0 24px; color:var(--muted); max-width:820px; }

  #subServiceApp .sub-news-card { border:1px solid var(--line); background:#fff; padding:34px; }
  #subServiceApp .sub-news-card time { color:var(--blue); text-transform:uppercase; letter-spacing:.12em; font-size:12px; font-weight:900; }

  #subServiceApp .sub-photo-credits { display:grid; gap:12px; }
  #subServiceApp .sub-photo-credits a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }

  #subServiceApp .sub-footer { flex:0 0 auto; background:#dfe4e7; border-top:1px solid #c9d1d7; color:var(--ink); }
  #subServiceApp .sub-footer__cta { background:var(--yellow); color:var(--ink); border-bottom:1px solid rgba(16,24,40,.12); }
  #subServiceApp .sub-footer__cta.is-hidden { display:none; }
  #subServiceApp .sub-footer__cta-inner { min-height:245px; padding-top:48px; padding-bottom:48px; display:flex; align-items:center; justify-content:space-between; gap:54px; }
  #subServiceApp .sub-footer__cta h2 { max-width:760px; margin:10px 0 12px; font-size:clamp(30px,4vw,52px); line-height:1.02; letter-spacing:-.045em; }
  #subServiceApp .sub-footer__cta p { max-width:690px; margin:0; color:#344054; font-size:17px; line-height:1.7; }
  #subServiceApp .sub-footer__cta-actions { display:flex; flex-direction:column; align-items:stretch; gap:10px; min-width:230px; }
  #subServiceApp .sub-footer__cta .sub-kicker { color:var(--blue-2); }
  #subServiceApp .sub-footer__cta .sub-btn--primary { background:#dde3e7; color:var(--ink); border:1px solid #c7d0d6; }
  #subServiceApp .sub-footer__cta .sub-btn--primary:hover { background:#cfd7dc; }
  #subServiceApp .sub-btn--footer-phone { background:rgba(255,255,255,.42); color:var(--ink); border:1px solid rgba(16,24,40,.28); }
  #subServiceApp .sub-btn--footer-phone:hover { border-color:var(--ink); background:#fff; transform:translateY(-2px); }
  #subServiceApp .sub-footer__top { max-width:var(--max); margin:auto; padding:62px 26px 48px; display:grid; grid-template-columns:minmax(250px,.82fr) minmax(0,1.55fr); gap:76px; }
  #subServiceApp .sub-footer__logo { border:0; background:transparent; padding:0; cursor:pointer; }
  #subServiceApp .sub-footer__brand img { width:250px; height:auto; }
  #subServiceApp .sub-footer__brand p { max-width:340px; margin:22px 0 18px; color:var(--ink-2); }
  #subServiceApp .sub-footer__locations { display:flex; flex-wrap:wrap; gap:8px; }
  #subServiceApp .sub-footer__locations span { background:rgba(255,255,255,.58); border:1px solid #c9d1d7; padding:7px 10px; font-size:12px; font-weight:800; }
  #subServiceApp .sub-footer__links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
  #subServiceApp .sub-footer__links div { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
  #subServiceApp .sub-footer__links span { font-weight:900; margin-bottom:9px; color:var(--ink); }
  #subServiceApp .sub-footer__links button { border:0; padding:0; background:transparent; cursor:pointer; color:var(--ink-2); text-align:left; }
  #subServiceApp .sub-footer__links a { color:var(--ink-2); }
  #subServiceApp .sub-footer__links button:hover, #subServiceApp .sub-footer__links a:hover { color:var(--blue); }
  #subServiceApp .sub-footer__bottom { border-top:1px solid #c8d0d6; max-width:var(--max); margin:auto; padding:21px 26px 24px; display:flex; justify-content:flex-start; align-items:center; gap:20px; color:#5c6670; font-size:12px; }
  #subServiceApp .sub-footer__bottom button { border:0; background:transparent; padding:0; color:#5c6670; cursor:pointer; }
  #subServiceApp .sub-footer__bottom button:hover { color:var(--blue); }
  #subServiceApp .sub-toast { position:fixed; left:50%; bottom:28px; transform:translate(-50%,30px); background:#dde3e7; color:var(--ink); padding:13px 18px; z-index:300; opacity:0; pointer-events:none; transition:.25s ease; box-shadow:var(--shadow); border:1px solid #c7d0d6; }
  #subServiceApp .sub-toast.is-visible { opacity:1; transform:translate(-50%,0); }

  #subServiceApp .sub-mobile-panel { position:fixed; inset:0 0 0 auto; width:min(430px,92vw); z-index:210; background:#fff; transform:translateX(105%); transition:.3s cubic-bezier(.2,.8,.2,1); display:flex; flex-direction:column; box-shadow:var(--shadow); }
  #subServiceApp .sub-mobile-panel.is-open { transform:none; }
  #subServiceApp .sub-overlay { position:fixed; inset:0; z-index:200; background:rgba(10,17,24,.45); opacity:0; visibility:hidden; transition:.25s; }
  #subServiceApp .sub-overlay.is-open { opacity:1; visibility:visible; }
  #subServiceApp .sub-mobile-panel__head { padding:20px 22px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; }
  #subServiceApp .sub-mobile-panel__head img { width:190px; }
  #subServiceApp .sub-mobile-close { width:42px; height:42px; border:1px solid var(--line); background:#fff; font-size:27px; cursor:pointer; }
  #subServiceApp .sub-mobile-panel__body { padding:18px 22px; overflow:auto; display:flex; flex-direction:column; gap:3px; scrollbar-width:none; }
  #subServiceApp .sub-mobile-panel__body::-webkit-scrollbar { width:0; height:0; display:none; }
  #subServiceApp .sub-mobile-panel__body > button, #subServiceApp .sub-mobile-section button { border:0; background:transparent; text-align:left; padding:13px 0; font-weight:850; cursor:pointer; font-size:18px; }
  #subServiceApp .sub-mobile-section { border-block:1px solid var(--line); padding:14px 0; margin:6px 0; display:flex; flex-direction:column; }
  #subServiceApp .sub-mobile-section span { color:var(--muted); text-transform:uppercase; font-size:11px; letter-spacing:.12em; font-weight:900; margin-bottom:6px; }
  #subServiceApp .sub-mobile-section button { padding:9px 0; font-size:15px; color:var(--ink-2); }
  #subServiceApp .sub-mobile-panel__footer { margin-top:auto; padding:22px; background:#e1e6e9; display:flex; flex-direction:column; gap:7px; color:var(--ink); border-top:1px solid #cbd3d8; }

  @keyframes subFade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
  #subServiceApp .sub-route-enter { animation:subFade .34s ease; min-height:0; }
  #subServiceApp .sub-route-enter > :last-child { margin-bottom:0; }

  @media (max-width:1160px) {
    #subServiceApp .sub-header__phone { display:none; }
    #subServiceApp .sub-header__bar { gap:18px; }
    #subServiceApp .sub-nav__link { padding-inline:9px; font-size:13px; }
    #subServiceApp .sub-grid--3 { grid-template-columns:repeat(2,1fr); }
  }
  @media (max-width:950px) {
    #subServiceApp .sub-header__bar { min-height:72px; grid-template-columns:1fr auto; }
    #subServiceApp .sub-brand { width:205px; }
    #subServiceApp .sub-nav, #subServiceApp .sub-btn--header { display:none; }
    #subServiceApp .sub-menu-btn { display:flex; }
    #subServiceApp .sub-page-hero { grid-template-columns:1fr; height:auto; min-height:0; max-height:none; }
    #subServiceApp .sub-route-enter--coverage .sub-page-hero { height:auto; min-height:0; max-height:none; }
    #subServiceApp .sub-hero { min-height:0; display:flex; flex-direction:column; }
    #subServiceApp .sub-hero__copy { width:100%; min-height:0; padding:68px 26px 48px; margin:0; background:var(--soft); order:1; }
    #subServiceApp .sub-hero__copy > * { max-width:760px; }
    #subServiceApp .sub-hero__visual { position:relative; inset:auto; min-height:470px; order:2; }
    #subServiceApp .sub-hero__visual img { object-position:center center; }
    #subServiceApp .sub-hero__visual::after { background:linear-gradient(0deg,rgba(17,24,32,.42),transparent 58%); }
    #subServiceApp .sub-hero__badge { right:auto; left:26px; bottom:26px; }
    #subServiceApp .sub-page-hero__copy { padding:65px 26px 46px; }
    #subServiceApp .sub-page-hero__image { min-height:390px; }
    #subServiceApp .sub-route-enter--coverage .sub-page-hero__image { height:auto; min-height:468px; max-height:none; }
    #subServiceApp .sub-route-enter--lpg .sub-page-hero { min-height:390px; }
    #subServiceApp .sub-route-enter--lpg .sub-page-hero__image { min-height:390px; max-height:390px; height:390px; }
    #subServiceApp .sub-stats { grid-template-columns:1fr 1fr; margin-top:0; }
    #subServiceApp .sub-stat:nth-child(2) { border-right:0; }
    #subServiceApp .sub-stat:nth-child(-n+2) { border-bottom:1px solid var(--line); }
    #subServiceApp .sub-coverage-cta__inner { grid-template-columns:1fr; align-items:start; gap:28px; }
    #subServiceApp .sub-coverage-cta__actions { width:100%; max-width:420px; }
    #subServiceApp .sub-coverage-cta .sub-btn { width:100%; max-width:420px; }
    #subServiceApp .sub-process { grid-template-columns:1fr 1fr; }
    #subServiceApp .sub-process__item:nth-child(2) { border-right:0; }
    #subServiceApp .sub-process__item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
    #subServiceApp .sub-logos { grid-template-columns:repeat(3,1fr); }
    #subServiceApp .sub-logo-text:nth-child(5n) { border-right:1px solid var(--line); }
    #subServiceApp .sub-logo-text:nth-child(3n) { border-right:0; }
    #subServiceApp .sub-footer__cta-inner { align-items:flex-start; flex-direction:column; gap:28px; }
    #subServiceApp .sub-footer__cta-actions { width:100%; max-width:420px; }
    #subServiceApp .sub-footer__top { grid-template-columns:1fr; gap:42px; }
  }
  @media (max-width:680px) {
    #subServiceApp { min-height:0; }
    #subServiceApp .sub-container { width:min(100% - 32px,var(--max)); }
    #subServiceApp .sub-section { padding:70px 0; }
    #subServiceApp .sub-title { font-size:38px; }
    #subServiceApp .sub-hero { min-height:0; }
    #subServiceApp .sub-hero__copy { padding:58px 18px 42px; }
    #subServiceApp .sub-hero__visual { min-height:360px; }
    #subServiceApp .sub-hero__visual img { object-position:58% center; }
    #subServiceApp .sub-hero__badge { left:18px; right:auto; bottom:18px; min-width:0; }
    #subServiceApp .sub-hero__badge b { font-size:23px; }
    #subServiceApp .sub-hero__actions { flex-direction:column; }
    #subServiceApp .sub-hero__actions .sub-btn { width:100%; }
    #subServiceApp .sub-trust { display:grid; grid-template-columns:1fr; gap:9px; }
    #subServiceApp .sub-stats { grid-template-columns:1fr; }
    #subServiceApp .sub-stat, #subServiceApp .sub-stat:nth-child(2) { border-right:0; border-bottom:1px solid var(--line); }
    #subServiceApp .sub-stat:last-child { border-bottom:0; }
    #subServiceApp .sub-grid--3, #subServiceApp .sub-grid--2 { grid-template-columns:1fr; }
    #subServiceApp .sub-service-card { min-height:350px; }
    #subServiceApp .sub-split { gap:38px; }
    #subServiceApp .sub-media { height:380px; min-height:0; }
    #subServiceApp .sub-band__inner { align-items:flex-start; flex-direction:column; }
    #subServiceApp .sub-page-hero__copy { padding:58px 18px 40px; }
    #subServiceApp .sub-page-hero__image { min-height:310px; }
    #subServiceApp .sub-route-enter--coverage .sub-page-hero__image { height:auto; min-height:372px; max-height:none; }
    #subServiceApp .sub-route-enter--lpg .sub-page-hero { min-height:310px; }
    #subServiceApp .sub-route-enter--lpg .sub-page-hero__image { min-height:310px; max-height:310px; height:310px; }
    #subServiceApp .sub-process { grid-template-columns:1fr; }
    #subServiceApp .sub-process__item { border-right:0; border-bottom:1px solid var(--line); }
    #subServiceApp .sub-process__item:last-child { border-bottom:0; }
    #subServiceApp .sub-logos { grid-template-columns:1fr 1fr; }
    #subServiceApp .sub-logo-text:nth-child(3n) { border-right:1px solid var(--line); }
    #subServiceApp .sub-logo-text:nth-child(2n) { border-right:0; }
    #subServiceApp .sub-reference-showcase { margin-top:28px; padding:23px 0; }
    #subServiceApp .sub-reference-showcase::before, #subServiceApp .sub-reference-showcase::after { width:44px; }
    #subServiceApp .sub-reference-row { gap:38px; animation-duration:31s; }
    #subServiceApp .sub-reference-row + .sub-reference-row { margin-top:17px; animation-duration:37s; }
    #subServiceApp .sub-reference-item { min-width:126px; min-height:52px; }
    #subServiceApp .sub-reference-item img { max-width:148px; max-height:48px; }
    #subServiceApp .sub-reference-wordmark { font-size:16px; }
    #subServiceApp .sub-reference-wordmark.is-wide { font-size:14px; }
    #subServiceApp .sub-brand-carousel::before, #subServiceApp .sub-brand-carousel::after { width:42px; }
    #subServiceApp .sub-brand-track { animation-duration:28s; }
    #subServiceApp .sub-brand-set { gap:38px; padding:22px 38px 22px 0; }
    #subServiceApp .sub-brand-logo { width:138px; height:54px; }
    #subServiceApp .sub-brand-logo--hyster { width:68px; height:54px; }
    #subServiceApp .sub-brand-logo--linde { width:88px; height:54px; }
    #subServiceApp .sub-brand-logo--cat { width:126px; height:44px; }
    #subServiceApp .sub-brand-logo--still { width:120px; height:46px; }
    #subServiceApp .sub-brand-logo--toyota { width:148px; height:48px; }
    #subServiceApp .sub-brand-logo--yale { width:150px; height:52px; }

    #subServiceApp .sub-price-box { grid-template-columns:1fr; padding:34px 25px; }
    #subServiceApp .sub-form { padding:26px 18px; }
    #subServiceApp .sub-form-grid { grid-template-columns:1fr; }
    #subServiceApp .sub-field--full { grid-column:auto; }
    #subServiceApp .sub-footer__cta-inner { min-height:0; padding-top:42px; padding-bottom:42px; }
    #subServiceApp .sub-footer__cta-actions { max-width:none; }
    #subServiceApp .sub-footer__top { padding:48px 18px 36px; }
    #subServiceApp .sub-footer__links { grid-template-columns:1fr; gap:28px; }
    #subServiceApp .sub-footer__bottom { padding:18px; flex-direction:column; align-items:flex-start; }
  }


  /* V39 · RESPONSIVE TABLET + MOBILE ONLY — desktop rules above stay unchanged */
  @media (max-width:950px) {
    #subServiceApp {
      scroll-padding-top:72px;
      -webkit-text-size-adjust:100%;
      text-size-adjust:100%;
    }
    #subServiceApp .sub-header__bar {
      min-height:72px;
      padding-inline:20px;
      gap:14px;
    }
    #subServiceApp .sub-brand { width:190px; min-width:0; }
    #subServiceApp .sub-menu-btn { flex:0 0 48px; }

    #subServiceApp .sub-container { width:min(var(--max),calc(100% - 40px)); }
    #subServiceApp .sub-section { padding:78px 0; }

    #subServiceApp .sub-hero__copy {
      width:100%;
      padding:60px 24px 44px;
    }
    #subServiceApp .sub-hero__visual { min-height:430px; }
    #subServiceApp .sub-hero__badge { left:24px; bottom:24px; }

    #subServiceApp .sub-page-hero {
      grid-template-columns:1fr;
      height:auto;
      min-height:0;
      max-height:none;
    }
    #subServiceApp .sub-page-hero__copy {
      padding:56px 24px 42px;
      padding-right:24px;
    }
    #subServiceApp .sub-page-hero__image,
    #subServiceApp .sub-route-enter--lpg .sub-page-hero__image {
      width:100%;
      height:clamp(330px,52vw,430px);
      min-height:0;
      max-height:none;
    }
    #subServiceApp .sub-route-enter--lpg .sub-page-hero { min-height:0; }
    #subServiceApp .sub-route-enter--coverage .sub-page-hero {
      height:auto;
      min-height:0;
      max-height:none;
    }
    #subServiceApp .sub-route-enter--coverage .sub-page-hero__image {
      height:clamp(390px,58vw,500px);
      min-height:0;
      max-height:none;
    }

    #subServiceApp .sub-split {
      grid-template-columns:minmax(0,1fr);
      gap:44px;
    }
    #subServiceApp .sub-split > * { min-width:0; }
    #subServiceApp .sub-media {
      width:100%;
      height:clamp(360px,60vw,500px);
    }

    #subServiceApp .sub-contact-layout {
      grid-template-columns:minmax(0,1fr);
      gap:26px;
    }
    #subServiceApp .sub-form-grid { grid-template-columns:1fr 1fr; }

    #subServiceApp .sub-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    #subServiceApp .sub-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    #subServiceApp .sub-card,
    #subServiceApp .sub-service-card,
    #subServiceApp .sub-price-box,
    #subServiceApp .sub-news-card,
    #subServiceApp .sub-form,
    #subServiceApp .sub-contact-card,
    #subServiceApp .sub-quote { min-width:0; }

    #subServiceApp .sub-tabs {
      flex-wrap:nowrap;
      overflow-x:auto;
      overscroll-behavior-x:contain;
      scrollbar-width:none;
      -webkit-overflow-scrolling:touch;
      scroll-snap-type:x proximity;
      padding-bottom:4px;
    }
    #subServiceApp .sub-tabs::-webkit-scrollbar { display:none; }
    #subServiceApp .sub-tab {
      flex:0 0 auto;
      min-height:46px;
      white-space:nowrap;
      scroll-snap-align:start;
    }

    #subServiceApp .sub-process { grid-template-columns:1fr 1fr; }
    #subServiceApp .sub-process__item { min-width:0; }

    #subServiceApp .sub-price-box {
      grid-template-columns:minmax(0,1fr);
      align-items:start;
      padding:40px;
    }
    #subServiceApp .sub-price-box .sub-btn { width:100%; max-width:420px; }

    #subServiceApp .sub-footer__cta-inner {
      align-items:flex-start;
      flex-direction:column;
      gap:28px;
    }
    #subServiceApp .sub-footer__cta-actions { width:100%; max-width:420px; }
    #subServiceApp .sub-footer__top {
      grid-template-columns:1fr;
      gap:42px;
      padding-inline:24px;
    }
  }

  @media (max-width:680px) {
    #subServiceApp {
      scroll-padding-top:64px;
      font-size:16px;
    }
    #subServiceApp .sub-header__bar {
      min-height:64px;
      padding-inline:16px;
      gap:10px;
    }
    #subServiceApp .sub-brand { width:min(168px,calc(100vw - 86px)); }
    #subServiceApp .sub-menu-btn {
      width:44px;
      height:44px;
      flex-basis:44px;
      padding:10px;
    }

    #subServiceApp .sub-mobile-panel {
      width:100%;
      max-width:none;
      padding-top:env(safe-area-inset-top);
      padding-bottom:env(safe-area-inset-bottom);
    }
    #subServiceApp .sub-mobile-panel__head { padding:16px; }
    #subServiceApp .sub-mobile-panel__head img { width:170px; }
    #subServiceApp .sub-mobile-panel__body { padding:14px 18px 24px; }
    #subServiceApp .sub-mobile-panel__body > button {
      min-height:48px;
      padding:11px 0;
      font-size:18px;
    }
    #subServiceApp .sub-mobile-section button {
      min-height:44px;
      padding:9px 0;
      font-size:16px;
    }
    #subServiceApp .sub-mobile-panel__footer { padding:18px; }

    #subServiceApp .sub-container { width:calc(100% - 32px); }
    #subServiceApp .sub-section { padding:58px 0; }
    #subServiceApp .sub-kicker { font-size:11px; letter-spacing:.12em; }
    #subServiceApp .sub-title {
      font-size:clamp(34px,10.2vw,43px);
      line-height:1.01;
      letter-spacing:-.045em;
      overflow-wrap:anywhere;
    }
    #subServiceApp .sub-h2 {
      font-size:clamp(29px,8.6vw,37px);
      line-height:1.06;
      overflow-wrap:anywhere;
    }
    #subServiceApp .sub-h3 { font-size:22px; }
    #subServiceApp .sub-lead { font-size:17px; line-height:1.62; }

    #subServiceApp .sub-hero__copy {
      padding:44px 16px 34px;
    }
    #subServiceApp .sub-hero__visual { min-height:310px; }
    #subServiceApp .sub-hero__visual img { object-position:58% center; }
    #subServiceApp .sub-hero__badge {
      left:16px;
      right:16px;
      bottom:16px;
      width:auto;
      min-width:0;
      padding:15px 18px;
    }
    #subServiceApp .sub-hero__badge b { font-size:24px; }
    #subServiceApp .sub-hero__actions {
      display:grid;
      grid-template-columns:1fr;
      gap:10px;
      margin-top:24px;
    }
    #subServiceApp .sub-hero__actions .sub-btn { width:100%; }
    #subServiceApp .sub-trust {
      display:grid;
      grid-template-columns:1fr;
      gap:10px;
      margin-top:26px;
      font-size:13px;
    }

    #subServiceApp .sub-page-hero__copy {
      padding:44px 16px 34px;
      padding-right:16px;
    }
    #subServiceApp .sub-breadcrumbs {
      flex-wrap:wrap;
      margin-bottom:16px;
      line-height:1.35;
    }
    #subServiceApp .sub-page-hero__image,
    #subServiceApp .sub-route-enter--lpg .sub-page-hero__image {
      height:280px;
      min-height:280px;
      max-height:none;
    }
    #subServiceApp .sub-page-hero__image--contain img { padding:14px; }
    #subServiceApp .sub-route-enter--coverage .sub-page-hero__image {
      height:330px;
      min-height:330px;
      max-height:none;
    }

    #subServiceApp .sub-stats { grid-template-columns:1fr; }
    #subServiceApp .sub-stat {
      padding:22px 20px;
      border-right:0;
      border-bottom:1px solid var(--line);
    }
    #subServiceApp .sub-stat:last-child { border-bottom:0; }

    #subServiceApp .sub-grid--3,
    #subServiceApp .sub-grid--2 { grid-template-columns:minmax(0,1fr); }
    #subServiceApp .sub-grid { gap:16px; }
    #subServiceApp .sub-service-card { min-height:330px; }
    #subServiceApp .sub-service-card__content { padding:24px; }
    #subServiceApp .sub-service-card h3 { font-size:26px; }
    #subServiceApp .sub-service-card p { font-size:16px; line-height:1.5; }

    #subServiceApp .sub-card { padding:24px; }
    #subServiceApp .sub-card--feature { min-height:230px; }
    #subServiceApp .sub-card--feature::before {
      right:14px;
      top:7px;
      font-size:68px;
    }
    #subServiceApp .sub-card p,
    #subServiceApp .sub-checklist li,
    #subServiceApp .sub-price-box p,
    #subServiceApp .sub-acc-content p { font-size:16px; line-height:1.62; }

    #subServiceApp .sub-split { gap:30px; }
    #subServiceApp .sub-media {
      height:300px;
      min-height:300px;
    }
    #subServiceApp .sub-media__tag {
      padding:14px 16px;
      max-width:70%;
      font-size:13px;
      line-height:1.35;
    }
    #subServiceApp .sub-checklist {
      gap:11px;
      margin-top:22px;
    }
    #subServiceApp .sub-checklist li {
      grid-template-columns:25px minmax(0,1fr);
      gap:9px;
    }
    #subServiceApp .sub-checklist li::before {
      width:22px;
      height:22px;
    }

    #subServiceApp .sub-tabs {
      margin:22px -16px 28px;
      padding:0 16px 6px;
      gap:8px;
    }
    #subServiceApp .sub-tab {
      min-height:46px;
      padding:11px 15px;
      font-size:15px;
    }

    #subServiceApp .sub-process { grid-template-columns:1fr; }
    #subServiceApp .sub-process__item {
      min-height:205px;
      padding:88px 22px 26px;
      border-right:0;
      border-bottom:1px solid var(--line);
    }
    #subServiceApp .sub-process__item:last-child { border-bottom:0; }
    #subServiceApp .sub-process__item::before {
      right:14px;
      top:9px;
      font-size:72px;
    }

    #subServiceApp .sub-band { padding:30px 0; }
    #subServiceApp .sub-band__inner {
      flex-direction:column;
      align-items:stretch;
      gap:22px;
    }
    #subServiceApp .sub-band__inner .sub-btn { width:100%; }

    #subServiceApp .sub-price-box {
      padding:28px 22px;
      gap:24px;
    }
    #subServiceApp .sub-price-box strong {
      font-size:clamp(32px,9vw,42px);
      line-height:1.06;
    }
    #subServiceApp .sub-price-box .sub-btn { max-width:none; }

    #subServiceApp .sub-quote { padding:30px 24px; }
    #subServiceApp .sub-quote::before {
      right:16px;
      top:-14px;
      font-size:84px;
    }
    #subServiceApp .sub-quote p { font-size:22px; line-height:1.4; }

    #subServiceApp .sub-coverage-cta__inner {
      min-height:0;
      padding-top:38px;
      padding-bottom:38px;
      gap:24px;
    }
    #subServiceApp .sub-coverage-cta h2 {
      font-size:clamp(31px,9vw,42px);
      line-height:1.04;
    }
    #subServiceApp .sub-coverage-cta__actions,
    #subServiceApp .sub-coverage-cta .sub-btn {
      width:100%;
      max-width:none;
      min-width:0;
    }

    #subServiceApp .sub-contact-card { padding:22px 20px; }
    #subServiceApp .sub-contact-card strong { font-size:20px; }
    #subServiceApp .sub-form { padding:24px 18px; }
    #subServiceApp .sub-form-grid { grid-template-columns:1fr; gap:14px; }
    #subServiceApp .sub-field--full { grid-column:auto; }
    #subServiceApp .sub-field input,
    #subServiceApp .sub-field textarea,
    #subServiceApp .sub-field select {
      min-height:54px;
      font-size:16px;
    }
    #subServiceApp .sub-form > .sub-btn { width:100%; }

    #subServiceApp .sub-acc-btn {
      min-height:58px;
      padding:18px 46px 18px 0;
      font-size:17px;
      line-height:1.4;
    }
    #subServiceApp .sub-acc-btn::after { top:13px; }
    #subServiceApp .sub-news-card { padding:24px 20px; }

    #subServiceApp .sub-logos { grid-template-columns:1fr 1fr; }
    #subServiceApp .sub-logo-text { min-height:96px; padding:16px; }

    #subServiceApp .sub-reference-showcase { margin-top:26px; padding:22px 0; }
    #subServiceApp .sub-reference-showcase::before,
    #subServiceApp .sub-reference-showcase::after,
    #subServiceApp .sub-brand-carousel::before,
    #subServiceApp .sub-brand-carousel::after { width:34px; }
    #subServiceApp .sub-reference-row { gap:34px; }
    #subServiceApp .sub-brand-set { gap:34px; padding-right:34px; }

    #subServiceApp .sub-footer__cta-inner {
      min-height:0;
      padding-top:38px;
      padding-bottom:38px;
      gap:24px;
    }
    #subServiceApp .sub-footer__cta h2 {
      font-size:clamp(31px,9vw,42px);
      line-height:1.05;
    }
    #subServiceApp .sub-footer__cta-actions,
    #subServiceApp .sub-footer__cta-actions .sub-btn { width:100%; max-width:none; }
    #subServiceApp .sub-footer__top {
      padding:42px 16px 32px;
      gap:32px;
    }
    #subServiceApp .sub-footer__brand img { width:210px; }
    #subServiceApp .sub-footer__links {
      grid-template-columns:1fr;
      gap:26px;
    }
    #subServiceApp .sub-footer__links button,
    #subServiceApp .sub-footer__links a {
      min-height:40px;
      display:flex;
      align-items:center;
    }
    #subServiceApp .sub-footer__bottom {
      padding:18px 16px calc(18px + env(safe-area-inset-bottom));
      flex-direction:column;
      align-items:flex-start;
    }

    #subServiceApp .sub-btn { min-height:52px; }
    #subServiceApp .sub-toast {
      left:16px;
      right:16px;
      bottom:calc(16px + env(safe-area-inset-bottom));
      transform:translateY(30px);
      text-align:center;
    }
    #subServiceApp .sub-toast.is-visible { transform:none; }
  }

  @media (max-width:390px) {
    #subServiceApp .sub-title { font-size:34px; }
    #subServiceApp .sub-h2 { font-size:29px; }
    #subServiceApp .sub-service-card { min-height:310px; }
    #subServiceApp .sub-page-hero__image,
    #subServiceApp .sub-route-enter--lpg .sub-page-hero__image { height:260px; min-height:260px; }
  }

  @media (prefers-reduced-motion:reduce) {
    #subServiceApp, #subServiceApp * { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
  }



  /* V40 · skutečný tabletový a mobilní layout podle šířky samotného Embedu.
     Desktop nemá žádná pravidla s těmito třídami a zůstává beze změny. */

  #subServiceApp.sub-layout-mobile,
  #subServiceApp.sub-layout-tablet {
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    scroll-behavior:auto;
  }
  #subServiceApp.sub-layout-mobile .sub-main,
  #subServiceApp.sub-layout-tablet .sub-main {
    flex:0 0 auto;
    min-height:0 !important;
  }
  #subServiceApp.sub-layout-mobile .sub-route-enter,
  #subServiceApp.sub-layout-tablet .sub-route-enter {
    min-height:0 !important;
  }
  #subServiceApp.sub-layout-mobile .sub-footer,
  #subServiceApp.sub-layout-tablet .sub-footer {
    flex:0 0 auto;
    margin-top:0;
  }

  /* TABLET 810–1199 px */
  #subServiceApp.sub-layout-tablet { scroll-padding-top:74px; font-size:17px; }
  #subServiceApp.sub-layout-tablet .sub-header { background:rgba(255,255,255,.97); }
  #subServiceApp.sub-layout-tablet .sub-header__bar {
    min-height:74px;
    padding:0 24px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
  }
  #subServiceApp.sub-layout-tablet .sub-brand { width:194px; }
  #subServiceApp.sub-layout-tablet .sub-nav,
  #subServiceApp.sub-layout-tablet .sub-btn--header { display:none !important; }
  #subServiceApp.sub-layout-tablet .sub-menu-btn { display:flex !important; }
  #subServiceApp.sub-layout-tablet .sub-header__phone {
    display:grid !important;
    place-items:center;
    width:48px;
    height:48px;
    border:1px solid var(--line);
    background:#fff;
  }
  #subServiceApp.sub-layout-tablet .sub-header__phone > span:last-child { display:none; }
  #subServiceApp.sub-layout-tablet .sub-header__phone .sub-icon {
    width:auto;
    height:auto;
    background:none;
    box-shadow:none;
    font-size:0;
  }
  #subServiceApp.sub-layout-tablet .sub-header__phone .sub-icon::before { content:"☎"; font-size:21px; }

  #subServiceApp.sub-layout-tablet .sub-container { width:calc(100% - 48px); }
  #subServiceApp.sub-layout-tablet .sub-section { padding:68px 0; }
  #subServiceApp.sub-layout-tablet .sub-title { font-size:clamp(43px,6.6vw,58px); }
  #subServiceApp.sub-layout-tablet .sub-h2 { font-size:clamp(38px,5.8vw,50px); }
  #subServiceApp.sub-layout-tablet .sub-lead { font-size:19px; line-height:1.62; }

  #subServiceApp.sub-layout-tablet .sub-hero {
    min-height:660px;
    display:block;
    color:#fff;
  }
  #subServiceApp.sub-layout-tablet .sub-hero::after { display:none; }
  #subServiceApp.sub-layout-tablet .sub-hero__visual {
    position:absolute;
    inset:0;
    min-height:660px;
  }
  #subServiceApp.sub-layout-tablet .sub-hero__visual::after {
    background:linear-gradient(90deg,rgba(11,18,25,.82) 0%,rgba(11,18,25,.55) 47%,rgba(11,18,25,.16) 100%),linear-gradient(0deg,rgba(11,18,25,.62),transparent 62%);
  }
  #subServiceApp.sub-layout-tablet .sub-hero__copy {
    width:calc(100% - 48px);
    min-height:660px;
    padding:110px 0 52px;
    margin:auto;
    justify-content:flex-end;
    background:none;
    color:#fff;
  }
  #subServiceApp.sub-layout-tablet .sub-hero__copy .sub-lead { color:rgba(255,255,255,.9); }
  #subServiceApp.sub-layout-tablet .sub-hero__copy .sub-kicker { color:#ffd11a; }
  #subServiceApp.sub-layout-tablet .sub-hero__copy .sub-title { max-width:720px; }
  #subServiceApp.sub-layout-tablet .sub-hero__badge { left:auto; right:24px; top:24px; bottom:auto; color:var(--ink); }
  #subServiceApp.sub-layout-tablet .sub-trust { color:#fff; }
  #subServiceApp.sub-layout-tablet .sub-trust span::before { background:rgba(255,255,255,.94); }
  #subServiceApp.sub-layout-tablet .sub-btn--ghost { background:rgba(255,255,255,.9); color:var(--ink); }

  #subServiceApp.sub-layout-tablet .sub-page-hero {
    display:flex;
    flex-direction:column;
    height:auto;
    min-height:0;
    max-height:none;
    overflow:visible;
    padding-bottom:42px;
  }
  #subServiceApp.sub-layout-tablet .sub-page-hero::after { display:none; }
  #subServiceApp.sub-layout-tablet .sub-page-hero__image,
  #subServiceApp.sub-layout-tablet .sub-route-enter--lpg .sub-page-hero__image,
  #subServiceApp.sub-layout-tablet .sub-route-enter--coverage .sub-page-hero__image {
    order:1;
    width:100%;
    height:390px;
    min-height:390px;
    max-height:390px;
  }
  #subServiceApp.sub-layout-tablet .sub-page-hero__copy {
    order:2;
    width:calc(100% - 48px);
    margin:-58px auto 0;
    padding:42px 42px 40px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:var(--shadow-sm);
    overflow:visible;
  }
  #subServiceApp.sub-layout-tablet .sub-route-enter--coverage .sub-page-hero {
    min-height:0;
    max-height:none;
  }

  #subServiceApp.sub-layout-tablet .sub-split { grid-template-columns:1fr; gap:44px; }
  #subServiceApp.sub-layout-tablet .sub-media { height:470px; min-height:470px; }
  #subServiceApp.sub-layout-tablet .sub-grid--3,
  #subServiceApp.sub-layout-tablet .sub-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #subServiceApp.sub-layout-tablet .sub-service-card { min-height:360px; }
  #subServiceApp.sub-layout-tablet .sub-contact-layout { grid-template-columns:1fr; gap:30px; }
  #subServiceApp.sub-layout-tablet .sub-form-grid { grid-template-columns:1fr 1fr; }
  #subServiceApp.sub-layout-tablet .sub-tabs {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    overflow:visible;
    margin:28px 0 34px;
  }
  #subServiceApp.sub-layout-tablet .sub-tab { white-space:normal; min-height:58px; padding:12px; }
  #subServiceApp.sub-layout-tablet .sub-footer__top { grid-template-columns:1fr; }
  #subServiceApp.sub-layout-tablet .sub-footer__links { grid-template-columns:repeat(3,1fr); }

  /* MOBILE do 809 px */
  #subServiceApp.sub-layout-mobile {
    scroll-padding-top:68px;
    font-size:17px;
    --mobile-pad:16px;
  }
  #subServiceApp.sub-layout-mobile .sub-header {
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(16px);
  }
  #subServiceApp.sub-layout-mobile .sub-header__bar {
    min-height:68px;
    padding:0 var(--mobile-pad);
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
  }
  #subServiceApp.sub-layout-mobile .sub-brand {
    width:152px;
    max-width:calc(100vw - 126px);
  }
  #subServiceApp.sub-layout-mobile .sub-nav,
  #subServiceApp.sub-layout-mobile .sub-btn--header { display:none !important; }
  #subServiceApp.sub-layout-mobile .sub-header__actions { gap:8px; }
  #subServiceApp.sub-layout-mobile .sub-header__phone {
    display:grid !important;
    place-items:center;
    width:44px;
    height:44px;
    flex:0 0 44px;
    border:1px solid #d8dee3;
    background:#fff;
  }
  #subServiceApp.sub-layout-mobile .sub-header__phone > span:last-child { display:none; }
  #subServiceApp.sub-layout-mobile .sub-header__phone .sub-icon {
    width:auto;
    height:auto;
    background:none;
    box-shadow:none;
    font-size:0;
  }
  #subServiceApp.sub-layout-mobile .sub-header__phone .sub-icon::before { content:"☎"; font-size:20px; line-height:1; }
  #subServiceApp.sub-layout-mobile .sub-menu-btn {
    display:flex !important;
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-color:#d8dee3;
    background:#f4f6f7;
  }

  /* Mobilní menu je samostatná celoobrazovková navigace. */
  #subServiceApp.sub-layout-mobile .sub-mobile-panel {
    inset:0;
    width:100%;
    max-width:none;
    background:#f4f6f7;
    transform:translateY(-104%);
    box-shadow:none;
    padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel.is-open { transform:none; }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel__head {
    min-height:68px;
    padding:10px 16px;
    background:#fff;
    border-bottom:1px solid var(--line);
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel__head img { width:152px; }
  #subServiceApp.sub-layout-mobile .sub-mobile-close {
    width:44px;
    height:44px;
    background:#f4f6f7;
    font-size:25px;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel__body {
    padding:18px 16px 24px;
    gap:10px;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel__body > button {
    position:relative;
    min-height:56px;
    padding:15px 48px 15px 16px;
    border:1px solid #dce2e6;
    background:#fff;
    font-size:18px;
    line-height:1.2;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel__body > button::after {
    content:"›";
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-52%);
    color:var(--blue);
    font-size:25px;
    font-weight:500;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-section {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:16px 0;
    margin:0;
    border:0;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-section span {
    grid-column:1/-1;
    margin:0 0 2px;
    font-size:11px;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-section button {
    min-height:76px;
    padding:13px;
    border:1px solid #d4e1eb;
    background:#eef5fa;
    color:var(--ink);
    font-size:15px;
    line-height:1.25;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel__footer {
    margin-top:auto;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom));
    background:var(--yellow);
    border-top:0;
    color:#111;
    font-weight:800;
    gap:4px;
  }
  #subServiceApp.sub-layout-mobile:has(.sub-mobile-panel.is-open) { overflow:hidden; }

  #subServiceApp.sub-layout-mobile .sub-container { width:calc(100% - 32px); }
  #subServiceApp.sub-layout-mobile .sub-section { padding:48px 0; }
  #subServiceApp.sub-layout-mobile .sub-section + .sub-section { border-top:0; }
  #subServiceApp.sub-layout-mobile .sub-kicker { font-size:11px; letter-spacing:.12em; }
  #subServiceApp.sub-layout-mobile .sub-title {
    font-size:clamp(36px,10.8vw,46px);
    line-height:1.01;
    letter-spacing:-.045em;
    overflow-wrap:normal;
  }
  #subServiceApp.sub-layout-mobile .sub-h2 {
    font-size:clamp(30px,8.8vw,38px);
    line-height:1.06;
    letter-spacing:-.038em;
    overflow-wrap:normal;
  }
  #subServiceApp.sub-layout-mobile .sub-h3 { font-size:23px; }
  #subServiceApp.sub-layout-mobile .sub-lead { font-size:17px; line-height:1.62; }

  /* Úvodní hero je na mobilu samostatná obrazová obrazovka, nikoli zmenšený desktop. */
  #subServiceApp.sub-layout-mobile .sub-hero {
    min-height:720px;
    display:block;
    position:relative;
    color:#fff;
    background:#17212a;
  }
  #subServiceApp.sub-layout-mobile .sub-hero::after { display:none; }
  #subServiceApp.sub-layout-mobile .sub-hero__visual {
    position:absolute;
    inset:0;
    min-height:720px;
    height:100%;
    order:initial;
  }
  #subServiceApp.sub-layout-mobile .sub-hero__visual img { object-position:61% center; }
  #subServiceApp.sub-layout-mobile .sub-hero__visual::after {
    background:linear-gradient(0deg,rgba(8,14,20,.94) 0%,rgba(8,14,20,.73) 43%,rgba(8,14,20,.22) 72%,rgba(8,14,20,.08) 100%);
  }
  #subServiceApp.sub-layout-mobile .sub-hero__copy {
    width:100%;
    min-height:720px;
    margin:0;
    padding:138px 16px 30px;
    justify-content:flex-end;
    order:initial;
    background:none;
    color:#fff;
  }
  #subServiceApp.sub-layout-mobile .sub-hero__copy > * { max-width:100%; }
  #subServiceApp.sub-layout-mobile .sub-hero__copy .sub-title { color:#fff; margin:10px 0 16px; }
  #subServiceApp.sub-layout-mobile .sub-hero__copy .sub-lead { color:rgba(255,255,255,.9); }
  #subServiceApp.sub-layout-mobile .sub-hero__copy .sub-kicker { color:#ffd21a; }
  #subServiceApp.sub-layout-mobile .sub-hero__badge {
    top:18px;
    left:16px;
    right:auto;
    bottom:auto;
    width:auto;
    min-width:184px;
    padding:14px 16px;
    background:rgba(255,255,255,.96);
    color:var(--ink);
    box-shadow:0 10px 30px rgba(0,0,0,.16);
  }
  #subServiceApp.sub-layout-mobile .sub-hero__badge b { font-size:24px; }
  #subServiceApp.sub-layout-mobile .sub-hero__badge span { font-size:10px; }
  #subServiceApp.sub-layout-mobile .sub-hero__actions {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
    margin-top:22px;
  }
  #subServiceApp.sub-layout-mobile .sub-hero__actions .sub-btn { width:100%; min-height:54px; }
  #subServiceApp.sub-layout-mobile .sub-hero__copy .sub-btn--ghost {
    color:#fff;
    background:rgba(255,255,255,.11);
    border-color:rgba(255,255,255,.45);
    backdrop-filter:blur(10px);
  }
  #subServiceApp.sub-layout-mobile .sub-trust {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
    color:#fff;
    font-size:12px;
  }
  #subServiceApp.sub-layout-mobile .sub-trust span {
    padding:8px 10px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.17);
    backdrop-filter:blur(8px);
  }
  #subServiceApp.sub-layout-mobile .sub-trust span::before {
    width:18px;
    height:18px;
    background:var(--yellow);
    color:#111;
    box-shadow:none;
  }

  /* Statistiky jako mobilní dashboard. */
  #subServiceApp.sub-layout-mobile .sub-stats {
    grid-template-columns:1fr 1fr;
    gap:1px;
    margin:0;
    border:0;
    background:#dfe4e7;
    box-shadow:none;
  }
  #subServiceApp.sub-layout-mobile .sub-stat,
  #subServiceApp.sub-layout-mobile .sub-stat:nth-child(2) {
    min-height:118px;
    padding:20px 16px;
    border:0;
    background:#fff;
  }
  #subServiceApp.sub-layout-mobile .sub-stat b { font-size:25px; }
  #subServiceApp.sub-layout-mobile .sub-stat span { font-size:12.5px; line-height:1.35; }

  /* Podstránkové hero: fotografie nahoře a samostatná čitelná karta přes její spodní okraj. */
  #subServiceApp.sub-layout-mobile .sub-page-hero,
  #subServiceApp.sub-layout-mobile .sub-route-enter--coverage .sub-page-hero {
    display:flex;
    flex-direction:column;
    height:auto;
    min-height:0;
    max-height:none;
    overflow:visible;
    padding-bottom:34px;
    background:#eef2f4;
  }
  #subServiceApp.sub-layout-mobile .sub-page-hero::after { display:none; }
  #subServiceApp.sub-layout-mobile .sub-page-hero__image,
  #subServiceApp.sub-layout-mobile .sub-route-enter--lpg .sub-page-hero__image,
  #subServiceApp.sub-layout-mobile .sub-route-enter--coverage .sub-page-hero__image {
    order:1;
    width:100%;
    height:258px;
    min-height:258px;
    max-height:258px;
  }
  #subServiceApp.sub-layout-mobile .sub-page-hero__image img { object-position:center center; }
  #subServiceApp.sub-layout-mobile .sub-page-hero__image::after {
    background:linear-gradient(0deg,rgba(16,24,40,.24),transparent 54%);
  }
  #subServiceApp.sub-layout-mobile .sub-page-hero__copy {
    order:2;
    position:relative;
    width:calc(100% - 32px);
    min-height:0;
    margin:-34px auto 0;
    padding:26px 20px 24px;
    background:#fff;
    border:1px solid #dce2e6;
    box-shadow:0 15px 35px rgba(16,24,40,.10);
    overflow:visible;
  }
  #subServiceApp.sub-layout-mobile .sub-page-hero__copy .sub-title {
    font-size:clamp(32px,9.5vw,40px);
    margin:10px 0 15px;
  }
  #subServiceApp.sub-layout-mobile .sub-page-hero__copy .sub-lead { font-size:16.5px; }
  #subServiceApp.sub-layout-mobile .sub-page-hero__copy .sub-hero__actions { margin-top:20px; }
  #subServiceApp.sub-layout-mobile .sub-page-hero__copy .sub-btn { width:100%; }
  #subServiceApp.sub-layout-mobile .sub-breadcrumbs {
    margin-bottom:12px;
    font-size:11px;
    line-height:1.35;
    flex-wrap:wrap;
  }

  /* Karty služeb jsou na mobilu přehledné řádky s fotografií, ne vysoké desktopové plakáty. */
  #subServiceApp.sub-layout-mobile .sub-grid { gap:14px; }
  #subServiceApp.sub-layout-mobile .sub-grid--3,
  #subServiceApp.sub-layout-mobile .sub-grid--2 { grid-template-columns:1fr; }
  #subServiceApp.sub-layout-mobile .sub-service-card {
    min-height:188px;
    height:auto;
    padding:0;
    background:#fff;
    color:var(--ink);
    border:1px solid #dce2e6;
    box-shadow:none;
    overflow:hidden;
  }
  #subServiceApp.sub-layout-mobile .sub-service-card img {
    left:0;
    right:auto;
    width:42%;
    height:100%;
    object-fit:cover;
  }
  #subServiceApp.sub-layout-mobile .sub-service-card::after {
    inset:0 auto 0 0;
    width:42%;
    background:linear-gradient(90deg,rgba(16,24,40,.08),transparent);
  }
  #subServiceApp.sub-layout-mobile .sub-service-card__content {
    position:relative;
    inset:auto;
    min-height:188px;
    margin-left:42%;
    padding:20px 18px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
  }
  #subServiceApp.sub-layout-mobile .sub-service-card h3 { font-size:22px; margin:0 0 9px; }
  #subServiceApp.sub-layout-mobile .sub-service-card p {
    color:var(--ink-2);
    margin:0 0 13px;
    font-size:15px;
    line-height:1.45;
  }
  #subServiceApp.sub-layout-mobile .sub-service-card .sub-arrow {
    width:36px;
    height:36px;
    border-color:#c9d2d8;
    color:var(--ink);
  }
  #subServiceApp.sub-layout-mobile .sub-service-card--plain .sub-service-card__content {
    margin-left:0;
    min-height:188px;
  }
  #subServiceApp.sub-layout-mobile .sub-service-card--plain::after { display:none; }

  #subServiceApp.sub-layout-mobile .sub-split { grid-template-columns:1fr; gap:30px; }
  #subServiceApp.sub-layout-mobile .sub-split > * { min-width:0; }
  #subServiceApp.sub-layout-mobile .sub-media { height:270px; min-height:270px; }
  #subServiceApp.sub-layout-mobile .sub-media__tag { max-width:76%; padding:12px 14px; font-size:12px; }
  #subServiceApp.sub-layout-mobile .sub-card {
    padding:22px !important;
    min-width:0;
  }
  #subServiceApp.sub-layout-mobile .sub-card--feature {
    min-height:205px;
    padding:72px 20px 22px !important;
  }
  #subServiceApp.sub-layout-mobile .sub-card--feature::before { right:14px; top:5px; font-size:68px; }
  #subServiceApp.sub-layout-mobile .sub-card p,
  #subServiceApp.sub-layout-mobile .sub-checklist li,
  #subServiceApp.sub-layout-mobile .sub-price-box p,
  #subServiceApp.sub-layout-mobile .sub-acc-content p { font-size:16.5px; line-height:1.58; }
  #subServiceApp.sub-layout-mobile .sub-checklist { gap:12px; margin-top:22px; }
  #subServiceApp.sub-layout-mobile .sub-checklist li { grid-template-columns:24px minmax(0,1fr); gap:9px; }
  #subServiceApp.sub-layout-mobile .sub-checklist li::before { width:22px; height:22px; }

  /* Záložky fungují jako velké ovládací prvky mobilní aplikace. */
  #subServiceApp.sub-layout-mobile .sub-tabs {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:22px 0 26px;
    padding:0;
    overflow:visible;
  }
  #subServiceApp.sub-layout-mobile .sub-tab {
    min-height:60px;
    padding:11px 10px;
    white-space:normal;
    line-height:1.25;
    font-size:14.5px;
    text-align:center;
    border:1px solid #dce2e6;
    background:#fff;
  }
  #subServiceApp.sub-layout-mobile .sub-tab.is-active { background:#e6edf1; border-color:#aebbc4; }

  #subServiceApp.sub-layout-mobile .sub-process { grid-template-columns:1fr; }
  #subServiceApp.sub-layout-mobile .sub-process__item {
    min-height:190px;
    padding:78px 20px 24px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  #subServiceApp.sub-layout-mobile .sub-process__item:last-child { border-bottom:0; }
  #subServiceApp.sub-layout-mobile .sub-process__item::before { right:12px; top:4px; font-size:70px; }

  #subServiceApp.sub-layout-mobile .sub-band { padding:26px 0; }
  #subServiceApp.sub-layout-mobile .sub-band__inner,
  #subServiceApp.sub-layout-mobile .sub-coverage-cta__inner,
  #subServiceApp.sub-layout-mobile .sub-footer__cta-inner {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-height:0;
    gap:22px;
  }
  #subServiceApp.sub-layout-mobile .sub-band__inner .sub-btn,
  #subServiceApp.sub-layout-mobile .sub-coverage-cta .sub-btn,
  #subServiceApp.sub-layout-mobile .sub-footer__cta-actions,
  #subServiceApp.sub-layout-mobile .sub-footer__cta-actions .sub-btn { width:100%; max-width:none; }

  #subServiceApp.sub-layout-mobile .sub-price-box {
    grid-template-columns:1fr;
    padding:26px 20px !important;
    gap:22px;
  }
  #subServiceApp.sub-layout-mobile .sub-price-box strong { font-size:35px; line-height:1.05; }
  #subServiceApp.sub-layout-mobile .sub-price-box .sub-btn { width:100%; max-width:none; }
  #subServiceApp.sub-layout-mobile .sub-quote { padding:28px 22px !important; }
  #subServiceApp.sub-layout-mobile .sub-quote p { font-size:22px; line-height:1.38; }

  #subServiceApp.sub-layout-mobile .sub-contact-layout { grid-template-columns:1fr; gap:22px; }
  #subServiceApp.sub-layout-mobile .sub-contact-stack { gap:12px; }
  #subServiceApp.sub-layout-mobile .sub-contact-card { padding:20px; }
  #subServiceApp.sub-layout-mobile .sub-form { padding:24px 18px; }
  #subServiceApp.sub-layout-mobile .sub-form-grid { grid-template-columns:1fr; gap:14px; }
  #subServiceApp.sub-layout-mobile .sub-field--full { grid-column:auto; }
  #subServiceApp.sub-layout-mobile .sub-field input,
  #subServiceApp.sub-layout-mobile .sub-field textarea,
  #subServiceApp.sub-layout-mobile .sub-field select { min-height:56px; font-size:16px; }
  #subServiceApp.sub-layout-mobile .sub-form > .sub-btn { width:100%; }

  #subServiceApp.sub-layout-mobile .sub-acc-btn { min-height:62px; padding:18px 48px 18px 0; font-size:17px; }
  #subServiceApp.sub-layout-mobile .sub-news-card { padding:22px 18px; }
  #subServiceApp.sub-layout-mobile .sub-logos { grid-template-columns:1fr 1fr; }
  #subServiceApp.sub-layout-mobile .sub-reference-showcase { margin-top:24px; padding:20px 0; }

  /* Kompaktní patička bez prázdného prostoru mezi obsahem a patičkou. */
  #subServiceApp.sub-layout-mobile .sub-footer__cta-inner { padding:34px 16px; }
  #subServiceApp.sub-layout-mobile .sub-footer__cta h2 { font-size:32px; line-height:1.06; }
  #subServiceApp.sub-layout-mobile .sub-footer__top {
    padding:36px 16px 28px;
    display:grid;
    grid-template-columns:1fr;
    gap:28px;
  }
  #subServiceApp.sub-layout-mobile .sub-footer__brand img { width:190px; }
  #subServiceApp.sub-layout-mobile .sub-footer__brand p { margin-top:14px; font-size:14.5px; }
  #subServiceApp.sub-layout-mobile .sub-footer__links {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px 18px;
  }
  #subServiceApp.sub-layout-mobile .sub-footer__links > div:last-child { grid-column:1/-1; }
  #subServiceApp.sub-layout-mobile .sub-footer__links button,
  #subServiceApp.sub-layout-mobile .sub-footer__links a {
    min-height:36px;
    display:flex;
    align-items:center;
    font-size:14px;
  }
  #subServiceApp.sub-layout-mobile .sub-footer__bottom {
    padding:16px 16px calc(16px + env(safe-area-inset-bottom));
    font-size:12px;
  }
  #subServiceApp.sub-layout-mobile .sub-footer__cta.is-hidden + .sub-footer__top { margin-top:0; }

  #subServiceApp.sub-layout-mobile .sub-btn { min-height:52px; padding-inline:17px; }
  #subServiceApp.sub-layout-mobile .sub-toast {
    left:16px;
    right:16px;
    bottom:calc(16px + env(safe-area-inset-bottom));
    transform:translateY(28px);
    text-align:center;
  }
  #subServiceApp.sub-layout-mobile .sub-toast.is-visible { transform:none; }

  @media (max-height:700px) {
    #subServiceApp.sub-layout-mobile .sub-hero,
    #subServiceApp.sub-layout-mobile .sub-hero__copy,
    #subServiceApp.sub-layout-mobile .sub-hero__visual { min-height:680px; }
  }


  /* V41 · fallback pro Framer iframe, který může hlásit desktopovou vnitřní šířku. */
  @media (max-device-width:809px), (max-width:809px) {
    #subServiceApp:not(.sub-layout-tablet):not(.sub-layout-desktop) .sub-nav,
    #subServiceApp:not(.sub-layout-tablet):not(.sub-layout-desktop) .sub-btn--header { display:none !important; }
    #subServiceApp:not(.sub-layout-tablet):not(.sub-layout-desktop) .sub-menu-btn { display:flex !important; }
  }


  /* V42 · korekce Frameru, pokud mobilní Embed běží na širokém desktopovém plátně. */
  #subServiceApp.sub-framer-scaled-canvas {
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:auto !important;
    bottom:auto !important;
    width:var(--sub-canvas-width) !important;
    max-width:var(--sub-canvas-width) !important;
    height:calc(100% / var(--sub-canvas-scale)) !important;
    max-height:calc(100% / var(--sub-canvas-scale)) !important;
    transform:scale(var(--sub-canvas-scale));
    transform-origin:top left;
  }


  /* V43 · finální responzivní doladění pro tři Framer breakpointy.
     Pravidla jsou aktivní pouze přes sub-layout-mobile / sub-layout-tablet. */

  /* Rychlé volání jako jasné tlačítko v hlavičce. */
  #subServiceApp.sub-layout-mobile .sub-header__phone {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:88px;
    height:44px;
    padding:0 13px;
    gap:7px;
    border:0;
    border-radius:0;
    background:var(--yellow);
    color:#111820;
    box-shadow:none;
    text-decoration:none;
  }
  #subServiceApp.sub-layout-mobile .sub-header__phone > span:last-child {
    display:block !important;
    line-height:1;
  }
  #subServiceApp.sub-layout-mobile .sub-header__phone small { display:none !important; }
  #subServiceApp.sub-layout-mobile .sub-header__phone b {
    display:block;
    font-size:0;
    line-height:1;
  }
  #subServiceApp.sub-layout-mobile .sub-header__phone b::after {
    content:"Volat";
    font-size:14px;
    font-weight:900;
    letter-spacing:.01em;
  }
  #subServiceApp.sub-layout-mobile .sub-header__phone .sub-icon::before {
    content:"☎";
    font-size:18px;
  }
  #subServiceApp.sub-layout-mobile .sub-brand {
    width:146px;
    max-width:calc(100vw - 206px);
  }

  #subServiceApp.sub-layout-tablet .sub-header__phone {
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:188px;
    height:46px;
    padding:0 16px;
    gap:9px;
    border:0;
    border-radius:0;
    background:var(--yellow);
    color:#111820;
    text-decoration:none;
  }
  #subServiceApp.sub-layout-tablet .sub-header__phone > span:last-child {
    display:block !important;
    line-height:1.05;
  }
  #subServiceApp.sub-layout-tablet .sub-header__phone small { display:none !important; }
  #subServiceApp.sub-layout-tablet .sub-header__phone b { font-size:14px; font-weight:900; }
  #subServiceApp.sub-layout-tablet .sub-header__phone .sub-icon::before {
    content:"☎";
    font-size:18px;
  }

  /* Hero fotografie podstránek: celý obraz bez useknutí. */
  #subServiceApp.sub-layout-mobile .sub-page-hero__image,
  #subServiceApp.sub-layout-mobile .sub-route-enter--lpg .sub-page-hero__image,
  #subServiceApp.sub-layout-mobile .sub-route-enter--coverage .sub-page-hero__image {
    height:clamp(240px,68vw,430px) !important;
    min-height:0 !important;
    max-height:none !important;
    padding:0 !important;
    background:#e9eef1 !important;
  }
  #subServiceApp.sub-layout-tablet .sub-page-hero__image,
  #subServiceApp.sub-layout-tablet .sub-route-enter--lpg .sub-page-hero__image,
  #subServiceApp.sub-layout-tablet .sub-route-enter--coverage .sub-page-hero__image {
    height:clamp(390px,52vw,570px) !important;
    min-height:0 !important;
    max-height:none !important;
    padding:0 !important;
    background:#e9eef1 !important;
  }
  #subServiceApp.sub-layout-mobile .sub-page-hero__image img,
  #subServiceApp.sub-layout-tablet .sub-page-hero__image img,
  #subServiceApp.sub-layout-mobile .sub-page-hero__image--crop-lpg img,
  #subServiceApp.sub-layout-tablet .sub-page-hero__image--crop-lpg img,
  #subServiceApp.sub-layout-mobile .sub-page-hero__image--contain img,
  #subServiceApp.sub-layout-tablet .sub-page-hero__image--contain img {
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    padding:0 !important;
    background:#e9eef1 !important;
  }
  #subServiceApp.sub-layout-mobile .sub-page-hero__image::after,
  #subServiceApp.sub-layout-tablet .sub-page-hero__image::after { display:none !important; }

  /* Sekundární fotografie: zachovat celý snímek místo pevného ořezu. */
  #subServiceApp.sub-layout-mobile .sub-media {
    width:100%;
    height:clamp(270px,80vw,450px) !important;
    min-height:0 !important;
    max-height:none !important;
    background:#e9eef1;
  }
  #subServiceApp.sub-layout-tablet .sub-media {
    width:100%;
    height:clamp(390px,57vw,590px) !important;
    min-height:0 !important;
    max-height:none !important;
    background:#e9eef1;
  }
  #subServiceApp.sub-layout-mobile .sub-media img,
  #subServiceApp.sub-layout-tablet .sub-media img {
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#e9eef1;
  }

  /* Patička: dvě skutečné kolony. Kontakt využije celou šířku, jeho položky jsou 2 × 2. */
  #subServiceApp.sub-layout-mobile .sub-footer__links,
  #subServiceApp.sub-layout-tablet .sub-footer__links {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:start;
    gap:28px 20px !important;
  }
  #subServiceApp.sub-layout-mobile .sub-footer__links > div,
  #subServiceApp.sub-layout-tablet .sub-footer__links > div {
    min-width:0;
  }
  #subServiceApp.sub-layout-mobile .sub-footer__links > div:last-child,
  #subServiceApp.sub-layout-tablet .sub-footer__links > div:last-child {
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:20px;
    row-gap:8px;
  }
  #subServiceApp.sub-layout-mobile .sub-footer__links > div:last-child > span,
  #subServiceApp.sub-layout-tablet .sub-footer__links > div:last-child > span {
    grid-column:1 / -1;
  }
  #subServiceApp.sub-layout-mobile .sub-footer__links button,
  #subServiceApp.sub-layout-mobile .sub-footer__links a {
    min-height:34px;
    font-size:13.5px;
    line-height:1.35;
  }
  #subServiceApp.sub-layout-mobile .sub-footer__top {
    gap:25px;
    padding-bottom:24px;
  }
  #subServiceApp.sub-layout-mobile .sub-footer__bottom { padding-top:14px; }

  /* Obsah končí přímo u patičky, bez umělé prázdné plochy. */
  #subServiceApp.sub-layout-mobile .sub-main,
  #subServiceApp.sub-layout-tablet .sub-main,
  #subServiceApp.sub-layout-mobile .sub-route-enter,
  #subServiceApp.sub-layout-tablet .sub-route-enter {
    min-height:0 !important;
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }
  #subServiceApp.sub-layout-mobile .sub-route-enter > :last-child,
  #subServiceApp.sub-layout-tablet .sub-route-enter > :last-child { margin-bottom:0 !important; }
  #subServiceApp.sub-layout-mobile .sub-footer,
  #subServiceApp.sub-layout-tablet .sub-footer { margin-top:0 !important; }

  @media (max-width:430px) {
    #subServiceApp.sub-layout-mobile .sub-header__bar { padding-inline:12px; }
    #subServiceApp.sub-layout-mobile .sub-brand { width:132px; max-width:calc(100vw - 194px); }
    #subServiceApp.sub-layout-mobile .sub-header__phone { min-width:80px; padding-inline:10px; }
    #subServiceApp.sub-layout-mobile .sub-footer__links { gap:24px 14px !important; }
    #subServiceApp.sub-layout-mobile .sub-footer__links button,
    #subServiceApp.sub-layout-mobile .sub-footer__links a { font-size:13px; }
  }


  /* V45 · profesionální mobilní a tabletová hlavička a navigace.
     Veškerá pravidla jsou uzavřena pouze do layoutových tříd, desktop se nemění. */
  #subServiceApp .sub-header__phone .sub-call-desktop { display:flex; flex-direction:column; line-height:1.15; }
  #subServiceApp .sub-call-svg,
  #subServiceApp .sub-call-responsive { display:none; }
  #subServiceApp .sub-call-svg,
  #subServiceApp .sub-menu-arrow {
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  #subServiceApp.sub-layout-mobile .sub-header,
  #subServiceApp.sub-layout-tablet .sub-header {
    background:rgba(255,255,255,.96) !important;
    border-bottom:1px solid rgba(17,24,32,.09) !important;
    box-shadow:0 8px 30px rgba(17,24,32,.06) !important;
    backdrop-filter:blur(18px) saturate(150%) !important;
  }
  #subServiceApp.sub-layout-mobile .sub-header::after,
  #subServiceApp.sub-layout-tablet .sub-header::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:2px;
    background:linear-gradient(90deg,var(--yellow) 0 34%,transparent 34%);
    pointer-events:none;
  }
  #subServiceApp.sub-layout-mobile .sub-header__bar,
  #subServiceApp.sub-layout-tablet .sub-header__bar {
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
  }
  #subServiceApp.sub-layout-mobile .sub-header__bar {
    min-height:72px !important;
    padding:0 14px !important;
    gap:10px !important;
  }
  #subServiceApp.sub-layout-tablet .sub-header__bar {
    min-height:78px !important;
    padding:0 24px !important;
    gap:16px !important;
  }
  #subServiceApp.sub-layout-mobile .sub-brand { width:148px !important; max-width:calc(100vw - 224px) !important; }
  #subServiceApp.sub-layout-tablet .sub-brand { width:194px !important; }
  #subServiceApp.sub-layout-mobile .sub-header__actions,
  #subServiceApp.sub-layout-tablet .sub-header__actions { gap:8px !important; }

  #subServiceApp.sub-layout-mobile .sub-header__phone,
  #subServiceApp.sub-layout-tablet .sub-header__phone {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:102px !important;
    height:46px !important;
    padding:0 14px !important;
    gap:8px !important;
    border:1px solid #e0b800 !important;
    border-radius:0 !important;
    background:var(--yellow) !important;
    color:#111820 !important;
    box-shadow:0 6px 16px rgba(226,185,0,.18) !important;
    text-decoration:none !important;
  }
  #subServiceApp.sub-layout-tablet .sub-header__phone { min-width:112px !important; height:48px !important; }
  #subServiceApp.sub-layout-mobile .sub-header__phone .sub-icon,
  #subServiceApp.sub-layout-tablet .sub-header__phone .sub-icon {
    width:19px !important;
    height:19px !important;
    display:grid !important;
    place-items:center !important;
    background:none !important;
    box-shadow:none !important;
    border-radius:0 !important;
    font-size:0 !important;
  }
  #subServiceApp.sub-layout-mobile .sub-header__phone .sub-icon::before,
  #subServiceApp.sub-layout-tablet .sub-header__phone .sub-icon::before { content:none !important; }
  #subServiceApp.sub-layout-mobile .sub-header__phone .sub-phone-arrow,
  #subServiceApp.sub-layout-tablet .sub-header__phone .sub-phone-arrow,
  #subServiceApp.sub-layout-mobile .sub-header__phone .sub-call-desktop,
  #subServiceApp.sub-layout-tablet .sub-header__phone .sub-call-desktop { display:none !important; }
  #subServiceApp.sub-layout-mobile .sub-header__phone .sub-call-svg,
  #subServiceApp.sub-layout-tablet .sub-header__phone .sub-call-svg {
    display:block !important;
    width:18px !important;
    height:18px !important;
  }
  #subServiceApp.sub-layout-mobile .sub-header__phone .sub-call-responsive,
  #subServiceApp.sub-layout-tablet .sub-header__phone .sub-call-responsive {
    display:block !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.015em !important;
  }

  #subServiceApp.sub-layout-mobile .sub-menu-btn,
  #subServiceApp.sub-layout-tablet .sub-menu-btn {
    display:flex !important;
    width:46px !important;
    height:46px !important;
    flex:0 0 46px !important;
    padding:0 12px !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:5px !important;
    border:1px solid #111820 !important;
    border-radius:0 !important;
    background:#111820 !important;
    box-shadow:0 6px 16px rgba(17,24,32,.14) !important;
  }
  #subServiceApp.sub-layout-tablet .sub-menu-btn { width:48px !important; height:48px !important; flex-basis:48px !important; }
  #subServiceApp.sub-layout-mobile .sub-menu-btn span,
  #subServiceApp.sub-layout-tablet .sub-menu-btn span {
    width:20px !important;
    height:2px !important;
    margin:0 !important;
    background:#fff !important;
    border-radius:0 !important;
  }
  #subServiceApp.sub-layout-mobile .sub-menu-btn span:nth-child(2),
  #subServiceApp.sub-layout-tablet .sub-menu-btn span:nth-child(2) { width:14px !important; align-self:flex-end !important; }

  #subServiceApp.sub-layout-mobile .sub-overlay,
  #subServiceApp.sub-layout-tablet .sub-overlay {
    background:rgba(8,14,20,.48) !important;
    backdrop-filter:blur(4px) !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel,
  #subServiceApp.sub-layout-tablet .sub-mobile-panel {
    inset:0 0 0 auto !important;
    width:min(460px,100%) !important;
    max-width:100% !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    background:#f4f6f7 !important;
    transform:translateX(104%) !important;
    transition:transform .34s cubic-bezier(.22,.8,.22,1) !important;
    box-shadow:-24px 0 70px rgba(17,24,32,.22) !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel.is-open,
  #subServiceApp.sub-layout-tablet .sub-mobile-panel.is-open { transform:translateX(0) !important; }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel { width:100% !important; }

  #subServiceApp.sub-layout-mobile .sub-mobile-panel__head,
  #subServiceApp.sub-layout-tablet .sub-mobile-panel__head {
    min-height:76px !important;
    padding:12px 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    background:#fff !important;
    border-bottom:1px solid rgba(17,24,32,.09) !important;
  }
  #subServiceApp.sub-layout-tablet .sub-mobile-panel__head { min-height:82px !important; padding-inline:24px !important; }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel__brand,
  #subServiceApp.sub-layout-tablet .sub-mobile-panel__brand {
    display:block !important;
    padding:0 !important;
    border:0 !important;
    background:none !important;
    cursor:pointer !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel__brand img { width:154px !important; display:block !important; }
  #subServiceApp.sub-layout-tablet .sub-mobile-panel__brand img { width:184px !important; display:block !important; }
  #subServiceApp.sub-layout-mobile .sub-mobile-close,
  #subServiceApp.sub-layout-tablet .sub-mobile-close {
    position:relative !important;
    width:46px !important;
    height:46px !important;
    padding:0 !important;
    border:1px solid #111820 !important;
    border-radius:0 !important;
    background:#111820 !important;
    font-size:0 !important;
    cursor:pointer !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-close span,
  #subServiceApp.sub-layout-tablet .sub-mobile-close span {
    position:absolute !important;
    left:12px !important;
    top:21px !important;
    width:20px !important;
    height:2px !important;
    background:#fff !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-close span:first-child,
  #subServiceApp.sub-layout-tablet .sub-mobile-close span:first-child { transform:rotate(45deg) !important; }
  #subServiceApp.sub-layout-mobile .sub-mobile-close span:last-child,
  #subServiceApp.sub-layout-tablet .sub-mobile-close span:last-child { transform:rotate(-45deg) !important; }

  #subServiceApp.sub-layout-mobile .sub-mobile-panel__body,
  #subServiceApp.sub-layout-tablet .sub-mobile-panel__body {
    flex:1 1 auto !important;
    min-height:0 !important;
    padding:18px !important;
    overflow-y:auto !important;
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
    background:#f4f6f7 !important;
  }
  #subServiceApp.sub-layout-tablet .sub-mobile-panel__body { padding:22px 24px !important; }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel__intro,
  #subServiceApp.sub-layout-tablet .sub-mobile-panel__intro {
    position:relative !important;
    padding:22px 22px 24px !important;
    background:#111820 !important;
    color:#fff !important;
    overflow:hidden !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel__intro::before,
  #subServiceApp.sub-layout-tablet .sub-mobile-panel__intro::before {
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:5px !important;
    background:var(--yellow) !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel__intro span,
  #subServiceApp.sub-layout-tablet .sub-mobile-panel__intro span {
    display:block !important;
    margin-bottom:8px !important;
    color:var(--yellow) !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-panel__intro strong,
  #subServiceApp.sub-layout-tablet .sub-mobile-panel__intro strong {
    display:block !important;
    max-width:350px !important;
    font-size:21px !important;
    line-height:1.18 !important;
    letter-spacing:-.025em !important;
  }

  #subServiceApp.sub-layout-mobile .sub-mobile-home,
  #subServiceApp.sub-layout-tablet .sub-mobile-home {
    width:100% !important;
    min-height:58px !important;
    padding:0 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    border:1px solid #d7dde1 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#111820 !important;
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    text-align:left !important;
    cursor:pointer !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-home::after,
  #subServiceApp.sub-layout-tablet .sub-mobile-home::after { content:none !important; }
  #subServiceApp.sub-layout-mobile .sub-menu-arrow,
  #subServiceApp.sub-layout-tablet .sub-menu-arrow {
    width:19px !important;
    height:19px !important;
    flex:0 0 19px !important;
    color:#52616d !important;
  }

  #subServiceApp.sub-layout-mobile .sub-mobile-section,
  #subServiceApp.sub-layout-tablet .sub-mobile-section {
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #d7dde1 !important;
    background:#fff !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-section > span,
  #subServiceApp.sub-layout-tablet .sub-mobile-section > span {
    display:block !important;
    margin:0 !important;
    padding:14px 18px 11px !important;
    border-bottom:1px solid #e1e5e8 !important;
    color:#6b7780 !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.15em !important;
    text-transform:uppercase !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-section button,
  #subServiceApp.sub-layout-tablet .sub-mobile-section button {
    width:100% !important;
    min-height:68px !important;
    padding:12px 16px 12px 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    border:0 !important;
    border-bottom:1px solid #e5e8ea !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#111820 !important;
    text-align:left !important;
    cursor:pointer !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-section button:last-child,
  #subServiceApp.sub-layout-tablet .sub-mobile-section button:last-child { border-bottom:0 !important; }
  #subServiceApp.sub-layout-mobile .sub-mobile-section button > span,
  #subServiceApp.sub-layout-tablet .sub-mobile-section button > span { display:flex !important; flex-direction:column !important; gap:3px !important; min-width:0 !important; }
  #subServiceApp.sub-layout-mobile .sub-mobile-section button b,
  #subServiceApp.sub-layout-tablet .sub-mobile-section button b {
    font-size:15px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-section button small,
  #subServiceApp.sub-layout-tablet .sub-mobile-section button small {
    display:block !important;
    color:#6d7881 !important;
    font-size:12.5px !important;
    line-height:1.35 !important;
    font-weight:600 !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-section button:hover,
  #subServiceApp.sub-layout-tablet .sub-mobile-section button:hover { background:#f9fafb !important; }

  #subServiceApp.sub-layout-mobile .sub-mobile-secondary,
  #subServiceApp.sub-layout-tablet .sub-mobile-secondary {
    border:1px solid #d7dde1 !important;
    background:#fff !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-secondary > span,
  #subServiceApp.sub-layout-tablet .sub-mobile-secondary > span {
    display:block !important;
    padding:14px 18px 11px !important;
    border-bottom:1px solid #e1e5e8 !important;
    color:#6b7780 !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.15em !important;
    text-transform:uppercase !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-secondary > div,
  #subServiceApp.sub-layout-tablet .sub-mobile-secondary > div {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-secondary button,
  #subServiceApp.sub-layout-tablet .sub-mobile-secondary button {
    min-height:54px !important;
    padding:12px 16px !important;
    border:0 !important;
    border-right:1px solid #e5e8ea !important;
    border-bottom:1px solid #e5e8ea !important;
    border-radius:0 !important;
    background:#fff !important;
    color:#111820 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:850 !important;
    text-align:left !important;
    cursor:pointer !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-secondary button:nth-child(even),
  #subServiceApp.sub-layout-tablet .sub-mobile-secondary button:nth-child(even) { border-right:0 !important; }
  #subServiceApp.sub-layout-mobile .sub-mobile-secondary button:nth-last-child(-n+2),
  #subServiceApp.sub-layout-tablet .sub-mobile-secondary button:nth-last-child(-n+2) { border-bottom:0 !important; }

  #subServiceApp.sub-layout-mobile .sub-mobile-panel__footer,
  #subServiceApp.sub-layout-tablet .sub-mobile-panel__footer {
    margin-top:0 !important;
    padding:16px 18px calc(16px + env(safe-area-inset-bottom)) !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:12px !important;
    background:#111820 !important;
    border-top:0 !important;
    color:#fff !important;
  }
  #subServiceApp.sub-layout-tablet .sub-mobile-panel__footer { padding-inline:24px !important; }
  #subServiceApp.sub-layout-mobile .sub-mobile-call,
  #subServiceApp.sub-layout-tablet .sub-mobile-call {
    min-height:52px !important;
    padding:0 17px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    background:var(--yellow) !important;
    color:#111820 !important;
    text-decoration:none !important;
    font-weight:900 !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-call .sub-call-svg,
  #subServiceApp.sub-layout-tablet .sub-mobile-call .sub-call-svg {
    display:block !important;
    width:19px !important;
    height:19px !important;
    flex:0 0 19px !important;
  }
  #subServiceApp.sub-layout-mobile .sub-mobile-call span,
  #subServiceApp.sub-layout-tablet .sub-mobile-call span { display:flex !important; flex-direction:column !important; line-height:1.05 !important; }
  #subServiceApp.sub-layout-mobile .sub-mobile-call small,
  #subServiceApp.sub-layout-tablet .sub-mobile-call small { font-size:9px !important; letter-spacing:.09em !important; text-transform:uppercase !important; opacity:.72 !important; }
  #subServiceApp.sub-layout-mobile .sub-mobile-call b,
  #subServiceApp.sub-layout-tablet .sub-mobile-call b { font-size:15px !important; }
  #subServiceApp.sub-layout-mobile .sub-mobile-mail,
  #subServiceApp.sub-layout-tablet .sub-mobile-mail {
    color:#dce3e7 !important;
    font-size:12px !important;
    font-weight:700 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
  }

  @media (max-width:380px) {
    #subServiceApp.sub-layout-mobile .sub-brand { width:132px !important; max-width:calc(100vw - 205px) !important; }
    #subServiceApp.sub-layout-mobile .sub-header__phone { min-width:92px !important; padding-inline:11px !important; }
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__footer { grid-template-columns:1fr !important; }
    #subServiceApp.sub-layout-mobile .sub-mobile-mail { text-align:center !important; padding:4px 0 !important; }
  }



  /* V46 · RESPONSIVE DESKTOP LAYOUT ON REAL MOBILE
     The content keeps the same responsive behavior seen when a desktop window is narrowed.
     Only the compact header, call action and navigation drawer are replaced below 1200 px. */
  @media (max-width:1199px) {
    #subServiceApp .sub-header__bar {
      min-height:76px;
      padding:0 20px;
      grid-template-columns:minmax(0,1fr) auto;
      gap:14px;
    }
    #subServiceApp .sub-brand {
      width:205px;
      max-width:100%;
      min-width:0;
    }
    #subServiceApp .sub-nav,
    #subServiceApp .sub-btn--header { display:none !important; }
    #subServiceApp .sub-header__actions { gap:9px; }
    #subServiceApp .sub-menu-btn {
      display:flex !important;
      width:48px;
      height:48px;
      flex:0 0 48px;
      border:1px solid #111820;
      border-radius:0;
      background:#111820;
      padding:12px;
      gap:5px;
    }
    #subServiceApp .sub-menu-btn span {
      width:22px;
      height:2px;
      background:#fff;
    }
    #subServiceApp .sub-menu-btn span:nth-child(2) {
      width:15px;
      align-self:flex-end;
    }
    #subServiceApp .sub-header__phone {
      display:flex !important;
      align-items:center;
      justify-content:center;
      min-height:48px;
      padding:0 16px;
      gap:8px;
      background:var(--yellow);
      color:#111820;
      border:1px solid rgba(17,24,32,.16);
      border-radius:0;
      font-weight:900;
      box-shadow:none;
    }
    #subServiceApp .sub-header__phone .sub-icon {
      width:22px;
      height:22px;
      display:grid;
      place-items:center;
      background:transparent;
      box-shadow:none;
      border-radius:0;
    }
    #subServiceApp .sub-header__phone .sub-phone-arrow,
    #subServiceApp .sub-header__phone .sub-call-desktop { display:none !important; }
    #subServiceApp .sub-header__phone .sub-call-svg {
      display:block !important;
      width:21px;
      height:21px;
      fill:none;
      stroke:currentColor;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }
    #subServiceApp .sub-header__phone .sub-call-responsive {
      display:block !important;
      font-size:14px;
      line-height:1;
      white-space:nowrap;
    }

    #subServiceApp .sub-mobile-panel {
      position:fixed;
      inset:0 0 0 auto;
      width:min(440px,100%);
      max-width:100%;
      height:100dvh;
      z-index:210;
      display:flex;
      flex-direction:column;
      background:#fff;
      color:var(--ink);
      transform:translateX(102%);
      transition:transform .3s cubic-bezier(.2,.8,.2,1);
      box-shadow:-20px 0 55px rgba(17,24,32,.18);
      overflow:hidden;
    }
    #subServiceApp .sub-mobile-panel.is-open { transform:translateX(0); }
    #subServiceApp .sub-mobile-panel__head {
      min-height:76px;
      padding:0 20px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      background:#f5f7f8;
      border-bottom:1px solid var(--line);
    }
    #subServiceApp .sub-mobile-panel__brand {
      border:0;
      background:transparent;
      padding:0;
      cursor:pointer;
    }
    #subServiceApp .sub-mobile-panel__head img {
      width:188px;
      height:auto;
    }
    #subServiceApp .sub-mobile-close {
      position:relative;
      width:46px;
      height:46px;
      flex:0 0 46px;
      border:1px solid #111820;
      border-radius:0;
      background:#111820;
      cursor:pointer;
    }
    #subServiceApp .sub-mobile-close span {
      position:absolute;
      left:12px;
      top:21px;
      width:22px;
      height:2px;
      margin:0;
      background:#fff;
    }
    #subServiceApp .sub-mobile-close span:first-child { transform:rotate(45deg); }
    #subServiceApp .sub-mobile-close span:last-child { transform:rotate(-45deg); }
    #subServiceApp .sub-mobile-panel__body {
      flex:1 1 auto;
      min-height:0;
      overflow-y:auto;
      padding:22px 20px 28px;
      display:flex;
      flex-direction:column;
      gap:16px;
      scrollbar-width:none;
      -webkit-overflow-scrolling:touch;
    }
    #subServiceApp .sub-mobile-panel__body::-webkit-scrollbar { display:none; }
    #subServiceApp .sub-mobile-panel__intro {
      padding:18px;
      background:#eef2f4;
      border-left:4px solid var(--yellow);
    }
    #subServiceApp .sub-mobile-panel__intro span {
      display:block;
      margin:0 0 6px;
      color:var(--blue);
      font-size:11px;
      line-height:1.2;
      font-weight:900;
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    #subServiceApp .sub-mobile-panel__intro strong {
      display:block;
      font-size:18px;
      line-height:1.3;
    }
    #subServiceApp .sub-mobile-home {
      width:100%;
      min-height:52px;
      padding:0 4px;
      border:0;
      border-bottom:1px solid var(--line);
      background:transparent;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      text-align:left;
      font-size:17px;
      font-weight:900;
      cursor:pointer;
    }
    #subServiceApp .sub-menu-arrow {
      width:19px;
      height:19px;
      flex:0 0 19px;
      fill:none;
      stroke:currentColor;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }
    #subServiceApp .sub-mobile-section {
      margin:0;
      padding:0;
      border:0;
      display:flex;
      flex-direction:column;
    }
    #subServiceApp .sub-mobile-section > span,
    #subServiceApp .sub-mobile-secondary > span {
      margin:0 0 9px;
      color:#66727d;
      font-size:11px;
      line-height:1.2;
      font-weight:900;
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    #subServiceApp .sub-mobile-section button {
      width:100%;
      min-height:66px;
      padding:12px 4px;
      border:0;
      border-bottom:1px solid var(--line);
      background:transparent;
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      align-items:center;
      gap:15px;
      text-align:left;
      cursor:pointer;
    }
    #subServiceApp .sub-mobile-section button > span {
      min-width:0;
      margin:0;
      display:flex;
      flex-direction:column;
      gap:3px;
      color:inherit;
      text-transform:none;
      letter-spacing:normal;
    }
    #subServiceApp .sub-mobile-section button b {
      color:var(--ink);
      font-size:16px;
      line-height:1.25;
    }
    #subServiceApp .sub-mobile-section button small {
      color:var(--muted);
      font-size:13px;
      line-height:1.35;
    }
    #subServiceApp .sub-mobile-section button:hover { background:#f7f9fa; }
    #subServiceApp .sub-mobile-secondary { margin-top:2px; }
    #subServiceApp .sub-mobile-secondary > div {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      border:1px solid var(--line);
    }
    #subServiceApp .sub-mobile-secondary button {
      min-height:48px;
      padding:11px 13px;
      border:0;
      border-right:1px solid var(--line);
      border-bottom:1px solid var(--line);
      background:#fff;
      color:var(--ink);
      text-align:left;
      font-size:14px;
      font-weight:850;
      cursor:pointer;
    }
    #subServiceApp .sub-mobile-secondary button:nth-child(even) { border-right:0; }
    #subServiceApp .sub-mobile-secondary button:nth-last-child(-n+2) { border-bottom:0; }
    #subServiceApp .sub-mobile-panel__footer {
      margin:0;
      padding:16px 20px calc(16px + env(safe-area-inset-bottom));
      display:grid;
      grid-template-columns:1fr auto;
      align-items:center;
      gap:12px;
      background:#111820;
      color:#fff;
      border-top:0;
    }
    #subServiceApp .sub-mobile-call {
      min-height:50px;
      padding:0 16px;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      background:var(--yellow);
      color:#111820;
      font-weight:900;
    }
    #subServiceApp .sub-mobile-call .sub-call-svg {
      width:21px;
      height:21px;
      fill:none;
      stroke:currentColor;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }
    #subServiceApp .sub-mobile-call span { display:flex; flex-direction:column; line-height:1.05; }
    #subServiceApp .sub-mobile-call small { font-size:9px; letter-spacing:.09em; text-transform:uppercase; opacity:.7; }
    #subServiceApp .sub-mobile-call b { font-size:15px; }
    #subServiceApp .sub-mobile-mail {
      color:#e1e6e9;
      font-size:12px;
      font-weight:750;
      white-space:nowrap;
    }
  }

  @media (max-width:680px) {
    #subServiceApp .sub-header__bar {
      min-height:66px;
      padding:0 14px;
      gap:8px;
    }
    #subServiceApp .sub-brand {
      width:min(156px,calc(100vw - 210px));
      min-width:112px;
    }
    #subServiceApp .sub-header__actions { gap:7px; }
    #subServiceApp .sub-header__phone {
      min-height:44px;
      padding:0 11px;
      gap:6px;
    }
    #subServiceApp .sub-header__phone .sub-icon,
    #subServiceApp .sub-header__phone .sub-call-svg {
      width:19px;
      height:19px;
    }
    #subServiceApp .sub-header__phone .sub-call-responsive { font-size:13px; }
    #subServiceApp .sub-menu-btn {
      width:44px;
      height:44px;
      flex-basis:44px;
      padding:10px;
    }
    #subServiceApp .sub-mobile-panel { width:100%; }
    #subServiceApp .sub-mobile-panel__head {
      min-height:66px;
      padding:0 14px;
    }
    #subServiceApp .sub-mobile-panel__head img { width:158px; }
    #subServiceApp .sub-mobile-close {
      width:44px;
      height:44px;
      flex-basis:44px;
    }
    #subServiceApp .sub-mobile-close span { left:11px; top:20px; }
    #subServiceApp .sub-mobile-panel__body { padding:18px 16px 24px; gap:14px; }
    #subServiceApp .sub-mobile-panel__intro { padding:15px; }
    #subServiceApp .sub-mobile-panel__intro strong { font-size:17px; }
    #subServiceApp .sub-mobile-section button { min-height:62px; }
    #subServiceApp .sub-mobile-panel__footer {
      grid-template-columns:1fr;
      padding-inline:16px;
    }
    #subServiceApp .sub-mobile-mail { text-align:center; padding:2px 0; }
  }

  @media (max-width:380px) {
    #subServiceApp .sub-brand {
      width:124px;
      min-width:104px;
    }
    #subServiceApp .sub-header__phone {
      padding-inline:9px;
    }
    #subServiceApp .sub-header__phone .sub-call-responsive { font-size:12px; }
  }


  /* V47 · mobilní menu bez promo boxu a bez mřížky, dvousloupcová mobilní patička. */
  @media (max-width:809px) {
    /* „Další informace“ jako čistý svislý seznam místo mřížky. */
    #subServiceApp .sub-mobile-secondary > div,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary > div {
      display:flex !important;
      flex-direction:column !important;
      grid-template-columns:none !important;
    }
    #subServiceApp .sub-mobile-secondary button,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button {
      width:100% !important;
      min-height:52px !important;
      padding:12px 18px !important;
      border:0 !important;
      border-bottom:1px solid #e5e8ea !important;
      background:#fff !important;
      text-align:left !important;
    }
    #subServiceApp .sub-mobile-secondary button:last-child,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button:last-child {
      border-bottom:0 !important;
    }

    /* Levý sloupec: Služby + SUB Service. Pravý sloupec: Kontakt. */
    #subServiceApp .sub-footer__links,
    #subServiceApp.sub-layout-mobile .sub-footer__links {
      display:grid !important;
      grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) !important;
      grid-template-rows:auto auto !important;
      align-items:start !important;
      column-gap:24px !important;
      row-gap:30px !important;
    }
    #subServiceApp .sub-footer__links > div,
    #subServiceApp.sub-layout-mobile .sub-footer__links > div {
      min-width:0 !important;
      grid-column:auto !important;
      display:flex !important;
      flex-direction:column !important;
      align-items:flex-start !important;
      gap:10px !important;
    }
    #subServiceApp .sub-footer__links > div:nth-child(1),
    #subServiceApp.sub-layout-mobile .sub-footer__links > div:nth-child(1) {
      grid-column:1 !important;
      grid-row:1 !important;
    }
    #subServiceApp .sub-footer__links > div:nth-child(2),
    #subServiceApp.sub-layout-mobile .sub-footer__links > div:nth-child(2) {
      grid-column:1 !important;
      grid-row:2 !important;
    }
    #subServiceApp .sub-footer__links > div:nth-child(3),
    #subServiceApp.sub-layout-mobile .sub-footer__links > div:nth-child(3) {
      grid-column:2 !important;
      grid-row:1 / span 2 !important;
    }
    #subServiceApp .sub-footer__links > div:nth-child(3) > span,
    #subServiceApp.sub-layout-mobile .sub-footer__links > div:nth-child(3) > span {
      grid-column:auto !important;
    }
  }

  @media (max-width:390px) {
    #subServiceApp .sub-footer__links,
    #subServiceApp.sub-layout-mobile .sub-footer__links {
      grid-template-columns:minmax(0,1fr) minmax(0,.88fr) !important;
      column-gap:16px !important;
    }
    #subServiceApp .sub-footer__links button,
    #subServiceApp .sub-footer__links a,
    #subServiceApp.sub-layout-mobile .sub-footer__links button,
    #subServiceApp.sub-layout-mobile .sub-footer__links a {
      font-size:12.5px !important;
      line-height:1.35 !important;
      overflow-wrap:anywhere !important;
    }
  }



  /* v48: na mobilu bez rychlého kontaktu pod rozbaleným menu */
  @media (max-width:809px) {
    #subServiceApp .sub-mobile-panel__footer {
      grid-template-columns:1fr !important;
    }
    #subServiceApp .sub-mobile-panel__footer .sub-mobile-call {
      display:none !important;
    }
    #subServiceApp .sub-mobile-panel__footer .sub-mobile-mail {
      width:100% !important;
      padding:4px 0 !important;
      text-align:center !important;
    }
  }


  /* v50: desktop bez samostatného slova Zavolat; další informace jako stejné karty jako služby. */
  @media (min-width:1200px) {
    #subServiceApp .sub-header__phone .sub-call-responsive,
    #subServiceApp.sub-layout-desktop .sub-header__phone .sub-call-responsive {
      display:none !important;
    }
    #subServiceApp .sub-header__phone .sub-call-desktop,
    #subServiceApp.sub-layout-desktop .sub-header__phone .sub-call-desktop {
      display:flex !important;
    }
  }

  @media (max-width:1199px) {
    #subServiceApp .sub-mobile-secondary,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary {
      margin:0 !important;
      padding:0 !important;
      border:1px solid #d7dde1 !important;
      background:#fff !important;
      display:flex !important;
      flex-direction:column !important;
    }
    #subServiceApp .sub-mobile-secondary > div,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary > div,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary > div {
      display:flex !important;
      flex-direction:column !important;
      grid-template-columns:none !important;
      border:0 !important;
    }
    #subServiceApp .sub-mobile-secondary button,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button {
      width:100% !important;
      min-height:68px !important;
      padding:12px 16px 12px 18px !important;
      display:flex !important;
      align-items:center !important;
      justify-content:space-between !important;
      gap:14px !important;
      border:0 !important;
      border-right:0 !important;
      border-bottom:1px solid #e5e8ea !important;
      border-radius:0 !important;
      background:#fff !important;
      color:#111820 !important;
      text-align:left !important;
      font-size:inherit !important;
      font-weight:inherit !important;
      cursor:pointer !important;
    }
    #subServiceApp .sub-mobile-secondary button:last-child,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button:last-child,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button:last-child {
      border-bottom:0 !important;
    }
    #subServiceApp .sub-mobile-secondary button > span,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button > span,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button > span {
      display:flex !important;
      flex-direction:column !important;
      gap:3px !important;
      min-width:0 !important;
      margin:0 !important;
      color:inherit !important;
      letter-spacing:normal !important;
      text-transform:none !important;
    }
    #subServiceApp .sub-mobile-secondary button b,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button b,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button b {
      color:#111820 !important;
      font-size:15px !important;
      line-height:1.2 !important;
      font-weight:900 !important;
    }
    #subServiceApp .sub-mobile-secondary button small,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button small,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button small {
      display:block !important;
      color:#6d7881 !important;
      font-size:12.5px !important;
      line-height:1.35 !important;
      font-weight:600 !important;
    }
    #subServiceApp .sub-mobile-secondary button .sub-menu-arrow,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button .sub-menu-arrow,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button .sub-menu-arrow {
      display:block !important;
      flex:0 0 auto !important;
    }
    #subServiceApp .sub-mobile-secondary button:hover,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button:hover,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button:hover {
      background:#f9fafb !important;
    }
  }


  /* v51: Další informace plynule navazují na Naše služby, bez mřížky a popisů. */
  @media (max-width:1199px) {
    #subServiceApp .sub-mobile-section + .sub-mobile-section,
    #subServiceApp.sub-layout-mobile .sub-mobile-section + .sub-mobile-section,
    #subServiceApp.sub-layout-tablet .sub-mobile-section + .sub-mobile-section {
      margin-top:0 !important;
      border-top:0 !important;
    }
    #subServiceApp .sub-mobile-secondary,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary {
      display:flex !important;
      flex-direction:column !important;
      gap:0 !important;
      padding:0 !important;
      background:#fff !important;
      border-left:1px solid #d7dde1 !important;
      border-right:1px solid #d7dde1 !important;
      border-bottom:1px solid #d7dde1 !important;
      border-radius:0 !important;
    }
    #subServiceApp .sub-mobile-secondary > span,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary > span,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary > span {
      display:block !important;
      margin:0 !important;
      padding:14px 18px 11px !important;
      border-top:1px solid #e1e5e8 !important;
      border-bottom:1px solid #e1e5e8 !important;
      background:#fff !important;
      color:#6b7780 !important;
      font-size:10px !important;
      line-height:1 !important;
      font-weight:900 !important;
      letter-spacing:.15em !important;
      text-transform:uppercase !important;
    }
    #subServiceApp .sub-mobile-secondary button,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button {
      width:100% !important;
      min-height:68px !important;
      padding:12px 16px 12px 18px !important;
      display:flex !important;
      align-items:center !important;
      justify-content:space-between !important;
      gap:14px !important;
      border:0 !important;
      border-bottom:1px solid #e5e8ea !important;
      border-radius:0 !important;
      background:#fff !important;
      color:#111820 !important;
      text-align:left !important;
      cursor:pointer !important;
    }
    #subServiceApp .sub-mobile-secondary button:last-child,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button:last-child,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button:last-child {
      border-bottom:0 !important;
    }
    #subServiceApp .sub-mobile-secondary button > span,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button > span,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button > span {
      display:flex !important;
      flex-direction:column !important;
      min-width:0 !important;
      margin:0 !important;
      color:inherit !important;
      text-transform:none !important;
      letter-spacing:normal !important;
    }
    #subServiceApp .sub-mobile-secondary button b,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button b,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button b {
      color:#111820 !important;
      font-size:15px !important;
      line-height:1.2 !important;
      font-weight:900 !important;
    }
    #subServiceApp .sub-mobile-secondary button small,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button small,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button small {
      display:none !important;
    }
    #subServiceApp .sub-mobile-secondary button .sub-menu-arrow,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button .sub-menu-arrow,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button .sub-menu-arrow {
      display:block !important;
      width:19px !important;
      height:19px !important;
      flex:0 0 19px !important;
    }
    #subServiceApp .sub-mobile-secondary button:hover,
    #subServiceApp.sub-layout-mobile .sub-mobile-secondary button:hover,
    #subServiceApp.sub-layout-tablet .sub-mobile-secondary button:hover {
      background:#f9fafb !important;
    }
  }


  /* v52: obě části mobilního menu používají jeden totožný svislý seznam. */
  @media (max-width:1199px) {
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section,
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__body .sub-mobile-section,
    #subServiceApp.sub-layout-tablet .sub-mobile-panel__body .sub-mobile-section {
      width:100% !important;
      display:flex !important;
      flex-direction:column !important;
      grid-template-columns:none !important;
      gap:0 !important;
      margin:0 !important;
      padding:0 !important;
      border:1px solid #d7dde1 !important;
      border-radius:0 !important;
      background:#fff !important;
      overflow:hidden !important;
    }
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section + .sub-mobile-section,
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__body .sub-mobile-section + .sub-mobile-section,
    #subServiceApp.sub-layout-tablet .sub-mobile-panel__body .sub-mobile-section + .sub-mobile-section {
      margin-top:0 !important;
      border-top:0 !important;
    }
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section > span,
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__body .sub-mobile-section > span,
    #subServiceApp.sub-layout-tablet .sub-mobile-panel__body .sub-mobile-section > span {
      display:block !important;
      width:100% !important;
      margin:0 !important;
      padding:14px 18px 11px !important;
      border-bottom:1px solid #e1e5e8 !important;
      background:#fff !important;
      color:#6b7780 !important;
      font-size:10px !important;
      line-height:1 !important;
      font-weight:900 !important;
      letter-spacing:.15em !important;
      text-transform:uppercase !important;
    }
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section button,
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__body .sub-mobile-section button,
    #subServiceApp.sub-layout-tablet .sub-mobile-panel__body .sub-mobile-section button {
      width:100% !important;
      min-height:68px !important;
      padding:12px 16px 12px 18px !important;
      display:flex !important;
      flex-direction:row !important;
      align-items:center !important;
      justify-content:space-between !important;
      grid-template-columns:none !important;
      gap:14px !important;
      border:0 !important;
      border-bottom:1px solid #e5e8ea !important;
      border-radius:0 !important;
      background:#fff !important;
      color:#111820 !important;
      text-align:left !important;
      cursor:pointer !important;
    }
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section button:last-child,
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__body .sub-mobile-section button:last-child,
    #subServiceApp.sub-layout-tablet .sub-mobile-panel__body .sub-mobile-section button:last-child {
      border-bottom:0 !important;
    }
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section button > span,
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__body .sub-mobile-section button > span,
    #subServiceApp.sub-layout-tablet .sub-mobile-panel__body .sub-mobile-section button > span {
      flex:1 1 auto !important;
      min-width:0 !important;
      margin:0 !important;
      display:flex !important;
      flex-direction:column !important;
      gap:3px !important;
      color:inherit !important;
      text-transform:none !important;
      letter-spacing:normal !important;
    }
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section button b,
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__body .sub-mobile-section button b,
    #subServiceApp.sub-layout-tablet .sub-mobile-panel__body .sub-mobile-section button b {
      color:#111820 !important;
      font-size:15px !important;
      line-height:1.2 !important;
      font-weight:900 !important;
    }
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section button .sub-menu-arrow,
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__body .sub-mobile-section button .sub-menu-arrow,
    #subServiceApp.sub-layout-tablet .sub-mobile-panel__body .sub-mobile-section button .sub-menu-arrow {
      display:block !important;
      width:19px !important;
      height:19px !important;
      flex:0 0 19px !important;
    }
  }



  /* v53: stabilní mobilní/tabletové menu bez překrývání, celé dostupné pomocí vlastního scrollu. */
  @media (max-width:1199px) {
    #subServiceApp .sub-mobile-panel {
      position:fixed !important;
      inset:0 0 auto auto !important;
      width:min(440px,100vw) !important;
      max-width:100vw !important;
      height:100vh !important;
      height:100dvh !important;
      max-height:100vh !important;
      max-height:100dvh !important;
      min-height:0 !important;
      display:grid !important;
      grid-template-rows:auto minmax(0,1fr) auto !important;
      align-items:stretch !important;
      overflow:hidden !important;
      z-index:10001 !important;
      isolation:isolate !important;
      transform:translateX(102%) !important;
    }
    #subServiceApp .sub-mobile-panel.is-open {
      transform:translateX(0) !important;
    }
    #subServiceApp .sub-overlay {
      z-index:10000 !important;
    }
    #subServiceApp .sub-mobile-panel__head {
      position:relative !important;
      inset:auto !important;
      z-index:2 !important;
      flex:none !important;
      min-height:72px !important;
      height:auto !important;
      padding-top:max(0px,env(safe-area-inset-top)) !important;
      box-sizing:content-box !important;
    }
    #subServiceApp .sub-mobile-panel__body {
      position:relative !important;
      inset:auto !important;
      z-index:1 !important;
      width:100% !important;
      height:auto !important;
      min-height:0 !important;
      max-height:none !important;
      overflow-x:hidden !important;
      overflow-y:auto !important;
      overscroll-behavior:contain !important;
      -webkit-overflow-scrolling:touch !important;
      touch-action:pan-y !important;
      padding-bottom:32px !important;
      scrollbar-width:thin !important;
      scrollbar-color:#b5bdc3 transparent !important;
    }
    #subServiceApp .sub-mobile-panel__body::-webkit-scrollbar {
      display:block !important;
      width:5px !important;
    }
    #subServiceApp .sub-mobile-panel__body::-webkit-scrollbar-thumb {
      background:#b5bdc3 !important;
      border-radius:6px !important;
    }
    #subServiceApp .sub-mobile-panel__body > *,
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section,
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section button {
      position:relative !important;
      inset:auto !important;
      float:none !important;
      transform:none !important;
      flex-shrink:0 !important;
    }
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section {
      overflow:visible !important;
    }
    #subServiceApp .sub-mobile-panel__footer {
      position:relative !important;
      inset:auto !important;
      z-index:2 !important;
      flex:none !important;
      min-height:0 !important;
      height:auto !important;
      margin:0 !important;
      padding-bottom:max(16px,env(safe-area-inset-bottom)) !important;
    }
    #subServiceApp:has(.sub-mobile-panel.is-open) {
      overflow:hidden !important;
      touch-action:none !important;
    }
    #subServiceApp:has(.sub-mobile-panel.is-open) .sub-mobile-panel,
    #subServiceApp:has(.sub-mobile-panel.is-open) .sub-mobile-panel__body {
      touch-action:pan-y !important;
    }
  }

  @media (max-width:809px) {
    #subServiceApp .sub-mobile-panel {
      width:100vw !important;
    }
    #subServiceApp .sub-mobile-panel__head {
      min-height:64px !important;
    }
    #subServiceApp .sub-mobile-panel__body {
      padding:14px 14px 28px !important;
      gap:12px !important;
    }
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section button {
      min-height:58px !important;
      padding:10px 14px !important;
    }
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section button b {
      font-size:15px !important;
    }
    #subServiceApp .sub-mobile-panel__body .sub-mobile-section button small {
      font-size:12px !important;
    }
    #subServiceApp .sub-mobile-panel__footer {
      padding:12px 14px max(12px,env(safe-area-inset-bottom)) !important;
    }
  }



  /* v54: mobilní a tabletové menu bez karet, rámečků a vizuální mřížky. */
  @media (max-width:1199px) {
    #subServiceApp .sub-mobile-panel__body {
      gap:0 !important;
      background:#fff !important;
    }

    #subServiceApp .sub-mobile-home {
      width:100% !important;
      min-height:58px !important;
      margin:0 !important;
      padding:14px 4px !important;
      display:flex !important;
      align-items:center !important;
      justify-content:space-between !important;
      gap:16px !important;
      border:0 !important;
      border-bottom:1px solid #dfe4e7 !important;
      border-radius:0 !important;
      background:transparent !important;
      box-shadow:none !important;
      color:#111820 !important;
    }

    #subServiceApp .sub-mobile-panel__body .sub-mobile-section,
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__body .sub-mobile-section,
    #subServiceApp.sub-layout-tablet .sub-mobile-panel__body .sub-mobile-section {
      width:100% !important;
      display:flex !important;
      flex-direction:column !important;
      grid-template-columns:none !important;
      gap:0 !important;
      margin:0 !important;
      padding:0 !important;
      border:0 !important;
      border-radius:0 !important;
      background:transparent !important;
      box-shadow:none !important;
      overflow:visible !important;
    }

    #subServiceApp .sub-mobile-panel__body .sub-mobile-section + .sub-mobile-section,
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__body .sub-mobile-section + .sub-mobile-section,
    #subServiceApp.sub-layout-tablet .sub-mobile-panel__body .sub-mobile-section + .sub-mobile-section {
      margin-top:0 !important;
      border:0 !important;
    }

    #subServiceApp .sub-mobile-panel__body .sub-mobile-section > span,
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__body .sub-mobile-section > span,
    #subServiceApp.sub-layout-tablet .sub-mobile-panel__body .sub-mobile-section > span {
      width:100% !important;
      margin:0 !important;
      padding:22px 4px 10px !important;
      border:0 !important;
      border-bottom:1px solid #dfe4e7 !important;
      border-radius:0 !important;
      background:transparent !important;
      box-shadow:none !important;
    }

    #subServiceApp .sub-mobile-panel__body .sub-mobile-section button,
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__body .sub-mobile-section button,
    #subServiceApp.sub-layout-tablet .sub-mobile-panel__body .sub-mobile-section button {
      width:100% !important;
      min-height:62px !important;
      margin:0 !important;
      padding:12px 4px !important;
      display:flex !important;
      align-items:center !important;
      justify-content:space-between !important;
      gap:16px !important;
      border:0 !important;
      border-bottom:1px solid #dfe4e7 !important;
      border-radius:0 !important;
      background:transparent !important;
      box-shadow:none !important;
      color:#111820 !important;
      text-align:left !important;
    }

    #subServiceApp .sub-mobile-panel__body .sub-mobile-section button:last-child,
    #subServiceApp.sub-layout-mobile .sub-mobile-panel__body .sub-mobile-section button:last-child,
    #subServiceApp.sub-layout-tablet .sub-mobile-panel__body .sub-mobile-section button:last-child {
      border-bottom:1px solid #dfe4e7 !important;
    }

    #subServiceApp .sub-mobile-panel__body .sub-mobile-section button:hover,
    #subServiceApp .sub-mobile-home:hover {
      background:transparent !important;
      box-shadow:none !important;
    }
  }


  /* v56: iOS Safari – stabilní hit testing a dotyková navigace mobilního menu. */
  @media (max-width:1199px) {
    #subServiceApp .sub-mobile-panel {
      inset:auto !important;
      top:0 !important;
      bottom:0 !important;
      left:auto !important;
      right:-100vw !important;
      height:100vh !important;
      height:100dvh !important;
      transform:none !important;
      opacity:1 !important;
      visibility:hidden !important;
      pointer-events:none !important;
      transition:right .28s cubic-bezier(.2,.8,.2,1), visibility 0s linear .28s !important;
      -webkit-transform:none !important;
      will-change:right !important;
    }
    #subServiceApp .sub-mobile-panel.is-open {
      right:0 !important;
      transform:none !important;
      -webkit-transform:none !important;
      visibility:visible !important;
      pointer-events:auto !important;
      transition:right .28s cubic-bezier(.2,.8,.2,1), visibility 0s linear 0s !important;
    }
    #subServiceApp .sub-mobile-panel__body {
      -webkit-overflow-scrolling:auto !important;
      touch-action:pan-y !important;
    }
    #subServiceApp .sub-mobile-panel button,
    #subServiceApp .sub-mobile-panel a,
    #subServiceApp .sub-menu-btn,
    #subServiceApp .sub-mobile-close {
      touch-action:manipulation !important;
      -webkit-tap-highlight-color:transparent !important;
      -webkit-user-select:none !important;
      user-select:none !important;
    }
    #subServiceApp .sub-mobile-panel [data-route] {
      position:relative !important;
      z-index:1 !important;
      width:100% !important;
      pointer-events:auto !important;
    }
    #subServiceApp .sub-mobile-panel [data-route] *,
    #subServiceApp .sub-mobile-panel .sub-menu-arrow,
    #subServiceApp .sub-mobile-panel svg,
    #subServiceApp .sub-mobile-panel svg * {
      pointer-events:none !important;
    }
    #subServiceApp.is-menu-open,
    #subServiceApp:has(.sub-mobile-panel.is-open) {
      overflow:hidden !important;
      touch-action:auto !important;
    }
    #subServiceApp.is-menu-open .sub-mobile-panel,
    #subServiceApp.is-menu-open .sub-mobile-panel__body {
      touch-action:pan-y !important;
    }
  }

/* STANDALONE WEB V2
   Original visual CSS is kept intact. Device layout classes are applied by site.js:
   mobile <= 809 px, tablet 810–1199 px, desktop >= 1200 px. */
