html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
  body { margin: 0; background: #FFFFFF; color: #6E6B85; font-family: "Poppins", system-ui, sans-serif; overflow-x: hidden; text-wrap: pretty; }
  * { box-sizing: border-box; }
  a { color: #EF5DA8; text-decoration: none; transition: color .3s ease; }
  a:hover { color: #C43C7E; }
  button, input, textarea { font: inherit; }
  ::selection { background: #F472B6; color: #FFF; }
  ::placeholder { color: #A6A2B8; }
  @keyframes bhb-sheen { 0% { background-position: -220% 50%; } 100% { background-position: 220% 50%; } }
  @keyframes bhb-marq { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
  @keyframes bhb-float { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-16px,0); } }
  @keyframes bhb-pulse { 0%,100% { opacity: .4; transform: scale(1); } 50% { opacity: 1; transform: scale(1.6); } }
  @keyframes bhb-ring { 0% { transform: scale(.7); opacity: .9; } 100% { transform: scale(2.2); opacity: 0; } }
  @keyframes bhb-blob { 0% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(3%,-3%,0) scale(1.1); } 100% { transform: translate3d(0,0,0) scale(1); } }
  @media (max-width: 980px) {
    [data-desktop-only] { display: none !important; }
    [data-collapse] { grid-template-columns: 1fr !important; }
    [data-collapse-2] { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
    [data-flip] { flex-direction: column !important; }
    [data-center-mobile] { text-align: center !important; }
  }
  @media (min-width: 981px) { [data-mobile-only] { display: none !important; } }
  @media (max-width: 640px) { [data-collapse-2] { grid-template-columns: 1fr !important; } }
  @media (prefers-reduced-motion: reduce) { * { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* 0.1.1 homepage responsive fixes */
#contact [data-collapse] > *,
#contact form,
#contact form > *,
#contact [data-collapse-2] > * { min-width: 0; max-width: 100%; }
#contact form { width: 100%; }
#contact input,
#contact textarea { width: 100%; min-width: 0; }
#contact a[href^="mailto:"] { max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }

@media (max-width: 640px) {
  #home [data-center-mobile] { text-align: center !important; }
  #home [data-center-mobile] > p { margin-left: auto !important; margin-right: auto !important; }
  #home [data-center-mobile] [data-center-mobile] { justify-content: center !important; width: 100%; }
  #home [data-center-mobile] [data-center-mobile] > a { margin-left: auto; margin-right: auto; }
  #contact { padding-left: 14px !important; padding-right: 14px !important; overflow: hidden; }
  #contact > div { width: 100% !important; padding-left: 18px !important; padding-right: 18px !important; }
  #contact [data-collapse-2] { width: 100%; }
  #contact [data-submit] { width: 100%; align-self: stretch !important; }
}

/* 0.1.2 mobile-width + device-section alignment fixes */
@media (max-width: 980px) {
  /* Prevent desktop hero artwork/min-content sizing from widening the mobile grid. */
  #home [data-collapse] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #home [data-collapse] > *,
  #home [data-center-mobile] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  #home h1,
  #home p,
  #home [data-reveal] {
    max-width: 100% !important;
    white-space: normal !important;
  }
  #home p[data-reveal] {
    width: min(100%, 56ch) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow-wrap: normal;
    word-break: normal;
  }

  /* The device/PWA section is centred on tablet/mobile only. */
  #download [data-collapse] > * {
    min-width: 0;
    max-width: 100%;
  }
  #download [data-center-mobile] {
    width: 100%;
    max-width: 100%;
    text-align: center !important;
  }
  #download [data-center-mobile] > p {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  #download [data-center-mobile] [data-center-mobile] {
    width: 100%;
    justify-content: center !important;
  }
}

@media (max-width: 640px) {
  #home {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  #home h1 {
    width: 100% !important;
    max-width: 100% !important;
  }
  #home p[data-reveal] {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  #home [data-center-mobile] [data-center-mobile] {
    max-width: 100% !important;
  }

  #download [data-center-mobile] [data-center-mobile] {
    flex-direction: column;
    align-items: center !important;
  }
  #download [data-center-mobile] [data-center-mobile] > a {
    width: min(100%, 346px);
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center;
    text-align: center;
  }
}


/* 0.1.3 mobile hero centre-phone proportion correction */
@media (max-width: 640px) {
  /* The featured centre device was visually too tall on narrow phones.
     Keep the desktop/tablet artwork untouched, but use a slightly shorter
     phone silhouette on small mobile screens. */
  #home [data-hero-phone][data-hp="1"] > div:first-child {
    aspect-ratio: 9 / 18 !important;
  }
}


/* 0.1.7 mobile hero device-screen swap */
#home [data-hero-about-mobile-art] { display: none !important; }
@media (max-width: 640px) {
  /* Mobile only: replace the original hero laptop/phone artwork with the same
     laptop + phone screens used in the About Us section. Desktop/tablet stay untouched. */
  #home [data-hero-original-art] { display: none !important; }
  #home [data-hero-about-mobile-art] {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: clamp(340px, 108vw, 500px) !important;
    margin: 14px auto 0 !important;
  }
}
[data-bh-home-root] .bh-landing-social svg{width:19px;height:19px;display:block}
