/* =========================================================
   V82 — Technical SEO / mobile hardening
   Isolated safeguards only. Existing design language is preserved.
   ========================================================= */

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

img,video,canvas,svg{
  max-width:100%;
}

iframe{
  max-width:100%;
}

input,select,textarea,button{
  max-width:100%;
  min-width:0;
}

:where(a,button,input,select,textarea,summary){
  touch-action:manipulation;
}

:where(a,button,input,select,textarea,summary):focus-visible{
  outline:2px solid var(--accent,#a7967d);
  outline-offset:3px;
}

:where(
  main,
  section,
  .container,
  .header-inner,
  .hero-grid,
  .editorial-head,
  .property-showcase,
  .agent-grid,
  .gallery-layout,
  .footer-grid,
  .shg-editorial-page-hero-grid,
  .contact-main-grid,
  .contact-market-band-grid,
  .team-v16-lead-grid,
  .team-v16-section-head,
  .shg-legal-layout
)>*{
  min-width:0;
}

@media(max-width:820px){
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea{
    font-size:16px;
  }
}

@media(max-width:480px){
  .hero-title{
    font-size:clamp(42px,14.6vw,52px)!important;
    line-height:.92!important;
    letter-spacing:-.045em!important;
  }

  .hero-intro{
    max-width:100%!important;
  }

  .footer-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }

  .footer-grid>div:first-child{
    grid-column:auto!important;
  }

  .footer-tag{
    font-size:30px!important;
    line-height:1!important;
  }

  .footer-bottom{
    gap:14px!important;
  }

  .journey{
    padding-left:22px!important;
    padding-right:22px!important;
  }

  .testimonial-grid blockquote{
    font-size:30px!important;
  }

  .contact-form-card-v18{
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .contact-direct-list a{
    column-gap:12px!important;
  }

  .btn,
  .btn-large,
  .contact-submit-v18{
    max-width:100%;
  }

  .detail-gallery{
    grid-template-rows:320px 180px 180px!important;
  }

  .feature-list{
    grid-template-columns:1fr!important;
  }

  .shg-legal-article,
  .shg-legal-editor-content{
    overflow-wrap:anywhere;
  }
}

@media(max-width:360px){
  .hero-title{
    font-size:44px!important;
  }

  .hero-grid{
    padding-left:4px;
    padding-right:4px;
  }

  .footer-tag{
    font-size:27px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto!important;
  }

  *,*:before,*:after{
    scroll-behavior:auto!important;
  }
}
