/* Real-device mobile rhythm. Loaded last on core LM Space pages. */
.brief-handoff{margin:10px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:17px;background:rgba(216,181,106,.045);display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr)) auto;gap:9px;align-items:center;color:var(--muted);font-size:11px;line-height:1.45}
.brief-handoff strong{color:var(--text)}
.brief-handoff span{min-width:0}
.brief-handoff a{color:var(--gold-2);font-weight:800;text-decoration:none;white-space:nowrap}
.brief-handoff a:hover{text-decoration:underline}
html[data-theme="light"] .brief-handoff{background:rgba(142,96,22,.04);border-color:rgba(91,61,17,.12)}
html[data-theme="light"] .brief-handoff strong{color:#261d12}

/* Decorative route orbit must stay out of flex layout. A generic z-index rule in experience.css
   intentionally raises card children, but must not turn this absolute decoration into a flex item. */
.route-card>.route-orbit{position:absolute!important}

@media(max-width:980px){
  body{padding-bottom:0!important}
  .site-header{position:relative!important;top:auto!important;margin-top:calc(9px + env(safe-area-inset-top))!important}
  .page-main{padding-top:18px!important;padding-bottom:0!important}
  .page-hero{padding-top:26px!important;padding-bottom:14px!important}
  .hero{padding-top:22px!important;padding-bottom:26px!important}
  .hero-note{display:flex!important;justify-content:flex-start!important;flex-wrap:wrap!important;white-space:normal!important;gap:7px!important;margin-top:16px!important}
  .hero-note span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(216,181,106,.045);font-size:10px;line-height:1}
  .content-section{padding-top:8px!important;padding-bottom:30px!important}
  .quick-contact{margin-top:0!important;margin-bottom:18px!important}
  .site-footer{margin-top:0!important;padding-top:16px!important;padding-bottom:calc(90px + env(safe-area-inset-bottom))!important;gap:8px!important}
  .footer-links{display:none!important}
  .footer-copy{text-align:left!important}
  .contact-service-grid{margin-bottom:14px!important}
  .brief-builder{margin-top:0!important}
  .brief-handoff{grid-template-columns:1fr;gap:4px}
}

@media(max-width:640px){
  .site-header{min-height:58px!important;margin-top:calc(7px + env(safe-area-inset-top))!important}
  .header-cta span{display:inline!important}
  .page-main{padding-top:12px!important}
  .page-hero{padding-top:18px!important;padding-bottom:12px!important}
  .hero{padding-top:14px!important;padding-bottom:22px!important;gap:16px!important}
  .hero h1,.page-hero h1{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  .hero-note{justify-content:flex-start!important;margin-top:14px!important}
  .hero-note span{font-size:9.2px!important;padding:6px 8px}

  .home-routes{padding-top:0!important;padding-bottom:28px!important}
  .section-title{margin-bottom:12px!important}
  .section-title h2{font-size:30px!important;line-height:1.07!important}
  .section-title p{margin-top:8px!important}
  .route-grid{gap:9px!important}

  .content-section{padding-top:4px!important;padding-bottom:22px!important}
  .quick-contact{padding:18px!important;margin-bottom:16px!important;border-radius:22px!important}
  .site-footer{padding-top:15px!important}
  .footer-brand .brand-mark{width:30px;height:30px}
  .mobile-dock{bottom:max(7px,env(safe-area-inset-bottom))!important}

  .contact-service-grid{gap:8px!important;margin-bottom:12px!important}
  .service-contact{min-height:96px!important;padding:14px!important}
  .brief-builder{padding:17px!important;border-radius:21px!important}
  .brief-builder-head{margin-bottom:14px!important}
  .brief-step{padding:14px!important}
  .brief-handoff{margin-top:8px;padding:12px 13px;border-radius:14px;font-size:10.2px}
  .brief-result{margin-top:8px!important}
  .brief-result-head{display:grid!important;grid-template-columns:1fr auto!important}
  .brief-result-head strong{overflow-wrap:normal;word-break:normal}
}

@media(max-width:380px){
  .header-cta{padding-inline:9px!important;font-size:9px!important}
  .brand{letter-spacing:.13em!important}
}

html[data-theme="light"] .hero-note span{background:rgba(142,96,22,.045);border-color:rgba(91,61,17,.12)}
