/* FLIB responsive layer — inline styles win over stylesheet rules, so every
   override here uses !important. Breakpoints: <=1024 tablet (iPad), <=820 phone
   (all iPhone + iPad portrait), <=480 small phone. */
html,body{overflow-x:hidden}
.fl-burger{display:none}

@media (max-width:1024px){
  .fl-pad{padding-left:40px !important;padding-right:40px !important}
  .fl-g3{grid-template-columns:1fr 1fr !important}
  .fl-g4{grid-template-columns:1fr 1fr !important}
  .fl-g5{grid-template-columns:repeat(3,1fr) !important}
  .fl-h1{font-size:52px !important}
}

@media (max-width:820px){
  .fl-pad{padding-left:22px !important;padding-right:22px !important}

  /* nav -> hamburger */
  .fl-burger{display:flex !important;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid #33302B;border-radius:12px;background:none;cursor:pointer;margin-left:auto;flex:none}
  .fl-navlinks{display:none !important}
  .fl-navlinks.fl-open{display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:16px !important;position:absolute !important;top:100% !important;left:0 !important;right:0 !important;margin:0 !important;background:#FBF6EE;border-top:1px solid #F0E7D8;box-shadow:0 22px 44px rgba(80,55,25,.16);padding:22px !important;z-index:40}
  .fl-navlinks.fl-open > a{padding:6px 2px !important}
  .fl-navlinks.fl-open > div{position:relative !important}
  .fl-navlinks.fl-open button{width:100% !important;justify-content:flex-start !important}

  /* stack every image/content row */
  .fl-hero{flex-direction:column !important;gap:34px !important;align-items:flex-start !important;padding-top:34px !important;padding-bottom:46px !important}
  .fl-row{flex-direction:column !important;gap:30px !important;align-items:stretch !important}
  .fl-heart{flex:0 0 auto !important;margin:0 auto !important;order:2}
  .fl-phone{flex:0 0 auto !important;width:100% !important;max-width:380px !important;margin-left:auto !important;margin-right:auto !important}
  .fl-row-media{flex:0 0 auto !important;width:100% !important;max-width:340px !important;height:auto !important;margin:0 auto !important}
  .fl-row-media > svg{width:100% !important;height:auto !important}

  /* grids collapse */
  .fl-g2{grid-template-columns:1fr !important}
  .fl-g3{grid-template-columns:1fr !important}
  .fl-g4{grid-template-columns:1fr !important}
  .fl-g5{grid-template-columns:1fr 1fr !important;gap:30px !important}

  .fl-emailrow{flex-direction:column !important;max-width:100% !important}
  .fl-emailrow > *{width:100% !important}

  .fl-sec{padding-top:52px !important;padding-bottom:52px !important}
  .fl-inner{padding:36px 26px !important}

  .fl-h1{font-size:40px !important}
  .fl-h2{font-size:29px !important}
  .fl-cta-h2{font-size:31px !important}
}

@media (max-width:480px){
  .fl-pad{padding-left:18px !important;padding-right:18px !important}
  .fl-h1{font-size:33px !important}
  .fl-h2{font-size:26px !important}
  .fl-g5{grid-template-columns:1fr !important}
  .fl-heart{transform:scale(.82)}
  .fl-row-media{max-width:290px !important}
  .fl-plane svg{width:38px !important;height:38px !important}
  .fl-inner{padding:30px 20px !important}
}
