
:root {
  --black: #000;
  --white: #fff;
  --blue: #7eb7ce;
  --blue-2: #85c0d6;
  --green: #00442d;
  --dark-green: #01321f;
  --ink: #111;
  --muted: #555;
  --serif: 'Instrument Sans', 'Poppins', Arial, sans-serif;
  --sans: 'Instrument Sans', 'Poppins', Arial, sans-serif;
  --body: 'Instrument Sans', 'Poppins', Arial, sans-serif;
  --content-width: 1350px;
}

/* Global mobile footer Figma lock - 414px frame */
@media (max-width: 520px) {
  html body .site-footer#footer-contact,
  html body .site-footer {
    box-sizing: border-box !important;
    position: relative !important;
    width: min(374.68px, 100%) !important;
    max-width: 374.68px !important;
    height: 878.09px !important;
    min-height: 878.09px !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 33px 0 24px !important;
    display: grid !important;
    grid-template-columns: minmax(0, calc((100% - 27.32px) / 2)) minmax(0, calc((100% - 27.32px) / 2)) !important;
    column-gap: 27.32px !important;
    row-gap: 0 !important;
    justify-content: start !important;
    align-items: start !important;
    align-content: start !important;
    color: #fff !important;
    background: #000 !important;
    box-shadow: 0 0 0 100vmax #000 !important;
    overflow: hidden !important;
  }

  html body .site-footer > .footer-logo-block {
    grid-column: 1 / -1 !important;
    order: 1 !important;
    width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
    min-height: 120.94px !important;
    margin: 0 0 39px !important;
    padding: 0 !important;
    display: block !important;
  }

  html body .site-footer .footer-logo-block > img {
    width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
    min-height: 120.94px !important;
    display: block !important;
    object-fit: contain !important;
    object-position: left top !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .site-footer > .footer-col {
    order: 2 !important;
    width: 173.68px !important;
    max-width: 173.68px !important;
    min-width: 0 !important;
    min-height: 215.19px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .site-footer .footer-col h3 {
    margin: 0 0 18px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 26px !important;
    line-height: 31px !important;
    font-weight: 400 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-col a {
    min-height: 0 !important;
    margin: 0 0 17px !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
  }

  html body .site-footer .footer-col a:last-child {
    margin-bottom: 0 !important;
  }

  html body .site-footer > .footer-newsletter {
    grid-column: 1 / -1 !important;
    order: 3 !important;
    width: 100% !important;
    max-width: 374.68px !important;
    min-width: 0 !important;
    margin: 39px 0 0 !important;
    padding: 0 !important;
  }

  html body .site-footer .footer-newsletter h3 {
    margin: 0 0 7px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 24px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter > p:first-of-type {
    max-width: none !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter p strong {
    font-weight: 600 !important;
  }

  html body .site-footer .footer-newsletter form {
    width: 100% !important;
    display: grid !important;
    gap: 12px !important;
    margin: 0 0 29px !important;
  }

  html body .site-footer .footer-newsletter input[type="email"],
  html body .site-footer .footer-newsletter button {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 43px !important;
    min-height: 43px !important;
    padding: 0 25px !important;
    border: 0 !important;
    border-radius: 7px !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 18px !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter input[type="email"] {
    color: #111 !important;
    background: #fff !important;
    font-weight: 600 !important;
  }

  html body .site-footer .footer-newsletter button {
    color: #fff !important;
    background: linear-gradient(180deg, #f6cf64 0%, #d4a33c 100%) !important;
    font-weight: 600 !important;
    text-align: left !important;
  }

  html body .site-footer .footer-newsletter .footer-small {
    width: 100% !important;
    max-width: 374.68px !important;
    min-height: 69px !important;
    margin: 0 0 20px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Inter, Arial, sans-serif !important;
    font-size: 15.29px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-small a {
    color: #fff !important;
    text-decoration: underline !important;
  }

  html body .site-footer .footer-social {
    grid-column: 1 / -1 !important;
    order: 4 !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: 20px !important;
    width: 100% !important;
    max-width: 374.68px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 9px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 18px !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-social strong {
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 600 !important;
  }

  html body .site-footer .footer-social-copy {
    flex: 0 1 auto !important;
    display: inline !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
  }

  html body .site-footer .footer-social-break {
    flex: 0 0 100% !important;
    width: 100% !important;
    height: 0 !important;
    display: block !important;
  }

  html body .site-footer .footer-social a {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 17px 4px 0 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
  }

  html body .site-footer .footer-social svg {
    width: 18px !important;
    height: 18px !important;
  }
}

/* Final Terms hero asset lock: use the supplied Terms banners with baked visual details. */
html body.terms-page .terms-hero {
  min-height: 389px !important;
  height: auto !important;
  aspect-ratio: 1920 / 389 !important;
  overflow: hidden !important;
}

html body.terms-page .terms-hero::after {
  content: none !important;
}

html body.terms-page .terms-hero .policy-banner-picture,
html body.terms-page .terms-hero .terms-banner-image {
  width: 100% !important;
  height: 100% !important;
}

html body.terms-page .terms-hero .terms-banner-image {
  object-fit: cover !important;
  object-position: center !important;
}

html body.terms-page .terms-hero .policy-hero-copy {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 780px) {
  html body.terms-page .terms-hero {
    min-height: 472px !important;
    aspect-ratio: 414 / 472 !important;
  }
}

/* Mobile footer border correction - keep compact approved layout, remove white side gutters */
@media (max-width: 520px) {
  html body .site-footer#footer-contact,
  html body .site-footer {
    width: min(374.68px, 100%) !important;
    max-width: 374.68px !important;
    grid-template-columns: minmax(0, calc((100% - 27.32px) / 2)) minmax(0, calc((100% - 27.32px) / 2)) !important;
    column-gap: 27.32px !important;
    box-shadow: 0 0 0 100vmax #000 !important;
  }

  html body .site-footer > .footer-newsletter,
  html body .site-footer .footer-social {
    width: 100% !important;
    max-width: 374.68px !important;
  }

  html body .copyright-bar {
    background: #000 !important;
  }
}

/* Mobile footer border correction - keep compact approved layout, remove white side gutters */
@media (max-width: 520px) {
  html body .site-footer#footer-contact,
  html body .site-footer {
    width: min(374.68px, 100%) !important;
    max-width: 374.68px !important;
    grid-template-columns: minmax(0, calc((100% - 27.32px) / 2)) minmax(0, calc((100% - 27.32px) / 2)) !important;
    column-gap: 27.32px !important;
    box-shadow: 0 0 0 100vmax #000 !important;
  }

  html body .site-footer > .footer-newsletter,
  html body .site-footer .footer-social {
    width: 100% !important;
    max-width: 374.68px !important;
  }

  html body .copyright-bar {
    background: #000 !important;
  }
}

/* Final global mobile footer Figma tune - shared across all pages */
@media (max-width: 520px) {
  html body .site-footer#footer-contact,
  html body .site-footer {
    box-sizing: border-box !important;
    position: relative !important;
    width: min(374.68px, calc(100% - 39.32px)) !important;
    max-width: 374.68px !important;
    height: 878.09px !important;
    min-height: 878.09px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 33px 0 24px !important;
    display: grid !important;
    grid-template-columns: 173.68px 173.68px !important;
    column-gap: 27.32px !important;
    row-gap: 0 !important;
    align-items: start !important;
    justify-content: start !important;
    overflow: hidden !important;
    color: #fff !important;
    background: #000 !important;
  }

  html body .site-footer > .footer-logo-block {
    grid-column: 1 / -1 !important;
    width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
    min-height: 120.94px !important;
    margin: 0 0 27px !important;
    padding: 0 !important;
  }

  html body .site-footer .footer-logo-block > img {
    width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
    min-height: 120.94px !important;
    object-fit: contain !important;
    object-position: left top !important;
    display: block !important;
    margin: 0 !important;
  }

  html body .site-footer > .footer-col {
    width: 173.68px !important;
    max-width: 173.68px !important;
    height: 215.19px !important;
    min-height: 215.19px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    overflow: visible !important;
  }

  html body .site-footer .footer-col h3 {
    box-sizing: border-box !important;
    width: 151.92px !important;
    max-width: 151.92px !important;
    height: 29.49px !important;
    min-height: 29.49px !important;
    margin: 0 0 21.85px !important;
    padding: 0 10.92px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    white-space: nowrap !important;
    color: #fff !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 32.77px !important;
    line-height: 49px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-col a {
    box-sizing: border-box !important;
    width: max-content !important;
    min-width: 89.92px !important;
    height: 29.49px !important;
    min-height: 29.49px !important;
    margin: 0 0 15.29px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #fff !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15.29px !important;
    line-height: 22.94px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  html body .site-footer .footer-col a:last-child {
    margin-bottom: 0 !important;
  }

  html body .site-footer > .footer-newsletter {
    grid-column: 1 / -1 !important;
    width: 374.68px !important;
    max-width: 374.68px !important;
    margin: 33px 0 0 !important;
    padding: 0 !important;
  }

  html body .site-footer .footer-newsletter h3 {
    box-sizing: border-box !important;
    width: 374.67px !important;
    max-width: 374.67px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 0 6.55px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    color: #fff !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 24.03px !important;
    line-height: 36px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter > p:first-of-type {
    box-sizing: border-box !important;
    width: 374.67px !important;
    max-width: 374.67px !important;
    min-height: 46px !important;
    margin: 0 0 33px !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15.29px !important;
    line-height: 22.94px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter p strong,
  html body .site-footer .footer-social strong {
    font-weight: 600 !important;
  }

  html body .site-footer .footer-newsletter form {
    width: 374.68px !important;
    max-width: 374.68px !important;
    margin: 0 0 32.55px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16.38px !important;
  }

  html body .site-footer .footer-newsletter input[type="email"],
  html body .site-footer .footer-newsletter button {
    box-sizing: border-box !important;
    width: 374.68px !important;
    max-width: 374.68px !important;
    height: 50.25px !important;
    min-height: 50.25px !important;
    padding: 0 30px !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15.29px !important;
    line-height: 22.94px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter input[type="email"] {
    color: #000 !important;
    background: #fff !important;
  }

  html body .site-footer .footer-newsletter button {
    color: #fff !important;
    background: linear-gradient(180deg, #f7dc72 0%, #e5b745 54%, #b88426 100%) !important;
    text-align: left !important;
  }

  html body .site-footer .footer-newsletter .footer-small {
    box-sizing: border-box !important;
    width: 374.68px !important;
    max-width: 374.68px !important;
    min-height: 69px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15.29px !important;
    line-height: 22.94px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-small a {
    color: #fff !important;
    text-decoration: underline !important;
  }

  html body .site-footer .footer-social {
    box-sizing: border-box !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: 24px !important;
    width: 374.68px !important;
    max-width: 374.68px !important;
    height: 90.56px !important;
    min-height: 90.56px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 16.81px !important;
    line-height: 23px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-social-copy {
    display: inline !important;
    margin: 0 !important;
    font-size: 16.81px !important;
    line-height: 23px !important;
    font-weight: 300 !important;
  }

  html body .site-footer .footer-social-break {
    display: block !important;
    width: 100% !important;
    height: 21.85px !important;
  }

  html body .site-footer .footer-social a {
    box-sizing: border-box !important;
    width: 45.71px !important;
    min-width: 45.71px !important;
    height: 45.71px !important;
    min-height: 45.71px !important;
    margin: 0 10.06px 0 0 !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    vertical-align: top !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
  }

  html body .site-footer .footer-social svg {
    width: 22px !important;
    height: 22px !important;
  }
}

/* Final global mobile footer Figma tune - shared across all pages */
@media (max-width: 520px) {
  html body .site-footer#footer-contact,
  html body .site-footer {
    box-sizing: border-box !important;
    position: relative !important;
    width: min(374.68px, calc(100% - 39.32px)) !important;
    max-width: 374.68px !important;
    height: 878.09px !important;
    min-height: 878.09px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 33px 0 24px !important;
    display: grid !important;
    grid-template-columns: 173.68px 173.68px !important;
    column-gap: 27.32px !important;
    row-gap: 0 !important;
    align-items: start !important;
    justify-content: start !important;
    overflow: hidden !important;
    color: #fff !important;
    background: #000 !important;
  }

  html body .site-footer > .footer-logo-block {
    grid-column: 1 / -1 !important;
    width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
    min-height: 120.94px !important;
    margin: 0 0 27px !important;
    padding: 0 !important;
  }

  html body .site-footer .footer-logo-block > img {
    width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
    min-height: 120.94px !important;
    object-fit: contain !important;
    object-position: left top !important;
    display: block !important;
    margin: 0 !important;
  }

  html body .site-footer > .footer-col {
    width: 173.68px !important;
    max-width: 173.68px !important;
    height: 215.19px !important;
    min-height: 215.19px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    overflow: visible !important;
  }

  html body .site-footer .footer-col h3 {
    box-sizing: border-box !important;
    width: 151.92px !important;
    max-width: 151.92px !important;
    height: 29.49px !important;
    min-height: 29.49px !important;
    margin: 0 0 21.85px !important;
    padding: 0 10.92px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    white-space: nowrap !important;
    color: #fff !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 32.77px !important;
    line-height: 49px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-col a {
    box-sizing: border-box !important;
    width: max-content !important;
    min-width: 89.92px !important;
    height: 29.49px !important;
    min-height: 29.49px !important;
    margin: 0 0 15.29px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #fff !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15.29px !important;
    line-height: 22.94px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  html body .site-footer .footer-col a:last-child {
    margin-bottom: 0 !important;
  }

  html body .site-footer > .footer-newsletter {
    grid-column: 1 / -1 !important;
    width: 374.68px !important;
    max-width: 374.68px !important;
    margin: 33px 0 0 !important;
    padding: 0 !important;
  }

  html body .site-footer .footer-newsletter h3 {
    box-sizing: border-box !important;
    width: 374.67px !important;
    max-width: 374.67px !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 0 6.55px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    color: #fff !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 24.03px !important;
    line-height: 36px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter > p:first-of-type {
    box-sizing: border-box !important;
    width: 374.67px !important;
    max-width: 374.67px !important;
    min-height: 46px !important;
    margin: 0 0 33px !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15.29px !important;
    line-height: 22.94px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter p strong,
  html body .site-footer .footer-social strong {
    font-weight: 600 !important;
  }

  html body .site-footer .footer-newsletter form {
    width: 374.68px !important;
    max-width: 374.68px !important;
    margin: 0 0 32.55px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16.38px !important;
  }

  html body .site-footer .footer-newsletter input[type="email"],
  html body .site-footer .footer-newsletter button {
    box-sizing: border-box !important;
    width: 374.68px !important;
    max-width: 374.68px !important;
    height: 50.25px !important;
    min-height: 50.25px !important;
    padding: 0 30px !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15.29px !important;
    line-height: 22.94px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter input[type="email"] {
    color: #000 !important;
    background: #fff !important;
  }

  html body .site-footer .footer-newsletter button {
    color: #fff !important;
    background: linear-gradient(180deg, #f7dc72 0%, #e5b745 54%, #b88426 100%) !important;
    text-align: left !important;
  }

  html body .site-footer .footer-newsletter .footer-small {
    box-sizing: border-box !important;
    width: 374.68px !important;
    max-width: 374.68px !important;
    min-height: 69px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15.29px !important;
    line-height: 22.94px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-small a {
    color: #fff !important;
    text-decoration: underline !important;
  }

  html body .site-footer .footer-social {
    box-sizing: border-box !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: 24px !important;
    width: 374.68px !important;
    max-width: 374.68px !important;
    height: 90.56px !important;
    min-height: 90.56px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Proxima Nova', 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 16.81px !important;
    line-height: 23px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-social-copy {
    display: inline !important;
    margin: 0 !important;
    font-size: 16.81px !important;
    line-height: 23px !important;
    font-weight: 300 !important;
  }

  html body .site-footer .footer-social-break {
    display: block !important;
    width: 100% !important;
    height: 21.85px !important;
  }

  html body .site-footer .footer-social a {
    box-sizing: border-box !important;
    width: 45.71px !important;
    min-width: 45.71px !important;
    height: 45.71px !important;
    min-height: 45.71px !important;
    margin: 0 10.06px 0 0 !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    vertical-align: top !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
  }

  html body .site-footer .footer-social svg {
    width: 22px !important;
    height: 22px !important;
  }
}

/* Mobile favorite products loop - 2026-06-23 */
body.home .product-card-clone,
body.home .product-description {
  display: none !important;
}

@keyframes toc-mobile-product-loop {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-1556.48px, 0, 0);
  }
}

@media (max-width: 520px) {
  body.home .products {
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 auto !important;
    padding: 74px 0 42px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body.home .products .section-line {
    display: contents !important;
  }

  body.home .products .section-line h2 {
    box-sizing: border-box !important;
    order: 1 !important;
    width: min(331px, calc(100vw - 40px)) !important;
    max-width: min(331px, calc(100vw - 40px)) !important;
    height: 80px !important;
    min-height: 80px !important;
    margin: 0 auto 23px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 40px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  body.home .product-grid {
    --toc-product-card-width: 374.12px;
    --toc-product-gap: 15px;
    box-sizing: border-box !important;
    order: 2 !important;
    width: max-content !important;
    max-width: none !important;
    height: 596.71px !important;
    min-height: 596.71px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    gap: var(--toc-product-gap) !important;
    overflow: visible !important;
    animation: toc-mobile-product-loop 30s linear infinite !important;
    will-change: transform !important;
  }

  body.home .product-grid:hover,
  body.home .product-grid:focus-within {
    animation-play-state: paused !important;
  }

  body.home .product-card-clone,
  body.home .product-description {
    display: block !important;
  }

  body.home .product-grid article,
  body.home .product-grid article.product-card {
    box-sizing: border-box !important;
    flex: 0 0 var(--toc-product-card-width) !important;
    width: var(--toc-product-card-width) !important;
    min-width: var(--toc-product-card-width) !important;
    max-width: var(--toc-product-card-width) !important;
    height: 596.71px !important;
    min-height: 596.71px !important;
    max-height: 596.71px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.home .product-grid article img {
    box-sizing: border-box !important;
    width: var(--toc-product-card-width) !important;
    min-width: var(--toc-product-card-width) !important;
    max-width: var(--toc-product-card-width) !important;
    height: 352.87px !important;
    min-height: 352.87px !important;
    max-height: 352.87px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    background: #f8f7f4 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.home .product-grid article h3 {
    box-sizing: border-box !important;
    width: var(--toc-product-card-width) !important;
    max-width: var(--toc-product-card-width) !important;
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    margin: 20.04px 0 0 !important;
    padding: 0 0 0 46.76px !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 31px !important;
    line-height: 1.03 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    overflow: visible !important;
  }

  body.home .product-grid article h3 span {
    display: block !important;
    width: auto !important;
    max-width: 310px !important;
    white-space: nowrap !important;
  }

  body.home .product-grid article .product-price {
    box-sizing: border-box !important;
    width: var(--toc-product-card-width) !important;
    max-width: var(--toc-product-card-width) !important;
    height: 17px !important;
    min-height: 17px !important;
    margin: 21px 0 0 !important;
    padding: 0 0 0 46.76px !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 13.84px !important;
    line-height: 120% !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  body.home .product-grid article .product-price-label {
    font-weight: 300 !important;
  }

  body.home .product-grid article .product-price strong,
  body.home .product-grid article .product-price em {
    font-weight: 500 !important;
  }

  body.home .product-grid article .product-price em {
    font-style: italic !important;
  }

  body.home .product-grid article .product-description {
    box-sizing: border-box !important;
    width: 246px !important;
    max-width: 246px !important;
    min-height: 34px !important;
    margin: 21px 0 0 46.76px !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 13.84px !important;
    line-height: 120% !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  body.home .products .section-line a {
    box-sizing: border-box !important;
    order: 3 !important;
    width: min(360px, calc(100vw - 54px)) !important;
    min-width: 0 !important;
    max-width: min(360px, calc(100vw - 54px)) !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 20px auto 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 8px !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 21.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }
}

@media (max-width: 520px) and (prefers-reduced-motion: reduce) {
  body.home .product-grid {
    width: 100vw !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    animation: none !important;
  }

  body.home .product-grid article {
    scroll-snap-align: start !important;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--ink); font-family: var(--body); font-size: 17px; line-height: 1.55; letter-spacing: 1px; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, h4, h5, h6, .brand-text, .main-nav, .header-cta, button, .service-label { font-family: var(--sans); letter-spacing: 1.2px; }
.page-shell { width: 100%; max-width: none; margin: 0; background: #fff; overflow: hidden; }

.site-header {
  height: 52px;
  display: grid;
  grid-template-columns: 280px 1fr 292px;
  align-items: center;
  gap: 26px;
  padding-left: max(36px, calc((100vw - var(--content-width)) / 2)); padding-right: max(36px, calc((100vw - var(--content-width)) / 2));
  color: #fff;
  background: #000;
}
.brand { display: inline-flex; align-items: center; min-width: 0; }
.brand img { width: 227px; height: auto; display: block; }
.footer-brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.brand-mark { position: relative; width: 44px; height: 44px; flex: 0 0 auto; border-radius: 50%; }
.brand-mark span { position: absolute; left: 19px; top: 2px; width: 9px; height: 40px; border: 3px solid #fff; border-radius: 50%; transform-origin: 4px 20px; }.brand-mark span:nth-child(1) { transform: rotate(0deg); }
.brand-mark span:nth-child(2) { transform: rotate(15deg); }
.brand-mark span:nth-child(3) { transform: rotate(30deg); }
.brand-mark span:nth-child(4) { transform: rotate(45deg); }
.brand-mark span:nth-child(5) { transform: rotate(60deg); }
.brand-mark span:nth-child(6) { transform: rotate(75deg); }
.brand-mark span:nth-child(7) { transform: rotate(90deg); }
.brand-mark span:nth-child(8) { transform: rotate(105deg); }
.brand-mark span:nth-child(9) { transform: rotate(120deg); }
.brand-mark span:nth-child(10) { transform: rotate(135deg); }
.brand-mark span:nth-child(11) { transform: rotate(150deg); }
.brand-mark span:nth-child(12) { transform: rotate(165deg); }
.brand-mark.small { transform: scale(.78); transform-origin: left center; }
.brand-text { color: #fff; font-size: 22px; font-weight: 500; letter-spacing: .18em; white-space: nowrap; }
.brand-text b { font-weight: 500; padding-bottom: 2px; border-bottom: 2px solid #fff; }
.main-nav { display: flex; justify-content: center; gap: 26px; font-size: 13px; font-weight: 500; text-transform: none; white-space: nowrap; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 22px; } .phone-link { color: #fff; font-size: 13px; font-weight: 400; letter-spacing: 1px; } .phone-link::before { content: "☎"; margin-right: 8px; font-size: 13px; } .header-cta { min-height: 35px; padding: 0 14px; display: inline-flex; align-items: center; gap: 8px; color: #000; background: #fff; border-radius: 7px; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }

.hero { position: relative; height: clamp(560px, 36vw, 720px); overflow: hidden; display: grid; place-items: center; color: #fff; background: #000; }
.hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.hero-shade { position: absolute; inset: 0; background: rgba(0,0,0,.36); }
.hero-card { position: relative; z-index: 1; text-align: center; transform: translateY(28px); }
.hero-card h1 { margin: 0; font: 600 clamp(56px, 6vw, 94px)/.86 var(--sans); letter-spacing: .04em; text-transform: uppercase; text-shadow: 0 8px 26px rgba(0,0,0,.45); }
.hero-card p { margin: 22px 0 0; font-size: 30px; font-weight: 500; }

.start-strip { min-height: 92px; padding-top: 22px; padding-bottom: 22px; padding-left: max(56px, calc((100vw - var(--content-width)) / 2)); padding-right: max(56px, calc((100vw - var(--content-width)) / 2)); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; background: var(--blue); }
.start-strip h2 { margin: 0; font-size: 26px; line-height: 1.1; font-weight: 600; letter-spacing: .02em; }
.start-strip h2 span { color: #0784cf; }
.start-strip a, .catalogue-copy a, .warehouse-copy a, .insta-title a { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 0 24px; color: #fff; background: #000; border-radius: 3px; font-size: 12px; font-weight: 600; text-transform: uppercase; }

.services { padding: 50px 48px 58px; text-align: center; background: #fff; }
.services h2, .products h2, .faq h2 { margin: 0 0 28px; font-size: 26px; line-height: 1; font-weight: 600; }
.service-tabs { max-width: 980px; margin: 0 auto 34px; display: grid; grid-template-columns: repeat(5, 1fr); column-gap: 22px; row-gap: 31px; align-items: start; }
.service-tab { appearance: none; border: 0; padding: 0; display: grid; justify-items: center; background: transparent; font-family: var(--sans); cursor: pointer; }
.service-art { position: relative; width: 168px; height: 142px; display: block; }
.service-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transition: opacity .18s ease, transform .18s ease; }
.service-art .state-hover,
.service-art .state-active { opacity: 0; }
.service-tab:hover .state-normal { opacity: 0; }
.service-tab:hover .state-hover { opacity: 1; }
.service-tab:hover .service-art { transform: translateY(-2px); }
.service-tab.is-active .state-normal,
.service-tab.is-active .state-hover { opacity: 0; }
.service-tab.is-active .state-active { opacity: 1; }
.service-tab.is-active .service-art { transform: none; }
.service-detail { max-width: 980px; min-height: 205px; margin: 0 auto; padding: 0; display: block; color: #fff; background: #000; border-radius: 14px; overflow: hidden; }
.service-detail-banner { display: block; width: 100%; height: auto; }

.gallery {
  position: relative;
  min-height: 378px;
  margin: 0 54px 44px;
  overflow: hidden;
  color: #fff;
  background: #06110d;
}
.gallery-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.36) 48%, rgba(0,0,0,.2)), url('../figma/1851ab121aede5d975d5ab6c4b17b76c5f8282fc.jpg') center/cover;
  transform: scale(1.02);
}
.gallery-content {
  position: relative;
  z-index: 2;
  width: min(440px, 54%);
  padding: 66px 0 58px 58px;
}
.gallery-content h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(34px, 4.6vw, 68px);
  line-height: .95;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.gallery-kicker {
  margin: 10px 0 18px;
  color: #fff;
  font-size: clamp(20px, 2.4vw, 34px);
  line-height: 1;
  font-weight: 500;
}
.gallery-content p:not(.gallery-kicker) {
  margin: 0 0 26px;
  color: rgba(255,255,255,.86);
  font-size: 15px;
  line-height: 1.65;
}
.gallery-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 28px;
  color: #fff;
  background: #000;
  border-radius: 0 0 10px 0;
  font-size: 17px;
  font-weight: 600;
  text-transform: uppercase;
  box-shadow: 0 12px 28px rgba(0,0,0,.28);
}
.gallery-collage {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.gallery-photo {
  position: absolute;
  object-fit: cover;
  border: 9px solid #fff;
  box-shadow: 0 16px 32px rgba(0,0,0,.35);
}
.gallery-photo-top {
  right: -36px;
  top: 28px;
  width: 42%;
  height: 180px;
  transform: rotate(10deg);
}
.gallery-photo-mid {
  right: 185px;
  bottom: -24px;
  width: 43%;
  height: 185px;
  transform: rotate(-13deg);
}
.gallery-photo-low {
  right: -20px;
  bottom: -46px;
  width: 38%;
  height: 160px;
  transform: rotate(10deg);
  filter: grayscale(.2) brightness(.88);
}
.products { padding: 0 54px 48px; background: #fff; }
.section-line { margin-bottom: 20px; display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.section-line h2 { margin: 0; text-align: left; }
.section-line a { padding: 8px 14px; color: #fff; background: #000; border-radius: 3px; font-size: 10px; font-weight: 600; text-transform: uppercase; }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.product-grid article { background: #fff; }
.product-grid img { width: 100%; height: 160px; object-fit: cover; object-position: center; background: #f5f5f5; }
.product-grid h3 { margin: 10px 0 6px; font-size: 14px; line-height: 1.15; font-weight: 500; } .product-grid p { margin: 0; font-size: 10px; font-weight: 500; }

.catalogue-band { position: relative; margin: 0 54px 48px; min-height: 245px; overflow: hidden; background: linear-gradient(120deg, #3F778E 0%, #659DB5 46%, #7EB7CE 100%); }
.catalogue-art { position: absolute; inset: 0; z-index: 1; }
.catalogue-art img { width: 100%; height: 100%; object-fit: cover; }
.catalogue-live-copy { position: relative; z-index: 2; width: 43%; padding: 47px 0 34px 50px; color: #fff; }
.catalogue-live-copy p { margin: 0; font-family: var(--sans); font-size: 25px; line-height: 1; font-weight: 600; }
.catalogue-live-copy h2 { margin: 4px 0 21px; color: #fff; font-size: 25px; line-height: 1; font-weight: 500; font-style: italic; }
.catalogue-live-copy span { display: block; max-width: 365px; color: rgba(255,255,255,.92); font-size: 11px; line-height: 1.55; }
.catalogue-actions { margin-top: 23px; display: flex; gap: 14px; align-items: center; }
.catalogue-actions a { display: inline-flex; align-items: center; justify-content: center; min-width: 114px; min-height: 34px; padding: 0 18px; color: #000; background: #fff; border-radius: 6px; font-family: var(--sans); font-size: 10px; font-weight: 600; text-transform: uppercase; }
.catalogue-actions a:nth-child(2) { min-width: 150px; color: #fff; background: #000; }

.warehouse { margin: 0 54px 58px; display: grid; grid-template-columns: 1fr 1fr; min-height: 340px; background: #fff; border: 1px solid #e5e5e5; }
.warehouse-collage { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
.warehouse-collage img { width: 100%; height: 100%; min-height: 170px; object-fit: cover; }
.warehouse-panel { padding: 56px 54px 44px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: #fff; }
.location-icon { width: 54px; height: 54px; margin-bottom: 16px; color: #000; }
.location-icon svg { width: 100%; height: 100%; }
.warehouse-panel h2 { margin: 0 0 18px; color: #000; font-size: 29px; line-height: .98; font-weight: 600; }
.warehouse-panel h2 em { display: inline-block; font-style: italic; font-weight: 500; }
.warehouse-panel p { max-width: 410px; margin: 0 0 12px; color: #333; font-size: 10px; line-height: 1.65; }
.warehouse-panel address { max-width: 410px; margin: 0 0 24px; color: #333; font-style: normal; font-size: 9px; line-height: 1.6; }
.warehouse-panel a { display: inline-flex; align-items: center; justify-content: center; min-width: 144px; min-height: 36px; padding: 0 20px; color: #fff; background: #000; border-radius: 5px; font-family: var(--sans); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }
.testimonials { position: relative; padding: 58px 70px 76px; color: #fff; text-align: center; background: #0a3d28 url('../rsc/green-background.png') center/cover no-repeat; overflow: hidden; }
.testimonials h2 { margin: 0 0 34px; font-size: 30px; line-height: 1.08; font-weight: 600; letter-spacing: 1px; }
.testimonial-grid { max-width: 980px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; text-align: left; }
.testimonial-grid article { min-height: 150px; padding: 20px 18px 18px; background: rgba(12, 70, 46, .76); border: 1px solid rgba(255,255,255,.62); border-radius: 10px; }
.testimonial-grid h3 { margin: 0 0 15px; color: #fff; font-size: 17px; line-height: 1; font-weight: 600; letter-spacing: 1px; }
.testimonial-grid p { margin: 0 0 18px; color: #fff; font-size: 9px; line-height: 1.36; letter-spacing: .55px; }
.testimonial-grid span { color: rgba(255,255,255,.9); font-size: 8px; letter-spacing: .5px; }
.testimonial-next { position: absolute; right: 70px; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border: 0; color: #fff; background: transparent; font-size: 48px; line-height: 1; font-weight: 200; cursor: pointer; }

.logos { padding: 24px 0; background: #fff; overflow: hidden; }
.logo-slider { width: 100%; overflow: hidden; }
.logo-track { display: flex; align-items: center; gap: 42px; width: max-content; animation: logoSlide 32s linear infinite; }
.logo-slider:hover .logo-track { animation-play-state: paused; }
.logo-track img { width: 145px; height: 58px; object-fit: contain; flex: 0 0 auto; filter: none; opacity: 1; transition: transform .2s ease; }
.logo-track img:hover { transform: scale(1.08); }
@keyframes logoSlide { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.faq { max-width: 920px; margin: 0 auto; padding: 92px 30px 88px; background: #fff; }
.faq h2 { margin: 0 0 34px; text-align: center; font-size: 43px; line-height: 1; font-weight: 600; letter-spacing: 1.2px; }
.faq-list { display: grid; gap: 20px; }
.faq details { border: 1.5px solid #000; border-radius: 17px; background: #fff; overflow: hidden; }
.faq summary { position: relative; min-height: 60px; padding: 18px 62px 17px 20px; cursor: pointer; list-style: none; color: #000; font-family: var(--sans); font-size: 19px; line-height: 1.25; font-weight: 600; letter-spacing: 1px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '›'; position: absolute; right: 24px; top: 50%; transform: translateY(-50%); font-size: 32px; line-height: 1; font-weight: 500; }
.faq details[open] { color: #fff; background: #000; border-color: #000; border-radius: 15px; }
.faq details[open] summary { min-height: auto; padding: 28px 24px 18px; color: #fff; font-size: 19px; }
.faq details[open] summary::after { content: ''; left: 24px; right: 24px; top: auto; bottom: 0; height: 2px; transform: none; background: #7EB7CE; }
.faq details[open] p { position: relative; margin: 0; padding: 22px 24px 64px; color: #fff; background: #000; font-size: 16px; line-height: 1.45; letter-spacing: 1px; }
.faq details[open] p::after { content: '^'; position: absolute; left: 50%; bottom: 21px; transform: translateX(-50%); color: #fff; font-family: var(--sans); font-size: 24px; font-weight: 500; }
.faq details:not([open]) p { display: none; }

.instagram { background: #fff; }
.social-buttons { display: none; }
.insta-title { padding: 0 54px 14px; display: flex; justify-content: center; align-items: center; gap: 14px; }
.insta-title h2 { margin: 0; font-size: 15px; font-weight: 600; text-transform: uppercase; }
.insta-title a { min-height: 28px; padding-inline: 14px; font-size: 9px; }
.insta-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.insta-grid a { position: relative; display: block; overflow: hidden; }
.insta-grid img { width: 100%; height: 160px; object-fit: cover; }
.insta-grid span { display: none; }

.site-footer { padding: 58px 92px 78px; display: grid; grid-template-columns: 230px 110px 130px minmax(320px, 390px); justify-content: center; gap: 58px; color: #fff; background: #000; }
.footer-logo-block img { width: 210px; height: auto; display: block; }
.footer-col h3,
.footer-newsletter h3 { margin: 0 0 22px; color: #fff; font-family: var(--sans); font-size: 18px; line-height: 1; font-weight: 600; letter-spacing: 1px; }
.footer-col a { display: block; margin: 0 0 14px; color: rgba(255,255,255,.9); font-size: 11px; line-height: 1.2; letter-spacing: .7px; }
.footer-newsletter p { margin: 0 0 20px; color: rgba(255,255,255,.82); font-size: 11px; line-height: 1.45; letter-spacing: .7px; }
.footer-newsletter p strong { color: #fff; font-weight: 600; }
.footer-newsletter form { display: grid; gap: 10px; margin-bottom: 18px; }
.footer-newsletter input { width: 100%; height: 36px; padding: 0 18px; border: 0; border-radius: 7px; color: #000; background: #fff; font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .5px; }
.footer-newsletter button { height: 36px; border: 0; border-radius: 7px; color: #fff; background: linear-gradient(180deg, #F4C65E 0%, #E5B853 34%, #D6AA48 68%, #926E1E 100%); font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .7px; cursor: pointer; }
.footer-newsletter .footer-small { max-width: 360px; color: rgba(255,255,255,.7); font-size: 9px; line-height: 1.45; }
.footer-small a { color: #fff; text-decoration: underline; }
.footer-social { display: flex; align-items: center; gap: 12px; color: #fff; font-size: 11px; letter-spacing: .7px; }
.footer-social a { width: 22px; height: 22px; display: inline-grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; font-size: 14px; line-height: 1; }

.chat-bubble { position: fixed; right: 26px; bottom: 26px; z-index: 99; width: 58px; height: 58px; display: grid; place-items: center; color: #fff; background: #18a957; border: 5px solid rgba(255,255,255,.55); border-radius: 50%; box-shadow: 0 10px 35px rgba(0,0,0,.3); font-weight: 600; }

@media (max-width: 900px) {
  .site-header { height: auto; padding: 22px 28px; grid-template-columns: 1fr; justify-items: center; gap: 14px; }
  .main-nav { flex-wrap: wrap; gap: 14px; font-size: 11px; }
  .hero { height: 520px; }
  .start-strip, .catalogue-band, .warehouse, .site-footer { padding: 58px 92px 78px; display: grid; grid-template-columns: 230px 110px 130px minmax(320px, 390px); justify-content: center; gap: 58px; color: #fff; background: #000; }
.footer-logo-block img { width: 210px; height: auto; display: block; }
.footer-col h3,
.footer-newsletter h3 { margin: 0 0 22px; color: #fff; font-family: var(--sans); font-size: 18px; line-height: 1; font-weight: 600; letter-spacing: 1px; }
.footer-col a { display: block; margin: 0 0 14px; color: rgba(255,255,255,.9); font-size: 11px; line-height: 1.2; letter-spacing: .7px; }
.footer-newsletter p { margin: 0 0 20px; color: rgba(255,255,255,.82); font-size: 11px; line-height: 1.45; letter-spacing: .7px; }
.footer-newsletter p strong { color: #fff; font-weight: 600; }
.footer-newsletter form { display: grid; gap: 10px; margin-bottom: 18px; }
.footer-newsletter input { width: 100%; height: 36px; padding: 0 18px; border: 0; border-radius: 7px; color: #000; background: #fff; font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .5px; }
.footer-newsletter button { height: 36px; border: 0; border-radius: 7px; color: #fff; background: linear-gradient(180deg, #F4C65E 0%, #E5B853 34%, #D6AA48 68%, #926E1E 100%); font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .7px; cursor: pointer; }
.footer-newsletter .footer-small { max-width: 360px; color: rgba(255,255,255,.7); font-size: 9px; line-height: 1.45; }
.footer-small a { color: #fff; text-decoration: underline; }
.footer-social { display: flex; align-items: center; gap: 12px; color: #fff; font-size: 11px; letter-spacing: .7px; }
.footer-social a { width: 22px; height: 22px; display: inline-grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; font-size: 14px; line-height: 1; }

.chat-bubble { width: 48px; height: 48px; right: 18px; bottom: 18px; }
}







/* Favorite Products mobile slider override */

@media (max-width: 520px) {
  .services { padding: 50px 48px 58px; text-align: center; background: #fff; }
.services h2, .products h2, .faq h2 { margin: 0 0 28px; font-size: 26px; line-height: 1; font-weight: 600; }
.service-tabs { max-width: 980px; margin: 0 auto 34px; display: grid; grid-template-columns: repeat(5, 1fr); column-gap: 22px; row-gap: 31px; align-items: start; }
.service-tab { appearance: none; border: 0; padding: 0; display: grid; justify-items: center; background: transparent; font-family: var(--sans); cursor: pointer; }
.service-art { position: relative; width: 168px; height: 142px; display: block; }
.service-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transition: opacity .18s ease, transform .18s ease; }
.service-art .state-hover,
.service-art .state-active { opacity: 0; }
.service-tab:hover .state-normal { opacity: 0; }
.service-tab:hover .state-hover { opacity: 1; }
.service-tab:hover .service-art { transform: translateY(-2px); }
.service-tab.is-active .state-normal,
.service-tab.is-active .state-hover { opacity: 0; }
.service-tab.is-active .state-active { opacity: 1; }
.service-tab.is-active .service-art { transform: none; }
.service-detail { max-width: 980px; min-height: 205px; margin: 0 auto; padding: 0; display: block; color: #fff; background: #000; border-radius: 14px; overflow: hidden; }
.service-detail-banner { display: block; width: 100%; height: auto; }

.products { padding: 74px 0 36px 22px; overflow: hidden; }
  .section-line { display: block; margin: 0 22px 24px 0; text-align: center; }
  .section-line h2 { font-size: 31px; line-height: 1.02; text-align: center; }
  .section-line a { display: none; }
  .product-grid { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 22px 6px 0; scrollbar-width: none; }
  .product-grid::-webkit-scrollbar { display: none; }
  .product-grid article { flex: 0 0 304px; scroll-snap-align: start; overflow: hidden; border-radius: 12px 12px 0 0; background: #fff; }
  .product-grid img { height: 287px; border-radius: 12px 12px 0 0; object-fit: cover; }
  .product-grid h3 { margin: 18px 16px 10px; font-size: 26px; line-height: 1.08; font-weight: 400; }
  .product-grid p { margin: 0 16px 18px; font-size: 12px; }
  .product-grid article:first-child p::after { content: 'From A1 to U1 how does it work? our vision on tools like these.'; display: block; max-width: 245px; margin-top: 18px; color: #333; font-size: 12px; line-height: 1.25; }
  .product-grid article::after { content: 'View Catalogue'; display: none; }
  .product-grid article:first-child::after { display: flex; align-items: center; justify-content: center; height: 49px; margin: 28px 22px 33px; color: #fff; background: #000; border-radius: 7px; font-family: var(--sans); font-size: 14px; font-weight: 600; text-transform: uppercase; }
}

@media (max-width: 520px) {
  .instagram { padding-top: 0; }
  .social-buttons { display: grid; gap: 12px; padding: 0 22px 28px; background: #fff; }
  .social-btn { min-height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 7px; font-family: var(--sans); font-size: 15px; font-weight: 600; text-transform: uppercase; }
  .social-instagram { color: #fff; background: #000; }
  .social-facebook { color: #fff; background: #7EB7CE; }
  .insta-grid { grid-template-columns: repeat(2, 1fr); }
  .insta-grid img { height: 212px; filter: brightness(.82); }
  .insta-grid span { position: absolute; inset: 0; display: grid; place-items: center; }
  .insta-grid span::before { content: ''; width: 42px; height: 42px; border: 4px solid #fff; border-radius: 12px; box-shadow: inset 0 0 0 4px transparent; }
  .insta-grid span::after { content: ''; position: absolute; width: 12px; height: 12px; border: 4px solid #fff; border-radius: 50%; }
}

/* Typography tuning */
p, li, address, summary, input, textarea, .product-grid p, .testimonial-grid p, .warehouse-panel p, .warehouse-panel address, .catalogue-live-copy span, .service-detail-copy p, .service-detail-copy li { font-family: var(--body); letter-spacing: 1px; }
.main-nav, .header-cta, .start-strip a, .gallery-btn, .catalogue-actions a, .warehouse-panel a, .social-btn, .service-label { letter-spacing: 1px; }

@media (max-width: 520px) {
  .faq { max-width: none; padding: 58px 22px 56px; }
  .faq h2 { margin-bottom: 24px; font-size: 34px; }
  .faq-list { gap: 12px; }
  .faq details { border-radius: 12px; }
  .faq summary { min-height: 48px; padding: 14px 46px 13px 15px; font-size: 13px; }
  .faq summary::after { right: 16px; font-size: 24px; }
  .faq details[open] summary { padding: 21px 18px 14px; font-size: 13px; }
  .faq details[open] summary::after { left: 18px; right: 18px; }
  .faq details[open] p { padding: 17px 18px 44px; font-size: 11px; line-height: 1.45; }
  .faq details[open] p::after { bottom: 13px; font-size: 18px; }
}

@media (max-width: 520px) {
  .site-header { height: 107px; padding: 0 28px; grid-template-columns: 1fr auto auto; gap: 12px; justify-items: start; }
  .brand img { width: 178px; }
  .main-nav { display: none; }
  .header-actions { gap: 11px; justify-self: end; }
  .phone-link { display: none; }
  .header-cta { width: 36px; height: 36px; min-height: 36px; padding: 0; justify-content: center; border-radius: 7px; font-size: 0; }
  .header-cta span { font-size: 20px; }
  .header-actions::after { content: ''; width: 28px; height: 19px; display: block; background: linear-gradient(#fff 0 0) top/100% 3px no-repeat, linear-gradient(#fff 0 0) center/100% 3px no-repeat, linear-gradient(#fff 0 0) bottom/100% 3px no-repeat; }
  .hero { height: 460px; place-items: center; }
  .hero-card h1 { font-size: 37px; line-height: .98; }
  .hero-card h1::before { content: 'Decor Hire'; display: block; }
  .hero-card h1 { font-size: 0; }
  .hero-card h1 br, .hero-card h1 { visibility: visible; }
  .hero-card h1::after { content: '& Styling'; display: block; font-size: 37px; }
  .hero-card h1::before { font-size: 37px; }
  .hero-card p { margin-top: 14px; font-size: 21px; }

  .start-strip { min-height: 220px; padding: 40px 34px; grid-template-columns: 1fr; gap: 26px; }
  .start-strip h2 { font-size: 27px; line-height: 1.08; }
  .start-strip a { width: 100%; min-height: 56px; border-radius: 7px; font-size: 0; }
  .start-strip a::before { content: 'Event Pricing'; font-size: 14px; }
}

@media (max-width: 520px) {
  .warehouse { margin: 0 18px 28px; grid-template-columns: 1fr 1fr; min-height: 154px; }
  .warehouse-collage img { min-height: 77px; }
  .warehouse-panel { padding: 18px 12px 14px; }
  .location-icon { width: 26px; height: 26px; margin-bottom: 8px; }
  .warehouse-panel h2 { margin-bottom: 8px; font-size: 14px; }
  .warehouse-panel p { margin-bottom: 6px; font-size: 4.8px; line-height: 1.55; }
  .warehouse-panel address { margin-bottom: 10px; font-size: 4.5px; line-height: 1.45; }
  .warehouse-panel a { min-width: 74px; min-height: 20px; padding: 0 9px; border-radius: 3px; font-size: 5px; }
}

  .start-strip { padding-left: clamp(80px, 14vw, 280px); padding-right: clamp(80px, 14vw, 280px); }
  .services, .products, .testimonials, .faq { width: 100%; }
  .service-tabs, .service-detail, .faq-list { max-width: 980px; }

@media (max-width: 520px) {
  .testimonials { padding: 42px 22px 54px; }
  .testimonials h2 { margin-bottom: 22px; font-size: 23px; }
  .testimonial-grid { grid-template-columns: 1fr; gap: 12px; }
  .testimonial-grid article { min-height: auto; padding: 18px; }
  .testimonial-grid h3 { font-size: 15px; }
  .testimonial-grid p { font-size: 10px; line-height: 1.45; }
  .testimonial-grid span { font-size: 9px; }
  .testimonial-next { display: none; }
  }

@media (max-width: 900px) {
  .site-footer { grid-template-columns: 1fr 1fr; padding: 44px 30px; gap: 34px; }
  .footer-logo-block { grid-column: span 2; }
}
@media (max-width: 520px) {
  .site-footer { grid-template-columns: 1fr; padding: 40px 28px 56px; gap: 30px; }
  .footer-logo-block { grid-column: auto; }
  .footer-logo-block img { width: 210px; }
  .footer-col h3, .footer-newsletter h3 { font-size: 18px; }
  .footer-col a, .footer-newsletter p { font-size: 12px; }
}



/* Final layout and service-state overrides */
.page-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  background: #fff;
  overflow: hidden;
}

.site-header {
  height: 64px;
  grid-template-columns: 245px 1fr 310px;
  gap: 32px;
  padding-left: max(34px, calc((100vw - var(--content-width)) / 2));
  padding-right: max(34px, calc((100vw - var(--content-width)) / 2));
}
.brand img { width: 244px; }
.main-nav {
  justify-content: center;
  gap: 42px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
}
.header-actions { gap: 24px; }
.phone-link { font-size: 14px; font-weight: 600; }
.header-cta {
  min-height: 36px;
  padding: 0 18px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 600;
}

.hero {
  width: 100%;
  height: 620px;
  min-height: 620px;
  max-height: none;
}
.hero-shade {
  background:
    radial-gradient(circle at center, rgba(7, 22, 31, .88) 0%, rgba(7, 22, 31, .58) 42%, rgba(7, 22, 31, .22) 100%),
    linear-gradient(rgba(0,0,0,.22), rgba(0,0,0,.22));
}
.hero-card { transform: translateY(14px); }
.hero-card h1 {
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif;
  font-size: clamp(46px, 4.4vw, 72px);
  line-height: 1.02;
  font-weight: 400;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-shadow: 20px 0 52px #000;
}
.hero-card p {
  margin-top: 22px;
  font-family: var(--sans);
  font-size: 28px;
  line-height: 1.65;
  font-weight: 400;
}








.start-strip {
  padding-left: max(56px, calc((100vw - var(--content-width)) / 2 + 56px));
  padding-right: max(56px, calc((100vw - var(--content-width)) / 2 + 56px));
}
.services,
.testimonials,
.logos,
.instagram {
  width: 100%;
}
.gallery,
.products,
.catalogue-band,
.warehouse {
  width: min(calc(100% - 108px), var(--content-width));
  margin-left: auto;
  margin-right: auto;
}
.products { padding-left: 0; padding-right: 0; }

.service-tabs {
  max-width: 1220px;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 24px;
  row-gap: 34px;
}
.service-tab {
  min-height: 132px;
  display: grid;
  grid-template-rows: 94px 30px;
  align-content: start;
  justify-items: center;
  row-gap: 12px;
}
.service-art {
  position: relative;
  width: 128px;
  height: 94px;
  display: block;
  overflow: visible;
}
.service-art img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 128px;
  height: 94px;
  transform: translate(-50%, -50%);
  object-fit: contain;
  transition: opacity .18s ease, transform .18s ease;
}
.service-art .state-normal { opacity: 1; z-index: 1; }
.service-art .state-hover { opacity: 0; z-index: 2; width: 126px; height: 116px; }
.service-art .state-active { opacity: 0; z-index: 3; width: 130px; height: 168px; }
.service-label {
  width: min(210px, 100%);
  min-width: 0;
  min-height: 34px;
  padding: 7px 12px 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #347b92;
  background: #fff;
  border: 1px solid #347b92;
  border-radius: 9px;
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0;
  white-space: nowrap;
}
.service-tab:hover:not(.is-active) .state-normal { opacity: 0; }
.service-tab:hover:not(.is-active) .state-hover { opacity: 1; transform: translate(-50%, -52%) scale(1.02); }
.service-tab:hover:not(.is-active) .service-label { display: inline-flex; }
.service-tab.is-active {
  grid-template-rows: 168px;
  row-gap: 0;
}
.service-tab.is-active .service-art {
  width: 130px;
  height: 168px;
}
.service-tab.is-active .state-normal,
.service-tab.is-active .state-hover { opacity: 0; }
.service-tab.is-active .state-active { opacity: 1; }
.service-tab.is-active .service-label { display: none; }

@media (max-width: 1200px) {
  .site-header {
    grid-template-columns: 220px 1fr 260px;
    gap: 22px;
  }
  .brand img { width: 220px; }
  .main-nav { gap: 24px; font-size: 12px; }
  .phone-link { font-size: 12px; }
}

@media (max-width: 900px) {
  .site-header {
    height: auto;
    min-height: 76px;
    padding: 18px 28px;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 14px;
  }
  .main-nav { flex-wrap: wrap; gap: 14px; font-size: 11px; }
  .header-actions { justify-content: center; }
  .hero { height: 540px; min-height: 540px; }
  .gallery, .products, .catalogue-band, .warehouse { width: calc(100% - 44px); }
  .start-strip { padding-left: 34px; padding-right: 34px; grid-template-columns: 1fr; }
  .service-tabs { grid-template-columns: repeat(3, 1fr); }
  .site-footer { grid-template-columns: 1fr 1fr; padding: 44px 30px; gap: 34px; }
  .footer-logo-block { grid-column: span 2; }
}

@media (max-width: 520px) {
  .site-header {
    height: 107px;
    min-height: 107px;
    padding: 0 28px;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    justify-items: start;
  }
  .brand img { width: 178px; }
  .hero { height: 460px; min-height: 460px; }
  .hero-card h1 {
    font-family: var(--sans);
    font-size: 0;
    line-height: .98;
    font-weight: 600;
    text-shadow: 0 8px 26px rgba(0,0,0,.45);
  }
  .hero-card h1::before { content: 'Decor Hire'; display: block; font-size: 37px; }
  .hero-card h1::after { content: '& Styling'; display: block; font-size: 37px; }
  .service-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 43px 22px; }
  .service-tab { min-height: 128px; grid-template-rows: 88px 30px; }
  .service-art { width: 120px; height: 88px; }
  .service-art img { width: 120px; height: 88px; }
  .service-art .state-hover { width: 120px; height: 108px; }
  .service-label { min-width: 128px; font-size: 11px; }
  .service-tab.is-active { grid-template-rows: 138px; }
  .service-tab.is-active .service-art { width: 112px; height: 138px; }
  .service-art .state-active { width: 112px; height: 145px; }
  .gallery, .products, .catalogue-band, .warehouse { width: calc(100% - 36px); }
  .products { width: 100%; }
}


/* Final desktop proportion lock: Figma content frame, not viewport stretch */
:root { --design-frame: 1050px; }

.products,
.catalogue-band,
.warehouse {
  width: min(calc(100% - 64px), var(--design-frame)) !important;
  max-width: var(--design-frame) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.products {
  padding: 0 0 58px !important;
  background: #fff;
}
.products .section-line {
  margin: 0 0 26px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.products .section-line h2 {
  margin: 0 !important;
  font-family: var(--sans);
  font-size: 26px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  text-align: left !important;
}
.products .section-line a {
  min-width: 128px;
  min-height: 37px;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #000;
  border-radius: 5px;
  font-family: var(--sans);
  font-size: 10px !important;
  font-weight: 600;
  letter-spacing: .7px;
  text-transform: uppercase;
}
.product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 38px !important;
  padding: 0 !important;
  overflow: visible !important;
}
.product-grid article {
  min-width: 0;
  background: #fff;
  overflow: visible !important;
  border-radius: 0 !important;
}
.product-grid img {
  width: 100% !important;
  height: 181px !important;
  border-radius: 10px 10px 0 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #f7f7f7;
}
.product-grid h3 {
  margin: 14px 0 8px !important;
  color: #000;
  font-family: var(--body);
  font-size: 18px !important;
  line-height: 1.08 !important;
  font-weight: 400 !important;
  letter-spacing: .5px;
}
.product-grid p {
  margin: 0 !important;
  color: #000;
  font-size: 11px !important;
  line-height: 1.2;
  letter-spacing: .4px;
}

.catalogue-band {
  height: 245px !important;
  min-height: 245px !important;
  margin-top: 8px !important;
  margin-bottom: 48px !important;
}
.catalogue-live-copy {
  width: 42% !important;
  padding: 43px 0 32px 50px !important;
}
.catalogue-live-copy p,
.catalogue-live-copy h2 {
  font-size: 26px !important;
}
.catalogue-live-copy span {
  max-width: 330px !important;
  font-size: 10px !important;
}
.catalogue-actions a {
  min-height: 36px !important;
  border-radius: 6px !important;
}

.warehouse {
  height: 360px !important;
  min-height: 360px !important;
  margin-top: 0 !important;
  margin-bottom: 58px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  border: 1px solid #e2e2e2 !important;
  background: #fff !important;
  overflow: hidden !important;
}
.warehouse-collage {
  height: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
}
.warehouse-collage img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
}
.warehouse-panel {
  min-height: 0 !important;
  height: 100% !important;
  padding: 44px 66px 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.location-icon {
  width: 50px !important;
  height: 50px !important;
  margin-bottom: 16px !important;
}
.warehouse-panel h2 {
  margin-bottom: 20px !important;
  font-size: 29px !important;
  line-height: .95 !important;
}
.warehouse-panel p {
  max-width: 410px !important;
  margin-bottom: 13px !important;
  font-size: 9px !important;
  line-height: 1.55 !important;
}
.warehouse-panel address {
  max-width: 410px !important;
  margin-bottom: 24px !important;
  font-size: 8.5px !important;
  line-height: 1.55 !important;
}
.warehouse-panel a {
  min-width: 142px !important;
  min-height: 38px !important;
  border-radius: 5px !important;
  font-size: 10px !important;
}

@media (min-width: 1400px) {
  :root { --design-frame: 1050px; }
}

@media (max-width: 900px) {
  .products,
  .catalogue-band,
  .warehouse {
    width: calc(100% - 44px) !important;
    max-width: none !important;
  }
  .product-grid { gap: 22px !important; }
  .warehouse { height: auto !important; min-height: 0 !important; }
  .warehouse-panel { min-height: 320px !important; }
}

@media (max-width: 520px) {
  .products {
    width: 100% !important;
    max-width: none !important;
    padding: 74px 0 36px 22px !important;
    overflow: hidden !important;
  }
  .products .section-line {
    display: block !important;
    margin: 0 22px 24px 0 !important;
    text-align: center !important;
  }
  .products .section-line h2 {
    font-size: 31px !important;
    line-height: 1.02 !important;
    text-align: center !important;
  }
  .products .section-line a { display: none !important; }
  .product-grid {
    display: flex !important;
    gap: 14px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    padding: 0 22px 6px 0 !important;
    scrollbar-width: none;
  }
  .product-grid article {
    flex: 0 0 304px !important;
    scroll-snap-align: start;
    overflow: hidden !important;
    border-radius: 12px 12px 0 0 !important;
  }
  .product-grid img {
    height: 287px !important;
    border-radius: 12px 12px 0 0 !important;
  }
  .product-grid h3 {
    margin: 18px 16px 10px !important;
    font-size: 26px !important;
    line-height: 1.08 !important;
  }
  .product-grid p { margin: 0 16px 18px !important; font-size: 12px !important; }
  .catalogue-band {
    width: calc(100% - 36px) !important;
    height: 230px !important;
    min-height: 230px !important;
  }
  .warehouse {
    width: calc(100% - 36px) !important;
    height: auto !important;
    min-height: 154px !important;
    grid-template-columns: 1fr 1fr !important;
    margin-bottom: 28px !important;
  }
  .warehouse-panel { min-height: 154px !important; padding: 18px 12px 14px !important; }
  .warehouse-collage img { min-height: 77px !important; }
}


/* Final header interaction and no-wrap lock */
.site-header {
  height: 56px !important;
  grid-template-columns: 245px minmax(0, 1fr) max-content !important;
  gap: 28px !important;
  align-items: center !important;
}
.main-nav {
  gap: 31px !important;
  align-items: center !important;
}
.main-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 56px;
  white-space: nowrap;
  line-height: 1;
}
.main-nav a::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 9px;
  width: 0;
  height: 1px;
  background: #7EB7CE;
  transform: translateX(-50%);
  transition: width .24s ease;
}
.main-nav a:hover::after,
.main-nav a:focus-visible::after {
  width: calc(100% + 10px);
}
.header-actions {
  min-width: 368px;
  gap: 24px !important;
  justify-content: flex-end !important;
  white-space: nowrap;
}
.phone-link,
.header-cta {
  white-space: nowrap !important;
  flex: 0 0 auto;
  line-height: 1 !important;
}
.phone-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.phone-link::before {
  margin-right: 0 !important;
  line-height: 1;
}
.header-cta {
  min-width: 156px;
  min-height: 36px !important;
  justify-content: center;
}

@media (max-width: 1280px) {
  .site-header {
    grid-template-columns: 220px minmax(0, 1fr) max-content !important;
    gap: 18px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .brand img { width: 220px !important; }
  .main-nav { gap: 18px !important; font-size: 11px !important; }
  .header-actions { min-width: 318px; gap: 14px !important; }
  .phone-link { font-size: 11px !important; }
  .header-cta { min-width: 142px; font-size: 11px !important; }
}

@media (max-width: 980px) {
  .site-header {
    height: auto !important;
    grid-template-columns: 1fr !important;
  }
  .main-nav a { min-height: 28px; }
  .main-nav a::after { bottom: -4px; }
  .header-actions { min-width: 0; }
}

@media (max-width: 520px) {
  .site-header {
    height: 107px !important;
    grid-template-columns: 1fr auto auto !important;
  }
  .header-actions { min-width: 0; }
  .header-cta { min-width: 36px; }
}

/* Mobile hero uses supplied Figma mobile banner */
.hero-media,
.hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.hero-media img {
  object-fit: cover;
  object-position: center center;
}
@media (max-width: 520px) {
  .hero-media img {
    object-position: center top !important;
  }
}

/* Final cascade lock: About hero Figma typography, without touching Previous Events. */
body.about-page .about-hero > .page-hero-copy,
body.about-page .about-hero .page-hero-copy {
  position: absolute !important;
  left: max(80px, calc((100vw - 1921px) / 2 + 152px)) !important;
  top: 99.5px !important;
  width: 566px !important;
  max-width: min(566px, calc(100vw - 160px)) !important;
  height: 156px !important;
  min-height: 156px !important;
  max-height: 156px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

body.about-page .about-hero .page-hero-copy h1,
body.about-page .page-hero h1 {
  width: 566px !important;
  max-width: 100% !important;
  height: 91px !important;
  min-height: 91px !important;
  max-height: 91px !important;
  margin: 0 0 15px !important;
  font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
  font-size: 75px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
}

body.about-page .about-hero .page-hero-copy p,
body.about-page .page-hero p {
  width: 566px !important;
  max-width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  margin: 0 !important;
  font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
  font-size: 25px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 1px !important;
  color: #fff !important;
}

@media (max-width: 980px) {
  body.about-page .about-hero > .page-hero-copy,
  body.about-page .about-hero .page-hero-copy {
    left: 24px !important;
    top: 72px !important;
    width: min(566px, calc(100vw - 48px)) !important;
    max-width: calc(100vw - 48px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  body.about-page .about-hero .page-hero-copy h1,
  body.about-page .page-hero h1 {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-bottom: 12px !important;
    font-size: clamp(42px, 9vw, 75px) !important;
    letter-spacing: clamp(1px, .4vw, 3px) !important;
  }

  body.about-page .about-hero .page-hero-copy p,
  body.about-page .page-hero p {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    font-size: clamp(16px, 4.7vw, 25px) !important;
    letter-spacing: .4px !important;
  }
}

/* Service icon export cleanup: prevent baked button-border remnants */
.service-art {
  height: 86px !important;
}
.service-art img {
  height: 86px !important;
}
.service-art .state-hover {
  width: 126px !important;
  height: 100px !important;
}
.service-tab {
  grid-template-rows: 86px 30px !important;
  row-gap: 10px !important;
}
.service-tab.is-active {
  grid-template-rows: 168px !important;
}
.service-tab.is-active .service-art,
.service-tab.is-active .service-art img.state-active {
  height: 168px !important;
}
@media (max-width: 520px) {
  .service-art { height: 82px !important; }
  .service-art img { height: 82px !important; }
  .service-art .state-hover { height: 96px !important; }
  .service-tab { grid-template-rows: 82px 30px !important; }
  .service-tab.is-active { grid-template-rows: 138px !important; }
  .service-tab.is-active .service-art,
  .service-tab.is-active .service-art img.state-active { height: 145px !important; }
}

/* Final readability and testimonial slider pass */
body {
  font-size: 17px !important;
}

p,
li,
address,
summary,
input,
textarea,
.gallery-content p:not(.gallery-kicker),
.product-grid p,
.catalogue-live-copy span,
.warehouse-panel p,
.warehouse-panel address,
.testimonial-grid p,
.testimonial-grid span,
.faq details[open] p,
.footer-col a,
.footer-newsletter p,
.footer-newsletter input,
.footer-newsletter .footer-small {
  font-size: 17px !important;
  line-height: 1.5 !important;
}

.testimonials {
  padding: 58px clamp(30px, 5vw, 76px) 76px !important;
}

.testimonial-slider {
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
  padding-right: 54px;
}

.testimonial-viewport {
  overflow: hidden;
  width: 100%;
}

.testimonial-grid {
  max-width: none !important;
  width: 100%;
  margin: 0 !important;
  display: flex !important;
  grid-template-columns: none !important;
  gap: 16px !important;
  text-align: left;
  transition: transform .45s ease;
  will-change: transform;
}

.testimonial-grid article {
  flex: 0 0 calc((100% - 32px) / 3);
  min-height: 260px !important;
  padding: 22px 18px 20px !important;
  display: flex;
  flex-direction: column;
  background: rgba(12, 70, 46, .76);
  border: 1px solid rgba(255,255,255,.66);
  border-radius: 10px;
}

.testimonial-grid h3 {
  margin: 0 0 16px !important;
  color: #fff;
  font-size: 19px !important;
  line-height: 1.08 !important;
}

.testimonial-grid p {
  margin: 0 0 18px !important;
  color: #fff;
  letter-spacing: .45px;
}

.testimonial-grid span {
  display: block;
  margin-top: auto;
  color: rgba(255,255,255,.92);
  letter-spacing: .35px;
}

.testimonial-next {
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 42px !important;
  height: 58px !important;
  display: grid !important;
  place-items: center;
  border: 0;
  color: #fff;
  background: transparent;
  font-size: 58px !important;
  line-height: 1 !important;
  font-weight: 200;
  cursor: pointer;
}

.warehouse {
  height: auto !important;
  min-height: 440px !important;
}

.warehouse-panel {
  min-height: 440px !important;
}

@media (max-width: 980px) {
  .testimonial-slider {
    padding-right: 46px;
  }

  .testimonial-grid article {
    flex-basis: calc((100% - 16px) / 2);
  }
}

@media (max-width: 520px) {
  .testimonials {
    padding: 42px 22px 54px !important;
  }

  .testimonials h2 {
    margin-bottom: 24px !important;
    font-size: 27px !important;
  }

  .testimonial-slider {
    padding-right: 38px;
  }

  .testimonial-grid {
    gap: 14px !important;
  }

  .testimonial-grid article {
    flex-basis: 100%;
    min-height: 300px !important;
  }

  .testimonial-next {
    display: grid !important;
    width: 34px !important;
    font-size: 46px !important;
  }
}

/* Final content alignment pass */
:root {
  --section-frame: min(calc(100vw - 108px), var(--content-width));
}

.gallery,
.products,
.catalogue-band,
.warehouse {
  width: var(--section-frame) !important;
  max-width: var(--content-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.gallery {
  border-radius: 0 0 18px 18px !important;
  overflow: hidden !important;
}

.gallery-photo {
  border-radius: 8px !important;
}

.gallery-btn,
.products .section-line a,
.warehouse-panel a,
.catalogue-actions a {
  border-radius: 7px !important;
}

.products {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.products .section-line,
.product-grid {
  width: 100% !important;
}

.testimonials {
  width: 100% !important;
  padding-left: max(30px, calc((100vw - var(--section-frame)) / 2)) !important;
  padding-right: max(30px, calc((100vw - var(--section-frame)) / 2)) !important;
}

.testimonial-slider {
  max-width: var(--content-width) !important;
}

@media (max-width: 900px) {
  :root {
    --section-frame: calc(100vw - 44px);
  }
}

@media (max-width: 520px) {
  :root {
    --section-frame: calc(100vw - 36px);
  }

  .gallery,
  .catalogue-band,
  .warehouse {
    width: var(--section-frame) !important;
  }

  .products {
    width: var(--section-frame) !important;
    max-width: var(--section-frame) !important;
    padding: 74px 0 36px !important;
    overflow: hidden !important;
  }

  .products .section-line {
    margin: 0 0 24px !important;
  }

  .product-grid {
    padding: 0 0 6px !important;
  }

  .product-grid article {
    flex-basis: min(304px, calc(var(--section-frame) - 2px)) !important;
  }

  .testimonials {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

/* Final gallery/product detail match */
.gallery {
  min-height: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 58px !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.gallery picture,
.gallery-exact {
  display: block;
  width: 100%;
}

.gallery-exact {
  height: auto;
  border-radius: 0 0 12px 12px;
}

.gallery-bg,
.gallery-content,
.gallery-collage {
  display: none !important;
}

.products {
  padding-top: 0 !important;
  padding-bottom: 66px !important;
}

.products .section-line {
  margin-bottom: 34px !important;
  align-items: center !important;
}

.products .section-line h2 {
  font-size: 34px !important;
  line-height: 1 !important;
  letter-spacing: .2px !important;
}

.products .section-line a {
  min-width: 172px !important;
  min-height: 42px !important;
  font-size: 13px !important;
  border-radius: 7px !important;
}

.product-grid {
  gap: 42px !important;
}

.product-grid img {
  height: 242px !important;
  border-radius: 10px !important;
  object-fit: cover !important;
  background: #f8f7f4 !important;
}

.product-grid h3 {
  margin-top: 16px !important;
  font-size: 25px !important;
  line-height: 1.05 !important;
  letter-spacing: .2px !important;
}

.product-grid p {
  font-size: 17px !important;
}

.catalogue-band {
  margin-top: 6px !important;
  border-radius: 0 !important;
}

@media (max-width: 520px) {
  .gallery {
    margin-bottom: 44px !important;
  }

.gallery-exact {
  width: 100%;
  min-height: 210px;
  object-fit: cover;
  object-position: center;
  border-radius: 0 0 10px 10px;
}

  .products {
    padding-top: 0 !important;
    padding-bottom: 46px !important;
  }

  .products .section-line {
    text-align: left !important;
    margin-bottom: 28px !important;
  }

  .products .section-line h2 {
    font-size: 30px !important;
    text-align: left !important;
  }

  .product-grid img {
    height: 250px !important;
  }
}

/* Final Favorite Products Figma style */
.product-grid {
  align-items: start !important;
  gap: clamp(30px, 3.1vw, 44px) !important;
}

.product-grid article {
  background: transparent !important;
  overflow: visible !important;
}

.product-grid img {
  width: 100% !important;
  aspect-ratio: 1.06 / 1 !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 16px !important;
  background: #f8f7f4 !important;
}

.product-grid h3 {
  margin: 22px 0 18px !important;
  color: #000 !important;
  font-family: var(--body) !important;
  font-size: clamp(25px, 1.85vw, 35px) !important;
  line-height: 1.03 !important;
  font-weight: 400 !important;
  letter-spacing: .1px !important;
}

.product-grid p {
  margin: 0 !important;
  color: #111 !important;
  font-family: var(--body) !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  letter-spacing: .2px !important;
}

.product-grid p strong {
  font-weight: 600;
  font-style: italic;
}

@media (max-width: 900px) {
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px 22px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    padding: 0 !important;
  }

  .product-grid article {
    flex: initial !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .product-grid img {
    height: auto !important;
    border-radius: 14px !important;
  }

  .product-grid h3 {
    margin: 14px 0 10px !important;
    font-size: 22px !important;
  }

  .product-grid p {
    margin: 0 !important;
    font-size: 15px !important;
  }
}

/* Final hero note correction */










/* Final catalogue / mood boards Figma match */
.catalogue-band {
  position: relative !important;
  display: block !important;
  width: min(calc(100vw - 108px), 1550px) !important;
  max-width: 1550px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  aspect-ratio: 1600 / 435 !important;
  height: auto !important;
  min-height: 0 !important;
  margin-top: 8px !important;
  margin-bottom: 58px !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: #6fb1c9 !important;
}

.catalogue-art {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
}

.catalogue-art img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.catalogue-live-copy {
  position: absolute !important;
  z-index: 2 !important;
  top: 50% !important;
  left: clamp(44px, 7.6vw, 82px) !important;
  transform: translateY(-50%) !important;
  width: min(34%, 365px) !important;
  padding: 0 !important;
  color: #fff !important;
  text-align: center !important;
}

.catalogue-live-copy p,
.catalogue-live-copy h2 {
  margin: 0 !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: clamp(28px, 2.35vw, 39px) !important;
  line-height: 1.05 !important;
  letter-spacing: .9px !important;
}

.catalogue-live-copy p {
  font-weight: 600 !important;
}

.catalogue-live-copy h2 {
  margin-top: 1px !important;
  font-weight: 500 !important;
  font-style: italic !important;
}

.catalogue-live-copy span {
  display: block !important;
  max-width: 340px !important;
  margin: clamp(22px, 2.25vw, 34px) auto 0 !important;
  color: rgba(255, 255, 255, .92) !important;
  font-family: var(--body) !important;
  font-size: clamp(10px, .78vw, 12px) !important;
  line-height: 1.48 !important;
  letter-spacing: .15px !important;
}

.catalogue-actions {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: clamp(20px, 2.3vw, 32px) !important;
}

.catalogue-actions a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-width: 139px !important;
  min-height: 40px !important;
  padding: 0 22px !important;
  border-radius: 6px !important;
  color: #000 !important;
  background: #fff !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .15px !important;
}

.catalogue-actions a:nth-child(2) {
  min-width: 163px !important;
  color: #fff !important;
  background: #000 !important;
}

.catalogue-icon {
  position: relative;
  flex: 0 0 auto;
  display: inline-block;
  width: 13px;
  height: 13px;
}

.catalogue-icon-plus {
  border: 2px solid currentColor;
  border-radius: 999px;
}

.catalogue-icon-plus::before,
.catalogue-icon-plus::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transform: translate(-50%, -50%);
}

.catalogue-icon-plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.catalogue-icon-eye {
  width: 15px;
  height: 10px;
  margin-top: 1px;
  border: 1.8px solid currentColor;
  border-radius: 50% / 65%;
}

.catalogue-icon-eye::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
  transform: translate(-50%, -50%);
}

@media (max-width: 900px) {
  .catalogue-live-copy {
    left: 36px !important;
    width: 38% !important;
  }

  .catalogue-live-copy p,
  .catalogue-live-copy h2 {
    font-size: clamp(21px, 3.6vw, 31px) !important;
  }

  .catalogue-live-copy span {
    margin-top: 15px !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
  }

  .catalogue-actions {
    margin-top: 15px !important;
    gap: 7px !important;
  }

  .catalogue-actions a {
    min-width: 112px !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    font-size: 10px !important;
  }

  .catalogue-actions a:nth-child(2) {
    min-width: 136px !important;
  }
}

@media (max-width: 520px) {
  .catalogue-band {
    aspect-ratio: 449 / 597 !important;
    min-height: 380px !important;
    margin-bottom: 44px !important;
  }

  .catalogue-art img {
    object-position: center center !important;
  }

  .catalogue-live-copy {
    top: 24px !important;
    left: 22px !important;
    right: 22px !important;
    transform: none !important;
    width: auto !important;
  }

  .catalogue-live-copy p,
  .catalogue-live-copy h2 {
    font-size: 28px !important;
  }

  .catalogue-live-copy span {
    max-width: 280px !important;
    margin-top: 16px !important;
    font-size: 10px !important;
  }
}

/* Final typography lock */
:root {
  --sans: 'Instrument Sans', 'Poppins', Arial, sans-serif;
  --body: 'Instrument Sans', 'Poppins', Arial, sans-serif;
}

body,
body * {
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
}

body {
  font-size: 17px !important;
}

p,
li,
address,
summary,
input,
textarea,
.service-detail-copy p,
.service-detail-copy li,
.gallery-content p:not(.gallery-kicker),
.product-grid p,
.catalogue-live-copy span,
.warehouse-panel p,
.warehouse-panel address,
.testimonial-grid p,
.testimonial-grid span,
.faq details[open] p,
.footer-col a,
.footer-newsletter p,
.footer-newsletter input,
.footer-small {
  font-size: 17px !important;
}

/* Final body-copy size and tracking lock */
body {
  font-size: 17px !important;
  letter-spacing: 0 !important;
}

p,
li,
address,
summary,
input,
textarea,
.service-detail-copy p,
.service-detail-copy li,
.gallery-content p:not(.gallery-kicker),
.product-grid p,
.catalogue-live-copy span,
.warehouse-panel p,
.warehouse-panel address,
.testimonial-grid p,
.testimonial-grid span,
.faq details[open] p,
.footer-col a,
.footer-newsletter p,
.footer-newsletter input,
.footer-small {
  font-size: 17px !important;
  letter-spacing: 0 !important;
}

/* Final associated-companies logo slider */
.logos {
  padding: 18px 0 !important;
  background: #fff !important;
  overflow: hidden !important;
}

.logo-slider {
  width: 100% !important;
  overflow: hidden !important;
}

.logo-track {
  display: flex !important;
  align-items: center !important;
  gap: 28px !important;
  width: max-content !important;
  animation: logoSlide 36s linear infinite !important;
}

.logo-slider:hover .logo-track {
  animation-play-state: paused !important;
}

.logo-item {
  position: relative !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 146px !important;
  height: 54px !important;
  transition: transform .2s ease !important;
}

.logo-item img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  transition: opacity .2s ease !important;
}

.logo-bw {
  opacity: 1 !important;
}

.logo-color {
  opacity: 0 !important;
}

.logo-item:hover,
.logo-item:focus-within {
  transform: scale(1.08) !important;
}

.logo-item:hover .logo-bw,
.logo-item:focus-within .logo-bw {
  opacity: 0 !important;
}

.logo-item:hover .logo-color,
.logo-item:focus-within .logo-color {
  opacity: 1 !important;
}

@media (max-width: 520px) {
  .logo-track {
    gap: 22px !important;
  }

.logo-item {
  width: 124px !important;
  height: 46px !important;
  }
}

/* Final warehouse border cleanup */
.warehouse {
  border: 0 !important;
  box-shadow: none !important;
}

/* Final FAQ description size */
.faq details[open] p {
  font-size: 15px !important;
}

/* Final mobile catalogue layout */
@media (max-width: 520px) {
  .catalogue-band {
    position: relative !important;
    display: block !important;
    width: calc(100% - 44px) !important;
    max-width: 417px !important;
    height: auto !important;
    min-height: 744px !important;
    aspect-ratio: auto !important;
    margin: 0 auto 44px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #6fb1c9 !important;
  }

  .catalogue-art {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
  }

  .catalogue-art img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
  }

  .catalogue-live-copy {
    position: relative !important;
    z-index: 2 !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    padding: 486px 32px 30px !important;
    color: #fff !important;
    text-align: left !important;
  }

  .catalogue-live-copy p,
  .catalogue-live-copy h2 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 28px !important;
    line-height: 1.12 !important;
    letter-spacing: 1px !important;
  }

  .catalogue-live-copy p {
    font-weight: 600 !important;
  }

  .catalogue-live-copy h2 {
    font-weight: 500 !important;
    font-style: italic !important;
  }

  .catalogue-live-copy span {
    display: block !important;
    max-width: 260px !important;
    margin: 28px auto 0 !important;
    color: rgba(255, 255, 255, .88) !important;
    font-size: 10px !important;
    line-height: 1.48 !important;
    letter-spacing: .25px !important;
    text-align: center !important;
  }

  .catalogue-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 28px !important;
  }

  .catalogue-actions a,
  .catalogue-actions a:nth-child(2) {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    letter-spacing: .25px !important;
  }
}

/* Final mobile hero/header/start-strip match */
@media (max-width: 520px) {
  .site-header {
    height: 63px !important;
    min-height: 63px !important;
    display: grid !important;
    grid-template-columns: 1fr auto auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 18px !important;
    background: #000 !important;
  }

  .brand img {
    width: 154px !important;
    height: auto !important;
  }

  .main-nav,
  .phone-link {
    display: none !important;
  }

  .header-actions {
    min-width: 0 !important;
    display: contents !important;
  }

  .header-cta {
    width: 37px !important;
    min-width: 37px !important;
    height: 37px !important;
    min-height: 37px !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #000 !important;
    font-size: 0 !important;
    overflow: hidden !important;
  }

  .header-cta span {
    display: block !important;
    font-size: 19px !important;
    line-height: 1 !important;
  }

  .header-actions::after {
    content: '' !important;
    width: 29px !important;
    height: 22px !important;
    display: block !important;
    background:
      linear-gradient(#fff 0 0) top/100% 3px no-repeat,
      linear-gradient(#fff 0 0) center/100% 3px no-repeat,
      linear-gradient(#fff 0 0) bottom/100% 3px no-repeat !important;
  }

  .hero {
    height: 365px !important;
    min-height: 365px !important;
    max-height: 365px !important;
    place-items: center !important;
    overflow: hidden !important;
    background: #000 !important;
  }

  .hero-media img,
  .hero img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    filter: none !important;
  }

  .hero-shade {
    background: rgba(0, 0, 0, .24) !important;
  }

  .hero-card {
    transform: translateY(24px) !important;
    text-align: center !important;
  }

  .hero-card h1 {
    margin: 0 !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 0 !important;
    line-height: .94 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-shadow: 0 4px 14px rgba(0, 0, 0, .45) !important;
  }

  .hero-card h1::before {
    content: 'Decor Hire' !important;
    display: block !important;
    font-size: 30px !important;
  }

  .hero-card h1::after {
    content: '& Styling' !important;
    display: block !important;
    font-size: 30px !important;
  }

  .hero-card p {
    margin-top: 13px !important;
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    letter-spacing: 1.7px !important;
  }



  .start-strip {
    min-height: 174px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 16px !important;
    padding: 28px 26px 32px !important;
    background: #bcecf7 !important;
    text-align: center !important;
  }

  .start-strip h2 {
    margin: 0 !important;
    color: #000 !important;
    max-width: 330px !important;
    font-size: 21px !important;
    line-height: 1.02 !important;
    font-weight: 600 !important;
    letter-spacing: .2px !important;
  }

  .start-strip h2 span {
    display: block !important;
    color: #0784cf !important;
  }

  .start-strip a {
    width: min(162px, 100%) !important;
    min-height: 38px !important;
    padding: 0 18px !important;
    border-radius: 6px !important;
    background: #000 !important;
    color: #fff !important;
    font-size: 0 !important;
    font-weight: 600 !important;
  }

  .start-strip a::before {
    content: 'EVENT PRICING' !important;
    font-size: 12px !important;
    letter-spacing: .2px !important;
  }
}

/* Final mobile warehouse match */
@media (max-width: 520px) {
  .warehouse {
    width: calc(100% - 44px) !important;
    max-width: 417px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 15px 15px 0 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  .warehouse-collage {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 1fr 1fr !important;
    height: 352px !important;
  }

  .warehouse-collage img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }

  .warehouse-panel {
    min-height: 0 !important;
    padding: 30px 20px 62px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    background: #fff !important;
    color: #000 !important;
  }

  .location-icon {
    width: 58px !important;
    height: 58px !important;
    margin: 0 0 16px !important;
    color: #000 !important;
  }

  .warehouse-panel h2 {
    margin: 0 0 22px !important;
    color: #000 !important;
    font-size: 30px !important;
    line-height: .9 !important;
    font-weight: 600 !important;
    letter-spacing: .2px !important;
  }

  .warehouse-panel h2 em {
    display: block !important;
    font-style: italic !important;
    font-weight: 400 !important;
  }

  .warehouse-panel p {
    display: none !important;
  }

  .warehouse-panel address {
    max-width: 270px !important;
    margin: 0 0 28px !important;
    color: #000 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-style: normal !important;
    letter-spacing: .2px !important;
  }

  .warehouse-panel a {
    width: min(232px, 100%) !important;
    min-height: 38px !important;
    padding: 0 22px !important;
    border-radius: 6px !important;
    color: #fff !important;
    background: #000 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .2px !important;
  }
}

/* Final mobile FAQ match */
@media (max-width: 520px) {
  .faq {
    width: 100% !important;
    max-width: none !important;
    padding: 22px 25px 30px !important;
    background: #fff !important;
  }

  .faq h2 {
    margin: 0 0 26px !important;
    color: #000 !important;
    font-size: 36px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  .faq-list {
    gap: 16px !important;
  }

  .faq details {
    border: 1.5px solid #000 !important;
    border-radius: 12px !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  .faq summary {
    min-height: 74px !important;
    padding: 14px 48px 14px 15px !important;
    color: #000 !important;
    font-size: 16px !important;
    line-height: 1.12 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  .faq summary::after {
    right: 18px !important;
    color: #000 !important;
    font-size: 26px !important;
    font-weight: 400 !important;
  }

  .faq details[open] {
    background: #000 !important;
    color: #fff !important;
  }

  .faq details[open] summary {
    min-height: 0 !important;
    padding: 22px 24px 18px !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
  }

  .faq details[open] summary::after {
    display: none !important;
  }

  .faq details[open] summary::before {
    content: '' !important;
    position: absolute !important;
    left: 24px !important;
    right: 24px !important;
    bottom: 0 !important;
    height: 2px !important;
    background: #7EB7CE !important;
  }

  .faq details[open] p {
    min-height: 0 !important;
    padding: 17px 24px 44px !important;
    margin: 0 !important;
    color: #fff !important;
    background: transparent !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

.faq details[open] p::after {
  bottom: 18px !important;
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1 !important;
  }
}

/* Final mobile header asset visibility */
.brand-logo-mobile,
.header-cta-mobile,
.mobile-menu-button {
  display: none !important;
}

@media (max-width: 520px) {
  .brand-logo-desktop,
  .header-cta-text {
    display: none !important;
  }

  .brand-logo-mobile {
    display: block !important;
    width: 225px !important;
    max-width: 58vw !important;
    height: auto !important;
  }

  .header-cta-mobile {
    display: block !important;
    width: 44px !important;
    height: 44px !important;
  }

  .mobile-menu-button {
    display: block !important;
    width: 44px !important;
    height: 43px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .mobile-menu-button img {
    width: 44px !important;
    height: 43px !important;
  }

  .header-actions::after {
    display: none !important;
    content: none !important;
  }

  .header-cta {
    background: transparent !important;
    border-radius: 0 !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  .site-header {
    grid-template-columns: minmax(0, 1fr) 44px 44px !important;
    padding: 0 15px !important;
  }
}


/* Final cleanup: remove temporary product/service experiment copy */
.product-note,
.product-card-cta,
.service-mobile-card {
  display: none !important;
}

/* Final mobile header asset lock */
.brand-logo-mobile,
.header-cta-mobile,
.mobile-menu-button {
  display: none !important;
}

.mobile-menu-button {
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

@media (max-width: 520px) {
  .site-header {
    height: 63px !important;
    min-height: 63px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px 44px !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 0 15px !important;
    background: #000 !important;
  }

  .brand {
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  .brand-logo-desktop,
  .main-nav,
  .phone-link,
  .header-cta-text {
    display: none !important;
  }

  .brand-logo-mobile {
    display: block !important;
    width: min(225px, calc(100vw - 132px)) !important;
    height: auto !important;
  }

  .header-actions {
    min-width: 0 !important;
    display: contents !important;
  }

  .header-actions::after {
    content: none !important;
    display: none !important;
  }

  .header-cta {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }

  .header-cta-mobile {
    display: block !important;
    width: 44px !important;
    height: 44px !important;
  }

  .mobile-menu-button {
    display: block !important;
    width: 44px !important;
    height: 43px !important;
    justify-self: end !important;
  }

  .mobile-menu-button img {
    display: block !important;
    width: 44px !important;
    height: 43px !important;
  }

  .service-detail {
    background: transparent !important;
    min-height: 0 !important;
  }
}

/* Final mobile testimonial dots */
.testimonial-dots {
  display: none;
}

@media (max-width: 520px) {
  .testimonial-next {
    display: none !important;
  }

  .testimonial-dots {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 18px !important;
  }

  .testimonial-dots button {
    width: 14px !important;
    height: 14px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .35) !important;
  }

  .testimonial-dots button.is-active {
    background: #fff !important;
  }
}


/* Final original service banners */
.service-detail-banner {
  image-rendering: auto !important;
}

@media (max-width: 520px) {
  .service-detail {
    background: transparent !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
  }

  .service-detail-banner {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}


/* Final heading/display refinement */
:root {
  --display: 'Instrument Sans', 'Poppins', Arial, sans-serif;
  --body: 'Instrument Sans', 'Poppins', Arial, sans-serif;
  --sans: 'Instrument Sans', 'Poppins', Arial, sans-serif;
}

body,
p,
li,
a,
button,
input,
textarea,
select,
summary,
address,
span {
  font-family: var(--body) !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--display) !important;
}

.hero-card {
  transform: translateY(18px) !important;
}

.hero-card h1 {
  margin: 0 !important;
  font-family: var(--display) !important;
  font-size: clamp(50px, 4.8vw, 68px) !important;
  line-height: .91 !important;
  font-weight: 600 !important;
  letter-spacing: .45px !important;
  text-transform: uppercase !important;
  text-shadow: 0 6px 18px rgba(0, 0, 0, .42) !important;
}

.hero-card p {
  margin-top: 18px !important;
  font-family: var(--body) !important;
  font-size: clamp(20px, 1.85vw, 26px) !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  text-shadow: 0 4px 14px rgba(0, 0, 0, .38) !important;
}

.start-strip h2,
.services h2,
.products h2,
.testimonials h2,
.faq h2 {
  font-family: var(--display) !important;
  font-weight: 600 !important;
}

@media (max-width: 520px) {
  .hero-card {
    transform: translateY(0) !important;
  }

  .hero-card h1 {
    font-family: var(--display) !important;
    font-size: 0 !important;
    line-height: .94 !important;
    font-weight: 600 !important;
    letter-spacing: .3px !important;
    text-shadow: 0 4px 14px rgba(0, 0, 0, .45) !important;
  }

  .hero-card h1::before,
  .hero-card h1::after {
    font-family: var(--display) !important;
    font-size: 32px !important;
    line-height: .95 !important;
    font-weight: 600 !important;
    letter-spacing: .2px !important;
  }

  .hero-card p {
    margin-top: 14px !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 1.5px !important;
  }
}


/* Final removal of old generated product test content */
.product-grid article::after,
.product-grid article:first-child::after,
.product-grid article:first-child p::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 520px) {
  .product-grid article::after,
  .product-grid article:first-child::after,
  .product-grid article:first-child p::after {
    content: none !important;
    display: none !important;
  }
}


/* Final mobile product card typography and loop lock - 2026-06-23 */
@media (max-width: 520px) {
  body.home .products {
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 auto !important;
    padding: 74px 0 42px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body.home .products .section-line {
    display: contents !important;
  }

  body.home .products .section-line h2 {
    box-sizing: border-box !important;
    order: 1 !important;
    width: min(331px, calc(100vw - 40px)) !important;
    max-width: min(331px, calc(100vw - 40px)) !important;
    height: 80px !important;
    min-height: 80px !important;
    margin: 0 auto 23px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 40px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  body.home .products .product-grid {
    --toc-product-card-width: 374.12px;
    --toc-product-gap: 15px;
    box-sizing: border-box !important;
    order: 2 !important;
    width: max-content !important;
    max-width: none !important;
    height: 596.71px !important;
    min-height: 596.71px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    gap: var(--toc-product-gap) !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    animation: toc-mobile-product-loop 30s linear infinite !important;
    will-change: transform !important;
  }

  body.home .products .product-grid:hover,
  body.home .products .product-grid:focus-within {
    animation-play-state: paused !important;
  }

  body.home .products .product-card-clone,
  body.home .products .product-description {
    display: block !important;
  }

  body.home .products .product-grid article,
  body.home .products .product-grid article.product-card {
    box-sizing: border-box !important;
    flex: 0 0 var(--toc-product-card-width) !important;
    width: var(--toc-product-card-width) !important;
    min-width: var(--toc-product-card-width) !important;
    max-width: var(--toc-product-card-width) !important;
    height: 596.71px !important;
    min-height: 596.71px !important;
    max-height: 596.71px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    scroll-snap-align: none !important;
  }

  body.home .products .product-grid article img {
    box-sizing: border-box !important;
    width: var(--toc-product-card-width) !important;
    min-width: var(--toc-product-card-width) !important;
    max-width: var(--toc-product-card-width) !important;
    height: 352.87px !important;
    min-height: 352.87px !important;
    max-height: 352.87px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    background: #f8f7f4 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.home .products .product-grid article h3 {
    box-sizing: border-box !important;
    width: var(--toc-product-card-width) !important;
    max-width: var(--toc-product-card-width) !important;
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    margin: 20.04px 0 0 !important;
    padding: 0 0 0 46.76px !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 31px !important;
    line-height: 1.03 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    overflow: visible !important;
  }

  body.home .products .product-grid article h3 span {
    display: block !important;
    width: auto !important;
    max-width: 310px !important;
    white-space: nowrap !important;
  }

  body.home .products .product-grid article .product-price {
    box-sizing: border-box !important;
    width: var(--toc-product-card-width) !important;
    max-width: var(--toc-product-card-width) !important;
    height: 17px !important;
    min-height: 17px !important;
    margin: 21px 0 0 !important;
    padding: 0 0 0 46.76px !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 13.84px !important;
    line-height: 120% !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  body.home .products .product-grid article .product-price-label {
    font-weight: 300 !important;
  }

  body.home .products .product-grid article .product-price strong,
  body.home .products .product-grid article .product-price em {
    color: #000 !important;
    font-weight: 500 !important;
  }

  body.home .products .product-grid article .product-price em {
    font-style: italic !important;
  }

  body.home .products .product-grid article .product-description {
    box-sizing: border-box !important;
    width: 246px !important;
    max-width: 246px !important;
    min-height: 34px !important;
    margin: 21px 0 0 46.76px !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 13.84px !important;
    line-height: 120% !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  body.home .products .section-line a {
    box-sizing: border-box !important;
    order: 3 !important;
    width: min(360px, calc(100vw - 54px)) !important;
    min-width: 0 !important;
    max-width: min(360px, calc(100vw - 54px)) !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 20px auto 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 8px !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 21.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }
}

@media (max-width: 520px) and (prefers-reduced-motion: reduce) {
  body.home .products .product-grid {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    animation: none !important;
    scrollbar-width: none !important;
  }

  body.home .products .product-grid article {
    scroll-snap-align: start !important;
  }
}

/* Final mobile menu panel lock - 2026-06-23 */
@media (max-width: 520px) {
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header {
    z-index: 130 !important;
  }

  body.menu-open .main-nav,
  body.about-page.menu-open .main-nav,
  body.contact-page.menu-open .main-nav,
  body.policy-page.menu-open .main-nav,
  body.previous-events-page.menu-open .main-nav,
  body.quick-form-page.menu-open .main-nav {
    box-sizing: border-box !important;
    position: fixed !important;
    top: 90px !important;
    right: 10px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 140 !important;
    width: min(266px, calc(100vw - 20px)) !important;
    min-width: 0 !important;
    max-width: min(266px, calc(100vw - 20px)) !important;
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 41px repeat(5, 41px) 1fr !important;
    align-items: stretch !important;
    align-content: start !important;
    justify-content: stretch !important;
    gap: 0 !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.menu-open .main-nav::before,
  body.about-page.menu-open .main-nav::before,
  body.contact-page.menu-open .main-nav::before,
  body.policy-page.menu-open .main-nav::before,
  body.previous-events-page.menu-open .main-nav::before,
  body.quick-form-page.menu-open .main-nav::before {
    content: '\00d7' !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    padding: 0 0 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    color: #fff !important;
    background: transparent !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    line-height: 29px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
  }

  body.menu-open .main-nav a,
  body.about-page.menu-open .main-nav a,
  body.contact-page.menu-open .main-nav a,
  body.policy-page.menu-open .main-nav a,
  body.previous-events-page.menu-open .main-nav a,
  body.quick-form-page.menu-open .main-nav a {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    max-height: 41px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 16px !important;
    line-height: 20.4px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }

  body.menu-open .main-nav a::before,
  body.menu-open .main-nav a::after,
  body.about-page.menu-open .main-nav a::before,
  body.about-page.menu-open .main-nav a::after,
  body.contact-page.menu-open .main-nav a::before,
  body.contact-page.menu-open .main-nav a::after,
  body.policy-page.menu-open .main-nav a::before,
  body.policy-page.menu-open .main-nav a::after,
  body.previous-events-page.menu-open .main-nav a::before,
  body.previous-events-page.menu-open .main-nav a::after,
  body.quick-form-page.menu-open .main-nav a::before,
  body.quick-form-page.menu-open .main-nav a::after {
    content: none !important;
    display: none !important;
  }

  body.menu-open .main-nav a:nth-child(1) { order: 1 !important; }
  body.menu-open .main-nav a:nth-child(3) { order: 2 !important; }
  body.menu-open .main-nav a:nth-child(4) { order: 3 !important; }
  body.menu-open .main-nav a:nth-child(5) { order: 4 !important; }
  body.menu-open .main-nav a:nth-child(2) { order: 5 !important; }

  body.home.menu-open .main-nav a:nth-child(1),
  body.menu-open .main-nav a[aria-current='page'],
  body.about-page.menu-open .main-nav a[aria-current='page'],
  body.contact-page.menu-open .main-nav a[aria-current='page'],
  body.policy-page.menu-open .main-nav a[aria-current='page'],
  body.previous-events-page.menu-open .main-nav a[aria-current='page'],
  body.quick-form-page.menu-open .main-nav a[aria-current='page'] {
    color: #000 !important;
    background: #fff !important;
  }

  body.menu-open::after {
    inset: 90px 0 0 !important;
    z-index: 100 !important;
    background: rgba(0, 0, 0, .42) !important;
  }
}

/* Final mobile menu hover state lock - 2026-06-23 */
@media (max-width: 520px) {
  body.menu-open .main-nav a:hover,
  body.menu-open .main-nav a:focus-visible,
  body.menu-open .main-nav a:active,
  body.about-page.menu-open .main-nav a:hover,
  body.about-page.menu-open .main-nav a:focus-visible,
  body.about-page.menu-open .main-nav a:active,
  body.contact-page.menu-open .main-nav a:hover,
  body.contact-page.menu-open .main-nav a:focus-visible,
  body.contact-page.menu-open .main-nav a:active,
  body.policy-page.menu-open .main-nav a:hover,
  body.policy-page.menu-open .main-nav a:focus-visible,
  body.policy-page.menu-open .main-nav a:active,
  body.previous-events-page.menu-open .main-nav a:hover,
  body.previous-events-page.menu-open .main-nav a:focus-visible,
  body.previous-events-page.menu-open .main-nav a:active,
  body.quick-form-page.menu-open .main-nav a:hover,
  body.quick-form-page.menu-open .main-nav a:focus-visible,
  body.quick-form-page.menu-open .main-nav a:active {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    max-height: 41px !important;
    padding: 0 10px !important;
    color: #000 !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }
}

/* Final mobile menu hover state lock - 2026-06-23 */
@media (max-width: 520px) {
  body.menu-open .main-nav a:hover,
  body.menu-open .main-nav a:focus-visible,
  body.menu-open .main-nav a:active,
  body.about-page.menu-open .main-nav a:hover,
  body.about-page.menu-open .main-nav a:focus-visible,
  body.about-page.menu-open .main-nav a:active,
  body.contact-page.menu-open .main-nav a:hover,
  body.contact-page.menu-open .main-nav a:focus-visible,
  body.contact-page.menu-open .main-nav a:active,
  body.policy-page.menu-open .main-nav a:hover,
  body.policy-page.menu-open .main-nav a:focus-visible,
  body.policy-page.menu-open .main-nav a:active,
  body.previous-events-page.menu-open .main-nav a:hover,
  body.previous-events-page.menu-open .main-nav a:focus-visible,
  body.previous-events-page.menu-open .main-nav a:active,
  body.quick-form-page.menu-open .main-nav a:hover,
  body.quick-form-page.menu-open .main-nav a:focus-visible,
  body.quick-form-page.menu-open .main-nav a:active {
    color: #000 !important;
    background: #fff !important;
  }
}

/* Final mobile menu panel lock - 2026-06-23 */
@media (max-width: 520px) {
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header {
    z-index: 130 !important;
  }

  body.menu-open .main-nav,
  body.about-page.menu-open .main-nav,
  body.contact-page.menu-open .main-nav,
  body.policy-page.menu-open .main-nav,
  body.previous-events-page.menu-open .main-nav,
  body.quick-form-page.menu-open .main-nav {
    box-sizing: border-box !important;
    position: fixed !important;
    top: 90px !important;
    right: 10px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 140 !important;
    width: min(266px, calc(100vw - 20px)) !important;
    min-width: 0 !important;
    max-width: min(266px, calc(100vw - 20px)) !important;
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 41px repeat(5, 41px) 1fr !important;
    align-items: stretch !important;
    align-content: start !important;
    justify-content: stretch !important;
    gap: 0 !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.menu-open .main-nav::before,
  body.about-page.menu-open .main-nav::before,
  body.contact-page.menu-open .main-nav::before,
  body.policy-page.menu-open .main-nav::before,
  body.previous-events-page.menu-open .main-nav::before,
  body.quick-form-page.menu-open .main-nav::before {
    content: '\00d7' !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    padding: 0 0 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    color: #fff !important;
    background: transparent !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    line-height: 29px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
  }

  body.menu-open .main-nav a,
  body.about-page.menu-open .main-nav a,
  body.contact-page.menu-open .main-nav a,
  body.policy-page.menu-open .main-nav a,
  body.previous-events-page.menu-open .main-nav a,
  body.quick-form-page.menu-open .main-nav a {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    max-height: 41px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 16px !important;
    line-height: 20.4px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }

  body.menu-open .main-nav a::before,
  body.menu-open .main-nav a::after,
  body.about-page.menu-open .main-nav a::before,
  body.about-page.menu-open .main-nav a::after,
  body.contact-page.menu-open .main-nav a::before,
  body.contact-page.menu-open .main-nav a::after,
  body.policy-page.menu-open .main-nav a::before,
  body.policy-page.menu-open .main-nav a::after,
  body.previous-events-page.menu-open .main-nav a::before,
  body.previous-events-page.menu-open .main-nav a::after,
  body.quick-form-page.menu-open .main-nav a::before,
  body.quick-form-page.menu-open .main-nav a::after {
    content: none !important;
    display: none !important;
  }

  body.menu-open .main-nav a:nth-child(1) { order: 1 !important; }
  body.menu-open .main-nav a:nth-child(3) { order: 2 !important; }
  body.menu-open .main-nav a:nth-child(4) { order: 3 !important; }
  body.menu-open .main-nav a:nth-child(5) { order: 4 !important; }
  body.menu-open .main-nav a:nth-child(2) { order: 5 !important; }

  body.home.menu-open .main-nav a:nth-child(1),
  body.menu-open .main-nav a[aria-current='page'],
  body.about-page.menu-open .main-nav a[aria-current='page'],
  body.contact-page.menu-open .main-nav a[aria-current='page'],
  body.policy-page.menu-open .main-nav a[aria-current='page'],
  body.previous-events-page.menu-open .main-nav a[aria-current='page'],
  body.quick-form-page.menu-open .main-nav a[aria-current='page'] {
    color: #000 !important;
    background: #fff !important;
  }

  body.menu-open::after {
    inset: 90px 0 0 !important;
    z-index: 100 !important;
    background: rgba(0, 0, 0, .42) !important;
  }
}

/* Final home bottom social slider */
.instagram {
  width: 100% !important;
  margin: 0 !important;
  padding: 20px 48px 0 !important;
  background: #fff !important;
}

.instagram-head {
  min-height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 24px !important;
  padding: 0 0 12px !important;
  color: #000 !important;
}

.instagram-head p {
  margin: 0 !important;
  color: #000 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: .15px !important;
  text-transform: uppercase !important;
}

.instagram-head p strong {
  font-weight: 600 !important;
}

.instagram-head p span {
  font-weight: 400 !important;
  letter-spacing: .15px !important;
}

.instagram .social-buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 0 !important;
  background: transparent !important;
}

.instagram .social-btn {
  width: 76px !important;
  min-width: 76px !important;
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-size: 7px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 1.3px !important;
  text-transform: uppercase !important;
}

.instagram .social-instagram {
  background: #000 !important;
}

.instagram .social-facebook {
  background: #7EB7CE !important;
}

.insta-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 0 !important;
  overflow: hidden !important;
}

.insta-grid a {
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  background: #000 !important;
}

.insta-grid img {
  width: 100% !important;
  height: 142px !important;
  display: block !important;
  object-fit: cover !important;
  filter: brightness(.78) !important;
  transition: transform .35s ease, filter .35s ease !important;
}

.insta-grid a:hover img {
  transform: scale(1.045) !important;
  filter: brightness(.92) !important;
}

.insta-icon {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  pointer-events: none !important;
}

.insta-icon::before {
  content: '' !important;
  width: 22px !important;
  height: 22px !important;
  border: 3px solid #fff !important;
  border-radius: 7px !important;
  box-sizing: border-box !important;
}

.insta-icon::after {
  content: '' !important;
  position: absolute !important;
  width: 8px !important;
  height: 8px !important;
  border: 3px solid #fff !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  box-shadow: 8px -8px 0 -5px #fff !important;
}

@media (max-width: 520px) {
  .instagram {
    padding: 26px 18px 0 !important;
  }

  .instagram-head {
    min-height: 0 !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding-bottom: 18px !important;
  }

  .instagram-head p {
    font-size: 13px !important;
    text-align: center !important;
  }

  .instagram .social-buttons {
    flex-direction: row !important;
    gap: 10px !important;
  }

  .insta-grid {
    display: flex !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  .insta-grid::-webkit-scrollbar {
    display: none !important;
  }

  .insta-grid a {
    flex: 0 0 72% !important;
    scroll-snap-align: start !important;
  }

  .insta-grid img {
    height: 238px !important;
  }
}


/* Final footer lock */
.site-footer {
  width: 100% !important;
  min-height: 345px !important;
  padding: 54px max(48px, calc((100vw - var(--content-width)) / 2 + 48px)) 64px !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 260px) minmax(118px, 150px) minmax(176px, 200px) minmax(460px, 540px) !important;
  justify-content: center !important;
  align-items: start !important;
  column-gap: clamp(48px, 5.4vw, 82px) !important;
  row-gap: 30px !important;
  color: #fff !important;
  background: #000 !important;
}

.footer-logo-block {
  padding-top: 10px !important;
}

.footer-logo-block img {
  width: 210px !important;
  height: auto !important;
}

.footer-col h3,
.footer-newsletter h3 {
  margin: 0 0 18px !important;
  color: #fff !important;
  font-family: var(--display) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: .1px !important;
}

.footer-col a {
  display: block !important;
  margin: 0 0 13px !important;
  color: rgba(255, 255, 255, .92) !important;
  font-family: var(--body) !important;
  font-size: 15px !important;
  line-height: 1.16 !important;
  font-weight: 400 !important;
  letter-spacing: .25px !important;
  white-space: nowrap !important;
}

.footer-col {
  min-width: 0 !important;
}

.footer-newsletter {
  width: 100% !important;
  min-width: 0 !important;
}

.footer-newsletter p {
  margin: 0 0 18px !important;
  color: rgba(255, 255, 255, .92) !important;
  font-family: var(--body) !important;
  font-size: 15px !important;
  line-height: 1.38 !important;
  font-weight: 400 !important;
  letter-spacing: .55px !important;
}

.footer-newsletter p strong {
  color: #fff !important;
  font-weight: 600 !important;
}

.footer-newsletter > p:first-of-type {
  max-width: none !important;
  white-space: nowrap !important;
}

.footer-newsletter form {
  display: grid !important;
  gap: 12px !important;
  margin: 0 0 18px !important;
}

.footer-newsletter input {
  width: 100% !important;
  height: 36px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 6px !important;
  color: #000 !important;
  background: #fff !important;
  font-family: var(--body) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: .8px !important;
}

.footer-newsletter input::placeholder {
  color: #666 !important;
  opacity: 1 !important;
}

.footer-newsletter button {
  height: 36px !important;
  border: 0 !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: linear-gradient(180deg, #F4C65E 0%, #E7BB53 42%, #CA9B35 100%) !important;
  font-family: var(--body) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: .25px !important;
}

.footer-newsletter .footer-small {
  max-width: 500px !important;
  margin-bottom: 19px !important;
  color: rgba(255, 255, 255, .86) !important;
  font-size: 12px !important;
  line-height: 1.42 !important;
  letter-spacing: .25px !important;
}

.footer-small a {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.footer-social {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #fff !important;
  font-family: var(--body) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: .15px !important;
}

.footer-social strong {
  margin-right: 5px !important;
  font-weight: 600 !important;
}

.footer-social a {
  width: 18px !important;
  height: 18px !important;
  display: inline-grid !important;
  place-items: center !important;
  color: #fff !important;
  border: 1.5px solid rgba(255, 255, 255, .95) !important;
  border-radius: 999px !important;
  font-size: 0 !important;
  line-height: 1 !important;
  transition: transform .2s ease, color .2s ease, border-color .2s ease !important;
}

.footer-social a:hover {
  color: #F4C65E !important;
  border-color: #F4C65E !important;
  transform: scale(1.08) !important;
}

.footer-social svg {
  width: 12px !important;
  height: 12px !important;
  display: block !important;
}

@media (max-width: 900px) {
  .site-footer {
    min-height: 0 !important;
    padding: 46px 30px 58px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 44px !important;
    row-gap: 34px !important;
  }

  .footer-logo-block {
    grid-column: 1 / -1 !important;
    padding-top: 0 !important;
  }

  .footer-newsletter > p:first-of-type {
    white-space: normal !important;
  }
}

@media (max-width: 520px) {
  .site-footer {
    padding: 36px 30px 54px !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 34px !important;
    row-gap: 34px !important;
  }

  .footer-logo-block,
  .footer-newsletter {
    grid-column: 1 / -1 !important;
  }

  .footer-logo-block img {
    width: 245px !important;
  }

  .footer-col h3,
  .footer-newsletter h3 {
    font-size: 20px !important;
  }

  .footer-col a,
  .footer-newsletter p,
  .footer-newsletter input {
    font-size: 15px !important;
    letter-spacing: .15px !important;
  }
}

@media (max-width: 360px) {
  .site-footer {
    padding-left: 24px !important;
    padding-right: 24px !important;
    column-gap: 24px !important;
  }

  .footer-col a {
    font-size: 14px !important;
  }
}


/* Final bottom slider image ratio/full-width lock */
.instagram {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.instagram-head {
  padding-left: 48px !important;
  padding-right: 48px !important;
}


/* Warehouse collage corner radius */
.warehouse-collage {
  border-radius: 15px !important;
  overflow: hidden !important;
}

.warehouse-collage img {
  border-radius: 0 !important;
}

@media (max-width: 520px) {
  .warehouse-collage {
    border-radius: 15px !important;
  }
}

.insta-grid {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 0 !important;
}

.insta-grid a {
  aspect-ratio: 384 / 364 !important;
  overflow: hidden !important;
}

.insta-grid img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: none !important;
}

.insta-icon,
.insta-icon::before,
.insta-icon::after,
.insta-grid span,
.insta-grid span::before,
.insta-grid span::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 520px) {
  .instagram {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .instagram-head {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .insta-grid {
    display: flex !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  .insta-grid a {
    flex: 0 0 78% !important;
    aspect-ratio: 384 / 364 !important;
    scroll-snap-align: start !important;
  }

  .insta-grid img {
    height: 100% !important;
  }
}


/* Final hero note mouse tracker */





















/* Final visible cursor orb for hero note tracker */





/* Final hide legacy hero note label */



/* Final hero note pulse restored */





/* Final softer/larger idle pulse for hero note */







/* Final hero note size and placement refinement */











/* Static inner pages: contact, about, policy */
body.contact-page,
body.about-page,
body.policy-page {
  background: #454545;
}

.contact-page-section {
  min-height: 655px;
  padding: 96px max(70px, calc((100vw - var(--content-width)) / 2 + 112px)) 82px;
  color: #fff;
  background: #003E57;
}

.contact-wrap {
  max-width: 1060px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(300px, 430px) minmax(420px, 558px);
  gap: 88px;
  align-items: center;
}

.contact-info-panel h1 {
  margin: 0 0 22px;
  color: #fff;
  font-size: 37px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: .3px;
}

.contact-intro {
  max-width: 382px;
  margin: 0 0 72px;
  color: rgba(255,255,255,.58);
  font-size: 15px;
  line-height: 1.35;
  letter-spacing: .25px;
}

.contact-lines {
  display: grid;
  gap: 27px;
}

.contact-lines p {
  margin: 0;
  display: grid;
  grid-template-columns: 32px auto;
  align-items: center;
  color: rgba(255,255,255,.78);
  font-size: 13px;
  line-height: 1.15;
  letter-spacing: .25px;
}

.contact-lines strong {
  color: #fff;
  font-weight: 600;
}

.contact-lines a {
  color: #fff;
  font-weight: 600;
}

.contact-icon {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  transform: rotate(-35deg);
}

.contact-icon.email {
  border: 2px solid #fff;
  font-size: 0;
  transform: none;
}

.contact-icon.email::before {
  content: '';
  width: 12px;
  height: 8px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-2px) rotate(-45deg);
}

.contact-form-card {
  padding: 36px 49px 40px;
  color: #000;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(0,0,0,.16);
}

.contact-form-card h2 {
  margin: 0 0 19px;
  color: #000;
  font-size: 36px;
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: .1px;
}

.contact-form-card > p {
  margin: 0 0 22px;
  color: #333;
  font-size: 14px;
  letter-spacing: .2px;
}

.contact-form-card form {
  display: grid;
  gap: 9px;
}

.contact-form-row,
.contact-phone-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.contact-phone-row {
  grid-template-columns: 58px 1fr;
}

.contact-form-card input,
.contact-form-card textarea {
  width: 100%;
  border: 1.5px solid #0C6682;
  border-radius: 4px;
  color: #333;
  background: #fff;
  font-family: var(--body);
  font-size: 13px;
  line-height: 1;
  letter-spacing: .15px;
}

.contact-form-card input {
  height: 32px;
  padding: 0 14px;
}

.contact-form-card input::placeholder,
.contact-form-card textarea::placeholder {
  color: #a0a8ac;
}

.message-wrap {
  position: relative;
  display: block;
}

.contact-form-card textarea {
  height: 150px;
  padding: 13px 14px 28px;
  resize: none;
  line-height: 1.35;
}

.message-wrap span {
  position: absolute;
  right: 15px;
  bottom: 10px;
  color: #a0a8ac;
  font-size: 12px;
  letter-spacing: 0;
}

.contact-form-card button {
  width: 198px;
  height: 36px;
  margin-top: 17px;
  border: 0;
  border-radius: 3px;
  color: #fff;
  background: #7EB7CE;
  font-size: 11px;
  line-height: 1;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
}

.contact-form-card small {
  display: block;
  margin-top: 23px;
  color: #111;
  font-size: 10px;
  line-height: 1.35;
  letter-spacing: .05px;
}

.contact-form-card small a {
  font-weight: 600;
}

.page-hero {
  position: relative;
  min-height: 209px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: #0B4C5E;
}

.page-hero::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 47%;
  z-index: 2;
  background: linear-gradient(90deg, #073848 0%, rgba(7,56,72,.94) 48%, rgba(7,56,72,0) 100%);
}

.page-hero-copy {
  position: relative;
  z-index: 3;
  width: min(480px, 50%);
  margin-left: max(70px, calc((100vw - var(--content-width)) / 2 + 65px));
}

.page-hero h1 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 46px;
  line-height: .98;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.page-hero p {
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: 14px;
  line-height: 1.14;
  letter-spacing: .45px;
}

.about-hero {
  background:
    linear-gradient(90deg, rgba(7,56,72,.92) 0%, rgba(7,56,72,.68) 28%, rgba(7,56,72,0) 48%),
    url('../figma/2698513e52e4dc3fc995f66caf7cbadbbfd92c07.jpg') center 42% / cover no-repeat;
}

.policy-hero {
  background:
    linear-gradient(90deg, rgba(7,56,72,.96) 0%, rgba(7,56,72,.78) 28%, rgba(7,56,72,0) 47%),
    url('../figma/17599b776e156c7cfb7d4aead01afe7f748ea7b5.png') right center / 64% auto no-repeat,
    #0B4C5E;
}

.about-content-section {
  padding: 68px max(70px, calc((100vw - var(--content-width)) / 2 + 72px)) 78px;
  background: #fff;
}

.about-row {
  max-width: 1090px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

.about-row + .about-row {
  margin-top: 58px;
}

.about-image {
  margin: 0;
  overflow: hidden;
  border-radius: 44px;
}

.about-image img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

.about-work-image {
  width: 285px;
  justify-self: center;
  border-radius: 44px;
}

.about-work-image img {
  height: 300px;
}

.about-copy h2 {
  margin: 0 0 38px;
  color: #000;
  font-size: 30px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: .2px;
}

.about-copy h2 em {
  display: block;
  font-style: italic;
  font-weight: 500;
}

.about-copy p {
  margin: 0 0 17px;
  color: #111;
  font-size: 12px;
  line-height: 1.35;
  letter-spacing: .2px;
}

.about-copy-left {
  padding-left: 80px;
}

.policy-content-section {
  padding: 42px 70px 68px;
  background: #fff;
}

.policy-content {
  max-width: 770px;
  margin: 0 auto;
  color: #111;
}

.policy-content h2 {
  margin: 0 0 31px;
  font-size: 20px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: .3px;
}

.policy-content h3 {
  position: relative;
  margin: 28px 0 10px;
  padding-left: 28px;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: .2px;
}

.policy-content h3::before {
  content: '?';
  position: absolute;
  left: 0;
  top: -1px;
  font-size: 15px;
}

.policy-content ul {
  margin: 0;
  padding-left: 18px;
}

.policy-content li {
  margin: 0 0 11px;
  color: #222;
  font-size: 11px;
  line-height: 1.38;
  letter-spacing: .18px;
}

.policy-content li::marker {
  font-size: 8px;
}

@media (max-width: 900px) {
  .contact-page-section {
    padding: 58px 30px 62px;
  }

  .contact-wrap,
  .about-row {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .contact-info-panel,
  .contact-form-card,
  .about-row,
  .policy-content {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }

  .about-copy-left {
    padding-left: 0;
  }
}

@media (max-width: 520px) {
  .contact-page-section {
    padding: 31px 28px 40px;
    background: #003E57;
  }

  .contact-wrap {
    gap: 31px;
  }

  .contact-info-panel h1 {
    font-size: 24px;
    margin-bottom: 15px;
  }

  .contact-intro {
    margin-bottom: 33px;
    font-size: 11px;
    line-height: 1.18;
  }

  .contact-lines {
    gap: 18px;
  }

  .contact-lines p {
    grid-template-columns: 26px auto;
    font-size: 10px;
  }

  .contact-icon {
    width: 18px;
    height: 18px;
    font-size: 20px;
  }

  .contact-form-card {
    padding: 27px 14px 28px;
    border-radius: 6px;
  }

  .contact-form-card h2 {
    font-size: 29px;
    line-height: 1.05;
    margin-bottom: 17px;
  }

  .contact-form-card > p {
    margin-bottom: 18px;
    font-size: 12px;
  }

  .contact-form-row {
    gap: 7px;
  }

  .contact-phone-row {
    grid-template-columns: 46px 1fr;
    gap: 7px;
  }

  .contact-form-card input {
    height: 28px;
    padding: 0 9px;
    font-size: 10px;
  }

  .contact-form-card textarea {
    height: 123px;
    padding: 10px 9px 24px;
    font-size: 10px;
  }

  .contact-form-card button {
    width: 142px;
    height: 29px;
    margin-top: 14px;
    font-size: 9px;
  }

  .contact-form-card small {
    margin-top: 17px;
    font-size: 8px;
  }

  .page-hero {
    min-height: 126px;
  }

  .page-hero-copy {
    width: calc(100% - 52px);
    margin-left: 28px;
  }

  .page-hero h1 {
    font-size: 29px;
  }

  .page-hero p {
    font-size: 10px;
  }

  .about-hero {
    min-height: 150px;
    background-position: center center;
  }

  .policy-hero {
    min-height: 150px;
    background-size: auto 100%;
    background-position: right center;
  }

  .about-content-section {
    padding: 43px 28px 54px;
  }

  .about-row {
    gap: 28px;
  }

  .about-row + .about-row {
    margin-top: 42px;
  }

  .about-image,
  .about-work-image {
    width: 100%;
    border-radius: 26px;
  }

  .about-image img,
  .about-work-image img {
    height: 222px;
  }

  .about-copy h2 {
    margin-bottom: 21px;
    font-size: 25px;
  }

  .about-copy p {
    font-size: 11px;
    line-height: 1.4;
  }

  .about-row-bottom .about-image {
    order: -1;
  }

  .policy-content-section {
    padding: 35px 28px 52px;
  }

  .policy-content h2 {
    font-size: 17px;
    margin-bottom: 25px;
  }

  .policy-content h3 {
    margin-top: 24px;
    font-size: 12px;
  }

  .policy-content li {
    font-size: 10px;
    line-height: 1.45;
  }
}



/* Final inner-page visual QA refinements */
.contact-page .page-shell,
.about-page .page-shell,
.policy-page .page-shell {
  font-size: 15px;
  letter-spacing: 0;
}

.contact-page-section,
.contact-page-section *,
.about-page main,
.about-page main *,
.policy-page main,
.policy-page main * {
  letter-spacing: normal;
}

.contact-page-section {
  min-height: 610px;
  padding: 78px max(70px, calc((100vw - var(--content-width)) / 2 + 112px)) 66px;
}

.contact-wrap {
  max-width: 1048px;
  grid-template-columns: minmax(300px, 410px) minmax(410px, 540px);
  gap: 86px;
}

.contact-info-panel h1 {
  margin-bottom: 20px;
  font-size: 35px;
}

.contact-intro {
  max-width: 370px;
  margin-bottom: 58px;
  font-size: 14px;
  line-height: 1.25;
  letter-spacing: .1px;
}

.contact-lines {
  gap: 24px;
}

.contact-lines p {
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 0;
  align-items: center;
  font-size: 12px;
  line-height: 1.1;
}

.contact-lines p > span:last-child {
  display: flex;
  align-items: baseline;
  gap: 4px;
  min-width: 0;
  white-space: nowrap;
}

.contact-lines strong,
.contact-lines a {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0;
}

.contact-lines p:nth-child(1) a,
.contact-lines p:nth-child(3) a,
.contact-lines p:nth-child(2) strong,
.contact-lines p:nth-child(4) strong {
  font-weight: 600 !important;
}

.contact-intro {
  color: #7EB7CE !important;
}

.contact-icon {
  width: 21px;
  height: 21px;
  display: inline-block;
  transform: none;
}

.contact-phone-icon {
  width: 21px;
  height: 21px;
  object-fit: contain;
}

.contact-email-icon {
  width: 22px;
  height: 17px;
  object-fit: contain;
}

.contact-form-card {
  width: 480px;
  max-width: 100%;
  padding: 28px 41px 31px;
  border-radius: 5px;
  box-shadow: none;
}

.contact-form-card h2 {
  margin-bottom: 12px;
  font-size: 29px;
  line-height: 1.08;
  font-weight: 400;
}

.contact-form-card > p {
  margin-bottom: 18px;
  font-size: 11px;
}

.contact-form-card form {
  gap: 7px;
}

.contact-form-card input,
.contact-form-card textarea {
  border-color: #0C6682;
  border-radius: 4px;
  font-size: 11px;
  letter-spacing: 0;
}

.contact-form-card input {
  height: 29px;
  padding: 0 12px;
}

.contact-form-row,
.contact-phone-row {
  gap: 8px;
}

.contact-phone-row {
  grid-template-columns: 50px 1fr;
}

.contact-form-card textarea {
  height: 130px;
  padding: 12px 12px 26px;
}

.contact-form-card button {
  width: 168px;
  height: 29px;
  margin-top: 13px;
  border-radius: 3px;
  background: #7EB7CE;
  font-size: 10px;
  letter-spacing: 0;
}

.contact-form-card small {
  margin-top: 17px;
  font-size: 10px;
  letter-spacing: 0;
}

.policy-content h3::before {
  content: '>';
  top: 0;
  font-size: 13px;
  font-weight: 600;
}

.about-content-section {
  padding-top: 60px;
  padding-bottom: 70px;
}

.about-copy p {
  font-size: 13px;
  line-height: 1.38;
}

@media (max-width: 520px) {
  .contact-page-section {
    min-height: auto;
    padding: 29px 28px 40px;
  }

  .contact-info-panel h1 {
    font-size: 24px;
  }

  .contact-intro {
    max-width: 290px;
    margin-bottom: 31px;
    font-size: 10px;
    line-height: 1.18;
  }

  .contact-lines p {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .contact-lines p > span:last-child {
    white-space: normal;
  }

  .contact-lines strong,
  .contact-lines a {
    font-size: 10px;
  }

  .contact-form-card h2 {
    font-size: 28px;
  }

  .about-content-section {
    padding-top: 42px;
    padding-bottom: 54px;
  }
}


/* About page supplied image refinements */
.about-hero {
  min-height: 230px;
  background:
    linear-gradient(90deg, rgba(7,56,72,.42) 0%, rgba(7,56,72,.12) 36%, rgba(7,56,72,0) 54%),
    url('../about/about-hero-event-background.webp') center center / cover no-repeat;
}

.about-page .page-hero-copy {
  margin-left: max(72px, calc((100vw - var(--content-width)) / 2 + 82px));
}

.about-page .page-hero h1 {
  font-size: 54px;
  line-height: .95;
  letter-spacing: 1.2px;
}

.about-page .page-hero p {
  font-size: 17px;
  line-height: 1.05;
  letter-spacing: .2px;
}

.about-team-image,
.about-work-image {
  background: transparent;
  overflow: visible;
}

.about-team-image img,
.about-work-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.about-team-image {
  border-radius: 0;
}

.about-work-image {
  width: 330px;
  border-radius: 0;
}

.about-row-top {
  grid-template-columns: minmax(420px, 560px) minmax(350px, 1fr);
}

.about-row-bottom {
  grid-template-columns: minmax(360px, 1fr) minmax(300px, 380px);
}

@media (max-width: 520px) {
  .about-hero {
    min-height: 165px;
    background-position: 58% center;
  }

  .about-page .page-hero-copy {
    margin-left: 28px;
    width: 70%;
  }

  .about-page .page-hero h1 {
    font-size: 31px;
  }

  .about-page .page-hero p {
    font-size: 11px;
  }

  .about-row-top,
  .about-row-bottom {
    grid-template-columns: 1fr;
  }

  .about-work-image {
    width: 100%;
  }
}


/* About page desktop layout match */
.about-page .site-header,
.contact-page .site-header,
.policy-page .site-header {
  height: 47px;
  grid-template-columns: 240px 1fr 260px;
  gap: 22px;
  padding-left: max(28px, calc((100vw - var(--content-width)) / 2 + 118px));
  padding-right: max(28px, calc((100vw - var(--content-width)) / 2 + 118px));
}

.about-page .brand img,
.contact-page .brand img,
.policy-page .brand img {
  width: 191px;
}

.about-page .main-nav,
.contact-page .main-nav,
.policy-page .main-nav {
  gap: 22px;
  font-size: 10px;
  letter-spacing: .35px;
}

.about-page .phone-link,
.contact-page .phone-link,
.policy-page .phone-link {
  font-size: 10px;
  letter-spacing: .3px;
}

.about-page .header-cta,
.contact-page .header-cta,
.policy-page .header-cta {
  min-height: 27px;
  padding-inline: 12px;
  border-radius: 5px;
  font-size: 10px;
  letter-spacing: .35px;
}

.about-page .page-hero {
  min-height: 242px;
}

.about-page .page-hero::before {
  display: none;
}

.about-page .page-hero-copy {
  width: 520px;
  margin-left: max(72px, calc((100vw - var(--content-width)) / 2 + 64px));
  transform: translateY(-2px);
}

.about-page .page-hero h1 {
  margin-bottom: 16px;
  font-size: 48px;
  line-height: .92;
  letter-spacing: 1px;
}

.about-page .page-hero p {
  font-size: 17px;
  line-height: .98;
  letter-spacing: .15px;
}

.about-content-section {
  padding: 62px max(64px, calc((100vw - var(--content-width)) / 2 + 64px)) 70px;
}

.about-row {
  max-width: 1010px;
  gap: 54px;
}

.about-row-top {
  grid-template-columns: 530px 1fr;
  align-items: center;
}

.about-team-image img {
  width: 530px;
}

.about-copy h2 {
  margin-bottom: 32px;
  font-size: 28px;
  line-height: .95;
  letter-spacing: .15px;
}

.about-copy h2 em {
  font-size: 27px;
  line-height: .95;
}

.about-copy p {
  margin-bottom: 15px;
  font-size: 12px;
  line-height: 1.26;
  letter-spacing: 0;
}

.about-copy-right {
  max-width: 430px;
}

@media (max-width: 900px) {
  .about-page .site-header,
  .contact-page .site-header,
  .policy-page .site-header {
    height: 82px;
    padding: 0 18px;
    grid-template-columns: 1fr auto auto;
  }

  .about-page .brand img,
  .contact-page .brand img,
  .policy-page .brand img {
    width: auto;
  }

  .about-page .brand-logo-desktop,
  .contact-page .brand-logo-desktop,
  .policy-page .brand-logo-desktop {
    display: none;
  }

  .about-page .brand-logo-mobile,
  .contact-page .brand-logo-mobile,
  .policy-page .brand-logo-mobile {
    display: block;
    width: 170px;
  }

  .about-page .main-nav,
  .contact-page .main-nav,
  .policy-page .main-nav,
  .about-page .phone-link,
  .contact-page .phone-link,
  .policy-page .phone-link,
  .about-page .header-cta-text,
  .contact-page .header-cta-text,
  .policy-page .header-cta-text {
    display: none;
  }

  .about-page .header-actions,
  .contact-page .header-actions,
  .policy-page .header-actions {
    gap: 10px;
  }

  .about-page .header-cta,
  .contact-page .header-cta,
  .policy-page .header-cta {
    min-width: 36px;
    min-height: 36px;
    padding: 0;
    justify-content: center;
  }

  .about-page .header-cta-mobile,
  .contact-page .header-cta-mobile,
  .policy-page .header-cta-mobile,
  .about-page .mobile-menu-button,
  .contact-page .mobile-menu-button,
  .policy-page .mobile-menu-button {
    display: block;
  }

  .about-row-top {
    grid-template-columns: 1fr;
  }

  .about-team-image img {
    width: 100%;
  }
}


/* About page exact hero/text cleanup */
.about-hero::before {
  display: block !important;
  width: 58% !important;
  z-index: 2 !important;
  background: linear-gradient(90deg, #073B4B 0%, #073B4B 36%, rgba(7,59,75,.92) 48%, rgba(7,59,75,.42) 72%, rgba(7,59,75,0) 100%) !important;
}

.about-page .page-hero-copy {
  z-index: 3 !important;
}

.about-copy,
.about-copy * {
  letter-spacing: 0 !important;
}

.about-copy h2 {
  font-size: 27px !important;
  line-height: .96 !important;
}

.about-copy h2 em {
  font-size: 26px !important;
}

.about-copy p {
  max-width: 430px;
  font-size: 12px !important;
  line-height: 1.24 !important;
  font-weight: 400 !important;
}

.about-row-top {
  gap: 58px;
}


/* Inner-page Figma header/content alignment */
@media (min-width: 901px) {
  .about-page .site-header,
  .contact-page .site-header,
  .policy-page .site-header {
    padding-left: max(92px, calc((100vw - var(--content-width)) / 2 + 92px));
    padding-right: max(92px, calc((100vw - var(--content-width)) / 2 + 92px));
    grid-template-columns: 220px 1fr 245px;
  }

  .about-page .brand img,
  .contact-page .brand img,
  .policy-page .brand img {
    width: 177px;
  }

  .about-page .header-cta,
  .contact-page .header-cta,
  .policy-page .header-cta {
    min-width: 95px;
    min-height: 27px;
    padding-inline: 9px;
  }

  .about-page .header-actions,
  .contact-page .header-actions,
  .policy-page .header-actions {
    gap: 15px;
  }

  .about-row-top {
    gap: 30px;
  }
}


/* Final shared header polish: Figma handover spacing and supplied icons */
@media (min-width: 981px) {
  .site-header {
    height: 56px !important;
    min-height: 56px !important;
    grid-template-columns: 245px minmax(0, 1fr) max-content !important;
    gap: 28px !important;
    padding-left: max(36px, calc((100vw - var(--content-width)) / 2)) !important;
    padding-right: max(36px, calc((100vw - var(--content-width)) / 2)) !important;
  }

  .brand img.brand-logo-desktop {
    width: 244px !important;
  }

  .main-nav {
    justify-content: center !important;
    gap: 31px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: .15px !important;
    text-transform: none !important;
  }

  .main-nav a {
    min-height: 56px !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    text-transform: none !important;
  }

  .header-actions {
    min-width: 368px !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 24px !important;
  }

  .phone-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: .55px !important;
  }

  .phone-link::before {
    content: '' !important;
    width: 16px !important;
    height: 18px !important;
    margin: 0 !important;
    flex: 0 0 16px !important;
    background: url('../rsc/icons/header-phone.png') center/contain no-repeat !important;
  }

  .header-cta {
    min-width: 156px !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 17px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border-radius: 7px !important;
    color: #000 !important;
    background: #fff !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: .35px !important;
    text-transform: uppercase !important;
  }

  .header-cta::before {
    content: '' !important;
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
    background: url('../rsc/icons/header-form-icon.png') center/contain no-repeat !important;
  }

  .header-cta-mobile {
    display: none !important;
  }
}

@media (max-width: 1280px) and (min-width: 981px) {
  .site-header {
    grid-template-columns: 220px minmax(0, 1fr) max-content !important;
    gap: 18px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .brand img.brand-logo-desktop {
    width: 220px !important;
  }

  .main-nav {
    gap: 20px !important;
    font-size: 12px !important;
  }

  .header-actions {
    min-width: 318px !important;
    gap: 16px !important;
  }

  .phone-link {
    font-size: 12px !important;
  }

  .header-cta {
    min-width: 142px !important;
    font-size: 12px !important;
    gap: 8px !important;
  }
}


/* Absolute final header/contact/about overrides */
@media (min-width: 981px) {
  body .site-header {
    height: 56px !important;
    min-height: 56px !important;
    grid-template-columns: 245px minmax(0, 1fr) max-content !important;
    gap: 28px !important;
    padding-left: max(36px, calc((100vw - var(--content-width)) / 2)) !important;
    padding-right: max(36px, calc((100vw - var(--content-width)) / 2)) !important;
  }

  body .brand img.brand-logo-desktop {
    width: 244px !important;
  }

  body .main-nav,
  body .main-nav a,
  body.about-page .main-nav,
  body.about-page .main-nav a,
  body.contact-page .main-nav,
  body.contact-page .main-nav a,
  body.policy-page .main-nav,
  body.policy-page .main-nav a {
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: .15px !important;
    text-transform: none !important;
  }

  body .main-nav {
    gap: 31px !important;
    justify-content: center !important;
  }

  body .main-nav a {
    min-height: 56px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  body .header-actions {
    min-width: 368px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 24px !important;
  }

  body .phone-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: .55px !important;
  }

  body .phone-link::before {
    content: '' !important;
    width: 16px !important;
    height: 18px !important;
    margin: 0 !important;
    flex: 0 0 16px !important;
    background: url('../rsc/icons/header-phone.png') center/contain no-repeat !important;
  }

  body .header-cta {
    min-width: 156px !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 17px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border-radius: 7px !important;
    color: #000 !important;
    background: #fff !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: .35px !important;
    text-transform: uppercase !important;
  }

  body .header-cta::before {
    content: '' !important;
    width: 24px !important;
    height: 24px !important;
    flex: 0 0 24px !important;
    background: url('../rsc/icons/header-form-icon.png') center/contain no-repeat !important;
  }

  body .header-cta-mobile {
    display: none !important;
  }
}

@media (max-width: 1280px) and (min-width: 981px) {
  body .site-header {
    grid-template-columns: 220px minmax(0, 1fr) max-content !important;
    gap: 18px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  body .brand img.brand-logo-desktop {
    width: 220px !important;
  }

  body .main-nav,
  body .main-nav a {
    font-size: 12px !important;
  }

  body .main-nav {
    gap: 20px !important;
  }

  body .header-actions {
    min-width: 318px !important;
    gap: 16px !important;
  }

  body .phone-link,
  body .header-cta {
    font-size: 12px !important;
  }

  body .header-cta {
    min-width: 142px !important;
    gap: 8px !important;
  }
}


/* Final mobile header lock */
@media (max-width: 980px) {
  body .site-header {
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 28px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px 44px !important;
    gap: 12px !important;
    align-items: center !important;
    justify-items: stretch !important;
    background: #000 !important;
  }

  body .brand {
    width: min(188px, calc(100vw - 160px)) !important;
    max-width: 188px !important;
    justify-self: start !important;
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
  }

  body .brand img.brand-logo-desktop {
    display: none !important;
  }

  body .brand img.brand-logo-mobile {
    display: block !important;
    width: min(188px, calc(100vw - 160px)) !important;
    max-width: 188px !important;
    height: auto !important;
  }

  body .main-nav,
  body .phone-link {
    display: none !important;
  }

  body .header-actions {
    grid-column: 2 / 4 !important;
    min-width: 0 !important;
    width: 100px !important;
    display: grid !important;
    grid-template-columns: 44px 44px !important;
    gap: 12px !important;
    align-items: center !important;
    justify-content: end !important;
    justify-self: end !important;
  }

  body .header-actions::after {
    content: none !important;
    display: none !important;
  }

  body .header-cta {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    display: grid !important;
    place-items: center !important;
    background: #fff !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  body .header-cta::before {
    content: none !important;
    display: none !important;
  }

  body .header-cta-text {
    display: none !important;
  }

  body .header-cta-mobile {
    display: block !important;
    width: 44px !important;
    height: 44px !important;
    object-fit: contain !important;
  }

  body .mobile-menu-button {
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    place-items: center !important;
  }

  body .mobile-menu-button img {
    display: block !important;
    width: 44px !important;
    height: 43px !important;
    object-fit: contain !important;
  }
}

@media (max-width: 360px) {
  body .site-header {
    padding-left: 18px !important;
    padding-right: 18px !important;
    grid-template-columns: minmax(0, 1fr) 40px 40px !important;
    gap: 9px !important;
  }

  body .brand,
  body .brand img.brand-logo-mobile {
    width: min(170px, calc(100vw - 122px)) !important;
  }

  body .header-actions {
    width: 89px !important;
    grid-template-columns: 40px 40px !important;
    gap: 9px !important;
  }

  body .header-cta,
  body .mobile-menu-button {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

  body .mobile-menu-button img {
    width: 40px !important;
    height: 39px !important;
  }
}


/* Final cross-device hero/start-strip lock */
.chat-bubble {
  display: none !important;
}

.start-strip {
  min-height: 92px !important;
  padding-top: 22px !important;
  padding-bottom: 22px !important;
  padding-left: max(56px, calc((100vw - var(--content-width)) / 2 + 56px)) !important;
  padding-right: max(56px, calc((100vw - var(--content-width)) / 2 + 56px)) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 30px !important;
  color: #000 !important;
  background: var(--blue) !important;
}

.start-strip h2 {
  max-width: none !important;
  margin: 0 !important;
  color: #000 !important;
  font-size: clamp(22px, 2vw, 26px) !important;
  line-height: 1.1 !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  text-align: left !important;
}

.start-strip h2 span {
  color: #0784cf !important;
}

.start-strip a {
  width: auto !important;
  min-width: 166px !important;
  min-height: 36px !important;
  padding: 0 24px !important;
  border-radius: 3px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  background: #000 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: .6px !important;
  text-transform: uppercase !important;
}

.start-strip a::before {
  content: none !important;
}

@media (max-width: 980px) {
  .hero {
    height: clamp(460px, 67vw, 540px) !important;
    min-height: 460px !important;
  }

  .hero-card {
    transform: translateY(6px) !important;
  }

  .hero-card h1 {
    font-size: clamp(42px, 7.2vw, 58px) !important;
    line-height: .94 !important;
  }

  .hero-card p {
    margin-top: 18px !important;
    font-size: clamp(21px, 3.8vw, 26px) !important;
    line-height: 1.25 !important;
  }







  .start-strip {
    min-height: 92px !important;
    padding: 22px clamp(34px, 7vw, 80px) !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 24px !important;
    background: var(--blue) !important;
  }

  .start-strip h2 {
    font-size: clamp(21px, 3.7vw, 26px) !important;
  }
}

@media (max-width: 520px) {
  .hero {
    height: 460px !important;
    min-height: 460px !important;
  }



  .hero-card {
    transform: translateY(0) !important;
  }

  .hero-card h1 {
    font-size: 0 !important;
    line-height: .98 !important;
    font-weight: 600 !important;
  }

  .hero-card h1::before {
    content: 'Decor Hire' !important;
    display: block !important;
    font-size: 37px !important;
  }

  .hero-card h1::after {
    content: '& Styling' !important;
    display: block !important;
    font-size: 37px !important;
  }

  .hero-card p {
    margin-top: 14px !important;
    font-size: 21px !important;
  }

  .start-strip {
    min-height: 155px !important;
    padding: 32px 24px !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 22px !important;
    text-align: center !important;
    background: var(--blue) !important;
  }

  .start-strip h2 {
    max-width: 350px !important;
    font-size: 23px !important;
    line-height: 1.08 !important;
    text-align: center !important;
  }

  .start-strip a {
    width: min(226px, 100%) !important;
    min-width: 0 !important;
    min-height: 44px !important;
    border-radius: 7px !important;
    font-size: 0 !important;
  }

  .start-strip a::before {
    content: 'Event Pricing' !important;
    font-size: 13px !important;
  }
}


/* Final tablet hero note clearance */



/* Absolute final responsive header lock */
@media (max-width: 980px) {
  body .site-header,
  body.about-page .site-header,
  body.contact-page .site-header,
  body.policy-page .site-header {
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 28px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px 44px !important;
    gap: 12px !important;
    align-items: center !important;
    justify-items: stretch !important;
    background: #000 !important;
  }

  body .brand,
  body.about-page .brand,
  body.contact-page .brand,
  body.policy-page .brand {
    width: min(188px, calc(100vw - 160px)) !important;
    max-width: 188px !important;
    justify-self: start !important;
    display: flex !important;
    align-items: center !important;
  }

  body .brand img.brand-logo-desktop {
    display: none !important;
  }

  body .brand img.brand-logo-mobile {
    display: block !important;
    width: min(188px, calc(100vw - 160px)) !important;
    max-width: 188px !important;
    height: auto !important;
  }

  body .main-nav,
  body .phone-link {
    display: none !important;
  }

  body .header-actions,
  body.about-page .header-actions,
  body.contact-page .header-actions,
  body.policy-page .header-actions {
    grid-column: 2 / 4 !important;
    min-width: 100px !important;
    width: 100px !important;
    display: grid !important;
    grid-template-columns: 44px 44px !important;
    gap: 12px !important;
    align-items: center !important;
    justify-content: end !important;
    justify-self: end !important;
  }

  body .header-actions::after {
    content: none !important;
    display: none !important;
  }

  body .header-cta,
  body.about-page .header-cta,
  body.contact-page .header-cta,
  body.policy-page .header-cta {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    display: grid !important;
    place-items: center !important;
    background: #fff !important;
    font-size: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
  }

  body .header-cta::before {
    content: none !important;
    display: none !important;
  }

  body .header-cta-text {
    display: none !important;
  }

  body .header-cta-mobile,
  body.about-page .header-cta-mobile,
  body.contact-page .header-cta-mobile,
  body.policy-page .header-cta-mobile {
    display: block !important;
    width: 44px !important;
    height: 44px !important;
    object-fit: contain !important;
  }

  body .mobile-menu-button,
  body.about-page .mobile-menu-button,
  body.contact-page .mobile-menu-button,
  body.policy-page .mobile-menu-button {
    display: grid !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    place-items: center !important;
    overflow: hidden !important;
  }

  body .mobile-menu-button img {
    display: block !important;
    width: 44px !important;
    height: 43px !important;
    object-fit: contain !important;
  }
}


/* Absolute final mobile menu dropdown */
@media (max-width: 980px) {
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header {
    position: relative !important;
    z-index: 120 !important;
  }

  body.menu-open .main-nav,
  body.about-page.menu-open .main-nav,
  body.contact-page.menu-open .main-nav,
  body.policy-page.menu-open .main-nav {
    position: fixed !important;
    top: 64px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 110 !important;
    width: 100vw !important;
    min-height: 0 !important;
    padding: 18px 28px 22px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    background: rgba(0, 0, 0, .96) !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 18px 35px rgba(0,0,0,.24) !important;
  }

  body.menu-open .main-nav a,
  body.about-page.menu-open .main-nav a,
  body.contact-page.menu-open .main-nav a,
  body.policy-page.menu-open .main-nav a {
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #fff !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    font-size: 17px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: .25px !important;
    text-transform: none !important;
  }

  body.menu-open .main-nav a:last-child {
    border-bottom: 0 !important;
  }

  body.menu-open::after {
    content: '' !important;
    position: fixed !important;
    inset: 64px 0 0 !important;
    z-index: 100 !important;
    background: rgba(0,0,0,.22) !important;
    pointer-events: none !important;
  }
}


/* Mobile menu visual cleanup */
@media (max-width: 980px) {
  body.menu-open .main-nav,
  body.about-page.menu-open .main-nav,
  body.contact-page.menu-open .main-nav,
  body.policy-page.menu-open .main-nav {
    background: #000 !important;
  }

  body.menu-open::after {
    background: rgba(0,0,0,.45) !important;
  }
}

/* First banner styling match */
.hero {
  height: 620px !important;
  min-height: 620px !important;
  max-height: none !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background: #07161f !important;
}

.hero-media,
.hero-media img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.hero-media img {
  object-fit: cover !important;
  object-position: center 45% !important;
}

.hero-shade {
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at center, rgba(7, 22, 31, .89) 0%, rgba(7, 22, 31, .64) 43%, rgba(7, 22, 31, .18) 100%),
    linear-gradient(rgba(0, 0, 0, .22), rgba(0, 0, 0, .22)) !important;
}

.hero-card {
  position: relative !important;
  z-index: 1 !important;
  text-align: center !important;
  transform: translateY(14px) !important;
}

.hero-card h1 {
  margin: 0 !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: clamp(46px, 4.4vw, 72px) !important;
  line-height: 1.02 !important;
  font-weight: 400 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: 20px 0 52px #000 !important;
}

.hero-card p {
  margin: 22px 0 0 !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 28px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}













@media (max-width: 980px) {
  .hero {
    height: 540px !important;
    min-height: 540px !important;
  }








}

@media (max-width: 520px) {
  .hero {
    height: 520px !important;
    min-height: 520px !important;
  }









  .hero-card {
    transform: translateY(82px) !important;
  }

  .hero-card h1 {
    font-size: clamp(42px, 12vw, 52px) !important;
    line-height: .94 !important;
    font-weight: 400 !important;
  }

  .hero-card h1::before,
  .hero-card h1::after {
    content: none !important;
    display: none !important;
  }
}

/* Favorite product title typography match */
.product-grid {
  max-width: 1350px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.product-grid h3 {
  margin: 16px 0 12px !important;
  color: #000 !important;
  font-family: 'Marcellus', Georgia, 'Times New Roman', serif !important;
  font-size: 20px !important;
  line-height: 1.04em !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
}

.product-grid h3 span {
  display: block !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}

.product-grid p {
  margin: 0 !important;
  color: #000 !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.product-grid p strong {
  font-weight: 600 !important;
  font-style: italic !important;
}

@media (max-width: 900px) {
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 20px !important;
  }

  .product-grid h3 {
    font-size: 18px !important;
    line-height: 1.04em !important;
  }
}

@media (max-width: 520px) {
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px 20px !important;
  }

  .product-grid h3 {
    margin: 13px 0 9px !important;
    font-size: 14px !important;
    line-height: 1.04em !important;
  }

  .product-grid p {
    font-size: 12px !important;
  }
}

/* Restore Elementor home banner typography */
.hero-card h1 {
  margin: 0 !important;
  color: #fff !important;
  font-family: 'Marcellus', Georgia, 'Times New Roman', serif !important;
  font-size: 72px !important;
  line-height: .94 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  text-shadow: 20px 0 52px #000 !important;
}

.hero-card p {
  margin: 22px 0 0 !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 28px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.hero-shade {
  background:
    radial-gradient(circle at center, rgba(7, 22, 31, .89) 0%, rgba(7, 22, 31, .64) 43%, rgba(7, 22, 31, .18) 100%),
    linear-gradient(rgba(0, 0, 0, .22), rgba(0, 0, 0, .22)) !important;
}

@media (max-width: 980px) {
  .hero-card h1 {
    font-size: 55px !important;
    line-height: .96 !important;
  }
}

@media (max-width: 520px) {
  .hero-card h1 {
    font-size: 40px !important;
    line-height: .98 !important;
  }

  .hero-card h1::before,
  .hero-card h1::after {
    content: none !important;
    display: none !important;
  }

  .hero-card p {
    margin-top: 14px !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
  }
}

/* Catalogue band polish */
.catalogue-band {
  border-radius: 15px !important;
  box-shadow: 0 16px 34px rgba(7, 22, 31, .16) !important;
  overflow: hidden !important;
}

@media (max-width: 520px) {
  .catalogue-band {
    border-radius: 15px !important;
    box-shadow: 0 12px 28px rgba(7, 22, 31, .14) !important;
  }
}

/* Site-wide body-copy lock: match hired-items-policy body text */
:root {
  --toc-body-copy-font: 'Instrument Sans', 'Poppins', Arial, sans-serif;
  --toc-body-copy-size: 16px;
  --toc-body-copy-line: 1.45;
  --toc-body-copy-letter: 0;
  --toc-body-copy-weight: 400;
  --toc-body-copy-dark: #222;
  --toc-body-copy-soft: rgba(255, 255, 255, .86);
}

.catalogue-live-copy span,
.warehouse-panel p,
.warehouse-panel address,
.testimonial-grid p,
.testimonial-grid span,
.faq summary,
.faq details[open] p,
.footer-newsletter p,
.footer-newsletter .footer-small,
.product-grid p {
  font-family: var(--toc-body-copy-font) !important;
  font-size: var(--toc-body-copy-size) !important;
  line-height: var(--toc-body-copy-line) !important;
  font-weight: var(--toc-body-copy-weight) !important;
  letter-spacing: var(--toc-body-copy-letter) !important;
}

.warehouse-panel p,
.warehouse-panel address,
.product-grid p,
.faq details:not([open]) summary {
  color: var(--toc-body-copy-dark) !important;
}

.catalogue-live-copy span,
.testimonial-grid p,
.testimonial-grid span,
.faq details[open] summary,
.faq details[open] p,
.footer-newsletter p,
.footer-newsletter .footer-small {
  color: var(--toc-body-copy-soft) !important;
}

.testimonial-grid span {
  font-family: var(--toc-body-copy-font) !important;
  font-size: var(--toc-body-copy-size) !important;
  line-height: var(--toc-body-copy-line) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.footer-newsletter p strong,
.product-grid p strong {
  font-weight: 600 !important;
}

.faq summary,
.faq details[open] summary {
  font-size: var(--toc-body-copy-size) !important;
  line-height: var(--toc-body-copy-line) !important;
  letter-spacing: 0 !important;
}

.testimonial-grid h3 {
  letter-spacing: 0 !important;
}

@media (max-width: 520px) {
  .catalogue-live-copy span,
  .warehouse-panel p,
  .warehouse-panel address,
  .testimonial-grid p,
  .testimonial-grid span,
  .faq summary,
  .faq details[open] p,
  .footer-newsletter p,
  .footer-newsletter .footer-small,
  .product-grid p {
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  .testimonial-grid span {
    font-size: 10px !important;
    line-height: 1.4 !important;
  }

  .faq summary,
  .faq details[open] summary {
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
}

/* Homepage hero heading lock */
:root {
  --toc-display-heading-font: Georgia, 'Times New Roman', Times, serif;
}

.hero-card h1 {
  font-family: var(--toc-display-heading-font) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.hero-card h1 {
  text-transform: uppercase !important;
}

.main-nav,
.header-cta,
button,
.service-label,
.service-tab,
.footer-col a,
.footer-newsletter input {
  font-family: var(--sans) !important;
}

/* Final start-strip blue emphasis */
.start-strip h2 span {
  color: #006fbd !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
}

/* Final mobile warehouse readability */
@media (max-width: 520px) {
  .warehouse {
    width: min(calc(100% - 24px), 440px) !important;
    grid-template-columns: 1fr !important;
  }

  .warehouse-panel {
    padding: 36px 34px 54px !important;
  }

  .warehouse-panel h2 {
    max-width: 320px !important;
    font-size: 30px !important;
    line-height: 1.04 !important;
  }

  .warehouse-panel p {
    display: block !important;
    max-width: 315px !important;
    margin: 0 0 18px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
  }

  .warehouse-panel address {
    max-width: 315px !important;
    margin-bottom: 28px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
  }
}

/* Previous-events GIF fallback for tablet/mobile only; desktop is locked later. */
@media (max-width: 980px) {
.gallery {
  position: relative !important;
  min-height: 0 !important;
  aspect-ratio: 1350 / 524 !important;
  margin-top: 0 !important;
  margin-bottom: 58px !important;
  overflow: hidden !important;
  background: #000 !important;
  border-radius: 0 0 12px 12px !important;
}

.gallery::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(0, 0, 0, .42) 0%, rgba(0, 0, 0, .2) 30%, rgba(0, 0, 0, 0) 58%) !important;
}

.gallery picture {
  display: none !important;
}

.gallery-media-link {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  border-radius: 0 0 12px 12px !important;
}

.gallery-exact {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 0 12px 12px !important;
}

.gallery-content {
  position: absolute !important;
  z-index: 2 !important;
  left: clamp(42px, 9.2vw, 125px) !important;
  top: 50% !important;
  width: min(520px, 48%) !important;
  padding: 0 !important;
  display: block !important;
  transform: translateY(-43%) !important;
}

.gallery-content h2 {
  margin: 0 0 6px !important;
  color: #fff !important;
  font-size: clamp(32px, 3.8vw, 55px) !important;
  line-height: .96 !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
}

.gallery-kicker {
  margin: 0 0 18px !important;
  color: #fff !important;
  font-size: clamp(20px, 2vw, 30px) !important;
  line-height: 1.1 !important;
  font-weight: 500 !important;
}

.gallery-content p:not(.gallery-kicker) {
  max-width: 330px !important;
  margin: 0 0 26px !important;
  color: rgba(255, 255, 255, .86) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
}

.gallery-btn {
  min-height: 47px !important;
  padding: 0 22px !important;
  color: #fff !important;
  background: #000 !important;
  border-radius: 7px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}
}

@media (max-width: 520px) {
  .gallery {
    aspect-ratio: auto !important;
    min-height: 300px !important;
    margin-bottom: 44px !important;
  }

  .gallery::after {
    background: linear-gradient(90deg, rgba(0, 0, 0, .58) 0%, rgba(0, 0, 0, .28) 62%, rgba(0, 0, 0, .04) 100%) !important;
  }

  .gallery-content {
    left: 28px !important;
    width: min(280px, calc(100% - 56px)) !important;
    transform: translateY(-46%) !important;
  }

  .gallery-content h2 {
    font-size: 30px !important;
  }

  .gallery-kicker {
    font-size: 19px !important;
  }

  .gallery-content p:not(.gallery-kicker) {
    max-width: 250px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
  }

  .gallery-btn {
    min-height: 40px !important;
    font-size: 11px !important;
  }
}

/* Final mobile hero note spacing */
@media (max-width: 520px) {




  .hero-card {
    transform: translateY(122px) !important;
  }
}

/* Final site-wide section rhythm */
.products,
.testimonials,
.logos,
.faq,
.instagram {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.catalogue-band,
.warehouse {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}

.products + .catalogue-band,
.catalogue-band + .warehouse,
.warehouse + .testimonials,
.testimonials + .logos,
.logos + .faq,
.faq + .instagram {
  margin-top: 0 !important;
}

@media (max-width: 520px) {
  .products,
  .testimonials,
  .logos,
  .faq,
  .instagram {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .catalogue-band,
  .warehouse {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
}

/* Final hero-note motion restore */


















/* Final hero-note delayed entrance and raised placement */










/* Final black CTA standard */
.start-strip a,
.gallery-btn,
.products .section-line a,
.catalogue-actions a:nth-child(2),
.warehouse-panel a {
  width: auto !important;
  min-width: 172px !important;
  max-width: calc(100vw - 48px) !important;
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: #000 !important;
  font-family: var(--sans) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  transition: background-color .18s ease, color .18s ease !important;
}

.start-strip a:hover,
.start-strip a:focus-visible,
.gallery-btn:hover,
.gallery-btn:focus-visible,
.products .section-line a:hover,
.products .section-line a:focus-visible,
.catalogue-actions a:nth-child(2):hover,
.catalogue-actions a:nth-child(2):focus-visible,
.warehouse-panel a:hover,
.warehouse-panel a:focus-visible {
  color: #fff !important;
  background: #4b8aa1 !important;
}

@media (max-width: 520px) {
  .start-strip a,
  .gallery-btn,
  .products .section-line a,
  .catalogue-actions a:nth-child(2),
  .warehouse-panel a {
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 44px) !important;
    min-height: 42px !important;
    height: 42px !important;
    padding-inline: 24px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }

  .start-strip a {
    font-size: 0 !important;
  }

  .start-strip a::before {
    content: 'Event Pricing' !important;
    font-size: 13px !important;
    line-height: 1 !important;
  }

  .product-grid article:first-child::after {
    width: max-content !important;
    max-width: 100% !important;
    min-height: 42px !important;
    height: 42px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 20px !important;
    border-radius: 6px !important;
    color: #fff !important;
    background: #000 !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  .product-grid article:first-child:hover::after {
    color: #fff !important;
    background: #4b8aa1 !important;
  }
}

/* Final supplied catalogue button icons */
.catalogue-actions .catalogue-icon {
  position: static !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}

.catalogue-actions .catalogue-icon::before,
.catalogue-actions .catalogue-icon::after {
  content: none !important;
}

.catalogue-actions .catalogue-icon-eye {
  width: 17px !important;
  height: 12px !important;
}

/* Final no-wrapped CTA labels */
.header-cta,
.start-strip a,
.header-cta,
.header-cta-text,
.gallery-btn,
.products .section-line a,
.catalogue-actions a,
.warehouse-panel a,
.social-btn,
.contact-form-card button,
.footer-newsletter button,
.qf-btn,
.qf-file-btn,
.qf-top-back {
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.catalogue-actions a {
  width: auto !important;
  max-width: calc(100vw - 44px) !important;
}

/* Final supplied warehouse map pin */
.location-icon img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* Final bottom social section touch */
.instagram {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.instagram-head {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.instagram + .site-footer,
.insta-grid {
  margin-top: 0 !important;
}

.insta-grid {
  margin-bottom: 0 !important;
}

@media (max-width: 520px) {
  .instagram {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .instagram-head {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Final copyright bar */
.copyright-bar {
  width: 100% !important;
  padding: 8px 22px !important;
  color: #fff !important;
  background: #000 !important;
  border-top: 1px solid rgba(126, 183, 206, .45) !important;
  text-align: center !important;
}

.copyright-bar p {
  margin: 0 !important;
  color: #fff !important;
  font-family: var(--body) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

.copyright-bar a {
  color: #7EB7CE !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.copyright-bar a:hover,
.copyright-bar a:focus-visible {
  color: #fff !important;
  text-decoration: underline !important;
}

/* Static preview feedback */
.form-preview-status {
  margin: 10px 0 0 !important;
  color: #f4d778 !important;
  font-family: var(--toc-body-copy-font, var(--sans)) !important;
  font-size: 10px !important;
  line-height: 1.45 !important;
  letter-spacing: .2px !important;
}

.contact-form-card .form-preview-status {
  color: #0C6682 !important;
  font-size: 11px !important;
}

.main-nav a[aria-current="page"] {
  color: #fff !important;
  background: #000 !important;
}

.site-header a:focus-visible,
.site-header button:focus-visible,
.footer-newsletter button:focus-visible,
.footer-newsletter input:focus-visible,
.chat-bubble:focus-visible {
  outline: 2px solid #f4d778 !important;
  outline-offset: 3px !important;
}

@media (max-width: 520px) {
  .copyright-bar {
    padding: 9px 18px !important;
  }

  .copyright-bar p {
    font-size: 12px !important;
  }
}

/* Final homepage section gap normalization */
:root {
  --home-section-gap: 76px;
  --home-section-gap-mobile: 56px;
}

.products {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.catalogue-band,
.warehouse,
.testimonials,
.logos,
.faq {
  margin-bottom: 0 !important;
}

.gallery + .products,
.products + .catalogue-band,
.catalogue-band + .warehouse,
.warehouse + .testimonials,
.testimonials + .logos,
.logos + .faq,
.faq + .instagram {
  margin-top: var(--home-section-gap) !important;
}

.instagram {
  margin-bottom: 0 !important;
}

.instagram + .site-footer {
  margin-top: 0 !important;
}

@media (max-width: 520px) {
  .gallery + .products,
  .products + .catalogue-band,
  .catalogue-band + .warehouse,
  .warehouse + .testimonials,
  .testimonials + .logos,
  .logos + .faq,
  .faq + .instagram {
    margin-top: var(--home-section-gap-mobile) !important;
  }
}

/* Previous Events page */
.previous-events-page {
  background: #fff;
  --previous-events-heading-font: var(--toc-display-heading-font, Georgia, 'Times New Roman', Times, serif);
}

.previous-events-hero {
  position: relative;
  min-height: 389px;
  overflow: hidden;
  color: #fff;
  background: #0b3f4d;
}

.previous-events-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(90deg, #0a4b5c 0%, #0a4b5c 42%, rgba(10, 75, 92, .76) 54%, rgba(10, 75, 92, .2) 70%, rgba(10, 75, 92, 0) 100%);
  pointer-events: none;
}

.previous-events-hero-media,
.previous-events-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.previous-events-hero-media img {
  object-fit: cover;
  object-position: center;
  filter: saturate(.96) contrast(1.04);
}

.previous-events-hero-copy {
  position: relative;
  z-index: 3;
  width: min(520px, 48%);
  min-height: 389px;
  margin-left: max(96px, calc((100vw - var(--content-width)) / 2 + 96px));
  padding: 58px 0 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.previous-events-hero-copy h1 {
  margin: 0 0 22px;
  color: #fff;
  font-family: var(--previous-events-heading-font);
  font-size: clamp(52px, 4.9vw, 72px);
  line-height: .94;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0;
}

.previous-events-hero-copy p {
  max-width: 610px;
  margin: 0;
  color: rgba(255,255,255,.9);
  font-size: clamp(18px, 1.55vw, 27px);
  line-height: .96;
  letter-spacing: .2px;
}

.previous-events-list {
  padding: 54px max(48px, calc((100vw - var(--content-width)) / 2 + 48px)) 76px;
  background: #fff;
}

.event-card-grid {
  width: 100%;
  max-width: calc(var(--content-width) - 96px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(28px, 3vw, 48px);
  row-gap: 48px;
}

.event-card {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  color: #161616;
  background: #fff;
}

.event-card > img,
.event-card-media {
  width: 100%;
  aspect-ratio: 1.05 / 1;
  border-radius: 6px;
  background: #eee;
  overflow: hidden;
}

.event-card-media {
  display: block;
  padding: 0;
  border: 0;
  cursor: pointer;
}

.event-card > img,
.event-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .24s ease, filter .24s ease;
}

.event-card-media:hover img,
.event-card-media:focus-visible img {
  transform: scale(1.035);
  filter: brightness(.94);
}

.event-card-copy {
  position: relative;
  min-height: 198px;
  padding: 18px 34px 34px 0;
}

.event-card time {
  display: block;
  margin-bottom: 14px;
  color: #595959;
  font-size: 10px;
  line-height: 1.1;
  letter-spacing: 0;
}

.event-card h2 {
  margin: 0 0 20px;
  color: #111;
  font-family: var(--previous-events-heading-font);
  font-size: clamp(27px, 2.1vw, 34px);
  line-height: .92;
  font-weight: 400;
  letter-spacing: 0;
}

.event-card p {
  max-width: 315px;
  margin: 0;
  color: #242424;
  font-size: clamp(12px, .82vw, 15px);
  line-height: 1.24;
  letter-spacing: 0;
}

.event-card-copy a,
.event-card-action {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  color: #111;
  border: 1.5px solid #111;
  border-radius: 50%;
  font-size: 18px;
  line-height: 1;
  font-weight: 600;
  padding: 0;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}

.event-card-copy a:hover,
.event-card-copy a:focus-visible,
.event-card-action:hover,
.event-card-action:focus-visible {
  color: #fff;
  background: #111;
  transform: translateX(2px);
}

.event-gallery-panel {
  position: fixed;
  inset: 0;
  z-index: 1000;
  padding: 32px;
  background: rgba(0, 0, 0, .72);
  overflow-y: auto;
  overscroll-behavior: contain;
}

body.event-gallery-open {
  overflow: hidden;
}

.event-gallery-shell {
  width: 100%;
  max-width: min(1120px, calc(100vw - 64px));
  margin: 0 auto;
  padding: 24px 24px 24px;
  color: #111;
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .35);
}

.event-gallery-header {
  display: grid;
  grid-template-columns: minmax(190px, 270px) 1fr auto;
  align-items: start;
  gap: 26px;
  margin-bottom: 18px;
}

.event-gallery-header h2 {
  margin: 0;
  color: #111;
  font-family: var(--previous-events-heading-font);
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.08;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .6px;
}

.event-gallery-header p {
  max-width: 760px;
  margin: 0;
  color: rgba(0,0,0,.72);
  font-size: 13px;
  line-height: 1.25;
  letter-spacing: .6px;
}

.event-gallery-close {
  min-height: 36px;
  padding: 0 14px;
  color: #fff;
  background: #111;
  border: 1px solid #111;
  border-radius: 3px;
  font-size: 11px;
  line-height: 1;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
}

.event-gallery-viewer {
  position: relative;
  display: block;
}

.event-gallery-main {
  position: relative;
  width: 100%;
  height: clamp(430px, 46vw, 620px);
  margin: 0;
  display: grid;
  place-items: center;
  background: transparent;
  overflow: hidden;
}

.event-gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.event-gallery-main figcaption {
  position: absolute;
  right: 14px;
  bottom: 12px;
  padding: 5px 8px;
  color: #fff;
  background: rgba(0,0,0,.68);
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  letter-spacing: .2px;
}

.event-gallery-arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  padding: 0;
  color: transparent;
  background: transparent;
  border: 0;
  transform: translateY(-50%);
  cursor: pointer;
  transition: transform .18s ease, opacity .18s ease;
}

.event-gallery-prev {
  left: 14px;
}

.event-gallery-next {
  right: 14px;
}

.event-gallery-arrow img {
  width: 100%;
  height: 100%;
  display: block;
}

.event-gallery-arrow:hover,
.event-gallery-arrow:focus-visible {
  opacity: .84;
  transform: translateY(-50%) scale(1.05);
}

.event-gallery-thumbs {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  overflow: hidden;
}

.event-gallery-thumb {
  width: 100%;
  height: 118px;
  padding: 0;
  border: 2px solid transparent;
  background: transparent;
  cursor: pointer;
  opacity: .72;
  transition: opacity .18s ease, border-color .18s ease, transform .18s ease;
}

.event-gallery-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.event-gallery-thumb.is-active,
.event-gallery-thumb:hover,
.event-gallery-thumb:focus-visible {
  opacity: 1;
  border-color: #111;
  transform: translateY(-2px);
}

@media (max-width: 900px) {
  .previous-events-hero {
    min-height: 310px;
  }

  .previous-events-hero-copy {
    width: min(520px, calc(100% - 56px));
    min-height: 310px;
    margin-left: 36px;
  }

  .event-card-grid {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .event-gallery-header {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .event-gallery-close {
    justify-self: start;
  }

  .event-gallery-viewer {
    display: block;
  }

  .event-gallery-arrow {
    width: 54px;
    height: 54px;
  }
}

@media (max-width: 520px) {
  .previous-events-hero {
    min-height: 472px;
  }

  .previous-events-hero-media img {
    object-position: center;
  }

  .previous-events-hero::before {
    display: none;
  }

  .previous-events-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
      linear-gradient(160deg,
        rgba(8, 67, 82, 0) 38%,
        rgba(8, 67, 82, .12) 46%,
        rgba(8, 67, 82, .18) 53%,
        rgba(8, 67, 82, .08) 61%,
        rgba(8, 67, 82, 0) 72%),
      linear-gradient(160deg,
        rgba(255, 255, 255, 0) 43%,
        rgba(255, 255, 255, .05) 50%,
        rgba(255, 255, 255, 0) 60%);
  }

  .previous-events-hero-copy {
    display: none;
  }

  .previous-events-list {
    padding: 28px 0 54px;
    overflow: hidden;
  }

  .event-gallery-panel {
    padding: 12px;
  }

  .event-gallery-shell {
    padding: 18px 14px 18px;
    max-width: calc(100vw - 24px);
  }

  .event-gallery-header h2 {
    font-size: 24px;
  }

  .event-gallery-header p {
    font-size: 12px;
  }

  .event-gallery-viewer {
    display: block;
  }

  .event-gallery-arrow {
    width: 44px;
    height: 44px;
  }

  .event-gallery-arrow:hover,
  .event-gallery-arrow:focus-visible {
    transform: translateY(-50%) scale(1.06);
  }

  .event-gallery-prev {
    left: 10px;
  }

  .event-gallery-next {
    right: 10px;
  }

  .event-gallery-main {
    height: 330px;
  }

  .event-gallery-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
  }

  .event-gallery-thumb {
    height: 70px;
  }

  .event-card-grid {
    max-width: none;
    margin: 0;
    padding: 0 30px 12px 50px;
    display: flex;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding-left: 50px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .event-card-grid::-webkit-scrollbar {
    display: none;
  }

  .event-card {
    flex: 0 0 min(74vw, 310px);
    width: auto;
    max-width: none;
    margin: 0;
    scroll-snap-align: start;
  }

  .event-card > img,
  .event-card-media {
    aspect-ratio: 1.08 / 1;
  }

  .event-card-copy {
    min-height: 188px;
    padding: 14px 34px 34px 0;
  }

  .event-card time {
    font-size: 10px;
    margin-bottom: 12px;
  }

  .event-card h2 {
    margin-bottom: 18px;
    font-size: 25px;
  }

  .event-card p {
    max-width: 260px;
    font-size: 12px;
    line-height: 1.22;
  }
}

/* Final Previous Events hero typography alignment with About page */
body.previous-events-page .previous-events-hero-copy h1 {
  font-family: Georgia, 'Times New Roman', Times, serif !important;
  font-size: clamp(52px, 4.9vw, 72px) !important;
  line-height: .94 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* Previous Events card titles aligned to the catalogue product label style */
body.previous-events-page .event-card h2 {
  margin: 0 0 14px !important;
  color: #000 !important;
  font-family: 'Marcellus', Georgia, 'Times New Roman', serif !important;
  font-size: clamp(23px, 1.65vw, 30px) !important;
  line-height: 1.04em !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

body.previous-events-page [data-event-card="james-bond-grand-pavilion"] .event-card-media img {
  object-position: center 46%;
}

body.previous-events-page [data-event-card="movie-magic-montgomery"] .event-card-media img {
  object-position: 58% center;
}

body.previous-events-page [data-event-card="hazendal-durbanville"] .event-card-media img {
  object-position: center 54%;
}

/* Final shared hero subtitle lock */
body.about-page .page-hero p,
body.previous-events-page .previous-events-hero-copy p {
  margin: 22px 0 0 !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 28px !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

@media (max-width: 520px) {
  body.previous-events-page {
    --previous-events-mobile-gutter: 28px;
  }

  body.previous-events-page .previous-events-hero-copy h1 {
    font-size: 44px !important;
    line-height: .96 !important;
  }

  body.previous-events-page .event-card h2 {
    font-size: 23px !important;
    line-height: 1.04em !important;
  }

  body.previous-events-page .event-card-grid {
    padding-left: var(--previous-events-mobile-gutter) !important;
    padding-right: var(--previous-events-mobile-gutter) !important;
  }

  body.about-page .page-hero p {
    margin-top: 14px !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
  }

  body.previous-events-page .previous-events-hero-copy p {
    display: none !important;
  }
}

/* Final mobile footer layout lock */
@media (max-width: 520px) {
  body .site-footer {
    width: 100% !important;
    min-height: 100svh !important;
    margin: 0 !important;
    padding: 28px 18px 26px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 28px !important;
    row-gap: 0 !important;
    justify-content: stretch !important;
    align-items: start !important;
    color: #fff !important;
    background: #000 !important;
  }

  body .footer-logo-block {
    grid-column: 1 / -1 !important;
    padding: 0 !important;
    margin: 0 0 34px !important;
  }

  body .footer-logo-block img {
    width: 205px !important;
    max-width: 72vw !important;
    height: auto !important;
    display: block !important;
  }

  body .footer-col {
    min-width: 0 !important;
    margin: 0 0 36px !important;
  }

  body .footer-col h3 {
    margin: 0 0 22px !important;
    color: #fff !important;
    font-family: Georgia, 'Times New Roman', Times, serif !important;
    font-size: 25px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
  }

  body .footer-col a {
    display: block !important;
    margin: 0 0 17px !important;
    color: rgba(255, 255, 255, .96) !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
  }

  body .footer-newsletter {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body .footer-newsletter h3 {
    margin: 0 0 11px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  body .footer-newsletter p {
    margin: 0 0 28px !important;
    color: rgba(255, 255, 255, .94) !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  body .footer-newsletter p strong {
    color: #fff !important;
    font-weight: 600 !important;
  }

  body .footer-newsletter form {
    display: grid !important;
    gap: 12px !important;
    margin: 0 0 29px !important;
  }

  body .footer-newsletter input {
    width: 100% !important;
    height: 43px !important;
    padding: 0 25px !important;
    border: 0 !important;
    border-radius: 7px !important;
    color: #111 !important;
    background: #fff !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 43px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  body .footer-newsletter input::placeholder {
    color: #111 !important;
    opacity: 1 !important;
  }

  body .footer-newsletter button {
    width: 100% !important;
    height: 43px !important;
    padding: 0 25px !important;
    border: 0 !important;
    border-radius: 7px !important;
    color: #fff !important;
    background: linear-gradient(180deg, #F5D776 0%, #E9B849 54%, #AA7D20 100%) !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 43px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  body .footer-newsletter .footer-small {
    max-width: 315px !important;
    margin: 0 0 30px !important;
    color: rgba(255, 255, 255, .92) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  body .footer-small a {
    color: #fff !important;
    text-decoration: underline !important;
  }

  body .footer-social {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 9px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
  }

  body .footer-social strong {
    flex: 0 0 100% !important;
    margin: 0 0 4px !important;
    font-weight: 600 !important;
  }

  body .footer-social a {
    width: 38px !important;
    height: 38px !important;
    display: inline-grid !important;
    place-items: center !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    text-decoration: none !important;
  }

  body .footer-social svg {
    width: 18px !important;
    height: 18px !important;
  }

  body .chat-bubble {
    display: none !important;
  }
}

/* Final homepage social strip lock */
.instagram {
  padding: 0 !important;
  background: #fff !important;
}

.instagram-head {
  width: 100% !important;
  min-height: 54px !important;
  height: 54px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 24px !important;
  background: #fff !important;
}

.instagram-head p {
  margin: 0 !important;
  color: #000 !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.instagram-head p strong {
  font-weight: 600 !important;
  font-size: 16px !important;
}

.instagram-head p span {
  font-weight: 400 !important;
  font-size: 16px !important;
  letter-spacing: 0 !important;
}

.instagram .social-buttons {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  padding: 0 !important;
  background: transparent !important;
}

.instagram .social-btn {
  min-width: 0 !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 17px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 0 !important;
  border-radius: 5px !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: .4px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.instagram .social-btn span {
  display: inline-block !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

.instagram .social-instagram {
  width: 166px !important;
  background: #000 !important;
}

.instagram .social-facebook {
  width: 160px !important;
  background: #7EB7CE !important;
}

.instagram .insta-grid {
  margin-top: 0 !important;
}

@media (max-width: 520px) {
  .instagram-head {
    height: auto !important;
    min-height: 54px !important;
    padding: 13px 18px !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .instagram-head p {
    font-size: 16px !important;
  }

  .instagram .social-buttons {
    gap: 10px !important;
  }
}

/* Final associated-companies logo slider lock */
.logos {
  padding: 0 !important;
  background: #fff !important;
  overflow: hidden !important;
}

.logo-slider {
  width: min(100%, 1000px) !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

.logo-track {
  width: max-content !important;
  max-width: none !important;
  height: 126px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 40px !important;
  animation: logoSlide 34s linear infinite !important;
  will-change: transform !important;
}

.logo-item {
  flex: 0 0 220px !important;
  width: 220px !important;
  max-width: 220px !important;
  height: 76px !important;
  display: inline-flex !important;
}

.logo-item:nth-child(n+6) {
  display: inline-flex !important;
}

.logo-item img {
  object-fit: contain !important;
}

@media (max-width: 760px) {
  .logo-slider {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
  }

  .logo-track {
    max-width: none !important;
    height: 112px !important;
    padding: 0 !important;
    gap: 28px !important;
  }

  .logo-item {
    flex-basis: 172px !important;
    width: 172px !important;
    max-width: 172px !important;
    height: 62px !important;
  }
}

@media (max-width: 520px) {
  .logo-slider {
    width: min(100%, 360px) !important;
    max-width: 360px !important;
  }

  .logo-track {
    height: 92px !important;
    padding: 0 !important;
    gap: 18px !important;
  }

  .logo-item {
    flex-basis: 96px !important;
    width: 96px !important;
    max-width: 120px !important;
    height: 42px !important;
  }
}

/* Final homepage services alignment lock */
.start-strip {
  min-height: 51px !important;
  padding: 0 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 24px !important;
  color: #000 !important;
  background: linear-gradient(90deg, #7eb7ce 0%, #d9f6ff 100%) !important;
}

.start-strip h2 {
  max-width: none !important;
  margin: 0 !important;
  color: #000 !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 1.2px !important;
  text-align: center !important;
  text-transform: none !important;
}

.start-strip h2 span {
  display: inline !important;
  color: #008fde !important;
  font-weight: 600 !important;
}

.start-strip a {
  width: 118px !important;
  min-width: 118px !important;
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 5px !important;
  color: #fff !important;
  background: #000 !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 8px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: .8px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.start-strip a::before {
  content: none !important;
}

.services {
  width: 100% !important;
  margin: 0 !important;
  padding: 34px 18px 30px !important;
  display: block !important;
  text-align: center !important;
  background: #fff !important;
}

.start-strip + .services {
  margin-top: 0 !important;
}

.services h2 {
  margin: 0 0 24px !important;
  color: #000 !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 25px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.service-tabs {
  width: min(100%, 1050px) !important;
  max-width: 1050px !important;
  margin: 0 auto 28px !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  column-gap: 24px !important;
  row-gap: 26px !important;
  align-items: start !important;
  justify-items: center !important;
}

.service-tab {
  width: 100% !important;
  min-height: 123px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-rows: 82px 30px !important;
  row-gap: 11px !important;
  align-content: start !important;
  justify-items: center !important;
}

.service-art,
.service-art img,
.service-art .state-hover {
  width: 90px !important;
  height: 81px !important;
}

.service-tab.is-active {
  grid-template-rows: 108px 30px !important;
  min-height: 149px !important;
}

.service-tab.is-active .service-art,
.service-tab.is-active .service-art img.state-active {
  width: 108px !important;
  height: 108px !important;
}

.service-label {
  width: 186px !important;
  min-width: 186px !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #7aa9bc !important;
  border-radius: 5px !important;
  color: #2d7f9c !important;
  background: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  box-shadow: 0 8px 18px rgba(46, 127, 156, .14) !important;
}

.service-tab.is-active .service-label {
  display: none !important;
}

.service-detail {
  width: min(100%, 560px) !important;
  max-width: 560px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: block !important;
  border-radius: 8px !important;
  background: #000 !important;
  overflow: hidden !important;
}

.service-detail-banner {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

.services + .gallery {
  margin-top: 18px !important;
}

@media (max-width: 760px) {
  .start-strip {
    min-height: 78px !important;
    padding: 16px 18px !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .start-strip h2 {
    max-width: 420px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  .services {
    padding: 32px 16px 34px !important;
  }

  .service-tabs {
    width: min(100%, 560px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 24px !important;
    row-gap: 26px !important;
  }

  .service-label {
    width: min(186px, 100%) !important;
    min-width: 0 !important;
    max-width: 186px !important;
    font-size: 16px !important;
  }
}

@media (max-width: 520px) {
  .service-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 350px !important;
    row-gap: 24px !important;
    column-gap: 16px !important;
  }

  .service-tab,
  .service-tab.is-active {
    min-height: 138px !important;
  }

  .service-detail {
    width: min(100%, 350px) !important;
  }
}

/* Final H2 size lock */
h2:not(#toc-h2-size-lock) {
  font-size: 36px !important;
}

.start-strip {
  min-height: 74px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.start-strip h2 {
  font-size: 36px !important;
  line-height: 1.05 !important;
}

.services h2 {
  font-size: 36px !important;
}

@media (max-width: 760px) {
  .start-strip {
    min-height: 124px !important;
  }

  .start-strip h2 {
    max-width: 560px !important;
    font-size: 36px !important;
    line-height: 1.05 !important;
  }
}

@media (max-width: 520px) {
  .start-strip {
    min-height: 168px !important;
  }

  .start-strip h2 {
    max-width: 350px !important;
    font-size: 36px !important;
    line-height: 1.05 !important;
  }
}

/* Final CTA strip, product depth, and testimonial arrow polish */
.start-strip {
  min-height: 51px !important;
  padding: 0 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 24px !important;
}

.start-strip .start-copy {
  max-width: none !important;
  margin: 0 !important;
  color: #000 !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 1.2px !important;
  text-align: center !important;
}

.start-strip .start-copy span {
  color: #008fde !important;
  font-weight: 600 !important;
}

.gallery + .products {
  margin-top: 96px !important;
}

.product-grid img {
  box-shadow: 0 14px 30px rgba(0, 0, 0, .14) !important;
}

.testimonial-slider {
  padding-left: 64px !important;
  padding-right: 64px !important;
}

.testimonial-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 3 !important;
  width: 52px !important;
  height: 64px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  cursor: pointer !important;
  transform: translateY(-50%) !important;
}

.testimonial-prev {
  left: 0 !important;
}

.testimonial-next {
  right: 0 !important;
}

.testimonial-arrow img {
  width: 34px !important;
  height: 43px !important;
  display: block !important;
  object-fit: contain !important;
}

.testimonial-prev img {
  transform: rotate(180deg);
}

@media (max-width: 760px) {
  .start-strip {
    min-height: 78px !important;
    padding: 16px 18px !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .start-strip .start-copy {
    max-width: 420px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 520px) {
  .gallery + .products {
    margin-top: 64px !important;
  }

  .testimonial-slider {
    padding-left: 42px !important;
    padding-right: 42px !important;
  }

  .testimonial-arrow {
    width: 34px !important;
    height: 48px !important;
    display: grid !important;
  }

  .testimonial-arrow img {
    width: 25px !important;
    height: auto !important;
  }
}

/* Final service detail scale */
.service-detail {
  width: min(100%, 1150px) !important;
  max-width: 1150px !important;
}

@media (max-width: 760px) {
  .service-detail {
    width: min(100%, 560px) !important;
    max-width: 560px !important;
  }
}

@media (max-width: 520px) {
  .service-detail {
    width: min(100%, 350px) !important;
    max-width: 350px !important;
  }
}

/* Final testimonials-to-logo alignment */
.testimonials + .logos {
  margin-top: 0 !important;
}

.logos {
  padding-top: 0 !important;
}

.logos .logo-track {
  height: 104px !important;
  align-items: flex-start !important;
  padding-top: 18px !important;
}

@media (max-width: 520px) {
  .logos .logo-track {
    height: 78px !important;
    padding-top: 12px !important;
  }
}

/* Final trust-section alignment and typography lock */
h2:not(#toc-h2-size-lock) {
  font-size: 40px !important;
}









.start-strip .start-copy {
  font-size: 20px !important;
  line-height: 1.12 !important;
}

.start-strip a,
.gallery-btn,
.products .section-line a,
.catalogue-actions a,
.warehouse-panel a,
.service-label,
.social-btn,
.footer-newsletter button,
.contact-form-card button,
.qf-btn,
.qf-file-btn,
.qf-top-back,
.qf-select-button,
.qf-category-menu button,
.qf-location-suggestions button {
  font-size: 16px !important;
}

.testimonial-arrow,
.testimonial-dots button,
.mobile-menu-button,
.qf-close {
  font-size: 0 !important;
}

.testimonials,
.logos {
  --trust-section-pad: max(30px, calc((100vw - var(--section-frame)) / 2));
  --trust-arrow-gutter: 64px;
  --logo-visible: 4;
  --logo-gap: 40px;
}

.testimonials {
  padding-left: var(--trust-section-pad) !important;
  padding-right: var(--trust-section-pad) !important;
  padding-top: 58px !important;
  padding-bottom: 58px !important;
}

.testimonial-slider {
  box-sizing: border-box !important;
  width: min(calc(100vw - var(--trust-section-pad) - var(--trust-section-pad)), var(--section-frame)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--trust-arrow-gutter) !important;
  padding-right: var(--trust-arrow-gutter) !important;
}

.testimonial-viewport {
  width: 100% !important;
}

.testimonials + .logos {
  margin-top: 0 !important;
}

.logos {
  padding: 0 !important;
}

.logo-slider {
  width: min(
    calc(100vw - var(--trust-section-pad) - var(--trust-section-pad) - var(--trust-arrow-gutter) - var(--trust-arrow-gutter)),
    calc(var(--section-frame) - var(--trust-arrow-gutter) - var(--trust-arrow-gutter))
  ) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: hidden !important;
}

.logo-track {
  width: max-content !important;
  height: 104px !important;
  padding: 18px 0 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: var(--logo-gap) !important;
  animation: logoSlide 42s linear infinite !important;
  transform: translateX(0);
  transition: none !important;
  will-change: transform !important;
}

.logo-item {
  flex: 0 0 var(--logo-item-width, 220px) !important;
  width: var(--logo-item-width, 220px) !important;
  max-width: none !important;
}

.logo-item[aria-hidden="true"] {
  display: inline-flex !important;
}

.logo-slider:hover .logo-track,
.logo-slider:focus-within .logo-track {
  animation-play-state: running !important;
}

@media (max-width: 760px) {
  .testimonials,
  .logos {
    --trust-section-pad: 22px;
    --trust-arrow-gutter: 42px;
    --logo-visible: 2;
    --logo-gap: 28px;
  }

  .start-strip .start-copy {
    font-size: 20px !important;
  }
}

@media (max-width: 520px) {
  .testimonials,
  .logos {
    --trust-section-pad: 22px;
    --trust-arrow-gutter: 42px;
    --logo-visible: 2;
    --logo-gap: 18px;
  }

  .logo-track {
    height: 78px !important;
    padding-top: 12px !important;
  }

  .testimonials {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
}

/* Final CTA strip breathing room */
.start-strip {
  min-height: 0 !important;
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}

.start-strip .start-copy {
  font-size: 24px !important;
  line-height: 1.16 !important;
}

.start-strip a {
  font-size: 16px !important;
}

@media (max-width: 760px) {
  .start-strip {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  .start-strip .start-copy {
    font-size: 24px !important;
  }
}

/* Final black button standard */
.start-strip a,
.gallery-btn,
.products .section-line a,
.catalogue-actions a:nth-child(2),
.warehouse-panel a,
.contact-form-card button,
.event-gallery-close,
.qf-btn-primary:not(:disabled) {
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 184px !important;
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  border: 0 !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: #000 !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.start-strip a::after,
.gallery-btn::after,
.products .section-line a::after,
.warehouse-panel a::after,
.contact-form-card button::after,
.event-gallery-close::after,
.qf-btn-primary:not(:disabled)::after {
  content: '' !important;
  width: 16px !important;
  height: 10px !important;
  flex: 0 0 16px !important;
  display: inline-block !important;
  background: url('../rsc/icons/catalog-eye.png') center / contain no-repeat !important;
}

.catalogue-actions a:nth-child(2)::after {
  content: none !important;
}

.catalogue-actions a:nth-child(2) .catalogue-icon {
  width: 16px !important;
  height: 10px !important;
  margin-left: 0 !important;
  display: inline-block !important;
  object-fit: contain !important;
}

@media (max-width: 520px) {
  .start-strip a,
  .gallery-btn,
  .products .section-line a,
  .catalogue-actions a:nth-child(2),
  .warehouse-panel a,
  .contact-form-card button,
  .event-gallery-close,
  .qf-btn-primary:not(:disabled) {
    min-width: 0 !important;
    max-width: calc(100vw - 44px) !important;
    padding: 0 18px !important;
  }
}

/* Final balanced logo-to-FAQ rhythm */
.logos {
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}

.logo-track {
  height: 76px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center !important;
}

.logos + .faq {
  margin-top: 0 !important;
}

.faq {
  padding-top: 0 !important;
}

@media (max-width: 520px) {
  .logos {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

  .logo-track {
    height: 42px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Final footer social placement and services alignment lock */
.site-footer .footer-logo-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 22px !important;
}

.footer-logo-block .footer-social {
  margin-top: 0 !important;
}

.footer-newsletter .footer-social {
  display: none !important;
}

.service-tabs {
  box-sizing: border-box !important;
  width: min(100%, 1220px) !important;
  max-width: 1220px !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  column-gap: 24px !important;
  row-gap: 34px !important;
  justify-items: center !important;
  overflow: visible !important;
}

.service-tab,
.service-tab.is-active {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 150px !important;
  grid-template-rows: 108px 34px !important;
  row-gap: 8px !important;
  align-content: start !important;
  justify-items: center !important;
}

.service-art,
.service-art img,
.service-art .state-hover,
.service-art .state-active,
.service-tab.is-active .service-art,
.service-tab.is-active .service-art img.state-active {
  width: 158px !important;
  height: 108px !important;
  max-width: 100% !important;
}

.service-art img,
.service-art .state-hover,
.service-art .state-active,
.service-tab.is-active .service-art img.state-active {
  object-fit: contain !important;
}

.service-label {
  width: min(186px, 100%) !important;
  max-width: 100% !important;
}

@media (max-width: 760px) {
  html,
  body {
    overflow-x: clip !important;
  }

  .services {
    width: 100% !important;
    overflow-x: clip !important;
  }

  .service-tabs {
    width: min(100%, 540px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 22px !important;
    row-gap: 34px !important;
    padding: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .service-tab,
  .service-tab.is-active {
    min-height: 142px !important;
    grid-template-rows: 100px 34px !important;
    row-gap: 8px !important;
  }

  .service-art,
  .service-art img,
  .service-art .state-hover,
    .service-art .state-active,
    .service-tab.is-active .service-art,
    .service-tab.is-active .service-art img.state-active {
    width: min(150px, 100%) !important;
    height: 100px !important;
  }

  .service-label {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 186px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: 16px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 520px) {
  body .footer-logo-block {
    margin-bottom: 34px !important;
    gap: 18px !important;
  }

  body .footer-logo-block .footer-social {
    flex-wrap: nowrap !important;
    gap: 12px !important;
  }

  body .footer-logo-block .footer-social strong {
    flex: 0 0 auto !important;
    margin: 0 2px 0 0 !important;
  }

  .service-tabs {
    width: 100% !important;
    column-gap: 16px !important;
    row-gap: 30px !important;
  }

  .service-tab,
  .service-tab.is-active {
    min-height: 132px !important;
    grid-template-rows: 90px 34px !important;
    row-gap: 8px !important;
  }

  .service-art,
  .service-art img,
  .service-art .state-hover,
    .service-art .state-active,
    .service-tab.is-active .service-art,
    .service-tab.is-active .service-art img.state-active {
    width: min(140px, 100%) !important;
    height: 90px !important;
  }
}

/* Final services breathing-room and active label lock */
.services {
  padding-top: 54px !important;
}

.services h2 {
  margin-top: 0 !important;
  margin-bottom: 36px !important;
}

.service-tab.is-active .service-label {
  display: none !important;
}

@media (max-width: 760px) {
  .services {
    padding-top: 50px !important;
  }

  .services h2 {
    margin-bottom: 34px !important;
  }
}

/* Final service tab visual rhythm */
.service-tab,
.service-tab.is-active {
  min-height: 142px !important;
  grid-template-rows: 92px 42px !important;
  row-gap: 12px !important;
}

.service-art,
.service-tab.is-active .service-art {
  width: 118px !important;
  height: 92px !important;
}

.service-art img,
.service-art .state-normal,
.service-art .state-hover,
.service-art .state-active,
.service-tab.is-active .service-art img.state-active {
  width: 118px !important;
  height: 92px !important;
  object-fit: contain !important;
}

.service-tab.is-active .state-normal {
  opacity: 0 !important;
}

.service-tab.is-active .state-hover {
  opacity: 0 !important;
}

.service-tab.is-active .state-active {
  opacity: 1 !important;
}

.service-tab.is-active .service-label,
.service-label {
  width: min(204px, 100%) !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #2f7f99 !important;
  border-radius: 10px !important;
  color: #2f7f99 !important;
  background: #fff !important;
  box-shadow: 0 8px 18px rgba(46, 127, 156, .14) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .service-tab,
  .service-tab.is-active {
    min-height: 132px !important;
    grid-template-rows: 84px 40px !important;
    row-gap: 10px !important;
  }

  .service-art,
  .service-tab.is-active .service-art,
  .service-art img,
  .service-art .state-normal,
  .service-art .state-hover,
  .service-art .state-active,
  .service-tab.is-active .service-art img.state-active {
    width: min(110px, 100%) !important;
    height: 84px !important;
  }

  .service-tab.is-active .service-label,
  .service-label {
    min-height: 40px !important;
    padding: 0 10px !important;
    font-size: 16px !important;
  }
}

/* Keep the active black icon effect, but crop away baked-in title text */
.service-tab.is-active .service-art {
  overflow: hidden !important;
}

.service-tab.is-active .service-art img.state-active {
  width: 92px !important;
  height: auto !important;
  max-width: none !important;
  left: 50% !important;
  top: 0 !important;
  transform: translateX(-50%) !important;
  object-fit: contain !important;
  object-position: top center !important;
}

@media (max-width: 760px) {
  .service-tab.is-active .service-art img.state-active {
    width: 84px !important;
  }
}

/* Final active service label fade */
.service-tab.is-active .service-label {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .18s ease, visibility .18s ease !important;
}

/* Final services card/detail lock */
.service-detail {
  width: min(calc(100% - 88px), 1150px) !important;
  max-width: 1150px !important;
  padding: 0 !important;
  margin: 2px auto 0 !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

.service-detail-banner {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 8px !important;
}

.service-tab *,
.service-detail * {
  font-size: inherit;
}

.service-tab .service-label {
  font-size: 16px !important;
}

.service-tab.is-active .service-label {
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #000 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 16px !important;
  line-height: 1.1 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
}

.service-tab.is-active {
  min-height: 118px !important;
  grid-template-rows: 92px 18px !important;
  row-gap: 8px !important;
}

@media (max-width: 760px) {
  .service-tab.is-active {
    min-height: 110px !important;
    grid-template-rows: 84px 18px !important;
    row-gap: 8px !important;
  }
}
.toc-hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.toc-form-message {
  margin: 0 0 14px;
  font: 600 14px/1.35 'Instrument Sans', Arial, sans-serif;
}

.toc-form-message-success {
  color: #74c69d;
}

.toc-form-message-error {
  color: #ff8a8a;
}

/* Final hero note size lock: keep the floating note compact, never H2-scaled. */














/* StrandWeb staging polish lock - 2026-05-12 */
:root {
  --body: var(--toc-body-font, 'Instrument Sans', 'Poppins', Arial, sans-serif) !important;
  --sans: var(--toc-heading-font, 'Instrument Sans', 'Poppins', Arial, sans-serif) !important;
  --serif: var(--toc-heading-font, 'Instrument Sans', 'Poppins', Arial, sans-serif) !important;
}

body {
  font-size: var(--toc-body-size, 16px) !important;
}

p,
li,
address,
summary,
input,
textarea,
.product-grid p,
.testimonial-grid p,
.warehouse-panel p,
.warehouse-panel address,
.catalogue-live-copy span,
.service-detail-copy p,
.service-detail-copy li,
.about-page .about-copy p {
  font-size: var(--toc-body-size, 16px) !important;
  line-height: var(--toc-body-line-height, 1.55) !important;
}

.gallery-btn::after,
.products .section-line a::after {
  content: none !important;
  display: none !important;
}

.gallery-btn,
.products .section-line a {
  gap: 0 !important;
}

.catalogue-band {
  margin-top: 72px !important;
  margin-bottom: 76px !important;
  box-shadow: 0 22px 50px rgba(26, 77, 96, .18) !important;
}

.catalogue-actions a {
  transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease !important;
}

.catalogue-actions a:first-child {
  box-shadow: 0 12px 26px rgba(0, 0, 0, .14) !important;
}

.catalogue-actions a:first-child:hover,
.catalogue-actions a:first-child:focus-visible {
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 36px rgba(0, 0, 0, .22) !important;
}

.catalogue-actions a:nth-child(2) {
  background: #000 !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .28) !important;
}

.catalogue-actions a:nth-child(2):hover,
.catalogue-actions a:nth-child(2):focus-visible {
  transform: translateY(-2px) !important;
  background: #111 !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, .38), 0 0 0 1px rgba(255,255,255,.24) inset !important;
}

/* Catalogue copy Figma lock - buttons handled separately */
@media (min-width: 981px) {
  body .catalogue-live-copy {
    top: 50% !important;
    left: clamp(42px, 4.9vw, 78px) !important;
    width: 462px !important;
    max-width: 462px !important;
    min-height: 308px !important;
    padding: 0 !important;
    display: block !important;
    text-align: center !important;
    transform: translateY(-50%) !important;
  }

  body .catalogue-live-copy p,
  body .catalogue-live-copy h2 {
    width: 462px !important;
    max-width: 462px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 1.2 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
  }

  body .catalogue-live-copy p {
    font-weight: 600 !important;
  }

  body .catalogue-live-copy h2 {
    margin-top: 0 !important;
    font-weight: 400 !important;
    font-style: italic !important;
  }

  body .catalogue-live-copy span {
    width: 449px !important;
    max-width: 449px !important;
    min-height: 70px !important;
    margin: 40px auto 0 !important;
    color: #fff !important;
    font-family: 'Inter', 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 23.1px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }
}

.testimonial-grid article {
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(145deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,.035) 42%, rgba(0,0,0,.12) 100%), rgba(8, 73, 46, .78) !important;
  border: 1px solid rgba(255,255,255,.68) !important;
  box-shadow: 0 20px 44px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255,255,255,.28) !important;
  backdrop-filter: blur(10px) saturate(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(1.1);
}

.testimonial-grid article::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: radial-gradient(circle at 18% 0%, rgba(255,255,255,.22), transparent 34%) !important;
  opacity: .65 !important;
}

.testimonial-grid article > * {
  position: relative !important;
  z-index: 1 !important;
}

.faq details {
  box-shadow: 0 10px 26px rgba(0, 0, 0, .08) !important;
  transition: box-shadow .2s ease, transform .2s ease !important;
}

.faq details:not([open]):hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .12) !important;
}

.faq details[open] {
  box-shadow: 0 18px 42px rgba(0, 0, 0, .18) !important;
}

.footer-social {
  font-size: 14px !important;
  gap: 14px !important;
}

.footer-social strong {
  font-size: 14px !important;
  line-height: 1 !important;
  letter-spacing: .6px !important;
}

.footer-social a {
  width: 30px !important;
  height: 30px !important;
  border-width: 1.4px !important;
}

.footer-social svg {
  width: 17px !important;
  height: 17px !important;
}

body.about-page .about-hero {
  height: clamp(292px, 20.25vw, 389px) !important;
  min-height: clamp(292px, 20.25vw, 389px) !important;
  max-height: 389px !important;
  background: linear-gradient(90deg, rgba(0, 68, 85, .98) 0%, rgba(0, 68, 85, .92) 24%, rgba(0, 68, 85, .5) 41%, rgba(0, 0, 0, 0) 60%), url('../about/about-hero-event-background.webp') center center / cover no-repeat !important;
}

body.about-page .about-hero::before,
body.about-page .page-hero::before {
  content: none !important;
  display: none !important;
}

body.about-page .page-hero-copy {
  width: min(1180px, calc(100% - 120px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  left: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

body.about-page .page-hero h1 {
  margin: 0 0 26px !important;
  max-width: 560px !important;
  color: #fff !important;
  font-size: clamp(44px, 3.25vw, 64px) !important;
  line-height: .95 !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

body.about-page .page-hero p {
  max-width: 650px !important;
  color: #fff !important;
  font-size: clamp(23px, 1.7vw, 34px) !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.about-page .about-content-section {
  max-width: 1280px !important;
  padding: 92px 40px 104px !important;
}

body.about-page .about-row {
  grid-template-columns: minmax(420px, 600px) minmax(420px, 560px) !important;
  gap: clamp(64px, 6.5vw, 128px) !important;
  align-items: center !important;
}

body.about-page .about-row + .about-row {
  margin-top: 96px !important;
}

body.about-page .about-copy p {
  max-width: 560px !important;
  margin: 0 0 24px !important;
  color: #111 !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
}

body.about-page .about-copy h2 {
  margin-bottom: 34px !important;
}

@media (max-width: 980px) {
  body.about-page .about-content-section {
    padding: 72px 32px 86px !important;
  }

  body.about-page .about-row {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
  }

  body.about-page .about-row + .about-row {
    margin-top: 78px !important;
  }
}

@media (max-width: 520px) {


  body .site-header,
  body.about-page .site-header,
  body.contact-page .site-header,
  body.policy-page .site-header {
    height: 90px !important;
    min-height: 90px !important;
    padding: 0 22px !important;
    grid-template-columns: minmax(0, 1fr) 44px 34px !important;
    gap: 12px !important;
  }

  body .brand,
  body.about-page .brand,
  body.contact-page .brand,
  body.policy-page .brand,
  body .brand img.brand-logo-mobile {
    width: min(221px, calc(100vw - 128px)) !important;
    max-width: 221px !important;
  }

  body .header-actions,
  body.about-page .header-actions,
  body.contact-page .header-actions,
  body.policy-page .header-actions {
    min-width: 90px !important;
    width: 90px !important;
    grid-template-columns: 44px 34px !important;
    gap: 12px !important;
  }

  body .mobile-menu-button,
  body.about-page .mobile-menu-button,
  body.contact-page .mobile-menu-button,
  body.policy-page .mobile-menu-button {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
  }

  body .mobile-menu-button img {
    width: 34px !important;
    height: 34px !important;
  }

  body.menu-open .main-nav,
  body.about-page.menu-open .main-nav,
  body.contact-page.menu-open .main-nav,
  body.policy-page.menu-open .main-nav {
    top: 90px !important;
    right: 10px !important;
    left: auto !important;
    width: min(244px, calc(100vw - 36px)) !important;
    padding: 0 !important;
    background: #000 !important;
    border: 0 !important;
    box-shadow: 0 24px 54px rgba(0,0,0,.42) !important;
  }

  body.menu-open .main-nav::before {
    content: '×' !important;
    height: 62px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding-right: 16px !important;
    color: #fff !important;
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
  }

  body.menu-open .main-nav a,
  body.about-page.menu-open .main-nav a,
  body.contact-page.menu-open .main-nav a,
  body.policy-page.menu-open .main-nav a {
    min-height: 48px !important;
    padding: 0 12px !important;
    border: 0 !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
  }

  body.menu-open .main-nav a:nth-child(1) { order: 1 !important; }
  body.menu-open .main-nav a:nth-child(3) { order: 2 !important; }
  body.menu-open .main-nav a:nth-child(4) { order: 3 !important; }
  body.menu-open .main-nav a:nth-child(5) { order: 4 !important; }
  body.menu-open .main-nav a:nth-child(2) { order: 5 !important; }

  body.menu-open .main-nav a[aria-current='page'],
  body.about-page.menu-open .main-nav a[aria-current='page'],
  body.contact-page.menu-open .main-nav a[aria-current='page'],
  body.policy-page.menu-open .main-nav a[aria-current='page'] {
    color: #000 !important;
    background: #fff !important;
  }

  body.menu-open::after {
    inset: 90px 0 0 !important;
    background: rgba(0,0,0,.52) !important;
  }

  .catalogue-band {
    margin-top: 54px !important;
    margin-bottom: 54px !important;
  }

  body.about-page .about-hero {
    height: 258px !important;
    min-height: 258px !important;
    max-height: none !important;
    background-position: 60% center !important;
  }

  body.about-page .page-hero-copy {
    width: calc(100% - 44px) !important;
  }

  body.about-page .page-hero h1 {
    margin-bottom: 14px !important;
    font-size: 34px !important;
  }

  body.about-page .page-hero p {
    max-width: 310px !important;
    font-size: 17px !important;
    line-height: 1.28 !important;
  }

  body.about-page .about-content-section {
    padding: 58px 24px 76px !important;
  }

  body.about-page .about-copy p {
    font-size: 16px !important;
    line-height: 1.58 !important;
  }
}

/* Final inner-page hero typography lock */
body.about-page .page-hero h1,
body.previous-events-page .previous-events-hero-copy h1 {
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

body.about-page .page-hero p {
  max-width: 760px !important;
  font-family: var(--body) !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.previous-events-page .previous-events-hero-copy p {
  max-width: 620px !important;
  font-family: var(--body) !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.previous-events-page .previous-events-hero-copy {
  width: min(760px, calc(100% - 120px)) !important;
}

@media (min-width: 981px) {
  body.previous-events-page .previous-events-hero-copy p {
    white-space: normal !important;
  }
}

@media (max-width: 760px) {
  body.about-page .page-hero p,
  body.previous-events-page .previous-events-hero-copy p {
    font-size: 18px !important;
    line-height: 1.28 !important;
  }
}

@media (max-width: 520px) {
  body.about-page .page-hero p,
  body.previous-events-page .previous-events-hero-copy p {
    font-size: 16px !important;
    line-height: 1.3 !important;
  }
}

/* Final presentation lock - 2026-05-12 */
.hero-card h1 {
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  font-size: clamp(56px, 5.1vw, 82px) !important;
  line-height: .9 !important;
  letter-spacing: .015em !important;
  text-transform: uppercase !important;
}







.contact-form-card h2 {
  font-size: clamp(26px, 2.1vw, 34px) !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

.contact-form-card p,
.contact-form-card input,
.contact-form-card textarea,
.contact-form-card button,
.contact-form-card .field-prefix,
.contact-form-card .char-count {
  font-size: 13px !important;
  letter-spacing: 0 !important;
}

@media (max-width: 760px) {
  .hero-card h1 {
    font-size: clamp(42px, 11vw, 54px) !important;
    line-height: .92 !important;
  }



  .contact-form-card h2 {
    font-size: 25px !important;
  }
}

/* Contact page Figma alignment lock - 2026-05-12 */
body.contact-page,
body.contact-page main {
  background: #003E57 !important;
}

body.contact-page .contact-page-section {
  min-height: 675px !important;
  padding: 82px max(28px, calc((100vw - 1066px) / 2)) 78px !important;
  color: #fff !important;
  background: #003E57 !important;
  display: flex !important;
  align-items: center !important;
}

body.contact-page .contact-wrap {
  width: min(1066px, 100%) !important;
  max-width: 1066px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(320px, 392px) minmax(520px, 548px) !important;
  gap: clamp(68px, 7vw, 126px) !important;
  align-items: center !important;
  justify-content: space-between !important;
}

body.contact-page .contact-info-panel {
  max-width: 392px !important;
  justify-self: start !important;
}

body.contact-page .contact-info-panel h1 {
  margin: 0 0 24px !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: 37px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.contact-page .contact-intro {
  max-width: 390px !important;
  margin: 0 0 70px !important;
  color: rgba(126, 183, 206, .88) !important;
  font-family: var(--body) !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.contact-page .contact-lines {
  display: grid !important;
  gap: 29px !important;
}

body.contact-page .contact-lines p {
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 27px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: center !important;
  color: rgba(255, 255, 255, .86) !important;
  font-family: var(--body) !important;
  font-size: 16px !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}

body.contact-page .contact-lines p > span:last-child {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

body.contact-page .contact-lines strong {
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.contact-page .contact-lines a {
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1.15 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.contact-page .contact-lines p:nth-child(1) a,
body.contact-page .contact-lines p:nth-child(3) a {
  font-weight: 600 !important;
}

body.contact-page .contact-icon {
  display: block !important;
  justify-self: center !important;
  object-fit: contain !important;
  transform: none !important;
  filter: none !important;
}

body.contact-page .contact-phone-icon {
  width: 24px !important;
  height: 24px !important;
}

body.contact-page .contact-email-icon-img {
  width: 27px !important;
  height: 22px !important;
}

body.contact-page .contact-form-card {
  width: 548px !important;
  max-width: 548px !important;
  justify-self: end !important;
  padding: 36px 48px 40px !important;
  color: #000 !important;
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 22px 48px rgba(0, 0, 0, .18) !important;
}

body.contact-page .contact-form-card h2 {
  margin: 0 0 18px !important;
  color: #000 !important;
  font-family: var(--body) !important;
  font-size: 34px !important;
  line-height: 1.12 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.contact-page .contact-form-card > p {
  margin: 0 0 22px !important;
  color: #333 !important;
  font-family: var(--body) !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

body.contact-page .contact-form-card form {
  display: grid !important;
  gap: 9px !important;
}

body.contact-page .contact-form-row,
body.contact-page .contact-phone-row {
  display: grid !important;
  gap: 10px !important;
}

body.contact-page .contact-form-row {
  grid-template-columns: 1fr 1fr !important;
}

body.contact-page .contact-phone-row {
  grid-template-columns: 58px 1fr !important;
}

body.contact-page .contact-form-card input,
body.contact-page .contact-form-card textarea {
  width: 100% !important;
  border: 1.5px solid #0C6682 !important;
  border-radius: 4px !important;
  color: #333 !important;
  background: #fff !important;
  font-family: var(--body) !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

body.contact-page .contact-form-card input {
  height: 32px !important;
  padding: 0 14px !important;
}

body.contact-page .contact-form-card textarea {
  height: 150px !important;
  padding: 13px 14px 28px !important;
  resize: none !important;
}

body.contact-page .message-wrap span {
  right: 15px !important;
  bottom: 10px !important;
  color: #a0a8ac !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
}

body.contact-page .contact-form-card button {
  width: 198px !important;
  min-width: 198px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin-top: 17px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 3px !important;
  color: #fff !important;
  background: #7EB7CE !important;
  box-shadow: none !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.contact-page .contact-form-card button::after {
  content: none !important;
}

body.contact-page .contact-form-card small {
  display: block !important;
  margin-top: 23px !important;
  color: #111 !important;
  font-family: var(--body) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

body.contact-page .contact-form-card small a {
  color: #000 !important;
  font-weight: 600 !important;
}

@media (max-width: 980px) {
  body.contact-page .contact-page-section {
    min-height: 0 !important;
    padding: 48px 28px 72px !important;
    align-items: flex-start !important;
  }

  body.contact-page .contact-wrap {
    width: min(620px, 100%) !important;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  body.contact-page .contact-info-panel,
  body.contact-page .contact-form-card {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
  }

  body.contact-page .contact-intro {
    margin-bottom: 34px !important;
  }
}

@media (max-width: 520px) {
  body.contact-page .contact-page-section {
    padding: 30px 28px 72px !important;
  }

  body.contact-page .contact-info-panel h1 {
    font-size: 27px !important;
    margin-bottom: 14px !important;
  }

  body.contact-page .contact-intro,
  body.contact-page .contact-lines p,
  body.contact-page .contact-lines strong,
  body.contact-page .contact-lines a {
    font-size: 13px !important;
  }

  body.contact-page .contact-lines {
    gap: 20px !important;
  }

  body.contact-page .contact-lines p > span:last-child {
    white-space: normal !important;
  }

  body.contact-page .contact-form-card {
    padding: 22px 18px 28px !important;
  }

  body.contact-page .contact-form-card h2 {
    font-size: 28px !important;
  }

  body.contact-page .contact-form-card > p,
  body.contact-page .contact-form-card input,
  body.contact-page .contact-form-card textarea {
    font-size: 13px !important;
  }

  body.contact-page .contact-form-card small {
    font-size: 10px !important;
    white-space: normal !important;
  }
}

/* About page final presentation lock - 2026-05-12 */
body.about-page {
  background: #fff !important;
  font-size: 16px !important;
}

body.about-page main {
  background: #fff !important;
  color: #000 !important;
  font-family: var(--body) !important;
}

body.about-page .about-hero {
  min-height: clamp(292px, 20.25vw, 389px) !important;
  height: clamp(292px, 20.25vw, 389px) !important;
  max-height: 389px !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  background:
    linear-gradient(90deg, rgba(7, 59, 75, .98) 0%, rgba(7, 59, 75, .94) 25%, rgba(7, 59, 75, .58) 43%, rgba(7, 59, 75, 0) 63%),
    url('../about/about-hero-event-background.webp') center center / cover no-repeat !important;
}

body.about-page .about-hero::before,
body.about-page .about-hero::after {
  content: none !important;
  display: none !important;
}

body.about-page .page-hero-copy {
  position: relative !important;
  z-index: 2 !important;
  width: min(710px, 48vw) !important;
  margin: 0 0 0 max(70px, calc((100vw - var(--content-width)) / 2 + 70px)) !important;
  padding: 0 !important;
  color: #fff !important;
  text-align: left !important;
}

body.about-page .page-hero h1 {
  margin: 0 0 26px !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: clamp(52px, 4.5vw, 74px) !important;
  line-height: .92 !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase !important;
}

body.about-page .page-hero p {
  max-width: 720px !important;
  margin: 0 !important;
  color: #fff !important;
  font-family: var(--body) !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.about-page .about-content-section {
  padding: 78px max(50px, calc((100vw - 1210px) / 2)) 94px !important;
  background: #fff !important;
}

body.about-page .about-row {
  width: min(1210px, 100%) !important;
  max-width: 1210px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr) !important;
  column-gap: clamp(62px, 6vw, 95px) !important;
  row-gap: 38px !important;
  align-items: center !important;
}

body.about-page .about-row + .about-row {
  margin-top: 92px !important;
}

body.about-page .about-row-bottom {
  grid-template-columns: minmax(390px, .92fr) minmax(0, .78fr) !important;
}

body.about-page .about-image {
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 0 !important;
}

body.about-page .about-team-image {
  width: 100% !important;
  max-width: 674px !important;
  justify-self: start !important;
  border-radius: 74px !important;
}

body.about-page .about-work-image {
  width: min(100%, 410px) !important;
  max-width: 410px !important;
  justify-self: center !important;
  border-radius: 66px !important;
}

body.about-page .about-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.about-page .about-team-image img {
  aspect-ratio: 767 / 502 !important;
}

body.about-page .about-work-image img {
  aspect-ratio: 494 / 545 !important;
}

body.about-page .about-copy {
  max-width: 540px !important;
  justify-self: start !important;
  padding: 0 !important;
  color: #000 !important;
}

body.about-page .about-copy-left {
  max-width: 560px !important;
  justify-self: center !important;
}

body.about-page .about-copy h2 {
  margin: 0 0 42px !important;
  color: #000 !important;
  font-family: var(--sans) !important;
  font-size: clamp(32px, 2.6vw, 42px) !important;
  line-height: .92 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.about-page .about-copy h2 em {
  display: block !important;
  color: #000 !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: .88em !important;
  line-height: 1 !important;
}

body.about-page .about-copy p {
  margin: 0 0 24px !important;
  color: #111 !important;
  font-family: var(--body) !important;
  font-size: 16px !important;
  line-height: 1.38 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.about-page .about-copy p:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 1100px) {
  body.about-page .page-hero-copy {
    margin-left: 54px !important;
  }

  body.about-page .about-content-section {
    padding: 66px 40px 82px !important;
  }

  body.about-page .about-row {
    column-gap: 48px !important;
  }
}

@media (max-width: 860px) {
  body.about-page .about-hero {
    min-height: 292px !important;
    height: 292px !important;
    background-position: center center !important;
  }

  body.about-page .page-hero-copy {
    width: min(480px, calc(100% - 52px)) !important;
    margin-left: 26px !important;
  }

  body.about-page .page-hero h1 {
    margin-bottom: 16px !important;
    font-size: clamp(36px, 10vw, 52px) !important;
  }

  body.about-page .page-hero p {
    font-size: 18px !important;
    line-height: 1.22 !important;
  }

  body.about-page .about-content-section {
    padding: 52px 26px 72px !important;
  }

  body.about-page .about-row,
  body.about-page .about-row-bottom {
    width: min(680px, 100%) !important;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  body.about-page .about-row + .about-row {
    margin-top: 68px !important;
  }

  body.about-page .about-team-image,
  body.about-page .about-work-image,
  body.about-page .about-copy,
  body.about-page .about-copy-left {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
  }

  body.about-page .about-team-image {
    border-radius: 44px !important;
  }

  body.about-page .about-work-image {
    border-radius: 44px !important;
  }

  body.about-page .about-copy h2 {
    margin-bottom: 24px !important;
  }
}

@media (max-width: 520px) {
  body.about-page .about-hero {
    min-height: 245px !important;
    height: 245px !important;
    background-position: 58% center !important;
  }

  body.about-page .page-hero-copy {
    width: calc(100% - 44px) !important;
    margin-left: 22px !important;
  }

  body.about-page .page-hero h1 {
    font-size: 34px !important;
    margin-bottom: 12px !important;
  }

  body.about-page .page-hero p {
    max-width: 310px !important;
    font-size: 16px !important;
  }

  body.about-page .about-content-section {
    padding: 42px 22px 64px !important;
  }

  body.about-page .about-row {
    gap: 26px !important;
  }

  body.about-page .about-row + .about-row {
    margin-top: 56px !important;
  }

  body.about-page .about-team-image,
  body.about-page .about-work-image {
    border-radius: 32px !important;
  }

  body.about-page .about-copy h2 {
    font-size: 29px !important;
  }

  body.about-page .about-copy p {
    font-size: 16px !important;
    line-height: 1.42 !important;
  }
}

/* StrandWeb staging restore: approved About page layout + calmer hero note motion */
body.about-page .about-hero {
  width: 100% !important;
  height: calc(100vw * 389 / 1921) !important;
  min-height: 292px !important;
  max-height: 389px !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(7, 59, 75, .96) 0%, rgba(7, 59, 75, .9) 23%, rgba(7, 59, 75, .58) 39%, rgba(7, 59, 75, .08) 56%, rgba(7, 59, 75, 0) 68%),
    url('../about/about-hero-event-background.webp') center center / cover no-repeat !important;
}

body.about-page .about-hero::before,
body.about-page .page-hero::before {
  content: none !important;
  display: none !important;
}

body.about-page .page-hero-copy {
  width: min(520px, 37vw) !important;
  margin-left: max(86px, calc((100vw - var(--content-width)) / 2 + 92px)) !important;
  position: relative !important;
  top: clamp(72px, 4.8vw, 92px) !important;
  transform: translateY(0) !important;
}

body.about-page .page-hero h1 {
  margin: 0 0 20px !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: clamp(48px, 3.15vw, 60px) !important;
  line-height: .9 !important;
  font-weight: 600 !important;
  letter-spacing: .8px !important;
  text-transform: uppercase !important;
}

body.about-page .page-hero p {
  max-width: 430px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .94) !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: clamp(16px, 1.05vw, 20px) !important;
  line-height: 1.05 !important;
  font-weight: 500 !important;
  letter-spacing: .15px !important;
}

body.about-page .about-content-section {
  width: 100% !important;
  padding: clamp(66px, 4.4vw, 84px) 0 clamp(78px, 5.4vw, 104px) !important;
  background: #fff !important;
}

body.about-page .about-row {
  width: min(1260px, calc(100vw - 180px)) !important;
  max-width: 1260px !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: minmax(360px, 560px) minmax(360px, 560px) !important;
  align-items: center !important;
  column-gap: clamp(74px, 7vw, 136px) !important;
}

body.about-page .about-row-bottom {
  grid-template-columns: minmax(360px, 560px) minmax(360px, 560px) !important;
}

body.about-page .about-row + .about-row {
  margin-top: clamp(86px, 6.3vw, 120px) !important;
}

body.about-page .about-image,
body.about-page .about-team-image,
body.about-page .about-work-image {
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 52px !important;
  justify-self: stretch !important;
}

body.about-page .about-work-image {
  max-width: 390px !important;
  justify-self: center !important;
}

body.about-page .about-image img,
body.about-page .about-team-image img,
body.about-page .about-work-image img {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: inherit !important;
  transform: none !important;
}

body.about-page .about-copy,
body.about-page .about-copy-left,
body.about-page .about-copy-right {
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 !important;
  color: #000 !important;
}

body.about-page .about-copy-left {
  justify-self: end !important;
}

body.about-page .about-copy-right {
  justify-self: start !important;
}

body.about-page .about-copy h2 {
  margin: 0 0 34px !important;
  color: #000 !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: clamp(28px, 2.05vw, 39px) !important;
  line-height: .92 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.about-page .about-copy h2 em {
  display: block !important;
  color: #000 !important;
  font-style: italic !important;
  font-weight: 500 !important;
}

body.about-page .about-copy p {
  max-width: 560px !important;
  margin: 0 0 20px !important;
  color: #000 !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.about-page .about-copy p:last-child {
  margin-bottom: 0 !important;
}





@media (max-width: 1180px) {
  body.about-page .about-hero {
    min-height: 244px !important;
    background-position: 55% center !important;
  }

  body.about-page .page-hero-copy {
    width: min(470px, 42vw) !important;
    margin-left: clamp(58px, 8vw, 96px) !important;
  }

  body.about-page .about-row {
    width: min(1000px, calc(100vw - 88px)) !important;
    column-gap: 60px !important;
  }
}

@media (max-width: 900px) {
  body.about-page .about-hero {
    height: clamp(236px, 46vw, 338px) !important;
    min-height: 236px !important;
    max-height: 338px !important;
    background-position: 57% center !important;
  }

  body.about-page .page-hero-copy {
    width: min(430px, 52vw) !important;
    margin-left: 42px !important;
    top: clamp(18px, 5vw, 42px) !important;
  }

  body.about-page .page-hero h1 {
    margin-bottom: 14px !important;
    font-size: clamp(38px, 6vw, 50px) !important;
  }

  body.about-page .page-hero p {
    max-width: 340px !important;
    font-size: clamp(13px, 2.1vw, 17px) !important;
  }

  body.about-page .about-content-section {
    padding: 48px 28px 64px !important;
  }

  body.about-page .about-row,
  body.about-page .about-row-bottom {
    width: min(620px, 100%) !important;
    grid-template-columns: 1fr !important;
    row-gap: 32px !important;
  }

  body.about-page .about-row + .about-row {
    margin-top: 60px !important;
  }

  body.about-page .about-copy,
  body.about-page .about-copy-left,
  body.about-page .about-copy-right,
  body.about-page .about-team-image,
  body.about-page .about-work-image {
    justify-self: stretch !important;
    max-width: 100% !important;
  }
}

@media (max-width: 520px) {
  body.about-page .about-hero {
    height: 274px !important;
    min-height: 274px !important;
    max-height: none !important;
    align-items: end !important;
    padding-bottom: 28px !important;
    background:
      linear-gradient(180deg, rgba(7, 59, 75, .04) 0%, rgba(7, 59, 75, .15) 38%, rgba(7, 59, 75, .9) 100%),
      linear-gradient(90deg, rgba(7, 59, 75, .72) 0%, rgba(7, 59, 75, .18) 48%, rgba(7, 59, 75, 0) 100%),
      url('../about/about-hero-event-background.webp') 58% center / cover no-repeat !important;
  }

  body.about-page .page-hero-copy {
    width: calc(100% - 56px) !important;
    margin-left: 28px !important;
    top: 0 !important;
  }

  body.about-page .page-hero h1 {
    margin-bottom: 9px !important;
    font-size: 30px !important;
    line-height: .92 !important;
    letter-spacing: .25px !important;
  }

  body.about-page .page-hero p {
    max-width: 235px !important;
    font-size: 10px !important;
    line-height: 1.18 !important;
  }

  body.about-page .about-content-section {
    padding: 36px 28px 48px !important;
  }

  body.about-page .about-row {
    row-gap: 24px !important;
  }

  body.about-page .about-row + .about-row {
    margin-top: 46px !important;
  }

  body.about-page .about-row-bottom .about-image {
    order: -1 !important;
  }

  body.about-page .about-copy h2 {
    margin-bottom: 18px !important;
    font-size: 22px !important;
    line-height: .92 !important;
  }

  body.about-page .about-copy p {
    margin-bottom: 15px !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }
}

/* About hero final alignment: match Previous Events header treatment */
body.about-page .about-hero {
  min-height: 389px !important;
  height: 389px !important;
  max-height: 389px !important;
  display: block !important;
  background:
    linear-gradient(90deg, #0a4b5c 0%, #0a4b5c 42%, rgba(10, 75, 92, .76) 54%, rgba(10, 75, 92, .2) 70%, rgba(10, 75, 92, 0) 100%),
    url('../about/about-hero-event-background.webp') center center / cover no-repeat !important;
}

body.about-page .page-hero-copy {
  position: relative !important;
  z-index: 3 !important;
  width: min(760px, calc(100% - 120px)) !important;
  min-height: 389px !important;
  margin-left: max(96px, calc((100vw - var(--content-width)) / 2 + 96px)) !important;
  padding: 58px 0 44px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  top: 0 !important;
  transform: none !important;
}

body.about-page .page-hero h1 {
  margin: 28px 0 110px !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: clamp(52px, 4.9vw, 72px) !important;
  line-height: .94 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.about-page .page-hero p {
  max-width: 610px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .94) !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: clamp(18px, 1.55vw, 27px) !important;
  line-height: .96 !important;
  font-weight: 400 !important;
  letter-spacing: .2px !important;
}

@media (max-width: 900px) {
  body.about-page .about-hero {
    height: clamp(236px, 46vw, 338px) !important;
    min-height: 236px !important;
    max-height: 338px !important;
    background-position: 57% center !important;
  }

  body.about-page .page-hero-copy {
    width: min(430px, 52vw) !important;
    min-height: inherit !important;
    margin-left: 42px !important;
    padding: 52px 0 34px !important;
  }

  body.about-page .page-hero h1 {
    margin: 0 0 56px !important;
    font-size: clamp(38px, 6vw, 50px) !important;
  }

  body.about-page .page-hero p {
    max-width: 340px !important;
    font-size: clamp(13px, 2.1vw, 17px) !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 520px) {
  body.about-page .about-hero {
    height: 274px !important;
    min-height: 274px !important;
    max-height: none !important;
    display: flex !important;
    align-items: end !important;
    padding-bottom: 28px !important;
    background:
      linear-gradient(180deg, rgba(7, 59, 75, .04) 0%, rgba(7, 59, 75, .15) 38%, rgba(7, 59, 75, .9) 100%),
      linear-gradient(90deg, rgba(7, 59, 75, .72) 0%, rgba(7, 59, 75, .18) 48%, rgba(7, 59, 75, 0) 100%),
      url('../about/about-hero-event-background.webp') 58% center / cover no-repeat !important;
  }

  body.about-page .page-hero-copy {
    width: calc(100% - 56px) !important;
    min-height: 0 !important;
    margin-left: 28px !important;
    padding: 0 !important;
  }

  body.about-page .page-hero h1 {
    margin: 0 0 10px !important;
    font-size: 30px !important;
    line-height: .92 !important;
  }

body.about-page .page-hero p {
    max-width: 250px !important;
    font-size: 10px !important;
    line-height: 1.18 !important;
  }
}

/* Previous Events gallery viewer: black editorial treatment */
.event-gallery-panel {
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  padding: 16px 0 42px !important;
  background: #fff !important;
  overflow: visible !important;
  overscroll-behavior: auto !important;
}

.event-gallery-shell {
  width: min(1120px, calc(100vw - 96px)) !important;
  max-width: 1120px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: #fff !important;
  background: #030303 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.admin-bar .event-gallery-panel {
  top: auto !important;
}

.admin-bar .event-gallery-shell {
  min-height: 0 !important;
}

body.event-gallery-open {
  overflow: auto !important;
}

.event-gallery-header {
  min-height: 86px !important;
  margin: 0 !important;
  padding: 20px 24px 16px !important;
  display: grid !important;
  grid-template-columns: minmax(190px, 270px) minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 26px !important;
  background: #030303 !important;
}

.event-gallery-header h2 {
  margin: 0 !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: clamp(21px, 2vw, 32px) !important;
  line-height: 1.05 !important;
  font-weight: 600 !important;
  letter-spacing: .8px !important;
  text-transform: uppercase !important;
}

.previous-events-page .event-gallery-header h2:not(#toc-h2-size-lock) {
  font-size: clamp(21px, 2vw, 32px) !important;
}

.event-gallery-header p {
  max-width: 850px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: clamp(12px, 1vw, 15px) !important;
  line-height: 1.24 !important;
  letter-spacing: 1.1px !important;
  text-transform: capitalize !important;
}

.event-gallery-close {
  min-height: 36px !important;
  padding: 0 14px !important;
  color: #fff !important;
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, .5) !important;
  border-radius: 999px !important;
}

.event-gallery-viewer {
  background: #030303 !important;
}

.event-gallery-main {
  height: min(58vw, 610px) !important;
  min-height: 430px !important;
  background: #030303 !important;
}

.event-gallery-main img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

.previous-events-page .event-gallery-main [data-gallery-main] {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
}

.previous-events-page .event-gallery-main [data-gallery-main][data-gallery-orientation="portrait"] {
  width: auto !important;
  height: 100% !important;
  margin: 0 auto !important;
}

.event-gallery-main figcaption {
  left: 126px !important;
  right: auto !important;
  bottom: 28px !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, .72) !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-size: 11px !important;
}

.event-gallery-arrow {
  width: 72px !important;
  height: 72px !important;
}

.event-gallery-prev {
  left: 28px !important;
}

.event-gallery-next {
  right: 28px !important;
}

.event-gallery-thumbs {
  margin: 10px 0 0 !important;
  padding: 0 0 0 !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 16px !important;
  background: #fff !important;
  overflow: hidden !important;
}

.event-gallery-thumb {
  height: clamp(100px, 13vw, 154px) !important;
  border: 0 !important;
  opacity: 1 !important;
  background: #fff !important;
}

.event-gallery-thumb.is-active,
.event-gallery-thumb:hover,
.event-gallery-thumb:focus-visible {
  border-color: transparent !important;
  transform: none !important;
}

@media (max-width: 900px) {
  .event-gallery-shell {
    width: calc(100vw - 36px) !important;
    padding-bottom: 0 !important;
  }

  .event-gallery-header {
    grid-template-columns: 1fr auto !important;
    gap: 12px 18px !important;
    padding: 18px 18px 14px !important;
  }

  .event-gallery-header p {
    grid-column: 1 / -1 !important;
  }

  .event-gallery-main {
    height: 56vw !important;
    min-height: 300px !important;
  }

  .event-gallery-arrow {
    width: 54px !important;
    height: 54px !important;
  }

  .event-gallery-prev {
    left: 10px !important;
  }

  .event-gallery-next {
    right: 10px !important;
  }

  .event-gallery-main figcaption {
    left: 22px !important;
    bottom: 16px !important;
  }

  .event-gallery-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

@media (max-width: 520px) {
  .event-gallery-header h2 {
    font-size: 22px !important;
  }

  .event-gallery-header p {
    font-size: 11px !important;
    letter-spacing: .4px !important;
  }

  .event-gallery-thumbs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* About page Figma balance correction */
body.about-page .page-hero h1 {
  margin-bottom: 18px !important;
}

body.about-page .about-content-section {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.about-page .about-row,
body.about-page .about-row-bottom {
  width: min(1260px, calc(100vw - 120px)) !important;
  max-width: 1260px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  grid-template-columns: minmax(0, 560px) minmax(0, 560px) !important;
  justify-content: center !important;
  column-gap: clamp(72px, 6vw, 140px) !important;
}

body.about-page .about-copy-left,
body.about-page .about-copy-right {
  justify-self: start !important;
}

body.about-page .about-work-image {
  justify-self: center !important;
  max-width: 390px !important;
}

@media (max-width: 900px) {
  body.about-page .page-hero h1 {
    margin-bottom: 18px !important;
  }

  body.about-page .about-row,
  body.about-page .about-row-bottom {
    width: min(620px, 100%) !important;
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
    column-gap: 0 !important;
  }
}

/* About hero: copy Previous Events hero treatment exactly */
body.about-page .about-hero {
  position: relative !important;
  min-height: 389px !important;
  height: 389px !important;
  max-height: none !important;
  overflow: hidden !important;
  color: #fff !important;
  background:
    linear-gradient(90deg, #0a4b5c 0%, #0a4b5c 42%, rgba(10, 75, 92, .76) 54%, rgba(10, 75, 92, .2) 70%, rgba(10, 75, 92, 0) 100%),
    url('../about/about-hero-event-background.webp') center center / cover no-repeat !important;
}

body.about-page .about-hero::before,
body.about-page .about-hero::after {
  content: none !important;
}

body.about-page .page-hero-copy {
  position: relative !important;
  z-index: 3 !important;
  width: min(520px, 48%) !important;
  min-height: 389px !important;
  margin-left: max(96px, calc((100vw - var(--content-width)) / 2 + 96px)) !important;
  padding: 58px 0 44px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  top: 0 !important;
  transform: none !important;
}

body.about-page .page-hero h1 {
  margin: 0 0 22px !important;
  color: #fff !important;
  font-family: var(--previous-events-heading-font, var(--toc-display-heading-font, Georgia, 'Times New Roman', Times, serif)) !important;
  font-size: clamp(52px, 4.9vw, 72px) !important;
  line-height: .94 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
}

body.about-page .page-hero p {
  max-width: 610px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.9) !important;
  font-family: inherit !important;
  font-size: clamp(18px, 1.55vw, 27px) !important;
  line-height: .96 !important;
  font-weight: 400 !important;
  letter-spacing: .2px !important;
}

@media (max-width: 900px) {
  body.about-page .about-hero {
    height: 310px !important;
    min-height: 310px !important;
    background-position: 57% center !important;
  }

  body.about-page .page-hero-copy {
    width: min(520px, calc(100% - 56px)) !important;
    min-height: 310px !important;
    margin-left: 36px !important;
    padding: 48px 0 38px !important;
  }

  body.about-page .page-hero h1 {
    margin-bottom: 18px !important;
    font-size: clamp(38px, 8vw, 52px) !important;
  }

  body.about-page .page-hero p {
    max-width: 420px !important;
    font-size: clamp(14px, 2.4vw, 18px) !important;
    line-height: 1.08 !important;
  }
}

@media (max-width: 520px) {
  body.about-page .about-hero {
    height: 274px !important;
    min-height: 274px !important;
    display: block !important;
    padding-bottom: 0 !important;
    background:
      linear-gradient(180deg, rgba(7, 59, 75, .04) 0%, rgba(7, 59, 75, .15) 38%, rgba(7, 59, 75, .9) 100%),
      linear-gradient(90deg, rgba(7, 59, 75, .72) 0%, rgba(7, 59, 75, .18) 48%, rgba(7, 59, 75, 0) 100%),
      url('../about/about-hero-event-background.webp') 58% center / cover no-repeat !important;
  }

  body.about-page .page-hero-copy {
    width: calc(100% - 56px) !important;
    min-height: 274px !important;
    margin-left: 28px !important;
    padding: 0 !important;
    justify-content: center !important;
  }

  body.about-page .page-hero h1 {
    margin: 0 0 10px !important;
    font-size: 30px !important;
    line-height: .92 !important;
  }

  body.about-page .page-hero p {
    max-width: 250px !important;
    font-size: 10px !important;
    line-height: 1.18 !important;
  }
}

/* Final policy accessibility/rendering guard */
.visually-hidden,
.page-hero .visually-hidden,
.policy-hero .visually-hidden,
.terms-content .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.terms-page .terms-content .terms-frame-image ~ :not(.visually-hidden) {
  display: none !important;
}

/* Previous Events gallery: static modal sizing with black event-view treatment */
.previous-events-page .event-gallery-panel {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000 !important;
  padding: 32px !important;
  background: rgba(0, 0, 0, .72) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}

.admin-bar.previous-events-page .event-gallery-panel,
.admin-bar .previous-events-page .event-gallery-panel {
  top: 32px !important;
}

.previous-events-page .event-gallery-shell {
  width: 100% !important;
  max-width: min(1120px, calc(100vw - 64px)) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 0 16px !important;
  color: #fff !important;
  background: #030303 !important;
  border: 0 !important;
  box-shadow: 0 22px 70px rgba(0, 0, 0, .35) !important;
}

.previous-events-page .event-gallery-header {
  display: grid !important;
  grid-template-columns: minmax(190px, 260px) 1fr auto !important;
  align-items: start !important;
  gap: 26px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 20px 26px 18px !important;
  color: #fff !important;
  background: #030303 !important;
}

.previous-events-page .event-gallery-header h2 {
  margin: 0 !important;
  color: #fff !important;
  font-family: var(--previous-events-heading-font, var(--toc-display-heading-font, Georgia, 'Times New Roman', Times, serif)) !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.08 !important;
  font-weight: 600 !important;
  letter-spacing: .6px !important;
  text-transform: uppercase !important;
}

.previous-events-page .event-gallery-header p {
  max-width: 760px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  letter-spacing: .6px !important;
  text-transform: none !important;
}

.previous-events-page .event-gallery-close {
  color: #fff !important;
  border-color: rgba(255, 255, 255, .55) !important;
  background: #030303 !important;
}

.previous-events-page .event-gallery-viewer {
  position: relative !important;
  background: #030303 !important;
}

.previous-events-page .event-gallery-main {
  position: relative !important;
  display: block !important;
  height: clamp(430px, 46vw, 620px) !important;
  min-height: 0 !important;
  background: #030303 !important;
  overflow: hidden !important;
}

.previous-events-page .event-gallery-main img,
.previous-events-page .event-gallery-main [data-gallery-main] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  background: #030303 !important;
}

.previous-events-page .event-gallery-main [data-gallery-main][data-gallery-orientation="portrait"] {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}

.previous-events-page .event-gallery-main figcaption {
  color: #fff !important;
}

.previous-events-page .event-gallery-thumbs {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 14px !important;
  padding: 0 !important;
  background: #030303 !important;
}

.previous-events-page .event-gallery-thumb {
  height: clamp(92px, 10vw, 128px) !important;
  border: 2px solid transparent !important;
  background: #030303 !important;
  opacity: .72 !important;
}

.previous-events-page .event-gallery-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.previous-events-page .event-gallery-thumb.is-active,
.previous-events-page .event-gallery-thumb:hover,
.previous-events-page .event-gallery-thumb:focus-visible {
  border-color: #fff !important;
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 900px) {
  .previous-events-page .event-gallery-panel {
    padding: 18px !important;
  }

  .previous-events-page .event-gallery-shell {
    max-width: calc(100vw - 36px) !important;
  }

  .previous-events-page .event-gallery-header {
    grid-template-columns: 1fr auto !important;
    gap: 12px 18px !important;
    padding: 18px 18px 14px !important;
  }

  .previous-events-page .event-gallery-header p {
    grid-column: 1 / -1 !important;
  }

  .previous-events-page .event-gallery-main {
    height: 56vw !important;
    min-height: 300px !important;
  }

  .previous-events-page .event-gallery-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

@media (max-width: 520px) {
  .previous-events-page .event-gallery-header h2 {
    font-size: 22px !important;
  }

  .previous-events-page .event-gallery-header p {
    font-size: 11px !important;
    letter-spacing: .4px !important;
  }

  .previous-events-page .event-gallery-thumbs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Final staging gallery/header alignment and mobile note correction */
body.about-page .page-hero h1,
body.previous-events-page .previous-events-hero-copy h1 {
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: clamp(52px, 4.95vw, 71.344px) !important;
  line-height: .94 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  margin: 0 0 22px !important;
  text-transform: uppercase !important;
}

.previous-events-page .event-gallery-shell {
  max-width: min(1120px, calc(100vw - 32px)) !important;
  padding-bottom: 10px !important;
}

.previous-events-page .event-gallery-header {
  grid-template-columns: minmax(190px, 235px) minmax(0, 1fr) auto !important;
  gap: 26px !important;
  padding: 18px 28px 16px !important;
}

.previous-events-page .event-gallery-header h2 {
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 21px !important;
  line-height: 1.16 !important;
  font-weight: 600 !important;
  letter-spacing: .6px !important;
}

.previous-events-page .event-gallery-header p {
  max-width: 620px !important;
  padding-top: 2px !important;
  font-size: 12px !important;
  line-height: 1.22 !important;
  letter-spacing: .45px !important;
}

.previous-events-page .event-gallery-close {
  min-width: 178px !important;
  padding-inline: 22px !important;
}

.previous-events-page .event-gallery-close::after {
  content: none !important;
  display: none !important;
}

.previous-events-page .event-gallery-viewer {
  width: calc(100% - 56px) !important;
  margin: 0 auto !important;
}

.previous-events-page .event-gallery-main {
  width: 100% !important;
  margin: 0 auto !important;
}

.previous-events-page .event-gallery-arrow {
  z-index: 6 !important;
}

.previous-events-page .event-gallery-prev {
  left: 18px !important;
}

.previous-events-page .event-gallery-next {
  right: 18px !important;
}

.previous-events-page .event-gallery-thumbs {
  width: calc(100% - 56px) !important;
  margin: 12px auto 0 !important;
}



@media (max-width: 520px) {
  body.about-page .page-hero h1,
  body.previous-events-page .previous-events-hero-copy h1 {
    font-size: 36px !important;
    line-height: .94 !important;
  }

  .previous-events-page .event-gallery-shell {
    max-width: calc(100vw - 20px) !important;
  }

  .previous-events-page .event-gallery-header {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 16px 16px 14px !important;
  }

  .previous-events-page .event-gallery-close {
    justify-self: start !important;
  }

  .previous-events-page .event-gallery-viewer,
  .previous-events-page .event-gallery-thumbs {
    width: calc(100% - 28px) !important;
  }
}

/* Final policy banners: live text overlay, never baked into the media */
body.policy-page .policy-hero {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: #0b4b5c !important;
  min-height: 389px !important;
}

body.policy-page .policy-hero::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(8, 66, 78, .99) 0%, rgba(8, 66, 78, .94) 31%, rgba(8, 66, 78, .62) 52%, rgba(8, 66, 78, .18) 72%, rgba(8, 66, 78, 0) 100%) !important;
}

body.policy-page .policy-banner-picture {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
}

body.policy-page .policy-banner-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 1 !important;
}

body.policy-page .policy-hero-copy {
  position: absolute !important;
  left: max(56px, calc((100vw - 1360px) / 2 + 80px)) !important;
  top: 50% !important;
  z-index: 4 !important;
  transform: translateY(-50%) !important;
  display: block !important;
  width: min(470px, 42vw) !important;
  color: #fff !important;
  text-decoration: none !important;
}

body.policy-page .policy-hero-copy h1 {
  margin: 0 0 18px !important;
  color: #fff !important;
  font-family: Georgia, 'Times New Roman', Times, serif !important;
  font-size: clamp(48px, 4.45vw, 66px) !important;
  line-height: .96 !important;
  font-weight: 600 !important;
  letter-spacing: .2px !important;
  text-transform: uppercase !important;
}

body.policy-page .policy-hero-copy p {
  margin: 0 !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: clamp(15px, 1.35vw, 20px) !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.policy-page .policy-hero-copy:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 8px !important;
}

body.terms-page .terms-frame-image {
  display: none !important;
}

body.terms-page .terms-content > :not(.terms-frame-image) {
  display: revert !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.terms-page .terms-content h2 {
  display: block !important;
}

body.terms-page .terms-content h3 {
  position: relative !important;
  display: block !important;
  padding-left: 28px !important;
}

body.terms-page .terms-content h3::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  display: block !important;
  width: 18px !important;
  height: 12px !important;
  transform: translateY(-50%) !important;
  background: url('../rsc/terms-and-conditions/point-arrow.png') center / contain no-repeat !important;
}

body.terms-page .terms-content ul {
  display: block !important;
}

body.terms-page .terms-content li {
  display: list-item !important;
}

#wpadminbar .ab-icon,
#wpadminbar .ab-icon::before,
#wpadminbar .ab-item::before,
#wpadminbar #adminbarsearch::before {
  font-family: dashicons !important;
  font-style: normal !important;
  font-weight: 400 !important;
  speak: never !important;
  text-rendering: auto !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

@media (max-width: 780px) {
  body.policy-page .policy-banner-picture {
    inset: 0 !important;
    width: 100% !important;
    opacity: 1 !important;
  }

  body.policy-page .policy-hero::after {
    background: linear-gradient(90deg, rgba(8, 66, 78, .98) 0%, rgba(8, 66, 78, .82) 62%, rgba(8, 66, 78, .4) 100%) !important;
  }

  body.policy-page .policy-hero-copy {
    left: 28px !important;
    width: min(340px, calc(100vw - 56px)) !important;
  }

  body.policy-page .policy-hero-copy h1 {
    font-size: 40px !important;
  }
}

/* Final shared inner-page hero title typography */
body.about-page .page-hero h1,
body.hired-page .policy-hero-copy h1,
body.terms-page .policy-hero-copy h1 {
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: clamp(52px, 4.9vw, 70px) !important;
  line-height: .94 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

@media (max-width: 520px) {
  body.about-page .page-hero h1,
  body.hired-page .policy-hero-copy h1,
  body.terms-page .policy-hero-copy h1 {
    font-size: clamp(36px, 10vw, 42px) !important;
    line-height: .94 !important;
  }
}

/* Final About hero subtitle typography */
body.about-page .page-hero p {
  max-width: 620px !important;
  font-family: var(--body) !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* Final hero heading weight */
body.about-page .page-hero h1,
body.previous-events-page .previous-events-hero-copy h1,
body.hired-page .policy-hero-copy h1,
body.terms-page .policy-hero-copy h1 {
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: clamp(52px, 4.9vw, 70px) !important;
  line-height: .94 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

/* Final Terms legal copy layout */
body.terms-page .terms-content {
  max-width: 900px !important;
}

body.terms-page .terms-content .terms-legal-list {
  display: block !important;
  margin: 0 0 22px !important;
  color: #222 !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.22 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.terms-page .terms-content .terms-legal-list p {
  position: relative !important;
  display: block !important;
  margin: 0 0 13px !important;
  padding-left: 30px !important;
  color: inherit !important;
  font: inherit !important;
}

body.terms-page .terms-content .terms-legal-list p.terms-sub {
  margin-left: 32px !important;
  padding-left: 38px !important;
}

body.terms-page .terms-content .terms-number {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  min-width: 26px !important;
  font-weight: 600 !important;
}

@media (max-width: 640px) {
  body.terms-page .terms-content .terms-legal-list p.terms-sub {
    margin-left: 12px !important;
    padding-left: 36px !important;
  }
}

/* Final button icon removal */
.start-strip a::after,
.gallery-btn::after,
.products .section-line a::after,
.warehouse-panel a::after,
.contact-form-card button::after,
.event-gallery-close::after,
.qf-btn-primary:not(:disabled)::after,
.catalogue-actions .catalogue-icon {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
}

/* Staging polish pass - Canva notes 2026-05-27 */
.brand img {
  transition: filter .18s ease, transform .18s ease, opacity .18s ease !important;
}

.site-header .phone-link,
.phone-link {
  font-weight: 400 !important;
  font-variation-settings: "wght" 400 !important;
}

.header-cta-text {
  text-transform: uppercase !important;
}

.hero-shade {
  background: transparent !important;
}

.hero-card h1 {
  font-size: clamp(58px, 5.7vw, 90px) !important;
  line-height: .88 !important;
  letter-spacing: 0 !important;
}

.hero-card p {
  letter-spacing: 0 !important;
}

.services {
  padding-top: 54px !important;
}

.service-tabs {
  max-width: 1120px !important;
  gap: 28px 22px !important;
}

.service-tab,
.service-tab.is-active {
  min-height: 178px !important;
  grid-template-rows: 130px 36px !important;
  row-gap: 12px !important;
  align-content: start !important;
}

.service-art,
.service-tab.is-active .service-art,
.service-art img,
.service-art .state-normal,
.service-art .state-hover,
.service-art .state-active,
.service-tab.is-active .service-art img.state-active {
  width: 130px !important;
  height: 130px !important;
  max-width: 130px !important;
  max-height: 130px !important;
  object-fit: contain !important;
}

.service-tab.is-active .service-art img.state-active {
  transform: translate(-50%, -50%) !important;
}

.service-tab.is-active .service-label,
.service-label {
  width: 172px !important;
  min-width: 172px !important;
  max-width: 172px !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #2f7f99 !important;
  border-radius: 6px !important;
  color: #2f7f99 !important;
  background: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  pointer-events: none !important;
}

.service-tab:hover .service-label,
.service-tab:focus-visible .service-label {
  border-color: transparent !important;
  color: #fff !important;
  background: #7EB7CE !important;
}

.service-tab.is-active .service-label,
.service-tab:active .service-label {
  border-color: #000 !important;
  color: #fff !important;
  background: #000 !important;
}

.product-grid {
  gap: 24px !important;
}

.product-grid article {
  overflow: hidden !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 10px 10px rgba(0, 0, 0, .25) !important;
}

.product-grid article img {
  border-radius: 20px 20px 0 0 !important;
}

.product-grid article h3 {
  margin: 18px 24px 10px !important;
  font-size: 22px !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

.product-grid article p {
  margin: 0 24px 26px !important;
  letter-spacing: 0 !important;
}

@media (min-width: 761px) and (max-width: 980px) {
  .services {
    overflow-x: clip !important;
  }

  .service-tabs {
    width: min(calc(100% - 72px), 760px) !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 28px !important;
    justify-items: center !important;
  }

  .service-tab,
  .service-tab.is-active {
    min-width: 0 !important;
  }
}

@media (max-width: 760px) {
  .hero-card h1 {
    font-size: clamp(42px, 11vw, 54px) !important;
    letter-spacing: 0 !important;
  }

  .service-tabs {
    gap: 22px 16px !important;
  }

  .service-tab,
  .service-tab.is-active {
    min-height: 162px !important;
    grid-template-rows: 118px 36px !important;
  }

  .service-art,
  .service-tab.is-active .service-art,
  .service-art img,
  .service-art .state-normal,
  .service-art .state-hover,
  .service-art .state-active,
  .service-tab.is-active .service-art img.state-active {
    width: min(118px, 100%) !important;
    height: 118px !important;
    max-width: 118px !important;
    max-height: 118px !important;
  }

  .service-tab.is-active .service-label,
  .service-label {
    width: min(172px, 100%) !important;
    min-width: 0 !important;
  }

  .product-grid article h3 {
    margin-inline: 20px !important;
    font-size: 21px !important;
  }

  .product-grid article p {
    margin-inline: 20px !important;
  }
}

/* Staging hero lock - Figma 1920 x 620 banner pass */
.hero {
  height: min(620px, 32.2916667vw) !important;
  min-height: 465px !important;
  max-height: 620px !important;
  display: grid !important;
  place-items: center !important;
}

.hero-media,
.hero-media img,
.hero > picture,
.hero > picture img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.hero-media img,
.hero > picture img {
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.hero-shade {
  width: 885px !important;
  height: 365px !important;
  max-width: 64vw !important;
  max-height: calc(100% - 56px) !important;
  inset: auto !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: transparent !important;
  pointer-events: none !important;
}

.hero-card {
  width: 614px !important;
  min-height: 200px !important;
  max-width: calc(100vw - 48px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
}

.hero-card h1 {
  font-size: clamp(58px, 4.3vw, 82px) !important;
  line-height: .9 !important;
  letter-spacing: 0 !important;
}

.hero-card p {
  margin-top: 16px !important;
  font-size: clamp(24px, 1.6vw, 30px) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}



@media (max-width: 1439px) {
  .hero {
    height: clamp(365px, 32.2916667vw, 465px) !important;
    min-height: 365px !important;
  }


}

@media (max-width: 520px) {
  .hero {
    height: 365px !important;
    min-height: 365px !important;
  }

  .hero-card {
    min-height: 160px !important;
  }

  .hero-card h1 {
    font-size: clamp(38px, 10.6vw, 48px) !important;
    line-height: .92 !important;
  }

  .hero-card p {
    margin-top: 12px !important;
    font-size: 20px !important;
  }
}

/* Staging services correction - match Figma-width composition */
.services {
  overflow-x: hidden !important;
  padding: 34px 18px 44px !important;
}

.service-tabs {
  width: min(100%, 1050px) !important;
  max-width: 1050px !important;
  margin: 0 auto 28px !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  column-gap: 24px !important;
  row-gap: 24px !important;
  overflow: visible !important;
}

.service-tab,
.service-tab.is-active {
  overflow: visible !important;
  align-content: start !important;
  justify-items: center !important;
}

.service-tab {
  min-height: 129px !important;
  grid-template-rows: 86px 36px !important;
  row-gap: 7px !important;
}

.service-art,
.service-art img,
.service-art .state-normal,
.service-art .state-hover {
  width: 90px !important;
  height: 86px !important;
  max-width: 90px !important;
  max-height: 86px !important;
  overflow: visible !important;
  object-fit: contain !important;
}

.service-art img,
.service-art .state-normal,
.service-art .state-hover,
.service-art .state-active {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
}

.service-tab.is-active {
  min-height: 184px !important;
  grid-template-rows: 158px 18px !important;
  row-gap: 8px !important;
}

.service-tab.is-active .service-art,
.service-tab.is-active .service-art img.state-active,
.service-art .state-active {
  width: 130px !important;
  height: 158px !important;
  max-width: 130px !important;
  max-height: 158px !important;
  overflow: visible !important;
  object-fit: contain !important;
}

.service-label {
  width: 172px !important;
  min-width: 172px !important;
  max-width: 172px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.service-tab.is-active .service-label {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #000 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
  font-weight: 600 !important;
}

.service-detail {
  width: min(calc(100% - 88px), 1000px) !important;
  max-width: 1000px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

.service-detail-banner {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 8px !important;
}

@media (max-width: 760px) {
  .service-tabs {
    width: min(100%, 540px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 16px !important;
    row-gap: 26px !important;
  }

  .service-detail {
    width: calc(100% - 32px) !important;
  }
}

/* Header logo base; the exact default/hover assets are stacked later in this file. */
.site-header .brand {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.site-header .brand img {
  filter: none !important;
}

.site-header .brand:hover img,
.site-header .brand:focus-visible img {
  filter: none !important;
  transform: none !important;
}

/* Staging header menu typography - Figma handover values */
@media (min-width: 981px) {
  body .main-nav {
    width: 532px !important;
    max-width: 532px !important;
    min-height: 21px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    padding: 0 !important;
  }

  body .main-nav a,
  body.about-page .main-nav a,
  body.contact-page .main-nav a,
  body.policy-page .main-nav a {
    min-height: 21px !important;
    height: 21px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 18px !important;
    line-height: 20.4px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }

  body .main-nav a[aria-current="page"] {
    font-weight: 600 !important;
  }
}

@media (min-width: 981px) and (max-width: 1380px) {
  body .site-header {
    grid-template-columns: 220px minmax(0, 1fr) max-content !important;
    gap: 18px !important;
  }

  body .main-nav {
    width: min(532px, 100%) !important;
    gap: 16px !important;
  }

  body .main-nav a,
  body.about-page .main-nav a,
  body.contact-page .main-nav a,
  body.policy-page .main-nav a {
    font-size: 16px !important;
    line-height: 18px !important;
  }
}

/* Staging services icon exact-size lock - designer asset pack */
.service-tabs {
  width: min(100%, 1085px) !important;
  max-width: 1085px !important;
  margin: 0 auto 34px !important;
  display: grid !important;
  grid-template-columns: repeat(5, 172px) !important;
  justify-content: space-between !important;
  align-items: start !important;
  justify-items: center !important;
  column-gap: 0 !important;
  row-gap: 34px !important;
  overflow: visible !important;
}

.service-tab,
.service-tab.is-active {
  width: 172px !important;
  min-width: 172px !important;
  max-width: 172px !important;
  min-height: 196px !important;
  display: grid !important;
  grid-template-rows: 148px 36px !important;
  row-gap: 12px !important;
  align-content: start !important;
  justify-items: center !important;
  overflow: visible !important;
}

.service-art,
.service-tab.is-active .service-art {
  position: relative !important;
  width: 172px !important;
  height: 148px !important;
  max-width: 172px !important;
  max-height: 148px !important;
  display: block !important;
  overflow: visible !important;
  transform: none !important;
}

.service-art img,
.service-art .state-normal,
.service-art .state-hover,
.service-art .state-active,
.service-tab.is-active .service-art img.state-active {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  display: block !important;
  object-fit: contain !important;
  max-width: none !important;
  max-height: none !important;
  transform: translate(-50%, -50%) !important;
}

.service-art .state-normal {
  width: 130px !important;
  height: 130px !important;
}

.service-art .state-hover {
  width: 147px !important;
  height: 148px !important;
}

.service-art .state-active,
.service-tab.is-active .service-art img.state-active {
  width: 130px !important;
  height: 132px !important;
}

.service-tab.is-active .state-normal,
.service-tab.is-active .state-hover {
  opacity: 0 !important;
}

.service-tab.is-active .state-active {
  opacity: 1 !important;
}

.service-label,
.service-tab.is-active .service-label {
  width: 172px !important;
  min-width: 172px !important;
  max-width: 172px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #2f7f99 !important;
  border-radius: 6px !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

.service-label {
  color: #2f7f99 !important;
  background: #fff !important;
}

.service-tab:hover .service-label,
.service-tab:focus-visible .service-label {
  border-color: transparent !important;
  color: #fff !important;
  background: #7EB7CE !important;
}

.service-tab.is-active .service-label,
.service-tab:active .service-label {
  border-color: #000 !important;
  color: #fff !important;
  background: #000 !important;
}

@media (max-width: 1180px) and (min-width: 761px) {
  .service-tabs {
    width: min(100%, 840px) !important;
    grid-template-columns: repeat(4, 172px) !important;
  }
}

@media (max-width: 760px) {
  .service-tabs {
    width: min(100%, 388px) !important;
    grid-template-columns: repeat(2, minmax(0, 172px)) !important;
    justify-content: space-between !important;
    row-gap: 28px !important;
  }
}

body .site-header .brand:hover img,
body .site-header .brand:focus-visible img,
body.about-page .site-header .brand:hover img,
body.about-page .site-header .brand:focus-visible img,
body.contact-page .site-header .brand:hover img,
body.contact-page .site-header .brand:focus-visible img,
body.policy-page .site-header .brand:hover img,
body.policy-page .site-header .brand:focus-visible img {
  filter: none !important;
  transform: none !important;
}

/* First-section lock - planning CTA strip from Figma handover */
body .start-strip {
  width: 100% !important;
  height: 106px !important;
  min-height: 106px !important;
  max-height: 106px !important;
  padding: 31px 130px 30px 80px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 31px !important;
  overflow: hidden !important;
  color: #000 !important;
  background: linear-gradient(90deg, #82bfd1 0%, #c8edf6 62%, #e1f9ff 100%) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body .start-strip .start-copy {
  width: auto !important;
  max-width: 960px !important;
  min-height: 60px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  color: #000 !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 24px !important;
  line-height: 1.16 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

body .start-strip .start-copy span {
  display: inline !important;
  color: #007bff !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body .start-strip a {
  width: 146px !important;
  min-width: 146px !important;
  max-width: 146px !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 146px !important;
  color: #fff !important;
  background: #000 !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body .start-strip a::before,
body .start-strip a::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 1280px) {
  body .start-strip {
    height: 96px !important;
    min-height: 96px !important;
    max-height: none !important;
    padding: 24px 48px !important;
  }

  body .start-strip .start-copy {
    max-width: none !important;
    min-height: 44px !important;
    font-size: 20px !important;
    line-height: 1.16 !important;
  }
}

@media (max-width: 760px) {
  body .start-strip {
    height: auto !important;
    min-height: 122px !important;
    padding: 24px 18px !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  body .start-strip .start-copy {
    width: 100% !important;
    max-width: 430px !important;
    min-height: 0 !important;
    justify-content: center !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body .start-strip a {
    width: 146px !important;
    min-width: 146px !important;
    height: 36px !important;
    min-height: 36px !important;
    font-size: 12px !important;
  }
}

/* Header desktop lock - Figma 1920 x 70 / 1369 x 46.2 content row */
@media (min-width: 1369px) {
  body .site-header,
  body.about-page .site-header,
  body.contact-page .site-header,
  body.policy-page .site-header {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    padding: 0 calc((100vw - 1369px) / 2) !important;
    display: grid !important;
    grid-template-columns: 281px 532px 340px !important;
    grid-template-rows: 70px !important;
    column-gap: 108px !important;
    row-gap: 0 !important;
    align-items: center !important;
    justify-items: start !important;
    overflow: hidden !important;
    background: #000 !important;
  }

  body .brand,
  body.about-page .brand,
  body.contact-page .brand,
  body.policy-page .brand {
    width: 281px !important;
    min-width: 281px !important;
    max-width: 281px !important;
    height: 46.2px !important;
    min-height: 46.2px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    justify-self: start !important;
    overflow: visible !important;
  }

  body .brand img.brand-logo-desktop,
  body.about-page .brand img.brand-logo-desktop,
  body.contact-page .brand img.brand-logo-desktop,
  body.policy-page .brand img.brand-logo-desktop {
    width: 281px !important;
    min-width: 281px !important;
    max-width: 281px !important;
    height: auto !important;
    display: block !important;
  }

  body .brand img.brand-logo-mobile,
  body.about-page .brand img.brand-logo-mobile,
  body.contact-page .brand img.brand-logo-mobile,
  body.policy-page .brand img.brand-logo-mobile {
    display: none !important;
  }

  body .main-nav,
  body.about-page .main-nav,
  body.contact-page .main-nav,
  body.policy-page .main-nav {
    width: 532px !important;
    min-width: 532px !important;
    max-width: 532px !important;
    height: 18px !important;
    min-height: 18px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    justify-self: start !important;
    overflow: visible !important;
  }

  body .main-nav a,
  body.about-page .main-nav a,
  body.contact-page .main-nav a,
  body.policy-page .main-nav a {
    height: 21px !important;
    min-height: 21px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: transparent !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 18px !important;
    line-height: 20.4px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }

  body .header-actions,
  body.about-page .header-actions,
  body.contact-page .header-actions,
  body.policy-page .header-actions {
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
    height: 38px !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    justify-self: end !important;
    overflow: visible !important;
  }

  body .phone-link,
  body.about-page .phone-link,
  body.contact-page .phone-link,
  body.policy-page .phone-link {
    width: 168px !important;
    min-width: 168px !important;
    max-width: 168px !important;
    height: 21.5px !important;
    min-height: 21.5px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 21.5px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  body .phone-link::before,
  body.about-page .phone-link::before,
  body.contact-page .phone-link::before,
  body.policy-page .phone-link::before {
    content: '' !important;
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
    display: block !important;
    flex: 0 0 22px !important;
    background: url('../rsc/icons/header-phone.png') center / contain no-repeat !important;
  }

  body .header-cta,
  body.about-page .header-cta,
  body.contact-page .header-cta,
  body.policy-page .header-cta {
    box-sizing: border-box !important;
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    color: #000 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 18px !important;
    line-height: 21.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  body .header-cta::before,
  body.about-page .header-cta::before,
  body.contact-page .header-cta::before,
  body.policy-page .header-cta::before {
    content: '' !important;
    width: 30px !important;
    height: 30px !important;
    display: block !important;
    flex: 0 0 30px !important;
    background: url('../rsc/icons/header-form-icon.png') center / contain no-repeat !important;
  }

  body .header-cta-text,
  body.about-page .header-cta-text,
  body.contact-page .header-cta-text,
  body.policy-page .header-cta-text {
    display: inline !important;
    font: inherit !important;
    color: inherit !important;
  }

  body .header-cta-mobile,
  body .mobile-menu-button,
  body.about-page .header-cta-mobile,
  body.about-page .mobile-menu-button,
  body.contact-page .header-cta-mobile,
  body.contact-page .mobile-menu-button,
  body.policy-page .header-cta-mobile,
  body.policy-page .mobile-menu-button {
    display: none !important;
  }

}

/* Header and planning-strip typography refinement - Figma conversion pass */
body .main-nav a,
body.about-page .main-nav a,
body.contact-page .main-nav a,
body.policy-page .main-nav a {
  position: relative !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  outline-offset: 3px !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  background-image: none !important;
}

body .main-nav a::before,
body .main-nav a::after,
body.about-page .main-nav a::before,
body.about-page .main-nav a::after,
body.contact-page .main-nav a::before,
body.contact-page .main-nav a::after,
body.policy-page .main-nav a::before,
body.policy-page .main-nav a::after {
  content: none !important;
  display: none !important;
}

@media (min-width: 981px) {
  body .main-nav a,
  body.about-page .main-nav a,
  body.contact-page .main-nav a,
  body.policy-page .main-nav a,
  body .main-nav a[aria-current="page"],
  body.about-page .main-nav a[aria-current="page"],
  body.contact-page .main-nav a[aria-current="page"],
  body.policy-page .main-nav a[aria-current="page"] {
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 18px !important;
    line-height: 20.4px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }
}

@media (min-width: 1369px) {
  body .phone-link::before,
  body.about-page .phone-link::before,
  body.contact-page .phone-link::before,
  body.policy-page .phone-link::before {
    width: 20px !important;
    height: 22px !important;
    flex-basis: 20px !important;
    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAYAAADAQbwGAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAANxJREFUeAG9VIENwiAQ/BoHcIOu4AaOYDcoGzROABuoE+gmxEnqBoxQn+RJXiw80uoll5Ln/v8K3wLkYZCOeIaFuCAnKjbSWpckKkqaEjwiu8y+b9bzgmNGHBKcoHG8YAjW4i1/AytjC/MdS9DMBf/isIEFWN2hR3zL0nhoZMv0e+RQU/CG3EGFQwn+q7Esz6/72oIG0m9gUgVjYTgfFcU1kce6klt+0LMv0A4NcyfNX9CZqNGBx38yh9KvqSWdBfkMrXd4Qj4zDRU9ryDjDl8idhQ7roKCz8HuwuYLtxOClryPBkEAAAAASUVORK5CYII=') center / 20px 22px no-repeat !important;
  }

  body .start-strip {
    height: 106px !important;
    min-height: 106px !important;
    padding: 23px 0 !important;
    justify-content: center !important;
    gap: 31px !important;
    background: linear-gradient(90deg, #7eb7ce 0%, #d8f3ff 100%) !important;
  }

  body .start-strip .start-copy {
    width: 856px !important;
    min-width: 856px !important;
    max-width: 856px !important;
    min-height: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 25px !important;
    line-height: 30px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    white-space: nowrap !important;
  }

  body .start-strip .start-copy span {
    display: inline !important;
    color: #007bff !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
  }

  body .start-strip a {
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    padding: 0 15px !important;
    gap: 15px !important;
    border-radius: 8px !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 21.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }
}

/* Hero text lock - Figma typography conversion pass */
.hero-card h1::before,
.hero-card h1::after {
  content: none !important;
  display: none !important;
}

.hero-card {
  box-sizing: border-box !important;
  width: 614px !important;
  min-width: 614px !important;
  max-width: min(614px, calc(100vw - 48px)) !important;
  min-height: 200.26px !important;
  height: 200.26px !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 17.65px !important;
  text-align: center !important;
  color: #fff !important;
  transform: none !important;
  background: transparent !important;
}

.hero-card h1 {
  box-sizing: border-box !important;
  width: 614px !important;
  max-width: 100% !important;
  min-height: 141.15px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 74.99px !important;
  line-height: .9411 !important;
  font-weight: 600 !important;
  letter-spacing: 2.65px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

.hero-card p {
  box-sizing: border-box !important;
  width: 614px !important;
  max-width: 100% !important;
  min-height: 41.46px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 35.29px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 2.65px !important;
  text-align: center !important;
}

@media (min-width: 1440px) {
  .hero-card {
    position: relative !important;
    z-index: 3 !important;
  }
}

@media (max-width: 1439px) {
  .hero-card {
    width: min(614px, calc(100vw - 48px)) !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 170px !important;
    gap: clamp(12px, 1.22vw, 17.65px) !important;
  }

  .hero-card h1 {
    width: 100% !important;
    min-height: 0 !important;
    font-size: clamp(44px, 5.21vw, 74.99px) !important;
    line-height: .9411 !important;
    letter-spacing: clamp(1px, .18vw, 2.65px) !important;
  }

  .hero-card p {
    width: 100% !important;
    min-height: 0 !important;
    font-size: clamp(22px, 2.45vw, 35.29px) !important;
    letter-spacing: clamp(1px, .18vw, 2.65px) !important;
  }
}

@media (max-width: 520px) {
  .hero-card {
    max-width: calc(100vw - 36px) !important;
    min-height: 132px !important;
    gap: 10px !important;
  }

  .hero-card h1 {
    font-size: clamp(38px, 10.25vw, 44px) !important;
    line-height: .94 !important;
  }

  .hero-card p {
    font-size: clamp(19px, 5.4vw, 22px) !important;
  }
}

/* Services section lock - Figma 540 title / 1003 grid / 1003 card */
body .services {
  box-sizing: border-box !important;
  width: 100% !important;
  padding: 50px 0 56px !important;
  overflow: hidden !important;
  text-align: center !important;
  background: #fff !important;
}

body .services h2 {
  box-sizing: border-box !important;
  width: 540px !important;
  max-width: calc(100vw - 48px) !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 auto 38px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #000 !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 40px !important;
  line-height: 40px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

body .service-tabs {
  box-sizing: border-box !important;
  width: 1002.84px !important;
  max-width: calc(100vw - 48px) !important;
  height: 351.54px !important;
  min-height: 351.54px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(5, 172px) !important;
  grid-template-rows: repeat(2, 154px) !important;
  justify-content: space-between !important;
  align-content: start !important;
  align-items: start !important;
  justify-items: center !important;
  column-gap: 0 !important;
  row-gap: 43.54px !important;
  overflow: visible !important;
}

body .service-tab,
body .service-tab.is-active {
  position: relative !important;
  box-sizing: border-box !important;
  width: 172px !important;
  min-width: 172px !important;
  max-width: 172px !important;
  height: 154px !important;
  min-height: 154px !important;
  max-height: 154px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: visible !important;
}

body .service-art,
body .service-tab.is-active .service-art {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 172px !important;
  height: 130px !important;
  display: block !important;
  overflow: visible !important;
  transform: none !important;
}

body .service-art img,
body .service-art .state-normal,
body .service-art .state-hover,
body .service-art .state-active {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  display: block !important;
  object-fit: contain !important;
  max-width: none !important;
  max-height: none !important;
  transform: translate(-50%, -50%) !important;
}

body .service-art .state-normal {
  width: 130px !important;
  height: 130px !important;
}

body .service-art .state-hover {
  width: 147px !important;
  height: 148px !important;
}

body .service-art .state-active,
body .service-tab.is-active .service-art img.state-active {
  width: 130px !important;
  height: 132px !important;
}

body .service-label,
body .service-tab.is-active .service-label {
  box-sizing: border-box !important;
  position: absolute !important;
  left: 0 !important;
  top: 118px !important;
  width: 172px !important;
  min-width: 172px !important;
  max-width: 172px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #2f7f99 !important;
  border-radius: 8px !important;
  color: #2f7f99 !important;
  background: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

body .service-tab:hover .service-label,
body .service-tab:focus-visible .service-label {
  top: 134px !important;
  height: 20px !important;
  min-height: 20px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #2f7f99 !important;
  background: transparent !important;
  line-height: 20px !important;
  box-shadow: none !important;
}

body .service-tab.is-active .service-label {
  top: 134px !important;
  height: 20px !important;
  min-height: 20px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #000 !important;
  background: transparent !important;
  font-size: 16px !important;
  line-height: 20px !important;
  font-weight: 600 !important;
}

body .service-detail {
  box-sizing: border-box !important;
  width: 1003px !important;
  max-width: calc(100vw - 48px) !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 2006 / 579 !important;
  margin: 24px auto 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: transparent !important;
}

body .service-detail-banner {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 13px !important;
  box-shadow: none !important;
}

body .service-detail {
  position: relative !important;
}

body .service-detail-copy {
  position: absolute !important;
  left: 270px !important;
  top: 44px !important;
  width: 671px !important;
  height: 212px !important;
  display: block !important;
  color: #fff !important;
  text-align: left !important;
  pointer-events: auto !important;
  user-select: text !important;
  transform: none !important;
  transform-origin: top left !important;
  z-index: 2 !important;
}

body .service-detail[data-active-service="Event Planning"] .service-detail-copy--event-planning {
  display: none !important;
}

body .service-detail:not([data-active-service="Event Planning"]) .service-detail-copy--event-planning {
  display: none !important;
}

body .service-detail .service-detail-copy--event-planning {
  display: none !important;
}

body:has(.service-tab[data-title="Event Planning"].is-active) .service-detail .service-detail-copy--event-planning {
  display: block !important;
}

body:has(.service-tab[data-title="Event Planning"].is-active) .service-detail[data-active-service="Event Planning"] .service-detail-copy--event-planning {
  display: block !important;
}

body .service-detail[data-active-service] .service-detail-copy {
  display: none !important;
}

body .service-detail[data-active-service] .service-detail-copy.is-active {
  display: block !important;
}

body:has(.service-tab[data-title="Event Planning"].is-active) .service-detail .service-detail-copy--event-planning,
body:has(.service-tab[data-title="Event Management"].is-active) .service-detail .service-detail-copy--event-management,
body:has(.service-tab[data-title="Event Styling"].is-active) .service-detail .service-detail-copy--event-styling,
body:has(.service-tab[data-title="Decor & Furniture"].is-active) .service-detail .service-detail-copy--decor-furniture,
body:has(.service-tab[data-title="Dry-Hire"].is-active) .service-detail .service-detail-copy--dry-hire,
body:has(.service-tab[data-title="Staffing"].is-active) .service-detail .service-detail-copy--staffing,
body:has(.service-tab[data-title="Catering"].is-active) .service-detail .service-detail-copy--catering,
body:has(.service-tab[data-title="Floral Center Pieces"].is-active) .service-detail .service-detail-copy--floral-centerpieces,
body:has(.service-tab[data-title="Backdrops / Arches"].is-active) .service-detail .service-detail-copy--backdrops-arches,
body:has(.service-tab[data-title="Entertainment"].is-active) .service-detail .service-detail-copy--entertainment {
  display: block !important;
}

body .service-detail-copy h3 {
  box-sizing: border-box !important;
  width: 671px !important;
  height: 43px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  color: #fff !important;
  font-family: 'TOC Instrument Sans', sans-serif !important;
  font-size: 42.89px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
}

body .service-detail-copy p {
  box-sizing: border-box !important;
  position: absolute !important;
  left: 0 !important;
  top: 68px !important;
  width: 671px !important;
  height: 19px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  color: #fff !important;
  font-family: 'Nanum Gothic', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 18.87px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

body .service-detail-copy ul {
  box-sizing: border-box !important;
  position: absolute !important;
  left: 0 !important;
  top: 112px !important;
  width: 359px !important;
  height: 100px !important;
  margin: 0 !important;
  padding: 0 0 0 18px !important;
  display: block !important;
  overflow: visible !important;
  color: #fff !important;
  font-family: 'Lato', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 18.87px !important;
  line-height: 1.3 !important;
  font-weight: 400 !important;
  letter-spacing: 1px !important;
  text-align: left !important;
}

body .service-detail-copy li {
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
}

@media (max-width: 1180px) and (min-width: 761px) {
  body .service-tabs {
    width: min(760px, calc(100vw - 56px)) !important;
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: repeat(4, 172px) !important;
    grid-template-rows: none !important;
    row-gap: 36px !important;
  }
}

@media (max-width: 760px) {
  body .services {
    padding: 40px 0 44px !important;
  }

  body .services h2 {
    width: calc(100vw - 36px) !important;
    height: auto !important;
    min-height: 34px !important;
    margin-bottom: 30px !important;
    font-size: clamp(30px, 8vw, 36px) !important;
    line-height: 1.05 !important;
  }

  body .service-tabs {
    width: min(388px, calc(100vw - 32px)) !important;
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: repeat(2, 172px) !important;
    grid-template-rows: none !important;
    justify-content: space-between !important;
    row-gap: 30px !important;
  }

  body .service-detail {
    width: calc(100vw - 32px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 28px !important;
  }

  body .service-detail-banner {
    height: auto !important;
    min-height: 0 !important;
    object-fit: contain !important;
  }
}

/* Header phone icon visibility lock - large screens */
@media (min-width: 1369px) {
  body .phone-link::before,
  body.about-page .phone-link::before,
  body.contact-page .phone-link::before,
  body.policy-page .phone-link::before {
    content: '' !important;
    width: 20px !important;
    height: 22px !important;
    flex: 0 0 20px !important;
    display: block !important;
    background: url('../rsc/icons/header-phone.png') center / 20px 22px no-repeat !important;
    filter: none !important;
  }
}

/* Global desktop nav hover underline - below text, even spacing */
@media (min-width: 1369px) {
  body .main-nav,
  body.about-page .main-nav,
  body.contact-page .main-nav,
  body.policy-page .main-nav,
  body.previous-events-page .main-nav,
  body.quick-form-page .main-nav {
    width: 532px !important;
    min-width: 532px !important;
    max-width: 532px !important;
    height: 21px !important;
    min-height: 21px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    overflow: visible !important;
  }

  body .main-nav a,
  body.about-page .main-nav a,
  body.contact-page .main-nav a,
  body.policy-page .main-nav a,
  body.previous-events-page .main-nav a,
  body.quick-form-page .main-nav a {
    position: relative !important;
    height: 21px !important;
    min-height: 21px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: transparent !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 18px !important;
    line-height: 20.4px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    overflow: visible !important;
  }

  body .main-nav a::before,
  body.about-page .main-nav a::before,
  body.contact-page .main-nav a::before,
  body.policy-page .main-nav a::before,
  body.previous-events-page .main-nav a::before,
  body.quick-form-page .main-nav a::before {
    content: none !important;
    display: none !important;
  }

  body .main-nav a::after,
  body.about-page .main-nav a::after,
  body.contact-page .main-nav a::after,
  body.policy-page .main-nav a::after,
  body.previous-events-page .main-nav a::after,
  body.quick-form-page .main-nav a::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -7px !important;
    width: 100% !important;
    height: 2px !important;
    display: block !important;
    background: #7EB7CE !important;
    border: 0 !important;
    border-radius: 999px !important;
    opacity: 0 !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: opacity .18s ease, transform .18s ease !important;
    pointer-events: none !important;
  }

  body .main-nav a:hover::after,
  body .main-nav a:focus-visible::after,
  body .main-nav a[aria-current="page"]::after,
  body.about-page .main-nav a:hover::after,
  body.about-page .main-nav a:focus-visible::after,
  body.about-page .main-nav a[aria-current="page"]::after,
  body.contact-page .main-nav a:hover::after,
  body.contact-page .main-nav a:focus-visible::after,
  body.contact-page .main-nav a[aria-current="page"]::after,
  body.policy-page .main-nav a:hover::after,
  body.policy-page .main-nav a:focus-visible::after,
  body.policy-page .main-nav a[aria-current="page"]::after,
  body.previous-events-page .main-nav a:hover::after,
  body.previous-events-page .main-nav a:focus-visible::after,
  body.previous-events-page .main-nav a[aria-current="page"]::after,
  body.quick-form-page .main-nav a:hover::after,
  body.quick-form-page .main-nav a:focus-visible::after,
  body.quick-form-page .main-nav a[aria-current="page"]::after {
    opacity: 1 !important;
    transform: scaleX(1) !important;
  }
}

/* Favorite products desktop lock - Canva/Figma approved card spacing */
@media (min-width: 981px) {
  body .gallery + .products,
  body .products {
    width: min(calc(100vw - 108px), 1550px) !important;
    max-width: 1550px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 0 !important;
    padding-bottom: 10px !important;
    background: #fff !important;
    overflow: visible !important;
  }

  body .products .section-line {
    width: 100% !important;
    min-height: 83px !important;
    margin: 0 0 20px !important;
    padding: 0 0 0 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
  }

  body .products .section-line h2 {
    margin: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 34px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  body .products .section-line a {
    box-sizing: border-box !important;
    width: 250px !important;
    min-width: 250px !important;
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 7px !important;
    font-family: 'Helvetica Neue', 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
  }

  body .product-grid {
    width: 100% !important;
    max-width: none !important;
    height: 512px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 32px !important;
    overflow: visible !important;
  }

  body .product-grid article {
    box-sizing: border-box !important;
    min-width: 0 !important;
    display: block !important;
    min-height: 512px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body .product-grid article img {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 374.12 / 352.87 !important;
    display: block !important;
    border: 0 !important;
    border-radius: 20px !important;
    object-fit: cover !important;
    object-position: center !important;
    background: #f8f7f4 !important;
    box-shadow: 0 10px 10px rgba(0, 0, 0, .25) !important;
  }

  body .product-grid article h3 {
    width: 288.62px !important;
    max-width: calc(100% - 47px) !important;
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    margin: 21px 0 0 46.77px !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'HvDTrial Brandon Grotesque', 'Brandon Grotesque', 'Arial Narrow', 'Aptos Narrow', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 31px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    overflow: visible !important;
  }

  body .product-grid article h3 span {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    transform: none !important;
    transform-origin: initial !important;
  }

  body .product-grid article p {
    width: auto !important;
    min-width: 132px !important;
    max-width: 180px !important;
    min-height: 24px !important;
    margin: 21px 0 0 46.77px !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  body .product-grid article p strong,
  body .product-grid article p em {
    font-weight: 600 !important;
  }

  body .product-grid article p em {
    font-style: italic !important;
  }
}

@media (min-width: 981px) and (max-width: 1440px) {
  body .product-grid {
    gap: 28px !important;
  }

  body .product-grid article img {
    height: auto !important;
  }

  body .product-grid article h3 {
    width: 288.62px !important;
    max-width: calc(100% - 24px) !important;
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    margin-top: 19px !important;
    margin-left: 24px !important;
    font-size: 31px !important;
  }

  body .product-grid article p {
    width: auto !important;
    min-width: 132px !important;
    max-width: 180px !important;
    min-height: 24px !important;
    margin-left: 24px !important;
    font-size: 20px !important;
    white-space: nowrap !important;
  }
}

/* Gallery desktop lock - 1550px shared desktop frame */
@media (min-width: 981px) {
  body .gallery {
    position: relative !important;
    width: min(calc(100vw - 108px), 1550px) !important;
    max-width: 1550px !important;
    aspect-ratio: 1600 / 620 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto 58px !important;
    overflow: hidden !important;
    background: #000 !important;
    border-radius: 0 !important;
  }

  body .gallery-media-link {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    background: #000 !important;
    border-radius: 0 !important;
  }

  body .gallery-exact {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
    opacity: 1 !important;
    border-radius: 0 !important;
  }

  body .gallery::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background: transparent !important;
  }

  body .gallery-content {
    position: absolute !important;
    z-index: 2 !important;
    left: 5.7% !important;
    top: 24.2% !important;
    width: 515px !important;
    min-height: 277px !important;
    height: auto !important;
    max-width: 515px !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    transform: none !important;
  }

  html body.home section.gallery .gallery-content > h2:not(#toc-gallery-heading-lock),
  html body section.gallery .gallery-content > h2:not(#toc-gallery-heading-lock),
  body .gallery-content h2:not(#toc-gallery-heading-lock) {
    width: 515px !important;
    min-width: 515px !important;
    max-width: 515px !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font: 600 60px/60px 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 60px !important;
    line-height: 60px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-align: left !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  body .gallery-kicker {
    width: 515px !important;
    min-width: 515px !important;
    max-width: 515px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 35px !important;
    line-height: 42px !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    text-align: left !important;
  }

  body .gallery-content p:not(.gallery-kicker) {
    width: 515px !important;
    max-width: 515px !important;
    min-height: 47px !important;
    height: auto !important;
    margin: 30px 0 0 !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, .9) !important;
    font-family: 'Inter', 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 23.1px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    overflow: visible !important;
  }

  body .gallery-btn {
    box-sizing: border-box !important;
    width: 154px !important;
    min-width: 154px !important;
    max-width: 154px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin-top: 45px !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-family: 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 22px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 981px) and (max-width: 1360px) {
  body .gallery-content {
    transform-origin: top left !important;
    transform: scale(.84) !important;
  }
}

/* Gallery media is animated background only; the button is the clickable action. */
body .gallery-media-link {
  cursor: default !important;
  pointer-events: none !important;
}

/* Staging desktop locks: remove old background/link clashes for approved sections. */
@media (min-width: 981px) {
  body.home .gallery,
  body.home .products,
  body.home .catalogue-band,
  body.home .warehouse {
    width: min(calc(100vw - 108px), 1550px) !important;
    max-width: 1550px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.home .gallery {
    background: #000 !important;
    background-image: none !important;
    overflow: hidden !important;
  }

  body.home .gallery::before {
    content: none !important;
    display: none !important;
  }

  body.home .gallery::after {
    background: transparent !important;
    pointer-events: none !important;
  }

  body.home .gallery-bg,
  body.home .gallery picture {
    display: none !important;
  }

  body.home .gallery-media-link {
    background: #000 !important;
    cursor: default !important;
    pointer-events: none !important;
  }

  body.home .gallery-exact {
    opacity: 1 !important;
    object-fit: contain !important;
    object-position: center !important;
  }
}

/* 2026-06-02 testimonial Figma lock */
body.home .testimonials {
  min-height: clamp(410px, 30.95vw, 594px) !important;
  padding: clamp(46px, 3.4vw, 66px) 0 clamp(62px, 4.2vw, 80px) !important;
}

body.home .testimonials h2 {
  width: min(560px, calc(100vw - 48px)) !important;
  margin: 0 auto clamp(36px, 3vw, 58px) !important;
  color: #fff !important;
  font-size: clamp(34px, 2.2vw, 42px) !important;
  line-height: .99 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

body.home .testimonial-slider {
  --toc-testimonial-gap: 16px;
  --toc-testimonial-arrow-slot: 54px;
  position: relative !important;
  width: min(calc(100vw - 56px), 1444px) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 var(--toc-testimonial-arrow-slot) 0 0 !important;
}

body.home .testimonial-viewport {
  width: 100% !important;
  overflow: hidden !important;
}

body.home .testimonial-grid {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  display: flex !important;
  grid-template-columns: none !important;
  gap: var(--toc-testimonial-gap) !important;
  text-align: left !important;
  transition: transform .35s ease !important;
  will-change: transform !important;
}

body.home .testimonial-grid article:not([hidden]) {
  box-sizing: border-box !important;
  flex: 0 0 calc((100% - (var(--toc-testimonial-gap) * 2)) / 3) !important;
  width: auto !important;
  min-width: 0 !important;
  height: clamp(195px, 13vw, 248px) !important;
  min-height: clamp(195px, 13vw, 248px) !important;
  padding: clamp(18px, 1.25vw, 24px) clamp(18px, 1.35vw, 26px) clamp(17px, 1.3vw, 24px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  color: #fff !important;
  background: rgba(19, 77, 51, .88) !important;
  border: 1px solid rgba(255,255,255,.76) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.home .testimonial-grid article::before {
  content: none !important;
  display: none !important;
}

body.home .testimonial-grid h3 {
  margin: 0 0 clamp(15px, 1.05vw, 20px) !important;
  color: #fff !important;
  font-family: 'Inter', 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 26.59px !important;
  line-height: 32px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.home .testimonial-grid p {
  margin: 0 0 18px !important;
  color: #fff !important;
  font-family: 'Inter', 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 120% !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

body.home .testimonial-grid span {
  display: block !important;
  margin-top: auto !important;
  color: rgba(255,255,255,.92) !important;
  font-family: 'Inter', 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 120% !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

body.home .testimonial-prev {
  display: none !important;
}

body.home .testimonial-next {
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  z-index: 3 !important;
  width: 44px !important;
  height: 52px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  background: transparent !important;
  transform: translateY(-50%) !important;
}

body.home .testimonial-arrow img,
body.home .testimonial-next img {
  width: 31px !important;
  height: 41px !important;
  object-fit: contain !important;
}

@media (max-width: 980px) {
  body.home .testimonial-slider {
    width: min(calc(100vw - 44px), 840px) !important;
    padding-right: 48px !important;
  }

  body.home .testimonial-grid article:not([hidden]) {
    flex-basis: calc((100% - var(--toc-testimonial-gap)) / 2) !important;
    height: 230px !important;
    min-height: 230px !important;
  }
}

@media (max-width: 640px) {
  body.home .testimonials {
    min-height: 0 !important;
    padding: 44px 0 54px !important;
  }

  body.home .testimonials h2 {
    margin-bottom: 28px !important;
    font-size: 32px !important;
    line-height: 1.02 !important;
  }

  body.home .testimonial-slider {
    width: min(calc(100vw - 44px), 420px) !important;
    padding-right: 0 !important;
  }

  body.home .testimonial-grid article:not([hidden]) {
    flex-basis: 100% !important;
    height: auto !important;
    min-height: 250px !important;
    padding: 22px 20px 24px !important;
  }

  body.home .testimonial-next {
    display: none !important;
  }

  body.home .testimonial-dots {
    display: flex !important;
  }

  body.home .testimonial-dots button:last-child {
    display: none !important;
  }
}

/* FAQ component Figma lock - 2026-07-15 */
body.home .faq-list {
  width: min(722px, calc(100vw - 40px)) !important;
  max-width: 722px !important;
  margin: 0 auto !important;
}

body.home .faq details[open] {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 238px !important;
  margin: 0 !important;
  padding: 30px 20px !important;
  display: grid !important;
  align-content: start !important;
  gap: 20px !important;
  color: #fff !important;
  background: #000 !important;
  border: 1px solid #000 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

body.home .faq details[open] summary {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 0 20px !important;
  color: #fff !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 20px !important;
  line-height: 23.1px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}

body.home .faq details[open] summary::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  bottom: 0 !important;
  height: 2px !important;
  background: #7EB7CE !important;
  transform: none !important;
}

body.home .faq details[open] summary::before {
  content: none !important;
}

body.home .faq details[open] p {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 0 37px !important;
  color: #fff !important;
  background: #000 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 23.1px !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

body.home .faq details[open] p::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 27px !important;
  height: 17px !important;
  display: block !important;
  background: url('../rsc/icons/faq-up-caret.png') center / contain no-repeat !important;
  transform: translateX(-50%) !important;
}

@media (max-width: 520px) {
  body.home .faq {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: #fff !important;
  }

  body.home .faq h2 {
    box-sizing: border-box !important;
    width: min(342px, calc(100vw - 72px)) !important;
    min-height: 54px !important;
    margin: 0 auto 33px !important;
    color: #000 !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 45px !important;
    font-weight: 600 !important;
    letter-spacing: 3.93px !important;
    text-align: center !important;
  }

  body.home .faq-list {
    box-sizing: border-box !important;
    width: min(342px, calc(100vw - 72px)) !important;
    max-width: 342px !important;
    margin: 0 auto !important;
    display: grid !important;
    gap: 20px !important;
  }

  body.home .faq details,
  body.home .faq details[open] {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 342px !important;
    margin: 0 !important;
    border: 1px solid #000 !important;
    border-radius: 15px !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.home .faq details:not([open]) {
    height: auto !important;
    min-height: 100px !important;
    background: #fff !important;
    color: #000 !important;
  }

  body.home .faq details[open] {
    min-height: 340px !important;
    padding: 20px !important;
    gap: 20px !important;
    background: #000 !important;
    color: #fff !important;
  }

  body.home .faq summary {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 100px !important;
    padding: 15px 55px 15px 20px !important;
    display: flex !important;
    align-items: center !important;
    color: inherit !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 23.1px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  body.home .faq details[open] summary {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 20px !important;
    align-items: flex-start !important;
    font-size: 20px !important;
    line-height: 23.1px !important;
  }

  body.home .faq details[open] p {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 37px !important;
    font-size: 14px !important;
    line-height: 20.8px !important;
  }
}

/* 2026-06-04 Previous Events hero Figma lock */
body.previous-events-page .previous-events-hero {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 389px !important;
  min-height: 389px !important;
  overflow: hidden !important;
  color: #fff !important;
  background-color: #0e3f4d !important;
  background-image: url('../../../../uploads/2026/06/previous-events-hero-bg-20260604.png') !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
}

body.previous-events-page .previous-events-hero::before,
body.previous-events-page .previous-events-hero::after {
  content: none !important;
  display: none !important;
}

body.previous-events-page .previous-events-hero-media {
  display: none !important;
}

body.previous-events-page .previous-events-hero-copy {
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 2 !important;
  width: min(682px, calc(100vw - 220px)) !important;
  max-width: 682px !important;
  min-height: 0 !important;
  margin: 0 0 0 clamp(72px, 5.75vw, 110px) !important;
  padding: 56px 0 0 !important;
  display: block !important;
}

body.previous-events-page .previous-events-hero-copy h1 {
  width: 682px !important;
  max-width: 100% !important;
  margin: 0 0 18px !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 75px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
}

body.previous-events-page .previous-events-hero-copy p {
  width: 682px !important;
  max-width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 25px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 1px !important;
  white-space: normal !important;
}

body.previous-events-page .previous-events-hero-copy p::before {
  content: none !important;
  display: none !important;
}

@media (max-width: 900px) {
  body.previous-events-page .previous-events-hero-copy {
    width: min(682px, calc(100vw - 40px)) !important;
    margin-left: 20px !important;
  }
}

@media (max-width: 640px) {
  body.previous-events-page .previous-events-hero {
    height: 472px !important;
    min-height: 472px !important;
    background-position: 53% center !important;
  }

  body.previous-events-page .previous-events-hero::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: block !important;
    background: linear-gradient(180deg, rgba(9, 48, 58, .72) 0%, rgba(9, 48, 58, .52) 42%, rgba(9, 48, 58, .16) 100%) !important;
    pointer-events: none !important;
  }

  body.previous-events-page .previous-events-hero-copy {
    width: calc(100vw - 48px) !important;
    max-width: 366px !important;
    margin-left: 24px !important;
    padding-top: 52px !important;
  }

  body.previous-events-page .previous-events-hero-copy h1 {
    width: 100% !important;
    margin-bottom: 18px !important;
    font-size: 46px !important;
    line-height: 1 !important;
    letter-spacing: 1.5px !important;
  }

  body.previous-events-page .previous-events-hero-copy p {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    font-size: 16px !important;
    line-height: 20px !important;
    letter-spacing: .2px !important;
  }
}

/* Launch lock: Previous Events click gallery modal */
body.previous-events-page .event-gallery-panel {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10000 !important;
  display: grid !important;
  place-items: start center !important;
  padding: 14px 20px 72px !important;
  background: rgba(0, 0, 0, .72) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}

body.previous-events-page.admin-bar .event-gallery-panel,
.admin-bar body.previous-events-page .event-gallery-panel {
  padding-top: 46px !important;
}

body.previous-events-page .event-gallery-panel[hidden] {
  display: none !important;
}

body.previous-events-page.event-gallery-open {
  overflow: hidden !important;
}

body.previous-events-page .event-gallery-shell {
  box-sizing: border-box !important;
  width: min(1580px, calc(100vw - 40px)) !important;
  max-width: 1580px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  color: #fff !important;
  background: #fff !important;
  border: 0 !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .38) !important;
}

body.previous-events-page .event-gallery-header {
  box-sizing: border-box !important;
  position: relative !important;
  width: 100% !important;
  height: 205px !important;
  min-height: 205px !important;
  max-height: 205px !important;
  margin: 0 !important;
  padding: 26px 24px !important;
  display: grid !important;
  grid-template-columns: 350px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 26px !important;
  color: #fefefe !important;
  background: #000 !important;
  overflow: hidden !important;
}

body.previous-events-page .event-gallery-header h2,
body.previous-events-page .event-gallery-header h2:not(#toc-h2-size-lock) {
  width: 350px !important;
  max-width: 350px !important;
  min-height: 165px !important;
  margin: 0 !important;
  color: #fefefe !important;
  font-family: 'NATS', 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 55px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: .55px !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

body.previous-events-page .event-gallery-header h2 span {
  display: block !important;
}

body.previous-events-page .event-gallery-header p {
  width: min(1154px, 100%) !important;
  max-width: 1154px !important;
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  color: #fefefe !important;
  font-family: 'Lato', 'Inter', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 24.79px !important;
  line-height: 1.1 !important;
  font-weight: 300 !important;
  letter-spacing: 1.24px !important;
  text-transform: none !important;
  overflow: hidden !important;
}

body.previous-events-page .event-gallery-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 8 !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  background: rgba(0, 0, 0, .18) !important;
  border: 1px solid rgba(255, 255, 255, .65) !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

body.previous-events-page .event-gallery-close::before {
  content: 'x' !important;
  display: block !important;
  color: #fff !important;
  font-family: Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}

body.previous-events-page .event-gallery-close {
  display: none !important;
}

body.previous-events-page .event-gallery-viewer {
  box-sizing: border-box !important;
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  background: #000 !important;
}

body.previous-events-page .event-gallery-main {
  box-sizing: border-box !important;
  position: relative !important;
  width: 100% !important;
  height: min(902px, 57.1vw) !important;
  min-height: 520px !important;
  margin: 0 !important;
  display: block !important;
  overflow: hidden !important;
  background: #000 !important;
}

body.previous-events-page .event-gallery-main img,
body.previous-events-page .event-gallery-main [data-gallery-main] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: #000 !important;
}

body.previous-events-page .event-gallery-main [data-gallery-main][data-gallery-orientation="portrait"] {
  object-fit: contain !important;
}

body.previous-events-page .event-gallery-main figcaption {
  display: none !important;
}

body.previous-events-page .event-gallery-arrow {
  z-index: 7 !important;
  width: 72px !important;
  height: 72px !important;
  color: #fff !important;
  background: rgba(0, 0, 0, .2) !important;
  border: 1px solid #fff !important;
  border-radius: 50% !important;
}

body.previous-events-page .event-gallery-prev {
  left: 32px !important;
}

body.previous-events-page .event-gallery-next {
  right: 32px !important;
}

body.previous-events-page .event-gallery-thumbs {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 185px 185px minmax(278px, 1fr) 185px 185px !important;
  gap: 24px !important;
  background: #fff !important;
  overflow: hidden !important;
}

body.previous-events-page .event-gallery-thumb {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 278px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  background: #fff !important;
  overflow: hidden !important;
}

body.previous-events-page .event-gallery-thumb img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.previous-events-page .event-gallery-thumb.is-active,
body.previous-events-page .event-gallery-thumb:hover,
body.previous-events-page .event-gallery-thumb:focus-visible {
  border: 0 !important;
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 1700px) {
  body.previous-events-page .event-gallery-panel {
    padding-top: 14px !important;
  }

  body.previous-events-page.admin-bar .event-gallery-panel,
  .admin-bar body.previous-events-page .event-gallery-panel {
    padding-top: 46px !important;
  }

  body.previous-events-page .event-gallery-main {
    height: min(902px, 57.1vw) !important;
  }

  body.previous-events-page .event-gallery-thumb {
    height: clamp(120px, 17.6vw, 278px) !important;
  }
}

@media (max-width: 980px) {
  body.previous-events-page .event-gallery-panel {
    padding: 24px 12px 44px !important;
  }

  body.previous-events-page .event-gallery-shell {
    width: calc(100vw - 24px) !important;
    padding: 10px !important;
  }

  body.previous-events-page .event-gallery-header {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 16px !important;
  }

  body.previous-events-page .event-gallery-header h2,
  body.previous-events-page .event-gallery-header h2:not(#toc-h2-size-lock) {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    font-size: clamp(34px, 8vw, 55px) !important;
  }

  body.previous-events-page .event-gallery-header p {
    width: 100% !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    font-size: clamp(14px, 3.2vw, 22px) !important;
    letter-spacing: .5px !important;
  }

  body.previous-events-page .event-gallery-main {
    height: 62vw !important;
    min-height: 260px !important;
  }

  body.previous-events-page .event-gallery-arrow {
    width: 46px !important;
    height: 46px !important;
  }

  body.previous-events-page .event-gallery-prev {
    left: 12px !important;
  }

  body.previous-events-page .event-gallery-next {
    right: 12px !important;
  }

  body.previous-events-page .event-gallery-thumbs {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.previous-events-page .event-gallery-thumb {
    height: 18vw !important;
    min-height: 62px !important;
  }
}

@media (max-width: 560px) {
  body.previous-events-page .event-gallery-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.previous-events-page .event-gallery-thumb {
    height: 24vw !important;
  }
}

/* Launch lock: viewport-safe gallery modal balance */
@media (max-height: 960px) and (min-width: 981px) {
  body.previous-events-page .event-gallery-panel {
    padding: 10px 12px 34px !important;
  }

  body.previous-events-page.admin-bar .event-gallery-panel,
  .admin-bar body.previous-events-page .event-gallery-panel {
    padding-top: 42px !important;
  }

  body.previous-events-page .event-gallery-shell {
    width: min(1580px, calc(100vw - 24px)) !important;
    padding: 14px !important;
    gap: 8px !important;
  }

  body.previous-events-page .event-gallery-header {
    height: 188px !important;
    min-height: 188px !important;
    max-height: 188px !important;
    padding: 22px 24px !important;
  }

  body.previous-events-page .event-gallery-header h2,
  body.previous-events-page .event-gallery-header h2:not(#toc-h2-size-lock) {
    min-height: 0 !important;
    font-size: 52px !important;
    line-height: .98 !important;
  }

  body.previous-events-page .event-gallery-header p {
    margin-top: 16px !important;
    font-size: 23px !important;
    line-height: 1.08 !important;
  }

  body.previous-events-page .event-gallery-main {
    height: clamp(410px, calc(100vh - 424px), 670px) !important;
    min-height: 410px !important;
  }

  body.previous-events-page .event-gallery-arrow {
    width: 58px !important;
    height: 58px !important;
  }

  body.previous-events-page .event-gallery-thumb {
    height: clamp(80px, 10.8vh, 124px) !important;
  }
}

/* Launch lock: About page Figma banner and intro section */
body.about-page .about-hero {
  height: 389px !important;
  min-height: 389px !important;
  max-height: 389px !important;
  background:
    linear-gradient(90deg, rgba(8, 74, 92, .98) 0%, rgba(8, 74, 92, .92) 25%, rgba(8, 74, 92, .55) 40%, rgba(8, 74, 92, .08) 62%, rgba(8, 74, 92, 0) 100%),
    url('../about/about-hero-event-background.webp') center center / cover no-repeat !important;
}

body.about-page .page-hero-copy {
  width: min(610px, 48vw) !important;
  min-height: 389px !important;
  margin: 0 !important;
  margin-left: 64px !important;
  padding: 0 !important;
  left: auto !important;
  right: auto !important;
  top: 0 !important;
  transform: none !important;
  justify-content: center !important;
}

body.about-page .about-hero > .page-hero-copy,
body.about-page .about-hero .page-hero-copy {
  position: absolute !important;
  left: 64px !important;
  right: auto !important;
  top: 0 !important;
  bottom: auto !important;
  width: min(610px, 48vw) !important;
  min-height: 389px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  transform: none !important;
}

body.about-page .page-hero h1 {
  margin: 0 0 18px !important;
  font-size: clamp(56px, 3.75vw, 72px) !important;
  line-height: .94 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.about-page .page-hero p {
  max-width: 520px !important;
  font-size: clamp(18px, 1.15vw, 22px) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body.about-page .about-content-section {
  padding: 0 0 78px !important;
  background: #fff !important;
}

body.about-page .about-row.about-row-top,
body.about-page .about-row-top {
  width: min(1607px, calc(100vw - 64px)) !important;
  max-width: 1607px !important;
  min-height: 527px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 791px 682px !important;
  align-items: center !important;
  justify-content: start !important;
  column-gap: 74px !important;
  gap: 0 74px !important;
}

body.about-page .about-row.about-row-top .about-team-image,
body.about-page .about-team-image {
  width: 791px !important;
  max-width: 791px !important;
  height: 527px !important;
  margin: 0 !important;
  border-radius: 0 62px 62px 0 !important;
  overflow: hidden !important;
  justify-self: stretch !important;
}

body.about-page .about-row.about-row-top .about-team-image img,
body.about-page .about-team-image img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.previous-events-page .event-gallery-main figcaption {
  position: absolute !important;
  right: 18px !important;
  bottom: 18px !important;
  z-index: 8 !important;
  min-width: 78px !important;
  height: 34px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  background: rgba(0, 0, 0, .62) !important;
  border: 1px solid rgba(255, 255, 255, .72) !important;
  border-radius: 999px !important;
  font-family: 'Lato', 'Inter', Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: .08em !important;
}

body.about-page .about-row.about-row-top .about-copy-right,
body.about-page .about-copy-right {
  width: 682px !important;
  max-width: 682px !important;
  justify-self: start !important;
}

body.about-page .about-copy h2 {
  margin: 0 0 36px !important;
  color: #000 !important;
  font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
  font-size: clamp(36px, 2.4vw, 46px) !important;
  line-height: .92 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.about-page .about-copy h2 em {
  display: block !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 300 !important;
  font-style: italic !important;
}

body.about-page .about-copy p {
  max-width: 682px !important;
  margin: 0 0 17px !important;
  color: #151515 !important;
  font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.24 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.about-page .about-row.about-row-top .about-copy-right h2,
body.about-page .about-row.about-row-top .about-copy-right h2:not(#toc-about-heading-lock) {
  margin: 0 0 36px !important;
  color: #000 !important;
  font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 46px !important;
  line-height: .92 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.about-page .about-row.about-row-top .about-copy-right h2 em {
  display: block !important;
  font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 300 !important;
  font-style: italic !important;
}

body.about-page .about-row.about-row-top .about-copy-right p {
  max-width: 682px !important;
  margin: 0 0 17px !important;
  color: #151515 !important;
  font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.24 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

@media (max-width: 980px) {
  body.about-page .about-hero {
    height: 260px !important;
    min-height: 260px !important;
    background-position: 58% center !important;
  }

  body.about-page .page-hero-copy {
    width: min(460px, calc(100vw - 48px)) !important;
    min-height: 260px !important;
    margin-left: 24px !important;
  }

  body.about-page .page-hero h1 {
    font-size: 42px !important;
  }

  body.about-page .page-hero p {
    font-size: 15px !important;
  }

  body.about-page .about-content-section {
    padding: 34px 24px 60px !important;
  }

  body.about-page .about-row-top {
    width: min(620px, 100%) !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    row-gap: 28px !important;
  }

  body.about-page .about-team-image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 791 / 527 !important;
    border-radius: 28px !important;
  }

  body.about-page .about-copy-right {
    width: 100% !important;
  }

  body.about-page .about-copy h2 {
    font-size: 34px !important;
    margin-bottom: 22px !important;
  }
}

/* Launch lock: Figma desktop Previous Events gallery modal */
body.previous-events-page .event-gallery-panel {
  place-items: start center !important;
  padding: 14px 20px 72px !important;
  background: rgba(0, 0, 0, .74) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
}

body.previous-events-page.admin-bar .event-gallery-panel,
.admin-bar body.previous-events-page .event-gallery-panel {
  padding-top: 46px !important;
}

body.previous-events-page .event-gallery-shell {
  box-sizing: border-box !important;
  width: min(1580px, calc(100vw - 40px)) !important;
  max-width: 1580px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 20px !important;
  gap: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border: 0 !important;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .4) !important;
}

body.previous-events-page .event-gallery-header {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 179px !important;
  min-height: 179px !important;
  max-height: 179px !important;
  margin: 0 !important;
  padding: 26px 24px !important;
  display: grid !important;
  grid-template-columns: 350px minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 26px !important;
  color: #fefefe !important;
  background: #000 !important;
  overflow: hidden !important;
}

body.previous-events-page .event-gallery-header h2,
body.previous-events-page .event-gallery-header h2:not(#toc-h2-size-lock) {
  width: 350px !important;
  max-width: 350px !important;
  min-height: 129px !important;
  margin: 0 !important;
  color: #fefefe !important;
  font-family: 'NATS', 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 55px !important;
  line-height: .93 !important;
  font-weight: 400 !important;
  letter-spacing: .55px !important;
  text-transform: uppercase !important;
}

body.previous-events-page .event-gallery-header h2 span {
  display: block !important;
}

body.previous-events-page .event-gallery-header p {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  width: min(1154px, 100%) !important;
  max-width: 1154px !important;
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  color: #fefefe !important;
  font-family: 'Lato', 'Inter', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 24.79px !important;
  line-height: 1.1 !important;
  font-weight: 300 !important;
  letter-spacing: 1.24px !important;
  text-transform: none !important;
  overflow: hidden !important;
}

body.previous-events-page .event-gallery-close,
body.previous-events-page .event-gallery-close::before,
body.previous-events-page .event-gallery-close::after {
  display: none !important;
  content: none !important;
}

body.previous-events-page .event-gallery-viewer {
  width: 100% !important;
  margin: 0 !important;
  background: #000 !important;
}

body.previous-events-page .event-gallery-main {
  width: 100% !important;
  height: min(902px, 57.1vw) !important;
  min-height: 520px !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #000 !important;
}

body.previous-events-page .event-gallery-main img,
body.previous-events-page .event-gallery-main [data-gallery-main] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.previous-events-page .event-gallery-arrow {
  width: 72px !important;
  height: 72px !important;
  color: #fff !important;
  background: rgba(0, 0, 0, .2) !important;
  border: 1px solid #fff !important;
  border-radius: 50% !important;
}

body.previous-events-page .event-gallery-prev {
  left: 32px !important;
}

body.previous-events-page .event-gallery-next {
  right: 32px !important;
}

body.previous-events-page .event-gallery-thumbs {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1.72fr .62fr 1.72fr .62fr 1.32fr !important;
  gap: 24px !important;
  background: #fff !important;
  overflow: hidden !important;
}

body.previous-events-page .event-gallery-thumb {
  position: relative !important;
  width: 100% !important;
  height: 278px !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: .82 !important;
  background: #fff !important;
  overflow: hidden !important;
  transition: opacity .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body.previous-events-page .event-gallery-thumb img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.previous-events-page .event-gallery-thumb.is-active {
  opacity: 1 !important;
  box-shadow: inset 0 0 0 4px #fff, 0 0 0 2px #111 !important;
  transform: translateY(-2px) !important;
}

body.previous-events-page .event-gallery-thumb.is-active::after {
  content: '' !important;
  position: absolute !important;
  left: 10px !important;
  right: 10px !important;
  bottom: 10px !important;
  height: 4px !important;
  background: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .55) !important;
}

@media (max-height: 1500px) and (min-width: 761px) {
  body.previous-events-page .event-gallery-panel {
    padding: 14px 20px 42px !important;
  }

  body.previous-events-page.admin-bar .event-gallery-panel,
  .admin-bar body.previous-events-page .event-gallery-panel {
    padding-top: 46px !important;
  }

  body.previous-events-page .event-gallery-shell {
    width: min(1580px, calc(100vw - 40px)) !important;
    padding: clamp(12px, 1.2vh, 20px) !important;
    gap: clamp(8px, .75vh, 12px) !important;
  }

  body.previous-events-page .event-gallery-header {
    height: clamp(116px, 12.5vh, 179px) !important;
    min-height: clamp(116px, 12.5vh, 179px) !important;
    max-height: clamp(116px, 12.5vh, 179px) !important;
    padding: clamp(16px, 1.8vh, 26px) 24px !important;
  }

  body.previous-events-page .event-gallery-header h2,
  body.previous-events-page .event-gallery-header h2:not(#toc-h2-size-lock) {
    min-height: 0 !important;
    font-size: clamp(38px, 4.2vh, 55px) !important;
    line-height: .93 !important;
  }

  body.previous-events-page .event-gallery-header p {
    margin-top: clamp(8px, 1.5vh, 18px) !important;
    font-size: clamp(17px, 2vh, 24.79px) !important;
    line-height: 1.1 !important;
  }

  body.previous-events-page .event-gallery-main {
    height: clamp(430px, 53vh, 902px) !important;
    min-height: 430px !important;
  }

  body.previous-events-page .event-gallery-thumbs {
    grid-template-columns: 1.72fr .62fr 1.72fr .62fr 1.32fr !important;
    gap: clamp(8px, 1.3vh, 24px) !important;
  }

  body.previous-events-page .event-gallery-thumb {
    height: clamp(150px, 18vh, 278px) !important;
  }

  body.previous-events-page .event-gallery-main figcaption {
    right: 14px !important;
    bottom: 14px !important;
    height: 30px !important;
    min-width: 72px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }

  body.previous-events-page .event-gallery-arrow {
    width: clamp(46px, 5.2vh, 72px) !important;
    height: clamp(46px, 5.2vh, 72px) !important;
  }
}

@media (max-width: 760px) {
  body.previous-events-page .event-gallery-panel {
    padding: 24px 12px 44px !important;
  }

  body.previous-events-page .event-gallery-shell {
    width: calc(100vw - 24px) !important;
    padding: 10px !important;
  }

  body.previous-events-page .event-gallery-header {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
    row-gap: 8px !important;
    padding: 16px !important;
  }

  body.previous-events-page .event-gallery-header h2,
  body.previous-events-page .event-gallery-header h2:not(#toc-h2-size-lock) {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    font-size: clamp(34px, 8vw, 55px) !important;
    line-height: .98 !important;
  }

  body.previous-events-page .event-gallery-header p {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    font-size: clamp(14px, 3.2vw, 22px) !important;
    letter-spacing: .5px !important;
  }

  body.previous-events-page .event-gallery-main {
    height: 62vw !important;
    min-height: 260px !important;
  }

  body.previous-events-page .event-gallery-arrow {
    width: 46px !important;
    height: 46px !important;
  }

  body.previous-events-page .event-gallery-prev {
    left: 12px !important;
  }

  body.previous-events-page .event-gallery-next {
    right: 12px !important;
  }

  body.previous-events-page .event-gallery-thumbs {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.previous-events-page .event-gallery-thumb {
    height: 18vw !important;
    min-height: 62px !important;
  }

  body.previous-events-page .event-gallery-main figcaption {
    right: 10px !important;
    bottom: 10px !important;
    height: 28px !important;
    min-width: 64px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
  }
}

body.previous-events-page .event-card h2,
body.previous-events-page .event-card h2:not(#toc-card-h2-size-lock) {
  width: 310.93px !important;
  max-width: 100% !important;
  min-height: 80px !important;
  margin: 0 0 23px !important;
  font-family: 'HvDTrial Brandon Grotesque', 'Brandon Grotesque', 'Arial Narrow', 'Aptos Narrow', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 40.3px !important;
  line-height: 40px !important;
  font-weight: 400 !important;
  font-stretch: normal !important;
  letter-spacing: 0 !important;
  transform: none !important;
  overflow: visible !important;
}

body.previous-events-page .event-card h2 span,
body.previous-events-page .event-card h2 em {
  font-family: inherit !important;
  display: block !important;
  font-size: inherit !important;
  line-height: inherit !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}

body.previous-events-page .event-card h2 span {
  font-weight: 400 !important;
  font-style: normal !important;
}

body.previous-events-page .event-card h2 em {
  font-weight: 300 !important;
  font-style: italic !important;
}

body.previous-events-page .event-card-copy {
  padding-left: 50.38px !important;
}

body.previous-events-page .event-card p {
  width: 310.91px !important;
  max-width: 100% !important;
  font-family: 'Inter', 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
  font-size: 14.91px !important;
  line-height: 120% !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
}

/* Launch lock: gallery QA refinements, fixed image frame and compact counter */
body.previous-events-page .event-gallery-main {
  aspect-ratio: 1540 / 902 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  flex: 0 0 auto !important;
}

body.previous-events-page .event-gallery-main img,
body.previous-events-page .event-gallery-main [data-gallery-main] {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.previous-events-page .event-gallery-main [data-gallery-main][data-gallery-orientation="portrait"] {
  object-fit: contain !important;
}

body.previous-events-page .event-gallery-main figcaption {
  left: 18px !important;
  right: auto !important;
  bottom: 16px !important;
  width: auto !important;
  max-width: max-content !important;
  min-width: 64px !important;
  height: 30px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  background: rgba(0, 0, 0, .64) !important;
  border: 1px solid rgba(255, 255, 255, .58) !important;
  border-radius: 999px !important;
  font-family: 'Lato', 'Inter', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
}

body.previous-events-page .event-gallery-main figcaption span {
  width: auto !important;
  max-width: none !important;
  display: inline-block !important;
  white-space: nowrap !important;
}

body.previous-events-page .event-gallery-thumbs {
  grid-template-columns: 1.72fr .62fr 1.72fr .62fr 1.32fr !important;
}

body.previous-events-page .event-gallery-thumb {
  height: clamp(150px, 18vh, 278px) !important;
}

@media (min-height: 1501px) and (min-width: 761px) {
  body.previous-events-page .event-gallery-thumb {
    height: 278px !important;
  }
}

@media (max-width: 760px) {
  body.previous-events-page .event-gallery-main {
    aspect-ratio: 16 / 10 !important;
  }

  body.previous-events-page .event-gallery-main figcaption {
    left: 10px !important;
    bottom: 10px !important;
    min-width: 58px !important;
    height: 26px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }
}

@media (max-height: 1150px) and (min-width: 981px) {
  body.previous-events-page .event-gallery-panel {
    padding: 46px 20px 24px !important;
  }

  body.previous-events-page.admin-bar .event-gallery-panel,
  .admin-bar body.previous-events-page .event-gallery-panel {
    padding-top: 46px !important;
  }

  body.previous-events-page .event-gallery-shell {
    width: min(1120px, calc(100vw - 40px)) !important;
    padding: 12px !important;
    gap: 8px !important;
  }

  body.previous-events-page .event-gallery-header {
    height: 104px !important;
    min-height: 104px !important;
    max-height: 104px !important;
    padding: 18px 24px !important;
    grid-template-columns: 330px minmax(0, 1fr) !important;
    column-gap: 26px !important;
  }

  body.previous-events-page .event-gallery-header h2,
  body.previous-events-page .event-gallery-header h2:not(#toc-h2-size-lock) {
    width: 330px !important;
    max-width: 330px !important;
    min-height: 0 !important;
    font-size: 38px !important;
    line-height: .94 !important;
  }

  body.previous-events-page .event-gallery-header p {
    margin-top: 14px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    font-size: 18px !important;
    line-height: 1.12 !important;
  }

  body.previous-events-page .event-gallery-thumb {
    height: 118px !important;
  }
}

@media (max-height: 900px) and (min-width: 981px) {
  body.previous-events-page .event-gallery-shell {
    width: min(1000px, calc(100vw - 40px)) !important;
  }

  body.previous-events-page .event-gallery-header {
    height: 96px !important;
    min-height: 96px !important;
    max-height: 96px !important;
    padding: 16px 22px !important;
  }

  body.previous-events-page .event-gallery-header h2,
  body.previous-events-page .event-gallery-header h2:not(#toc-h2-size-lock) {
    font-size: 38px !important;
  }

  body.previous-events-page .event-gallery-header p {
    font-size: 16px !important;
  }

  body.previous-events-page .event-gallery-thumb {
    height: 100px !important;
  }
}

/* Launch lock: About hero Figma text placement */
body.about-page .about-hero {
  height: 389px !important;
  min-height: 389px !important;
  max-height: 389px !important;
  background:
    linear-gradient(90deg, rgba(8, 74, 92, .98) 0%, rgba(8, 74, 92, .92) 24%, rgba(8, 74, 92, .54) 40%, rgba(8, 74, 92, .1) 61%, rgba(8, 74, 92, 0) 100%),
    url('../about/about-hero-event-background.webp') center center / cover no-repeat !important;
}

body.about-page .about-hero > .page-hero-copy,
body.about-page .about-hero .page-hero-copy {
  position: absolute !important;
  left: max(80px, calc((100vw - 1921px) / 2 + 152px)) !important;
  top: 99.5px !important;
  right: auto !important;
  bottom: auto !important;
  width: 566px !important;
  max-width: min(566px, calc(100vw - 160px)) !important;
  height: 156px !important;
  min-height: 156px !important;
  max-height: 156px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  transform: none !important;
}

body.about-page .about-hero .page-hero-copy h1,
body.about-page .page-hero h1 {
  width: 566px !important;
  max-width: 100% !important;
  min-height: 91px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
  font-size: 75px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
}

body.about-page .about-hero .page-hero-copy p,
body.about-page .page-hero p {
  width: 566px !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: .2px !important;
}

@media (max-width: 980px) {
  body.about-page .about-hero {
    height: 260px !important;
    min-height: 260px !important;
    max-height: 260px !important;
    background:
      linear-gradient(90deg, rgba(8, 74, 92, .98) 0%, rgba(8, 74, 92, .85) 44%, rgba(8, 74, 92, .22) 76%, rgba(8, 74, 92, 0) 100%),
      url('../about/about-hero-event-background.webp') 58% center / cover no-repeat !important;
  }

  body.about-page .about-hero > .page-hero-copy,
  body.about-page .about-hero .page-hero-copy {
    left: 24px !important;
    top: 72px !important;
    width: min(566px, calc(100vw - 48px)) !important;
    max-width: calc(100vw - 48px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  body.about-page .about-hero .page-hero-copy h1,
  body.about-page .page-hero h1 {
    min-height: 0 !important;
    font-size: clamp(42px, 9vw, 75px) !important;
    letter-spacing: clamp(1px, .4vw, 3px) !important;
  }

  body.about-page .about-hero .page-hero-copy p,
  body.about-page .page-hero p {
    font-size: clamp(13px, 3vw, 16px) !important;
  }
}

/* Launch lock: About first content row Figma dimensions */
body.about-page .about-content-section {
  padding: 40px 0 78px !important;
  background: #fff !important;
}

body.about-page .about-row.about-row-top,
body.about-page .about-row-top {
  box-sizing: border-box !important;
  width: min(1607px, calc(100vw - 64px)) !important;
  max-width: 1607px !important;
  min-height: 527px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 791px 732px !important;
  column-gap: 84px !important;
  align-items: start !important;
  justify-content: center !important;
}

body.about-page .about-row.about-row-top .about-team-image,
body.about-page .about-team-image {
  box-sizing: border-box !important;
  position: relative !important;
  width: 791px !important;
  max-width: 791px !important;
  height: 527px !important;
  margin: 0 !important;
  border-radius: 112px !important;
  overflow: hidden !important;
}

body.about-page .about-row.about-row-top .about-team-image img,
body.about-page .about-team-image img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.about-page .about-row.about-row-top .about-copy-right,
body.about-page .about-copy-right {
  box-sizing: border-box !important;
  width: 732px !important;
  max-width: 732px !important;
  height: 527px !important;
  min-height: 527px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: start !important;
}

body.about-page .about-row.about-row-top .about-copy-right h2,
body.about-page .about-row.about-row-top .about-copy-right h2:not(#toc-about-heading-lock),
body.about-page .about-copy h2 {
  box-sizing: border-box !important;
  width: 732px !important;
  max-width: 732px !important;
  min-height: 99px !important;
  margin: 0 0 121.5px !important;
  padding: 0 !important;
  color: #000 !important;
  font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
  font-size: 45px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
}

body.about-page .about-row.about-row-top .about-copy-right h2 em,
body.about-page .about-copy h2 em {
  display: block !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 500 !important;
  font-style: italic !important;
  letter-spacing: 2px !important;
}

body.about-page .about-row.about-row-top .about-copy-right p,
body.about-page .about-copy-right p {
  box-sizing: border-box !important;
  width: 732px !important;
  max-width: 732px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  color: #000 !important;
  font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
}

body.about-page .about-row.about-row-top .about-copy-right p:last-child,
body.about-page .about-copy-right p:last-child {
  margin-bottom: 0 !important;
}

/* Launch correction: keep the first About row visually tight and remove the false cutout. */
body.about-page .about-row.about-row-top .about-team-image::after,
body.about-page .about-team-image::after {
  display: none !important;
  content: none !important;
}

body.about-page .about-row.about-row-top .about-copy-right h2,
body.about-page .about-row.about-row-top .about-copy-right h2:not(#toc-about-heading-lock) {
  margin: 0 0 55px !important;
}

@media (max-width: 1700px) and (min-width: 981px) {
  body.about-page .about-row.about-row-top,
  body.about-page .about-row-top {
    width: min(1360px, calc(100vw - 64px)) !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr) !important;
    column-gap: 64px !important;
  }

  body.about-page .about-row.about-row-top .about-team-image,
  body.about-page .about-team-image {
    width: 100% !important;
  }

  body.about-page .about-row.about-row-top .about-copy-right,
  body.about-page .about-copy-right,
  body.about-page .about-row.about-row-top .about-copy-right h2,
  body.about-page .about-row.about-row-top .about-copy-right h2:not(#toc-about-heading-lock),
  body.about-page .about-copy h2,
  body.about-page .about-row.about-row-top .about-copy-right p,
  body.about-page .about-copy-right p {
    width: 100% !important;
    max-width: none !important;
  }

  body.about-page .about-row.about-row-top .about-copy-right p,
  body.about-page .about-copy-right p {
    font-size: clamp(15px, 1vw, 20px) !important;
  }

  body.about-page .about-row.about-row-top .about-copy-right h2,
  body.about-page .about-row.about-row-top .about-copy-right h2:not(#toc-about-heading-lock) {
    margin-bottom: 42px !important;
  }
}

/* Launch correction: use the supplied 791x527 PNG shape without a CSS cutout. */
body.about-page .about-row.about-row-top .about-team-image,
body.about-page .about-team-image {
  width: 791px !important;
  max-width: 791px !important;
  height: 527px !important;
  aspect-ratio: 791 / 527 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}

body.about-page .about-row.about-row-top .about-team-image img,
body.about-page .about-team-image img {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 0 !important;
}

body.about-page .about-row.about-row-top .about-team-image::before,
body.about-page .about-row.about-row-top .about-team-image::after,
body.about-page .about-team-image::before,
body.about-page .about-team-image::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

@media (max-width: 1670px) and (min-width: 981px) {
  body.about-page .about-row.about-row-top,
  body.about-page .about-row-top {
    width: min(1360px, calc(100vw - 64px)) !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr) !important;
    column-gap: 64px !important;
  }

  body.about-page .about-row.about-row-top .about-team-image,
  body.about-page .about-team-image {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: auto !important;
  }

  body.about-page .about-row.about-row-top .about-team-image img,
  body.about-page .about-team-image img {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
  }
}

@media (max-width: 980px) {
  body.about-page .about-row.about-row-top .about-team-image,
  body.about-page .about-team-image {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: auto !important;
  }

  body.about-page .about-row.about-row-top .about-team-image img,
  body.about-page .about-team-image img {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
  }
}

/* Launch correction: About banner copy and section rhythm from Figma. */
body.about-page .about-hero > .page-hero-copy,
body.about-page .about-hero .page-hero-copy {
  width: 566px !important;
  max-width: min(566px, calc(100vw - 160px)) !important;
  height: 250px !important;
  min-height: 250px !important;
  top: 70px !important;
}

body.about-page .about-hero .page-hero-copy h1,
body.about-page .page-hero h1 {
  width: 566px !important;
  max-width: 100% !important;
  min-height: 160px !important;
  margin: 0 0 15px !important;
  font-size: 75px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
}

body.about-page .about-hero .page-hero-copy p,
body.about-page .page-hero p {
  width: 566px !important;
  max-width: 100% !important;
  min-height: 75px !important;
  margin: 0 !important;
  font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
  font-size: 25px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 1px !important;
}

body.about-page .about-content-section {
  padding-top: 40px !important;
  padding-bottom: 68px !important;
}

body.about-page .about-row + .about-row,
body.about-page .about-row-bottom {
  margin-top: 84px !important;
}

@media (max-width: 980px) {
  body.about-page .about-hero > .page-hero-copy,
  body.about-page .about-hero .page-hero-copy {
    width: min(566px, calc(100vw - 48px)) !important;
    max-width: calc(100vw - 48px) !important;
    height: auto !important;
    min-height: 0 !important;
    top: 72px !important;
  }

  body.about-page .about-hero .page-hero-copy h1,
  body.about-page .page-hero h1 {
    min-height: 0 !important;
    margin-bottom: 12px !important;
    font-size: clamp(42px, 9vw, 75px) !important;
    letter-spacing: clamp(1px, .4vw, 3px) !important;
  }

  body.about-page .about-hero .page-hero-copy p,
  body.about-page .page-hero p {
    min-height: 0 !important;
    font-size: clamp(16px, 4.7vw, 25px) !important;
    letter-spacing: .4px !important;
  }
}

@media (max-width: 980px) {
  body.about-page .about-content-section {
    padding: 34px 24px 68px !important;
  }

  body.about-page .about-row.about-row-top,
  body.about-page .about-row-top {
    width: min(520px, 100%) !important;
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    row-gap: 28px !important;
    column-gap: 0 !important;
    justify-content: center !important;
  }

  body.about-page .about-row.about-row-top .about-team-image,
  body.about-page .about-team-image {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 791 / 527 !important;
    border-radius: 32px !important;
  }

  body.about-page .about-row.about-row-top .about-team-image::after,
  body.about-page .about-team-image::after {
    display: none !important;
  }

  body.about-page .about-row.about-row-top .about-copy-right,
  body.about-page .about-copy-right {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body.about-page .about-row.about-row-top .about-copy-right h2,
  body.about-page .about-row.about-row-top .about-copy-right h2:not(#toc-about-heading-lock),
  body.about-page .about-copy h2 {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 0 26px !important;
    font-size: clamp(34px, 10vw, 45px) !important;
    line-height: 1 !important;
    letter-spacing: 1px !important;
  }

  body.about-page .about-row.about-row-top .about-copy-right h2 em,
  body.about-page .about-copy h2 em {
    letter-spacing: 1px !important;
  }

  body.about-page .about-row.about-row-top .about-copy-right p,
  body.about-page .about-copy-right p {
    width: 100% !important;
    max-width: none !important;
    margin-bottom: 18px !important;
    font-size: 14px !important;
    line-height: 1.22 !important;
  }
}

/* Launch lock: About second content row Figma dimensions */
body.about-page .about-row.about-row-bottom,
body.about-page .about-row-bottom {
  box-sizing: border-box !important;
  width: min(1304px, calc(100vw - 48px)) !important;
  max-width: 1304px !important;
  min-height: 545px !important;
  margin: 84px auto 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 732px 488px !important;
  column-gap: 84px !important;
  align-items: start !important;
  justify-content: center !important;
}

body.about-page .about-row.about-row-bottom .about-copy-left,
body.about-page .about-row-bottom .about-copy-left {
  box-sizing: border-box !important;
  width: 732px !important;
  max-width: 732px !important;
  height: 545px !important;
  min-height: 545px !important;
  margin: 0 !important;
  padding: 123.5px 0 0 !important;
  align-self: start !important;
}

body.about-page .about-row.about-row-bottom .about-copy-left h2,
body.about-page .about-row.about-row-bottom .about-copy-left h2:not(#toc-about-heading-lock),
body.about-page .about-row-bottom .about-copy-left h2 {
  box-sizing: border-box !important;
  width: 732px !important;
  max-width: 732px !important;
  min-height: 99px !important;
  margin: 0 0 55px !important;
  padding: 0 !important;
  color: #000 !important;
  font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
  font-size: 45px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
}

body.about-page .about-row.about-row-bottom .about-copy-left h2 em,
body.about-page .about-row-bottom .about-copy-left h2 em {
  display: block !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 500 !important;
  font-style: italic !important;
  letter-spacing: 2px !important;
}

body.about-page .about-row.about-row-bottom .about-copy-left p,
body.about-page .about-row-bottom .about-copy-left p {
  box-sizing: border-box !important;
  width: 732px !important;
  max-width: 732px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  color: #000 !important;
  font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
}

body.about-page .about-row.about-row-bottom .about-copy-left p:last-child,
body.about-page .about-row-bottom .about-copy-left p:last-child {
  margin-bottom: 0 !important;
}

body.about-page .about-row.about-row-bottom .about-work-image,
body.about-page .about-row-bottom .about-work-image {
  box-sizing: border-box !important;
  position: relative !important;
  width: 488px !important;
  max-width: 488px !important;
  height: 545px !important;
  margin: 0 !important;
  border-radius: 112px !important;
  overflow: hidden !important;
  align-self: start !important;
}

body.about-page .about-row.about-row-bottom .about-work-image img,
body.about-page .about-row-bottom .about-work-image img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 1359px) and (min-width: 981px) {
  body.about-page .about-row.about-row-bottom,
  body.about-page .about-row-bottom {
    width: min(1180px, calc(100vw - 48px)) !important;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
    column-gap: 84px !important;
  }

  body.about-page .about-row.about-row-bottom .about-copy-left,
  body.about-page .about-row-bottom .about-copy-left,
  body.about-page .about-row.about-row-bottom .about-copy-left h2,
  body.about-page .about-row.about-row-bottom .about-copy-left h2:not(#toc-about-heading-lock),
  body.about-page .about-row-bottom .about-copy-left h2,
  body.about-page .about-row.about-row-bottom .about-copy-left p,
  body.about-page .about-row-bottom .about-copy-left p {
    width: 100% !important;
    max-width: none !important;
  }

  body.about-page .about-row.about-row-bottom .about-work-image,
  body.about-page .about-row-bottom .about-work-image {
    width: 100% !important;
    max-width: 420px !important;
  }

  body.about-page .about-row.about-row-bottom .about-copy-left p,
  body.about-page .about-row-bottom .about-copy-left p {
    font-size: clamp(15px, 1vw, 20px) !important;
  }
}

@media (max-width: 980px) {
  body.about-page .about-row.about-row-bottom,
  body.about-page .about-row-bottom {
    width: min(520px, 100%) !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 54px auto 0 !important;
    grid-template-columns: 1fr !important;
    row-gap: 28px !important;
    column-gap: 0 !important;
  }

  body.about-page .about-row.about-row-bottom .about-copy-left,
  body.about-page .about-row-bottom .about-copy-left {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  body.about-page .about-row.about-row-bottom .about-copy-left h2,
  body.about-page .about-row.about-row-bottom .about-copy-left h2:not(#toc-about-heading-lock),
  body.about-page .about-row-bottom .about-copy-left h2 {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 0 26px !important;
    font-size: clamp(34px, 10vw, 45px) !important;
    line-height: 1 !important;
    letter-spacing: 1px !important;
  }

  body.about-page .about-row.about-row-bottom .about-copy-left h2 em,
  body.about-page .about-row-bottom .about-copy-left h2 em {
    letter-spacing: 1px !important;
  }

  body.about-page .about-row.about-row-bottom .about-copy-left p,
  body.about-page .about-row-bottom .about-copy-left p {
    width: 100% !important;
    max-width: none !important;
    margin-bottom: 18px !important;
    font-size: 14px !important;
    line-height: 1.22 !important;
  }

  body.about-page .about-row.about-row-bottom .about-work-image,
  body.about-page .about-row-bottom .about-work-image {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 488 / 545 !important;
    border-radius: 32px !important;
  }
}

/* Absolute final cascade lock: About hero Figma typography. */
body.about-page .about-hero > .page-hero-copy,
body.about-page .about-hero .page-hero-copy {
  position: absolute !important;
  left: max(80px, calc((100vw - 1921px) / 2 + 152px)) !important;
  top: 99.5px !important;
  width: 566px !important;
  max-width: min(566px, calc(100vw - 160px)) !important;
  height: 156px !important;
  min-height: 156px !important;
  max-height: 156px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  transform: none !important;
}

body.about-page .about-hero .page-hero-copy h1,
body.about-page .page-hero h1 {
  width: 566px !important;
  max-width: 100% !important;
  height: 91px !important;
  min-height: 91px !important;
  max-height: 91px !important;
  margin: 0 0 15px !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
  font-size: 75px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
}

body.about-page .about-hero .page-hero-copy p,
body.about-page .page-hero p {
  width: 566px !important;
  max-width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  max-height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
  font-size: 25px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 1px !important;
  text-align: left !important;
}

/* Final home gallery asset-ratio lock: prevents the black bottom sliver. */
@media (min-width: 981px) {
  body.home .gallery {
    aspect-ratio: 1602 / 620 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    line-height: 0 !important;
  }

  body.home .gallery-media-link {
    background: transparent !important;
    line-height: 0 !important;
  }

  body.home .gallery-exact {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
    border: 0 !important;
    box-shadow: none !important;
    vertical-align: top !important;
  }
}

/* Final Terms & Conditions Figma content lock. */
body.terms-page .policy-content-section {
  padding: 39px 0 84px !important;
  background: #fff !important;
}

body.terms-page .terms-content {
  box-sizing: border-box !important;
  width: min(1197px, calc(100vw - 48px)) !important;
  max-width: 1197px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: #000 !important;
}

body.terms-page .terms-content h2 {
  box-sizing: border-box !important;
  width: calc(100% - 56px) !important;
  height: 40px !important;
  margin: 0 0 39px 28px !important;
  padding: 0 !important;
  color: #000 !important;
  font-family: 'HvDTrial Brandon Grotesque', 'Brandon Grotesque', 'Arial Narrow', 'Aptos Narrow', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 40.3px !important;
  line-height: 40px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.terms-page .terms-content h3 {
  box-sizing: border-box !important;
  position: relative !important;
  width: calc(100% - 99px) !important;
  min-height: 26px !important;
  margin: 0 0 18px 30px !important;
  padding: 0 0 0 39px !important;
  color: #000 !important;
  font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 22px !important;
  line-height: 120% !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.terms-page .terms-content h3:not(:first-of-type) {
  margin-top: 34px !important;
}

body.terms-page .terms-content h3::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 4px !important;
  width: 28px !important;
  height: 18px !important;
  transform: none !important;
  background: url('../rsc/terms-and-conditions/point-arrow.png') center / contain no-repeat !important;
}

body.terms-page .terms-content .terms-legal-list {
  box-sizing: border-box !important;
  display: block !important;
  width: calc(100% - 30px) !important;
  margin: 0 0 31px 30px !important;
  color: #000 !important;
  font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 20px !important;
  line-height: 120% !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
}

body.terms-page .terms-content .terms-legal-list p {
  position: relative !important;
  display: block !important;
  margin: 0 0 24px !important;
  padding-left: 30px !important;
  color: inherit !important;
  font: inherit !important;
}

body.terms-page .terms-content .terms-legal-list p.terms-sub {
  margin-left: 52px !important;
  padding-left: 42px !important;
}

body.terms-page .terms-content .terms-number {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  min-width: 26px !important;
  font-weight: 600 !important;
}

@media (max-width: 760px) {
  body.terms-page .policy-content-section {
    padding: 34px 0 64px !important;
  }

  body.terms-page .terms-content {
    width: min(100% - 32px, 1197px) !important;
  }

  body.terms-page .terms-content h2 {
    width: 100% !important;
    height: auto !important;
    margin-left: 0 !important;
    font-size: 32px !important;
    line-height: 1 !important;
  }

  body.terms-page .terms-content h3,
  body.terms-page .terms-content .terms-legal-list {
    width: 100% !important;
    margin-left: 0 !important;
  }

  body.terms-page .terms-content .terms-legal-list {
    font-size: 16px !important;
  }

  body.terms-page .terms-content .terms-legal-list p.terms-sub {
    margin-left: 20px !important;
    padding-left: 38px !important;
  }
}

/* Final Hired Items Policy content lock: match Terms content typography and spacing. */
body.hired-page .policy-content-section {
  padding: 39px 0 84px !important;
  background: #fff !important;
}

body.hired-page .policy-content {
  box-sizing: border-box !important;
  width: min(1197px, calc(100vw - 48px)) !important;
  max-width: 1197px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: #000 !important;
}

body.hired-page .policy-content h2 {
  box-sizing: border-box !important;
  width: calc(100% - 56px) !important;
  height: 40px !important;
  margin: 0 0 39px 28px !important;
  padding: 0 !important;
  color: #000 !important;
  font-family: 'HvDTrial Brandon Grotesque', 'Brandon Grotesque', 'Arial Narrow', 'Aptos Narrow', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 40.3px !important;
  line-height: 40px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

body.hired-page .policy-content h3 {
  box-sizing: border-box !important;
  position: relative !important;
  width: calc(100% - 99px) !important;
  min-height: 26px !important;
  margin: 0 0 18px 30px !important;
  padding: 0 0 0 39px !important;
  color: #000 !important;
  font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 22px !important;
  line-height: 120% !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

body.hired-page .policy-content h3:not(:first-of-type) {
  margin-top: 34px !important;
}

body.hired-page .policy-content h3::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 4px !important;
  width: 28px !important;
  height: 18px !important;
  transform: none !important;
  background: url('../rsc/terms-and-conditions/point-arrow.png') center / contain no-repeat !important;
}

body.hired-page .policy-content ul {
  box-sizing: border-box !important;
  display: block !important;
  width: calc(100% - 30px) !important;
  margin: 0 0 31px 30px !important;
  padding-left: 28px !important;
  color: #000 !important;
  font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
  font-size: 20px !important;
  line-height: 120% !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
}

body.hired-page .policy-content li {
  margin: 0 0 20px !important;
  color: inherit !important;
  font: inherit !important;
}

body.hired-page .policy-content li::marker {
  font-size: .72em !important;
}

@media (max-width: 760px) {
  body.hired-page .policy-content-section {
    padding: 34px 0 64px !important;
  }

  body.hired-page .policy-content {
    width: min(100% - 32px, 1197px) !important;
  }

  body.hired-page .policy-content h2 {
    width: 100% !important;
    height: auto !important;
    margin-left: 0 !important;
    font-size: 32px !important;
    line-height: 1 !important;
  }

  body.hired-page .policy-content h3,
  body.hired-page .policy-content ul {
    width: 100% !important;
    margin-left: 0 !important;
  }

  body.hired-page .policy-content ul {
    font-size: 16px !important;
  }
}

/* Staging mobile usability pass - 2026-06-18 */
.footer-newsletter input.toc-hp-field {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  min-width: 1px !important;
  max-width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  max-height: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

@media (max-width: 760px) {
  body .site-header .brand {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }

  body .header-cta,
  body .mobile-menu-button {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }

  body.home .start-strip a,
  body.home .gallery-btn,
  body.home .products .section-line a,
  body.home .catalogue-actions a,
  body.home .warehouse-panel a,
  body.home .social-btn,
  body .footer-newsletter input:not(.toc-hp-field),
  body .footer-newsletter button {
    min-height: 44px !important;
    height: 44px !important;
  }

  body.home .service-detail[data-active-slug] {
    width: min(calc(100vw - 32px), 420px) !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: #000 !important;
    border-radius: 13px !important;
    overflow: hidden !important;
  }

  body.home .service-detail-banner {
    width: 100% !important;
    height: clamp(104px, 30vw, 132px) !important;
    min-height: 104px !important;
    display: block !important;
    object-fit: cover !important;
    border-radius: 13px 13px 0 0 !important;
  }

  body.home .service-detail[data-active-slug] .service-detail-copy {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 18px 20px 22px !important;
    color: #fff !important;
    text-align: left !important;
    transform: none !important;
  }

  body.home .service-detail-copy h3,
  body.home .service-detail-copy p,
  body.home .service-detail-copy ul,
  body.home .service-detail-copy li {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    text-align: left !important;
  }

  body.home .service-detail[data-active-slug] .service-detail-copy h3 {
    margin-bottom: 10px !important;
    font-size: 24px !important;
    line-height: 1.05 !important;
  }

  body.home .service-detail-copy p,
  body.home .service-detail-copy li {
    font-size: 14px !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
  }

  body.home .service-detail-copy ul {
    margin-top: 14px !important;
    padding-left: 18px !important;
  }

  body.home .warehouse {
    width: calc(100% - 36px) !important;
    max-width: 420px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 56px auto 34px !important;
    padding: 0 !important;
    grid-template-columns: 1fr !important;
    overflow: hidden !important;
  }

  body.home .warehouse-collage {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
  }

  body.home .warehouse-collage img {
    min-height: 0 !important;
    height: 100% !important;
  }

  body.home .warehouse-panel {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 32px 22px 38px !important;
  }

  body.home .warehouse-panel h2 {
    margin-bottom: 16px !important;
    font-size: 28px !important;
    line-height: 1 !important;
  }

  body.home .warehouse-panel p {
    width: 100% !important;
    max-width: 304px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
  }

  body.home .warehouse-panel address {
    width: 100% !important;
    max-width: 304px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
  }

  body.home .testimonial-dots {
    max-width: 352px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    justify-content: center !important;
    gap: 0 !important;
  }

  body.home .testimonial-dots button {
    position: relative !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    background: transparent !important;
    border: 0 !important;
  }

  body.home .testimonial-dots button::before {
    content: "" !important;
    width: 10px !important;
    height: 10px !important;
    display: block !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .45) !important;
  }

  body.home .testimonial-dots button.is-active::before {
    background: #fff !important;
  }

  body.home .instagram-head {
    min-height: 0 !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  body.home .social-buttons {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.home .social-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  body.home .insta-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  body.home .insta-grid a {
    width: 100% !important;
    flex: none !important;
    aspect-ratio: 1 / 1 !important;
  }

  body.home .insta-grid img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body .footer-social a {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  body .footer-col a {
    min-height: 44px !important;
    margin-bottom: 2px !important;
    display: flex !important;
    align-items: center !important;
  }
}

@media (max-width: 520px) {
  body.home .product-grid {
    height: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 18px !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  body.home .product-grid article {
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.home .product-grid article img {
    aspect-ratio: 1 / 1 !important;
    border-radius: 14px !important;
  }

  body.home .product-grid article h3 {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 12px 0 4px !important;
    font-size: 18px !important;
    line-height: 1.08 !important;
  }

  body.home .product-grid article h3 span {
    white-space: normal !important;
  }

  body.home .product-grid article p {
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
  }

  body.home .catalogue-actions {
    gap: 10px !important;
  }

  body.home .catalogue-actions a {
    width: 100% !important;
  }
}

/* Staging service detail mobile height fix - 2026-06-18 */
@media (max-width: 760px) {
  body.home .service-detail {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 328px !important;
  }
}

/* Staging mobile CTA strip Figma match - 2026-06-22 */
body.home .start-strip a .mobile-cta-text {
  display: none !important;
}

body.home .start-strip a .desktop-cta-text {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (max-width: 520px) {
  body.home .start-strip {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 271px !important;
    min-height: 271px !important;
    padding: 50px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 21px !important;
    overflow: hidden !important;
    color: #000 !important;
    background: linear-gradient(90deg, #82bfd1 0%, #c8edf6 62%, #e1f9ff 100%) !important;
  }

  body.home .start-strip .start-copy {
    box-sizing: border-box !important;
    width: min(394px, calc(100vw - 20px)) !important;
    max-width: min(394px, calc(100vw - 20px)) !important;
    min-height: 90px !important;
    margin: 0 auto !important;
    display: block !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    white-space: normal !important;
  }

  body.home .start-strip .start-copy span {
    display: block !important;
    color: #007bff !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
  }

  body.home .start-strip a {
    box-sizing: border-box !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 60px !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 21.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }

  body.home .start-strip a .desktop-cta-text {
    display: none !important;
  }

  body.home .start-strip a .mobile-cta-text {
    width: 140px !important;
    min-width: 140px !important;
    height: 22px !important;
    min-height: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
  }

  body.home .start-strip a::before,
  body.home .start-strip a::after {
    content: none !important;
    display: none !important;
  }
}

/* Staging mobile CTA question-mark color correction - 2026-06-22 */
@media (max-width: 520px) {
  body.home .start-strip .start-copy .start-blue {
    display: inline !important;
    color: #007bff !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
  }

  body.home .start-strip .start-copy .start-question-mark {
    display: inline !important;
    color: #000 !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
  }
}

/* Staging mobile service cards and gallery structure - 2026-06-22 */
body.home .service-detail-mobile-icon,
body.home .gallery-title-mobile {
  display: none !important;
}

@media (max-width: 520px) {
  body.home .service-detail {
    box-sizing: border-box !important;
    position: relative !important;
    width: min(393px, calc(100vw - 22px)) !important;
    max-width: min(393px, calc(100vw - 22px)) !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 393 / 458 !important;
    margin: 30px auto 74px !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
  }

  body.home .service-detail-banner {
    display: none !important;
  }

  body.home .service-detail-copy {
    box-sizing: border-box !important;
    position: absolute !important;
    top: clamp(24px, 7.6vw, 32px) !important;
    left: clamp(24px, 7.6vw, 30px) !important;
    width: min(342px, calc(100% - 50px)) !important;
    max-width: min(342px, calc(100% - 50px)) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: none !important;
    color: #fff !important;
    text-align: left !important;
    transform: none !important;
    z-index: 2 !important;
  }

  body.home .service-detail-copy.is-active {
    display: block !important;
  }

  body.home .service-detail-copy h3,
  body.home .service-detail-copy p,
  body.home .service-detail-copy ul,
  body.home .service-detail-copy li {
    box-sizing: border-box !important;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    color: #fff !important;
    text-align: left !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  body.home .service-detail-copy h3 {
    margin: 0 0 clamp(22px, 6.4vw, 28px) !important;
    font-family: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: clamp(38px, 11.2vw, 46px) !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  body.home .service-detail[data-active-slug] .service-detail-copy p {
    margin: 0 0 25px !important;
    font-family: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: clamp(16px, 4.6vw, 19px) !important;
    line-height: 1.05 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  body.home .service-detail[data-active-slug] .service-detail-copy ul {
    margin: 0 !important;
    padding-left: 21px !important;
    font-family: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: clamp(15.5px, 4.25vw, 18px) !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    letter-spacing: .2px !important;
  }

  body.home .service-detail[data-active-slug] .service-detail-copy li {
    margin: 0 !important;
    padding-left: 4px !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
  }

  body.home .service-detail[data-active-slug] .service-detail-mobile-icon {
    position: absolute !important;
    right: clamp(12px, 5.5vw, 24px) !important;
    bottom: -34px !important;
    width: clamp(184px, 56vw, 230px) !important;
    max-width: 62% !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: drop-shadow(0 14px 7px rgba(0, 0, 0, .36)) !important;
    pointer-events: none !important;
    user-select: none !important;
    z-index: 1 !important;
  }

  body.home .gallery {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 727px !important;
    min-height: 727px !important;
    margin: 0 auto 52px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #000 !important;
    border-radius: 0 !important;
  }

  body.home .gallery-media-link {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    border-radius: 0 !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  body.home .gallery-exact {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    width: 1880px !important;
    max-width: none !important;
    height: 727px !important;
    min-height: 727px !important;
    display: block !important;
    object-fit: cover !important;
    object-position: 55% center !important;
    border-radius: 0 !important;
    transform: translateX(-50%) !important;
  }

  body.home .gallery::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    background: linear-gradient(180deg, rgba(0, 0, 0, .05) 0%, rgba(0, 0, 0, .18) 36%, rgba(0, 0, 0, .58) 60%, rgba(0, 0, 0, .18) 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }

  body.home .gallery-content {
    box-sizing: border-box !important;
    position: absolute !important;
    left: 50% !important;
    top: 356px !important;
    width: min(380px, calc(100vw - 40px)) !important;
    max-width: min(380px, calc(100vw - 40px)) !important;
    min-height: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    color: #fff !important;
    text-align: center !important;
    transform: translateX(-50%) !important;
    z-index: 2 !important;
  }

  body.home .gallery-title-desktop {
    display: none !important;
  }

  body.home .gallery-title-mobile {
    display: block !important;
  }

  body.home .gallery-content h2 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 48px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: normal !important;
  }

  body.home .gallery-kicker {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 33px !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 29px !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
  }

  body.home .gallery-content p:not(.gallery-kicker) {
    width: min(360px, calc(100vw - 54px)) !important;
    max-width: min(360px, calc(100vw - 54px)) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 27px !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, .92) !important;
    font-family: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  body.home .gallery-btn {
    box-sizing: border-box !important;
    width: min(380px, calc(100vw - 70px)) !important;
    min-width: 0 !important;
    max-width: min(380px, calc(100vw - 70px)) !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 8px !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 22px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }
}

/* Dry-Hire mobile card Figma fit - 2026-06-22 */
@media (max-width: 520px) {
  body.home .service-detail[data-active-slug="dry-hire"] {
    width: min(393px, calc(100vw - 21px)) !important;
    max-width: min(393px, calc(100vw - 21px)) !important;
    aspect-ratio: 393 / 458 !important;
    border-radius: 20px !important;
  }

  body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy {
    top: clamp(74px, 21vw, 86px) !important;
    left: clamp(37px, 10.7vw, 42px) !important;
    width: min(342px, calc(100% - 51px)) !important;
    max-width: min(342px, calc(100% - 51px)) !important;
  }

  body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy h3 {
    width: min(342px, 100%) !important;
    max-width: min(342px, 100%) !important;
    height: 43px !important;
    min-height: 43px !important;
    margin: 0 0 25px !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 42.89px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy p {
    width: min(342px, 100%) !important;
    max-width: min(342px, 100%) !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 0 12px !important;
    font-family: 'Nanum Gothic', 'NanumGothic', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy ul {
    width: min(257px, 100%) !important;
    max-width: min(257px, 100%) !important;
    height: 84px !important;
    min-height: 84px !important;
    margin: 0 !important;
    padding-left: 25px !important;
    font-family: 'Lato', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    white-space: nowrap !important;
  }

  body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy li {
    padding-left: 8px !important;
  }

  body.home .service-detail[data-active-slug="dry-hire"] .service-detail-mobile-icon {
    right: clamp(6px, 7.6vw, 30px) !important;
    bottom: -42px !important;
    width: clamp(218px, 58.15vw, 240.74px) !important;
    height: clamp(178px, 47.69vw, 197.41px) !important;
    max-width: none !important;
    object-fit: fill !important;
    filter: drop-shadow(0 16px 7px rgba(0, 0, 0, .36)) !important;
  }
}

/* Mobile service card clean icon lock - 2026-06-22 */
@media (max-width: 520px) {
  body.home .service-detail[data-active-slug] {
    width: min(393px, calc(100vw - 21px)) !important;
    max-width: min(393px, calc(100vw - 21px)) !important;
    aspect-ratio: 393 / 458 !important;
    min-height: 0 !important;
    border-radius: 20px !important;
    overflow: visible !important;
  }

  body.home .service-detail[data-active-slug] .service-detail-copy {
    box-sizing: border-box !important;
    position: absolute !important;
    top: clamp(74px, 21vw, 86px) !important;
    left: clamp(37px, 10.7vw, 42px) !important;
    width: min(342px, calc(100% - 51px)) !important;
    max-width: min(342px, calc(100% - 51px)) !important;
    padding: 0 !important;
  }

  body.home .service-detail[data-active-slug] .service-detail-copy h3 {
    width: min(342px, 100%) !important;
    max-width: min(342px, 100%) !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 0 18px !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 31px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  body.home .service-detail[data-active-slug] .service-detail-copy p {
    width: min(342px, 100%) !important;
    max-width: min(342px, 100%) !important;
    height: auto !important;
    min-height: 36px !important;
    margin: 0 0 11px !important;
    font-family: 'Nanum Gothic', 'NanumGothic', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.08 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  body.home .service-detail[data-active-slug] .service-detail-copy ul {
    width: min(318px, 100%) !important;
    max-width: min(318px, 100%) !important;
    height: 84px !important;
    min-height: 84px !important;
    margin: 0 !important;
    padding-left: 25px !important;
    font-family: 'Lato', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    white-space: nowrap !important;
  }

  body.home .service-detail[data-active-slug] .service-detail-copy li {
    padding-left: 8px !important;
  }

  body.home .service-detail[data-active-slug] .service-detail-mobile-icon {
    right: clamp(14px, 6.8vw, 28px) !important;
    bottom: -18px !important;
    width: clamp(198px, 52vw, 220px) !important;
    height: clamp(162px, 43vw, 180px) !important;
    max-width: none !important;
    object-fit: contain !important;
    filter: drop-shadow(0 16px 7px rgba(0, 0, 0, .36)) !important;
  }
}

/* Mobile services grid Figma lock - 2026-06-22 */
@media (max-width: 520px) {
  body.home .services h2 {
    box-sizing: border-box !important;
    width: min(331px, calc(100vw - 40px)) !important;
    max-width: min(331px, calc(100vw - 40px)) !important;
    min-height: 40px !important;
    margin: 0 auto 28px !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', Arial, sans-serif !important;
    font-size: 40px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  body.home .service-tabs {
    box-sizing: border-box !important;
    width: min(351px, calc(100vw - 40px)) !important;
    max-width: min(351px, calc(100vw - 40px)) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto 28px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, 158.6px) !important;
    grid-auto-rows: 143.19px !important;
    column-gap: 33.87px !important;
    row-gap: 27px !important;
    justify-content: center !important;
    align-items: start !important;
  }

  body.home .service-tab,
  body.home .service-tab.is-active {
    box-sizing: border-box !important;
    position: relative !important;
    width: 158.6px !important;
    min-width: 0 !important;
    max-width: 158.6px !important;
    height: 143.19px !important;
    min-height: 143.19px !important;
    max-height: 143.19px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible !important;
  }

  body.home .service-art,
  body.home .service-tab.is-active .service-art {
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    width: 96px !important;
    height: 96px !important;
    max-width: 96px !important;
    max-height: 96px !important;
    transform: translateX(-50%) !important;
    overflow: visible !important;
  }

  body.home .service-art img,
  body.home .service-art .state-normal,
  body.home .service-art .state-hover,
  body.home .service-art .state-active,
  body.home .service-tab.is-active .service-art img.state-active {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 96px !important;
    height: 96px !important;
    max-width: 96px !important;
    max-height: 96px !important;
    display: block !important;
    object-fit: contain !important;
    transform: translate(-50%, -50%) !important;
  }

  body.home .service-tab.is-active .service-art {
    width: 116px !important;
    height: 116px !important;
    max-width: 116px !important;
    max-height: 116px !important;
  }

  body.home .service-tab.is-active .service-art img.state-active {
    width: 116px !important;
    height: 116px !important;
    max-width: 116px !important;
    max-height: 116px !important;
  }

  body.home .service-label,
  body.home .service-tab.is-active .service-label {
    box-sizing: border-box !important;
    position: absolute !important;
    left: 0 !important;
    top: 109.99px !important;
    width: 158.6px !important;
    min-width: 0 !important;
    max-width: 158.6px !important;
    height: 33.2px !important;
    min-height: 33.2px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #2f7f99 !important;
    border-radius: 8px !important;
    color: #2f7f99 !important;
    background: #fff !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 13.88px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.home .service-tab.is-active .service-label {
    top: 119.19px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    color: #000 !important;
    background: transparent !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    font-size: 13.88px !important;
    font-weight: 600 !important;
  }

  body.home .service-tab[data-slug="event-styling"] { order: 1 !important; }
  body.home .service-tab[data-slug="decor-furniture"] { order: 2 !important; }
  body.home .service-tab[data-slug="event-management"] { order: 3 !important; }
  body.home .service-tab[data-slug="event-planning"] { order: 4 !important; }
  body.home .service-tab[data-slug="dry-hire"] { order: 5 !important; }
  body.home .service-tab[data-slug="staffing"] { order: 6 !important; }
  body.home .service-tab[data-slug="entertainment"] { order: 7 !important; }
  body.home .service-tab[data-slug="floral-centerpieces"] { order: 8 !important; }
  body.home .service-tab[data-slug="backdrops-arches"] { order: 9 !important; }
  body.home .service-tab[data-slug="catering"] { order: 10 !important; }
}

/* Mobile home gallery image lock - 2026-06-22 */
@media (max-width: 520px) {
  body.home section.gallery {
    box-sizing: border-box !important;
    position: relative !important;
    width: min(414px, 100vw) !important;
    max-width: min(414px, 100vw) !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 414 / 682 !important;
    margin: 0 auto 52px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #000 !important;
    border-radius: 0 !important;
  }

  body.home section.gallery .gallery-media-link {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    overflow: hidden !important;
    background-image: url('../rsc/mobile-gallery-hero.png') !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center top !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  body.home section.gallery .gallery-exact {
    display: none !important;
  }

  body.home section.gallery::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    background: linear-gradient(180deg, rgba(0, 0, 0, .04) 0%, rgba(0, 0, 0, .08) 38%, rgba(0, 0, 0, .26) 55%, rgba(0, 0, 0, .12) 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }

  body.home section.gallery .gallery-content {
    box-sizing: border-box !important;
    position: absolute !important;
    left: 50% !important;
    top: 49.1% !important;
    width: min(322px, calc(100vw - 72px)) !important;
    max-width: min(322px, calc(100vw - 72px)) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    color: #fff !important;
    text-align: center !important;
    transform: translateX(-50%) !important;
    z-index: 2 !important;
  }

  body.home section.gallery .gallery-title-desktop {
    display: none !important;
  }

  body.home section.gallery .gallery-title-mobile {
    display: block !important;
  }

  body.home section.gallery .gallery-content h2 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 13px !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: clamp(39px, 10.4vw, 43px) !important;
    line-height: .98 !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: normal !important;
  }

  body.home section.gallery .gallery-kicker {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 31px !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: clamp(24px, 6.4vw, 26px) !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
  }

  body.home section.gallery .gallery-content p:not(.gallery-kicker) {
    width: min(354px, calc(100vw - 54px)) !important;
    max-width: min(354px, calc(100vw - 54px)) !important;
    min-height: 0 !important;
    margin: 0 0 27px !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, .94) !important;
    font-family: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  body.home section.gallery .gallery-btn {
    box-sizing: border-box !important;
    width: min(353px, calc(100vw - 64px)) !important;
    min-width: 0 !important;
    max-width: min(353px, calc(100vw - 64px)) !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 8px !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 22px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }
}

/* Mobile gallery button Figma lock - 2026-06-23 */
@media (max-width: 520px) {
  body.home section.gallery .gallery-btn {
    width: min(360px, calc(100vw - 54px)) !important;
    max-width: min(360px, calc(100vw - 54px)) !important;
    padding: 0 !important;
    font-size: 18px !important;
    line-height: 21.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0px !important;
  }
}

/* Final mobile product card typography and loop lock - 2026-06-23 */
@media (max-width: 520px) {
  body.home .products {
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 auto !important;
    padding: 74px 0 42px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body.home .products .section-line {
    display: contents !important;
  }

  body.home .products .section-line h2 {
    box-sizing: border-box !important;
    order: 1 !important;
    width: min(331px, calc(100vw - 40px)) !important;
    max-width: min(331px, calc(100vw - 40px)) !important;
    height: 80px !important;
    min-height: 80px !important;
    margin: 0 auto 23px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 40px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  body.home .products .product-grid {
    --toc-product-card-width: 374.12px;
    --toc-product-gap: 15px;
    box-sizing: border-box !important;
    order: 2 !important;
    width: max-content !important;
    max-width: none !important;
    height: 596.71px !important;
    min-height: 596.71px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    gap: var(--toc-product-gap) !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    animation: toc-mobile-product-loop 30s linear infinite !important;
    will-change: transform !important;
  }

  body.home .products .product-grid:hover,
  body.home .products .product-grid:focus-within {
    animation-play-state: paused !important;
  }

  body.home .products .product-card-clone,
  body.home .products .product-description {
    display: block !important;
  }

  body.home .products .product-grid article,
  body.home .products .product-grid article.product-card {
    box-sizing: border-box !important;
    flex: 0 0 var(--toc-product-card-width) !important;
    width: var(--toc-product-card-width) !important;
    min-width: var(--toc-product-card-width) !important;
    max-width: var(--toc-product-card-width) !important;
    height: 596.71px !important;
    min-height: 596.71px !important;
    max-height: 596.71px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    scroll-snap-align: none !important;
  }

  body.home .products .product-grid article img {
    box-sizing: border-box !important;
    width: var(--toc-product-card-width) !important;
    min-width: var(--toc-product-card-width) !important;
    max-width: var(--toc-product-card-width) !important;
    height: 352.87px !important;
    min-height: 352.87px !important;
    max-height: 352.87px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    background: #f8f7f4 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.home .products .product-grid article h3 {
    box-sizing: border-box !important;
    width: var(--toc-product-card-width) !important;
    max-width: var(--toc-product-card-width) !important;
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    margin: 20.04px 0 0 !important;
    padding: 0 0 0 46.76px !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 31px !important;
    line-height: 1.03 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    overflow: visible !important;
  }

  body.home .products .product-grid article h3 span {
    display: block !important;
    width: auto !important;
    max-width: 310px !important;
    white-space: nowrap !important;
  }

  body.home .products .product-grid article .product-price {
    box-sizing: border-box !important;
    width: var(--toc-product-card-width) !important;
    max-width: var(--toc-product-card-width) !important;
    height: 17px !important;
    min-height: 17px !important;
    margin: 21px 0 0 !important;
    padding: 0 0 0 46.76px !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 13.84px !important;
    line-height: 120% !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  body.home .products .product-grid article .product-price-label {
    font-weight: 300 !important;
  }

  body.home .products .product-grid article .product-price strong,
  body.home .products .product-grid article .product-price em {
    color: #000 !important;
    font-weight: 500 !important;
  }

  body.home .products .product-grid article .product-price em {
    font-style: italic !important;
  }

  body.home .products .product-grid article .product-description {
    box-sizing: border-box !important;
    width: 246px !important;
    max-width: 246px !important;
    min-height: 34px !important;
    margin: 21px 0 0 46.76px !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 13.84px !important;
    line-height: 120% !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  body.home .products .section-line a {
    box-sizing: border-box !important;
    order: 3 !important;
    width: min(360px, calc(100vw - 54px)) !important;
    min-width: 0 !important;
    max-width: min(360px, calc(100vw - 54px)) !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 20px auto 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 8px !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 21.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }
}

@media (max-width: 520px) and (prefers-reduced-motion: reduce) {
  body.home .products .product-grid {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    animation: none !important;
    scrollbar-width: none !important;
  }

  body.home .products .product-grid article {
    scroll-snap-align: start !important;
  }
}

/* Final mobile menu panel lock - 2026-06-23 */
@media (max-width: 520px) {
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header {
    z-index: 130 !important;
  }

  body.menu-open .main-nav,
  body.about-page.menu-open .main-nav,
  body.contact-page.menu-open .main-nav,
  body.policy-page.menu-open .main-nav,
  body.previous-events-page.menu-open .main-nav,
  body.quick-form-page.menu-open .main-nav {
    box-sizing: border-box !important;
    position: fixed !important;
    top: 90px !important;
    right: 10px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 140 !important;
    width: min(266px, calc(100vw - 20px)) !important;
    min-width: 0 !important;
    max-width: min(266px, calc(100vw - 20px)) !important;
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 41px repeat(5, 41px) 1fr !important;
    align-items: stretch !important;
    align-content: start !important;
    justify-content: stretch !important;
    gap: 0 !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.menu-open .main-nav::before,
  body.about-page.menu-open .main-nav::before,
  body.contact-page.menu-open .main-nav::before,
  body.policy-page.menu-open .main-nav::before,
  body.previous-events-page.menu-open .main-nav::before,
  body.quick-form-page.menu-open .main-nav::before {
    content: '\00d7' !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    padding: 0 0 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    color: #fff !important;
    background: transparent !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    line-height: 29px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
  }

  body.menu-open .main-nav a,
  body.about-page.menu-open .main-nav a,
  body.contact-page.menu-open .main-nav a,
  body.policy-page.menu-open .main-nav a,
  body.previous-events-page.menu-open .main-nav a,
  body.quick-form-page.menu-open .main-nav a {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    max-height: 41px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 16px !important;
    line-height: 20.4px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }

  body.menu-open .main-nav a::before,
  body.menu-open .main-nav a::after,
  body.about-page.menu-open .main-nav a::before,
  body.about-page.menu-open .main-nav a::after,
  body.contact-page.menu-open .main-nav a::before,
  body.contact-page.menu-open .main-nav a::after,
  body.policy-page.menu-open .main-nav a::before,
  body.policy-page.menu-open .main-nav a::after,
  body.previous-events-page.menu-open .main-nav a::before,
  body.previous-events-page.menu-open .main-nav a::after,
  body.quick-form-page.menu-open .main-nav a::before,
  body.quick-form-page.menu-open .main-nav a::after {
    content: none !important;
    display: none !important;
  }

  body.menu-open .main-nav a:nth-child(1) { order: 1 !important; }
  body.menu-open .main-nav a:nth-child(3) { order: 2 !important; }
  body.menu-open .main-nav a:nth-child(4) { order: 3 !important; }
  body.menu-open .main-nav a:nth-child(5) { order: 4 !important; }
  body.menu-open .main-nav a:nth-child(2) { order: 5 !important; }

  body.home.menu-open .main-nav a:nth-child(1),
  body.menu-open .main-nav a[aria-current='page'],
  body.about-page.menu-open .main-nav a[aria-current='page'],
  body.contact-page.menu-open .main-nav a[aria-current='page'],
  body.policy-page.menu-open .main-nav a[aria-current='page'],
  body.previous-events-page.menu-open .main-nav a[aria-current='page'],
  body.quick-form-page.menu-open .main-nav a[aria-current='page'] {
    color: #000 !important;
    background: #fff !important;
  }

  body.menu-open::after {
    inset: 90px 0 0 !important;
    z-index: 100 !important;
    background: rgba(0, 0, 0, .42) !important;
  }
}
/* Final mobile menu hover state lock - 2026-06-23 */
@media (max-width: 520px) {
  body.menu-open .main-nav a:hover,
  body.menu-open .main-nav a:focus-visible,
  body.menu-open .main-nav a:active,
  body.about-page.menu-open .main-nav a:hover,
  body.about-page.menu-open .main-nav a:focus-visible,
  body.about-page.menu-open .main-nav a:active,
  body.contact-page.menu-open .main-nav a:hover,
  body.contact-page.menu-open .main-nav a:focus-visible,
  body.contact-page.menu-open .main-nav a:active,
  body.policy-page.menu-open .main-nav a:hover,
  body.policy-page.menu-open .main-nav a:focus-visible,
  body.policy-page.menu-open .main-nav a:active,
  body.previous-events-page.menu-open .main-nav a:hover,
  body.previous-events-page.menu-open .main-nav a:focus-visible,
  body.previous-events-page.menu-open .main-nav a:active,
  body.quick-form-page.menu-open .main-nav a:hover,
  body.quick-form-page.menu-open .main-nav a:focus-visible,
  body.quick-form-page.menu-open .main-nav a:active {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    max-height: 41px !important;
    padding: 0 10px !important;
    color: #000 !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }
}
/* Final compact mobile menu height lock - 2026-06-23 */
@media (max-width: 520px) {
  body.menu-open .main-nav,
  body.about-page.menu-open .main-nav,
  body.contact-page.menu-open .main-nav,
  body.policy-page.menu-open .main-nav,
  body.terms-page.menu-open .main-nav,
  body.previous-events-page.menu-open .main-nav,
  body.quick-form-page.menu-open .main-nav,
  body.hired-page.menu-open .main-nav {
    height: 246px !important;
    min-height: 246px !important;
    max-height: 246px !important;
    grid-template-rows: 41px repeat(5, 41px) !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.menu-open .main-nav::before,
  body.about-page.menu-open .main-nav::before,
  body.contact-page.menu-open .main-nav::before,
  body.policy-page.menu-open .main-nav::before,
  body.terms-page.menu-open .main-nav::before,
  body.previous-events-page.menu-open .main-nav::before,
  body.quick-form-page.menu-open .main-nav::before,
  body.hired-page.menu-open .main-nav::before,
  body.menu-open .main-nav a,
  body.about-page.menu-open .main-nav a,
  body.contact-page.menu-open .main-nav a,
  body.policy-page.menu-open .main-nav a,
  body.terms-page.menu-open .main-nav a,
  body.previous-events-page.menu-open .main-nav a,
  body.quick-form-page.menu-open .main-nav a,
  body.hired-page.menu-open .main-nav a {
    height: 41px !important;
    min-height: 41px !important;
    max-height: 41px !important;
  }
}
/* Final mobile menu position lock - 2026-06-23 */
@media (max-width: 520px) {
  body.menu-open .main-nav,
  body.about-page.menu-open .main-nav,
  body.contact-page.menu-open .main-nav,
  body.policy-page.menu-open .main-nav,
  body.terms-page.menu-open .main-nav,
  body.previous-events-page.menu-open .main-nav,
  body.quick-form-page.menu-open .main-nav,
  body.hired-page.menu-open .main-nav {
    top: 90px !important;
    height: 246px !important;
    min-height: 246px !important;
    max-height: 246px !important;
    grid-template-rows: 41px repeat(5, 41px) !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.admin-bar.menu-open .main-nav,
  body.admin-bar.about-page.menu-open .main-nav,
  body.admin-bar.contact-page.menu-open .main-nav,
  body.admin-bar.policy-page.menu-open .main-nav,
  body.admin-bar.terms-page.menu-open .main-nav,
  body.admin-bar.previous-events-page.menu-open .main-nav,
  body.admin-bar.quick-form-page.menu-open .main-nav,
  body.admin-bar.hired-page.menu-open .main-nav {
    top: 136px !important;
  }
}
/* Canonical mobile menu lock - 2026-06-23 */
@media (max-width: 520px) {
  body.menu-open .site-header,
  body.admin-bar.menu-open .site-header {
    position: relative !important;
    z-index: 140 !important;
    overflow: visible !important;
  }

  body.menu-open .site-header .main-nav,
  body.admin-bar.menu-open .site-header .main-nav {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 100% !important;
    right: 10px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 150 !important;
    width: min(266px, calc(100vw - 20px)) !important;
    min-width: 0 !important;
    max-width: min(266px, calc(100vw - 20px)) !important;
    height: 246px !important;
    min-height: 246px !important;
    max-height: 246px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 41px repeat(5, 41px) !important;
    align-items: stretch !important;
    align-content: start !important;
    justify-content: stretch !important;
    gap: 0 !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transform: none !important;
  }

  body.menu-open .site-header .main-nav::before,
  body.admin-bar.menu-open .site-header .main-nav::before {
    content: '\00d7' !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    max-height: 41px !important;
    padding: 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    color: #fff !important;
    background: transparent !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 32px !important;
    line-height: 29px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
  }

  body.menu-open .site-header .main-nav a,
  body.admin-bar.menu-open .site-header .main-nav a {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 41px !important;
    min-height: 41px !important;
    max-height: 41px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 16px !important;
    line-height: 20.4px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    transform: none !important;
  }

  body.menu-open .site-header .main-nav a::before,
  body.menu-open .site-header .main-nav a::after,
  body.admin-bar.menu-open .site-header .main-nav a::before,
  body.admin-bar.menu-open .site-header .main-nav a::after {
    content: none !important;
    display: none !important;
  }

  body.menu-open .site-header .main-nav a:nth-child(1) { order: 1 !important; }
  body.menu-open .site-header .main-nav a:nth-child(3) { order: 2 !important; }
  body.menu-open .site-header .main-nav a:nth-child(4) { order: 3 !important; }
  body.menu-open .site-header .main-nav a:nth-child(5) { order: 4 !important; }
  body.menu-open .site-header .main-nav a:nth-child(2) { order: 5 !important; }

  body.home.menu-open .site-header .main-nav a:nth-child(1),
  body.menu-open .site-header .main-nav a[aria-current='page'],
  body.menu-open .site-header .main-nav a:hover,
  body.menu-open .site-header .main-nav a:focus-visible,
  body.menu-open .site-header .main-nav a:active,
  body.admin-bar.menu-open .site-header .main-nav a[aria-current='page'],
  body.admin-bar.menu-open .site-header .main-nav a:hover,
  body.admin-bar.menu-open .site-header .main-nav a:focus-visible,
  body.admin-bar.menu-open .site-header .main-nav a:active {
    color: #000 !important;
    background: #fff !important;
  }
}
/* Final mobile catalogue heading lock - 2026-06-23 */
@media (max-width: 520px) {
  body.home .catalogue-band {
    width: min(417px, 100vw) !important;
    max-width: 417px !important;
    min-height: 916px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.home .catalogue-live-copy {
    box-sizing: border-box !important;
    width: min(360px, calc(100vw - 30px)) !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    padding: 471px 0 0 !important;
    text-align: center !important;
  }

  body.home .catalogue-live-copy p,
  body.home .catalogue-live-copy h2 {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 54px !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  body.home .catalogue-live-copy p {
    font-weight: 600 !important;
    font-style: normal !important;
  }

  body.home .catalogue-live-copy h2 {
    display: block !important;
    font-weight: 600 !important;
    font-style: normal !important;
  }

  body.home .catalogue-live-copy .catalogue-mood-word,
  body.home .catalogue-live-copy .catalogue-question {
    display: inline !important;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-align: inherit !important;
  }

  body.home .catalogue-live-copy .catalogue-mood-word {
    font-weight: 500 !important;
    font-style: italic !important;
  }

  body.home .catalogue-live-copy .catalogue-question {
    font-weight: 600 !important;
    font-style: normal !important;
  }

  body.home .catalogue-live-copy .catalogue-description {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 360px !important;
    min-height: 0 !important;
    margin: 30px auto 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body.home .catalogue-actions {
    width: 100% !important;
    max-width: 360px !important;
    margin: 40px auto 0 !important;
  }
}

/* Final mobile catalogue text measurement lock - 2026-06-23 */
@media (max-width: 520px) {
  body.home .catalogue-live-copy p,
  body.home .catalogue-live-copy h2,
  body.home .catalogue-live-copy h2 .catalogue-mood-word,
  body.home .catalogue-live-copy h2 .catalogue-question {
    font-size: 45px !important;
    line-height: 54px !important;
    letter-spacing: 2px !important;
  }

  body.home .catalogue-live-copy h2 .catalogue-mood-word {
    font-weight: 500 !important;
    font-style: italic !important;
  }

  body.home .catalogue-live-copy h2 .catalogue-question {
    font-weight: 600 !important;
    font-style: normal !important;
  }

  body.home .catalogue-live-copy .catalogue-description {
    width: 344px !important;
    max-width: calc(100vw - 70px) !important;
    min-height: 93px !important;
    margin-top: 30px !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 23.1px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
  }
}

/* Final mobile catalogue button measurement lock - 2026-06-23 */
@media (max-width: 520px) {
  body.home .catalogue-actions {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 60px 60px !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 10px !important;
    width: min(360px, calc(100vw - 54px)) !important;
    max-width: 360px !important;
    height: 130px !important;
    min-height: 130px !important;
    max-height: 130px !important;
    margin: 40px auto 0 !important;
    padding: 0 !important;
  }

  body.home .catalogue-actions a,
  body.home .catalogue-actions a:nth-child(2) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 21.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  body.home .catalogue-actions a:first-child {
    color: #000 !important;
    background: #fff !important;
  }

  body.home .catalogue-actions a:nth-child(2) {
    color: #fff !important;
    background: #000 !important;
  }

  body.home .catalogue-actions .catalogue-icon {
    display: inline-block !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    margin: 0 !important;
    object-fit: contain !important;
    vertical-align: middle !important;
  }
}

/* Final mobile warehouse measurement lock - 2026-06-23 */
body.home .warehouse-collage picture {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: block !important;
  overflow: hidden !important;
}

body.home .warehouse-collage picture img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: block !important;
  object-fit: cover !important;
}

@media (max-width: 520px) {
  body.home .warehouse {
    box-sizing: border-box !important;
    width: min(416px, 100vw) !important;
    max-width: 416px !important;
    height: 1018px !important;
    min-height: 1018px !important;
    max-height: 1018px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 546px 472px !important;
    gap: 0 !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.home .warehouse-collage {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 546px !important;
    min-height: 546px !important;
    max-height: 546px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 273px 273px !important;
    gap: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  body.home .warehouse-collage picture {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: block !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  body.home .warehouse-collage img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: block !important;
    object-fit: cover !important;
    border-radius: 0 !important;
  }

  body.home .warehouse-collage img:nth-child(1) {
    border-top-left-radius: 0 !important;
  }

  body.home .warehouse-collage img:nth-child(2) {
    border-top-right-radius: 0 !important;
  }

  body.home .warehouse-panel {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 472px !important;
    min-height: 472px !important;
    max-height: 472px !important;
    margin: 0 !important;
    padding: 30px 10px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    background: #fff !important;
    color: #000 !important;
    overflow: hidden !important;
  }

  body.home .warehouse-panel .location-icon {
    box-sizing: border-box !important;
    width: 98.47px !important;
    height: 97.41px !important;
    min-width: 98.47px !important;
    min-height: 97.41px !important;
    margin: 0 auto 30px !important;
    padding: 0 !important;
    color: #000 !important;
  }

  body.home .warehouse-panel .location-icon img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: contain !important;
  }

  body.home .warehouse-panel h2 {
    box-sizing: border-box !important;
    width: min(366px, 100%) !important;
    max-width: 366px !important;
    height: 83px !important;
    min-height: 83px !important;
    max-height: 83px !important;
    margin: 0 auto 35px !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 45px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    overflow: visible !important;
  }

  body.home .warehouse .warehouse-panel h2:not(#toc-h2-size-lock) {
    font-size: 45px !important;
    line-height: 45px !important;
    letter-spacing: 2px !important;
  }

  body.home .warehouse-panel h2 em {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: inherit !important;
  }

  body.home .warehouse-panel p {
    display: none !important;
  }

  body.home .warehouse-panel address {
    box-sizing: border-box !important;
    width: min(322px, 100%) !important;
    max-width: 322px !important;
    min-height: 70px !important;
    margin: 0 auto 15px !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 23.1px !important;
    font-weight: 300 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  body.home .warehouse-panel a {
    box-sizing: border-box !important;
    width: min(360px, 100%) !important;
    max-width: 360px !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 18px !important;
    line-height: 21.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }
}

/* Final mobile catalogue-to-warehouse join lock - 2026-06-23 */
@media (max-width: 520px) {
  body.home .catalogue-band {
    margin-bottom: 0 !important;
    border-radius: 0 !important;
  }

  body.home .catalogue-band + .warehouse {
    margin-top: 0 !important;
  }
}

/* Final mobile testimonial carousel lock - 2026-06-23 */
@media (max-width: 520px) {
  body.home .testimonials {
    width: 100% !important;
    min-height: 652px !important;
    padding: 50px 0 42px !important;
    overflow: hidden !important;
  }

  body.home .testimonials h2 {
    width: min(373px, calc(100vw - 40px)) !important;
    margin: 0 auto 32px !important;
    font-size: 45px !important;
    line-height: 1 !important;
    letter-spacing: 2px !important;
    text-align: left !important;
  }

  body.home .testimonial-slider {
    --toc-testimonial-mobile-card: 294px;
    --toc-testimonial-gap: 22px;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow: visible !important;
    touch-action: pan-y !important;
  }

  body.home .testimonial-viewport {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow: hidden !important;
  }

  body.home .testimonial-grid {
    width: max-content !important;
    max-width: none !important;
    gap: var(--toc-testimonial-gap) !important;
    padding-left: calc((100vw - var(--toc-testimonial-mobile-card)) / 2) !important;
    padding-right: calc((100vw - var(--toc-testimonial-mobile-card)) / 2) !important;
    transition: transform .35s ease !important;
  }

  body.home .testimonial-grid article:not([hidden]) {
    flex: 0 0 var(--toc-testimonial-mobile-card) !important;
    width: var(--toc-testimonial-mobile-card) !important;
    max-width: var(--toc-testimonial-mobile-card) !important;
    height: 334px !important;
    min-height: 334px !important;
    padding: 24px 16px 22px !important;
    border-radius: 20px !important;
  }

  body.home .testimonial-grid h3 {
    margin-bottom: 16px !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 26.59px !important;
    line-height: normal !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  body.home .testimonial-grid p {
    margin-bottom: 22px !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: normal !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  body.home .testimonial-grid span {
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 14.56px !important;
    line-height: normal !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  body.home .testimonial-dots {
    width: 95.31px !important;
    max-width: 95.31px !important;
    height: 19.06px !important;
    min-height: 19.06px !important;
    margin-top: 13.75px !important;
    padding: 0 !important;
    gap: 6px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.home .testimonial-dots button:last-child {
    display: grid !important;
  }

  body.home .testimonial-dots button {
    width: 19.06px !important;
    min-width: 19.06px !important;
    height: 19.06px !important;
    min-height: 19.06px !important;
  }

  body.home .testimonial-dots button::before {
    width: 10px !important;
    height: 10px !important;
    background: #517062 !important;
  }

  body.home .testimonial-dots button.is-active::before {
    background: #fff !important;
  }
}

/* Final testimonial desktop arrow restore and loop controls - 2026-06-23 */
@media (min-width: 521px) {
  body.home .testimonial-prev,
  body.home .testimonial-next {
    position: absolute !important;
    top: 50% !important;
    z-index: 5 !important;
    width: 52px !important;
    height: 64px !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    background: transparent !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transform: translateY(-50%) !important;
  }

  body.home .testimonial-prev {
    left: 0 !important;
  }

  body.home .testimonial-next {
    right: 0 !important;
  }

  body.home .testimonial-prev img,
  body.home .testimonial-next img {
    width: 34px !important;
    height: 43px !important;
    display: block !important;
    object-fit: contain !important;
  }

  body.home .testimonial-prev img {
    transform: rotate(180deg) !important;
  }
}

/* Final mobile logo strip full-width slider lock - 2026-06-23 */
@media (max-width: 520px) {
  body.home .logos {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-top: 34px !important;
    padding-bottom: 34px !important;
    overflow: hidden !important;
  }

  body.home .logo-slider {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body.home .logo-track {
    --logo-item-width: 305px !important;
    width: max-content !important;
    max-width: none !important;
    height: 143px !important;
    padding: 0 !important;
    gap: 40px !important;
    align-items: center !important;
    animation: logoSlide 42s linear infinite !important;
  }

  body.home .logo-item {
    flex: 0 0 305px !important;
    width: 305px !important;
    max-width: 305px !important;
    height: 135px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.home .logo-item img {
    width: 305px !important;
    max-width: 305px !important;
    height: 135px !important;
    object-fit: contain !important;
  }
}

/* Final mobile social section measurement lock - 2026-06-23 */
@media (max-width: 520px) {
  body.home .instagram {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 86px 0 0 !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  body.home .instagram-head {
    box-sizing: border-box !important;
    width: 360px !important;
    max-width: calc(100vw - 54px) !important;
    min-height: 223px !important;
    height: 223px !important;
    margin: 0 auto !important;
    padding: 0 0 1px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 32px !important;
    background: #fff !important;
  }

  body.home .instagram-head p {
    width: 360px !important;
    max-width: 100% !important;
    min-height: 60px !important;
    height: 60px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000 !important;
    font-family: Lato, 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 26.83px !important;
    line-height: 30px !important;
    font-weight: 400 !important;
    letter-spacing: .01em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  body.home .instagram-head p strong,
  body.home .instagram-head p span {
    display: block !important;
    font-size: 26.83px !important;
    line-height: 30px !important;
    letter-spacing: .01em !important;
  }

  body.home .instagram-head p strong {
    font-weight: 600 !important;
  }

  body.home .instagram-head p span {
    font-weight: 400 !important;
  }

  body.home .instagram .social-buttons {
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column-reverse !important;
    gap: 10px !important;
    background: transparent !important;
  }

  body.home .instagram .social-btn {
    box-sizing: border-box !important;
    width: 360px !important;
    max-width: 100% !important;
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 16px !important;
    border-radius: 7px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-family: NanumGothic, 'Nanum Gothic', Lato, 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 21.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  body.home .instagram .social-btn span {
    display: block !important;
    height: 22px !important;
    font-size: 18px !important;
    line-height: 21.5px !important;
    font-weight: 600 !important;
  }

  body.home .instagram .social-instagram {
    background: #000 !important;
  }

  body.home .instagram .social-facebook {
    background: #7eb7ce !important;
  }

  body.home .insta-grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: hidden !important;
  }

  body.home .insta-grid a {
    width: 100% !important;
    height: 221px !important;
    aspect-ratio: auto !important;
    display: block !important;
    overflow: hidden !important;
  }

  body.home .insta-grid a:nth-child(1) {
    order: 1 !important;
  }

  body.home .insta-grid a:nth-child(2) {
    display: none !important;
  }

  body.home .insta-grid a:nth-child(3) {
    order: 2 !important;
  }

  body.home .insta-grid a:nth-child(4) {
    order: 3 !important;
  }

  body.home .insta-grid a:nth-child(5) {
    order: 4 !important;
    display: block !important;
  }

  body.home .insta-grid img {
    width: 100% !important;
    height: 221px !important;
    display: block !important;
    object-fit: cover !important;
    filter: none !important;
  }
}

.footer-social-copy,
.footer-social-break {
  display: none;
}

/* Final mobile footer measurement lock - 2026-06-23 */
@media (max-width: 520px) {
  body .site-footer {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 33px 20px 24px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 39px !important;
    row-gap: 0 !important;
    justify-content: normal !important;
    align-items: start !important;
    color: #fff !important;
    background: #000 !important;
    overflow: hidden !important;
  }

  body .footer-logo-block {
    grid-column: 1 / -1 !important;
    order: 1 !important;
    display: block !important;
    margin: 0 0 39px !important;
    padding: 0 !important;
  }

  body .footer-logo-block > img {
    width: 194px !important;
    max-width: 194px !important;
    height: auto !important;
    margin: 0 !important;
    display: block !important;
  }

  body .site-footer > .footer-col {
    order: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .footer-col h3 {
    margin: 0 0 18px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 26px !important;
    line-height: 31px !important;
    font-weight: 400 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
  }

  body .footer-col a {
    min-height: 0 !important;
    margin: 0 0 17px !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
  }

  body .footer-col a:last-child {
    margin-bottom: 0 !important;
  }

  body .footer-newsletter {
    grid-column: 1 / -1 !important;
    order: 3 !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 34px 0 0 !important;
    padding: 0 !important;
  }

  body .footer-newsletter h3 {
    margin: 0 0 7px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 24px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  body .footer-newsletter > p:first-of-type {
    max-width: none !important;
    margin: 0 0 27px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
  }

  body .footer-newsletter p strong {
    font-weight: 600 !important;
  }

  body .footer-newsletter form {
    width: 100% !important;
    display: grid !important;
    gap: 12px !important;
    margin: 0 0 29px !important;
  }

  body .footer-newsletter input:not(.toc-hp-field),
  body .footer-newsletter button {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 43px !important;
    height: 43px !important;
    padding: 0 25px !important;
    border: 0 !important;
    border-radius: 7px !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 18px !important;
    letter-spacing: 0 !important;
  }

  body .footer-newsletter input:not(.toc-hp-field) {
    color: #111 !important;
    background: #fff !important;
    font-weight: 600 !important;
  }

  body .footer-newsletter button {
    color: #fff !important;
    background: linear-gradient(180deg, #f6cf64 0%, #d4a33c 100%) !important;
    font-weight: 600 !important;
    text-align: left !important;
  }

  body .footer-newsletter .footer-small {
    max-width: 330px !important;
    margin: 0 0 75px !important;
    color: #fff !important;
    font-family: Inter, 'Instrument Sans', Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 17px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  body .footer-small a {
    color: #fff !important;
    text-decoration: underline !important;
  }

  body .footer-social {
    grid-column: 1 / -1 !important;
    order: 4 !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 24px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 9px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 18px !important;
    letter-spacing: 0 !important;
  }

  body .footer-logo-block .footer-social {
    flex-wrap: wrap !important;
    gap: 9px !important;
  }

  body .footer-social strong {
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 600 !important;
  }

  body .footer-logo-block .footer-social strong {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  body .footer-social-copy {
    flex: 0 1 auto !important;
    display: inline !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
  }

  body .footer-social-break {
    flex: 0 0 100% !important;
    width: 100% !important;
    height: 0 !important;
    display: block !important;
  }

  body .footer-social a {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 17px 4px 0 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
  }

  body .footer-logo-block .footer-social a {
    margin: 17px 4px 0 0 !important;
  }

  body .footer-social svg {
    width: 18px !important;
    height: 18px !important;
  }
}

/* Desktop catalogue recovery - 2026-06-24 */
@media (min-width: 981px) {
  body.home .catalogue-band {
    box-sizing: border-box !important;
    width: min(calc(100vw - 108px), 1550px) !important;
    max-width: 1550px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1600 / 435 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
  }

  body.home .catalogue-live-copy {
    box-sizing: border-box !important;
    position: absolute !important;
    z-index: 2 !important;
    top: 50% !important;
    left: clamp(44px, 7.6vw, 82px) !important;
    width: min(34%, 365px) !important;
    max-width: 365px !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    color: #fff !important;
    text-align: center !important;
    transform: translateY(-50%) !important;
  }

  body.home .catalogue-live-copy p,
  body.home .catalogue-live-copy h2 {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: var(--sans) !important;
    font-size: clamp(28px, 2.35vw, 39px) !important;
    line-height: 1.05 !important;
    letter-spacing: .9px !important;
    text-align: center !important;
  }

  body.home .catalogue-live-copy p {
    font-weight: 600 !important;
  }

  body.home .catalogue-live-copy h2 {
    display: block !important;
    margin-top: 1px !important;
    font-weight: 500 !important;
    font-style: italic !important;
  }

  body.home .catalogue-live-copy h2 .catalogue-mood-word,
  body.home .catalogue-live-copy h2 .catalogue-question {
    display: inline !important;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    font-style: inherit !important;
    letter-spacing: inherit !important;
    text-align: inherit !important;
  }

  body.home .catalogue-live-copy .catalogue-description {
    display: block !important;
    width: auto !important;
    max-width: 340px !important;
    min-height: 0 !important;
    margin: clamp(22px, 2.25vw, 34px) auto 0 !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, .92) !important;
    font-family: var(--body) !important;
    font-size: clamp(10px, .78vw, 12px) !important;
    line-height: 1.48 !important;
    font-weight: 400 !important;
    letter-spacing: .15px !important;
    text-align: center !important;
  }

  body.home .catalogue-actions {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: clamp(20px, 2.3vw, 32px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  body.home .catalogue-actions a,
  body.home .catalogue-actions a:nth-child(2) {
    min-height: 40px !important;
    height: auto !important;
    padding: 0 22px !important;
    border-radius: 6px !important;
    font-family: var(--sans) !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: .15px !important;
    text-transform: uppercase !important;
  }

  body.home .catalogue-actions a {
    min-width: 139px !important;
  }

  body.home .catalogue-actions a:nth-child(2) {
    min-width: 163px !important;
  }
}

/* Mobile testimonial 414px recovery - 2026-06-24 */
@media (max-width: 520px) {
  html body.home section.testimonials#testimonials {
    height: 652px !important;
    min-height: 652px !important;
    padding: 80px 0 0 !important;
    background: #0b3f2a url('../rsc/testimonials-mobile-bg.webp') center / cover no-repeat !important;
  }

  html body.home section.testimonials#testimonials > h2,
  html body.home .testimonials#testimonials > h2 {
    box-sizing: border-box !important;
    width: min(373px, calc(100% - 40px)) !important;
    height: 83px !important;
    min-height: 83px !important;
    margin: 0 auto 62px !important;
    font-size: 45px !important;
    line-height: 41.5px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
  }

  body.home .testimonial-slider {
    width: 100% !important;
    max-width: 414px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.home .testimonial-viewport {
    width: 100% !important;
    max-width: 414px !important;
    overflow: hidden !important;
  }

  body.home .testimonial-grid {
    padding-left: calc((100% - var(--toc-testimonial-mobile-card)) / 2) !important;
    padding-right: calc((100% - var(--toc-testimonial-mobile-card)) / 2) !important;
  }

  body.home .testimonial-grid article:not([hidden]) {
    height: 370px !important;
    min-height: 370px !important;
    padding: 28px 16px 24px !important;
  }

  body.home .testimonial-dots {
    margin-top: 32px !important;
  }
}

/* Active global mobile footer Figma lock - 414px frame */
@media (max-width: 520px) {
  html body .site-footer#footer-contact,
  html body .site-footer {
    box-sizing: border-box !important;
    position: relative !important;
    width: min(374.68px, 100%) !important;
    max-width: 374.68px !important;
    height: 878.09px !important;
    min-height: 878.09px !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 33px 0 24px !important;
    display: grid !important;
    grid-template-columns: minmax(0, calc((100% - 27.32px) / 2)) minmax(0, calc((100% - 27.32px) / 2)) !important;
    column-gap: 27.32px !important;
    row-gap: 0 !important;
    justify-content: start !important;
    align-items: start !important;
    color: #fff !important;
    background: #000 !important;
    box-shadow: none !important;
    isolation: isolate !important;
    overflow: visible !important;
  }

  html body .site-footer::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 50% !important;
    width: 100vw !important;
    margin-left: -50vw !important;
    background: #000 !important;
    z-index: -1 !important;
    pointer-events: none !important;
  }

  html body .site-footer > * {
    position: relative !important;
    z-index: 1 !important;
  }

  html body .site-footer > .footer-logo-block {
    grid-column: 1 / -1 !important;
    order: 1 !important;
    position: static !important;
    z-index: auto !important;
    width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
    min-height: 120.94px !important;
    margin: 0 0 39px !important;
    padding: 0 !important;
    display: block !important;
  }

  html body .site-footer .footer-logo-block > img {
    position: relative !important;
    z-index: 1 !important;
    width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
    min-height: 120.94px !important;
    display: block !important;
    object-fit: contain !important;
    object-position: left top !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .site-footer > .footer-col {
    order: 2 !important;
    width: 173.68px !important;
    max-width: 173.68px !important;
    min-width: 0 !important;
    min-height: 215.19px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .site-footer .footer-col h3 {
    margin: 0 0 18px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 26px !important;
    line-height: 31px !important;
    font-weight: 400 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-col a {
    min-height: 0 !important;
    margin: 0 0 17px !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
  }

  html body .site-footer .footer-col a:last-child {
    margin-bottom: 0 !important;
  }

  html body .site-footer > .footer-newsletter {
    grid-column: 1 / -1 !important;
    order: 3 !important;
    width: 100% !important;
    max-width: 374.68px !important;
    min-width: 0 !important;
    margin: 39px 0 0 !important;
    padding: 0 !important;
  }

  html body .site-footer .footer-newsletter h3 {
    margin: 0 0 7px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 24px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter > p:first-of-type {
    max-width: none !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter p strong {
    font-weight: 600 !important;
  }

  html body .site-footer .footer-newsletter form {
    width: 100% !important;
    display: grid !important;
    gap: 12px !important;
    margin: 0 0 5px !important;
  }

  html body .site-footer .footer-newsletter input[type="email"],
  html body .site-footer .footer-newsletter button {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 43px !important;
    min-height: 43px !important;
    padding: 0 25px !important;
    border: 0 !important;
    border-radius: 7px !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 18px !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter input[type="email"] {
    color: #111 !important;
    background: #fff !important;
    font-weight: 600 !important;
  }

  html body .site-footer .footer-newsletter button {
    color: #fff !important;
    background: linear-gradient(180deg, #f6cf64 0%, #d4a33c 100%) !important;
    font-weight: 600 !important;
    text-align: left !important;
  }

  html body .site-footer .footer-newsletter .footer-small {
    width: 100% !important;
    max-width: 374.68px !important;
    min-height: 69px !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Inter, Arial, sans-serif !important;
    font-size: 15.29px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-small a {
    color: #fff !important;
    text-decoration: underline !important;
  }

  html body .site-footer .footer-social {
    grid-column: 1 / -1 !important;
    order: 4 !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    top: 788px !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 374.68px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 9px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 18px !important;
    letter-spacing: 0 !important;
    min-height: 90.56px !important;
  }

  html body .site-footer .footer-social strong {
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 600 !important;
  }

  html body .site-footer .footer-social-copy {
    flex: 0 1 auto !important;
    display: inline !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
  }

  html body .site-footer .footer-social-break {
    flex: 0 0 100% !important;
    width: 100% !important;
    height: 0 !important;
    display: block !important;
  }

  html body .site-footer .footer-social a {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 17px 4px 0 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
  }

  html body .site-footer .footer-social svg {
    width: 18px !important;
    height: 18px !important;
  }
}

/* Desktop homepage teaser, hover, and green-background polish - 2026-06-25 */
:root {
  --toc-hover-yellow: #F4C65E;
}

body .header-cta:hover,
body .header-cta:focus-visible,
body .header-cta:active,
body.about-page .header-cta:hover,
body.about-page .header-cta:focus-visible,
body.about-page .header-cta:active,
body.contact-page .header-cta:hover,
body.contact-page .header-cta:focus-visible,
body.contact-page .header-cta:active,
body.policy-page .header-cta:hover,
body.policy-page .header-cta:focus-visible,
body.policy-page .header-cta:active {
  color: #000 !important;
  background: var(--toc-hover-yellow) !important;
  border-color: var(--toc-hover-yellow) !important;
}

body .phone-link:hover,
body .phone-link:focus-visible,
body.about-page .phone-link:hover,
body.about-page .phone-link:focus-visible,
body.contact-page .phone-link:hover,
body.contact-page .phone-link:focus-visible,
body.policy-page .phone-link:hover,
body.policy-page .phone-link:focus-visible,
html body .site-footer a:hover,
html body .site-footer a:focus-visible {
  color: var(--toc-hover-yellow) !important;
}

body .phone-link:hover::before,
body .phone-link:focus-visible::before,
body.about-page .phone-link:hover::before,
body.about-page .phone-link:focus-visible::before,
body.contact-page .phone-link:hover::before,
body.contact-page .phone-link:focus-visible::before,
body.policy-page .phone-link:hover::before,
body.policy-page .phone-link:focus-visible::before {
  background: var(--toc-hover-yellow) !important;
  background-image: none !important;
  -webkit-mask: url('../rsc/icons/header-phone.png') center / contain no-repeat !important;
  mask: url('../rsc/icons/header-phone.png') center / contain no-repeat !important;
}

html body .site-footer .footer-social a:hover,
html body .site-footer .footer-social a:focus-visible {
  color: var(--toc-hover-yellow) !important;
  border-color: var(--toc-hover-yellow) !important;
}

@media (min-width: 981px) {
  body.home .hero {
    height: clamp(360px, 29vw, 430px) !important;
    min-height: 360px !important;
    max-height: 430px !important;
  }

  body.home .hero-card {
    min-height: 150px !important;
  }

  body.home .hero-card h1 {
    font-size: clamp(48px, 3.65vw, 64px) !important;
    line-height: .9 !important;
  }

  body.home .hero-card p {
    margin-top: 12px !important;
    font-size: clamp(21px, 1.55vw, 26px) !important;
  }



  body.home .start-strip {
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    padding: 0 clamp(48px, 6vw, 92px) !important;
    gap: 30px !important;
  }

  body.home .start-strip .start-copy {
    min-height: 0 !important;
    max-width: none !important;
    font-size: clamp(14px, 1.05vw, 18px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.home .start-strip a {
    width: 146px !important;
    min-width: 146px !important;
    max-width: 146px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
  }

  body.home .services {
    padding-top: 34px !important;
  }

  body.home .services h2 {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 22px !important;
    font-size: clamp(28px, 2.2vw, 40px) !important;
    line-height: 1 !important;
  }

  body.home .testimonials {
    background: #0b3f2a url('../rsc/testimonials-green-pattern-desktop-the-o-company.png') center / cover no-repeat !important;
  }
}

/* TOC v1.0.311: mobile service selector and live-text card lock. */
body.home .service-detail-mobile-card {
  display: none;
}

@media (max-width: 520px) {
  html body.home .service-tabs {
    box-sizing: border-box !important;
    width: min(370px, calc(100vw - 28px)) !important;
    max-width: min(370px, calc(100vw - 28px)) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 170px)) !important;
    grid-auto-rows: 178.27px !important;
    justify-content: space-between !important;
    align-content: start !important;
    align-items: start !important;
    justify-items: center !important;
    column-gap: 0 !important;
    row-gap: 34px !important;
    overflow: visible !important;
  }

  html body.home .service-tab,
  html body.home .service-tab.is-active,
  html body.home .service-tab:hover,
  html body.home .service-tab:focus-visible {
    position: relative !important;
    box-sizing: border-box !important;
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
    height: 178.27px !important;
    min-height: 178.27px !important;
    max-height: 178.27px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    overflow: visible !important;
    transform: none !important;
  }

  html body.home .service-art,
  html body.home .service-tab.is-active .service-art,
  html body.home .service-tab:hover .service-art,
  html body.home .service-tab:focus-visible .service-art {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    flex: 0 0 130px !important;
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
    height: 130px !important;
    min-height: 130px !important;
    max-height: 130px !important;
    display: block !important;
    overflow: visible !important;
    transform: none !important;
  }

  html body.home .service-art img,
  html body.home .service-art .state-normal,
  html body.home .service-art .state-hover,
  html body.home .service-art .state-active,
  html body.home .service-tab.is-active .service-art img.state-active {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    display: block !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    transform: translate(-50%, -50%) !important;
  }

  html body.home .service-art .state-normal {
    width: 130px !important;
    height: 130px !important;
    opacity: 1 !important;
  }

  html body.home .service-art .state-hover {
    width: 130px !important;
    height: 130px !important;
    opacity: 0 !important;
  }

  html body.home .service-art .state-active,
  html body.home .service-tab.is-active .service-art img.state-active {
    width: 130px !important;
    height: 132px !important;
    opacity: 0 !important;
  }

  html body.home .service-tab:hover:not(.is-active) .state-normal,
  html body.home .service-tab:focus-visible:not(.is-active) .state-normal {
    opacity: 0 !important;
  }

  html body.home .service-tab:hover:not(.is-active) .state-hover,
  html body.home .service-tab:focus-visible:not(.is-active) .state-hover {
    opacity: 1 !important;
    transform: translate(-50%, -50%) !important;
  }

  html body.home .service-tab.is-active .state-normal,
  html body.home .service-tab.is-active .state-hover {
    opacity: 0 !important;
  }

  html body.home .service-tab.is-active .state-active {
    opacity: 1 !important;
  }

  html body.home .service-label,
  html body.home .service-tab:hover .service-label,
  html body.home .service-tab:focus-visible .service-label,
  html body.home .service-tab.is-active .service-label {
    position: static !important;
    left: auto !important;
    top: auto !important;
    box-sizing: border-box !important;
    flex: 0 0 38.27px !important;
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
    height: 38.27px !important;
    min-height: 38.27px !important;
    max-height: 38.27px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #2f7f99 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #2f7f99 !important;
    box-shadow: none !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 14.4px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  html body.home .service-tab.is-active .service-label {
    border-color: transparent !important;
    background: transparent !important;
    color: #000 !important;
  }

  html body.home .service-detail[data-active-slug] {
    box-sizing: border-box !important;
    position: relative !important;
    width: min(393px, calc(100vw - 21px)) !important;
    max-width: min(393px, calc(100vw - 21px)) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 393 / 505 !important;
    margin: 30px auto 74px !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body.home .service-detail-banner,
  html body.home .service-detail-desktop-icon-frame,
  html body.home .service-detail-desktop-icon,
  html body.home .service-detail-mobile-icon {
    display: none !important;
  }

  html body.home .service-detail-mobile-card {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    pointer-events: none !important;
    user-select: none !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 30px !important;
    left: 17px !important;
    width: min(342px, calc(100% - 34px)) !important;
    max-width: min(342px, calc(100% - 34px)) !important;
    height: auto !important;
    min-height: 275px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: none !important;
    color: #fff !important;
    text-align: left !important;
    transform: none !important;
    z-index: 3 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy.is-active {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 25px !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy h3,
  html body.home .service-detail[data-active-slug] .service-detail-copy p,
  html body.home .service-detail[data-active-slug] .service-detail-copy ul,
  html body.home .service-detail[data-active-slug] .service-detail-copy li {
    box-sizing: border-box !important;
    position: static !important;
    inset: auto !important;
    padding: 0 !important;
    color: #fff !important;
    text-align: left !important;
    text-transform: none !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy h3 {
    width: min(342px, 100%) !important;
    max-width: min(342px, 100%) !important;
    height: auto !important;
    min-height: 86px !important;
    margin: 0 !important;
    display: block !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 43px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy p {
    width: min(342px, 100%) !important;
    max-width: min(342px, 100%) !important;
    height: auto !important;
    min-height: 55px !important;
    margin: 0 !important;
    display: block !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy ul {
    width: min(342px, 100%) !important;
    max-width: min(342px, 100%) !important;
    height: auto !important;
    min-height: 84px !important;
    margin: 0 !important;
    padding-left: 24px !important;
    display: block !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy li {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-left: 6px !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
  }
}

@media (max-width: 380px) {
  html body.home .service-tabs {
    width: min(350px, calc(100vw - 20px)) !important;
    grid-template-columns: repeat(2, minmax(0, 165px)) !important;
  }

  html body.home .service-tab,
  html body.home .service-tab.is-active,
  html body.home .service-art,
  html body.home .service-tab.is-active .service-art,
  html body.home .service-label,
  html body.home .service-tab.is-active .service-label {
    width: 165px !important;
    min-width: 165px !important;
    max-width: 165px !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy {
    left: 16px !important;
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy h3 {
    font-size: clamp(38px, 11.2vw, 43px) !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy p {
    font-size: clamp(16px, 5vw, 18px) !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy ul {
    font-size: clamp(14px, 4.45vw, 16px) !important;
  }
}

/* TOC v1.0.313 final: active mobile selector tiles use the black icon asset. */
@media (max-width: 520px) {
  html body.home .service-tab.is-active .service-art img.state-normal,
  html body.home .service-tab.is-active .service-art img.state-hover {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  html body.home .service-tab.is-active .service-art img.state-active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 130px !important;
    height: 130px !important;
    max-width: 130px !important;
    max-height: 130px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: translate(-50%, -50%) !important;
  }
}

/* TOC v1.0.313: restore black active service icons in the mobile selector. */
@media (max-width: 520px) {
  html body.home .service-tab.is-active .service-art img.state-normal,
  html body.home .service-tab.is-active .service-art img.state-hover {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  html body.home .service-tab.is-active .service-art img.state-active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 130px !important;
    height: 130px !important;
    max-width: 130px !important;
    max-height: 130px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: translate(-50%, -50%) !important;
  }
}

/* TOC v1.0.463: freeze the homepage at its exact position while the Quick Form is open. */
html.toc-qf-modal-open,
body.toc-qf-modal-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}

body.toc-qf-modal-open {
  position: fixed !important;
  top: var(--toc-qf-scroll-offset, 0) !important;
  right: 0;
  left: 0;
  width: 100%;
}

.toc-qf-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  padding: clamp(16px, 3vw, 42px);
}

.toc-qf-modal[hidden] {
  display: none !important;
}

.toc-qf-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0, 0, 0, .62);
  cursor: pointer;
}

.toc-qf-modal__frame {
  position: relative;
  z-index: 1;
  width: min(940px, calc(100vw - 32px));
  height: min(900px, calc(100vh - 32px));
  border: 0;
  border-radius: 10px;
  background: transparent;
}

.toc-qf-modal__close {
  position: fixed;
  z-index: 2;
  top: 18px;
  right: 18px;
  width: 42px;
  height: 42px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 50%;
  background: #fff;
  color: transparent;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
}

.toc-qf-modal__close::before,
.toc-qf-modal__close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 17px;
  height: 2px;
  border-radius: 999px;
  background: #111;
  transform-origin: center;
}

.toc-qf-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.toc-qf-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

body.quick-form-modal-page,
body.quick-form-modal-page .site-shell,
body.quick-form-modal-page .qf-page {
  min-height: 100vh !important;
  background: transparent !important;
}

body.quick-form-modal-page .site-header,
body.quick-form-modal-page .site-footer,
body.quick-form-modal-page .copyright-bar,
body.quick-form-modal-page .chat-bubble {
  display: none !important;
}

body.quick-form-modal-page .qf-page {
  padding: 0 !important;
}

body.quick-form-modal-page .qf-stage {
  width: 100% !important;
  max-width: 940px !important;
}

body.quick-form-modal-page .qf-form-card {
  margin: 0 auto !important;
  box-shadow: none !important;
}

@media (max-width: 720px) {
  .toc-qf-modal {
    padding: 10px;
  }

  .toc-qf-modal__frame {
    width: 100%;
    height: calc(100vh - 20px);
    border-radius: 8px;
  }

  .toc-qf-modal__close {
    top: 12px;
    right: 12px;
  }
}

/* TOC v1.0.480 / Ticket 45: mobile Quick Form placement below the visible header. */
@media (max-width: 520px) {
  .toc-qf-modal {
    display: block;
    padding: 122.5px 0 0;
    overflow: hidden;
  }

  .toc-qf-modal__frame {
    display: block;
    width: calc(100vw - 32px);
    max-width: calc(100vw - 24px);
    height: calc(100vh - 122.5px);
    height: calc(100dvh - 122.5px);
    max-height: calc(100vh - 122.5px);
    max-height: calc(100dvh - 122.5px);
    margin: 0 auto;
    border-radius: 10px;
  }
}

/* TOC v1.0.288: Favorite Products desktop Figma measurement lock. */
@media (min-width: 981px) {
  html body.home section.products {
    box-sizing: border-box !important;
    width: min(calc(100vw - 328px), 1592px) !important;
    max-width: 1592px !important;
    min-height: 625px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 35px !important;
    overflow: visible !important;
    background: #fff !important;
  }

  html body.home section.products .section-line {
    box-sizing: border-box !important;
    width: 1592px !important;
    max-width: 100% !important;
    height: 83px !important;
    min-height: 83px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex: 0 0 83px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
  }

  html body.home section.products .section-line h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 40px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.home section.products .section-line a {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body.home section.products .product-grid {
    box-sizing: border-box !important;
    width: 1592px !important;
    max-width: 100% !important;
    height: 512.33px !important;
    min-height: 512.33px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, 374.12px) !important;
    justify-content: space-between !important;
    gap: 31.51px !important;
    align-items: start !important;
    overflow: visible !important;
    animation: none !important;
    transform: none !important;
  }

  html body.home section.products .product-grid > article.product-card-clone,
  html body.home section.products .product-grid > .product-card-clone,
  html body.home section.products .product-grid > [aria-hidden="true"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) {
    box-sizing: border-box !important;
    width: 374.12px !important;
    min-width: 374.12px !important;
    max-width: 374.12px !important;
    height: 512.33px !important;
    min-height: 512.33px !important;
    max-height: 512.33px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 19.77px 19.77px 10.16px 10.16px !important;
    box-shadow: none !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > img {
    box-sizing: border-box !important;
    width: 374.12px !important;
    min-width: 374.12px !important;
    max-width: 374.12px !important;
    height: 352.87px !important;
    min-height: 352.87px !important;
    max-height: 352.87px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    flex: 0 0 352.87px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 19.77px 19.77px 0 0 !important;
    background: #f8f7f4 !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > h3 {
    box-sizing: border-box !important;
    width: 374.12px !important;
    min-width: 374.12px !important;
    max-width: 374.12px !important;
    min-height: 60px !important;
    margin: 20.04px 0 0 !important;
    padding: 0 0 0 30px !important;
    color: #000 !important;
    background: #fff !important;
    font-family: 'HvDTrial Brandon Grotesque', 'Brandon Grotesque', 'Arial Narrow', 'Aptos Narrow', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > h3 span {
    display: block !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    white-space: normal !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > .product-price {
    box-sizing: border-box !important;
    width: 374.12px !important;
    min-width: 374.12px !important;
    max-width: 374.12px !important;
    margin: 21.38px 0 0 !important;
    padding: 0 0 0 30px !important;
    display: block !important;
    color: #000 !important;
    background: #fff !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > .product-description {
    display: none !important;
  }
}

/* TOC v1.0.285: specificity cleanup for nested desktop Figma elements. */
@media (min-width: 981px) {
  html body.home section.gallery .gallery-content h2,
  html body.home section.gallery .gallery-content h2 span,
  html body.home section.gallery .gallery-kicker {
    width: 462px !important;
    max-width: 462px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 45px !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body.home section.gallery .gallery-content h2,
  html body.home section.gallery .gallery-content h2 span {
    height: 45px !important;
    font-weight: 600 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
  }

  html body.home section.gallery .gallery-kicker {
    height: 45px !important;
    margin-bottom: 40px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    text-transform: none !important;
  }

  html body.home .catalogue-band .catalogue-live-copy > p,
  html body.home .catalogue-band .catalogue-live-copy > h2,
  html body.home .catalogue-band .catalogue-live-copy > h2 .catalogue-mood-word,
  html body.home .catalogue-band .catalogue-live-copy > h2 .catalogue-question {
    width: 462px !important;
    max-width: 462px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 45px !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  html body.home .catalogue-band .catalogue-live-copy > p {
    font-weight: 600 !important;
    font-style: normal !important;
  }

  html body.home .catalogue-band .catalogue-live-copy > h2,
  html body.home .catalogue-band .catalogue-live-copy > h2 .catalogue-mood-word {
    display: block !important;
    font-weight: 500 !important;
    font-style: italic !important;
  }

  html body.home .catalogue-band .catalogue-live-copy > h2 .catalogue-question {
    display: inline !important;
    font-weight: 600 !important;
    font-style: normal !important;
  }

  html body.home .catalogue-band .catalogue-live-copy .catalogue-actions {
    box-sizing: border-box !important;
    width: 462px !important;
    max-width: 462px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
  }
}

@media (min-width: 1200px) {
  html body .site-footer .footer-newsletter .footer-social {
    box-sizing: border-box !important;
    width: 168.75px !important;
    max-width: 168.75px !important;
    height: 25.38px !important;
    min-height: 25.38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 30px !important;
    color: #fff !important;
    font-size: 25px !important;
    line-height: 25.38px !important;
  }

  html body .site-footer .footer-newsletter .footer-social strong {
    width: auto !important;
    height: 25.38px !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 25px !important;
    line-height: 25.38px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body .site-footer .footer-newsletter .footer-social a {
    width: 25.38px !important;
    min-width: 25.38px !important;
    max-width: 25.38px !important;
    height: 25.38px !important;
    min-height: 25.38px !important;
    max-height: 25.38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  html body .site-footer .footer-newsletter .footer-social img {
    width: 25.38px !important;
    min-width: 25.38px !important;
    max-width: 25.38px !important;
    height: 25.38px !important;
    min-height: 25.38px !important;
    max-height: 25.38px !important;
    display: block !important;
    object-fit: contain !important;
  }
}

/* TOC v1.0.289: final Favorite Products desktop Figma measurement lock. */
@media (min-width: 981px) {
  html body.home section.products {
    box-sizing: border-box !important;
    width: min(calc(100vw - 328px), 1592px) !important;
    max-width: 1592px !important;
    min-height: 625px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 35px !important;
    overflow: visible !important;
    background: #fff !important;
  }

  html body.home section.products .section-line {
    box-sizing: border-box !important;
    width: 1592px !important;
    max-width: 100% !important;
    height: 83px !important;
    min-height: 83px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex: 0 0 83px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
  }

  html body.home section.products .section-line h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 40px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.home section.products .section-line a {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body.home section.products .product-grid {
    box-sizing: border-box !important;
    width: 1592px !important;
    max-width: 100% !important;
    height: 512.33px !important;
    min-height: 512.33px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, 374.12px) !important;
    justify-content: space-between !important;
    gap: 31.51px !important;
    align-items: start !important;
    overflow: visible !important;
    animation: none !important;
    transform: none !important;
  }

  html body.home section.products .product-grid > article.product-card-clone,
  html body.home section.products .product-grid > .product-card-clone,
  html body.home section.products .product-grid > [aria-hidden="true"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) {
    box-sizing: border-box !important;
    width: 374.12px !important;
    min-width: 374.12px !important;
    max-width: 374.12px !important;
    height: 512.33px !important;
    min-height: 512.33px !important;
    max-height: 512.33px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 19.77px 19.77px 10.16px 10.16px !important;
    box-shadow: none !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > img {
    box-sizing: border-box !important;
    width: 374.12px !important;
    min-width: 374.12px !important;
    max-width: 374.12px !important;
    height: 352.87px !important;
    min-height: 352.87px !important;
    max-height: 352.87px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    flex: 0 0 352.87px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 19.77px 19.77px 0 0 !important;
    background: #f8f7f4 !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > h3 {
    box-sizing: border-box !important;
    width: 374.12px !important;
    min-width: 374.12px !important;
    max-width: 374.12px !important;
    min-height: 60px !important;
    margin: 20.04px 0 0 !important;
    padding: 0 0 0 30px !important;
    color: #000 !important;
    background: #fff !important;
    font-family: 'HvDTrial Brandon Grotesque', 'Brandon Grotesque', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > h3 span {
    display: block !important;
    white-space: normal !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > .product-price {
    box-sizing: border-box !important;
    width: 374.12px !important;
    min-width: 374.12px !important;
    max-width: 374.12px !important;
    margin: 21.38px 0 0 !important;
    padding: 0 0 0 30px !important;
    display: block !important;
    color: #000 !important;
    background: #fff !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > .product-description {
    display: none !important;
  }
}

/* TOC v1.0.286: restore clean desktop product row and keep footer-logo text white on hover. */
@media (min-width: 981px) {
  html body.home .products .product-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 30px !important;
    align-items: start !important;
    overflow: visible !important;
    animation: none !important;
    transform: none !important;
  }

  html body.home .products .product-grid > article.product-card-clone,
  html body.home .products .product-grid > .product-card-clone,
  html body.home .products .product-grid > [aria-hidden="true"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body.home .products .product-grid > article.product-card:not(.product-card-clone) {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body.home .products .product-grid > article.product-card:not(.product-card-clone) > img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1.06 / 1 !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 20px !important;
  }

  html body.home .products .product-grid > article.product-card:not(.product-card-clone) .product-description {
    display: none !important;
  }
}

html body .site-footer .footer-logo-link {
  position: relative !important;
  display: inline-block !important;
}

html body .site-footer .footer-logo-link img {
  position: relative !important;
  z-index: 1 !important;
  filter: none !important;
}

html body .site-footer .footer-logo-link:hover img,
html body .site-footer .footer-logo-link:focus-visible img {
  filter: none !important;
}

html body .site-footer .footer-logo-link::after {
  content: "" !important;
  position: absolute !important;
  z-index: 2 !important;
  top: 0 !important;
  left: 0 !important;
  width: 56% !important;
  height: 100% !important;
  pointer-events: none !important;
  opacity: 0 !important;
  background-image: url("../brand/footerlogo.png") !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: auto 100% !important;
  filter: brightness(0) saturate(100%) invert(74%) sepia(20%) saturate(727%) hue-rotate(153deg) brightness(89%) contrast(86%) !important;
  transition: opacity .18s ease !important;
}

html body .site-footer .footer-logo-link:hover::after,
html body .site-footer .footer-logo-link:focus-visible::after {
  opacity: 1 !important;
}

/* TOC v1.0.271: Figma blue CTA strip background lock. */
html body.home .start-strip {
  background: linear-gradient(90deg, #7EB7CE 0%, #D8F3FF 100%) !important;
}

@media (min-width: 981px) {
  html body.home .start-strip {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 106px !important;
    min-height: 106px !important;
    max-height: 106px !important;
    padding: 31px 130px 30px 80px !important;
    gap: 10px !important;
  }
}

/* TOC v1.0.218: mobile Follow Us four-tile grid lock. */
@media (max-width: 520px) {
  html body.home .instagram .insta-grid a {
    height: 221px !important;
    position: relative !important;
    overflow: hidden !important;
  }

  html body.home .instagram .insta-grid a:nth-child(1) {
    order: 1 !important;
  }

  html body.home .instagram .insta-grid a:nth-child(2) {
    display: none !important;
  }

  html body.home .instagram .insta-grid a:nth-child(3) {
    order: 2 !important;
  }

  html body.home .instagram .insta-grid a:nth-child(4) {
    order: 3 !important;
  }

  html body.home .instagram .insta-grid a:nth-child(5) {
    order: 4 !important;
  }

  html body.home .instagram .insta-grid img {
    height: 100% !important;
    object-fit: cover !important;
  }

  html body.home .instagram .insta-grid a .insta-icon {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    width: auto !important;
    height: auto !important;
    pointer-events: none !important;
  }

  html body.home .instagram .insta-grid a .insta-icon::before {
    content: '' !important;
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    border: 4px solid #fff !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }

  html body.home .instagram .insta-grid a .insta-icon::after {
    content: '' !important;
    position: absolute !important;
    width: 13px !important;
    height: 13px !important;
    border: 4px solid #fff !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
  }
}

/* TOC v1.0.220: mobile Follow Us social button text and dimensions. */
@media (max-width: 520px) {
  html body.home .instagram .social-buttons {
    max-width: 360px !important;
    gap: 11px !important;
  }

  html body.home .instagram .social-btn {
    width: 100% !important;
    max-width: 360px !important;
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 18px !important;
    border-radius: 7px !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 18px !important;
    line-height: 21.45px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }

  html body.home .instagram .social-btn span {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
  }
}

/* TOC v1.0.217: mobile Follow Us final structure lock. */
@media (max-width: 520px) {
  html body.home .instagram {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  html body.home .instagram-head {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 414px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 34px 21px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    background: #fff !important;
  }

  html body.home .instagram-head p {
    width: 100% !important;
    margin: 0 0 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000 !important;
    font-family: 'Instrument Sans', Arial, sans-serif !important;
    font-size: 26px !important;
    line-height: 1.04 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  html body.home .instagram-head p strong,
  html body.home .instagram-head p span {
    display: block !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
  }

  html body.home .instagram-head p strong {
    font-weight: 600 !important;
  }

  html body.home .instagram-head p span {
    font-weight: 400 !important;
  }

  html body.home .instagram .social-buttons {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 11px !important;
    background: transparent !important;
  }

  html body.home .instagram .social-btn {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 360px !important;
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 18px !important;
    border-radius: 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    color: #fff !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 18px !important;
    line-height: 21.45px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  html body.home .instagram .social-instagram {
    order: 1 !important;
    background: #000 !important;
  }

  html body.home .instagram .social-facebook {
    order: 2 !important;
    background: #7EB7CE !important;
  }

  html body.home .instagram .social-btn span {
    display: block !important;
    height: auto !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
  }

  html body.home .instagram .insta-grid {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    background: #000 !important;
  }

  html body.home .instagram .insta-grid a,
  html body.home .instagram .insta-grid img {
    width: 100% !important;
    max-width: none !important;
    display: block !important;
  }
}

/* TOC v1.0.226: final Follow Us icon removal, desktop strip spacing, and testimonial arrow lock. */
@media (min-width: 981px) {
  html body.home .instagram {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  html body.home .instagram-head {
    box-sizing: border-box !important;
    width: min(922px, calc(100% - 80px)) !important;
    min-height: 48px !important;
    margin: 0 auto 24px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    background: #fff !important;
  }

  html body.home .instagram-head p {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    color: #000 !important;
    font-family: 'Instrument Sans', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  html body.home .instagram-head p strong,
  html body.home .instagram-head p span {
    display: inline !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
  }

  html body.home .instagram-head p strong {
    font-weight: 600 !important;
  }

  html body.home .instagram-head p span {
    font-weight: 400 !important;
  }

  html body.home .instagram .social-buttons {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    background: transparent !important;
  }

  html body.home .instagram .social-btn {
    box-sizing: border-box !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    color: #fff !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 21.45px !important;
    font-weight: 600 !important;
    letter-spacing: 2.34px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  html body.home .instagram .social-instagram {
    width: 197px !important;
    background: #000 !important;
  }

  html body.home .instagram .social-facebook {
    width: 188px !important;
    background: #7EB7CE !important;
  }

  html body.home .instagram .insta-grid .insta-icon,
  html body.home .instagram .insta-grid .insta-icon::before,
  html body.home .instagram .insta-grid .insta-icon::after,
  html body.home .instagram .insta-grid a .insta-icon,
  html body.home .instagram .insta-grid a .insta-icon::before,
  html body.home .instagram .insta-grid a .insta-icon::after,
  html body.home .instagram .insta-grid span,
  html body.home .instagram .insta-grid span::before,
  html body.home .instagram .insta-grid span::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body.home .testimonial-slider {
    --toc-testimonial-arrow-slot: clamp(48px, 4.2vw, 68px);
    box-sizing: border-box !important;
    position: relative !important;
    width: min(calc(100vw - 112px), 1480px) !important;
    max-width: 1480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: var(--toc-testimonial-arrow-slot) !important;
    overflow: visible !important;
  }

  html body.home .testimonial-viewport {
    width: 100% !important;
    overflow: hidden !important;
  }

  html body.home .testimonial-prev {
    display: none !important;
    pointer-events: none !important;
  }

  html body.home .testimonial-next {
    display: grid !important;
    position: absolute !important;
    top: 50% !important;
    right: clamp(0px, 1vw, 12px) !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    width: clamp(36px, 3.2vw, 52px) !important;
    height: clamp(42px, 3.8vw, 64px) !important;
    z-index: 5 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    place-items: center !important;
  }

  html body.home .testimonial-next img {
    width: clamp(24px, 2.1vw, 34px) !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
  }
}

@media (max-width: 520px) {
  html body.home .instagram .social-buttons {
    margin-bottom: 34px !important;
  }

  html body.home .instagram .social-btn {
    gap: 0 !important;
  }

  html body.home .instagram .insta-grid .insta-icon,
  html body.home .instagram .insta-grid .insta-icon::before,
  html body.home .instagram .insta-grid .insta-icon::after,
  html body.home .instagram .insta-grid a .insta-icon,
  html body.home .instagram .insta-grid a .insta-icon::before,
  html body.home .instagram .insta-grid a .insta-icon::after,
  html body.home .instagram .insta-grid span,
  html body.home .instagram .insta-grid span::before,
  html body.home .instagram .insta-grid span::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  html body .site-footer .footer-social {
    gap: 10.06px !important;
  }

  html body .site-footer .footer-social a {
    box-sizing: border-box !important;
    width: 45.71px !important;
    min-width: 45.71px !important;
    height: 45.71px !important;
    min-height: 45.71px !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    background: transparent !important;
  }

  html body .site-footer .footer-social svg {
    width: 18.28px !important;
    height: 18.29px !important;
  }

  html body .site-footer .footer-social a:hover,
  html body .site-footer .footer-social a:focus-visible {
    color: #F4C65E !important;
    border-color: #F4C65E !important;
  }
}

/* TOC v1.0.230: scoped desktop CTA strip and catalogue handover lock. */
@media (min-width: 981px) {
  html body.home .start-strip {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 106px !important;
    min-height: 106px !important;
    padding: 31px 130px 30px 80px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(80px, 12vw, 240px) !important;
    grid-template-columns: none !important;
    background: linear-gradient(90deg, #7EB7CE 0%, #D8F3EF 100%) !important;
  }

  html body.home .start-strip .start-copy {
    box-sizing: border-box !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: 1px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body.home .start-strip .start-copy .start-blue,
  html body.home .start-strip .start-copy .start-question-mark {
    color: #0784ff !important;
  }

  html body.home .start-strip a {
    box-sizing: border-box !important;
    flex: 0 0 160px !important;
    width: 160px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 16px !important;
    border-radius: 10px !important;
    background: #000 !important;
    color: #fff !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 21.45px !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body.home .start-strip a .desktop-cta-text {
    display: inline !important;
  }

  html body.home .start-strip a .mobile-cta-text,
  html body.home .start-strip a::before,
  html body.home .start-strip a::after {
    display: none !important;
    content: none !important;
  }

  html body.home .catalogue-band {
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body.home .catalogue-live-copy {
    box-sizing: border-box !important;
    width: 462px !important;
    max-width: 462px !important;
    min-height: 208px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 30px !important;
  }

  html body.home .catalogue-live-copy p,
  html body.home .catalogue-live-copy h2 {
    width: 100% !important;
    max-width: 462px !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: clamp(36px, 2.35vw, 45px) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  html body.home .catalogue-live-copy p {
    font-weight: 600 !important;
    font-style: normal !important;
  }

  html body.home .catalogue-live-copy h2,
  html body.home .catalogue-live-copy h2 .catalogue-mood-word,
  html body.home .catalogue-live-copy h2 .catalogue-question {
    display: inline !important;
    font-weight: 500 !important;
    font-style: italic !important;
  }

  html body.home .catalogue-live-copy .catalogue-description {
    display: block !important;
    box-sizing: border-box !important;
    width: 449px !important;
    max-width: 449px !important;
    min-height: 70px !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    line-height: 23.1px !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  html body.home .catalogue-actions {
    box-sizing: border-box !important;
    width: 456px !important;
    max-width: 456px !important;
    height: 60px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  html body.home .catalogue-actions a,
  html body.home .catalogue-actions a:nth-child(2) {
    box-sizing: border-box !important;
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 18px !important;
    border-radius: 8px !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 21.45px !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-decoration: none !important;
  }

  html body.home .catalogue-actions a:first-child {
    flex: 0 0 205px !important;
    width: 205px !important;
  }

  html body.home .catalogue-actions a:nth-child(2) {
    flex: 0 0 243px !important;
    width: 243px !important;
  }

  html body.home .catalogue-actions .catalogue-icon,
  html body.home .catalogue-actions img.catalogue-icon {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    object-fit: contain !important;
    object-position: center !important;
  }
}

/* TOC v1.0.227b: true-final mobile Follow Us spacing and overlay cleanup. */
@media (max-width: 520px) {
  html body.home .instagram .social-buttons {
    margin-bottom: 34px !important;
  }

  html body.home .instagram .insta-grid .insta-icon,
  html body.home .instagram .insta-grid .insta-icon::before,
  html body.home .instagram .insta-grid .insta-icon::after,
  html body.home .instagram .insta-grid span,
  html body.home .instagram .insta-grid span::before,
  html body.home .instagram .insta-grid span::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
}

/* TOC v1.0.227: final follow-grid breathing room and social-icon removal. */
@media (max-width: 520px) {
  html body.home .instagram .social-buttons {
    margin-bottom: 34px !important;
  }

  html body.home .instagram .insta-grid .insta-icon,
  html body.home .instagram .insta-grid .insta-icon::before,
  html body.home .instagram .insta-grid .insta-icon::after,
  html body.home .instagram .insta-grid span,
  html body.home .instagram .insta-grid span::before,
  html body.home .instagram .insta-grid span::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }
}

/* TOC v1.0.224: final mobile Follow Us icon removal and footer hover polish. */
@media (max-width: 520px) {
  html body.home .instagram .insta-grid .insta-icon,
  html body.home .instagram .insta-grid .insta-icon::before,
  html body.home .instagram .insta-grid .insta-icon::after,
  html body.home .instagram .insta-grid a .insta-icon,
  html body.home .instagram .insta-grid a .insta-icon::before,
  html body.home .instagram .insta-grid a .insta-icon::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body .site-footer .footer-social {
    gap: 10.06px !important;
  }

  html body .site-footer .footer-social a {
    box-sizing: border-box !important;
    width: 45.71px !important;
    min-width: 45.71px !important;
    height: 45.71px !important;
    min-height: 45.71px !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    background: transparent !important;
  }

  html body .site-footer .footer-social svg {
    width: 18.28px !important;
    height: 18.29px !important;
  }

  html body .site-footer .footer-social a:hover,
  html body .site-footer .footer-social a:focus-visible {
    color: #F4C65E !important;
    border-color: #F4C65E !important;
  }
}

/* TOC v1.0.225: mobile Follow Us breathing room before gallery. */
@media (max-width: 520px) {
  html body.home .instagram .social-buttons {
    margin-bottom: 24px !important;
  }
}

/* TOC v1.0.223: final mobile Follow Us icon cleanup and footer hover sizing. */
@media (max-width: 520px) {
  html body.home .instagram .insta-grid .insta-icon,
  html body.home .instagram .insta-grid .insta-icon::before,
  html body.home .instagram .insta-grid .insta-icon::after {
    display: none !important;
    content: none !important;
  }

  html body .site-footer .footer-social {
    gap: 10.06px !important;
  }

  html body .site-footer .footer-social a {
    width: 45.71px !important;
    min-width: 45.71px !important;
    height: 45.71px !important;
    min-height: 45.71px !important;
    margin: 15px 0 0 0 !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
  }

  html body .site-footer .footer-social svg {
    width: 18.28px !important;
    height: 18.29px !important;
  }

  html body .site-footer .footer-social a:hover,
  html body .site-footer .footer-social a:focus-visible {
    color: #F4C65E !important;
    border-color: #F4C65E !important;
  }
}

/* TOC v1.0.222: remove mobile Follow Us button and gallery icons. */
@media (max-width: 520px) {
  html body.home .instagram .insta-grid .insta-icon,
  html body.home .instagram .insta-grid .insta-icon::before,
  html body.home .instagram .insta-grid .insta-icon::after {
    display: none !important;
    content: none !important;
  }
}

/* TOC v1.0.218: mobile Follow Us four-tile grid lock. */
@media (max-width: 520px) {
  html body.home .instagram .insta-grid a {
    height: 221px !important;
    overflow: hidden !important;
  }

  html body.home .instagram .insta-grid a:nth-child(1) {
    order: 1 !important;
  }

  html body.home .instagram .insta-grid a:nth-child(2) {
    display: none !important;
  }

  html body.home .instagram .insta-grid a:nth-child(3) {
    order: 2 !important;
  }

  html body.home .instagram .insta-grid a:nth-child(4) {
    order: 3 !important;
  }

  html body.home .instagram .insta-grid a:nth-child(5) {
    order: 4 !important;
  }

  html body.home .instagram .insta-grid img {
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* Mobile homepage planning CTA phrase lock - 2026-06-29 */
@media (max-width: 980px) {
  body.home .start-strip .start-copy .start-phrase {
    white-space: nowrap !important;
  }
}

@media (min-width: 521px) and (max-width: 980px) {
  body.home .start-strip .start-copy {
    width: min(430px, calc(100% - 36px)) !important;
    max-width: min(430px, calc(100% - 36px)) !important;
    display: block !important;
    text-align: center !important;
  }

  body.home .start-strip .start-copy .start-phrase {
    display: block !important;
  }

  body.home .start-strip .start-copy .start-blue,
  body.home .start-strip .start-copy .start-question-mark {
    display: inline !important;
  }
}

@media (max-width: 520px) {
  body.home .start-strip .start-copy {
    width: 100% !important;
    max-width: 394px !important;
  }

  body.home .start-strip .start-copy .start-phrase {
    display: inline !important;
    white-space: nowrap !important;
  }
}

/* Global interaction state lock - 2026-06-29 */
:root {
  --toc-hover-yellow: #F4C65E;
  --toc-footer-hover-gold: #86620D;
  --toc-footer-active-blue: #3F778E;
}

body .header-cta:hover,
body .header-cta:focus-visible,
body .header-cta:active,
body.about-page .header-cta:hover,
body.about-page .header-cta:focus-visible,
body.about-page .header-cta:active,
body.contact-page .header-cta:hover,
body.contact-page .header-cta:focus-visible,
body.contact-page .header-cta:active,
body.policy-page .header-cta:hover,
body.policy-page .header-cta:focus-visible,
body.policy-page .header-cta:active {
  color: #000 !important;
  background: var(--toc-hover-yellow) !important;
  border-color: var(--toc-hover-yellow) !important;
}

html body .site-footer .footer-newsletter input[type="email"] {
  box-sizing: border-box !important;
  border: 2px solid transparent !important;
  outline: none !important;
}

html body .site-footer .footer-newsletter input[type="email"]:hover,
html body .site-footer .footer-newsletter input[type="email"]:focus,
html body .site-footer .footer-newsletter input[type="email"]:focus-visible,
html body .site-footer .footer-newsletter input[type="email"]:active {
  border-color: var(--toc-hover-yellow) !important;
}

html body .site-footer .footer-newsletter button {
  transition: background-color .16s ease, border-color .16s ease, color .16s ease !important;
}

html body .site-footer .footer-newsletter button:hover,
html body .site-footer .footer-newsletter button:focus-visible {
  color: #fff !important;
  background: var(--toc-footer-hover-gold) !important;
}

html body .site-footer .footer-newsletter button:active {
  color: #fff !important;
  background: var(--toc-footer-active-blue) !important;
}

html body .site-footer .footer-social a:hover,
html body .site-footer .footer-social a:focus-visible {
  color: var(--toc-hover-yellow) !important;
  border-color: var(--toc-hover-yellow) !important;
}

@media (max-width: 980px) {
  body .header-cta {
    color: #000 !important;
    background: #fff !important;
  }

  body .header-cta:hover,
  body .header-cta:focus-visible,
  body .header-cta:active {
    color: #000 !important;
    background: var(--toc-hover-yellow) !important;
    border-color: var(--toc-hover-yellow) !important;
  }

  body .header-cta-mobile {
    display: none !important;
  }

  body .header-cta::before {
    content: '' !important;
    width: 30px !important;
    height: 30px !important;
    display: block !important;
    background: currentColor !important;
    background-image: none !important;
    -webkit-mask: url('../rsc/icons/header-form-icon.png') center / contain no-repeat !important;
    mask: url('../rsc/icons/header-form-icon.png') center / contain no-repeat !important;
  }
}

/* Homepage service scroll/support polish - 2026-06-29 */
@media (min-width: 981px) {
  body.home .product-grid article,
  body.home .product-grid article img {
    box-shadow: none !important;
    filter: none !important;
  }
}

@media (max-width: 520px) {
  body.home .warehouse-panel {
    padding: 0 10px !important;
    justify-content: center !important;
  }

  body.home .testimonials {
    min-height: 690px !important;
    height: auto !important;
    padding-top: 72px !important;
    padding-bottom: 64px !important;
  }

  html body.home section.testimonials#testimonials {
    min-height: 690px !important;
    height: auto !important;
    padding-top: 72px !important;
    padding-bottom: 64px !important;
  }

  body.home .testimonial-dots {
    margin-top: 28px !important;
    margin-bottom: 0 !important;
  }

  body.home .insta-title,
  body.home .insta-title-block,
  body.home .instagram-title,
  body.home .social-title {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  body.home .instagram {
    padding: 52px 18px 0 !important;
  }

  body.home .instagram-head {
    padding-bottom: 52px !important;
  }

  html body .site-footer .footer-newsletter .footer-small {
    min-height: 0 !important;
    margin-bottom: 0 !important;
  }

  html body .site-footer .footer-social {
    top: 720px !important;
  }
}

/* Supplied brand, mobile hero, and About image lock - 2026-06-29 */
body .site-header .brand {
  position: relative !important;
}

body .site-header .brand img {
  transition: opacity .16s ease !important;
}

@media (max-width: 980px) {
  body.home .hero {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 414 / 567 !important;
    display: grid !important;
    place-items: center !important;
  }

  body.home .hero-media,
  body.home .hero-media img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.home .hero-media img {
    object-fit: cover !important;
    object-position: center center !important;
  }

  body.home .hero-card {
    transform: none !important;
    margin-top: 12px !important;
  }

  body.home .hero-card h1 {
    visibility: visible !important;
    font-size: clamp(34px, 9.2vw, 40px) !important;
    line-height: .93 !important;
    letter-spacing: 0 !important;
  }

  body.home .hero-card h1::before,
  body.home .hero-card h1::after {
    content: none !important;
    display: none !important;
  }

  body.home .hero-card p {
    margin-top: 10px !important;
    font-size: clamp(18px, 5.1vw, 22px) !important;
    line-height: 1 !important;
  }
}

@media (min-width: 981px) {
  body.about-page .about-row.about-row-top .about-team-image,
  body.about-page .about-row.about-row-bottom .about-work-image,
  body.about-page .about-team-image,
  body.about-page .about-work-image {
    width: min(36vw, 386px) !important;
    max-width: 386px !important;
    height: auto !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.about-page .about-row.about-row-top .about-team-image picture,
  body.about-page .about-row.about-row-bottom .about-work-image picture,
  body.about-page .about-team-image picture,
  body.about-page .about-work-image picture,
  body.about-page .about-row.about-row-top .about-team-image img,
  body.about-page .about-row.about-row-bottom .about-work-image img,
  body.about-page .about-team-image img,
  body.about-page .about-work-image img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    border-radius: 0 !important;
  }
}

@media (max-width: 980px) {
  body.about-page .about-content-section {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.about-page .about-row,
  body.about-page .about-row.about-row-top,
  body.about-page .about-row.about-row-bottom {
    width: min(386px, 100%) !important;
    max-width: min(386px, 100%) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 50px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.about-page .about-row.about-row-bottom {
    margin-top: 58px !important;
  }

  body.about-page .about-row.about-row-bottom .about-copy-left {
    order: 2 !important;
  }

  body.about-page .about-row.about-row-bottom .about-work-image {
    order: 1 !important;
  }

  body.about-page .about-image,
  body.about-page .about-team-image,
  body.about-page .about-work-image {
    width: 100% !important;
    max-width: 386px !important;
    height: auto !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.about-page .about-image picture,
  body.about-page .about-team-image picture,
  body.about-page .about-work-image picture,
  body.about-page .about-image img,
  body.about-page .about-team-image img,
  body.about-page .about-work-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    border-radius: 0 !important;
  }

  body.about-page .about-copy,
  body.about-page .about-copy-right,
  body.about-page .about-copy-left {
    width: 100% !important;
    max-width: 386px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.about-page .about-copy h2 {
    margin: 0 0 50px !important;
  }
}

/* TOC v1.0.200: final About image proportion and spacing lock. */
@media (min-width: 981px) {
  html body.about-page main .about-content-section {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    padding: 72px 0 92px !important;
  }

  html body.about-page main .about-content-section .about-row,
  html body.about-page main .about-content-section .about-row.about-row-top,
  html body.about-page main .about-content-section .about-row.about-row-bottom {
    box-sizing: border-box !important;
    width: min(1120px, calc(100vw - 96px)) !important;
    max-width: 1120px !important;
    min-height: 0 !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    display: grid !important;
    align-items: start !important;
    justify-content: center !important;
    column-gap: 64px !important;
    row-gap: 0 !important;
  }

  html body.about-page main .about-content-section .about-row.about-row-top {
    grid-template-columns: 386px minmax(420px, 560px) !important;
    margin-top: 0 !important;
    margin-bottom: 82px !important;
  }

  html body.about-page main .about-content-section .about-row.about-row-bottom {
    grid-template-columns: minmax(420px, 560px) 386px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  html body.about-page main .about-content-section .about-image,
  html body.about-page main .about-content-section .about-team-image,
  html body.about-page main .about-content-section .about-work-image {
    box-sizing: border-box !important;
    width: 386px !important;
    max-width: 386px !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
    align-self: start !important;
    justify-self: start !important;
  }

  html body.about-page main .about-content-section .about-row-bottom .about-work-image {
    justify-self: end !important;
  }

  html body.about-page main .about-content-section .about-image picture,
  html body.about-page main .about-content-section .about-team-image picture,
  html body.about-page main .about-content-section .about-work-image picture,
  html body.about-page main .about-content-section .about-image img,
  html body.about-page main .about-content-section .about-team-image img,
  html body.about-page main .about-content-section .about-work-image img {
    display: block !important;
    width: 386px !important;
    max-width: 386px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }

  html body.about-page main .about-content-section .about-copy,
  html body.about-page main .about-content-section .about-copy-right,
  html body.about-page main .about-content-section .about-copy-left {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 560px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: start !important;
  }

  html body.about-page main .about-content-section .about-copy h2 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 42px !important;
  }

  html body.about-page main .about-content-section .about-copy p {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 22px !important;
  }

  html body.about-page main .about-content-section .about-copy p:last-child {
    margin-bottom: 0 !important;
  }
}

/* TOC v1.0.213: desktop header, hero, CTA strip, and service icon state lock. */
@media (min-width: 981px) {
  html body .site-header .brand,
  html body.about-page .site-header .brand,
  html body.contact-page .site-header .brand,
  html body.policy-page .site-header .brand,
  html body.previous-events-page .site-header .brand,
  html body.quick-form-page .site-header .brand {
    width: 281px !important;
    min-width: 281px !important;
    max-width: 281px !important;
    height: 46.5px !important;
    min-height: 46.5px !important;
    max-height: 46.5px !important;
    position: relative !important;
    overflow: visible !important;
  }

  html body .site-header .brand img.brand-logo-desktop,
  html body.about-page .site-header .brand img.brand-logo-desktop,
  html body.contact-page .site-header .brand img.brand-logo-desktop,
  html body.policy-page .site-header .brand img.brand-logo-desktop,
  html body.previous-events-page .site-header .brand img.brand-logo-desktop,
  html body.quick-form-page .site-header .brand img.brand-logo-desktop {
    width: 281px !important;
    min-width: 281px !important;
    max-width: 281px !important;
    height: 46.5px !important;
    max-height: 46.5px !important;
    display: block !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  html body.home .hero {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 3840 / 1240 !important;
    overflow: hidden !important;
    background: #000 !important;
  }

  html body.home .hero-media,
  html body.home .hero-media img,
  html body.home .hero > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
  }

  html body.home .hero-media img,
  html body.home .hero > img {
    object-fit: contain !important;
    object-position: center center !important;
  }

  html body.home .hero-shade {
    display: none !important;
  }

  html body.home .start-strip {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 106px !important;
    min-height: 106px !important;
    max-height: 106px !important;
    padding-top: 31px !important;
    padding-right: clamp(64px, 6.7708vw, 130px) !important;
    padding-bottom: 30px !important;
    padding-left: clamp(42px, 4.1667vw, 80px) !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(56px, 6.7708vw, 130px) !important;
    overflow: hidden !important;
    background: linear-gradient(90deg, #7EB7CE 0%, #D8F3FE 100%) !important;
  }

  html body.home .start-strip .start-copy {
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    display: block !important;
    color: #000 !important;
    font-size: clamp(16px, .9375vw, 18px) !important;
    line-height: 1.16 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body.home .start-strip .start-copy .start-blue {
    color: #007bff !important;
  }

  html body.home .start-strip .start-copy .start-question-mark {
    color: #000 !important;
  }

  html body.home .start-strip a {
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
  }
}

html body.home .service-tab:not(.is-active) .state-normal {
  opacity: 1 !important;
}

html body.home .service-tab:not(.is-active) .state-hover,
html body.home .service-tab:not(.is-active) .state-active {
  opacity: 0 !important;
}

html body.home .service-tab:not(.is-active):hover .state-normal,
html body.home .service-tab:not(.is-active):focus-visible .state-normal {
  opacity: 0 !important;
}

html body.home .service-tab:not(.is-active):hover .state-hover,
html body.home .service-tab:not(.is-active):focus-visible .state-hover {
  opacity: 1 !important;
}

html body.home .service-tab.is-active .state-normal,
html body.home .service-tab.is-active .state-hover {
  opacity: 0 !important;
}

html body.home .service-tab.is-active .state-active {
  opacity: 1 !important;
}

/* TOC v1.0.212: contact mobile rhythm, contact field states, and legal/banner cleanup. */
@media (max-width: 520px) {
  html body.contact-page .contact-page-section {
    box-sizing: border-box !important;
    padding-top: 44px !important;
    padding-right: clamp(20px, calc((100vw - 349px) / 2), 33px) !important;
    padding-bottom: 54px !important;
    padding-left: clamp(20px, calc((100vw - 349px) / 2), 33px) !important;
    align-items: flex-start !important;
  }

  html body.contact-page .contact-wrap {
    width: min(349px, 100%) !important;
    max-width: 349px !important;
    gap: 50px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html body.contact-page .contact-info-panel {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 349px !important;
    min-height: 356px !important;
    color: #fff !important;
  }

  html body.contact-page .contact-info-panel h1,
  html body.contact-page .contact-intro,
  html body.contact-page .contact-lines {
    width: min(323px, 100%) !important;
    max-width: 323px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html body.contact-page .contact-info-panel h1 {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    color: #fff !important;
    font-size: 32.61px !important;
    line-height: 39px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body.contact-page .contact-intro {
    margin-bottom: 40px !important;
    color: #7EB7CE !important;
    font-size: 16px !important;
    line-height: 1.18 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  html body.contact-page .contact-lines {
    display: grid !important;
    gap: 7.76px !important;
  }

  html body.contact-page .contact-lines p {
    min-height: 31.06px !important;
    grid-template-columns: 31px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
  }

  html body.contact-page .contact-lines p:nth-child(2) {
    margin-bottom: 19.42px !important;
  }

  html body.contact-page .contact-lines p > span:last-child {
    gap: 4px !important;
    white-space: nowrap !important;
  }

  html body.contact-page .contact-lines strong,
  html body.contact-page .contact-lines a {
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
  }

  html body.contact-page .contact-lines strong,
  html body.contact-page .contact-lines p:nth-child(1) a,
  html body.contact-page .contact-lines p:nth-child(3) a {
    font-weight: 600 !important;
  }

  html body.contact-page .contact-phone-icon {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}

html body.contact-page .contact-form-card input,
html body.contact-page .contact-form-card textarea {
  box-sizing: border-box !important;
  border: 1px solid #7EB7CE !important;
  outline: none !important;
  transition: border-color .14s ease, border-width .14s ease, box-shadow .14s ease !important;
}

html body.contact-page .contact-form-card input:hover,
html body.contact-page .contact-form-card textarea:hover {
  border-width: 2px !important;
  border-color: #7EB7CE !important;
}

html body.contact-page .contact-form-card input:focus,
html body.contact-page .contact-form-card input:focus-visible,
html body.contact-page .contact-form-card textarea:focus,
html body.contact-page .contact-form-card textarea:focus-visible {
  border-width: 2px !important;
  border-color: #003E57 !important;
  box-shadow: none !important;
}

@media (min-width: 981px) {
  html body.policy-page .policy-hero-copy,
  html body.previous-events-page .previous-events-hero-copy {
    left: max(40px, calc((100vw - 1512px) / 2 + 40px)) !important;
    width: min(520px, 42vw) !important;
  }

  html body.policy-page .policy-hero-copy h1,
  html body.previous-events-page .previous-events-hero-copy h1 {
    margin: 0 0 16px !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 60px !important;
    line-height: .94 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body.policy-page .policy-hero-copy p,
  html body.previous-events-page .previous-events-hero-copy p {
    max-width: 520px !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }
}

@media (max-width: 760px) {
  html body.terms-page .terms-content .terms-legal-list {
    width: 100% !important;
    margin: 0 0 32px !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
  }

  html body.terms-page .terms-content .terms-legal-list p,
  html body.terms-page .terms-content .terms-legal-list p.terms-sub {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    column-gap: 0 !important;
    align-items: start !important;
    margin: 0 0 22px !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
  }

  html body.terms-page .terms-content .terms-number {
    position: static !important;
    display: block !important;
    width: 78px !important;
    min-width: 78px !important;
    white-space: nowrap !important;
    font-weight: 600 !important;
  }
}

/* TOC v1.0.208: mobile testimonial controls. */
@media (max-width: 520px) {
  html body.home .testimonials .testimonial-prev,
  html body.home .testimonials .testimonial-next,
  html body.home .testimonials .testimonial-arrow {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
}

/* TOC v1.0.204: mobile warehouse card vertical spacing balance. */
@media (max-width: 520px) {
  html body.home .warehouse-panel {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-top: 44px !important;
    padding-bottom: 44px !important;
    justify-content: flex-start !important;
  }

  html body.home .warehouse-panel .location-icon {
    margin-bottom: 30px !important;
  }

  html body.home .warehouse-panel h2 {
    margin-bottom: 35px !important;
  }

  html body.home .warehouse-panel address {
    margin-bottom: 15px !important;
  }
}

/* TOC v1.0.204: desktop header call icon default/hover assets. */
@media (min-width: 981px) {
  html body .site-header .phone-link,
  html body .phone-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    color: #fff !important;
    transition: color .18s ease !important;
  }

  html body .site-header .phone-link::before,
  html body .phone-link::before {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    margin: 0 12px 0 0 !important;
    padding: 0 !important;
    background: url('../rsc/icons/header-phone-default.png') center / 18px 18px no-repeat !important;
    filter: none !important;
    transform: none !important;
  }

  html body .site-header .phone-link:hover,
  html body .site-header .phone-link:focus-visible,
  html body .phone-link:hover,
  html body .phone-link:focus-visible {
    color: #F4C65E !important;
  }

  html body .site-header .phone-link:hover::before,
  html body .site-header .phone-link:focus-visible::before,
  html body .phone-link:hover::before,
  html body .phone-link:focus-visible::before {
    background-image: url('../rsc/icons/header-phone-hover.png') !important;
  }
}

/* TOC v1.0.206: exported 414px mobile hero banners, no crop. */
@media (max-width: 520px) {
  html body.about-page .about-hero {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 414 / 472 !important;
    background: url('../about/about-us-mobile-hero-banner.png') center center / 100% 100% no-repeat !important;
    overflow: hidden !important;
  }
}

@media (max-width: 780px) {
  html body.policy-page .policy-hero {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 414 / 472 !important;
    overflow: hidden !important;
  }

  html body.policy-page .policy-banner-picture {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  html body.policy-page .policy-banner-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: fill !important;
    object-position: center center !important;
  }
}

/* TOC v1.0.207: Terms mobile hero copy Figma position. */
@media (max-width: 520px) {
  html body.terms-page .terms-hero .policy-hero-copy {
    box-sizing: border-box !important;
    position: absolute !important;
    left: 24px !important;
    top: 244px !important;
    right: auto !important;
    bottom: auto !important;
    width: min(366px, calc(100% - 48px)) !important;
    max-width: 366px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    transform: none !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    text-align: left !important;
  }

  html body.terms-page .terms-hero .policy-hero-copy h1 {
    box-sizing: border-box !important;
    width: min(322px, 100%) !important;
    max-width: 322px !important;
    height: 90px !important;
    min-height: 90px !important;
    max-height: 90px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 45px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-align: left !important;
    text-transform: uppercase !important;
    overflow: visible !important;
  }

  html body.terms-page .terms-hero .policy-hero-copy p {
    box-sizing: border-box !important;
    width: min(366px, 100%) !important;
    max-width: 366px !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 23.1px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    overflow: visible !important;
  }
}

/* TOC v1.0.202: mobile footer alignment, clickable logo, catalogue icons, and hamburger hover. */
html body .site-footer .footer-logo-link {
  display: inline-block !important;
  color: inherit !important;
  text-decoration: none !important;
}

html body .site-footer .footer-logo-link img {
  display: block !important;
}

@media (max-width: 520px) {
  html body .site-footer .footer-logo-link {
    width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
    min-height: 120.94px !important;
  }

  html body .site-footer .footer-logo-link > img {
    width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
    min-height: 120.94px !important;
    object-fit: contain !important;
    object-position: left top !important;
  }

  html body .site-footer > .footer-col {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }

  html body .site-footer .footer-col h3,
  html body .site-footer .footer-col a {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
    align-self: flex-start !important;
    justify-self: start !important;
    text-indent: 0 !important;
  }

  html body .site-footer .footer-col h3,
  html body .site-footer .footer-col a {
    display: block !important;
  }

  html body .mobile-menu-button {
    color: #fff !important;
    transition: color .18s ease, background-color .18s ease !important;
  }

  html body .mobile-menu-button:hover,
  html body .mobile-menu-button:focus-visible,
  html body .mobile-menu-button:active {
    color: #F4C65E !important;
  }

  html body .mobile-menu-button img {
    filter: brightness(0) invert(1) !important;
    transition: filter .18s ease !important;
  }

  html body .mobile-menu-button:hover img,
  html body .mobile-menu-button:focus-visible img,
  html body .mobile-menu-button:active img {
    filter: brightness(0) saturate(100%) invert(83%) sepia(55%) saturate(656%) hue-rotate(348deg) brightness(101%) contrast(91%) !important;
  }

  html body.home .catalogue-actions a,
  html body.home .catalogue-actions a:nth-child(2) {
    gap: 8px !important;
  }

  html body.home .catalogue-actions .catalogue-icon,
  html body.home .catalogue-actions img.catalogue-icon {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 22px !important;
    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    clip: auto !important;
    clip-path: none !important;
  }

  html body.home .catalogue-actions a:first-child .catalogue-icon {
    filter: brightness(0) !important;
  }

  html body.home .catalogue-actions a:nth-child(2) .catalogue-icon {
    filter: brightness(0) invert(1) !important;
  }
}

/* TOC v1.0.201: neutralise older fixed About copy heights after image sizing. */
@media (min-width: 981px) {
  html body.about-page main .about-content-section .about-row.about-row-top .about-copy-right,
  html body.about-page main .about-content-section .about-row-top .about-copy-right,
  html body.about-page main .about-content-section .about-row.about-row-bottom .about-copy-left,
  html body.about-page main .about-content-section .about-row-bottom .about-copy-left {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 560px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: start !important;
  }

  html body.about-page main .about-content-section .about-row.about-row-top .about-copy-right h2,
  html body.about-page main .about-content-section .about-row-top .about-copy-right h2,
  html body.about-page main .about-content-section .about-row.about-row-bottom .about-copy-left h2,
  html body.about-page main .about-content-section .about-row-bottom .about-copy-left h2 {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 560px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 42px !important;
    padding: 0 !important;
  }

  html body.about-page main .about-content-section .about-row.about-row-top .about-copy-right p,
  html body.about-page main .about-content-section .about-row-top .about-copy-right p,
  html body.about-page main .about-content-section .about-row.about-row-bottom .about-copy-left p,
  html body.about-page main .about-content-section .about-row-bottom .about-copy-left p {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
  }

  html body.about-page main .about-content-section .about-row.about-row-top .about-copy-right p:last-child,
  html body.about-page main .about-content-section .about-row-top .about-copy-right p:last-child,
  html body.about-page main .about-content-section .about-row.about-row-bottom .about-copy-left p:last-child,
  html body.about-page main .about-content-section .about-row-bottom .about-copy-left p:last-child {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 520px) {
  html body.about-page main .about-content-section .about-row.about-row-top .about-copy-right,
  html body.about-page main .about-content-section .about-row-top .about-copy-right,
  html body.about-page main .about-content-section .about-row.about-row-bottom .about-copy-left,
  html body.about-page main .about-content-section .about-row-bottom .about-copy-left {
    width: 100% !important;
    max-width: 386px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 520px) {
  html body.about-page main .about-content-section {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    padding: 34px 14px 70px !important;
  }

  html body.about-page main .about-content-section .about-row,
  html body.about-page main .about-content-section .about-row.about-row-top,
  html body.about-page main .about-content-section .about-row.about-row-bottom {
    box-sizing: border-box !important;
    width: min(386px, 100%) !important;
    max-width: min(386px, 100%) !important;
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 50px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
  }

  html body.about-page main .about-content-section .about-row.about-row-top {
    margin-top: 0 !important;
    margin-bottom: 58px !important;
  }

  html body.about-page main .about-content-section .about-row.about-row-bottom {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  html body.about-page main .about-content-section .about-row-bottom .about-work-image {
    order: 1 !important;
  }

  html body.about-page main .about-content-section .about-row-bottom .about-copy-left {
    order: 2 !important;
  }

  html body.about-page main .about-content-section .about-image,
  html body.about-page main .about-content-section .about-team-image,
  html body.about-page main .about-content-section .about-work-image,
  html body.about-page main .about-content-section .about-copy,
  html body.about-page main .about-content-section .about-copy-right,
  html body.about-page main .about-content-section .about-copy-left {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 386px !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body.about-page main .about-content-section .about-image,
  html body.about-page main .about-content-section .about-team-image,
  html body.about-page main .about-content-section .about-work-image {
    aspect-ratio: auto !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  html body.about-page main .about-content-section .about-image picture,
  html body.about-page main .about-content-section .about-team-image picture,
  html body.about-page main .about-content-section .about-work-image picture,
  html body.about-page main .about-content-section .about-image img,
  html body.about-page main .about-content-section .about-team-image img,
  html body.about-page main .about-content-section .about-work-image img {
    display: block !important;
    width: 100% !important;
    max-width: 386px !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    border-radius: 0 !important;
    overflow: visible !important;
  }

  html body.about-page main .about-content-section .about-copy h2 {
    width: 100% !important;
    max-width: 386px !important;
    min-height: 0 !important;
    margin: 0 0 55px !important;
  }

  html body.about-page main .about-content-section .about-copy p {
    width: 100% !important;
    max-width: 386px !important;
    margin: 0 0 18px !important;
  }

  html body.about-page main .about-content-section .about-copy p:last-child {
    margin-bottom: 0 !important;
  }
}

/* TOC v1.0.214: designer closeout asset, typography, spacing, and no-shadow locks. */
html body {
  font-family: 'Inter', Arial, sans-serif;
  font-weight: 300;
}

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6 {
  font-family: 'Instrument Sans', Arial, sans-serif;
}

html body .header-cta,
html body .start-strip a,
html body .gallery-btn,
html body .catalogue-actions a,
html body .warehouse-panel a,
html body .social-btn,
html body .footer-newsletter button,
html body button[type='submit'] {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 600;
}

html body .site-header .brand-logo-stack {
  position: relative;
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

html body .site-header .brand::before,
html body .site-header .brand::after {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

html body .site-header .brand-logo-desktop {
  filter: none !important;
  transform: none !important;
  border: 0 !important;
  box-shadow: none !important;
  object-fit: contain !important;
  object-position: left center !important;
  transition: opacity .18s ease !important;
}

html body .site-header .brand-logo-desktop-default {
  position: relative;
  inset: auto;
  opacity: 1 !important;
}

html body .site-header .brand-logo-desktop-hover {
  position: absolute;
  inset: 0;
  opacity: 0 !important;
}

html body .site-header .brand:hover .brand-logo-desktop-default,
html body .site-header .brand:focus-visible .brand-logo-desktop-default {
  opacity: 0 !important;
}

html body .site-header .brand:hover .brand-logo-desktop-hover,
html body .site-header .brand:focus-visible .brand-logo-desktop-hover {
  opacity: 1 !important;
}

html body .site-header .phone-link::before {
  content: '' !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  margin-right: 8px !important;
  background: url('../rsc/icons/phone-call-default.png') center / contain no-repeat !important;
  vertical-align: -3px !important;
}

html body .site-header .phone-link:hover::before,
html body .site-header .phone-link:focus-visible::before {
  background-image: url('../rsc/icons/phone-call-hover.png') !important;
}

html body .site-header .header-cta::before {
  background-image: url('../rsc/icons/quick-form-assignment-add.png') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

html body .site-header .header-cta:hover,
html body .site-header .header-cta:focus-visible {
  color: #000 !important;
  background: #F4C65E !important;
}

html body .mobile-menu-button:hover img,
html body .mobile-menu-button:focus-visible img {
  filter: invert(78%) sepia(83%) saturate(444%) hue-rotate(349deg) brightness(101%) contrast(91%) !important;
}

html body .location-icon img,
html body .catalogue-icon {
  display: inline-block !important;
  object-fit: contain !important;
}

html body .catalogue-icon {
  width: 18px !important;
  height: 18px !important;
  margin-left: 8px !important;
  vertical-align: -4px !important;
}

html body .site-footer .footer-col,
html body .site-footer .footer-col h3,
html body .site-footer .footer-col a {
  text-align: left !important;
}

html body .site-footer a:hover,
html body .site-footer a:focus-visible,
html body .site-footer .footer-social a:hover,
html body .site-footer .footer-social a:focus-visible {
  color: #F4C65E !important;
}

html body .site-footer .footer-social a:hover,
html body .site-footer .footer-social a:focus-visible {
  border-color: #F4C65E !important;
}

html body .site-footer .footer-newsletter button:hover,
html body .site-footer .footer-newsletter button:focus-visible {
  background: #86620D !important;
}

html body .site-footer .footer-newsletter button:active {
  background: #35778E !important;
}

html body .terms-page .terms-content .terms-legal-list p {
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr) !important;
  column-gap: 18px !important;
  align-items: start !important;
  text-align: left !important;
}

html body .terms-page .terms-content .terms-number {
  display: block !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  text-align: left !important;
}

@media (min-width: 981px) {
  html body .site-header .brand-logo-mobile {
    display: none !important;
  }

  html body .site-header .brand-logo-desktop {
    display: block !important;
    width: clamp(210px, 14.65vw, 281px) !important;
    height: auto !important;
  }

  html body.home .hero {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 3840 / 1240 !important;
  }

  html body.home .hero-media,
  html body.home .hero-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  html body.home .hero-media img {
    object-fit: cover !important;
    object-position: center center !important;
  }

  html body.home .start-strip {
    box-sizing: border-box !important;
    height: 106px !important;
    min-height: 106px !important;
    padding: 31px 130px 30px 80px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 160px !important;
    align-items: center !important;
    gap: 80px !important;
    background: linear-gradient(90deg, #7EB7CE 0%, #D8F3EF 100%) !important;
  }

  html body.home .start-strip .start-copy {
    margin: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', Arial, sans-serif !important;
    font-size: clamp(18px, 1.05vw, 20px) !important;
    line-height: 1.05 !important;
    font-weight: 600 !important;
    text-align: center !important;
    letter-spacing: 1px !important;
  }

  html body.home .start-strip a {
    box-sizing: border-box !important;
    width: 160px !important;
    min-width: 160px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 16px !important;
    border-radius: 10px !important;
    font-size: 18px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
  }

  html body.home .products .product-card,
  html body.home .products .product-card img,
  html body.home .catalogue-band,
  html body.home .warehouse,
  html body.home .warehouse-collage,
  html body.home .warehouse-collage img {
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body.home .products .product-card {
    background: transparent !important;
  }

  html body.previous-events-page .previous-events-hero-copy,
  html body.policy-page .policy-hero-copy {
    margin-left: max(80px, calc((100vw - 1512px) / 2 + 40px)) !important;
  }

  html body.previous-events-page .previous-events-hero-copy h1,
  html body.policy-page .policy-hero-copy h1 {
    font-size: 60px !important;
    line-height: 1 !important;
  }

  html body.previous-events-page .previous-events-hero-copy p,
  html body.policy-page .policy-hero-copy p {
    font-size: 20px !important;
    line-height: 1.15 !important;
  }

  html body.home .testimonials h2 {
    width: 560px !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-family: 'Instrument Sans', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
  }

  html body.home .testimonial-grid article {
    box-shadow: none !important;
  }

  html body.home .testimonial-grid p,
  html body.home .testimonial-grid span {
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    font-weight: 500 !important;
  }

  html body.home .testimonial-grid {
    gap: 32px !important;
  }

  html body.home .testimonial-grid article:not(.testimonial-spacer) {
    flex: 0 0 calc((100% - 64px) / 3) !important;
  }
}

@media (max-width: 980px) {
  html body .site-header .brand-logo-stack {
    display: none !important;
  }
}

@media (max-width: 520px) {
  html body.home .hero {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 828 / 1134 !important;
  }

  html body.home .hero-media,
  html body.home .hero-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  html body.home .hero-media img {
    object-fit: cover !important;
    object-position: center center !important;
  }

  html body .site-header .header-cta {
    width: 43.3px !important;
    height: 43.3px !important;
    min-width: 43.3px !important;
    min-height: 43.3px !important;
    border-radius: 9.65px !important;
    padding: 0 !important;
  }

  html body .site-header .header-cta-mobile {
    width: 24px !important;
    height: 24px !important;
    object-fit: contain !important;
  }

  html body.home .warehouse-panel {
    min-height: 0 !important;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  html body.home .testimonials {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  html body.home .testimonial-dots {
    margin-top: 24px !important;
    margin-bottom: 0 !important;
  }

  html body.home .social-section {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  html body.contact-page .contact-info-panel {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
    color: #fff !important;
  }

  html body.contact-page .contact-info-panel .contact-lines p,
  html body.contact-page .contact-info-panel .contact-lines strong,
  html body.contact-page .contact-info-panel .contact-lines a {
    color: #fff !important;
  }

  html body.terms-page .terms-content .terms-legal-list p {
    grid-template-columns: 70px minmax(0, 1fr) !important;
    column-gap: 16px !important;
  }
}

/* TOC v1.0.216: restore mobile follow buttons and balanced warehouse/social spacing. */
@media (max-width: 520px) {
  html body.home .warehouse-panel {
    box-sizing: border-box !important;
    min-height: 506px !important;
    padding: 48px 22px !important;
    justify-content: center !important;
    gap: 24px !important;
  }

  html body.home .warehouse-panel .location-icon {
    margin: 0 !important;
  }

  html body.home .warehouse-panel h2,
  html body.home .warehouse-panel address,
  html body.home .warehouse-panel a {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  html body.home .instagram {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 52px 0 0 !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  html body.home .instagram-head {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 414px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 21px 32px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 30px !important;
    background: #fff !important;
  }

  html body.home .instagram-head p {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000 !important;
    font-family: 'Instrument Sans', Arial, sans-serif !important;
    font-size: 26px !important;
    line-height: 1.05 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  html body.home .instagram-head p strong,
  html body.home .instagram-head p span {
    display: block !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
  }

  html body.home .instagram-head p strong {
    font-weight: 600 !important;
  }

  html body.home .instagram-head p span {
    font-weight: 400 !important;
  }

  html body.home .instagram .social-buttons {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 372px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    background: transparent !important;
  }

  html body.home .instagram .social-btn {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 45px !important;
    min-height: 45px !important;
    padding: 0 14px !important;
    border-radius: 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    color: #fff !important;
    font-family: 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  html body.home .instagram .social-btn span {
    display: block !important;
    height: auto !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
  }

  html body.home .instagram .social-facebook {
    background: #7EB7CE !important;
  }

  html body.home .instagram .social-instagram {
    background: #000 !important;
  }

  html body.home .instagram .insta-grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* TOC v1.0.217: final mobile Follow Us order and gutter lock. */
@media (max-width: 520px) {
  html body.home .instagram {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  html body.home .instagram-head {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 414px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 34px 21px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    background: #fff !important;
  }

  html body.home .instagram-head p {
    width: 100% !important;
    margin: 0 0 10px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000 !important;
    font-family: 'Instrument Sans', Arial, sans-serif !important;
    font-size: 26px !important;
    line-height: 1.04 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  html body.home .instagram-head p strong,
  html body.home .instagram-head p span {
    display: block !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
  }

  html body.home .instagram-head p strong {
    font-weight: 600 !important;
  }

  html body.home .instagram-head p span {
    font-weight: 400 !important;
  }

  html body.home .instagram .social-buttons {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 11px !important;
    background: transparent !important;
  }

  html body.home .instagram .social-btn {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 360px !important;
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 18px !important;
    border-radius: 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    color: #fff !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 18px !important;
    line-height: 21.45px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  html body.home .instagram .social-instagram {
    order: 1 !important;
    background: #000 !important;
  }

  html body.home .instagram .social-facebook {
    order: 2 !important;
    background: #7EB7CE !important;
  }

  html body.home .instagram .social-btn span {
    display: block !important;
    height: auto !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
  }

  html body.home .instagram .insta-grid {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    background: #000 !important;
  }

  html body.home .instagram .insta-grid a,
  html body.home .instagram .insta-grid img {
    width: 100% !important;
    max-width: none !important;
    display: block !important;
  }
}

/* TOC v1.0.226b: true-final Follow Us icon removal, spacing, and desktop testimonial arrows. */
@media (min-width: 981px) {
  html body.home .instagram {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  html body.home .instagram-head {
    box-sizing: border-box !important;
    width: min(922px, calc(100% - 80px)) !important;
    min-height: 48px !important;
    margin: 0 auto 24px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    background: #fff !important;
  }

  html body.home .instagram-head p {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    color: #000 !important;
    font-family: 'Instrument Sans', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  html body.home .instagram-head p strong,
  html body.home .instagram-head p span {
    display: inline !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
  }

  html body.home .instagram-head p strong {
    font-weight: 600 !important;
  }

  html body.home .instagram-head p span {
    font-weight: 400 !important;
  }

  html body.home .instagram .social-buttons {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    background: transparent !important;
  }

  html body.home .instagram .social-btn {
    box-sizing: border-box !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    color: #fff !important;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 21.45px !important;
    font-weight: 600 !important;
    letter-spacing: 2.34px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  html body.home .instagram .social-instagram {
    width: 197px !important;
    background: #000 !important;
  }

  html body.home .instagram .social-facebook {
    width: 188px !important;
    background: #7EB7CE !important;
  }

  html body.home .instagram .insta-grid .insta-icon,
  html body.home .instagram .insta-grid .insta-icon::before,
  html body.home .instagram .insta-grid .insta-icon::after,
  html body.home .instagram .insta-grid a .insta-icon,
  html body.home .instagram .insta-grid a .insta-icon::before,
  html body.home .instagram .insta-grid a .insta-icon::after,
  html body.home .instagram .insta-grid span,
  html body.home .instagram .insta-grid span::before,
  html body.home .instagram .insta-grid span::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body.home .testimonial-slider {
    --toc-testimonial-arrow-slot: clamp(48px, 4.2vw, 68px);
    box-sizing: border-box !important;
    position: relative !important;
    width: min(calc(100vw - 112px), 1480px) !important;
    max-width: 1480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: var(--toc-testimonial-arrow-slot) !important;
    overflow: visible !important;
  }

  html body.home .testimonial-viewport {
    width: 100% !important;
    overflow: hidden !important;
  }

  html body.home .testimonial-prev {
    display: none !important;
    pointer-events: none !important;
  }

  html body.home .testimonial-next {
    display: grid !important;
    position: absolute !important;
    top: 50% !important;
    right: clamp(0px, 1vw, 12px) !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    width: clamp(36px, 3.2vw, 52px) !important;
    height: clamp(42px, 3.8vw, 64px) !important;
    z-index: 5 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    place-items: center !important;
  }

  html body.home .testimonial-next img {
    width: clamp(24px, 2.1vw, 34px) !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
  }
}

@media (max-width: 520px) {
  html body.home .instagram .social-buttons {
    margin-bottom: 34px !important;
  }

  html body.home .instagram .social-btn {
    gap: 0 !important;
  }

  html body.home .instagram .insta-grid .insta-icon,
  html body.home .instagram .insta-grid .insta-icon::before,
  html body.home .instagram .insta-grid .insta-icon::after,
  html body.home .instagram .insta-grid a .insta-icon,
  html body.home .instagram .insta-grid a .insta-icon::before,
  html body.home .instagram .insta-grid a .insta-icon::after,
  html body.home .instagram .insta-grid span,
  html body.home .instagram .insta-grid span::before,
  html body.home .instagram .insta-grid span::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  html body .site-footer .footer-social {
    gap: 10.06px !important;
  }

  html body .site-footer .footer-social a {
    box-sizing: border-box !important;
    width: 45.71px !important;
    min-width: 45.71px !important;
    height: 45.71px !important;
    min-height: 45.71px !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    border-radius: 50% !important;
    background: transparent !important;
  }

  html body .site-footer .footer-social svg {
    width: 18.28px !important;
    height: 18.29px !important;
  }

  html body .site-footer .footer-social a:hover,
  html body .site-footer .footer-social a:focus-visible {
    color: #F4C65E !important;
    border-color: #F4C65E !important;
  }
}
/* TOC v1.0.231: desktop-only Figma locks for CTA strip and favorite products. */
@media (min-width: 981px) {
  html body.home .start-strip {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 106px !important;
    min-height: 106px !important;
    padding: 31px 130px 30px 80px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: linear-gradient(90deg, #7EB7CE 0%, #D8F3FF 100%) !important;
  }

  html body.home .products {
    width: min(calc(100vw - 328px), 1592px) !important;
    max-width: 1592px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html body.home .products .section-line h2 {
    font-family: 'Instrument Sans', Arial, sans-serif !important;
    font-size: 40px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body.home .products .product-grid {
    gap: 31.51px !important;
  }

  html body.home .products .product-card,
  html body.home .products .product-card img {
    box-shadow: none !important;
  }

  html body.home .products .product-card img {
    border-radius: 20px !important;
  }
}

/* TOC 1.0.233: lock shared mobile header to the 414px handoff height. */
@media (max-width: 520px) {
  html body .site-header {
    height: 96px !important;
    min-height: 96px !important;
    max-height: 96px !important;
  }
}

/* TOC 1.0.253: home desktop hero copy and CTA strip Figma lock. */
@media (min-width: 981px) {
  html body.home .hero {
    position: relative !important;
  }

  html body.home .hero-card {
    box-sizing: border-box !important;
    position: absolute !important;
    z-index: 3 !important;
    top: 38.3871% !important;
    left: 50% !important;
    width: 614px !important;
    min-width: 0 !important;
    max-width: min(614px, calc(100vw - 48px)) !important;
    height: 200.26px !important;
    min-height: 200.26px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 17.64px !important;
    transform: translateX(-50%) !important;
    background: transparent !important;
    text-align: center !important;
  }

  html body.home .hero-card h1 {
    box-sizing: border-box !important;
    width: 614px !important;
    max-width: 100% !important;
    min-height: 141.15px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 74.99px !important;
    line-height: .9411 !important;
    font-weight: 600 !important;
    letter-spacing: 2.65px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    color: #fff !important;
  }

  html body.home .hero-card p {
    box-sizing: border-box !important;
    width: 614px !important;
    max-width: 100% !important;
    min-height: 41.46px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 35.29px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 2.65px !important;
    text-align: center !important;
    color: #fff !important;
  }

  html body.home .start-strip {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 106px !important;
    min-height: 106px !important;
    max-height: 106px !important;
    padding: 31px 130px 30px 80px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: linear-gradient(90deg, #7EB7CE 0%, #D8F3FF 100%) !important;
  }
}

/* TOC 1.0.255: exact desktop start CTA strip content sizing. */
@media (min-width: 981px) {
  html body.home .start-strip {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 106px !important;
    min-height: 106px !important;
    max-height: 106px !important;
    padding: 31px 130px 30px 80px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 31px !important;
    background: linear-gradient(90deg, #7EB7CE 0%, #D8F3FF 100%) !important;
    overflow: hidden !important;
  }

  html body.home .start-strip .start-copy {
    box-sizing: border-box !important;
    width: 811px !important;
    max-width: 811px !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    flex: 0 0 811px !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 25px !important;
    line-height: 120% !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body.home .start-strip .start-copy .start-blue,
  html body.home .start-strip .start-copy .start-phrase {
    color: #006fff !important;
    font-weight: 600 !important;
  }

  html body.home .start-strip .start-copy .start-question-mark {
    color: #000 !important;
    font-weight: 600 !important;
  }

  html body.home .start-strip a {
    box-sizing: border-box !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    padding: 15px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 250px !important;
    border-radius: 10px !important;
    background: #000 !important;
    color: #fff !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }
}
/* Final global sticky header lock */
.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 10000;
}

body.admin-bar .site-header {
    top: 32px !important;
}

@media (max-width: 782px) {
    body.admin-bar .site-header {
        top: 0 !important;
    }
}

/* TOC v1.0.265: make the footer logo feel like the header home link. */
.site-footer .footer-logo-link {
  display: inline-block !important;
  line-height: 0 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.site-footer .footer-logo-link img {
  display: block !important;
  transition: filter .2s ease, transform .2s ease !important;
}

.site-footer .footer-logo-link:hover img,
.site-footer .footer-logo-link:focus-visible img {
  filter: brightness(0) saturate(100%) invert(74%) sepia(20%) saturate(727%) hue-rotate(153deg) brightness(89%) contrast(86%) !important;
  transform: translateY(-1px) !important;
}

.site-footer .footer-logo-link:focus-visible {
  outline: 2px solid #7EB7CE !important;
  outline-offset: 8px !important;
}

/* TOC v1.0.261: footer social placement recovery. */
@media (min-width: 981px) {
  html body .site-footer .footer-logo-block .footer-social {
    display: none !important;
  }

  html body .site-footer .footer-newsletter .footer-social {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    max-width: none !important;
    height: 22px !important;
    min-height: 0 !important;
    max-height: 22px !important;
    margin: 20px 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    align-self: flex-start !important;
    gap: 10px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 18px !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter .footer-social strong {
    flex: 0 0 auto !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 600 !important;
  }

  html body .site-footer .footer-newsletter .footer-social a {
    box-sizing: border-box !important;
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.85) !important;
    border-radius: 50% !important;
    background: transparent !important;
  }

  html body .site-footer .footer-newsletter .footer-social svg {
    width: 12px !important;
    height: 12px !important;
  }
}

/* TOC v1.0.275b: final EOF desktop product-card override. */
@media (min-width: 981px) {
  html body.home .products {
    box-sizing: border-box !important;
    width: min(calc(100vw - 312px), 1592px) !important;
    max-width: 1592px !important;
    margin: 96px auto 0 !important;
    padding: 0 0 66px !important;
    overflow: visible !important;
    background: #fff !important;
  }

  html body.home .products .section-line {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 83px !important;
    margin: 0 0 20px !important;
    padding: 0 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
  }

  html body.home .products .section-line h2 {
    margin: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 34px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body.home .products .section-line a {
    box-sizing: border-box !important;
    width: 172px !important;
    min-width: 172px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  html body.home .product-grid {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 31px !important;
    align-items: start !important;
    overflow: visible !important;
    animation: none !important;
    transform: none !important;
  }

  html body.home .product-grid article,
  html body.home .product-grid article.product-card {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html body.home .product-grid article.product-card-clone,
  html body.home .product-card-clone {
    display: none !important;
  }

  html body.home .product-grid article img {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1.06 / 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 10px !important;
    background: #f8f7f4 !important;
    box-shadow: none !important;
  }

  html body.home .product-grid article h3 {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 16px 0 10px !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 25px !important;
    line-height: 1.05 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    overflow: visible !important;
  }

  html body.home .product-grid article h3 span {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  html body.home .product-grid article .product-price,
  html body.home .product-grid article .product-description,
  html body.home .product-grid article p {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  html body.home .product-grid article .product-price {
    margin-bottom: 10px !important;
  }
}

/* TOC v1.0.275: desktop-only favorite product card lock from Figma full-page pass. */
@media (min-width: 981px) {
  html body.home .products {
    box-sizing: border-box !important;
    width: min(calc(100vw - 312px), 1592px) !important;
    max-width: 1592px !important;
    margin: 96px auto 0 !important;
    padding: 0 0 66px !important;
    overflow: visible !important;
    background: #fff !important;
  }

  html body.home .products .section-line {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 83px !important;
    margin: 0 0 20px !important;
    padding: 0 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
  }

  html body.home .products .section-line h2 {
    margin: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 34px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body.home .products .section-line a {
    box-sizing: border-box !important;
    width: 172px !important;
    min-width: 172px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  html body.home .product-grid {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 31px !important;
    align-items: start !important;
    overflow: visible !important;
    animation: none !important;
    transform: none !important;
  }

  html body.home .product-grid article,
  html body.home .product-grid article.product-card {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html body.home .product-card-clone {
    display: none !important;
  }

  html body.home .product-grid article img {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1.06 / 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 10px !important;
    background: #f8f7f4 !important;
    box-shadow: none !important;
  }

  html body.home .product-grid article h3 {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 16px 0 10px !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 25px !important;
    line-height: 1.05 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    overflow: visible !important;
  }

  html body.home .product-grid article h3 span {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  html body.home .product-grid article .product-price,
  html body.home .product-grid article .product-description,
  html body.home .product-grid article p {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  html body.home .product-grid article .product-price {
    margin-bottom: 10px !important;
  }
}

/* TOC v1.0.271: final Figma blue CTA strip background lock. */
html body.home .start-strip {
  background: linear-gradient(90deg, #7EB7CE 0%, #D8F3FF 100%) !important;
}

@media (min-width: 981px) {
  html body.home .start-strip {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 106px !important;
    min-height: 106px !important;
    max-height: 106px !important;
    padding: 31px 130px 30px 80px !important;
    gap: 10px !important;
  }
}

/* TOC v1.0.266: Figma header/menu lock, with lighter Inter typography. */
@media (min-width: 981px) {
  html body .site-header {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    padding: 0 max(24px, calc((100vw - 1409px) / 2)) !important;
    display: grid !important;
    grid-template-columns: 281px 552px 360px !important;
    column-gap: 108px !important;
    row-gap: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    background: #000 !important;
    overflow: visible !important;
  }

  html body .site-header .brand,
  html body .site-header .brand-logo-stack {
    box-sizing: border-box !important;
    width: 281px !important;
    min-width: 281px !important;
    max-width: 281px !important;
    height: 46.2px !important;
    min-height: 46.2px !important;
    max-height: 46.2px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    line-height: 0 !important;
  }

  html body .site-header .brand img.brand-logo-desktop {
    width: 281px !important;
    min-width: 281px !important;
    max-width: 281px !important;
    height: auto !important;
    display: block !important;
  }

  html body .site-header .brand-logo-mobile {
    display: none !important;
  }

  html body .site-header .main-nav {
    box-sizing: border-box !important;
    width: 552px !important;
    min-width: 552px !important;
    max-width: 552px !important;
    height: 21px !important;
    min-height: 21px !important;
    max-height: 21px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    overflow: visible !important;
  }

  html body .site-header .main-nav a {
    box-sizing: border-box !important;
    height: 21px !important;
    min-height: 21px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: transparent !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 20.4px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    font-synthesis: none !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: geometricPrecision !important;
  }

  html body .site-header .main-nav a::before,
  html body .site-header .main-nav a::after {
    content: none !important;
    display: none !important;
  }

  html body .site-header .header-actions {
    box-sizing: border-box !important;
    width: 360px !important;
    min-width: 360px !important;
    max-width: 360px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
  }

  html body .site-header .phone-link {
    box-sizing: border-box !important;
    width: 188px !important;
    min-width: 188px !important;
    max-width: 188px !important;
    height: 21.5px !important;
    min-height: 21.5px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    color: #fff !important;
    background: transparent !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 20.4px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }

  html body .site-header .phone-link::before {
    content: '' !important;
    flex: 0 0 21.5px !important;
    width: 21.5px !important;
    min-width: 21.5px !important;
    max-width: 21.5px !important;
    height: 21.5px !important;
    min-height: 21.5px !important;
    max-height: 21.5px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important;
    background: url('../rsc/icons/phone-call-default.png') center / contain no-repeat !important;
    vertical-align: middle !important;
  }

  html body .site-header .phone-link:hover,
  html body .site-header .phone-link:focus-visible {
    color: #7EB7CE !important;
  }

  html body .site-header .phone-link:hover::before,
  html body .site-header .phone-link:focus-visible::before {
    background-image: url('../rsc/icons/phone-call-hover.png') !important;
  }

  html body .site-header .header-cta {
    box-sizing: border-box !important;
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 0 !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    color: #000 !important;
    background: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }

  html body .site-header .header-cta::before {
    content: '' !important;
    flex: 0 0 21px !important;
    width: 21px !important;
    height: 21px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important;
    background: url('../rsc/icons/quick-form-assignment-add.png') center / contain no-repeat !important;
  }

  html body .site-header .header-cta-text {
    display: inline-block !important;
    color: #000 !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }

  html body .site-header .header-cta-mobile {
    display: none !important;
  }

  html body .site-header .header-cta:hover,
  html body .site-header .header-cta:focus-visible {
    color: #000 !important;
    background: #7EB7CE !important;
  }
}

@media (min-width: 981px) and (max-width: 1480px) {
  html body .site-header {
    padding-right: 24px !important;
    padding-left: 24px !important;
    grid-template-columns: minmax(220px, 281px) minmax(440px, 552px) 360px !important;
    column-gap: clamp(32px, 5vw, 108px) !important;
  }

  html body .site-header .brand,
  html body .site-header .brand-logo-stack,
  html body .site-header .brand img.brand-logo-desktop {
    width: min(281px, 19vw) !important;
    min-width: 220px !important;
  }
}

@media (max-width: 980px) {
  html body .site-header {
    box-sizing: border-box !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10000 !important;
    width: 100% !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    padding: 0 22px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px 44px !important;
    column-gap: 12px !important;
    align-items: center !important;
    background: #000 !important;
    overflow: visible !important;
  }

  html body.admin-bar .site-header {
    top: 0 !important;
  }

  html body .site-header .brand {
    width: min(188px, calc(100vw - 146px)) !important;
    min-width: 0 !important;
    height: 46.2px !important;
    min-height: 46.2px !important;
    display: flex !important;
    align-items: center !important;
    justify-self: start !important;
    line-height: 0 !important;
  }

  html body .site-header .brand-logo-stack,
  html body .site-header .brand-logo-desktop {
    display: none !important;
  }

  html body .site-header .brand-logo-mobile {
    width: min(188px, calc(100vw - 146px)) !important;
    max-width: 188px !important;
    height: auto !important;
    display: block !important;
  }

  html body .site-header .phone-link {
    display: none !important;
  }

  html body .site-header .header-actions {
    grid-column: 2 / 4 !important;
    width: 100px !important;
    min-width: 100px !important;
    height: 44px !important;
    min-height: 44px !important;
    display: grid !important;
    grid-template-columns: 44px 44px !important;
    gap: 12px !important;
    align-items: center !important;
    justify-content: end !important;
    justify-self: end !important;
  }

  html body .site-header .header-cta {
    box-sizing: border-box !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    border-radius: 10px !important;
    display: grid !important;
    place-items: center !important;
    background: #fff !important;
    overflow: hidden !important;
  }

  html body .site-header .header-cta::before,
  html body .site-header .header-cta-text {
    display: none !important;
  }

  html body .site-header .header-cta-mobile {
    width: 24px !important;
    height: 24px !important;
    display: block !important;
    object-fit: contain !important;
  }

  html body .mobile-menu-button {
    box-sizing: border-box !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    display: grid !important;
    place-items: center !important;
    background: transparent !important;
    overflow: hidden !important;
  }

  html body .mobile-menu-button img {
    width: 36px !important;
    height: 36px !important;
    display: block !important;
    object-fit: contain !important;
  }

  html body .site-header .main-nav {
    display: none !important;
  }

  html body.menu-open .site-header .main-nav,
  html body.admin-bar.menu-open .site-header .main-nav {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 100% !important;
    right: 12px !important;
    left: auto !important;
    z-index: 150 !important;
    width: min(286px, calc(100vw - 24px)) !important;
    min-width: 0 !important;
    max-width: min(286px, calc(100vw - 24px)) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    background: #000 !important;
    box-shadow: 0 18px 34px rgba(0, 0, 0, .24) !important;
    overflow: hidden !important;
  }

  html body.menu-open .site-header .main-nav::before,
  html body.admin-bar.menu-open .site-header .main-nav::before {
    content: none !important;
    display: none !important;
  }

  html body.menu-open .site-header .main-nav a,
  html body.admin-bar.menu-open .site-header .main-nav a {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #fff !important;
    background: #000 !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 20.4px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    font-synthesis: none !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: geometricPrecision !important;
  }

  html body.menu-open .site-header .main-nav a::before,
  html body.menu-open .site-header .main-nav a::after,
  html body.admin-bar.menu-open .site-header .main-nav a::before,
  html body.admin-bar.menu-open .site-header .main-nav a::after {
    content: none !important;
    display: none !important;
  }

  html body.menu-open .site-header .main-nav a:nth-child(1),
  html body.admin-bar.menu-open .site-header .main-nav a:nth-child(1) {
    order: 1 !important;
  }

  html body.menu-open .site-header .main-nav a:nth-child(2),
  html body.admin-bar.menu-open .site-header .main-nav a:nth-child(2) {
    order: 2 !important;
  }

  html body.menu-open .site-header .main-nav a:nth-child(3),
  html body.admin-bar.menu-open .site-header .main-nav a:nth-child(3) {
    order: 3 !important;
  }

  html body.menu-open .site-header .main-nav a:nth-child(4),
  html body.admin-bar.menu-open .site-header .main-nav a:nth-child(4) {
    order: 4 !important;
  }

  html body.menu-open .site-header .main-nav a:nth-child(5),
  html body.admin-bar.menu-open .site-header .main-nav a:nth-child(5) {
    order: 5 !important;
  }

  html body.menu-open .site-header .main-nav a:hover,
  html body.menu-open .site-header .main-nav a:focus-visible,
  html body.menu-open .site-header .main-nav a:active,
  html body.menu-open .site-header .main-nav a[aria-current='page'],
  html body.admin-bar.menu-open .site-header .main-nav a:hover,
  html body.admin-bar.menu-open .site-header .main-nav a:focus-visible,
  html body.admin-bar.menu-open .site-header .main-nav a:active,
  html body.admin-bar.menu-open .site-header .main-nav a[aria-current='page'] {
    color: #000 !important;
    background: #7EB7CE !important;
  }

  html body.home.menu-open .site-header .main-nav a:nth-child(1):not(:hover):not(:focus-visible):not(:active),
  html body.admin-bar.home.menu-open .site-header .main-nav a:nth-child(1):not(:hover):not(:focus-visible):not(:active) {
    color: #fff !important;
    background: #000 !important;
  }
}

@media (max-width: 360px) {
  html body .site-header {
    padding-right: 16px !important;
    padding-left: 16px !important;
    grid-template-columns: minmax(0, 1fr) 40px 40px !important;
    column-gap: 10px !important;
  }

  html body .site-header .header-actions {
    width: 90px !important;
    min-width: 90px !important;
    grid-template-columns: 40px 40px !important;
    gap: 10px !important;
  }

  html body .site-header .header-cta,
  html body .mobile-menu-button {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }
}

@media (max-width: 520px) {
  html body .site-footer .footer-logo-block .footer-social {
    display: none !important;
  }

  html body .site-footer .footer-newsletter .footer-social {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 374.68px !important;
    height: 22px !important;
    min-height: 0 !important;
    max-height: 22px !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    align-self: flex-start !important;
    gap: 10.06px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Poppins, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 18px !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter .footer-social strong {
    flex: 0 0 auto !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 600 !important;
  }

  html body .site-footer .footer-newsletter .footer-social a {
    box-sizing: border-box !important;
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.85) !important;
    border-radius: 50% !important;
    background: transparent !important;
  }

  html body .site-footer .footer-newsletter .footer-social svg {
    width: 12px !important;
    height: 12px !important;
  }
}

/* TOC v1.0.275c: true final desktop product-card override. */
@media (min-width: 981px) {
  html body.home .products {
    box-sizing: border-box !important;
    width: min(calc(100vw - 312px), 1592px) !important;
    max-width: 1592px !important;
    margin: 96px auto 0 !important;
    padding: 0 0 66px !important;
    overflow: visible !important;
    background: #fff !important;
  }

  html body.home .products .section-line {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 83px !important;
    margin: 0 0 20px !important;
    padding: 0 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
  }

  html body.home .product-grid {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 31px !important;
    align-items: start !important;
    overflow: visible !important;
    animation: none !important;
    transform: none !important;
  }

  html body.home .product-grid article.product-card-clone,
  html body.home .product-card-clone {
    display: none !important;
  }

  html body.home .product-grid article,
  html body.home .product-grid article.product-card {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html body.home .product-grid article img {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1.06 / 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 10px !important;
    background: #f8f7f4 !important;
  }

  html body.home .product-grid article h3 {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 16px 0 10px !important;
    padding: 0 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 25px !important;
    line-height: 1.05 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.home .product-grid article h3 span {
    display: block !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  html body.home .product-grid article .product-price,
  html body.home .product-grid article .product-description,
  html body.home .product-grid article p {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  html body.home .product-grid article .product-price {
    margin-bottom: 10px !important;
  }
}

.service-detail-desktop-icon-frame,
.service-detail-desktop-icon {
  display: none !important;
}

/* TOC v1.0.282: desktop Dry-Hire detail card measured frame. */
@media (min-width: 981px) {
  html body.home .service-detail[data-active-slug="dry-hire"] {
    box-sizing: border-box !important;
    position: relative !important;
    width: 1003px !important;
    max-width: calc(100vw - 48px) !important;
    height: 339px !important;
    min-height: 339px !important;
    max-height: 339px !important;
    aspect-ratio: auto !important;
    margin: 24px auto 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"]::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 1003px !important;
    max-width: 100% !important;
    height: 284px !important;
    display: block !important;
    background: #000 !important;
    border-radius: 20px !important;
    z-index: 0 !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-banner,
  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-mobile-icon {
    display: none !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-desktop-icon-frame {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 40px !important;
    left: 41px !important;
    width: 230px !important;
    min-width: 230px !important;
    max-width: 230px !important;
    height: 298px !important;
    min-height: 298px !important;
    max-height: 298px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    overflow: visible !important;
    pointer-events: none !important;
    user-select: none !important;
    z-index: 1 !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-desktop-icon {
    box-sizing: border-box !important;
    position: static !important;
    width: 230px !important;
    min-width: 230px !important;
    max-width: 230px !important;
    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
    pointer-events: none !important;
    user-select: none !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 40px !important;
    left: 291px !important;
    width: 671px !important;
    max-width: 671px !important;
    height: 299px !important;
    min-height: 299px !important;
    max-height: 299px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    text-align: left !important;
    pointer-events: auto !important;
    user-select: text !important;
    transform: none !important;
    z-index: 2 !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy.is-active {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 25px !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy h3,
  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy p,
  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy ul,
  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy li {
    box-sizing: border-box !important;
    position: static !important;
    inset: auto !important;
    color: #fff !important;
    text-align: left !important;
    overflow: visible !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy h3 {
    width: 671px !important;
    max-width: 671px !important;
    height: 43px !important;
    min-height: 43px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    font-family: 'Instrument Sans', Arial, sans-serif !important;
    font-size: 43px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy p {
    width: 671px !important;
    max-width: 671px !important;
    height: 19px !important;
    min-height: 19px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 19px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy ul {
    width: 671px !important;
    max-width: 671px !important;
    height: auto !important;
    min-height: 92px !important;
    margin: 0 !important;
    padding: 0 0 0 25px !important;
    display: block !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    white-space: normal !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy li {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    white-space: nowrap !important;
  }
}

/* TOC v1.0.284: desktop section measurement lock for gallery, products, catalogue, and footer. */
html body .site-footer .footer-social img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
}

@media (min-width: 981px) {
  html body.home section.gallery {
    box-sizing: border-box !important;
    position: relative !important;
    width: min(calc(100vw - 318px), 1602px) !important;
    max-width: 1602px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1602 / 620 !important;
    margin: 0 auto 28px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #d9d9d9 !important;
    color: #fff !important;
  }

  html body.home section.gallery .gallery-media-link,
  html body.home section.gallery .gallery-exact {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  html body.home section.gallery .gallery-exact {
    object-fit: cover !important;
    object-position: center !important;
  }

  html body.home section.gallery .gallery-content {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 147.5px !important;
    left: 77px !important;
    width: 462px !important;
    max-width: 462px !important;
    height: 285px !important;
    min-height: 285px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    transform: none !important;
    z-index: 2 !important;
  }

  html body.home section.gallery .gallery-title-desktop {
    display: inline !important;
  }

  html body.home section.gallery .gallery-title-mobile {
    display: none !important;
  }

  html body.home section.gallery .gallery-content h2,
  html body.home section.gallery .gallery-kicker {
    width: 462px !important;
    max-width: 462px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body.home section.gallery .gallery-content h2 {
    height: 45px !important;
    font-weight: 600 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
  }

  html body.home section.gallery .gallery-kicker {
    height: 45px !important;
    margin-bottom: 40px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    text-transform: none !important;
  }

  html body.home section.gallery .gallery-content p:not(.gallery-kicker) {
    width: 462px !important;
    max-width: 462px !important;
    min-height: 40px !important;
    margin: 0 0 40px !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  html body.home section.gallery .gallery-btn {
    box-sizing: border-box !important;
    width: 205px !important;
    min-width: 205px !important;
    max-width: 205px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 13px 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #000 !important;
    background: #fff !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }

  html body.home section.products {
    box-sizing: border-box !important;
    width: min(calc(100vw - 319px), 1601px) !important;
    max-width: 1601px !important;
    margin: 0 auto !important;
    padding: 58px 0 58px !important;
    overflow: visible !important;
    background: #fff !important;
  }

  html body.home .products .section-line {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 60px !important;
    margin: 0 0 30px !important;
    padding: 0 0 0 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
  }

  html body.home .products .section-line h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 40px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.home .products .section-line a {
    width: 172px !important;
    min-width: 172px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin-right: 0 !important;
    color: #fff !important;
    background: #000 !important;
    border-radius: 7px !important;
  }

  html body.home .product-grid {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 30px !important;
    align-items: start !important;
    overflow: visible !important;
    animation: none !important;
    transform: none !important;
  }

  html body.home .product-grid article.product-card-clone,
  html body.home .product-card-clone {
    display: none !important;
  }

  html body.home .product-grid article,
  html body.home .product-grid article.product-card {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body.home .product-grid article img {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1.06 / 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 20px !important;
    background: #f8f7f4 !important;
  }

  html body.home .product-grid article h3 {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 0 0 0 30px !important;
    color: #000 !important;
    font-family: 'HvDTrial Brandon Grotesque', 'Brandon Grotesque', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.home .product-grid article h3 span {
    display: block !important;
    white-space: normal !important;
  }

  html body.home .product-grid article .product-price,
  html body.home .product-grid article .product-description,
  html body.home .product-grid article p {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 0 0 0 30px !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.home .catalogue-band {
    box-sizing: border-box !important;
    position: relative !important;
    width: min(calc(100vw - 319px), 1601px) !important;
    max-width: 1601px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1601 / 435 !important;
    margin: 0 auto 58px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: linear-gradient(120deg, #3F778E 0%, #659DB5 48%, #7EB7CE 100%) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body.home .catalogue-art,
  html body.home .catalogue-art img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
  }

  html body.home .catalogue-art img {
    object-fit: cover !important;
    object-position: center !important;
  }

  html body.home .catalogue-live-copy {
    box-sizing: border-box !important;
    position: absolute !important;
    z-index: 2 !important;
    top: 63px !important;
    left: 67px !important;
    width: 462px !important;
    max-width: 462px !important;
    height: 308px !important;
    min-height: 308px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 40px !important;
    color: #fff !important;
    text-align: center !important;
    transform: none !important;
  }

  html body.home .catalogue-live-copy p,
  html body.home .catalogue-live-copy h2,
  html body.home .catalogue-live-copy h2 .catalogue-mood-word,
  html body.home .catalogue-live-copy h2 .catalogue-question {
    width: 462px !important;
    max-width: 462px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  html body.home .catalogue-live-copy p {
    font-weight: 600 !important;
    font-style: normal !important;
  }

  html body.home .catalogue-live-copy h2,
  html body.home .catalogue-live-copy h2 .catalogue-mood-word {
    display: inline !important;
    font-weight: 500 !important;
    font-style: italic !important;
  }

  html body.home .catalogue-live-copy h2 .catalogue-question {
    display: inline !important;
    font-weight: 600 !important;
    font-style: normal !important;
  }

  html body.home .catalogue-live-copy .catalogue-description {
    width: 449px !important;
    max-width: 449px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  html body.home .catalogue-actions {
    width: 462px !important;
    max-width: 462px !important;
    height: 60px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
  }

  html body.home .catalogue-actions a,
  html body.home .catalogue-actions a:nth-child(2) {
    box-sizing: border-box !important;
    flex: 1 1 0 !important;
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 18px !important;
    border-radius: 8px !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }
}

@media (min-width: 1200px) {
  html body .site-footer#footer-contact,
  html body .site-footer {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    min-height: 521px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    color: #fff !important;
    background: #000 !important;
  }

  html body .site-footer > .footer-logo-block {
    position: absolute !important;
    top: 77px !important;
    left: calc(50% - 699px) !important;
    width: 319px !important;
    height: 167.4px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  html body .site-footer .footer-logo-link,
  html body .site-footer .footer-logo-link img {
    width: 319px !important;
    max-width: 319px !important;
    height: 167.4px !important;
    display: block !important;
  }

  html body .site-footer .footer-logo-link img {
    object-fit: contain !important;
    object-position: left center !important;
  }

  html body .site-footer > .footer-col {
    position: absolute !important;
    top: 68px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 150px !important;
    color: #fff !important;
    text-align: left !important;
  }

  html body .site-footer > .footer-col[aria-label="Company links"] {
    left: calc(50% - 285px) !important;
  }

  html body .site-footer > .footer-col[aria-label="Support links"] {
    left: calc(50% - 93px) !important;
  }

  html body .site-footer .footer-col h3,
  html body .site-footer .footer-newsletter h3 {
    margin: 0 0 28px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 26px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-col a {
    margin: 0 0 20px !important;
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
  }

  html body .site-footer > .footer-newsletter {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 68px !important;
    left: calc(50% + 150px) !important;
    width: 610px !important;
    height: 360px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
  }

  html body .site-footer .footer-newsletter h3 {
    margin-bottom: 24px !important;
    white-space: nowrap !important;
  }

  html body .site-footer .footer-newsletter > p:first-of-type {
    margin: 0 0 32px !important;
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter p strong {
    color: #fff !important;
    font-weight: 600 !important;
  }

  html body .site-footer .footer-newsletter form {
    width: 610px !important;
    max-width: 610px !important;
    margin: 0 0 38px !important;
    padding: 0 !important;
    display: grid !important;
    gap: 18px !important;
  }

  html body .site-footer .footer-newsletter input[type="email"],
  html body .site-footer .footer-newsletter button {
    width: 610px !important;
    max-width: 610px !important;
    height: 51px !important;
    min-height: 51px !important;
    border-radius: 10px !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter .footer-small {
    width: 610px !important;
    max-width: 610px !important;
    margin: 0 0 30px !important;
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-social {
    box-sizing: border-box !important;
    width: 168.75px !important;
    height: 25.38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 30px !important;
    color: #fff !important;
  }

  html body .site-footer .footer-social strong {
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 25px !important;
    line-height: 25.38px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body .site-footer .footer-social a {
    width: 25.38px !important;
    min-width: 25.38px !important;
    height: 25.38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #fff !important;
    background: transparent !important;
  }

  html body .site-footer .footer-social img {
    width: 25.38px !important;
    height: 25.38px !important;
    display: block !important;
    object-fit: contain !important;
  }

  html body .site-footer a:hover,
  html body .site-footer a:focus-visible,
  html body .site-footer .footer-social a:hover,
  html body .site-footer .footer-social a:focus-visible {
    color: #f4c65e !important;
  }

  html body .site-footer .footer-social a:hover img,
  html body .site-footer .footer-social a:focus-visible img {
    filter: brightness(0) saturate(100%) invert(82%) sepia(52%) saturate(758%) hue-rotate(354deg) brightness(101%) contrast(91%) !important;
  }
}

/* TOC v1.0.285b: true-final nested desktop specificity cleanup. */
@media (min-width: 981px) {
  html body.home section.gallery .gallery-content h2,
  html body.home section.gallery .gallery-content h2 span,
  html body.home section.gallery .gallery-kicker {
    width: 462px !important;
    max-width: 462px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 45px !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body.home section.gallery .gallery-content h2,
  html body.home section.gallery .gallery-content h2 span {
    height: 45px !important;
    font-weight: 600 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
  }

  html body.home section.gallery .gallery-kicker {
    height: 45px !important;
    margin-bottom: 40px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    text-transform: none !important;
  }

  html body.home .catalogue-band .catalogue-live-copy > p,
  html body.home .catalogue-band .catalogue-live-copy > h2,
  html body.home .catalogue-band .catalogue-live-copy > h2 .catalogue-mood-word,
  html body.home .catalogue-band .catalogue-live-copy > h2 .catalogue-question {
    width: 462px !important;
    max-width: 462px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 45px !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  html body.home .catalogue-band .catalogue-live-copy > p {
    font-weight: 600 !important;
    font-style: normal !important;
  }

  html body.home .catalogue-band .catalogue-live-copy > h2,
  html body.home .catalogue-band .catalogue-live-copy > h2 .catalogue-mood-word {
    display: block !important;
    font-weight: 500 !important;
    font-style: italic !important;
  }

  html body.home .catalogue-band .catalogue-live-copy > h2 .catalogue-question {
    display: inline !important;
    font-weight: 600 !important;
    font-style: normal !important;
  }

  html body.home .catalogue-band .catalogue-live-copy .catalogue-actions {
    box-sizing: border-box !important;
    width: 462px !important;
    max-width: 462px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
  }
}

@media (min-width: 1200px) {
  html body .site-footer .footer-newsletter .footer-social {
    box-sizing: border-box !important;
    width: 168.75px !important;
    max-width: 168.75px !important;
    height: 25.38px !important;
    min-height: 25.38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 30px !important;
    color: #fff !important;
    font-size: 25px !important;
    line-height: 25.38px !important;
  }

  html body .site-footer .footer-newsletter .footer-social strong {
    width: auto !important;
    height: 25.38px !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 25px !important;
    line-height: 25.38px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body .site-footer .footer-newsletter .footer-social a {
    width: 25.38px !important;
    min-width: 25.38px !important;
    max-width: 25.38px !important;
    height: 25.38px !important;
    min-height: 25.38px !important;
    max-height: 25.38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  html body .site-footer .footer-newsletter .footer-social img {
    width: 25.38px !important;
    min-width: 25.38px !important;
    max-width: 25.38px !important;
    height: 25.38px !important;
    min-height: 25.38px !important;
    max-height: 25.38px !important;
    display: block !important;
    object-fit: contain !important;
  }
}

/* TOC v1.0.289: final Favorite Products desktop Figma measurement lock. */
@media (min-width: 981px) {
  html body.home section.products {
    box-sizing: border-box !important;
    width: min(calc(100vw - 328px), 1592px) !important;
    max-width: 1592px !important;
    min-height: 625px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 35px !important;
    overflow: visible !important;
    background: #fff !important;
  }

  html body.home section.products .section-line {
    box-sizing: border-box !important;
    width: 1592px !important;
    max-width: 100% !important;
    height: 83px !important;
    min-height: 83px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex: 0 0 83px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
  }

  html body.home section.products .section-line h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 40px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.home section.products .section-line a {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body.home section.products .product-grid {
    box-sizing: border-box !important;
    width: 1592px !important;
    max-width: 100% !important;
    height: 512.33px !important;
    min-height: 512.33px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, 374.12px) !important;
    justify-content: space-between !important;
    gap: 31.51px !important;
    align-items: start !important;
    overflow: visible !important;
    animation: none !important;
    transform: none !important;
  }

  html body.home section.products .product-grid > article.product-card-clone,
  html body.home section.products .product-grid > .product-card-clone,
  html body.home section.products .product-grid > [aria-hidden="true"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) {
    box-sizing: border-box !important;
    width: 374.12px !important;
    min-width: 374.12px !important;
    max-width: 374.12px !important;
    height: 512.33px !important;
    min-height: 512.33px !important;
    max-height: 512.33px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 19.77px 19.77px 10.16px 10.16px !important;
    box-shadow: none !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > img {
    box-sizing: border-box !important;
    width: 374.12px !important;
    min-width: 374.12px !important;
    max-width: 374.12px !important;
    height: 352.87px !important;
    min-height: 352.87px !important;
    max-height: 352.87px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    flex: 0 0 352.87px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 19.77px 19.77px 0 0 !important;
    background: #f8f7f4 !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > h3 {
    box-sizing: border-box !important;
    width: 374.12px !important;
    min-width: 374.12px !important;
    max-width: 374.12px !important;
    min-height: 60px !important;
    margin: 20.04px 0 0 !important;
    padding: 0 0 0 30px !important;
    color: #000 !important;
    background: #fff !important;
    font-family: 'HvDTrial Brandon Grotesque', 'Brandon Grotesque', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > h3 span {
    display: block !important;
    white-space: normal !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > .product-price {
    box-sizing: border-box !important;
    width: 374.12px !important;
    min-width: 374.12px !important;
    max-width: 374.12px !important;
    margin: 21.38px 0 0 !important;
    padding: 0 0 0 30px !important;
    display: block !important;
    color: #000 !important;
    background: #fff !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > .product-description {
    display: none !important;
  }
}

/* TOC v1.0.290: final product title visible-line font lock. */
@media (min-width: 981px) {
  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > h3,
  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > h3 span {
    font-family: 'HvDTrial Brandon Grotesque', 'Brandon Grotesque', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 30px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }
}

/* TOC v1.0.291: product image corner and fallback font correction. */
@media (min-width: 981px) {
  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > img {
    border-radius: 20px !important;
  }

  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > h3,
  html body.home section.products .product-grid > article.product-card:not(.product-card-clone) > h3 span {
    font-family: 'HvDTrial Brandon Grotesque', 'Brandon Grotesque', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 30px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }
}

/* TOC v1.0.292: return Dry-Hire desktop detail to the normal service banner card. */
@media (min-width: 981px) {
  html body.home .service-detail[data-active-slug="dry-hire"] {
    box-sizing: border-box !important;
    position: relative !important;
    width: 1003px !important;
    max-width: calc(100vw - 48px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 24px auto 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 13px !important;
    box-shadow: none !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"]::before {
    content: none !important;
    display: none !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-banner {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    object-fit: cover !important;
    border-radius: 0 !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-desktop-icon-frame,
  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-desktop-icon,
  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-mobile-icon {
    display: none !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 44px !important;
    left: 270px !important;
    width: 671px !important;
    max-width: 671px !important;
    height: 212px !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    text-align: left !important;
    pointer-events: auto !important;
    user-select: text !important;
    transform: none !important;
    transform-origin: top left !important;
    z-index: 2 !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy.is-active {
    display: block !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy h3 {
    box-sizing: border-box !important;
    position: static !important;
    inset: auto !important;
    width: 671px !important;
    max-width: 671px !important;
    height: 43px !important;
    min-height: 43px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible !important;
    color: #fff !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 42.89px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: normal !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy p {
    box-sizing: border-box !important;
    position: absolute !important;
    left: 0 !important;
    top: 68px !important;
    width: 671px !important;
    max-width: 671px !important;
    height: 19px !important;
    min-height: 19px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    color: #fff !important;
    font-family: 'Nanum Gothic', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 18.87px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy ul {
    box-sizing: border-box !important;
    position: absolute !important;
    left: 0 !important;
    top: 112px !important;
    width: 359px !important;
    max-width: 359px !important;
    height: 100px !important;
    min-height: 100px !important;
    margin: 0 !important;
    padding: 0 0 0 18px !important;
    display: block !important;
    overflow: visible !important;
    color: #fff !important;
    font-family: 'Lato', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 18.87px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    text-align: left !important;
    white-space: normal !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-copy li {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    white-space: normal !important;
  }
}

/* TOC v1.0.293: gallery desktop Figma typography and frame lock. */
@media (min-width: 981px) {
  html body.home section.gallery {
    box-sizing: border-box !important;
    position: relative !important;
    width: 1602px !important;
    max-width: calc(100vw - 60px) !important;
    height: 620px !important;
    min-height: 620px !important;
    margin: 0 auto 28px !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    background: #d9d9d9 !important;
  }

  html body.home section.gallery .gallery-media-link,
  html body.home section.gallery .gallery-exact {
    box-sizing: border-box !important;
    width: 1602px !important;
    max-width: 100% !important;
    height: 620px !important;
    min-height: 620px !important;
    display: block !important;
  }

  html body.home section.gallery .gallery-exact {
    object-fit: cover !important;
    object-position: center !important;
  }

  html body.home section.gallery .gallery-content {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 147.5px !important;
    left: 77px !important;
    width: 462px !important;
    height: 285px !important;
    min-height: 285px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    text-align: center !important;
    transform: none !important;
    color: #fff !important;
  }

  html body.home section.gallery .gallery-content h2 {
    box-sizing: border-box !important;
    width: 462px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Inter, Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 45px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  html body.home section.gallery .gallery-title-desktop {
    display: block !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
  }

  html body.home section.gallery .gallery-title-mobile {
    display: none !important;
  }

  html body.home section.gallery .gallery-kicker {
    box-sizing: border-box !important;
    width: 462px !important;
    height: 45px !important;
    min-height: 45px !important;
    margin: 0 0 40px !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Inter, Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 45px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  html body.home section.gallery .gallery-content > p:not(.gallery-kicker) {
    box-sizing: border-box !important;
    width: 462px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 0 40px !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  html body.home section.gallery .gallery-btn {
    box-sizing: border-box !important;
    width: 205px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 13px 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    color: #000 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-family: 'Instrument Sans', Inter, Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }
}

/* TOC v1.0.294: high-specificity gallery heading lock for reviewer inspection. */
@media (min-width: 981px) {
  html body.home main > section#gallery.gallery .gallery-content > h2 {
    box-sizing: border-box !important;
    width: 462px !important;
    max-width: 462px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Inter, Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 45px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  html body.home main > section#gallery.gallery .gallery-content > h2 > .gallery-title-desktop {
    width: 462px !important;
    max-width: 462px !important;
    height: 45px !important;
    min-height: 45px !important;
    display: block !important;
    font-family: 'Instrument Sans', Inter, Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 45px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  html body.home main > section#gallery.gallery .gallery-content > p.gallery-kicker {
    box-sizing: border-box !important;
    width: 462px !important;
    max-width: 462px !important;
    height: 45px !important;
    min-height: 45px !important;
    margin: 0 0 40px !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Inter, Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 45px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }
}

/* TOC v1.0.295: remove old 515px gallery min-width on desktop text wrappers. */
@media (min-width: 981px) {
  html body.home main > section#gallery.gallery .gallery-content > h2,
  html body.home main > section#gallery.gallery .gallery-content > p.gallery-kicker {
    width: 462px !important;
    min-width: 462px !important;
    max-width: 462px !important;
    letter-spacing: 0 !important;
  }
}

/* TOC v1.0.297: footer newsletter legal copy and social-icon spacing lock. */
@media (min-width: 1200px) {
  html body .site-footer > .footer-newsletter {
    width: 550.12px !important;
    max-width: 550.12px !important;
    height: 329px !important;
    min-height: 329px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 27px !important;
  }

  html body .site-footer .footer-newsletter h3,
  html body .site-footer .footer-newsletter > p:first-of-type,
  html body .site-footer .footer-newsletter form,
  html body .site-footer .footer-newsletter .footer-small,
  html body .site-footer .footer-newsletter .footer-social {
    margin: 0 !important;
  }

  html body .site-footer .footer-newsletter form {
    width: 550.12px !important;
    max-width: 550.12px !important;
    gap: 16px !important;
  }

  html body .site-footer .footer-newsletter input[type="email"],
  html body .site-footer .footer-newsletter button {
    width: 550.12px !important;
    max-width: 550.12px !important;
  }

  html body .site-footer .footer-newsletter .footer-small {
    width: 432px !important;
    max-width: 432px !important;
    min-height: 42px !important;
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 150% !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter .footer-small a {
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 150% !important;
    font-weight: 400 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 0 !important;
  }

  html body .site-footer .footer-newsletter .footer-social {
    width: 169.75px !important;
    max-width: 169.75px !important;
    height: 27px !important;
    min-height: 27px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 30px !important;
  }

  html body .site-footer .footer-newsletter .footer-social-copy {
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 25px !important;
    line-height: 27px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body .site-footer .footer-newsletter .footer-social-icons {
    width: 56.75px !important;
    max-width: 56.75px !important;
    height: 25.38px !important;
    min-height: 25.38px !important;
    display: flex !important;
    flex: 0 0 56.75px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
  }

  html body .site-footer .footer-newsletter .footer-social-icons a {
    width: 25.38px !important;
    min-width: 25.38px !important;
    max-width: 25.38px !important;
    height: 25.38px !important;
    min-height: 25.38px !important;
    max-height: 25.38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  html body .site-footer .footer-newsletter .footer-social-icons img {
    width: 25.38px !important;
    min-width: 25.38px !important;
    max-width: 25.38px !important;
    height: 25.38px !important;
    min-height: 25.38px !important;
    max-height: 25.38px !important;
    display: block !important;
    object-fit: contain !important;
  }
}

/* TOC v1.0.298: approved wide About composition; tablet is defined in inner-pages.css. */
@media (min-width: 1441px) {
  html body.about-page main .about-content-section {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
  }

  html body.about-page main .about-content-section .about-row,
  html body.about-page main .about-content-section .about-row.about-row-top,
  html body.about-page main .about-content-section .about-row.about-row-bottom {
    box-sizing: border-box !important;
    width: min(1585px, calc(100vw - 32px)) !important;
    max-width: 1585px !important;
    height: 527px !important;
    min-height: 527px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 0 !important;
    display: grid !important;
    align-items: stretch !important;
    justify-content: center !important;
    column-gap: 80px !important;
    row-gap: 0 !important;
    overflow: visible !important;
  }

  html body.about-page main .about-content-section .about-row.about-row-top {
    grid-template-columns: minmax(0, 775fr) minmax(0, 730fr) !important;
    margin-top: 0 !important;
    margin-bottom: 80px !important;
  }

  html body.about-page main .about-content-section .about-row.about-row-bottom {
    grid-template-columns: minmax(0, 730fr) minmax(0, 775fr) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  html body.about-page main .about-content-section .about-image,
  html body.about-page main .about-content-section .about-team-image,
  html body.about-page main .about-content-section .about-work-image {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 527px !important;
    min-height: 527px !important;
    max-height: 527px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: transparent !important;
    align-self: stretch !important;
    justify-self: stretch !important;
  }

  html body.about-page main .about-content-section .about-image picture,
  html body.about-page main .about-content-section .about-team-image picture,
  html body.about-page main .about-content-section .about-work-image picture,
  html body.about-page main .about-content-section .about-image img,
  html body.about-page main .about-content-section .about-team-image img,
  html body.about-page main .about-content-section .about-work-image img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 527px !important;
    min-height: 527px !important;
    max-height: 527px !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  html body.about-page main .about-content-section .about-copy,
  html body.about-page main .about-content-section .about-copy-right,
  html body.about-page main .about-content-section .about-copy-left {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 527px !important;
    min-height: 527px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    overflow: visible !important;
  }

  html body.about-page main .about-content-section .about-copy h2,
  html body.about-page main .about-content-section .about-copy h2:not(#toc-about-heading-lock) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 732px !important;
    min-height: 99px !important;
    margin: 0 0 55px !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 100% !important;
    font-weight: 600 !important;
    font-style: normal !important;
    letter-spacing: 2px !important;
    text-transform: none !important;
  }

  html body.about-page main .about-content-section .about-copy h2 em {
    display: block !important;
    color: inherit !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 100% !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 2px !important;
  }

  html body.about-page main .about-content-section .about-copy p {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 730px !important;
    margin: 0 0 17px !important;
    padding: 0 !important;
  }

  html body.about-page main .about-content-section .about-copy p:last-child {
    margin-bottom: 0 !important;
  }
}

/* TOC v1.0.299: home catalogue content width, section breathing room, and testimonials title lock. */
@media (min-width: 981px) {
  html body.home .catalogue-band {
    margin-top: 90px !important;
    margin-bottom: 96px !important;
  }

  html body.home .warehouse {
    margin-bottom: 96px !important;
  }

  html body.home .catalogue-band .catalogue-live-copy {
    box-sizing: border-box !important;
    width: 462px !important;
    max-width: 462px !important;
    height: 308px !important;
    min-height: 308px !important;
    display: block !important;
    text-align: center !important;
  }

  html body.home .catalogue-band .catalogue-live-copy > p {
    box-sizing: border-box !important;
    width: 462px !important;
    max-width: 462px !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 120% !important;
    font-weight: 600 !important;
    font-style: normal !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body.home .catalogue-band .catalogue-live-copy > h2 {
    box-sizing: border-box !important;
    width: 462px !important;
    max-width: 462px !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 0 0 40px !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 120% !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body.home .catalogue-band .catalogue-live-copy > h2 .catalogue-mood-word,
  html body.home .catalogue-band .catalogue-live-copy > h2 .catalogue-question {
    display: inline !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 120% !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 2px !important;
    text-align: center !important;
  }

  html body.home .catalogue-band .catalogue-live-copy .catalogue-description {
    box-sizing: border-box !important;
    width: 462px !important;
    max-width: 462px !important;
    min-height: 60px !important;
    margin: 0 0 40px !important;
    padding: 0 !important;
  }

  html body.home .catalogue-band .catalogue-live-copy .catalogue-actions {
    box-sizing: border-box !important;
    width: 462px !important;
    max-width: 462px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
  }

  html body.home section.testimonials#testimonials {
    padding-top: 93px !important;
  }

  html body.home section.testimonials#testimonials > h2,
  html body.home .testimonials#testimonials > h2 {
    box-sizing: border-box !important;
    width: 560px !important;
    max-width: 560px !important;
    min-height: 83px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 120% !important;
    font-weight: 600 !important;
    font-style: normal !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    text-transform: none !important;
  }
}

/* TOC v1.0.300: restrained desktop spacing between home sections. */
@media (min-width: 981px) {
  html body.home .start-strip {
    margin-bottom: 52px !important;
  }

  html body.home section.gallery {
    margin-bottom: 64px !important;
  }

  html body.home .catalogue-band {
    margin-top: 56px !important;
  }
}

/* TOC v1.0.301: align catalogue and warehouse desktop frames. */
@media (min-width: 981px) {
  html body.home .catalogue-band,
  html body.home .catalogue-band + .warehouse {
    box-sizing: border-box !important;
    width: min(1601px, calc(100vw - 60px)) !important;
    max-width: 1601px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

/* TOC v1.0.302: desktop warehouse right-panel Figma lock. */
@media (min-width: 981px) {
  html body.home .catalogue-band + .warehouse {
    min-height: 648px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: stretch !important;
  }

  html body.home .warehouse .warehouse-panel {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 648px !important;
    padding: 88px 79px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background: #fff !important;
    text-align: center !important;
  }

  html body.home .warehouse .warehouse-panel .location-icon {
    box-sizing: border-box !important;
    width: 98.47px !important;
    height: 97.41px !important;
    min-width: 98.47px !important;
    min-height: 97.41px !important;
    margin: 0 !important;
    padding: 7.16px 5.37px !important;
    display: block !important;
    color: #000 !important;
  }

  html body.home .warehouse .warehouse-panel .location-icon img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: contain !important;
  }

  html body.home .warehouse .warehouse-panel h2 {
    box-sizing: border-box !important;
    width: 515px !important;
    max-width: 100% !important;
    min-height: 83px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 100% !important;
    font-weight: 600 !important;
    font-style: normal !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    text-transform: none !important;
  }

  html body.home .warehouse .warehouse-panel h2 em {
    display: block !important;
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: inherit !important;
  }

  html body.home .warehouse .warehouse-panel p {
    box-sizing: border-box !important;
    width: 481px !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 150% !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  html body.home .warehouse .warehouse-panel p strong {
    font-weight: 600 !important;
  }

  html body.home .warehouse .warehouse-panel address {
    box-sizing: border-box !important;
    width: 481px !important;
    max-width: 100% !important;
    margin: 0 !important;
    color: #000 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 150% !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  html body.home .warehouse .warehouse-panel a {
    box-sizing: border-box !important;
    width: 245px !important;
    min-width: 245px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 15px 81px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: #000 !important;
    border-radius: 10px !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 18px !important;
    line-height: 21.45px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }
}

/* TOC v1.0.303: small desktop gap between services and gallery. */
@media (min-width: 981px) {
  html body.home .services + section.gallery,
  html body.home .services + .gallery {
    margin-top: 16px !important;
  }
}

/* TOC v1.0.304: header phone and CTA hover colours from Figma. */
@media (min-width: 981px) {
  html body .site-header .phone-link,
  html body.about-page .site-header .phone-link,
  html body.contact-page .site-header .phone-link,
  html body.policy-page .site-header .phone-link {
    color: #fff !important;
  }

  html body .site-header .phone-link::before,
  html body.about-page .site-header .phone-link::before,
  html body.contact-page .site-header .phone-link::before,
  html body.policy-page .site-header .phone-link::before {
    background: url('../rsc/icons/header-phone-white.png') center / contain no-repeat !important;
  }

  html body .site-header .phone-link:hover,
  html body .site-header .phone-link:focus-visible,
  html body.about-page .site-header .phone-link:hover,
  html body.about-page .site-header .phone-link:focus-visible,
  html body.contact-page .site-header .phone-link:hover,
  html body.contact-page .site-header .phone-link:focus-visible,
  html body.policy-page .site-header .phone-link:hover,
  html body.policy-page .site-header .phone-link:focus-visible {
    color: #f4c65e !important;
  }

  html body .site-header .phone-link:hover::before,
  html body .site-header .phone-link:focus-visible::before,
  html body.about-page .site-header .phone-link:hover::before,
  html body.about-page .site-header .phone-link:focus-visible::before,
  html body.contact-page .site-header .phone-link:hover::before,
  html body.contact-page .site-header .phone-link:focus-visible::before,
  html body.policy-page .site-header .phone-link:hover::before,
  html body.policy-page .site-header .phone-link:focus-visible::before {
    background-image: url('../rsc/icons/header-phone-gold.png') !important;
  }

  html body .site-header .header-cta,
  html body.about-page .site-header .header-cta,
  html body.contact-page .site-header .header-cta,
  html body.policy-page .site-header .header-cta {
    color: #000 !important;
    background: #fff !important;
  }

  html body .site-header .header-cta:hover,
  html body .site-header .header-cta:focus-visible,
  html body.about-page .site-header .header-cta:hover,
  html body.about-page .site-header .header-cta:focus-visible,
  html body.contact-page .site-header .header-cta:hover,
  html body.contact-page .site-header .header-cta:focus-visible,
  html body.policy-page .site-header .header-cta:hover,
  html body.policy-page .site-header .header-cta:focus-visible {
    color: #000 !important;
    background: #f4c65e !important;
  }
}

/* TOC v1.0.305: footer newsletter Figma typography and wording lock. */
@media (min-width: 1200px) {
  html body .site-footer > .footer-newsletter {
    width: 550.12px !important;
    max-width: 550.12px !important;
    height: 329px !important;
    min-height: 329px !important;
    gap: 27px !important;
  }

  html body .site-footer .footer-newsletter h3 {
    box-sizing: border-box !important;
    width: 550.12px !important;
    max-width: 550.12px !important;
    min-height: 32px !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 150% !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  html body .site-footer .footer-newsletter > p:first-of-type {
    box-sizing: border-box !important;
    width: 550.12px !important;
    max-width: 550.12px !important;
    min-height: 27px !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 150% !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-transform: none !important;
  }

  html body .site-footer .footer-newsletter > p:first-of-type strong {
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 150% !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter .footer-small,
  html body .site-footer .footer-newsletter .footer-small a {
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 150% !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }
}

/* TOC v1.0.306: footer newsletter input and CTA Figma lock. */
@media (min-width: 1200px) {
  html body .site-footer .footer-newsletter form {
    box-sizing: border-box !important;
    width: 550.12px !important;
    max-width: 550.12px !important;
    height: 105px !important;
    min-height: 105px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 13px !important;
  }

  html body .site-footer .footer-newsletter input[type="email"],
  html body .site-footer .footer-newsletter button {
    box-sizing: border-box !important;
    width: 550.12px !important;
    min-width: 550.12px !important;
    max-width: 550.12px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    border-radius: 10px !important;
    border: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    font-family: 'Helvetica Neue', 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 150% !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }

  html body .site-footer .footer-newsletter input[type="email"] {
    padding: 7px 30px !important;
    color: #000 !important;
    background: #fff !important;
  }

  html body .site-footer .footer-newsletter input[type="email"]::placeholder {
    color: #000 !important;
    opacity: 1 !important;
    font-family: 'Helvetica Neue', 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 150% !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body .site-footer .footer-newsletter button {
    padding: 10px 30px !important;
    color: #fff !important;
    background: linear-gradient(180deg, #bc9337 0%, #e5b853 31%, #f4c65e 50%, #d6aa48 72%, #926e1e 100%) !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
  }
}

/* TOC v1.0.307: reduce footer dead space before copyright. */
@media (min-width: 1200px) {
  html body .site-footer#footer-contact,
  html body .site-footer {
    min-height: 430px !important;
    height: 430px !important;
    max-height: 430px !important;
  }
}

@media (max-width: 520px) {
  html body .site-footer#footer-contact,
  html body .site-footer {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 28px !important;
    overflow: visible !important;
  }

  html body .site-footer .footer-newsletter .footer-small,
  html body .site-footer .footer-small {
    margin-bottom: 18px !important;
  }

  html body .site-footer .footer-social {
    position: static !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 374.68px !important;
    min-height: 0 !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
  }
}

/* TOC v1.0.309: mobile service detail cards with live Figma text layers. */
@media (max-width: 520px) {
  html body.home .service-detail[data-active-slug] {
    box-sizing: border-box !important;
    position: relative !important;
    width: min(393px, calc(100vw - 21px)) !important;
    max-width: min(393px, calc(100vw - 21px)) !important;
    height: 505px !important;
    min-height: 505px !important;
    max-height: 505px !important;
    margin: 30px auto 74px !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body.home .service-detail-banner,
  html body.home .service-detail-desktop-icon-frame,
  html body.home .service-detail-desktop-icon {
    display: none !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 76px !important;
    left: 38px !important;
    width: min(342px, calc(100% - 51px)) !important;
    max-width: min(342px, calc(100% - 51px)) !important;
    height: auto !important;
    min-height: 275px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: none !important;
    color: #fff !important;
    text-align: left !important;
    transform: none !important;
    z-index: 3 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy.is-active {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 25px !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy h3,
  html body.home .service-detail[data-active-slug] .service-detail-copy p,
  html body.home .service-detail[data-active-slug] .service-detail-copy ul,
  html body.home .service-detail[data-active-slug] .service-detail-copy li {
    box-sizing: border-box !important;
    position: static !important;
    inset: auto !important;
    padding: 0 !important;
    color: #fff !important;
    text-align: left !important;
    text-transform: none !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy h3 {
    width: min(342px, 100%) !important;
    max-width: min(342px, 100%) !important;
    height: auto !important;
    min-height: 86px !important;
    margin: 0 !important;
    display: block !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 43px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy p {
    width: min(342px, 100%) !important;
    max-width: min(342px, 100%) !important;
    height: auto !important;
    min-height: 55px !important;
    margin: 0 !important;
    display: block !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy ul {
    width: min(342px, 100%) !important;
    max-width: min(342px, 100%) !important;
    height: auto !important;
    min-height: 84px !important;
    margin: 0 !important;
    padding-left: 24px !important;
    display: block !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy li {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-left: 6px !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-mobile-icon {
    position: absolute !important;
    right: 35px !important;
    bottom: 18px !important;
    width: 220px !important;
    max-width: none !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: drop-shadow(0 16px 7px rgba(0, 0, 0, .36)) !important;
    pointer-events: none !important;
    user-select: none !important;
    z-index: 2 !important;
  }

  html body.home .service-detail[data-active-slug="event-planning"] .service-detail-mobile-icon {
    right: 56px !important;
    bottom: 1px !important;
    width: 131px !important;
  }

  html body.home .service-detail[data-active-slug="event-management"] .service-detail-mobile-icon {
    right: 53px !important;
    bottom: 5px !important;
    width: 173px !important;
  }

  html body.home .service-detail[data-active-slug="event-styling"] .service-detail-mobile-icon {
    right: 71px !important;
    bottom: 0 !important;
    width: 139px !important;
  }

  html body.home .service-detail[data-active-slug="decor-furniture"] .service-detail-mobile-icon {
    right: 57px !important;
    bottom: 1px !important;
    width: 175px !important;
  }

  html body.home .service-detail[data-active-slug="dry-hire"] .service-detail-mobile-icon {
    right: 50px !important;
    bottom: 1px !important;
    width: 159px !important;
  }

  html body.home .service-detail[data-active-slug="staffing"] .service-detail-mobile-icon {
    right: 59px !important;
    bottom: 11px !important;
    width: 106px !important;
  }

  html body.home .service-detail[data-active-slug="catering"] .service-detail-mobile-icon {
    right: 73px !important;
    bottom: 1px !important;
    width: 162px !important;
  }

  html body.home .service-detail[data-active-slug="floral-centerpieces"] .service-detail-mobile-icon {
    right: 69px !important;
    bottom: 1px !important;
    width: 176px !important;
  }

  html body.home .service-detail[data-active-slug="backdrops-arches"] .service-detail-mobile-icon {
    right: 71px !important;
    bottom: 0 !important;
    width: 141px !important;
  }

  html body.home .service-detail[data-active-slug="entertainment"] .service-detail-mobile-icon {
    right: 80px !important;
    bottom: 1px !important;
    width: 117px !important;
  }
}

@media (max-width: 380px) {
  html body.home .service-detail[data-active-slug] .service-detail-copy {
    left: 28px !important;
    width: calc(100% - 48px) !important;
    max-width: calc(100% - 48px) !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy h3 {
    font-size: clamp(38px, 11.2vw, 43px) !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy p {
    font-size: clamp(16px, 5vw, 18px) !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy ul {
    font-size: clamp(14px, 4.45vw, 16px) !important;
  }
}

/* TOC v1.0.310: warehouse copy and map CTA text lock. */
.warehouse-copy {
  display: contents;
}

@media (min-width: 981px) {
  html body.home .warehouse .warehouse-panel .warehouse-copy {
    box-sizing: border-box !important;
    width: 481px !important;
    max-width: 100% !important;
    height: 139px !important;
    min-height: 139px !important;
    max-height: 139px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 23.1px !important;
    overflow: visible !important;
  }

  html body.home .warehouse .warehouse-panel .warehouse-copy p,
  html body.home .warehouse .warehouse-panel .warehouse-copy address {
    box-sizing: border-box !important;
    width: 481px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 23.1px !important;
    font-weight: 300 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
  }

  html body.home .warehouse .warehouse-panel .warehouse-copy p strong {
    font-weight: 600 !important;
  }

  html body.home .warehouse .warehouse-panel a {
    width: 245px !important;
    min-width: 245px !important;
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 48px !important;
    border-radius: 10px !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 18px !important;
    line-height: 21.45px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }
}

/* TOC v1.0.311: final mobile service selector and live-text card lock. */
body.home .service-detail-mobile-card {
  display: none;
}

@media (max-width: 520px) {
  html body.home .services {
    overflow-x: hidden !important;
  }

  html body.home .service-tabs {
    box-sizing: border-box !important;
    width: min(370px, calc(100vw - 28px)) !important;
    max-width: min(370px, calc(100vw - 28px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 170px)) !important;
    grid-auto-rows: 178.27px !important;
    justify-content: space-between !important;
    align-content: start !important;
    align-items: start !important;
    gap: 34px 30px !important;
  }

  html body.home .service-tab,
  html body.home .service-tab.is-active {
    box-sizing: border-box !important;
    position: relative !important;
    width: 170px !important;
    height: 178.27px !important;
    min-width: 170px !important;
    min-height: 178.27px !important;
    max-width: 170px !important;
    max-height: 178.27px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #2f7f97 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    transform: none !important;
  }

  html body.home .service-tab .service-art,
  html body.home .service-tab.is-active .service-art {
    box-sizing: border-box !important;
    position: relative !important;
    width: 170px !important;
    height: 130px !important;
    min-width: 170px !important;
    min-height: 130px !important;
    max-width: 170px !important;
    max-height: 130px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible !important;
  }

  html body.home .service-tab .service-art img,
  html body.home .service-tab.is-active .service-art img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 130px !important;
    height: 130px !important;
    max-width: 130px !important;
    max-height: 130px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 18px !important;
  }

  html body.home .service-tab.is-active .service-art img.state-active {
    width: 130px !important;
    height: 130px !important;
    max-width: 130px !important;
    max-height: 130px !important;
    display: block !important;
  }

  html body.home .service-tab .service-art img.state-normal {
    display: block !important;
  }

  html body.home .service-tab .service-art img.state-hover,
  html body.home .service-tab .service-art img.state-active,
  html body.home .service-tab.is-active .service-art img.state-normal,
  html body.home .service-tab.is-active .service-art img.state-hover {
    display: none !important;
  }

  html body.home .service-tab:not(.is-active):hover .service-art img.state-normal {
    display: none !important;
  }

  html body.home .service-tab:not(.is-active):hover .service-art img.state-hover {
    display: block !important;
  }

  html body.home .service-tab .service-label,
  html body.home .service-tab.is-active .service-label {
    box-sizing: border-box !important;
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
    height: 38.27px !important;
    min-height: 38.27px !important;
    max-height: 38.27px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #2f7f97 !important;
    border-radius: 7px !important;
    color: #2f7f97 !important;
    background: transparent !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: normal !important;
    opacity: 1 !important;
    transform: none !important;
  }

  html body.home .service-tab.is-active .service-label {
    border-color: transparent !important;
    color: #000 !important;
    background: transparent !important;
  }

  html body.home .service-detail[data-active-slug] {
    box-sizing: border-box !important;
    position: relative !important;
    width: min(393px, calc(100vw - 21px)) !important;
    max-width: min(393px, calc(100vw - 21px)) !important;
    aspect-ratio: 393 / 505 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 30px auto 74px !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 13px !important;
    box-shadow: none !important;
  }

  html body.home .service-detail-banner,
  html body.home .service-detail-desktop-icon-frame,
  html body.home .service-detail-desktop-icon,
  html body.home .service-detail-mobile-icon {
    display: none !important;
  }

  html body.home .service-detail-mobile-card {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    pointer-events: none !important;
    user-select: none !important;
    z-index: 1 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 30px !important;
    left: 17px !important;
    width: min(342px, calc(100% - 34px)) !important;
    max-width: min(342px, calc(100% - 34px)) !important;
    height: auto !important;
    min-height: 275px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: none !important;
    color: #fff !important;
    text-align: left !important;
    transform: none !important;
    z-index: 3 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy.is-active {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 25px !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy h3,
  html body.home .service-detail[data-active-slug] .service-detail-copy p,
  html body.home .service-detail[data-active-slug] .service-detail-copy ul,
  html body.home .service-detail[data-active-slug] .service-detail-copy li {
    box-sizing: border-box !important;
    position: static !important;
    inset: auto !important;
    padding: 0 !important;
    color: #fff !important;
    text-align: left !important;
    text-transform: none !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy h3 {
    width: min(342px, 100%) !important;
    max-width: min(342px, 100%) !important;
    height: auto !important;
    min-height: 86px !important;
    margin: 0 !important;
    display: block !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 43px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy p {
    width: min(342px, 100%) !important;
    max-width: min(342px, 100%) !important;
    height: auto !important;
    min-height: 55px !important;
    margin: 0 !important;
    display: block !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy ul {
    width: min(342px, 100%) !important;
    max-width: min(342px, 100%) !important;
    height: auto !important;
    min-height: 84px !important;
    margin: 0 !important;
    padding-left: 24px !important;
    display: block !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy li {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-left: 6px !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
  }
}

@media (max-width: 380px) {
  html body.home .service-tabs {
    width: min(360px, calc(100vw - 20px)) !important;
    max-width: min(360px, calc(100vw - 20px)) !important;
    grid-template-columns: repeat(2, minmax(0, 165px)) !important;
    gap: 30px 20px !important;
  }

  html body.home .service-tab,
  html body.home .service-tab.is-active,
  html body.home .service-tab .service-label,
  html body.home .service-tab.is-active .service-label {
    width: 165px !important;
    min-width: 165px !important;
    max-width: 165px !important;
  }

  html body.home .service-tab .service-art,
  html body.home .service-tab.is-active .service-art {
    width: 165px !important;
    min-width: 165px !important;
    max-width: 165px !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy {
    left: 17px !important;
    width: calc(100% - 34px) !important;
    max-width: calc(100% - 34px) !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy h3 {
    font-size: clamp(38px, 11.2vw, 43px) !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy p {
    font-size: clamp(16px, 5vw, 18px) !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy ul {
    font-size: clamp(14px, 4.45vw, 16px) !important;
  }
}

/* TOC v1.0.313 final-last: active mobile selector tiles use the black icon asset. */
@media (max-width: 520px) {
  html body.home .service-detail-mobile-icon {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  html body.home .service-tab.is-active .service-art img.state-normal,
  html body.home .service-tab.is-active .service-art img.state-hover {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  html body.home .service-tab.is-active .service-art img.state-active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 130px !important;
    height: 130px !important;
    max-width: 130px !important;
    max-height: 130px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: translate(-50%, -50%) !important;
  }
}

/* TOC v1.0.315 final-last: mobile menu and service-card layer lock. */
@media (max-width: 980px) {
  html body.menu-open {
    overflow: hidden !important;
  }

  html body.menu-open .site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 20020 !important;
    overflow: visible !important;
  }

  html body.menu-open::after {
    content: '' !important;
    position: fixed !important;
    inset: 70px 0 0 !important;
    z-index: 20000 !important;
    display: block !important;
    pointer-events: auto !important;
    background: rgba(0, 0, 0, .42) !important;
  }

  html body.menu-open .site-header .main-nav,
  html body.admin-bar.menu-open .site-header .main-nav {
    box-sizing: border-box !important;
    position: fixed !important;
    top: 70px !important;
    right: 12px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 20030 !important;
    width: min(286px, calc(100vw - 24px)) !important;
    min-width: 0 !important;
    max-width: min(286px, calc(100vw - 24px)) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 18px 34px rgba(0, 0, 0, .24) !important;
    transform: none !important;
    overflow: hidden !important;
  }

  html body.menu-open .site-header .main-nav::before,
  html body.admin-bar.menu-open .site-header .main-nav::before {
    content: none !important;
    display: none !important;
  }

  html body.menu-open .site-header .main-nav a,
  html body.admin-bar.menu-open .site-header .main-nav a {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 20.4px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    transform: none !important;
  }

  html body.menu-open .site-header .main-nav a::before,
  html body.menu-open .site-header .main-nav a::after,
  html body.admin-bar.menu-open .site-header .main-nav a::before,
  html body.admin-bar.menu-open .site-header .main-nav a::after {
    content: none !important;
    display: none !important;
  }

  html body.menu-open .site-header .main-nav a:hover,
  html body.menu-open .site-header .main-nav a:focus-visible,
  html body.menu-open .site-header .main-nav a:active,
  html body.menu-open .site-header .main-nav a[aria-current='page'],
  html body.admin-bar.menu-open .site-header .main-nav a:hover,
  html body.admin-bar.menu-open .site-header .main-nav a:focus-visible,
  html body.admin-bar.menu-open .site-header .main-nav a:active,
  html body.admin-bar.menu-open .site-header .main-nav a[aria-current='page'] {
    color: #000 !important;
    background: #fff !important;
  }
}

@media (max-width: 520px) {
  html body.home .service-detail[data-active-slug] {
    width: min(393px, calc(100vw - 21px)) !important;
    max-width: min(393px, calc(100vw - 21px)) !important;
    aspect-ratio: 393 / 505 !important;
    height: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #000 !important;
    border-radius: 13px !important;
  }

  html body.home .service-detail-banner,
  html body.home .service-detail-desktop-icon-frame,
  html body.home .service-detail-desktop-icon,
  html body.home .service-detail-mobile-icon {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  html body.home .service-detail-mobile-card {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: fill !important;
    object-position: center !important;
    z-index: 1 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy {
    top: 94px !important;
    left: 26px !important;
    width: min(342px, calc(100% - 52px)) !important;
    max-width: min(342px, calc(100% - 52px)) !important;
    min-height: 0 !important;
    z-index: 3 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy.is-active {
    gap: 25px !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy h3 {
    width: 100% !important;
    min-height: 86px !important;
    font-size: 43px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy p {
    width: 100% !important;
    min-height: 55px !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy ul {
    width: 100% !important;
    min-height: 84px !important;
    padding-left: 24px !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
  }
}

@media (max-width: 380px) {
  html body.home .service-detail[data-active-slug] .service-detail-copy {
    top: clamp(86px, 24.6vw, 94px) !important;
    left: 24px !important;
    width: calc(100% - 48px) !important;
    max-width: calc(100% - 48px) !important;
  }
}

/* TOC v1.0.316 final-last: keep testimonial title to the intended two-line Figma wrap. */
html body.home section.testimonials#testimonials > h2,
html body.home .testimonials#testimonials > h2 {
  box-sizing: border-box !important;
  width: min(560px, calc(100vw - 8px)) !important;
  max-width: min(560px, calc(100vw - 8px)) !important;
  min-height: 83px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
  font-size: 45px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 2px !important;
  text-align: center !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

@media (max-width: 520px) {
  html body.home section.testimonials#testimonials > h2,
  html body.home .testimonials#testimonials > h2 {
    width: min(560px, calc(100vw - 8px)) !important;
    max-width: min(560px, calc(100vw - 8px)) !important;
    font-size: clamp(42px, 10.8vw, 45px) !important;
    line-height: 1.2 !important;
  }
}

/* TOC v1.0.317 final-last: testimonial title Figma lock, 373 x 83 two-line wrap. */
html body.home section.testimonials#testimonials > h2,
html body.home .testimonials#testimonials > h2 {
  box-sizing: border-box !important;
  width: 373px !important;
  max-width: calc(100vw - 16px) !important;
  height: 83px !important;
  min-height: 83px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  color: #fff !important;
  font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
  font-size: 45px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 2px !important;
  text-align: center !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

@media (max-width: 390px) {
  html body.home section.testimonials#testimonials > h2,
  html body.home .testimonials#testimonials > h2 {
    width: min(373px, calc(100vw - 12px)) !important;
    max-width: min(373px, calc(100vw - 12px)) !important;
    font-size: clamp(42px, 11.4vw, 45px) !important;
  }
}

/* TOC v1.0.318 final-last: keep the mobile header visible while its menu is open. */
@media (max-width: 980px) {
  html body.menu-open .site-header,
  html body.admin-bar.menu-open .site-header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    z-index: 30000 !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: #000 !important;
    overflow: visible !important;
  }

  html body.menu-open::after,
  html body.admin-bar.menu-open::after {
    inset: 70px 0 0 !important;
    z-index: 29990 !important;
  }

  html body.menu-open .site-header .brand,
  html body.menu-open .site-header .header-actions,
  html body.menu-open .site-header .header-cta,
  html body.menu-open .site-header .mobile-menu-button,
  html body.admin-bar.menu-open .site-header .brand,
  html body.admin-bar.menu-open .site-header .header-actions,
  html body.admin-bar.menu-open .site-header .header-cta,
  html body.admin-bar.menu-open .site-header .mobile-menu-button {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html body.menu-open .site-header .main-nav,
  html body.admin-bar.menu-open .site-header .main-nav {
    position: fixed !important;
    top: 70px !important;
    z-index: 30010 !important;
  }
}

/* TOC v1.0.319 final-last: hamburger is white by default, gold only on hover/focus. */
@media (max-width: 980px) {
  html body .site-header .mobile-menu-button,
  html body.menu-open .site-header .mobile-menu-button,
  html body.admin-bar.menu-open .site-header .mobile-menu-button {
    color: #fff !important;
    background: transparent !important;
  }

  html body .site-header .mobile-menu-button img,
  html body .site-header .mobile-menu-button:active img,
  html body.menu-open .site-header .mobile-menu-button img,
  html body.menu-open .site-header .mobile-menu-button:active img,
  html body.admin-bar.menu-open .site-header .mobile-menu-button img,
  html body.admin-bar.menu-open .site-header .mobile-menu-button:active img {
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
  }
}

@media (max-width: 980px) and (hover: hover) {
  html body .site-header .mobile-menu-button:hover img,
  html body .site-header .mobile-menu-button:focus-visible img,
  html body.menu-open .site-header .mobile-menu-button:hover img,
  html body.menu-open .site-header .mobile-menu-button:focus-visible img,
  html body.admin-bar.menu-open .site-header .mobile-menu-button:hover img,
  html body.admin-bar.menu-open .site-header .mobile-menu-button:focus-visible img {
    filter: brightness(0) saturate(100%) invert(82%) sepia(52%) saturate(758%) hue-rotate(354deg) brightness(101%) contrast(91%) !important;
  }
}

@media (max-width: 980px) and (hover: none) {
  html body .site-header .mobile-menu-button:hover img,
  html body .site-header .mobile-menu-button:focus-visible img,
  html body .site-header .mobile-menu-button:active img,
  html body.menu-open .site-header .mobile-menu-button:hover img,
  html body.menu-open .site-header .mobile-menu-button:focus-visible img,
  html body.menu-open .site-header .mobile-menu-button:active img,
  html body.admin-bar.menu-open .site-header .mobile-menu-button:hover img,
  html body.admin-bar.menu-open .site-header .mobile-menu-button:focus-visible img,
  html body.admin-bar.menu-open .site-header .mobile-menu-button:active img {
    filter: brightness(0) invert(1) !important;
  }
}

/* TOC v1.0.320 final-last: do not let tap/open/focus leave the hamburger gold. */
@media (max-width: 980px) {
  html body .site-header .mobile-menu-button img,
  html body .site-header .mobile-menu-button:focus img,
  html body .site-header .mobile-menu-button:focus-visible img,
  html body .site-header .mobile-menu-button:active img,
  html body .site-header .mobile-menu-button[aria-expanded='true'] img,
  html body.menu-open .site-header .mobile-menu-button img,
  html body.menu-open .site-header .mobile-menu-button:focus img,
  html body.menu-open .site-header .mobile-menu-button:focus-visible img,
  html body.menu-open .site-header .mobile-menu-button:active img,
  html body.menu-open .site-header .mobile-menu-button[aria-expanded='true'] img,
  html body.admin-bar.menu-open .site-header .mobile-menu-button img,
  html body.admin-bar.menu-open .site-header .mobile-menu-button:focus img,
  html body.admin-bar.menu-open .site-header .mobile-menu-button:focus-visible img,
  html body.admin-bar.menu-open .site-header .mobile-menu-button:active img,
  html body.admin-bar.menu-open .site-header .mobile-menu-button[aria-expanded='true'] img {
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
  }
}

@media (max-width: 980px) and (hover: hover) and (pointer: fine) {
  html body .site-header .mobile-menu-button:hover:not(:active) img,
  html body.menu-open .site-header .mobile-menu-button:hover:not(:active) img,
  html body.admin-bar.menu-open .site-header .mobile-menu-button:hover:not(:active) img {
    filter: brightness(0) saturate(100%) invert(82%) sepia(52%) saturate(758%) hue-rotate(354deg) brightness(101%) contrast(91%) !important;
  }
}

/* TOC v1.0.321 final-last: subtle lift on favourite product images only. */
html body.home section.products .product-grid > article.product-card > img,
html body.home .products .product-grid > article.product-card > img {
  box-shadow: 0 7px 16px rgba(0, 0, 0, .10), 0 2px 5px rgba(0, 0, 0, .08) !important;
}

/* TOC v1.0.322 final-last: exact desktop catalogue PNG and product CTA lock. */
@media (min-width: 981px) {
  html body.home .catalogue-band {
    aspect-ratio: 2402 / 653 !important;
  }

  html body.home .catalogue-art img {
    object-fit: fill !important;
    object-position: center !important;
  }

  html body.home .catalogue-band .catalogue-live-copy .catalogue-description {
    width: 449px !important;
    max-width: 449px !important;
    min-height: 70px !important;
    display: block !important;
  }

  html body.home section.products .section-line a,
  html body.home .products .section-line a {
    box-sizing: border-box !important;
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 15px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-family: 'Helvetica Neue', 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 21.45px !important;
    font-weight: 600 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }
}

/* Keep native form validation and feedback clear of the sticky header. */
.contact-form-card input,
.contact-form-card textarea,
.footer-newsletter input,
.toc-form-message {
  scroll-margin-block: 120px 32px;
}

/* Keep navigation available while forms and mobile service details hold page scroll. */
html body[class].toc-qf-modal-open .site-header,
html body[class].service-modal-open .site-header {
  position: fixed !important;
  top: var(--toc-overlay-admin-offset, 0px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 2147483001 !important;
}

body.toc-qf-modal-open #wpadminbar,
body.service-modal-open #wpadminbar {
  z-index: 2147483002 !important;
}

body.toc-qf-modal-open .site-shell::before,
body.service-modal-open .site-shell::before {
  content: '';
  display: block;
  height: var(--toc-overlay-header-height, 70px);
}

body.toc-qf-modal-open .toc-qf-modal {
  --toc-qf-frame-gap: clamp(16px, 3vw, 42px);
  --toc-qf-header-clearance: calc(var(--toc-overlay-admin-offset, 0px) + var(--toc-overlay-header-height, 70px));
  top: var(--toc-qf-header-clearance);
}

body.toc-qf-modal-open .toc-qf-modal__frame {
  height: min(900px, calc(100dvh - var(--toc-qf-header-clearance) - 2 * var(--toc-qf-frame-gap)));
}

@media (min-width: 721px) {
  body.toc-qf-modal-open .toc-qf-modal {
    --toc-qf-frame-gap: 16px;
    padding-block: var(--toc-qf-frame-gap);
  }
}

@media (max-width: 720px) {
  body.toc-qf-modal-open .toc-qf-modal {
    --toc-qf-frame-gap: 10px;
  }
}

@media (max-width: 520px) {
  body.toc-qf-modal-open .toc-qf-modal {
    padding-top: 52.5px;
  }

  body.toc-qf-modal-open .toc-qf-modal__frame {
    height: calc(100dvh - var(--toc-qf-header-clearance) - 52.5px);
    max-height: calc(100dvh - var(--toc-qf-header-clearance) - 52.5px);
  }

  html body.home.service-modal-open main section.services#services > .service-detail[data-active-slug] {
    --toc-service-header-clearance: calc(var(--toc-overlay-admin-offset, 0px) + var(--toc-overlay-header-height, 70px));
    top: calc(var(--toc-service-header-clearance) + (100dvh - var(--toc-service-header-clearance)) / 2) !important;
    width: min(393px, calc(100vw - 56px), calc((100dvh - var(--toc-service-header-clearance) - 64px) * .77822)) !important;
  }
}
