/* SOSEDI360 mobile readability repair v11.4.10; isolated until owner release */
@media (max-width:700px) {
  html{scroll-padding-top:86px}
  body>header.site-header,.site-header{min-height:88px!important}
  .site-header .nav{min-height:88px!important;padding-top:6px!important;padding-bottom:6px!important;gap:8px!important}
  body>header .brand,.site-header .brand,header.site-header .brand {
    flex:0 1 242px!important;width:242px!important;max-width:calc(100vw - 100px)!important;
    min-height:61px!important;height:61px!important;background-position:left center!important;
  }
  .site-header .menu-toggle{width:50px!important;height:50px!important;min-width:50px!important;padding:7px!important;border-radius:13px!important;font-size:23px!important}
  .site-header .menu{top:88px!important}
  /* Avoid 6+ lines of 45px headlines on 320px devices. */
  main .page-hero h1,main .hero h1,main .about-copy h1,main .hero-v109 h1,
  main .hero109-copy h1,main h1.section-title{
    font-size:clamp(27px,7.35vw,33px)!important;
    line-height:1.14!important;letter-spacing:-.025em!important;
    font-weight:700!important;max-width:100%!important;overflow-wrap:break-word;
  }
  main .page-hero{padding-top:24px!important;padding-bottom:23px!important}
  main .page-hero .breadcrumbs{margin-bottom:15px!important;font-size:11px!important;line-height:1.6}
  main .page-hero .eyebrow{margin-bottom:11px!important}
  main .page-hero .lead{font-size:15.5px!important;line-height:1.48!important;margin:13px 0 19px!important}
  main section:not(.page-hero):not(.hero){padding-top:39px;padding-bottom:39px}
  main .section-title,main section h2:not(.modal h2){
    font-size:clamp(23px,6.3vw,30px)!important;line-height:1.17!important;
    letter-spacing:-.025em!important;overflow-wrap:break-word;
  }
  main .formbox,main .formbox.s360-v10102-contact-card{
    width:100%!important;max-width:100%!important;min-width:0!important;
    padding:clamp(14px,4vw,22px)!important;border-radius:20px!important;
  }
  main section:has(> .wrap .formbox) > .wrap{
    width:calc(100% - 24px)!important;max-width:100%!important;
    margin-left:auto!important;margin-right:auto!important;
    padding-left:0!important;padding-right:0!important;
  }
  main .formbox h3{font-size:clamp(22px,6vw,27px)!important;line-height:1.18!important}
  main .form-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  main .field,main .field input,main .field select,main .field textarea{min-width:0!important;max-width:100%!important}
  main .formbox .field input,main .formbox .field textarea,main .formbox .field select{font-size:16px!important}
  .modal-card{max-width:calc(100vw - 20px)!important;padding:19px!important;max-height:calc(100dvh - 35px)!important}
  /* Bottom actions remain available on hero; never obscure a lead form while it is visible. */
  html.s360-form-near #s360-v10102-sticky-cta,
  html.s360-form-near .mobile-dock{display:none!important}
  body{padding-bottom:max(108px,env(safe-area-inset-bottom))!important}
}
@media(max-width:365px){
  main .page-hero h1,main .hero h1,main .about-copy h1,main .hero-v109 h1,
  main .hero109-copy h1{font-size:26px!important;line-height:1.18!important}
  main .page-hero .lead{font-size:14.5px!important}
  .site-header .brand{max-width:calc(100vw - 85px)!important}
  main .formbox{padding:14px!important}
}
/* Second-pass shared components discovered by Chrome:
   nested .wrap carries additional .s360-v10102-contact-card padding;
   About/Contacts use dedicated headings not .page-hero. */
@media(max-width:700px){
  html body main h1{
    font-size:clamp(27px,7.35vw,33px)!important;
    line-height:1.14!important;
    letter-spacing:-.025em!important;
    max-width:100%!important;overflow-wrap:break-word;
  }
  html body main section > .wrap.s360-v10102-contact-card{
    width:calc(100% - 24px)!important;
    padding-left:0!important;padding-right:0!important;
    max-width:100%!important;
  }
}
@media(max-width:365px){
 html body main h1{font-size:26px!important;line-height:1.18!important}
}
/* The estate contact section had its own 18px horizontal padding, on top of
   the nested wrapper, shrinking the form to 330px on a 390px device. */
@media(max-width:700px){
  html body main section.s360-v10102-contact-card:has(> .wrap .formbox){
    padding-left:0!important;padding-right:0!important;
  }
}
