/* Mobile-only homepage composition. Desktop and shared templates stay unchanged. */
.home-mobile-actions,.home-mobile-dock,.home-card-controls,.home-mobile-service-intro,.home-mobile-reviews,.home-mobile-featured,.home-mobile-connect,.home-mobile-closing,.home-mobile-only{display:none}

@media (max-width:760px){
  .service-hub{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .service-hub section[id]{scroll-margin-top:80px}
  .service-hub .utility-bar{display:none}
  .service-hub .site-header{position:relative;box-shadow:none;border-bottom:0}
  .service-hub .site-header__inner{justify-content:center;min-height:68px}
  .service-hub .brand{margin:0}
  .service-hub .brand img{width:min(200px,65vw);height:auto;max-height:45px}
  .service-hub .site-header .nav-toggle{display:none}

  .service-hub .home-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 16px 12px;background:var(--paper)}
  .home-mobile-actions a{display:grid;place-items:center;min-height:48px;padding:8px;text-align:center;text-decoration:none;font-size:.875rem;line-height:1.2;font-weight:750;color:var(--ink-900);border:1px solid var(--brand-deep)}
  .home-mobile-actions a:first-child{background:var(--brand)}
  .home-mobile-actions a:last-child{background:var(--paper)}
  .home-mobile-actions a:focus-visible,.home-mobile-dock a:focus-visible,.home-card-controls button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

  .service-hub .home-masthead{padding:0!important;border:0;background:var(--ink-900)}
  .home-masthead__grid{display:flex!important;align-items:center;justify-content:center;min-height:540px;position:relative;gap:0!important;padding:0!important;isolation:isolate}
  .home-masthead__media{position:absolute;inset:0;height:100%!important;border:0;border-radius:0;z-index:-1;margin:0}
  .home-masthead__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,16,28,.65),rgba(4,16,28,.82))}
  .home-masthead__media img{object-position:center}
  .home-masthead__copy{z-index:1;align-self:center;display:flex;flex-direction:column;align-items:center;text-align:center;padding:25px 22px 28px!important;min-width:0;width:100%}
  .home-masthead .eyebrow{color:var(--brand);font-size:.7rem;line-height:1.45;letter-spacing:.12em}
  .home-masthead h1{font-size:clamp(1.9rem,8.1vw,2.55rem);line-height:1.07;max-width:15ch;margin:14px 0 10px;text-transform:uppercase}
  .home-masthead__lead{color:var(--paper);font-size:.93rem;line-height:1.5;max-width:34ch;margin:0}
  .home-masthead__actions{width:100%;max-width:310px;margin:20px 0 0;display:grid;gap:9px}
  .home-masthead__actions .btn{min-height:56px;padding:9px 12px;justify-content:center;font-size:.95rem}
  .home-masthead__actions .btn:first-child{background:var(--paper);color:var(--ink-900);border-color:var(--paper)}
  .home-masthead__actions .btn:first-child svg{color:var(--ink-900)}
  .home-masthead__actions .btn:last-child{border-color:var(--brand);color:var(--paper);background:rgba(4,16,28,.35)}
  .home-masthead__explore{font-size:.84rem;text-decoration:underline;text-underline-offset:3px;margin-top:12px;min-height:32px}
  .home-masthead__explore svg,.home-photo-label{display:none}

  .home-mobile-service-intro{display:block;padding:38px 22px 5px;text-align:center;background:var(--paper)}
  .home-mobile-service-intro .eyebrow{font-size:.69rem;color:var(--brand-ink);letter-spacing:.16em}
  .home-mobile-service-intro h2{font-size:1.7rem;line-height:1.12;text-transform:uppercase;margin:8px auto 10px;max-width:16ch}
  .home-mobile-service-intro p:last-child{color:var(--text-body);font-size:.94rem;line-height:1.5;max-width:34ch;margin-inline:auto}
  .service-hub .home-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:10px;padding:18px 18px 30px;width:100%;max-width:none;background:var(--paper)}
  .home-cards::-webkit-scrollbar{display:none}
  .home-shortcuts>a{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-width:0;min-height:76px;padding:8px;border-color:var(--line-strong);border-radius:4px;font-size:.78rem;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
  .home-shortcuts .home-shortcut-icon{width:30px;height:30px;background:var(--brand)}
  .home-shortcuts .home-shortcut-icon svg{width:18px;height:18px}
  .home-shortcuts>a>svg{display:none}

  .service-hub main{display:flex;flex-direction:column;min-width:0}
  .service-hub .home-desktop-only{display:none}
  .service-hub .home-mobile-only{display:block}
  .service-hub main>.home-masthead{order:1}
  .service-hub main>.home-mobile-reviews{order:2}
  .service-hub main>.home-mobile-service-intro{order:3}
  .service-hub main>.home-mobile-featured{order:4}
  .service-hub main>.home-shortcuts{order:5}
  .service-hub main>.home-group{order:6}
  .service-hub main>#request{order:7}
  .service-hub main>.section--surface{order:8}
  .service-hub main>#faq{order:9}
  .service-hub main>#coverage{order:10}
  .service-hub main>.home-mobile-connect{order:11}
  .service-hub main>.home-mobile-closing{order:12}
  .service-hub main>.home-mobile-dock{order:13}
  .home-mobile-reviews{display:block;text-align:center;padding:42px 0;background:var(--paper);border-bottom:1px solid var(--line)}
  .home-mobile-reviews .eyebrow{color:var(--brand-ink);font-size:.69rem;letter-spacing:.16em}
  .home-mobile-reviews h2{font-size:clamp(1.7rem,7vw,2.15rem);line-height:1.1;text-transform:uppercase;max-width:16ch;margin:10px auto 18px}
  .home-mobile-reviews p:not(.eyebrow){color:var(--text-body);font-size:.96rem;line-height:1.55;max-width:35ch;margin-inline:auto}
  .home-mobile-reviews__actions{display:grid;gap:10px;max-width:310px;margin:24px auto 0}
  .home-mobile-reviews__actions .btn{justify-content:center;min-height:48px;text-align:center;font-size:.88rem}
  .home-mobile-reviews__actions .btn:last-child{border:1px solid var(--brand-deep);color:var(--ink-900)}
  .home-mobile-featured{display:block;padding:0 18px 26px;background:var(--paper);width:100%;max-width:none}
  .home-mobile-featured .home-card{padding-top:28px!important;min-height:225px!important;position:relative;margin-top:17px}
  .home-mobile-featured__icon{position:absolute;top:-18px;left:20px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--brand);color:var(--ink-900)}
  .home-mobile-featured__icon svg{width:21px;height:21px}
  .home-mobile-featured .home-card h3{margin-top:16px}
  .home-mobile-featured .home-card-controls{padding-inline:2px}
  .service-hub .home-group{padding-block:38px 42px;border-top:1px solid var(--line)}
  .service-hub .home-group>.container{padding-inline:20px}
  .home-heading{text-align:center;margin-bottom:18px}
  .home-heading h2{font-size:1.7rem!important;line-height:1.12;text-transform:uppercase;margin:7px auto 0;max-width:19ch}
  .home-heading .eyebrow{font-size:.69rem;letter-spacing:.13em}
  .home-residential .home-photo,.home-commercial-top .home-photo,.home-auto-top .home-photo,.home-emergency-top .home-photo,.home-safe-layout .home-photo,.home-group--systems .home-photo{height:170px!important;border:0;border-radius:4px;margin:0 0 18px}
  .home-residential,.home-residential .home-intro,.home-commercial-top,.home-auto-top,.home-emergency-top,.home-safe-layout,.home-systems-top{display:block;min-width:0}
  .home-group .container>*{min-width:0;max-width:100%}
  .home-residential .home-intro>.link-arrow,.home-safe-layout>div:first-child>.link-arrow,.home-systems-top>.link-arrow{margin:0 0 20px}
  .home-card-rail{min-width:0;position:relative}
  .service-hub .home-cards{display:flex!important;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 3px 10px;margin:0}
  .service-hub .home-card{flex:0 0 min(78vw,310px);min-height:185px;scroll-snap-align:start;padding:20px;border:1px solid var(--line-strong);border-top:3px solid var(--brand)!important;border-left:1px solid var(--line-strong)!important;border-radius:4px;box-shadow:none;opacity:1;transform:none;animation:none!important}
  .service-hub .home-card h3{font-size:1.05rem;line-height:1.3;margin:0 0 10px}
  .service-hub .home-card p{font-size:.91rem;line-height:1.5}
  .home-group--commercial .home-card{background:var(--ink-700);border-color:#51647a!important}
  .home-group--commercial .home-card p{color:var(--paper)}
  .home-card-controls{display:flex;justify-content:space-between;margin-top:5px}
  .home-card-controls button{display:grid;place-items:center;width:48px;height:44px;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper);color:var(--ink-900);font-size:1.25rem;cursor:pointer}
  .home-group--commercial .home-card-controls button{border-color:#51647a;background:var(--ink-700);color:var(--paper)}
  .no-js .home-card-controls{display:none}
  .home-group-footer{margin-top:12px}
  .home-group .hub-note{font-size:.88rem;line-height:1.55;margin-top:15px;padding-top:15px}
  .home-group--emergency .home-emergency-top .btn{width:100%;justify-content:center;margin:0 0 18px}

  .service-hub #request{background:var(--surface-2);padding-block:44px}
  .service-hub #request .container{padding-inline:20px}
  .service-hub #request .with-rail{display:block}
  .service-hub #request .form-panel{padding:22px 17px;border:1px solid var(--line-strong);border-radius:6px;box-shadow:none}
  .service-hub #request .form-panel__head{text-align:center;margin-bottom:24px}
  .service-hub #request .form-panel__head .eyebrow{font-size:.69rem;letter-spacing:.15em;color:var(--brand-ink);margin-bottom:9px}
  .service-hub #request .form-panel__head h2{font-size:1.75rem;line-height:1.15;margin-bottom:9px}
  .service-hub #request .form-panel__head p{font-size:.94rem;line-height:1.5}
  .service-hub #request .field-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
  .service-hub #request .field-grid>.field{grid-column:auto}
  .service-hub #request .field input,.service-hub #request .field select,.service-hub #request .field textarea{min-height:48px;background:var(--surface);border-color:var(--line-strong)}
  .service-hub #request .form-actions .btn{min-height:52px}
  .service-hub #request .rail{margin-top:20px}
  .service-hub #request .contact-rail{background:var(--ink-900);padding:20px;border-radius:4px}
  .service-hub #request .contact-rail h2,.service-hub #request .contact-rail dd a{color:var(--paper)}
  .service-hub #request .contact-rail .btn{color:var(--ink-900)}
  .service-hub .home-process .steps{gap:0}
  .service-hub .home-process .step,.service-hub .home-process .steps--row .step+.step{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:18px 0}
  .service-hub .home-process .step:not(:last-child):after{display:none}
  .service-hub .home-faq{display:block}
  .service-hub .home-faq .section-head{text-align:center}
  .service-hub .home-coverage .hub-local-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-mobile-connect{display:block;padding:48px 0;background:var(--surface);text-align:center}
  .home-mobile-connect h2{font-size:1.55rem;line-height:1.14;text-transform:uppercase;max-width:20ch;margin:0 auto 15px}
  .home-mobile-connect p{color:var(--text-body);font-size:.94rem;line-height:1.5;max-width:34ch;margin:0 auto 22px}
  .home-mobile-google{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:148px;padding:20px;background:var(--paper);border:1px solid var(--line-strong);border-radius:6px;text-decoration:none;color:var(--ink-900)}
  .home-mobile-google__mark{font-family:Arial,sans-serif;font-size:2rem;font-weight:800;color:var(--focus)}
  .home-mobile-google strong{font-size:.9rem}
  .home-mobile-google span:last-child{font-size:.8rem;color:var(--text-body)}
  .home-mobile-closing{display:block;padding:44px 0 48px;background:var(--ink-900);text-align:center;color:var(--paper)}
  .home-mobile-closing .eyebrow{color:var(--brand);font-size:.7rem;letter-spacing:.15em}
  .home-mobile-closing h2{color:var(--paper);font-size:1.75rem;line-height:1.13;max-width:16ch;margin:12px auto 15px}
  .home-mobile-closing p:not(.eyebrow){font-size:.94rem;line-height:1.5;max-width:32ch;margin:0 auto 20px}
  .home-mobile-closing .btn{min-height:50px;justify-content:center;background:var(--paper);color:var(--ink-900);font-size:.9rem}

  .home-mobile-dock{position:fixed;z-index:105;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;min-height:68px;padding:5px 5px calc(5px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line-strong);box-shadow:0 -2px 9px rgba(4,16,28,.09)}
  .home-mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:56px;color:var(--ink-900);font-size:.69rem;text-decoration:none;line-height:1.2;border-radius:5px}
  .home-mobile-dock svg{width:21px;height:21px}
  .home-mobile-dock .home-mobile-dock__call{background:var(--brand);font-weight:750}
  .service-hub .site-footer{padding-bottom:0}
}

@media(max-width:360px){
  .home-masthead__grid{min-height:575px}
  .home-masthead h1{font-size:1.8rem}
  .home-masthead__lead{font-size:.88rem}
  .home-mobile-dock a{font-size:.62rem}
  .home-mobile-dock svg{width:19px;height:19px}
}

@media(min-width:600px) and (max-width:760px){
  .service-hub .home-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(prefers-reduced-motion:reduce){
  .service-hub .home-cards,.service-hub .home-shortcuts{scroll-behavior:auto!important}
}
