/*
 * Bridgeco Production Theme v2.1
 * Dedicated responsive layer loaded after main.css.
 * Desktop design remains unchanged; tablet/mobile rules deliberately re-compose layouts.
 */

html, body { max-width: 100%; }
img, svg, video, iframe { max-width: 100%; }

/* Catch both narrow viewports and real touch devices that may report a wider CSS viewport. */
@media (max-width: 1024px), (hover: none) and (pointer: coarse) {
  html, body { overflow-x: hidden; }
  .shell,
  .planner-section > .compact-heading {
    width: min(calc(100% - 32px), var(--max)) !important;
    max-width: 100% !important;
  }
  .section { padding: 64px 0 !important; }

  /* Header + utility */
  .utility-inner { min-height: 34px; justify-content: center; }
  .utility-left { gap: 12px; width: 100%; justify-content: center; }
  .utility-left span, .utility-right { display: none !important; }
  .utility-left a { font-size: .7rem; white-space: nowrap; }
  .nav-shell { min-height: 72px; gap: 12px; }
  .brand { width: 172px !important; max-width: 48vw; }
  .desktop-nav { display: none !important; }
  .nav-actions { margin-left: auto; }
  .nav-actions .btn { display: none !important; }
  .menu-btn { display: block !important; flex: none; }

  /* Mobile drawer is a designed experience, not a desktop menu stack. */
  .mobile-menu {
    display: flex !important;
    inset: 0 !important;
    min-height: 100dvh;
    padding: 122px 20px 24px !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    background:
      radial-gradient(circle at 92% 12%, rgba(92,197,212,.18), transparent 26%),
      radial-gradient(circle at 8% 82%, rgba(18,117,188,.18), transparent 28%),
      linear-gradient(160deg, #041844 0%, #061f5c 52%, #0a4e78 100%) !important;
  }
  .mobile-menu:before {
    background-size: 38px 38px !important;
    opacity: .72;
  }
  .mobile-menu-list > li > a {
    padding: 13px 52px 13px 0 !important;
    font-size: clamp(1.35rem, 6.5vw, 2rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -.025em;
  }
  .mobile-menu-list .sub-menu {
    padding: 4px 0 14px 0 !important;
    gap: 7px !important;
  }
  .mobile-menu-list .sub-menu a {
    padding: 11px 13px !important;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.055) !important;
    color: #e6f4fb !important;
    font-size: .82rem !important;
  }
  .mobile-submenu-toggle {
    top: 9px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 12px !important;
  }
  .mobile-actions {
    margin-top: 28px !important;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.11);
  }
  .mobile-actions .btn { width: 100%; min-height: 50px; }

  /* Hero */
  .hero-slider { height: auto !important; min-height: 0 !important; }
  .hero-slide { position: relative !important; display: none !important; min-height: 590px !important; }
  .hero-slide.active { display: block !important; }
  .hero-layout {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    min-height: 590px !important;
    padding: 46px 0 42px !important;
    align-content: center;
  }
  .hero-copy { max-width: 680px; min-width: 0; }
  .hero-copy h1, .hero-copy h2 {
    font-size: clamp(2.45rem, 8vw, 4.25rem) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
  }
  .hero-copy p { max-width: 620px; font-size: .98rem !important; }
  .hero-card { max-width: 520px !important; padding: 20px !important; }
  .hero-controls { justify-content: center !important; height: 60px !important; }

  /* Proof + intro */
  .proof-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .proof-grid > *, .proof-item { min-width: 0; }
  .proof-grid div { padding: 22px 18px !important; }
  .proof-grid div:nth-child(2n) { border-right: 0 !important; }
  .proof-grid div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .intro-grid { grid-template-columns: 1fr !important; gap: 34px !important; }
  .intro-media { min-height: 440px !important; }
  .intro-copy, .intro-copy > * { min-width: 0; }
  .intro-points { grid-template-columns: 1fr 1fr !important; }

  /* Unified heading rhythm */
  .compact-heading,
  .planner-section > .compact-heading,
  .process-heading,
  .contact-heading {
    display: block !important;
    width: min(calc(100% - 32px), var(--max)) !important;
    margin: 0 auto 24px !important;
    text-align: left !important;
  }
  .compact-heading > div,
  .planner-section > .compact-heading > div,
  .process-heading > div,
  .contact-heading > div {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
  }
  .compact-heading .section-title,
  .planner-section > .compact-heading .section-title,
  .process-heading .section-title,
  .contact-heading .section-title {
    max-width: 760px !important;
    font-size: clamp(2rem, 6.1vw, 3rem) !important;
    line-height: 1.06 !important;
    text-align: left !important;
    text-wrap: pretty !important;
  }
  .compact-heading p,
  .planner-section > .compact-heading p,
  .process-heading p,
  .contact-heading p {
    max-width: 700px !important;
    margin: 11px 0 0 !important;
    font-size: .93rem !important;
    line-height: 1.6 !important;
    text-align: left !important;
  }
  .heading-link, .process-side-note {
    display: inline-flex !important;
    margin-top: 16px !important;
  }

  /* Services / finance */
  .service-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 14px !important; }
  .service-card, .service-card.featured { min-height: 0 !important; grid-row: auto !important; }
  .service-photo, .service-card.featured .service-photo { height: 230px !important; }
  .finance-grid, .finance-top { grid-template-columns: 1fr !important; }
  .finance-products { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .finance-products article { min-width: 0; }

  /* Planner: stack decisively on touch/mobile. */
  .planner-section { padding: 56px 0 60px !important; }
  .planner-shell {
    grid-template-columns: 1fr !important;
    max-width: min(calc(100% - 32px), 900px) !important;
    margin-inline: auto !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }
  .planner-form,
  .movement-summary,
  .movement-command {
    min-width: 0 !important;
    width: 100% !important;
  }
  .planner-form { padding: 26px !important; }
  .form-grid.four, .form-grid.two { grid-template-columns: 1fr 1fr !important; }
  .finance-toggle-row { gap: 16px !important; }
  .movement-command { min-height: 0 !important; padding: 24px !important; }
  .command-route-stage { height: 260px !important; }
  .command-telemetry { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .command-telemetry > div { min-width: 0; }
  .command-node strong { max-width: 118px !important; }
  .planner-disclaimer { font-size: .67rem !important; line-height: 1.55 !important; }

  /* Process / fleet / sectors */
  .process-track { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .fleet-stage-v2, .fleet-stage { grid-template-columns: 1fr !important; gap: 14px !important; }
  .fleet-profile-card, .tracking-card-v2, .tracking-card-v3 { min-height: 0 !important; }
  .fleet-truck-frame { min-height: 220px !important; }
  .tracking-command-map { height: 280px !important; }
  .tracking-telemetry { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .sector-grid { grid-template-columns: 1fr 1fr !important; }

  /* Partners + FAQ + contact */
  .partner-network-stage, .partner-client-grid { grid-template-columns: 1fr !important; }
  .partner-network-core { order: -1; }
  .partner-network-rail { display: none !important; }
  .network-tile-grid, .network-badges { grid-template-columns: 1fr 1fr !important; }
  .faq-grid { grid-template-columns: 1fr !important; gap: 30px !important; }
  .contact-layout-v2, .contact-form-band, .contact-grid { grid-template-columns: 1fr !important; }
  .contact-map-card { min-height: 360px !important; }
  .contact-map-card iframe { min-height: 320px !important; }
  .contact-form-band { padding: 18px !important; }
  .footer-grid { grid-template-columns: 1fr 1fr !important; }

  /* Plugin/internal page forms */
  .page-grid-2, .page-grid-3, .bc-form-grid { grid-template-columns: 1fr !important; }
  .bc-form-field.full { grid-column: auto !important; }
  .cta-band-inner { align-items: flex-start !important; flex-direction: column !important; }
}

@media (max-width: 700px), (hover: none) and (pointer: coarse) and (max-device-width: 900px) {
  .shell,
  .planner-section > .compact-heading { width: calc(100% - 28px) !important; }
  .section { padding: 52px 0 !important; }

  .utility-bar { font-size: .68rem; }
  .utility-left { justify-content: space-between; gap: 8px; }
  .utility-left a:nth-child(2) { display: none; }
  .nav-shell { min-height: 68px; }
  .brand { width: 154px !important; max-width: 58vw; }

  .mobile-menu { padding: 110px 18px 20px !important; }
  .mobile-menu-list > li > a { font-size: clamp(1.28rem, 7vw, 1.75rem) !important; }

  .hero-slide, .hero-layout { min-height: 555px !important; }
  .hero-layout { padding: 38px 0 34px !important; }
  .hero-copy h1, .hero-copy h2 { font-size: clamp(2.15rem, 10vw, 3.25rem) !important; }
  .hero-copy p { font-size: .9rem !important; line-height: 1.58; }
  .hero-card { display: none !important; }
  .hero-actions { display: grid !important; }
  .hero-actions .btn { width: 100%; }

  .proof-grid { grid-template-columns: 1fr 1fr !important; }
  .proof-grid b { font-size: 1.25rem !important; }
  .proof-grid span { font-size: .69rem !important; }
  .intro-media { min-height: 350px !important; }
  .intro-small { width: 45% !important; height: 38% !important; }
  .intro-points { grid-template-columns: 1fr !important; }

  .compact-heading .section-title,
  .planner-section > .compact-heading .section-title,
  .process-heading .section-title,
  .contact-heading .section-title {
    font-size: clamp(1.85rem, 9vw, 2.45rem) !important;
    letter-spacing: -.045em !important;
    max-width: 100% !important;
  }
  .compact-heading p,
  .planner-section > .compact-heading p,
  .process-heading p,
  .contact-heading p { font-size: .86rem !important; }

  .service-grid, .finance-products, .process-track, .sector-grid,
  .network-tile-grid, .network-badges { grid-template-columns: 1fr !important; }
  .service-photo, .service-card.featured .service-photo { height: 205px !important; }

  .planner-shell { max-width: calc(100% - 18px) !important; border-radius: 18px !important; }
  .planner-form, .movement-command { padding: 20px !important; }
  .form-topline { gap: 12px; align-items: flex-start; }
  .form-grid.four, .form-grid.two { grid-template-columns: 1fr !important; }
  .field input, .field select, .field textarea { font-size: 16px !important; } /* prevents iOS zoom */
  .finance-toggle-row { flex-direction: column !important; align-items: flex-start !important; }
  .switch { align-self: flex-start !important; }
  .planner-submit-row { display: grid !important; gap: 9px !important; }
  .planner-submit-row .btn { width: 100% !important; }
  .command-topbar { align-items: center !important; }
  .command-topbar strong { font-size: .95rem !important; }
  .command-route-stage { height: 220px !important; border-radius: 16px !important; }
  .command-node { min-width: 78px !important; padding: 7px 8px 7px 24px !important; }
  .command-node em { left: 8px !important; top: 12px !important; width: 7px !important; height: 7px !important; }
  .command-node span { font-size: .4rem !important; }
  .command-node strong { font-size: .53rem !important; max-width: 84px !important; }
  .command-node.node-origin { left: 2% !important; bottom: 5% !important; }
  .command-node.node-transit { left: 37% !important; top: 35% !important; }
  .command-node.node-destination { right: 2% !important; top: 5% !important; }
  .command-vehicle { width: 46px !important; height: 46px !important; }
  .command-vehicle small { top: 54px !important; font-size: .4rem !important; }
  .command-telemetry { grid-template-columns: 1fr !important; }
  .command-empty { align-items: flex-start !important; }

  .fleet-truck-frame { min-height: 175px !important; padding: 12px !important; }
  .fleet-truck-frame img { max-height: 175px !important; }
  .tracking-command-map { height: 235px !important; }
  .tracking-telemetry { grid-template-columns: 1fr !important; }
  .track-city { min-width: 74px !important; padding: 7px 7px 7px 24px !important; }
  .track-city b { font-size: .52rem !important; }
  .track-city small { font-size: .38rem !important; }

  .partner-network-stage { padding: 14px !important; border-radius: 20px !important; }
  .partner-core-mark { width: 86px !important; height: 86px !important; }
  .partner-core-mark img { width: 58px !important; }
  .network-tile { min-height: 0 !important; }

  .contact-brand { flex-direction: column !important; align-items: flex-start !important; }
  .contact-brand img { width: 180px !important; }
  .contact-detail-grid { grid-template-columns: 1fr !important; }
  .contact-buttons { display: grid !important; }
  .contact-buttons .btn { width: 100% !important; }
  .contact-map-card { min-height: 330px !important; }
  .contact-map-card iframe { min-height: 280px !important; }
  .map-caption { align-items: flex-start !important; flex-direction: column !important; }
  .contact-form-band { padding: 14px !important; gap: 18px !important; }

  .footer-grid { grid-template-columns: 1fr !important; }
  .footer-bottom { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
  .float-actions { right: 12px !important; bottom: 12px !important; }
  .float-btn { width: 46px !important; height: 46px !important; }

  .page-hero { padding: 72px 0 50px !important; }
  .page-hero h1 { font-size: clamp(2.2rem, 11vw, 3.25rem) !important; }
  .page-hero-actions, .bc-form-actions { display: grid !important; width: 100%; }
  .page-hero-actions .btn, .bc-form-actions .btn { width: 100% !important; }
  .bc-form-card { padding: 17px !important; }
}

@media (max-width: 390px) {
  .shell,
  .planner-section > .compact-heading { width: calc(100% - 22px) !important; }
  .brand { width: 142px !important; }
  .hero-copy h1, .hero-copy h2 { font-size: 2.05rem !important; }
  .proof-grid { grid-template-columns: 1fr !important; }
  .proof-grid div { border-right: 0 !important; border-bottom: 1px solid var(--line) !important; }
  .planner-shell { max-width: calc(100% - 10px) !important; }
  .command-route-stage { height: 205px !important; }
  .command-node.node-transit { left: 32% !important; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-menu, .hero-slide, .command-scanline, .radar-sweep,
  .tracking-radar, .signal-ring { transition: none !important; animation: none !important; }
}

/* ===== Bridgeco v2.2: mobile motion, fixed navigation, branded drawer & footer ===== */
@media (max-width: 820px) {
  /* A true fixed mobile header: it stays visible throughout scrolling. */
  .utility-bar { display: none !important; }
  body { padding-top: 68px; }
  body.admin-bar { padding-top: 114px; }
  .site-header,
  body.admin-bar .site-header {
    position: fixed !important;
    left: 0; right: 0;
    top: 0 !important;
    z-index: 420 !important;
    background: rgba(255,255,255,.965) !important;
    border-bottom: 1px solid rgba(207,222,238,.86);
    box-shadow: 0 8px 24px rgba(3,27,70,.07);
    backdrop-filter: blur(16px);
  }
  body.admin-bar .site-header { top: 46px !important; }
  .nav-shell { min-height: 68px !important; }
  .site-header.scrolled { box-shadow: 0 14px 34px rgba(3,27,70,.13) !important; }
  .menu-btn { position: relative; z-index: 2; background: #f7fbff !important; }
  .menu-btn.active { background: #061f5c !important; border-color: #061f5c !important; }
  .menu-btn.active span { background: #fff !important; }

  /* Keep the hero as a real layered slider on mobile so crossfade/zoom survives. */
  .hero-slider { position: relative !important; height: 590px !important; min-height: 590px !important; }
  .hero-slide {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    min-height: 590px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: scale(1.018) !important;
    transition: opacity .72s var(--ease), transform .9s var(--ease) !important;
  }
  .hero-slide.active { opacity: 1 !important; pointer-events: auto !important; transform: scale(1) !important; }
  .hero-slide:before {
    transform: translate3d(0,var(--bc-mobile-hero-shift,0px),0) scale(1.07);
    transition: transform 6.6s ease-out !important;
  }
  .hero-slide.active:before { transform: translate3d(0,var(--bc-mobile-hero-shift,0px),0) scale(1.015); }
  .hero-layout { height: 590px !important; min-height: 590px !important; }

  /* Stronger mobile scroll choreography. */
  .bc-mobile-motion-ready .reveal,
  .bc-mobile-motion-ready .reveal-card,
  .bc-mobile-motion-ready .reveal-image,
  .bc-mobile-motion-ready .reveal-stagger > * {
    opacity: 0;
    transform: translate3d(0,38px,0) scale(.982);
    filter: blur(2.5px);
    will-change: opacity,transform,filter;
  }
  .bc-mobile-motion-ready .reveal-image {
    transform: translate3d(0,30px,0) scale(1.035);
    clip-path: inset(10% 0 0 0 round 18px);
  }
  .bc-mobile-motion-ready .is-visible.reveal,
  .bc-mobile-motion-ready .is-visible.reveal-card,
  .bc-mobile-motion-ready .is-visible.reveal-image,
  .bc-mobile-motion-ready .reveal-stagger.is-visible > * {
    opacity: 1;
    transform: translate3d(0,0,0) scale(1);
    filter: blur(0);
    clip-path: inset(0 round 0);
    transition: opacity .72s var(--ease), transform .82s var(--ease), filter .65s ease, clip-path .86s var(--ease) !important;
  }
  .bc-mobile-motion-ready .reveal-stagger.is-visible > *:nth-child(2){transition-delay:.08s!important}
  .bc-mobile-motion-ready .reveal-stagger.is-visible > *:nth-child(3){transition-delay:.16s!important}
  .bc-mobile-motion-ready .reveal-stagger.is-visible > *:nth-child(4){transition-delay:.24s!important}
  .bc-mobile-motion-ready .reveal-stagger.is-visible > *:nth-child(5){transition-delay:.32s!important}
  .bc-mobile-section { position: relative; }
  .bc-mobile-section:after {
    content:""; position:absolute; z-index:3; left:14px; top:0;
    width:0; height:2px; border-radius:999px;
    background:linear-gradient(90deg,var(--cyan),var(--blue));
    opacity:.82; transition:width .9s var(--ease) .12s;
    pointer-events:none;
  }
  .bc-mobile-section.bc-mobile-section-visible:after { width:72px; }

  /* Branded mobile drawer with its own identity and explicit close control. */
  .mobile-menu {
    z-index: 410 !important;
    top: 0 !important;
    padding: 82px 18px 24px !important;
    background:
      radial-gradient(circle at 88% 10%, rgba(92,197,212,.22), transparent 25%),
      radial-gradient(circle at 8% 82%, rgba(18,117,188,.20), transparent 28%),
      linear-gradient(155deg,#031333 0%,#061f5c 50%,#075b82 100%) !important;
  }
  body.admin-bar .mobile-menu { top:46px !important; min-height:calc(100dvh - 46px); }
  .mobile-menu-head {
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    position:sticky; top:0; z-index:5;
    padding:4px 0 14px;
    background:linear-gradient(180deg,rgba(4,22,62,.97) 58%,rgba(4,22,62,0));
  }
  .mobile-menu-brand { display:flex; align-items:center; gap:12px; min-width:0; }
  .mobile-menu-brand img { width:148px; max-width:48vw; height:auto; filter:brightness(0) invert(1); }
  .mobile-menu-brand span { display:none; color:#9fc8dc; font:800 .53rem 'Plus Jakarta Sans'; letter-spacing:.1em; text-transform:uppercase; }
  .mobile-menu-close {
    display:inline-flex; align-items:center; gap:8px; min-height:42px;
    padding:0 10px 0 13px; border-radius:999px;
    border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.075); color:#fff;
    font:800 .68rem 'Plus Jakarta Sans'; letter-spacing:.04em;
  }
  .mobile-menu-close i { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:rgba(255,255,255,.12); font:400 1.18rem/1 sans-serif; font-style:normal; }
  .mobile-menu-rule { height:1px; background:rgba(255,255,255,.11); margin-bottom:12px; position:relative; overflow:hidden; }
  .mobile-menu-rule span { display:block; width:36%; height:100%; background:linear-gradient(90deg,var(--cyan-2),transparent); animation:bcMenuRule 2.8s ease-in-out infinite alternate; }
  @keyframes bcMenuRule { to { transform:translateX(180%); } }
  .mobile-menu nav { flex:none; }
  .mobile-menu-list > li > a { border-bottom:0 !important; }
  .mobile-menu-list > li { border-bottom:1px solid rgba(255,255,255,.1) !important; }
  .mobile-actions { margin-top:24px !important; }
  .mobile-menu-contact { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:16px; padding-top:16px; border-top:1px solid rgba(255,255,255,.1); }
  .mobile-menu-contact a { color:#afd0e3; font-size:.72rem; font-weight:700; }

  /* Footer: compact, legible and intentionally composed on mobile. */
  .site-footer { position:relative; overflow:hidden; padding-top:0 !important; background:linear-gradient(155deg,#02102d,#041a46 62%,#062c56) !important; }
  .site-footer:before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px); background-size:42px 42px; pointer-events:none; }
  .site-footer > * { position:relative; z-index:2; }
  .footer-cta {
    margin-top:24px; margin-bottom:30px; padding:22px !important;
    display:grid; grid-template-columns:1fr; gap:18px;
    border:1px solid rgba(255,255,255,.1); border-radius:22px;
    background:linear-gradient(135deg,rgba(19,157,183,.15),rgba(255,255,255,.045));
    box-shadow:0 22px 50px rgba(0,0,0,.13);
  }
  .footer-cta-copy > span { color:#8ee9f2; font:800 .61rem 'Plus Jakarta Sans'; letter-spacing:.13em; text-transform:uppercase; }
  .footer-cta h2 { margin-top:7px; color:#fff; font:800 clamp(1.42rem,7vw,2rem)/1.08 'Plus Jakarta Sans'; letter-spacing:-.035em; }
  .footer-cta p { margin-top:9px; color:#9fb9d0; font-size:.78rem; }
  .footer-cta-actions { display:grid; gap:9px; }
  .footer-cta-actions .btn { width:100%; }
  .footer-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:26px 18px !important; padding-bottom:28px !important; }
  .footer-brand { grid-column:1/-1; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.09); }
  .footer-logo img { width:200px !important; max-width:68vw; filter:brightness(0) invert(1); }
  .footer-brand p { max-width:520px; margin-top:12px; color:#9fb5ca; }
  .footer-contact-mini { display:flex; flex-wrap:wrap; gap:7px 14px; margin-top:12px; }
  .footer-contact-mini a { padding:0 !important; color:#d6e5f3 !important; font-size:.72rem !important; font-weight:700; }
  .footer-col h3 { margin-bottom:10px !important; }
  .footer-col a,.footer-col span { line-height:1.5; }
  .footer-contact { grid-column:1/-1; padding-top:4px; }
  .footer-wa-link { display:inline-flex !important; margin-top:8px; color:#79e6ce !important; font-weight:800 !important; }
  .footer-disclosure { margin-top:0; padding:16px 0 !important; }
  .footer-bottom { padding:18px 0 24px !important; }
  .footer-bottom > div { display:flex; flex-wrap:wrap; gap:8px 15px; }
  .footer-bottom a { margin:0 !important; }
}

@media (max-width: 520px) {
  .mobile-menu-brand img { width:138px; }
  .footer-grid { grid-template-columns:1fr !important; gap:22px !important; }
  .footer-brand,.footer-contact { grid-column:auto; }
  .footer-col { padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.075); }
  .footer-contact { border-bottom:0; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-menu-rule span { animation:none !important; }
  .bc-mobile-section:after { transition:none !important; }
}
