/* Brighton Flyway Transport — Areas mobile optimisation — 2026-09-15
   Refines the approved hero visual and prevents mobile overflow/clipping. */

html,
body.areas-page{
  max-width:100%;
  overflow-x:clip;
}

.areas-page main,
.areas-page .area-hero-polished,
.areas-page .area-hero-polished > div,
.areas-page .area-hero-polished .seo-photo,
.areas-page .area-proof-strip,
.areas-page .area-proof-strip > div{
  min-width:0;
}

/* Keep the headline fluid instead of forcing a desktop-sized 55px title onto phones. */
.areas-page .area-hero-polished h1{
  max-width:100%;
  text-wrap:balance;
  overflow-wrap:normal;
}

/* The approved image is a natural landscape crop. Use its intrinsic ratio at every width. */
.areas-page .area-hero-polished .seo-photo{
  max-width:100%;
  contain:layout paint;
}

.areas-page .area-hero-polished .seo-photo img{
  width:100%;
  height:auto!important;
  aspect-ratio:16 / 9;
  object-fit:cover;
  object-position:center 52%!important;
  transform:none;
  filter:saturate(.98) contrast(1.02);
}

.areas-page .area-hero-polished .seo-photo:hover img{
  transform:none;
}

.areas-page .area-hero-polished .seo-photo::after{
  inset:0 0 auto 0!important;
  width:100%;
  height:auto!important;
  aspect-ratio:16 / 9;
  background:linear-gradient(180deg,rgba(0,0,0,0) 58%,rgba(0,0,0,.08) 78%,rgba(0,0,0,.24) 100%);
}

.areas-page .area-hero-polished .seo-photo::before{
  inset:10px 10px auto 10px!important;
  width:auto!important;
  height:auto!important;
  aspect-ratio:16 / 9;
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:21px!important;
  box-shadow:none!important;
}

.areas-page .area-hero-polished .seo-photo-copy{
  padding:clamp(22px,3vw,27px);
}

.areas-page .area-hero-polished .seo-photo-copy strong{
  text-wrap:balance;
}

/* Better touch behaviour and predictable sizing. */
.areas-page .seo-actions .seo-btn{
  min-height:50px;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

@media(max-width:980px){
  .areas-page .area-hero-polished{
    gap:clamp(30px,6vw,42px)!important;
  }

  .areas-page .area-hero-polished .seo-photo{
    width:min(100%,680px);
    justify-self:center;
  }
}

@media(max-width:620px){
  .areas-page .area-hero-polished{
    padding-top:clamp(32px,9vw,44px)!important;
    padding-right:max(18px,env(safe-area-inset-right))!important;
    padding-bottom:44px!important;
    padding-left:max(18px,env(safe-area-inset-left))!important;
    gap:30px!important;
  }

  .areas-page .area-hero-polished h1{
    font-size:clamp(40px,12vw,50px)!important;
    line-height:.91!important;
    letter-spacing:-.062em!important;
    margin-bottom:20px!important;
  }

  .areas-page .area-hero-polished .seo-kicker{
    margin-bottom:14px;
    font-size:11px;
    letter-spacing:.2em;
  }

  .areas-page .area-hero-polished .seo-lead{
    max-width:none;
    margin-bottom:24px;
    font-size:clamp(15px,4.05vw,17px)!important;
    line-height:1.58;
  }

  .areas-page .area-hero-polished .seo-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px;
    width:100%;
  }

  .areas-page .area-hero-polished .seo-btn{
    width:100%;
    min-width:0;
    padding:13px 12px;
    font-size:clamp(12px,3.35vw,14px);
    line-height:1.15;
    white-space:nowrap;
  }

  .areas-page .area-hero-polished .seo-photo{
    width:100%;
    border-radius:22px!important;
    box-shadow:0 20px 48px rgba(38,28,20,.14),0 5px 16px rgba(38,28,20,.06)!important;
  }

  .areas-page .area-hero-polished .seo-photo::before{
    inset:8px 8px auto 8px!important;
    border-radius:15px!important;
  }

  .areas-page .area-hero-polished .seo-photo-copy{
    padding:21px 21px 24px!important;
  }

  .areas-page .area-hero-polished .seo-photo-copy strong{
    font-size:clamp(22px,6.2vw,25px)!important;
    line-height:1.04;
  }

  .areas-page .area-proof-strip{
    padding-left:max(18px,env(safe-area-inset-left))!important;
    padding-right:max(18px,env(safe-area-inset-right))!important;
    gap:10px;
  }

  .areas-page .area-proof-strip > div{
    width:100%;
    max-width:100%;
    padding:18px 20px;
    min-height:64px;
  }

  /* Keep the floating contact action from obscuring the proof cards on phones. */
  .areas-page .bft-whatsapp-float{
    right:max(12px,env(safe-area-inset-right))!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
  }
}

@media(max-width:520px){
  .areas-page .bft-whatsapp-float{
    width:56px;
    min-width:56px;
    height:56px;
    min-height:56px;
    padding:0!important;
    justify-content:center;
    gap:0;
    border-radius:50%;
  }

  .areas-page .bft-whatsapp-float__icon{
    width:42px;
    height:42px;
    flex-basis:42px;
  }

  .areas-page .bft-whatsapp-float__copy{
    display:none!important;
  }
}

@media(max-width:360px){
  .areas-page .area-hero-polished h1{
    font-size:clamp(38px,12.6vw,44px)!important;
  }

  .areas-page .area-hero-polished .seo-actions{
    grid-template-columns:1fr;
  }

  .areas-page .area-hero-polished .seo-btn{
    min-height:48px;
    font-size:13px;
  }

  .areas-page .area-proof-strip > div{
    align-items:flex-start;
    padding:17px 18px;
  }
}

@media(min-width:621px) and (max-width:980px){
  .areas-page .area-hero-polished h1{
    font-size:clamp(58px,8.5vw,78px);
  }
}

@media(prefers-reduced-motion:reduce){
  .areas-page .area-hero-polished .seo-photo img{
    transition:none!important;
  }
}
