/* V65 — Mobile home cleanup. Scoped to homepage components only.
 * Resolves legacy fixed hero heights, improves text contrast,
 * hides the redundant about CTA, and makes map and services compact. */
@media (max-width: 900px) {
  /* Content-driven slideshow height; old styles forced 690–850px. */
  body.cms-theme .hero-slider-v19 {
    position:relative;
    height:auto!important;
    min-height:0!important;
    overflow:hidden;
    isolation:isolate;
    background:#e7f5fd;
  }
  body.cms-theme .hero-slider-v19 .hero-slide {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden;
  }
  body.cms-theme .hero-slider-v19 .hero-slide.active {
    position:relative!important;
    height:auto!important;
    min-height:0!important;
  }
  body.cms-theme .hero-slider-v19 .hero-content {
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    width:calc(100% - 32px);
    padding:27px 0 78px!important;
    align-items:flex-start!important;
    z-index:3;
  }
  body.cms-theme .hero-slider-v19 .hero-backdrop {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }
  body.cms-theme .hero-slider-v19 .hero-static-bg {
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    opacity:.65;
    filter:saturate(.82) brightness(1.12)!important;
  }
  body.cms-theme .hero-slider-v19 .hero-glow {
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    background:linear-gradient(180deg,
      rgba(246,252,255,.95) 0%,
      rgba(238,249,255,.92) 38%,
      rgba(232,246,254,.90) 72%,
      rgba(238,249,255,.97) 100%)!important;
    pointer-events:none;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 {
    display:block;
    width:100%!important;
    max-width:660px!important;
    margin:0!important;
    padding:0!important;
    background:none!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    text-align:left;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 .eyebrow {
    font-size:10px!important;
    font-weight:850!important;
    letter-spacing:.14em!important;
    color:#086b9e!important;
    text-shadow:none!important;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 h1 {
    font-size:clamp(27px,4.9vw,37px)!important;
    line-height:1.15!important;
    letter-spacing:-.036em!important;
    color:#092d50!important;
    text-shadow:none!important;
    overflow-wrap:normal;
    word-break:normal;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 h1 span {
    color:#087ab8!important;
    -webkit-text-fill-color:#087ab8!important;
    text-shadow:none!important;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 p {
    margin-top:10px!important;
    max-width:570px!important;
    font-size:13px!important;
    line-height:1.58!important;
    font-weight:575!important;
    color:#244861!important;
    text-shadow:none!important;
  }
  body.cms-theme .hero-slider-v19 .hero-actions {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:18px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-actions .btn {
    min-width:0;
    width:100%!important;
    min-height:42px!important;
    padding:10px 12px!important;
    border-radius:11px!important;
    font-size:12px!important;
    line-height:1.25!important;
    font-weight:750!important;
    box-shadow:0 5px 12px rgba(13,91,137,.08)!important;
  }
  body.cms-theme .hero-slider-v19 .hero-actions .btn-outline {
    background:rgba(255,255,255,.96)!important;
    color:#123b5b!important;
    -webkit-text-fill-color:#123b5b!important;
    border-color:#a9d0e4!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19 {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    max-width:none!important;
    margin-top:15px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19>div {
    display:flex!important;
    align-items:center!important;
    min-width:0;
    min-height:60px!important;
    padding:8px!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.94)!important;
    border:1px solid #b6dfee!important;
    box-shadow:0 4px 12px rgba(22,80,115,.04)!important;
    gap:8px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19 .feature-icon {
    display:grid;place-items:center;
    flex:0 0 30px!important;
    width:30px!important;height:30px!important;
    background:#eaf7ff!important;
    border:1px solid #b8dfee!important;
    box-shadow:none!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19 .feature-icon svg {
    width:17px!important;height:17px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19 b {
    font-size:10px!important;
    line-height:1.35!important;
    color:#123650!important;
    text-shadow:none!important;
  }
  body.cms-theme .hero-slider-v19 .hero-right-caption{display:none!important}
  body.cms-theme .hero-slider-v19 .slider-arrow {
    top:auto!important;
    bottom:14px!important;
    transform:none!important;
    width:34px!important;height:34px!important;
    background:rgba(255,255,255,.95)!important;
    box-shadow:0 4px 12px #123d6017!important;
  }
  body.cms-theme .hero-slider-v19 .slider-arrow:hover {
    transform:none!important;
  }
  body.cms-theme .hero-slider-v19 .slider-prev{left:16px!important}
  body.cms-theme .hero-slider-v19 .slider-next{right:16px!important}
  body.cms-theme .hero-slider-v19 .slider-dots-v19 {
    left:50%!important;
    right:auto!important;
    bottom:20px!important;
    transform:translateX(-50%)!important;
  }
  /* About: mobile CTA is intentionally omitted as requested. */
  body.cms-theme .why-us .why-actions {display:none!important}
  /* Tighten the architecture section without changing its links. */
  body.cms-theme .map-shell {padding:22px 16px!important;border-radius:19px!important}
  body.cms-theme .map-head{gap:15px!important}
  body.cms-theme .map-head h2{font-size:clamp(25px,4.4vw,31px)!important;line-height:1.15!important}
  body.cms-theme .map-intro{gap:10px!important}
  body.cms-theme .map-intro .map-cta.btn {
    flex:0 0 auto!important;
    width:max-content!important;
    max-width:100%!important;
    min-height:38px!important;
    height:auto!important;
    padding:8px 14px!important;
    border-radius:10px!important;
    font-size:11.5px!important;
    line-height:1.3!important;
    box-shadow:none!important;
  }
  body.cms-theme .map-stage{gap:11px!important;padding:0!important;margin-top:16px!important}
  body.cms-theme .map-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:13px 9px!important;
    border-radius:13px!important;
    min-height:101px!important;
    box-shadow:0 5px 16px rgba(14,67,108,.04)!important;
  }
  body.cms-theme .map-card .map-icon {
    width:29px!important;height:29px!important;
    margin:0 auto 8px!important;
  }
  body.cms-theme .map-card .map-icon svg,
  body.cms-theme .map-card .map-icon img {
    width:28px!important;height:28px!important;
  }
  body.cms-theme .map-card h3 {font-size:12px!important;line-height:1.22!important}
  body.cms-theme .map-card p {font-size:9.7px!important;line-height:1.36!important;margin-top:5px!important}
  /* Service overview: no fixed tall mobile cards. */
  body.cms-theme .services-side-card{min-height:235px!important}
  body.cms-theme .services-wrap{gap:15px!important}
  body.cms-theme .services-card-grid{gap:11px!important}
  body.cms-theme .service-tile{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:5px 12px!important;
    align-content:start;
    min-height:0!important;
    padding:16px!important;
    border-radius:16px!important;
    box-shadow:0 5px 16px rgba(14,67,108,.035)!important;
  }
  body.cms-theme .service-tile .service-icon {
    grid-column:1;grid-row:1 / span 3;
    width:40px!important;height:40px!important;
    margin:0!important;border-radius:11px!important;
  }
  body.cms-theme .service-tile .service-icon svg {width:22px!important;height:22px!important}
  body.cms-theme .service-tile h3 {
    grid-column:2;grid-row:1;
    font-size:15.5px!important;
    line-height:1.3!important;
    min-height:0!important;
    margin:0!important;
  }
  body.cms-theme .service-tile p {
    grid-column:2;grid-row:2;
    margin:3px 0 0!important;
    font-size:12.1px!important;
    line-height:1.5!important;
    color:#546f86!important;
    flex:none!important;
  }
  body.cms-theme .service-tile a {
    grid-column:2;grid-row:3;
    margin:5px 0 0!important;
    font-size:11.8px!important;
    line-height:1.35!important;
  }
}

@media (max-width: 600px){
  body.cms-theme .hero-slider-v19 .hero-content {
    width:calc(100% - 28px);
    padding-top:23px!important;
    padding-bottom:72px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 h1 {
    font-size:clamp(26px,7vw,31px)!important;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 p {
    font-size:12.6px!important;
    line-height:1.54!important;
  }
  body.cms-theme .hero-slider-v19 .hero-actions {
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:14px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-actions .btn {
    min-height:39px!important;
    padding:9px 12px!important;
    font-size:12px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19 {
    grid-template-columns:1fr!important;
    gap:6px!important;
    margin-top:13px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19>div {
    min-height:42px!important;
    padding:6px 9px!important;
    border-radius:10px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19 .feature-icon {
    width:29px!important;height:29px!important;flex-basis:29px!important;
  }
  body.cms-theme .hero-slider-v19 .hero-features-v19 b {font-size:10.2px!important}
  body.cms-theme .map-stage{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.cms-theme .map-card:last-child:nth-child(odd){grid-column:1/-1;width:min(100%,172px);justify-self:center}
  body.cms-theme .services-card-grid{grid-template-columns:1fr!important}
  body.cms-theme .services-side-card{
    min-height:215px!important;
    padding:22px 17px!important;
    border-radius:18px!important;
  }
  body.cms-theme .services-side-content h2 {font-size:24px!important;line-height:1.12!important}
  body.cms-theme .services-side-content p {font-size:12px!important;line-height:1.5!important;margin-top:9px!important}
  body.cms-theme .services-side-content .btn {margin-top:15px!important}
}
@media (max-width:360px){
  body.cms-theme .hero-slider-v19 .hero-copy-v19 h1{font-size:25px!important}
  body.cms-theme .hero-slider-v19 .hero-copy-v19 p{font-size:12px!important}
}
@media (prefers-reduced-motion:reduce){
  body.cms-theme .hero-slider-v19 .hero-slide,
  body.cms-theme .hero-slider-v19 .hero-static-bg,
  body.cms-theme .hero-slider-v19 .hero-copy-v19{transition:none!important;animation:none!important}
}

/* On small screens crossfading the entire slides makes two headings overlap.
   Switch slides immediately; image movement remains disabled. */
@media (max-width:900px){
  body.cms-theme .hero-slider-v19 .hero-slide,
  body.cms-theme .hero-slider-v19 .hero-static-bg,
  body.cms-theme .hero-slider-v19 .hero-copy-v19 {
    transition:none!important;
    animation:none!important;
    will-change:auto!important;
  }
  body.cms-theme .hero-slider-v19 .hero-copy-v19 {
    opacity:1!important;
    transform:none!important;
  }
}
