/* Mobile homepage revision. No rules apply above 640px. Existing styles,
   templates, images, links and desktop layout remain the source of truth. */
@media screen and (max-width:640px) {
  body.hh2 main .wrap, body.hh2 footer > .wrap { padding-inline:18px; }
  body.hh2 .header-inner { padding:12px 8px; gap:8px; }
  body.hh2 .brand-logo-img { --logo-w:118px; }
  body.hh2 .hero { padding-top:22px; }
  body.hh2 .hero > .wrap { padding-inline:18px; }
  body.hh2 .hero-grid { gap:0; }
  body.hh2 .hero-left3d { padding-left:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px 12px; align-items:center; }
  body.hh2 .hero-left3d h1 { grid-column:1; grid-row:1; margin:0; width:auto; --hl-x:clamp(1.7rem,7.5vw,3rem); }
  body.hh2 .hero-left3d .hero-orbit-slot { grid-column:2; grid-row:1; margin:0; }
  body.hh2 .hero-left3d .hero-orbit { max-width:100%; margin:0; }
  body.hh2 .hero-left3d .lede-sm { grid-column:1 / -1; grid-row:2; margin:0; font-size:1rem; line-height:1.5; max-width:none; }
  body.hh2 .hero-left3d .btn-row { grid-column:1 / -1; grid-row:3; margin:0; height:auto; }
  body.hh2 .hero-left3d .hl-svc { display:flex; flex-direction:row; align-items:center; justify-content:center; gap:12px; width:100%; padding:10px 14px; margin:0; border:1px solid #e3d6cb; border-radius:10px; background:#fff8f1; }
  body.hh2 .hero-left3d .hl-svc-mark { height:44px; width:auto; flex-shrink:0; }
  body.hh2 .hero-left3d .hl-svc-mark svg { height:44px; width:auto; }
  body.hh2 .hero-left3d .hl-svc-label { font-size:1rem; white-space:normal; }
  body.hh2 .trust-cards { padding:22px 0 0; }
  body.hh2 .trust-cards .tc-grid { grid-template-columns:1fr; gap:10px; }
  body.hh2 .trust-cards .tc-card { display:grid; grid-template-columns:88px minmax(0,1fr); border-radius:10px; box-shadow:0 2px 8px #1714120d; align-items:stretch; }
  body.hh2 .trust-cards .tc-media { align-self:stretch; }
  body.hh2 .trust-cards .tc-media img { width:88px; height:100%; min-height:94px; aspect-ratio:auto; object-fit:cover; }
  body.hh2 .trust-cards .tc-body { padding:12px; align-self:center; }
  body.hh2 .trust-cards .tc-rule { width:24px; height:3px; margin-bottom:6px; }
  body.hh2 .trust-cards .tc-title { font-size:1rem; margin-bottom:4px; }
  body.hh2 .trust-cards .tc-caption { font-size:.875rem; line-height:1.4; }
  body.hh2 .section, body.hh2 .directory-section, body.hh2 .why-section, body.hh2 .owner-section { padding:28px 0; }
  body.hh2 .eyebrow-rule { gap:10px; margin-bottom:10px; }
  body.hh2 .eyebrow-rule h2 { font-size:1.4rem; line-height:1.2; letter-spacing:.01em; }
  body.hh2 .eyebrow-rule .line { min-width:12px; }
  body.hh2 .section-sub { font-size:.875rem; line-height:1.45; letter-spacing:.04em; margin-bottom:18px; }
  body.hh2 .directory-grid { gap:10px; }
  body.hh2 .directory-group { border:1px solid var(--line); border-radius:10px; padding:0 14px; }
  body.hh2 .directory-group h3 { margin:0; border:0; padding:0; font-size:1rem; }
  body.hh2 .mobile-toggle { font:inherit; font-weight:700; color:inherit; background:none; border:0; padding:14px 0; min-height:48px; width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:left; cursor:pointer; }
  body.hh2 .mobile-toggle::after { content:'+'; font-family:Arial,sans-serif; font-size:1.4rem; font-weight:400; flex-shrink:0; }
  body.hh2 .mobile-toggle[aria-expanded="true"]::after { content:'−'; }
  body.hh2 .mobile-toggle:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
  body.hh2 .mobile-panel[hidden] { display:none !important; }
  body.hh2 .directory-list { padding-bottom:10px; }
  body.hh2 .directory-list li { font-size:1rem; line-height:1.5; padding-block:7px; }
  body.hh2 .svc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  body.hh2 .svc-photo { aspect-ratio:4/3; }
  body.hh2 .svc-body { padding:14px 10px; }
  body.hh2 .svc-body h3 { font-size:.9375rem; line-height:1.3; text-transform:none; letter-spacing:0; }
  body.hh2 .svc-body p { font-size:1rem; line-height:1.4; }
  body.hh2 .svc-more { font-size:.875rem; letter-spacing:0; margin-top:8px; }
  body.hh2 .svc-icon { width:30px; height:30px; bottom:6px; left:8px; transform:none; border-width:2px; }
  body.hh2 .svc-icon svg { width:15px; height:15px; }
  body.hh2 .hp-move { margin-top:22px; }
  body.hh2 .hp-move-cap { font-size:.875rem; line-height:1.45; margin-top:10px; }
  body.hh2 .why-section .hp-move-cap { color:#d7d3ce; }
  body.hh2 .why-grid { gap:18px; margin-top:20px; }
  body.hh2 .why-card { gap:12px; }
  body.hh2 .why-card h3 { font-size:1rem; line-height:1.3; }
  body.hh2 .why-card p { font-size:1rem; line-height:1.45; }
  body.hh2 .why-icon { width:40px; height:40px; flex-shrink:0; }
  body.hh2 .owner-card { padding:18px; gap:18px; }
  body.hh2 .owner-photo-col { display:grid; grid-template-columns:76px 1fr; gap:4px 14px; text-align:left; align-items:center; }
  body.hh2 .owner-photo-frame { width:76px; grid-row:1 / span 2; margin:0; aspect-ratio:1; }
  body.hh2 .owner-name { margin:0; font-size:1.125rem; align-self:end; }
  body.hh2 .owner-title { margin:0; padding:0; border:0; font-size:.75rem; letter-spacing:.02em; align-self:start; }
  body.hh2 .owner-copy p { font-size:1rem; line-height:1.5; }
  body.hh2 .owner-copy > .mobile-toggle { color:var(--red); border-top:1px solid var(--line); margin-top:12px; }
  body.hh2 .process-row { display:grid; grid-template-columns:1fr; gap:12px; margin-top:18px; }
  body.hh2 .process-step { display:grid; grid-template-columns:42px 1fr; gap:2px 12px; width:100%; text-align:left; align-items:center; }
  body.hh2 .process-icon { grid-row:1 / span 2; width:40px; height:40px; margin:0; }
  body.hh2 .process-step h3 { margin:0; font-size:1rem; text-transform:none; }
  body.hh2 .process-step p { margin:0; font-size:1rem; line-height:1.4; }
  body.hh2 .shop-grid { gap:14px; }
  body.hh2 .shop-photo img { min-height:0; height:auto; width:100%; aspect-ratio:16/9; object-fit:cover; }
  body.hh2 .shop-info-card { padding:18px; }
  body.hh2 .shop-info-line { font-size:1rem; }
  body.hh2 footer { padding-top:24px; }
  body.hh2 .footer-grid { gap:0; }
  body.hh2 .footer-brand { padding-bottom:18px; }
  body.hh2 .footer-brand p { font-size:1rem; line-height:1.5; }
  body.hh2 .footer-col { border-top:1px solid #ffffff30; padding:0; }
  body.hh2 .footer-col h4 { margin:0; font-size:1rem; letter-spacing:0; }
  body.hh2 .footer-col .mobile-panel { padding-bottom:14px; }
  body.hh2 .footer-col .mobile-panel a { min-height:44px; display:flex; align-items:center; margin:0; padding-block:8px; font-size:1rem; }
  body.hh2 .footer-col:last-child { padding-top:18px; margin-top:4px; }
  body.hh2 .footer-col:last-child h4 { margin-bottom:14px; }
  body.hh2 .footer-col p { font-size:1rem; line-height:1.5; }
  body.hh2 .footer-cta { padding-top:12px; }
  body.hh2 .ct-banner--footer { padding:18px 12px 12px; }
  body.hh2 .footer-bottom-inner { font-size:.875rem; line-height:1.5; }
}
