/* Responsive normalization for the approved 1920px desktop and 414px mobile anchors. */

/* Ticket 4: self-hosted, open-licensed Proxima Nova alternative for the desktop credit strip. */
@font-face {
  font-family: 'TOC Instrument Sans';
  src: url('../fonts/instrument-sans/InstrumentSans-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'TOC Instrument Sans';
  src: url('../fonts/instrument-sans/InstrumentSans-SemiBold.woff2') format('woff2');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

html body.home main section.services .service-detail[hidden] {
  display: none !important;
}

html,
body,
.site-shell {
  max-width: 100%;
}

html,
body {
  overflow-x: clip;
}

.site-shell {
  width: 100%;
  margin-inline: auto;
}

img,
picture,
video,
iframe {
  max-width: 100%;
}

.logo-slider,
.testimonial-slider,
.testimonial-viewport {
  max-width: 100%;
  overflow: hidden;
}

html body.home .insta-grid {
  left: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

html body.home section.products .product-grid > article.product-card > img,
html body.home .products .product-grid > article.product-card > img {
  border-radius: 20px !important;
  box-shadow: 0 6px 15px rgba(0, 0, 0, .09), 0 2px 4px rgba(0, 0, 0, .06) !important;
}

@media (min-width: 1921px) {
  .site-shell {
    max-width: 1920px;
  }
}

/* Fluid desktop range below the approved 1920px composition. */
@media (min-width: 981px) and (max-width: 1919px) {
  html body .site-header {
    box-sizing: border-box !important;
    width: 100% !important;
    padding-right: clamp(16px, 2.5vw, 48px) !important;
    padding-left: clamp(16px, 2.5vw, 48px) !important;
    grid-template-columns: clamp(190px, 18vw, 281px) minmax(0, 552px) clamp(294px, 25vw, 360px) !important;
    column-gap: clamp(16px, 3.8vw, 80px) !important;
  }

  html body .site-header .brand,
  html body .site-header .brand-logo-stack,
  html body .site-header .brand img.brand-logo-desktop {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 281px !important;
  }

  html body .site-header .main-nav {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 552px !important;
    gap: clamp(10px, 1.3vw, 20px) !important;
  }

  html body .site-header .main-nav a {
    font-size: clamp(14px, 1.25vw, 18px) !important;
  }

  html body .site-header .header-actions {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 360px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) clamp(132px, 11vw, 160px) !important;
    gap: 12px !important;
  }

  html body .site-header .phone-link {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    font-size: clamp(14px, 1.25vw, 18px) !important;
    letter-spacing: 0 !important;
  }

  html body .site-header .header-cta {
    width: clamp(132px, 11vw, 160px) !important;
    min-width: 132px !important;
    max-width: 160px !important;
    font-size: clamp(15px, 1.25vw, 18px) !important;
  }

  html body.home .start-strip {
    padding-right: clamp(24px, 6.8vw, 130px) !important;
    padding-left: clamp(24px, 4.2vw, 80px) !important;
    gap: clamp(18px, 2vw, 31px) !important;
  }

  html body.home .start-strip .start-copy {
    width: auto !important;
    min-width: 0 !important;
    max-width: 811px !important;
    flex: 1 1 auto !important;
    font-size: clamp(18px, 1.45vw, 25px) !important;
    white-space: normal !important;
  }

  html body.home .start-strip a {
    width: clamp(180px, 13vw, 250px) !important;
    min-width: clamp(180px, 13vw, 250px) !important;
    max-width: 250px !important;
    flex-basis: clamp(180px, 13vw, 250px) !important;
  }

  html body.home .services,
  html body.home .gallery,
  html body.home .products,
  html body.home .catalogue-band,
  html body.home .warehouse {
    max-width: calc(100% - 48px) !important;
  }

  html body.home .services .service-tabs,
  html body.home .services .service-detail {
    max-width: calc(100vw - 48px) !important;
  }

  html body.home .products {
    width: calc(100% - clamp(48px, 8vw, 154px)) !important;
    max-width: 1592px !important;
  }

  html body.home .products .section-line {
    padding-right: clamp(20px, 3vw, 48px) !important;
    padding-left: clamp(20px, 3vw, 48px) !important;
  }

  html body.home .products .section-line h2 {
    font-size: clamp(26px, 2vw, 34px) !important;
  }

  html body.home .products .section-line a {
    width: clamp(190px, 15vw, 250px) !important;
    min-width: clamp(190px, 15vw, 250px) !important;
    max-width: 250px !important;
  }

  html body.home .product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(16px, 2vw, 31px) !important;
  }

  html body.home .product-grid article,
  html body.home .product-grid article.product-card {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html body.home .product-grid article h3 {
    margin-top: clamp(11px, 1.1vw, 16px) !important;
    margin-bottom: clamp(7px, .7vw, 10px) !important;
    font-size: clamp(17px, 1.45vw, 25px) !important;
  }

  html body.home .product-grid article .product-price,
  html body.home .product-grid article .product-description,
  html body.home .product-grid article p {
    font-size: clamp(13px, 1vw, 17px) !important;
  }

  html body.home .catalogue-band {
    width: calc(100% - clamp(48px, 5vw, 96px)) !important;
    max-width: 1601px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  html body.home .warehouse {
    width: calc(100% - clamp(48px, 5vw, 96px)) !important;
    max-width: 1595px !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1595 / 648 !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  html body.home .warehouse-collage,
  html body.home .warehouse-panel {
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
  }

  html body.home .warehouse-panel {
    box-sizing: border-box !important;
    padding: clamp(24px, 4vw, 72px) clamp(20px, 4vw, 64px) !important;
  }

  html body.home .warehouse-panel h2 {
    height: auto !important;
    min-height: 0 !important;
    font-size: clamp(27px, 2.4vw, 45px) !important;
  }

  html body.home .warehouse-panel p,
  html body.home .warehouse-panel address {
    height: auto !important;
    min-height: 0 !important;
  }
}

/* Intermediate footer compositions avoid fixed-position overflow and dead space. */
@media (min-width: 1200px) and (max-width: 1919px) {
  html body .site-footer {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: clamp(50px, 5vw, 68px) clamp(28px, 5vw, 96px) 48px !important;
    display: grid !important;
    grid-template-columns: minmax(190px, 1fr) 150px 150px minmax(360px, 550px) !important;
    align-items: start !important;
    justify-content: center !important;
    gap: clamp(24px, 3vw, 48px) !important;
    overflow: hidden !important;
  }

  html body .site-footer .footer-logo-block,
  html body .site-footer .footer-col,
  html body .site-footer .footer-newsletter {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
  }

  html body .site-footer .footer-logo-link img {
    width: min(100%, 319px) !important;
    height: auto !important;
  }

  html body .site-footer .footer-newsletter form,
  html body .site-footer .footer-newsletter input,
  html body .site-footer .footer-newsletter button {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (min-width: 981px) and (max-width: 1199px) {
  html body .site-footer {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 48px clamp(28px, 5vw, 64px) 42px !important;
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) minmax(150px, .55fr) minmax(170px, .65fr) !important;
    align-items: start !important;
    gap: 40px 28px !important;
    overflow: hidden !important;
  }

  html body .site-footer .footer-logo-block,
  html body .site-footer .footer-col,
  html body .site-footer .footer-newsletter {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
  }

  html body .site-footer .footer-newsletter {
    grid-column: 1 / -1 !important;
    width: min(550px, 100%) !important;
    justify-self: center !important;
  }

  html body .site-footer .footer-logo-link img {
    width: min(100%, 280px) !important;
    height: auto !important;
  }
}

@media (min-width: 521px) and (max-width: 980px) {
  html body.home main section.catalogue-band > .catalogue-live-copy {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 50% !important;
    left: 4.5% !important;
    width: 32% !important;
    max-width: 32% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 0 !important;
    transform: translateY(-50%) !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > p,
  html body.home main section.catalogue-band > .catalogue-live-copy > h2:not(#toc-h2-size-lock) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    font-size: clamp(18px, 3.1vw, 30px) !important;
    line-height: 1.05 !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > p {
    margin: 0 !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > h2 {
    margin: 2px 0 clamp(5px, 1vw, 10px) !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > h2:not(#toc-h2-size-lock) .catalogue-mood-word,
  html body.home main section.catalogue-band > .catalogue-live-copy > h2:not(#toc-h2-size-lock) .catalogue-question {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    display: inline !important;
    font-size: clamp(18px, 3.1vw, 30px) !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-description {
    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 0 clamp(6px, 1vw, 10px) !important;
    padding: 0 !important;
    font-size: clamp(8px, 1.2vw, 12px) !important;
    line-height: 1.25 !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-actions {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(30px, 4.6vw, 44px) !important;
    min-height: clamp(30px, 4.6vw, 44px) !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    gap: clamp(5px, 1vw, 9px) !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-actions > a {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    padding: 0 clamp(5px, 1vw, 10px) !important;
    flex: 1 1 0 !important;
    font-size: clamp(7px, 1.15vw, 11px) !important;
    white-space: nowrap !important;
  }

  html body.home main section.catalogue-band .catalogue-actions .catalogue-icon {
    width: clamp(10px, 1.5vw, 15px) !important;
    height: clamp(10px, 1.5vw, 15px) !important;
  }
}
/* Tablet composition. */
@media (min-width: 521px) and (max-width: 980px) {
  html body.home .start-strip {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 92px !important;
    max-height: none !important;
    padding: 18px 24px !important;
    gap: 18px !important;
  }

  html body.home .start-strip .start-copy {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    flex: 1 1 auto !important;
    font-size: clamp(17px, 2.7vw, 23px) !important;
    white-space: normal !important;
  }

  html body.home .start-strip a {
    width: clamp(160px, 25vw, 220px) !important;
    min-width: clamp(160px, 25vw, 220px) !important;
    height: 54px !important;
    min-height: 54px !important;
    flex: 0 0 clamp(160px, 25vw, 220px) !important;
  }

  html body.home .products {
    box-sizing: border-box !important;
    width: calc(100% - 40px) !important;
    max-width: 920px !important;
    margin: 64px auto 0 !important;
    padding: 0 0 52px !important;
    overflow: visible !important;
  }

  html body.home .products .section-line {
    width: 100% !important;
    padding: 0 12px !important;
  }

  html body.home .products .section-line h2 {
    font-size: clamp(28px, 4.2vw, 36px) !important;
  }

  html body.home .products .section-line a {
    width: 210px !important;
    min-width: 210px !important;
    height: 54px !important;
    min-height: 54px !important;
  }

  html body.home .product-grid {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 34px 24px !important;
    animation: none !important;
    transform: 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,
  html body.home .product-grid article.product-card {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
  }

  html body.home .product-grid article img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 374.12 / 352.87 !important;
    object-fit: cover !important;
  }

  html body.home .product-grid article h3 {
    margin: 14px 0 8px !important;
    font-size: clamp(21px, 3.2vw, 28px) !important;
  }

  html body.home .product-grid article p {
    font-size: 14px !important;
  }

  html body.home .catalogue-band {
    box-sizing: border-box !important;
    width: calc(100% - 48px) !important;
    max-width: 920px !important;
    margin: 56px auto !important;
    aspect-ratio: 2402 / 653 !important;
    min-height: 0 !important;
  }

  html body.home .catalogue-live-copy {
    position: absolute !important;
    top: 50% !important;
    left: 4.5% !important;
    width: 32% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
  }

  html body.home .catalogue-live-copy p,
  html body.home .catalogue-live-copy h2 {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    font-size: clamp(18px, 3.25vw, 31px) !important;
    line-height: 1.05 !important;
  }

  html body.home .catalogue-live-copy h2 {
    margin: 2px 0 clamp(5px, 1vw, 10px) !important;
  }

  html body.home .catalogue-live-copy .catalogue-description {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    font-size: clamp(8px, 1.25vw, 12px) !important;
    line-height: 1.25 !important;
  }

  html body.home .catalogue-actions {
    width: 100% !important;
    margin-top: clamp(6px, 1.1vw, 12px) !important;
    gap: 8px !important;
  }

  html body.home .catalogue-actions a {
    min-width: 0 !important;
    height: clamp(30px, 5vw, 46px) !important;
    min-height: clamp(30px, 5vw, 46px) !important;
    padding: 0 clamp(6px, 1vw, 12px) !important;
    font-size: clamp(8px, 1.2vw, 12px) !important;
    white-space: nowrap !important;
  }

  html body.home .warehouse {
    box-sizing: border-box !important;
    width: calc(100% - 48px) !important;
    max-width: 920px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 56px auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  html body.home .warehouse-collage {
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 1.6 / 1 !important;
  }

  html body.home .warehouse-panel {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 480px !important;
    padding: 52px 48px !important;
  }

  html body.home .warehouse-panel h2,
  html body.home .warehouse-panel p,
  html body.home .warehouse-panel address {
    height: auto !important;
    min-height: 0 !important;
  }
}

/* September 2026 Ticket 4: desktop credit strip. Mobile remains Ticket 20. */
html body .copyright-bar .copyright-desktop { display: none !important; }
@media (min-width: 981px) {
  html body .copyright-bar {
    box-sizing: border-box !important;
    min-height: 48px !important;
    padding: 12px 22px 15px !important;
    border-top: 0 !important;
  }
  html body .copyright-bar .copyright-mobile { display: none !important; }
  html body .copyright-bar .copyright-desktop {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    font-family: 'TOC Instrument Sans', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 21px !important;
    letter-spacing: 0 !important;
    color: #fff !important;
  }
  html body .copyright-bar .copyright-owner { display: inline-flex; gap: 2px; }
  html body .copyright-bar .copyright-desktop > span { white-space: nowrap; }
  html body .copyright-bar .copyright-desktop a {
    color: #fff !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
  }
}

/* Mobile header remains visible above its dropdown, including logged-in review sessions. */
@media (max-width: 980px) {
  html body .site-header,
  html body.menu-open .site-header {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: #000 !important;
  }

  html body.menu-open .site-header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 30000 !important;
  }

  html body.menu-open .site-header .main-nav {
    position: fixed !important;
    top: 70px !important;
    z-index: 30010 !important;
  }

  html body.menu-open::after {
    inset: 70px 0 0 !important;
    z-index: 29990 !important;
    background: rgba(0, 0, 0, .42) !important;
  }

  html body .mobile-menu-button,
  html body .mobile-menu-button:focus,
  html body .mobile-menu-button:active,
  html body .mobile-menu-button[aria-expanded='true'] {
    color: #fff !important;
    background: transparent !important;
  }

  html body .mobile-menu-button img,
  html body .mobile-menu-button:focus img,
  html body .mobile-menu-button:active img,
  html body .mobile-menu-button[aria-expanded='true'] img {
    filter: brightness(0) invert(1) !important;
  }

  html body .site-footer {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 48px 24px 34px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 34px 22px !important;
    overflow: hidden !important;
  }

  html body .site-footer .footer-logo-block,
  html body .site-footer .footer-col,
  html body .site-footer .footer-newsletter {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
  }

  html body .site-footer .footer-logo-block,
  html body .site-footer .footer-newsletter {
    grid-column: 1 / -1 !important;
  }

  html body .site-footer .footer-logo-link img {
    width: min(319px, 100%) !important;
    height: auto !important;
  }

  html body .site-footer .footer-newsletter form,
  html body .site-footer .footer-newsletter input,
  html body .site-footer .footer-newsletter button {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body .copyright-bar {
    height: auto !important;
    min-height: 0 !important;
    padding: 12px 18px !important;
  }
}

@media (max-width: 980px) {
  html body.admin-bar .site-header,
  html body.admin-bar.menu-open .site-header {
    top: 0 !important;
  }

  html body.admin-bar.menu-open .site-header .main-nav {
    top: 70px !important;
  }

  html body.admin-bar.menu-open::after {
    inset: 70px 0 0 !important;
  }
}

@media (max-width: 980px) and (hover: hover) and (pointer: fine) {
  html body .mobile-menu-button:hover:not(:active) img,
  html body .mobile-menu-button:focus-visible:not(:active) img {
    filter: brightness(0) saturate(100%) invert(82%) sepia(52%) saturate(758%) hue-rotate(354deg) brightness(101%) contrast(91%) !important;
  }
}

/* Exact 414px service selector and card anchor, fluid below it. */
@media (max-width: 520px) {
  html body.home .services {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

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

  html body.home .service-tab,
  html body.home .service-tab.is-active {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 170px !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 170 / 178.27 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 130px) minmax(0, 38.27px) !important;
    row-gap: 10px !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    overflow: visible !important;
  }

  html body.home .service-tab .service-art,
  html body.home .service-tab.is-active .service-art {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 170px !important;
    height: 130px !important;
    min-height: 130px !important;
    max-height: 130px !important;
    margin: 0 !important;
    justify-self: stretch !important;
    transform: none !important;
  }

  html body.home .service-tab .service-art img,
  html body.home .service-tab .service-art img.state-normal,
  html body.home .service-tab .service-art img.state-hover {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 170px !important;
    max-height: 130px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: translate(-50%, -50%) !important;
  }

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

  html body.home .service-tab .service-label,
  html body.home .service-tab.is-active .service-label {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 170px !important;
    height: 38.27px !important;
    min-height: 38.27px !important;
    max-height: 38.27px !important;
    margin: 0 !important;
    display: inline-flex !important;
    justify-self: stretch !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !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: 393px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 393 / 505 !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #000 !important;
    border-radius: 20px !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;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center bottom !important;
    border-radius: inherit !important;
  }

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

  html body.home section.services .service-detail[data-active-slug] .service-detail-copy[data-service-copy]:not(.is-active) {
    display: none !important;
  }

  html body.home section.services .service-detail[data-active-slug] .service-detail-copy[data-service-copy].is-active {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !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 {
    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;
  }

  html body.home .service-detail[data-active-slug] .service-detail-copy h3 {
    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 {
    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 {
    padding-left: 24px !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 {
    min-height: 0 !important;
    margin: 0 !important;
  }

  html body.home .warehouse {
    width: min(393px, calc(100% - 21px)) !important;
    max-width: 393px !important;
    height: auto !important;
    min-height: 0 !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  html body.home .warehouse-panel {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    min-height: 520px !important;
    max-height: none !important;
    padding: 38px 20px 34px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
  }

  html body.home .warehouse-panel .location-icon,
  html body.home .warehouse-panel h2,
  html body.home .warehouse-panel .warehouse-copy,
  html body.home .warehouse-panel a {
    position: static !important;
    inset: auto !important;
    transform: none !important;
  }

  html body.home .warehouse-panel h2 {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    font-size: clamp(36px, 10.8vw, 45px) !important;
    line-height: 1 !important;
  }

  html body.home .warehouse-copy {
    width: min(481px, 100%) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
  }

  html body.home .warehouse-panel .warehouse-copy p,
  html body.home .warehouse-panel .warehouse-copy address {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    display: block !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    font-weight: 300 !important;
    text-align: center !important;
  }

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

  html body.home .warehouse-panel a {
    width: min(245px, 100%) !important;
    min-width: 0 !important;
    height: 60px !important;
    min-height: 60px !important;
    margin: 0 !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
  }

  html body .site-footer {
    padding: 44px 20px 28px !important;
    gap: 30px 18px !important;
  }

  html body .site-footer .footer-newsletter {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}


/* TOC v1.0.436: contain the home hero at tablet widths without changing the approved desktop or mobile compositions. */
@media (min-width: 768px) and (max-width: 980px) {
  html body.home main section.hero {
    box-sizing: border-box !important;
    width: 100% !important;
    height: clamp(520px, 70vw, 620px) !important;
    min-height: clamp(520px, 70vw, 620px) !important;
    max-height: 620px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
  }

  html body.home main section.hero .hero-media,
  html body.home main section.hero .hero-media img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

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

/* Instagram gallery: supplied default artwork swaps to its clean photo on hover. */
html body.home section.instagram#social .insta-grid .insta-tile {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
}

html body.home section.instagram#social .insta-grid .insta-tile-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: none !important;
  transform: none !important;
  transition: opacity 220ms ease !important;
}

html body.home section.instagram#social .insta-grid .insta-tile-image-default {
  position: relative !important;
  z-index: 1 !important;
  opacity: 1 !important;
}

html body.home section.instagram#social .insta-grid .insta-tile-image-hover {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  opacity: 0 !important;
}

@media (hover: hover) and (pointer: fine) {
  html body.home section.instagram#social .insta-grid .insta-tile:hover .insta-tile-image-default,
  html body.home section.instagram#social .insta-grid .insta-tile:focus-visible .insta-tile-image-default {
    opacity: 0 !important;
  }

  html body.home section.instagram#social .insta-grid .insta-tile:hover .insta-tile-image-hover,
  html body.home section.instagram#social .insta-grid .insta-tile:focus-visible .insta-tile-image-hover {
    opacity: 1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.home section.instagram#social .insta-grid .insta-tile-image {
    transition: none !important;
  }
}

/* Keep the mobile Instagram preview to the approved four-tile (2 x 2) frame. */
@media (max-width: 520px) {
  html body.home section.instagram#social .insta-grid > .insta-tile:nth-child(n + 5) {
    display: none !important;
  }
}

@media (max-width: 413px) {
  html body.home .service-tab,
  html body.home .service-tab.is-active {
    aspect-ratio: auto !important;
    grid-template-rows: auto 38.27px !important;
  }

  html body.home .service-tab .service-art,
  html body.home .service-tab.is-active .service-art {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 170 / 130 !important;
  }

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

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

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

@media (max-width: 360px) {
  html body.home .service-detail[data-active-slug] .service-detail-copy.is-active {
    gap: 20px !important;
  }

  html body .site-footer {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
}

/* Gold interaction state from the supplied owner reference. */
@media (hover: hover) and (pointer: fine) {
  html body .site-header .phone-link:hover,
  html body .site-header .phone-link:focus-visible {
    color: #F4C65E !important;
  }

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

/* Override legacy fixed Figma locks only below the protected 1920px anchor. */
@media (min-width: 981px) and (max-width: 1919px) {
  html body.home main section.products#catalogue {
    box-sizing: border-box !important;
    width: calc(100vw - clamp(48px, 8vw, 154px)) !important;
    max-width: 1592px !important;
    min-height: 0 !important;
    height: auto !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 0 0 clamp(46px, 4vw, 66px) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(24px, 2.4vw, 35px) !important;
    overflow: visible !important;
  }

  html body.home main section.products#catalogue > .section-line {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 76px !important;
    padding-right: clamp(12px, 2.5vw, 40px) !important;
    padding-left: clamp(12px, 2.5vw, 40px) !important;
    flex: 0 0 auto !important;
  }

  html body.home main section.products#catalogue > .section-line h2 {
    font-size: clamp(26px, 2.4vw, 40px) !important;
  }

  html body.home main section.products#catalogue > .product-grid {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    gap: clamp(16px, 2vw, 31.51px) !important;
    overflow: visible !important;
  }

  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone) {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
    border-radius: 0 !important;
  }

  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone) > 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: 374.12 / 352.87 !important;
    flex: 0 0 auto !important;
    object-fit: cover !important;
    border-radius: 20px !important;
  }

  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone) > h3 {
    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;
    margin: clamp(11px, 1.1vw, 20px) 0 0 !important;
    padding: 0 0 0 clamp(12px, 2vw, 30px) !important;
    font-size: clamp(16px, 1.55vw, 30px) !important;
    line-height: 1 !important;
  }

  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone) > .product-price {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: clamp(10px, 1.1vw, 21px) 0 0 !important;
    padding: 0 0 0 clamp(12px, 2vw, 30px) !important;
    font-size: clamp(12px, .85vw, 14px) !important;
  }

  html body.home main section.warehouse#about {
    box-sizing: border-box !important;
    width: calc(100vw - clamp(48px, 5vw, 96px)) !important;
    max-width: 1595px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1595 / 648 !important;
    margin-right: auto !important;
    margin-left: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: hidden !important;
  }

  html body.home main section.warehouse#about > .warehouse-collage,
  html body.home main section.warehouse#about > .warehouse-panel {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body.home main section.warehouse#about > .warehouse-panel {
    padding: clamp(22px, 4vw, 64px) !important;
  }

  html body.home main section.warehouse#about .location-icon {
    width: clamp(48px, 6vw, 98px) !important;
    height: auto !important;
    min-height: 0 !important;
  }

  html body.home main section.warehouse#about .warehouse-panel h2 {
    margin-bottom: clamp(10px, 1.4vw, 18px) !important;
    font-size: clamp(25px, 2.5vw, 45px) !important;
  }

  html body.home main section.warehouse#about .warehouse-panel p,
  html body.home main section.warehouse#about .warehouse-panel address {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    font-size: clamp(9px, .85vw, 14px) !important;
  }
}

@media (min-width: 1200px) and (max-width: 1919px) {
  html body footer.site-footer#footer-contact {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: clamp(50px, 5vw, 68px) clamp(28px, 5vw, 96px) 48px !important;
    display: grid !important;
    grid-template-columns: minmax(190px, 1fr) 150px 150px minmax(360px, 550px) !important;
    align-items: start !important;
    justify-content: center !important;
    gap: clamp(24px, 3vw, 48px) !important;
    overflow: hidden !important;
  }

  html body footer.site-footer#footer-contact > .footer-logo-block,
  html body footer.site-footer#footer-contact > .footer-col,
  html body footer.site-footer#footer-contact > .footer-newsletter {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
  }

  html body footer.site-footer#footer-contact > .footer-logo-block,
  html body footer.site-footer#footer-contact > .footer-col {
    display: block !important;
  }

  html body footer.site-footer#footer-contact > .footer-newsletter {
    display: block !important;
  }
}

@media (min-width: 981px) and (max-width: 1199px) {
  html body footer.site-footer#footer-contact {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 48px clamp(28px, 5vw, 64px) 42px !important;
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) minmax(150px, .55fr) minmax(170px, .65fr) !important;
    align-items: start !important;
    gap: 40px 28px !important;
    overflow: hidden !important;
  }

  html body footer.site-footer#footer-contact > .footer-logo-block,
  html body footer.site-footer#footer-contact > .footer-col,
  html body footer.site-footer#footer-contact > .footer-newsletter {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
  }

  html body footer.site-footer#footer-contact > .footer-logo-block,
  html body footer.site-footer#footer-contact > .footer-col {
    display: block !important;
  }

  html body footer.site-footer#footer-contact > .footer-newsletter {
    grid-column: 1 / -1 !important;
    width: min(550px, 100%) !important;
    justify-self: center !important;
    display: block !important;
  }
}

@media (min-width: 981px) {
  html body.home section.services .service-detail[data-active-slug] {
    box-sizing: border-box !important;
    position: relative !important;
    width: 1003px !important;
    max-width: calc(100vw - 48px) !important;
    height: 284px !important;
    min-height: 284px !important;
    max-height: 284px !important;
    margin: 24px auto 54px !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible !important;
    color: #fff !important;
    background: #000 !important;
    border: 0 !important;
    border-radius: 20px !important;
    box-shadow: none !important;
  }

  html body.home section.services .service-detail[data-active-slug]::before {
    content: none !important;
  }

  html body.home section.services .service-detail-banner,
  html body.home section.services .service-detail-mobile-card,
  html body.home section.services .service-detail-mobile-icon {
    display: none !important;
  }

  html body.home section.services .service-detail-desktop-icon-frame {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 40px !important;
    left: 41px !important;
    z-index: 2 !important;
    width: 230px !important;
    height: 298px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: visible !important;
    pointer-events: none !important;
  }

  html body.home section.services .service-detail-desktop-icon {
    width: 230px !important;
    height: 230px !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }

  html body.home section.services .service-detail-copy {
    display: none !important;
  }

  html body.home section.services .service-detail-copy.is-active {
    box-sizing: border-box !important;
    position: absolute !important;
    top: 40px !important;
    left: 291px !important;
    z-index: 3 !important;
    width: 671px !important;
    max-width: 671px !important;
    height: 299px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 25px !important;
    color: #fff !important;
    text-align: left !important;
  }

  html body.home section.services .service-detail-copy h3,
  html body.home section.services .service-detail-copy p,
  html body.home section.services .service-detail-copy ul,
  html body.home section.services .service-detail-copy li {
    box-sizing: border-box !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    color: #fff !important;
    text-align: left !important;
  }

  html body.home section.services .service-detail-copy h3 {
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 42px !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 section.services .service-detail-copy p {
    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 section.services .service-detail-copy ul {
    padding: 0 0 0 25px !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;
  }

  html body.home section.services .service-detail-copy li {
    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.479 / Ticket 44: mobile-only testimonial Figma frame and controls. */
@media (max-width: 520px) {
  html body.home main section.testimonials#testimonials {
    box-sizing: border-box !important;
    width: 100% !important;
    height: min(652px, 156.7307692vw) !important;
    min-height: min(652px, 156.7307692vw) !important;
    max-height: min(652px, 156.7307692vw) !important;
    margin: 0 !important;
    padding: min(63px, 15.1442308vw) 0 min(62.32px, 14.9807692vw) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #fff !important;
    background: #0c3f2b url('../rsc/testimonials-mobile-bg.webp') center / cover no-repeat !important;
    overflow: hidden !important;
  }

  html body.home main section.testimonials#testimonials > h2,
  html body.home main .testimonials#testimonials > h2 {
    box-sizing: border-box !important;
    flex: 0 0 min(83px, 19.9519231vw) !important;
    width: min(373px, 89.6634615vw) !important;
    max-width: min(373px, 89.6634615vw) !important;
    height: min(83px, 19.9519231vw) !important;
    min-height: min(83px, 19.9519231vw) !important;
    max-height: min(83px, 19.9519231vw) !important;
    margin: 0 0 min(47px, 11.2980769vw) !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: min(45px, 10.8173077vw) !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    font-style: normal !important;
    letter-spacing: min(2px, .4807692vw) !important;
    text-align: center !important;
    text-transform: none !important;
    white-space: nowrap !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-slider {
    --toc-testimonial-mobile-card: min(316.27px, 76.0264423vw);
    --toc-testimonial-gap: min(17.41px, 4.1850962vw);
    --toc-testimonial-mobile-frame: min(411px, 98.7980769vw);
    --toc-testimonial-mobile-card-height: min(363.68px, 87.4230769vw);
    box-sizing: border-box !important;
    position: relative !important;
    flex: 0 0 min(396.68px, 95.3557692vw) !important;
    width: var(--toc-testimonial-mobile-frame) !important;
    max-width: var(--toc-testimonial-mobile-frame) !important;
    height: min(396.68px, 95.3557692vw) !important;
    min-height: min(396.68px, 95.3557692vw) !important;
    max-height: min(396.68px, 95.3557692vw) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
    touch-action: pan-y !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-viewport {
    box-sizing: border-box !important;
    flex: 0 0 var(--toc-testimonial-mobile-card-height) !important;
    width: var(--toc-testimonial-mobile-frame) !important;
    max-width: var(--toc-testimonial-mobile-frame) !important;
    height: var(--toc-testimonial-mobile-card-height) !important;
    min-height: var(--toc-testimonial-mobile-card-height) !important;
    max-height: var(--toc-testimonial-mobile-card-height) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    touch-action: pan-y !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-grid {
    box-sizing: border-box !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: none !important;
    height: var(--toc-testimonial-mobile-card-height) !important;
    min-height: var(--toc-testimonial-mobile-card-height) !important;
    max-height: var(--toc-testimonial-mobile-card-height) !important;
    margin: 0 !important;
    padding: 0 calc((var(--toc-testimonial-mobile-frame) - var(--toc-testimonial-mobile-card)) / 2) !important;
    display: flex !important;
    align-items: stretch !important;
    gap: var(--toc-testimonial-gap) !important;
    column-gap: var(--toc-testimonial-gap) !important;
    text-align: left !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-grid article:not([hidden]) {
    box-sizing: border-box !important;
    flex: 0 0 var(--toc-testimonial-mobile-card) !important;
    width: var(--toc-testimonial-mobile-card) !important;
    min-width: var(--toc-testimonial-mobile-card) !important;
    max-width: var(--toc-testimonial-mobile-card) !important;
    height: var(--toc-testimonial-mobile-card-height) !important;
    min-height: var(--toc-testimonial-mobile-card-height) !important;
    max-height: var(--toc-testimonial-mobile-card-height) !important;
    margin: 0 !important;
    padding: min(25.11px, 6.0360577vw) min(16.41px, 3.9447115vw) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: min(17.41px, 4.1850962vw) !important;
    color: #fff !important;
    background: #174933 !important;
    border: 1px solid #fff !important;
    border-radius: min(26.11px, 6.2764423vw) !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-grid article:not([hidden]) > h3 {
    box-sizing: border-box !important;
    flex: 0 0 min(60px, 14.4230769vw) !important;
    width: 100% !important;
    height: min(60px, 14.4230769vw) !important;
    min-height: min(60px, 14.4230769vw) !important;
    max-height: min(60px, 14.4230769vw) !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: min(26.59px, 6.3918269vw) !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-grid article:not([hidden]) > p {
    box-sizing: border-box !important;
    flex: 0 0 min(194.82px, 46.8317308vw) !important;
    width: 100% !important;
    height: min(194.82px, 46.8317308vw) !important;
    min-height: min(194.82px, 46.8317308vw) !important;
    max-height: min(194.82px, 46.8317308vw) !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: min(16px, 3.8461538vw) !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    overflow: hidden !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-grid article:not([hidden]) > span {
    box-sizing: border-box !important;
    flex: 0 0 min(21.82px, 5.2451923vw) !important;
    width: 100% !important;
    height: min(21.82px, 5.2451923vw) !important;
    min-height: min(21.82px, 5.2451923vw) !important;
    max-height: min(21.82px, 5.2451923vw) !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: min(12.94px, 3.1105769vw) !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-prev,
  html body.home main section.testimonials#testimonials .testimonial-next,
  html body.home main section.testimonials#testimonials .testimonial-arrow {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-dots {
    box-sizing: border-box !important;
    position: static !important;
    flex: 0 0 min(8px, 1.9230769vw) !important;
    width: auto !important;
    max-width: var(--toc-testimonial-mobile-frame) !important;
    height: min(8px, 1.9230769vw) !important;
    min-height: min(8px, 1.9230769vw) !important;
    max-height: min(8px, 1.9230769vw) !important;
    margin: min(25px, 6.0096154vw) 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: min(4.35px, 1.0456731vw) !important;
    overflow: visible !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-dots button,
  html body.home main section.testimonials#testimonials .testimonial-dots button:last-child {
    box-sizing: border-box !important;
    position: relative !important;
    flex: 0 0 clamp(24px, 7.3221154vw, 30.46px) !important;
    width: clamp(24px, 7.3221154vw, 30.46px) !important;
    min-width: clamp(24px, 7.3221154vw, 30.46px) !important;
    max-width: clamp(24px, 7.3221154vw, 30.46px) !important;
    height: 24px !important;
    min-height: 24px !important;
    max-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    opacity: 1 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: flex-basis .2s ease, width .2s ease !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-dots button.is-active {
    flex-basis: min(87.04px, 20.9230769vw) !important;
    width: min(87.04px, 20.9230769vw) !important;
    min-width: min(87.04px, 20.9230769vw) !important;
    max-width: min(87.04px, 20.9230769vw) !important;
    background: transparent !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-dots button::before {
    content: '' !important;
    width: 100% !important;
    height: min(8px, 1.9230769vw) !important;
    display: block !important;
    background: #2d614a !important;
    border: 0 !important;
    border-radius: 999px !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-dots button.is-active::before {
    background: #699381 !important;
  }
}

@media (max-width: 520px) and (prefers-reduced-motion: reduce) {
  html body.home main section.testimonials#testimonials .testimonial-dots button {
    transition: none !important;
  }
}

@media (min-width: 981px) {
  html body.home section.services .service-detail[data-active-slug] > .service-detail-copy.is-active {
    position: absolute !important;
    top: 40px !important;
    left: 291px !important;
    width: 671px !important;
    max-width: 671px !important;
    height: 299px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
    overflow: visible !important;
  }

  html body.home section.services .service-detail[data-active-slug] > .service-detail-copy.is-active p {
    width: 671px !important;
    max-width: 671px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  html body.home section.services .service-detail[data-active-slug] > .service-detail-desktop-icon-frame {
    position: absolute !important;
    top: 40px !important;
    left: 41px !important;
    width: 230px !important;
    height: 298px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: visible !important;
  }
}

@media (max-width: 520px) {
  html body.home main section.warehouse#about {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
    overflow: hidden !important;
  }

  html body.home main section.warehouse#about > .warehouse-collage {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  html body.home main section.warehouse#about > .warehouse-panel {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 42px 24px 48px !important;
    gap: 18px !important;
  }

  html body.home main section.warehouse#about .warehouse-panel h2 {
    width: 100% !important;
    margin: 0 !important;
    font-size: clamp(34px, 9.6vw, 40px) !important;
    line-height: 0.98 !important;
    letter-spacing: 1px !important;
  }

  html body.home main section.warehouse#about .warehouse-copy {
    width: min(481px, 100%) !important;
    gap: 14px !important;
  }

  html body.home main section.warehouse#about .warehouse-panel .warehouse-copy p,
  html body.home main section.warehouse#about .warehouse-panel .warehouse-copy address {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
}

@media (min-width: 981px) {
  html body.home section.services,
  html body.home section.services .services-inner,
  html body.home section.services .service-detail[data-active-slug] {
    overflow: visible !important;
  }

  html body.home section.services .service-detail[data-active-slug] > .service-detail-desktop-icon-frame {
    position: absolute !important;
    top: 40px !important;
    left: 41px !important;
    width: 230px !important;
    height: 298px !important;
    overflow: visible !important;
  }

  html body.home section.services .service-detail[data-active-slug] > .service-detail-desktop-icon-frame > .service-detail-desktop-icon {
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 230px !important;
    height: 230px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    transform: none !important;
  }

  html body.home section.services .service-detail[data-active-slug] > .service-detail-copy.is-active {
    top: 40px !important;
    left: 291px !important;
  }

  html body.home section.services .service-detail[data-active-slug] > .service-detail-copy.is-active h3 {
    font-style: italic !important;
    font-weight: 500 !important;
  }
}

@media (max-width: 520px) {
  html body.home main section.warehouse#about {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background: #fff !important;
  }

  html body.home main section.warehouse#about > .warehouse-collage {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  html body.home main section.warehouse#about > .warehouse-panel {
    width: min(416px, 100vw) !important;
    max-width: 416px !important;
    min-height: 472px !important;
    margin: 0 auto !important;
    padding: 30px 28px 36px !important;
    gap: 35px !important;
  }

  html body.home main section.warehouse#about .location-icon {
    width: 98.47px !important;
    height: 97.41px !important;
    margin: 0 auto !important;
  }

  html body.home main section.warehouse#about .location-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  html body.home main section.warehouse#about .warehouse-panel h2 {
    width: 366px !important;
    max-width: 100% !important;
    font-size: 45px !important;
    line-height: 1 !important;
    letter-spacing: 2px !important;
  }

  html body.home main section.warehouse#about .warehouse-copy {
    width: 322px !important;
    max-width: 100% !important;
  }

  html body.home main section.warehouse#about .warehouse-copy p {
    display: none !important;
  }

  html body.home main section.warehouse#about .warehouse-copy address {
    display: block !important;
    width: 322px !important;
    max-width: 100% !important;
    font-size: 16px !important;
    line-height: 23.1px !important;
    font-weight: 300 !important;
    text-align: center !important;
  }

  html body.home main section.warehouse#about .warehouse-panel a {
    width: 360px !important;
    max-width: 100% !important;
    height: 60px !important;
    min-height: 60px !important;
  }
}

/* Final desktop footer social/newsletter lock. */
@media (min-width: 521px) {
  html body footer.site-footer#footer-contact {
    box-sizing: border-box !important;
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 28px !important;
    overflow: visible !important;
  }

  html body footer.site-footer#footer-contact > .footer-newsletter {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
    overflow: visible !important;
    height: 329px !important;
    min-height: 329px !important;
    max-height: 329px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter h3 {
    width: 304px !important;
    max-width: 100% !important;
    height: 45px !important;
    margin: 0 0 3px !important;
    font-family: 'Proxima Nova', 'Inter', Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 45px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
    white-space: nowrap !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:not(.footer-small) {
    width: 549px !important;
    max-width: 100% !important;
    height: 26px !important;
    margin: 0 0 27px !important;
    font-family: 'Proxima Nova', 'Inter', Arial, sans-serif !important;
    font-size: 17.62px !important;
    line-height: 26.43px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:not(.footer-small) strong {
    font-weight: 600 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter form {
    width: 549px !important;
    max-width: 100% !important;
    display: grid !important;
    gap: 13px !important;
    margin: 0 0 27px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter input[type='email'],
  html body footer.site-footer#footer-contact .footer-newsletter button {
    box-sizing: border-box !important;
    width: 549px !important;
    max-width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    border-radius: 10px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter input[type='email'] {
    padding: 7px 30px !important;
    font-family: 'Proxima Nova', 'Helvetica Neue', 'Inter', Arial, sans-serif !important;
    font-size: 17.62px !important;
    line-height: 26.43px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    color: #000 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter button {
    padding: 10px 30px !important;
    justify-content: flex-start !important;
    text-align: left !important;
    font-size: 17.62px !important;
    line-height: 26.43px !important;
    font-weight: 600 !important;
  }

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

  html body footer.site-footer#footer-contact .footer-social {
    position: static !important;
    width: 169.75px !important;
    max-width: 169.75px !important;
    height: 27px !important;
    min-height: 27px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 30px !important;
  }

  html body footer.site-footer#footer-contact .footer-social-copy {
    display: block !important;
    flex: 0 0 83px !important;
    width: 83px !important;
    max-width: 83px !important;
    height: 27px !important;
    margin: 0 !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 27px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
    white-space: nowrap !important;
  }

  html body footer.site-footer#footer-contact .footer-social-copy strong {
    font-weight: 500 !important;
  }

  html body footer.site-footer#footer-contact .footer-social-break {
    display: none !important;
  }

  html body footer.site-footer#footer-contact .footer-social-icons {
    display: flex !important;
    flex: 0 0 56.75px !important;
    width: 56.75px !important;
    max-width: 56.75px !important;
    height: 25.38px !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
  }

  html body footer.site-footer#footer-contact .footer-social-icons a {
    display: block !important;
    width: 25.38px !important;
    height: 25.38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  html body footer.site-footer#footer-contact .footer-social-icons img {
    display: block !important;
    width: 25.38px !important;
    height: 25.38px !important;
    object-fit: contain !important;
    filter: none !important;
    transition: filter 0.18s ease !important;
  }

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

/* Keep the complete 1920px footer frame, including legal copy and social links. */
@media (min-width: 1920px) {
  html body footer.site-footer#footer-contact {
    height: 425px !important;
    min-height: 425px !important;
    max-height: 425px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}

/* Final mobile footer lock - 414px Figma frame. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact {
    box-sizing: border-box !important;
    position: relative !important;
    width: min(414px, 100vw) !important;
    max-width: 414px !important;
    height: auto !important;
    min-height: 965.48px !important;
    margin: 0 auto !important;
    padding: 32.77px 19.66px 54.62px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 173.68px)) !important;
    column-gap: 27.32px !important;
    row-gap: 39.32px !important;
    align-items: start !important;
    justify-content: start !important;
    overflow: hidden !important;
    color: #fff !important;
    background: #000 !important;
  }

  html body footer.site-footer#footer-contact > .footer-logo-block,
  html body footer.site-footer#footer-contact > .footer-col,
  html body footer.site-footer#footer-contact > .footer-newsletter {
    box-sizing: border-box !important;
    position: static !important;
    inset: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
  }

  html body footer.site-footer#footer-contact > .footer-logo-block {
    grid-column: 1 / -1 !important;
    width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
  }

  html body footer.site-footer#footer-contact .footer-logo-link,
  html body footer.site-footer#footer-contact .footer-logo-link img {
    display: block !important;
    width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
    object-fit: contain !important;
    object-position: left top !important;
  }

  html body footer.site-footer#footer-contact > .footer-col {
    width: 173.68px !important;
    max-width: 173.68px !important;
  }

  html body footer.site-footer#footer-contact .footer-col h3 {
    margin: 0 0 18px !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
    color: #fff !important;
  }

  html body footer.site-footer#footer-contact .footer-col ul {
    display: grid !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-col a {
    font-size: 12px !important;
    line-height: 1.25 !important;
    color: #fff !important;
  }

  html body footer.site-footer#footer-contact > .footer-newsletter {
    grid-column: 1 / -1 !important;
    width: 374.68px !important;
    max-width: 100% !important;
    display: block !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter h3 {
    margin: 0 0 8px !important;
    font-size: 15.5px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    color: #fff !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:not(.footer-small) {
    width: 230px !important;
    margin: 0 0 28px !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
    color: #fff !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter form {
    width: 374.68px !important;
    max-width: 100% !important;
    display: grid !important;
    gap: 13px !important;
    margin: 0 0 28px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter input[type='email'],
  html body footer.site-footer#footer-contact .footer-newsletter button {
    box-sizing: border-box !important;
    width: 374.68px !important;
    max-width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter input[type='email'] {
    padding: 7px 30px !important;
    font-weight: 600 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter button {
    padding: 10px 30px !important;
    justify-content: flex-start !important;
    text-align: left !important;
    font-weight: 600 !important;
  }

  html body footer.site-footer#footer-contact .footer-small {
    width: 374.68px !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 9px !important;
    line-height: 1.45 !important;
    color: #fff !important;
  }

  html body footer.site-footer#footer-contact .footer-social {
    position: static !important;
    width: 374.68px !important;
    max-width: 100% !important;
    height: 90.56px !important;
    min-height: 90.56px !important;
    margin: 21.85px 0 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  html body footer.site-footer#footer-contact .footer-social-copy {
    display: block !important;
    width: 374.68px !important;
    max-width: 100% !important;
    height: 23px !important;
    margin: 0 !important;
    font-family: 'Proxima Nova', 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 16.81px !important;
    line-height: 23px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
  }

  html body footer.site-footer#footer-contact .footer-social-copy strong {
    font-weight: 600 !important;
  }

  html body footer.site-footer#footer-contact .footer-social-extra {
    font-weight: 400 !important;
  }

  html body footer.site-footer#footer-contact .footer-social-break {
    display: block !important;
    height: 21.85px !important;
  }

  html body footer.site-footer#footer-contact .footer-social-icons {
    display: flex !important;
    width: 101.48px !important;
    height: 45.71px !important;
    gap: 10.06px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-social-icons a {
    width: 45.71px !important;
    height: 45.71px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: block !important;
    background: transparent !important;
  }

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

/* Mobile Favourite Products: manual swipe carousel, without automatic motion. */
@media (max-width: 520px) {
  html body.home main section.products#catalogue {
    overflow: hidden !important;
  }

  html body.home main section.products#catalogue > .product-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: auto;
    animation: none !important;
    transform: none !important;
    will-change: auto !important;
    scrollbar-width: none;
  }

  html body.home main section.products#catalogue > .product-grid::-webkit-scrollbar {
    display: none;
  }

  html body.home main section.products#catalogue .product-card-clone {
    display: none !important;
  }

  html body.home main section.products#catalogue .product-card:not(.product-card-clone) {
    flex: 0 0 var(--toc-product-card-width, 374.12px) !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  html body.home main section.products#catalogue .product-card .product-description {
    display: none !important;
  }
}

/* TOC v1.0.345: footer logo asset swap without layout movement. */
html body footer.site-footer#footer-contact .footer-logo-link::after {
  content: none !important;
  display: none !important;
}

html body footer.site-footer#footer-contact .footer-logo-swap {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  line-height: 0 !important;
}

html body footer.site-footer#footer-contact .footer-logo-swap .footer-logo-image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: none !important;
  transform: none !important;
  transition: opacity 0.18s ease !important;
}

html body footer.site-footer#footer-contact .footer-logo-swap .footer-logo-image--default {
  position: relative !important;
  z-index: 1 !important;
  opacity: 1 !important;
}

html body footer.site-footer#footer-contact .footer-logo-swap .footer-logo-image--hover {
  position: absolute !important;
  z-index: 2 !important;
  inset: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (hover: hover) and (pointer: fine) {
  html body footer.site-footer#footer-contact .footer-logo-link:hover .footer-logo-image--default {
    opacity: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-logo-link:hover .footer-logo-image--hover {
    opacity: 1 !important;
  }
}

html body footer.site-footer#footer-contact .footer-logo-link:focus-visible .footer-logo-image--default {
  opacity: 0 !important;
}

html body footer.site-footer#footer-contact .footer-logo-link:focus-visible .footer-logo-image--hover {
  opacity: 1 !important;
}

/* TOC v1.0.351: exact mobile spacing for Dry-Hire and Favourite Products. */
@media (max-width: 520px) {
  html body.home main section.services .service-detail[data-active-slug="dry-hire"] {
    aspect-ratio: 393 / 459 !important;
    margin: 30px auto 19px !important;
  }

  html body.home main section.services .service-detail[data-active-slug="dry-hire"] > .service-detail-copy.is-active {
    top: 76px !important;
    left: 28px !important;
    width: min(342px, calc(100% - 51px)) !important;
    max-width: 342px !important;
  }

  html body.home main section.products#catalogue {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    gap: 25px !important;
  }

  html body.home main section.products#catalogue > .section-line h2 {
    margin: 0 auto !important;
  }

  html body.home main section.products#catalogue > .product-grid {
    --toc-product-gap: 31.51px;
    width: 100% !important;
    max-width: 100% !important;
    height: 508.33px !important;
    min-height: 508.33px !important;
    max-height: 508.33px !important;
    align-items: flex-start !important;
    gap: 31.51px !important;
  }

  html body.home main section.products#catalogue .product-card:not(.product-card-clone) {
    height: 508.33px !important;
    min-height: 508.33px !important;
    max-height: 508.33px !important;
    overflow: hidden !important;
  }

  html body.home main section.products#catalogue .product-card:not(.product-card-clone) > h3 {
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    margin: 20.04px 0 0 !important;
    padding-left: 30px !important;
    font-size: 31px !important;
    line-height: 1.03 !important;
  }

  html body.home main section.products#catalogue .product-card:not(.product-card-clone) > .product-price {
    margin: 21.38px 0 0 !important;
    padding-left: 30px !important;
  }

  html body.home main section.products#catalogue > .section-line a {
    margin: 0 auto !important;
  }
}

/* TOC v1.0.356: final wide-desktop footer recovery after the cached 292px frame. */
@media (min-width: 1369px) {
  html body footer.site-footer#footer-contact {
    box-sizing: border-box !important;
    height: 425px !important;
    min-height: 425px !important;
    max-height: 425px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body footer.site-footer#footer-contact > .footer-newsletter {
    display: flex !important;
    height: 329px !important;
    min-height: 329px !important;
    max-height: 329px !important;
    overflow: visible !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-small {
    display: block !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social {
    display: flex !important;
  }
}

/* TOC v1.0.359: approved desktop Dry-Hire and Staffing overlap only. */
@media (min-width: 981px) {
  html body.home section.services .service-detail[data-active-slug="dry-hire"] {
    height: 284px !important;
    min-height: 284px !important;
    max-height: 284px !important;
    overflow: visible !important;
  }

  html body.home section.services .service-detail[data-active-slug="dry-hire"] > .service-detail-desktop-icon-frame {
    top: 65px !important;
    left: 23px !important;
    width: 239px !important;
    height: 239px !important;
    display: block !important;
    overflow: visible !important;
  }

  html body.home section.services .service-detail[data-active-slug="dry-hire"] > .service-detail-desktop-icon-frame > .service-detail-desktop-icon {
    position: absolute !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    width: 239px !important;
    min-width: 239px !important;
    max-width: 239px !important;
    height: 239px !important;
    min-height: 239px !important;
    max-height: 239px !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  html body.home section.services .service-detail[data-active-slug="staffing"] {
    overflow: visible !important;
  }

  html body.home section.services .service-detail[data-active-slug="staffing"] > .service-detail-desktop-icon-frame {
    display: block !important;
  }

  html body.home section.services .service-detail[data-active-slug="staffing"] > .service-detail-desktop-icon-frame > .service-detail-desktop-icon {
    position: absolute !important;
    top: auto !important;
    right: auto !important;
    bottom: 7px !important;
    left: 12px !important;
    width: 207px !important;
    min-width: 207px !important;
    max-width: 207px !important;
    height: 207px !important;
    min-height: 207px !important;
    max-height: 207px !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: drop-shadow(0 8px 4px rgba(0, 0, 0, 0.32)) !important;
  }
}

/* TOC v1.0.360: exact mobile Catalogue and Mood Boards typography. */
@media (max-width: 520px) {
  html body.home main section.catalogue-band > .catalogue-live-copy > p,
  html body.home main section.catalogue-band > .catalogue-live-copy > h2 {
    box-sizing: border-box !important;
    width: 360px !important;
    max-width: 100% !important;
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 !important;
    padding: 0 !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;
  }

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

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

  html body.home main section.catalogue-band > .catalogue-live-copy > h2 .catalogue-mood-word,
  html body.home main section.catalogue-band > .catalogue-live-copy > h2 .catalogue-question {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: inline !important;
    font-family: 'Instrument Sans', 'Poppins', Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 54px !important;
    letter-spacing: 2px !important;
  }

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

  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-description {
    box-sizing: border-box !important;
    width: min(344px, calc(100% - 16px)) !important;
    max-width: 344px !important;
    height: 93px !important;
    min-height: 93px !important;
    max-height: 93px !important;
    margin: 40px auto 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 23.2px !important;
    font-weight: 300 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-description > br.catalogue-desktop-break {
    display: none !important;
  }
}

/* TOC v1.0.361: supplied full-artwork service cards, mobile only. */
@media (max-width: 520px) {
  html body.home main section.services .service-detail[data-active-slug] {
    aspect-ratio: 393 / 505 !important;
  }

  html body.home main section.services .service-detail-mobile-card {
    object-fit: fill !important;
    object-position: center !important;
  }

  /* The PNG contains the visible copy; retain the live layer for screen readers. */
  html body.home main section.services .service-detail[data-active-slug] > .service-detail-copy.is-active {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* TOC v1.0.363: vertically centre the approved wide-desktop Pride copy. */
@media (min-width: 1441px) {
  html body.about-page main section.about-content-section > .about-row.about-row-bottom {
    align-items: center !important;
  }

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

  html body.about-page main section.about-content-section > .about-row.about-row-bottom > .about-copy.about-copy-left {
    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;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
  }

  html body.about-page main section.about-content-section > .about-row.about-row-bottom > .about-copy.about-copy-left > h2 {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 732px !important;
    height: 99px !important;
    min-height: 99px !important;
    max-height: 99px !important;
    margin: 0 0 55px !important;
    padding: 0 !important;
  }

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

/* TOC v1.0.371: add the supplied Dry-Hire truck as the only desktop artwork layer. */
@media (min-width: 981px) {
  html body.home main section.services .service-detail[data-active-slug="dry-hire"] > .service-detail-banner,
  html body.home main section.services .service-detail[data-active-slug="dry-hire"] > .service-detail-desktop-icon-frame::after {
    display: none !important;
    content: none !important;
  }

  html body.home main section.services .service-detail[data-active-slug="dry-hire"] > .service-detail-desktop-icon-frame > .service-detail-desktop-icon {
    position: absolute !important;
    top: 35px !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    width: 239px !important;
    min-width: 239px !important;
    max-width: 239px !important;
    height: 239px !important;
    min-height: 239px !important;
    max-height: 239px !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: none !important;
    transform: none !important;
  }
}

/* TOC v1.0.372: mathematically align desktop detail icons to the fixed Dry-Hire artwork. */
@media (min-width: 981px) {
  html body.home main section.services .service-detail[data-active-slug="event-planning"] {
    --toc-detail-icon-x: -8.4px;
    --toc-detail-icon-y: -15.6px;
  }

  html body.home main section.services .service-detail[data-active-slug="event-management"] {
    --toc-detail-icon-x: -3.4px;
    --toc-detail-icon-y: 17.9px;
  }

  html body.home main section.services .service-detail[data-active-slug="event-styling"] {
    --toc-detail-icon-x: -14.1px;
    --toc-detail-icon-y: -15.6px;
  }

  html body.home main section.services .service-detail[data-active-slug="decor-furniture"] {
    --toc-detail-icon-x: -11.1px;
    --toc-detail-icon-y: 7.4px;
  }

  html body.home main section.services .service-detail[data-active-slug="staffing"] {
    --toc-detail-icon-x: -14.1px;
    --toc-detail-icon-y: -5.2px;
  }

  html body.home main section.services .service-detail[data-active-slug="catering"] {
    --toc-detail-icon-x: -6.1px;
    --toc-detail-icon-y: 0.4px;
  }

  html body.home main section.services .service-detail[data-active-slug="floral-centerpieces"] {
    --toc-detail-icon-x: -10.1px;
    --toc-detail-icon-y: 4.9px;
  }

  html body.home main section.services .service-detail[data-active-slug="backdrops-arches"] {
    --toc-detail-icon-x: -12.9px;
    --toc-detail-icon-y: -15.6px;
  }

  html body.home main section.services .service-detail[data-active-slug="entertainment"] {
    --toc-detail-icon-x: -26.1px;
    --toc-detail-icon-y: -15.6px;
  }

  html body.home main section.services .service-detail[data-active-slug]:not([data-active-slug="dry-hire"]) > .service-detail-desktop-icon-frame > .service-detail-desktop-icon {
    transform: translate(var(--toc-detail-icon-x, 0), var(--toc-detail-icon-y, 0)) !important;
  }

  html body.home main section.services .service-detail[data-active-slug="dry-hire"] > .service-detail-desktop-icon-frame > .service-detail-desktop-icon {
    transform: none !important;
  }
}

/* TOC v1.0.374: exact mobile testimonial geometry with a continuous card border. */
@media (max-width: 520px) {
  html body.home section.testimonials#testimonials .testimonial-slider {
    --toc-testimonial-mobile-card: 294px;
  }

  html body.home section.testimonials#testimonials .testimonial-grid {
    gap: 21.84px !important;
    column-gap: 21.84px !important;
  }

  html body.home section.testimonials#testimonials .testimonial-grid article:not([hidden]) {
    box-sizing: border-box !important;
    flex: 0 0 294px !important;
    width: 294px !important;
    min-width: 294px !important;
    max-width: 294px !important;
    height: 333.72px !important;
    min-height: 333.72px !important;
    max-height: 333.72px !important;
    padding: 23.27px 15.18px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16.18px !important;
    overflow: hidden !important;
    background: #174933 !important;
    border: 1px solid #fff !important;
    border-radius: 24.27px !important;
    box-shadow: none !important;
  }

  html body.home section.testimonials#testimonials .testimonial-grid article:not([hidden]) > h3 {
    box-sizing: border-box !important;
    flex: 0 0 60px !important;
    width: 100% !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    margin: 0 !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 26.59px !important;
    font-weight: 600 !important;
    line-height: 100% !important;
    letter-spacing: 0 !important;
  }

  html body.home section.testimonials#testimonials .testimonial-grid article:not([hidden]) > p {
    box-sizing: border-box !important;
    flex: 0 0 171px !important;
    width: 100% !important;
    height: 171px !important;
    min-height: 171px !important;
    max-height: 171px !important;
    margin: 0 !important;
    overflow: hidden !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    letter-spacing: 0 !important;
  }

  html body.home section.testimonials#testimonials .testimonial-grid article:not([hidden]) > span {
    box-sizing: border-box !important;
    flex: 0 0 21.82px !important;
    width: 100% !important;
    height: 21.82px !important;
    min-height: 21.82px !important;
    max-height: 21.82px !important;
    margin: 0 !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 12.94px !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    letter-spacing: 0 !important;
  }
}

/* TOC v1.0.375: stabilize only narrow Samsung-width mobile layouts. */
@media (max-width: 380px) {
  html body.home main .start-strip {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 301px !important;
    max-height: none !important;
    padding: 50px 10px !important;
    gap: 21px !important;
    overflow: hidden !important;
  }

  html body.home main .start-strip .start-copy {
    box-sizing: border-box !important;
    width: min(394px, calc(100vw - 20px)) !important;
    max-width: min(394px, calc(100vw - 20px)) !important;
    height: auto !important;
    min-height: 120px !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    overflow: visible !important;
  }

  html body.home main section.warehouse#about > .warehouse-panel {
    height: auto !important;
    min-height: 532px !important;
    max-height: none !important;
    overflow: visible !important;
  }

  html body.home main section.warehouse#about .warehouse-panel h2 {
    height: auto !important;
    min-height: 135px !important;
    max-height: none !important;
    flex: 0 0 auto !important;
  }

  html body.home .faq-list {
    width: min(342px, calc(100vw - 40px)) !important;
    max-width: 342px !important;
  }

  html body.home .faq details:not([open]) {
    height: auto !important;
    min-height: 100px !important;
    max-height: none !important;
  }

  html body.home .faq details:not([open]) > summary {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 100px !important;
    max-height: none !important;
    display: flex !important;
    align-items: center !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
}

/* TOC v1.0.376: desktop CTA hover is a colour-only inversion. */
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  html body .site-header .header-cta,
  html body.home main .start-strip a,
  html body.home main section.gallery .gallery-btn,
  html body.home main .catalogue-actions a,
  html body.home main section.warehouse#about .warehouse-panel a,
  html body.home main section.instagram#social .social-btn {
    transform: none !important;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease !important;
  }

  html body .site-header .header-cta:hover,
  html body .site-header .header-cta:focus-visible,
  html body.home main section.gallery .gallery-btn:hover,
  html body.home main section.gallery .gallery-btn:focus-visible,
  html body.home main .catalogue-actions a:first-child:hover,
  html body.home main .catalogue-actions a:first-child:focus-visible {
    color: #fff !important;
    background: #000 !important;
    border-color: #fff !important;
    transform: none !important;
  }

  html body.home main .start-strip a:hover,
  html body.home main .start-strip a:focus-visible,
  html body.home main .catalogue-actions a:nth-child(2):hover,
  html body.home main .catalogue-actions a:nth-child(2):focus-visible,
  html body.home main section.warehouse#about .warehouse-panel a:hover,
  html body.home main section.warehouse#about .warehouse-panel a:focus-visible,
  html body.home main section.instagram#social .social-btn:hover,
  html body.home main section.instagram#social .social-btn:focus-visible {
    color: #000 !important;
    background: #fff !important;
    border-color: #000 !important;
    transform: none !important;
  }

  html body .site-header .header-cta:hover,
  html body .site-header .header-cta:focus-visible,
  html body.home main .start-strip a:hover,
  html body.home main .start-strip a:focus-visible,
  html body.home main section.gallery .gallery-btn:hover,
  html body.home main section.gallery .gallery-btn:focus-visible,
  html body.home main section.warehouse#about .warehouse-panel a:hover,
  html body.home main section.warehouse#about .warehouse-panel a:focus-visible,
  html body.home main section.instagram#social .social-btn:hover,
  html body.home main section.instagram#social .social-btn:focus-visible {
    box-shadow: none !important;
  }

  html body.home main .catalogue-actions a:first-child:hover,
  html body.home main .catalogue-actions a:first-child:focus-visible {
    box-shadow: 0 12px 26px rgba(0, 0, 0, .14) !important;
  }

  html body.home main .catalogue-actions a:nth-child(2):hover,
  html body.home main .catalogue-actions a:nth-child(2):focus-visible {
    box-shadow: 0 16px 34px rgba(0, 0, 0, .28) !important;
  }

  html body.home main .catalogue-actions a .catalogue-icon {
    transition: filter .18s ease !important;
  }

  html body.home main .catalogue-actions a:first-child:hover .catalogue-icon,
  html body.home main .catalogue-actions a:first-child:focus-visible .catalogue-icon {
    filter: brightness(0) invert(1) !important;
  }

  html body.home main .catalogue-actions a:nth-child(2):hover .catalogue-icon,
  html body.home main .catalogue-actions a:nth-child(2):focus-visible .catalogue-icon {
    filter: brightness(0) !important;
  }
}

/* TOC v1.0.377: Facebook's blue resting state inverts to black, with white text. */
@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  html body.home main section.instagram#social .social-btn.social-facebook:hover,
  html body.home main section.instagram#social .social-btn.social-facebook:focus-visible {
    color: #fff !important;
    background: #000 !important;
    border-color: #fff !important;
    transform: none !important;
    box-shadow: none !important;
  }
}

/* TOC v1.0.378: smaller, tighter mobile testimonial pagination dots. */
@media (max-width: 520px) {
  html body.home section.testimonials#testimonials .testimonial-dots {
    width: 62px !important;
    max-width: 62px !important;
    gap: 2px !important;
  }

  html body.home section.testimonials#testimonials .testimonial-dots button {
    width: 14px !important;
    min-width: 14px !important;
    height: 14px !important;
    min-height: 14px !important;
  }

  html body.home section.testimonials#testimonials .testimonial-dots button::before {
    width: 8px !important;
    height: 8px !important;
  }
}

/* TOC v1.0.379: guard extra-narrow phones without changing the approved 414px frame. */
@media (max-width: 380px) {
  html body.home main section.catalogue-band > .catalogue-live-copy > p,
  html body.home main section.catalogue-band > .catalogue-live-copy > h2,
  html body.home main section.catalogue-band > .catalogue-live-copy > h2 .catalogue-mood-word,
  html body.home main section.catalogue-band > .catalogue-live-copy > h2 .catalogue-question {
    font-size: clamp(40px, 12.5vw, 45px) !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-description {
    height: auto !important;
    min-height: 93px !important;
    max-height: none !important;
  }

  html body footer.site-footer#footer-contact {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 15px !important;
    justify-content: stretch !important;
  }

  html body footer.site-footer#footer-contact > .footer-col,
  html body footer.site-footer#footer-contact > .footer-newsletter,
  html body footer.site-footer#footer-contact .footer-newsletter h3,
  html body footer.site-footer#footer-contact .footer-newsletter form,
  html body footer.site-footer#footer-contact .footer-newsletter input[type='email'],
  html body footer.site-footer#footer-contact .footer-newsletter button,
  html body footer.site-footer#footer-contact .footer-newsletter .footer-small,
  html body footer.site-footer#footer-contact .footer-newsletter .footer-social,
  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-copy {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* TOC v1.0.381: final header Quick Form CTA gold interaction lock. */
@media (hover: hover) and (pointer: fine) {
  html body .site-header .header-cta:hover,
  html body .site-header .header-cta:focus-visible {
    color: #000 !important;
    background: #f4c65e !important;
    border-color: #f4c65e !important;
    box-shadow: none !important;
    transform: none !important;
  }
}

html body footer.site-footer#footer-contact .footer-label-mobile {
  display: none !important;
}

/* TOC v1.0.391: 414px Figma mobile footer alignment and mobile-only footer labels. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact {
    width: 100% !important;
    max-width: 414px !important;
    min-height: 965px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 20px 20px 34px !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 43px !important;
    row-gap: 0 !important;
    align-items: start !important;
    overflow: hidden !important;
  }

  html body footer.site-footer#footer-contact > .footer-logo-block {
    width: 177px !important;
    max-width: 177px !important;
    margin: 0 0 39px !important;
    justify-self: start !important;
  }

  html body footer.site-footer#footer-contact .footer-logo-image {
    width: 177px !important;
    max-width: 177px !important;
  }

  html body footer.site-footer#footer-contact > .footer-col {
    width: 100% !important;
    max-width: 132px !important;
    justify-self: start !important;
  }

  html body footer.site-footer#footer-contact .footer-col h3 {
    margin: 0 0 24px !important;
    font-size: 24px !important;
    line-height: 30px !important;
    font-weight: 500 !important;
    font-style: italic !important;
  }

  html body footer.site-footer#footer-contact .footer-col a {
    margin: 0 0 16px !important;
    font-size: 16px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
    overflow-wrap: normal !important;
  }

  html body footer.site-footer#footer-contact .footer-col a[data-mobile-hidden='true'] {
    display: none !important;
  }

  html body footer.site-footer#footer-contact .footer-col a[data-mobile-label] .footer-label-default {
    display: none !important;
  }

  html body footer.site-footer#footer-contact .footer-col a[data-mobile-label] .footer-label-mobile {
    display: inline !important;
  }

  html body footer.site-footer#footer-contact > .footer-newsletter {
    margin: 41px 0 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter h3 {
    margin: 0 0 11px !important;
    font-size: 18px !important;
    line-height: 23px !important;
    font-weight: 600 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:first-of-type {
    width: 280px !important;
    max-width: 100% !important;
    margin: 0 0 27px !important;
    font-size: 13px !important;
    line-height: 19px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter form {
    margin: 0 0 33px !important;
    gap: 13px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter input[type='email'],
  html body footer.site-footer#footer-contact .footer-newsletter button {
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 25px !important;
    border-radius: 7px !important;
    font-size: 14px !important;
    line-height: 18px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-small {
    margin: 0 0 34px !important;
    font-size: 12px !important;
    line-height: 18px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social {
    display: block !important;
    width: 100% !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-copy {
    display: block !important;
    margin: 0 0 19px !important;
    font-size: 14px !important;
    line-height: 19px !important;
    white-space: normal !important;
  }

  html body footer.site-footer#footer-contact .footer-social-copy strong {
    font-size: 14px !important;
    line-height: 19px !important;
    font-weight: 600 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-icons {
    display: flex !important;
    gap: 16px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-icons a,
  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-icons img {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }
}

@media (max-width: 380px) {
  html body footer.site-footer#footer-contact {
    max-width: 375px !important;
    min-height: 878px !important;
    padding: 9px 16px 28px !important;
    column-gap: 32px !important;
  }

  html body footer.site-footer#footer-contact > .footer-logo-block,
  html body footer.site-footer#footer-contact .footer-logo-image {
    width: 176px !important;
    max-width: 176px !important;
  }

  html body footer.site-footer#footer-contact > .footer-logo-block {
    margin-bottom: 31px !important;
  }

  html body footer.site-footer#footer-contact .footer-col h3 {
    margin-bottom: 22px !important;
    font-size: 23px !important;
    line-height: 28px !important;
  }

  html body footer.site-footer#footer-contact .footer-col a {
    margin-bottom: 14px !important;
    font-size: 15px !important;
    line-height: 21px !important;
  }

  html body footer.site-footer#footer-contact > .footer-newsletter {
    margin-top: 38px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter form {
    margin-bottom: 26px !important;
  }
}

/* TOC v1.0.392: high-specificity mobile footer logo placement lock. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact {
    padding-top: 0 !important;
  }

  html body footer.site-footer#footer-contact > .footer-logo-block,
  html body footer.site-footer#footer-contact .footer-logo-link,
  html body footer.site-footer#footer-contact .footer-logo-swap {
    width: 177px !important;
    min-width: 177px !important;
    max-width: 177px !important;
    height: auto !important;
    margin-left: 0 !important;
    justify-self: start !important;
  }

  html body footer.site-footer#footer-contact .footer-logo-link img.footer-logo-image {
    width: 177px !important;
    min-width: 177px !important;
    max-width: 177px !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: left top !important;
  }
}

/* TOC v1.0.382: identical-canvas desktop logo swap with no layout movement. */
@media (min-width: 981px) {
  html body .site-header .brand-logo-stack {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 422 / 70 !important;
    display: block !important;
    line-height: 0 !important;
    transform: none !important;
    overflow: visible !important;
  }

  html body .site-header .brand img.brand-logo-desktop {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    filter: none !important;
    transform: none !important;
    transition: opacity .18s ease !important;
  }

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

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

  html body .site-header .brand:hover,
  html body .site-header .brand:focus-visible,
  html body .site-header .brand:hover .brand-logo-stack,
  html body .site-header .brand:focus-visible .brand-logo-stack,
  html body .site-header .brand:hover img.brand-logo-desktop,
  html body .site-header .brand:focus-visible img.brand-logo-desktop {
    transform: none !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;
  }
}

/* TOC v1.0.435: keep the Services heading centred below the sticky header. */
html body.home main section.services#services {
  scroll-margin-top: 102px !important;
}

/*
 * TOC v1.0.442: Tickets 7-8 blue strip wrapping, breathing space, and Services spacing.
 * Keep this final in the normalization layer so it wins over legacy Figma
 * measurement locks without changing unrelated homepage components.
 */
html body.home main .start-strip {
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(16px, 2vw, 32px) !important;
  overflow: visible !important;
}

html body.home main .start-strip .start-copy {
  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;
  flex: 0 1 auto !important;
  color: #000 !important;
  font-size: clamp(18px, 1.15vw, 22px) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

html body.home main .start-strip .start-copy span,
html body.home main .start-strip .start-copy .start-blue,
html body.home main .start-strip .start-copy .start-question-mark {
  color: #000 !important;
  font: inherit !important;
  letter-spacing: inherit !important;
}

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

html body.home main .start-strip a {
  box-sizing: border-box !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: calc(100vw - 24px) !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  flex: 0 0 auto !important;
  font-size: 18px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

html body.home main .start-strip a .desktop-cta-text {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

html body.home main .start-strip a .mobile-cta-text {
  display: none !important;
}

html body.home main section.services#services {
  box-sizing: border-box !important;
  margin: 0 auto !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

html body.home main section.services#services > h2 {
  margin: 0 auto 11px !important;
}

html body.home main section.services#services > .service-tabs {
  margin-top: 0 !important;
}

@media (max-width: 700px) {
  html body.home main .start-strip {
    flex-direction: column !important;
    gap: 12px !important;
  }

  html body.home main .start-strip .start-copy {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 12px !important;
    flex: 0 0 auto !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  html body.home main .start-strip a {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding-right: 22px !important;
    padding-left: 22px !important;
  }
}

/* Keep the existing desktop Catalogue anchor clearance. */
@media (min-width: 981px) {
  html body.home main section.products#catalogue {
    scroll-margin-top: 100px !important;
  }

  html body.admin-bar.home main section.products#catalogue {
    scroll-margin-top: 132px !important;
  }

  html body.admin-bar.home main section.services#services {
    scroll-margin-top: 134px !important;
  }
}

/* TOC v1.0.384: fixed-size Quick Form CTA flicker between white and the approved UI blue. */
@keyframes toc-header-quick-form-flicker {
  0%,
  49.999% {
    --toc-header-cta-flicker-color: #fff;
  }

  50%,
  100% {
    --toc-header-cta-flicker-color: #7eb7ce;
  }
}

html body .site-header .header-cta {
  --toc-header-cta-flicker-color: #fff;
  color: #000 !important;
  background: var(--toc-header-cta-flicker-color) !important;
  border-color: var(--toc-header-cta-flicker-color) !important;
  box-shadow: none !important;
  transform: none !important;
  animation: toc-header-quick-form-flicker 2.4s steps(1, end) infinite !important;
}

@media (prefers-reduced-motion: reduce) {
  html body .site-header .header-cta {
    --toc-header-cta-flicker-color: #fff;
    background: #fff !important;
    border-color: #fff !important;
    animation: none !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  html body .site-header .header-cta:hover,
  html body .site-header .header-cta:focus-visible,
  html body .site-header .header-cta:active {
    --toc-header-cta-flicker-color: #f4c65e;
    color: #000 !important;
    background: #f4c65e !important;
    border-color: #f4c65e !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
  }
}

/* TOC v1.0.393: final winning 414px mobile footer logo position after legacy footer locks. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact {
    padding-top: 0 !important;
  }

  html body footer.site-footer#footer-contact > .footer-logo-block {
    width: 230.48px !important;
    min-width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
    min-height: 120.94px !important;
    max-height: 120.94px !important;
    margin: 0 0 34px !important;
    justify-self: start !important;
  }

  html body footer.site-footer#footer-contact .footer-logo-link,
  html body footer.site-footer#footer-contact .footer-logo-swap,
  html body footer.site-footer#footer-contact .footer-logo-link img.footer-logo-image {
    width: 230.48px !important;
    min-width: 230.48px !important;
    max-width: 230.48px !important;
    height: 120.94px !important;
    min-height: 120.94px !important;
    max-height: 120.94px !important;
  }

  html body footer.site-footer#footer-contact .footer-logo-link {
    transform: translateX(-76px) scale(.82) !important;
    transform-origin: left top !important;
  }
}

/* TOC v1.0.394: 414px mobile footer Company/Support frame lock. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 32.77px !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col {
    box-sizing: border-box !important;
    width: 170.95px !important;
    min-width: 0 !important;
    max-width: 170.95px !important;
    min-height: 167px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    justify-self: stretch !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col h3 {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 0 21px !important;
    padding: 0 !important;
    font-size: 24px !important;
    line-height: 30px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col a {
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col a:last-child {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 380px) {
  html body footer.site-footer#footer-contact {
    column-gap: 32.77px !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col {
    width: calc((100vw - 32px - 32.77px) / 2) !important;
    max-width: calc((100vw - 32px - 32.77px) / 2) !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col h3 {
    font-size: 23px !important;
    line-height: 29px !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col a {
    font-size: 15px !important;
    line-height: 21px !important;
  }
}

/* TOC v1.0.386: footer newsletter Figma hover and click-state colour lock. */
html body footer.site-footer#footer-contact .footer-newsletter input[type='email']:hover,
html body footer.site-footer#footer-contact .footer-newsletter input[type='email']:focus,
html body footer.site-footer#footer-contact .footer-newsletter input[type='email']:focus-visible,
html body footer.site-footer#footer-contact .footer-newsletter input[type='email']:active {
  border-color: #f4c65e !important;
  outline: none !important;
}

html body footer.site-footer#footer-contact .footer-newsletter button {
  transform: none !important;
  box-shadow: none !important;
}

@media (hover: hover) and (pointer: fine) {
  html body footer.site-footer#footer-contact .footer-newsletter button:hover {
    color: #fff !important;
    background: #86620d !important;
    border-color: #86620d !important;
    transform: none !important;
    box-shadow: none !important;
  }
}

html body footer.site-footer#footer-contact .footer-newsletter form:focus-within button,
html body footer.site-footer#footer-contact .footer-newsletter button:active {
  color: #fff !important;
  background: #3f778e !important;
  border-color: #3f778e !important;
  transform: none !important;
  box-shadow: none !important;
}

/* TOC v1.0.389: global mobile footer lock only, anchored to 414px and guarded for narrow Samsung widths. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 43px max(19px, calc((100vw - 375px) / 2)) 29px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 27px !important;
    row-gap: 0 !important;
    align-items: start !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #000 !important;
  }

  html body footer.site-footer#footer-contact > .footer-logo-block {
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
    position: static !important;
    width: min(230px, 62vw) !important;
    max-width: min(230px, 62vw) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto 36px !important;
    padding: 0 !important;
    display: block !important;
  }

  html body footer.site-footer#footer-contact .footer-logo-link,
  html body footer.site-footer#footer-contact .footer-logo-swap,
  html body footer.site-footer#footer-contact .footer-logo-image {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
  }

  html body footer.site-footer#footer-contact > .footer-col {
    box-sizing: border-box !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-col h3 {
    margin: 0 0 17px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 26px !important;
    line-height: 31px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
  }

  html body footer.site-footer#footer-contact .footer-col a {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 15px !important;
    padding: 0 !important;
    display: block !important;
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  html body footer.site-footer#footer-contact > .footer-newsletter {
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 30px 0 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter h3 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 7px !important;
    color: #fff !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 24px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:first-of-type {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter form {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    display: grid !important;
    gap: 12px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter input[type='email'],
  html body footer.site-footer#footer-contact .footer-newsletter button {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 43px !important;
    min-height: 43px !important;
    max-height: 43px !important;
    margin: 0 !important;
    padding: 0 25px !important;
    font-size: 15px !important;
    line-height: 18px !important;
    letter-spacing: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-small {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 18px !important;
    color: #fff !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 16px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-small a {
    color: #fff !important;
    font-size: inherit !important;
    line-height: inherit !important;
    text-decoration: underline !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social {
    box-sizing: border-box !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 28px !important;
  }

  html body footer.site-footer#footer-contact .footer-social-break {
    display: none !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-copy {
    flex: 0 1 auto !important;
    min-width: 0 !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 footer.site-footer#footer-contact .footer-newsletter .footer-social-icons {
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    gap: 6px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-icons a,
  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-icons img {
    width: 25px !important;
    min-width: 25px !important;
    max-width: 25px !important;
    height: 25px !important;
    min-height: 25px !important;
    max-height: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    display: block !important;
  }
}

@media (max-width: 380px) {
  html body footer.site-footer#footer-contact {
    padding-right: 16px !important;
    padding-left: 16px !important;
    column-gap: 15px !important;
  }

  html body footer.site-footer#footer-contact .footer-col h3 {
    font-size: clamp(22px, 6.8vw, 26px) !important;
    line-height: 1.18 !important;
  }

  html body footer.site-footer#footer-contact .footer-col a {
    font-size: clamp(11px, 3.35vw, 12px) !important;
    line-height: 1.45 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social {
    gap: 18px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-copy {
    font-size: clamp(20px, 6.8vw, 25px) !important;
    line-height: 1.08 !important;
  }
}

/* TOC v1.0.388: supplied desktop FAQ caret, blue hover state, and collapse control. */
html body.home .faq .faq-collapse {
  display: none !important;
}

@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  html body.home .faq details[open] p::after {
    content: none !important;
    display: none !important;
  }

  html body.home .faq details[open] p .faq-collapse {
    box-sizing: border-box !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    z-index: 2 !important;
    width: 27px !important;
    min-width: 27px !important;
    max-width: 27px !important;
    height: 17px !important;
    min-height: 17px !important;
    max-height: 17px !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    color: transparent !important;
    background-color: transparent !important;
    background-image: url('../rsc/icons/faq-up-caret-white-figma.png') !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 20px 13px !important;
    box-shadow: none !important;
    transform: translateX(-50%) !important;
    cursor: pointer !important;
  }

  html body.home .faq details[open] p .faq-collapse:hover,
  html body.home .faq details[open] p .faq-collapse:focus-visible {
    background-color: transparent !important;
    background-image: url('../rsc/icons/faq-up-caret-blue-figma.png') !important;
    box-shadow: none !important;
    transform: translateX(-50%) !important;
  }

  html body.home .faq details[open] p .faq-collapse:focus-visible {
    outline: 2px solid #7eb7ce !important;
    outline-offset: 2px !important;
  }
}

/* TOC v1.0.390: remove blue header CTA flicker; normal is white, hover/focus is gold. */
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,
html body.menu-open .site-header .header-cta {
  --toc-header-cta-flicker-color: #fff !important;
  color: #000 !important;
  background: #fff !important;
  border-color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
  animation: none !important;
}

@media (hover: hover) and (pointer: fine) {
  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,
  html body.menu-open .site-header .header-cta:hover,
  html body.menu-open .site-header .header-cta:focus-visible {
    --toc-header-cta-flicker-color: #f4c65e !important;
    color: #000 !important;
    background: #f4c65e !important;
    border-color: #f4c65e !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
  }
}

/* TOC v1.0.395: measured Figma Company/Support mobile footer frames. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact {
    min-height: 965.48px !important;
    padding-top: 0 !important;
    padding-right: max(19.66px, calc((100vw - 374.68px) / 2)) !important;
    padding-left: max(19.66px, calc((100vw - 374.68px) / 2)) !important;
    grid-template-columns: 173.68px 173.68px !important;
    column-gap: 27.32px !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col {
    box-sizing: border-box !important;
    width: 173.68px !important;
    min-width: 173.68px !important;
    max-width: 173.68px !important;
    height: 215.19px !important;
    min-height: 215.19px !important;
    max-height: 215.19px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 21.85px !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col h3 {
    box-sizing: border-box !important;
    width: fit-content !important;
    max-width: 100% !important;
    height: 29.49px !important;
    min-height: 29.49px !important;
    max-height: 29.49px !important;
    margin: 0 !important;
    padding: 0 10.92px !important;
    display: flex !important;
    align-items: center !important;
    font-size: 26px !important;
    line-height: 29.49px !important;
    font-weight: 400 !important;
    font-style: italic !important;
    white-space: nowrap !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col[aria-label='Company links'] h3 {
    width: 151.92px !important;
  }

  html body footer.site-footer#footer-contact .footer-menu-list {
    box-sizing: border-box !important;
    width: max-content !important;
    height: 163.85px !important;
    min-height: 163.85px !important;
    max-height: 163.85px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 15.29px !important;
  }

  html body footer.site-footer#footer-contact .footer-menu-list--footer_company {
    width: 131.08px !important;
  }

  html body footer.site-footer#footer-contact .footer-menu-list--footer_support {
    width: 178.05px !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col .footer-menu-list > a {
    box-sizing: border-box !important;
    width: fit-content !important;
    max-width: none !important;
    height: 29.49px !important;
    min-height: 29.49px !important;
    max-height: 29.49px !important;
    margin: 0 !important;
    padding: 0 10.92px !important;
    display: flex !important;
    align-items: center !important;
    flex: 0 0 29.49px !important;
    font-size: 16px !important;
    line-height: 19px !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col .footer-menu-list > a[data-mobile-hidden='true'] {
    display: none !important;
  }

  html body footer.site-footer#footer-contact > .footer-newsletter {
    box-sizing: border-box !important;
    width: 374.68px !important;
    min-width: 374.68px !important;
    max-width: 374.68px !important;
    height: 466.3px !important;
    min-height: 466.3px !important;
    max-height: 466.3px !important;
    margin-top: 32.77px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter h3 {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 29.49px !important;
    min-height: 29.49px !important;
    max-height: 29.49px !important;
    margin: 0 0 6.55px !important;
    padding: 0 !important;
    font-family: 'Proxima Nova', 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 21.85px !important;
    line-height: 29.49px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:first-of-type {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 52.51px !important;
    min-height: 52.51px !important;
    max-height: 52.51px !important;
    margin: 0 0 32.77px !important;
    padding: 0 !important;
    font-family: 'Proxima Nova', 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 15.29px !important;
    line-height: 22.94px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter form {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 116.88px !important;
    min-height: 116.88px !important;
    max-height: 116.88px !important;
    margin: 0 0 32.77px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-rows: repeat(2, 50.245px) !important;
    gap: 16.39px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter input[type='email'],
  html body footer.site-footer#footer-contact .footer-newsletter button {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 50.245px !important;
    min-height: 50.245px !important;
    max-height: 50.245px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    font-family: 'Proxima Nova', 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 19.24px !important;
    line-height: 29px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

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

  html body footer.site-footer#footer-contact .footer-newsletter input[type='email']::placeholder {
    color: #000 !important;
    font: inherit !important;
    opacity: 1 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter button {
    padding: 10.92px 10.92px 10.92px 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #fff !important;
    background: linear-gradient(180deg, #bc9337 0%, #e5b853 31%, #f4c65e 50%, #d6aa48 72%, #926e1e 100%) !important;
    text-align: left !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-small {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 69px !important;
    min-height: 69px !important;
    max-height: 69px !important;
    margin: 0 0 32.77px !important;
    padding: 0 !important;
    font-family: 'Proxima Nova', 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 15.29px !important;
    line-height: 22.94px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 90.56px !important;
    min-height: 90.56px !important;
    max-height: 90.56px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 21.85px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-copy {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Proxima Nova', 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 16.81px !important;
    line-height: 23px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-copy strong {
    font-weight: 600 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-icons {
    box-sizing: border-box !important;
    width: 101.48px !important;
    height: 45.71px !important;
    min-height: 45.71px !important;
    max-height: 45.71px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10.06px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-icons a,
  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-icons img {
    box-sizing: border-box !important;
    width: 45.71px !important;
    min-width: 45.71px !important;
    max-width: 45.71px !important;
    height: 45.71px !important;
    min-height: 45.71px !important;
    max-height: 45.71px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 45.71px !important;
  }
}

@media (max-width: 413px) {
  html body footer.site-footer#footer-contact {
    padding-right: 16px !important;
    padding-left: 16px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: clamp(15px, 7vw, 27.32px) !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html body footer.site-footer#footer-contact .footer-logo-link {
    transform: translateX(calc(131px - 50vw)) scale(.82) !important;
    transform-origin: left top !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col h3 {
    width: fit-content !important;
    padding-right: clamp(0px, 2.8vw, 10.92px) !important;
    padding-left: clamp(0px, 2.8vw, 10.92px) !important;
    font-size: clamp(22px, 6.65vw, 26px) !important;
  }

  html body footer.site-footer#footer-contact .footer-menu-list,
  html body footer.site-footer#footer-contact .footer-menu-list--footer_company,
  html body footer.site-footer#footer-contact .footer-menu-list--footer_support {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col .footer-menu-list > a {
    max-width: 100% !important;
    padding-right: clamp(0px, 2.8vw, 10.92px) !important;
    padding-left: clamp(0px, 2.8vw, 10.92px) !important;
    font-size: clamp(14px, 3.9vw, 16px) !important;
  }

  html body footer.site-footer#footer-contact > .footer-newsletter {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:first-of-type,
  html body footer.site-footer#footer-contact .footer-newsletter .footer-small {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-small {
    font-size: clamp(13px, 3.9vw, 15.29px) !important;
    line-height: 1.5 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-copy {
    font-size: clamp(14px, 4.3vw, 16.81px) !important;
  }
}

/* TOC v1.0.397: let the mobile footer hug its content after the social-copy removal. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}

/* TOC v1.0.398: isolated designer corrections for the header, hero note, and testimonials. */
@media (min-width: 981px) and (max-width: 1919px) {
  html body[class] .site-header {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    padding-right: clamp(16px, 2.5vw, 48px) !important;
    padding-left: clamp(16px, 2.5vw, 48px) !important;
    grid-template-columns: clamp(190px, 18vw, 281px) minmax(0, 552px) clamp(294px, 25vw, 360px) !important;
    column-gap: clamp(16px, 3.8vw, 80px) !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body[class] .site-header .brand,
  html body[class] .site-header .brand-logo-stack,
  html body[class] .site-header .brand img.brand-logo-desktop {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 281px !important;
  }

  html body[class] .site-header .main-nav {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 552px !important;
    gap: clamp(10px, 1.3vw, 20px) !important;
  }

  html body[class] .site-header .main-nav a {
    font-size: clamp(14px, 1.25vw, 18px) !important;
  }

  html body[class] .site-header .header-actions {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 360px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) clamp(132px, 11vw, 160px) !important;
    gap: 12px !important;
  }

  html body[class] .site-header .phone-link {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    font-size: clamp(14px, 1.25vw, 18px) !important;
    letter-spacing: 0 !important;
  }

  html body[class] .site-header .header-cta {
    width: clamp(132px, 11vw, 160px) !important;
    min-width: 132px !important;
    max-width: 160px !important;
    font-size: clamp(15px, 1.25vw, 18px) !important;
  }
}

@media (min-width: 1920px) {
  html body[class] .site-header {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    padding-right: max(24px, calc((100% - 1409px) / 2)) !important;
    padding-left: max(24px, calc((100% - 1409px) / 2)) !important;
    grid-template-columns: 281px 552px 360px !important;
    column-gap: 108px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html body[class] .site-header .brand,
  html body[class] .site-header .brand-logo-stack,
  html body[class] .site-header .brand img.brand-logo-desktop {
    width: 281px !important;
    min-width: 281px !important;
    max-width: 281px !important;
  }

  html body[class] .site-header .main-nav {
    width: 552px !important;
    min-width: 552px !important;
    max-width: 552px !important;
  }

  html body[class] .site-header .header-actions {
    width: 360px !important;
    min-width: 360px !important;
    max-width: 360px !important;
  }
}

@media (min-width: 981px) {
  html body[class] .site-header .brand,
  html body[class] .site-header .brand-logo-stack,
  html body[class] .site-header .brand img.brand-logo-desktop,
  html body[class] .site-header .brand:hover,
  html body[class] .site-header .brand:focus-visible,
  html body[class] .site-header .brand:hover .brand-logo-stack,
  html body[class] .site-header .brand:focus-visible .brand-logo-stack,
  html body[class] .site-header .brand:hover img.brand-logo-desktop,
  html body[class] .site-header .brand:focus-visible img.brand-logo-desktop {
    height: 46.2px !important;
    min-height: 46.2px !important;
    max-height: 46.2px !important;
    transform: none !important;
  }

  html body[class] .site-header .main-nav a {
    position: relative !important;
    overflow: visible !important;
  }

  html body[class] .site-header .main-nav a::before {
    content: none !important;
    display: none !important;
  }

  html body[class] .site-header .main-nav a::after {
    content: '' !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -8px !important;
    width: 76px !important;
    height: 2px !important;
    display: block !important;
    background: #7eb7ce !important;
    border: 0 !important;
    border-radius: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(-50%) !important;
    transition: opacity .18s ease !important;
    pointer-events: none !important;
  }

  html body[class] .site-header .main-nav a:hover::after,
  html body[class] .site-header .main-nav a:focus-visible::after {
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body[class] .site-header .phone-link,
  html body[class] .site-header .phone-link:hover,
  html body[class] .site-header .phone-link:focus,
  html body[class] .site-header .phone-link:focus-visible,
  html body[class] .site-header .phone-link:active {
    color: #fff !important;
    background: transparent !important;
    text-decoration: none !important;
    transform: none !important;
    transition: none !important;
    cursor: default !important;
  }

  html body[class] .site-header .phone-link::before,
  html body[class] .site-header .phone-link:hover::before,
  html body[class] .site-header .phone-link:focus::before,
  html body[class] .site-header .phone-link:focus-visible::before,
  html body[class] .site-header .phone-link:active::before {
    background-image: url('../rsc/icons/phone-call-default.png') !important;
    transform: none !important;
    transition: none !important;
  }

  html body[class] .site-header .header-cta {
    color: #000 !important;
    background: #fff !important;
    border-color: #fff !important;
    animation: none !important;
    transform: none !important;
  }
}

@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  html body[class] .site-header .header-cta:hover,
  html body[class] .site-header .header-cta:focus-visible {
    color: #000 !important;
    background: #f4c65e !important;
    border-color: #f4c65e !important;
    animation: none !important;
    transform: none !important;
  }
}



html body.home section.testimonials#testimonials .testimonial-grid {
  align-items: stretch !important;
}

html body.home section.testimonials#testimonials .testimonial-grid article:not([hidden]) {
  height: auto !important;
  min-height: clamp(248px, 15vw, 286px) !important;
  max-height: none !important;
  overflow: hidden !important;
}

html body.home section.testimonials#testimonials .testimonial-grid article:not([hidden]) > p {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  line-height: 1.25 !important;
}

html body.home section.testimonials#testimonials .testimonial-grid.is-resizing {
  transition: none !important;
}

html body.home section.testimonials#testimonials .testimonial-status {
  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;
  white-space: nowrap !important;
  border: 0 !important;
}

html body.home section.testimonials#testimonials .testimonial-arrow:focus-visible,
html body.home section.testimonials#testimonials .testimonial-dots button:focus-visible,
html body.home section.testimonials#testimonials .testimonial-viewport:focus-visible {
  outline: 2px solid #7eb7ce !important;
  outline-offset: 3px !important;
}

html body.home section.testimonials#testimonials .testimonial-viewport {
  touch-action: pan-y !important;
}

@media (min-width: 521px) {
  html body.home section.testimonials#testimonials .testimonial-slider {
    box-sizing: border-box !important;
    padding-right: var(--toc-testimonial-arrow-slot, 54px) !important;
    padding-left: var(--toc-testimonial-arrow-slot, 54px) !important;
  }

  html body.home section.testimonials#testimonials .testimonial-prev,
  html body.home section.testimonials#testimonials .testimonial-next {
    display: grid !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html body.home section.testimonials#testimonials .testimonial-prev {
    left: 0 !important;
  }

  html body.home section.testimonials#testimonials .testimonial-next {
    right: 0 !important;
  }
}

@media (max-width: 520px) {
  html body.home section.testimonials#testimonials .testimonial-grid article:not([hidden]) {
    height: auto !important;
    min-height: 333.72px !important;
    max-height: none !important;
  }

  html body.home section.testimonials#testimonials .testimonial-grid article:not([hidden]) > h3,
  html body.home section.testimonials#testimonials .testimonial-grid article:not([hidden]) > p,
  html body.home section.testimonials#testimonials .testimonial-grid article:not([hidden]) > span {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body.home section.testimonials#testimonials .testimonial-grid article:not([hidden]) > h3,
  html body.home section.testimonials#testimonials .testimonial-grid article:not([hidden]) > span {
    flex: 0 0 auto !important;
  }

  html body.home section.testimonials#testimonials .testimonial-dots {
    width: auto !important;
    max-width: calc(100vw - 40px) !important;
    gap: 2px !important;
  }

  html body.home section.testimonials#testimonials .testimonial-dots button,
  html body.home section.testimonials#testimonials .testimonial-dots button:last-child {
    width: 14px !important;
    min-width: 14px !important;
    height: 14px !important;
    min-height: 14px !important;
    display: grid !important;
  }

  html body.home section.testimonials#testimonials .testimonial-dots button::before {
    width: 8px !important;
    height: 8px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.home section.testimonials#testimonials .testimonial-grid {
    transition: none !important;
  }
}

/* TOC v1.0.401: catalogue-band buttons only, matching black default and white hover states. */
html body.home main section.catalogue-band .catalogue-actions a,
html body.home main section.catalogue-band .catalogue-actions a:first-child,
html body.home main section.catalogue-band .catalogue-actions a:nth-child(2) {
  color: #fff !important;
  background: #000 !important;
  border-color: #000 !important;
  transform: none !important;
}

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

html body.home main section.catalogue-band .catalogue-actions a:hover,
html body.home main section.catalogue-band .catalogue-actions a:focus-visible,
html body.home main section.catalogue-band .catalogue-actions a:first-child:hover,
html body.home main section.catalogue-band .catalogue-actions a:first-child:focus-visible,
html body.home main section.catalogue-band .catalogue-actions a:nth-child(2):hover,
html body.home main section.catalogue-band .catalogue-actions a:nth-child(2):focus-visible {
  color: #000 !important;
  background: #fff !important;
  border-color: #fff !important;
  transform: none !important;
}

html body.home main section.catalogue-band .catalogue-actions a:hover .catalogue-icon,
html body.home main section.catalogue-band .catalogue-actions a:focus-visible .catalogue-icon,
html body.home main section.catalogue-band .catalogue-actions a:first-child:hover .catalogue-icon,
html body.home main section.catalogue-band .catalogue-actions a:first-child:focus-visible .catalogue-icon,
html body.home main section.catalogue-band .catalogue-actions a:nth-child(2):hover .catalogue-icon,
html body.home main section.catalogue-band .catalogue-actions a:nth-child(2):focus-visible .catalogue-icon {
  filter: brightness(0) !important;
}



@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  html body[class] .site-header .main-nav a::after {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) scaleX(0) !important;
    transform-origin: center !important;
    transition: transform .24s ease, opacity .18s ease !important;
  }

  html body[class] .site-header .main-nav a:hover::after,
  html body[class] .site-header .main-nav a:focus-visible::after {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(-50%) scaleX(1) !important;
  }
}

/* TOC v1.0.405: final mobile footer logo/spacing correction after legacy locks. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 414px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 0 max(19px, calc((100vw - 375px) / 2)) 29px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: 27px !important;
    row-gap: 0 !important;
    align-items: start !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #000 !important;
  }

  html body footer.site-footer#footer-contact > .footer-logo-block {
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
    position: static !important;
    width: min(177px, 48vw) !important;
    max-width: min(177px, 48vw) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 47px !important;
    padding: 0 !important;
    display: block !important;
    justify-self: start !important;
  }

  html body footer.site-footer#footer-contact .footer-logo-link,
  html body footer.site-footer#footer-contact .footer-logo-swap,
  html body footer.site-footer#footer-contact .footer-logo-image,
  html body footer.site-footer#footer-contact .footer-logo-link img.footer-logo-image {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    transform: none !important;
    transform-origin: left top !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col {
    box-sizing: border-box !important;
    width: 100% !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;
    justify-self: stretch !important;
  }

  html body footer.site-footer#footer-contact > .footer-newsletter {
    grid-column: 1 / -1 !important;
    width: 374.67px !important;
    max-width: 100% !important;
    margin-top: 39.32px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter h3 {
    width: 374.67px !important;
    max-width: 100% !important;
    min-height: 38px !important;
    margin: 0 0 6.55px !important;
    padding: 0 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 38px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:not(.footer-small) {
    width: 374.67px !important;
    max-width: 100% !important;
    min-height: 48px !important;
    margin: 0 0 39.32px !important;
    padding: 0 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:not(.footer-small) strong {
    font-weight: 600 !important;
  }
}

/* TOC v1.0.405: use full phone icons, white normally and gold on hover/focus. */
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 {
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  background: url('../rsc/icons/header-phone-white.png') center / contain no-repeat !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;
}

/* TOC v1.0.406: footer logo vertical correction and hard phone colour states. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact > .footer-logo-block {
    height: 95px !important;
    min-height: 95px !important;
    max-height: 95px !important;
    margin-bottom: 10px !important;
    overflow: hidden !important;
  }

  html body footer.site-footer#footer-contact .footer-logo-link,
  html body footer.site-footer#footer-contact .footer-logo-swap,
  html body footer.site-footer#footer-contact .footer-logo-image,
  html body footer.site-footer#footer-contact .footer-logo-link img.footer-logo-image {
    transform: translateY(-23px) !important;
    transform-origin: left top !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-color: #fff !important;
  background-image: none !important;
  -webkit-mask: url('../rsc/icons/header-phone-white.png') center / contain no-repeat !important;
  mask: url('../rsc/icons/header-phone-white.png') center / contain no-repeat !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-color: #f5c65e !important;
  background-image: none !important;
}

/* TOC v1.0.407: stop mobile footer logo crop while keeping the tighter column start. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact > .footer-logo-block {
    width: min(177px, 48vw) !important;
    max-width: min(177px, 48vw) !important;
    height: 112px !important;
    min-height: 112px !important;
    max-height: 112px !important;
    margin-bottom: 10px !important;
    overflow: visible !important;
  }

  html body footer.site-footer#footer-contact .footer-logo-link,
  html body footer.site-footer#footer-contact .footer-logo-swap,
  html body footer.site-footer#footer-contact .footer-logo-image,
  html body footer.site-footer#footer-contact .footer-logo-link img.footer-logo-image {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    transform: none !important;
    transform-origin: left top !important;
  }
}

/* TOC v1.0.408: match the legacy header specificity so the phone is white until hover. */
html body[class] .site-header .phone-link::before,
html body[class].about-page .site-header .phone-link::before,
html body[class].contact-page .site-header .phone-link::before,
html body[class].policy-page .site-header .phone-link::before {
  content: '' !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin-right: 8px !important;
  display: inline-block !important;
  background-color: #fff !important;
  background-image: none !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  -webkit-mask: url('../rsc/icons/header-phone-white.png') center / contain no-repeat !important;
  mask: url('../rsc/icons/header-phone-white.png') center / contain no-repeat !important;
}

html body[class] .site-header .phone-link:hover::before,
html body[class] .site-header .phone-link:focus-visible::before,
html body[class].about-page .site-header .phone-link:hover::before,
html body[class].about-page .site-header .phone-link:focus-visible::before,
html body[class].contact-page .site-header .phone-link:hover::before,
html body[class].contact-page .site-header .phone-link:focus-visible::before,
html body[class].policy-page .site-header .phone-link:hover::before,
html body[class].policy-page .site-header .phone-link:focus-visible::before {
  background-color: #f5c65e !important;
  background-image: none !important;
}

/* TOC v1.0.409: remove old blue/gold hero-note decorations. */




/* TOC v1.0.410: restore the mobile footer logo-to-column breathing room. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact > .footer-logo-block {
    margin-bottom: 42px !important;
  }
}

/* TOC v1.0.411: mobile footer newsletter uses the Stay In The Loop line only. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact .footer-newsletter h3 {
    display: none !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:not(.footer-small) {
    width: 374.67px !important;
    max-width: 100% !important;
    min-height: 92.55px !important;
    margin: 0 0 39.32px !important;
    padding: 0 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:not(.footer-small) strong {
    font-weight: 600 !important;
  }
}

/* TOC v1.0.413: restore mobile footer newsletter layout; keep only the requested Tips line break. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact {
    padding-top: 36px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter h3 {
    display: block !important;
    width: 374.67px !important;
    max-width: 100% !important;
    min-height: 38px !important;
    margin: 0 0 6.55px !important;
    padding: 0 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 38px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:not(.footer-small) {
    width: 374.67px !important;
    max-width: 100% !important;
    min-height: 48px !important;
    margin: 0 0 39.32px !important;
    padding: 0 !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:not(.footer-small) strong {
    font-weight: 600 !important;
  }
}

/* TOC v1.0.415: the newsletter copy break is mobile-only. */
@media (min-width: 521px) {
  html body footer.site-footer#footer-contact .footer-mobile-copy-break {
    display: none !important;
  }
}

/* TOC v1.0.433: keep the mobile warehouse heading and CTA inside their frames. */
@media (max-width: 520px) {
  html body.home main section.warehouse#about .warehouse-panel h2 {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    font-size: clamp(31px, 9.6vw, 40px) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  html body.home main section.warehouse#about .warehouse-panel h2 em {
    width: 100% !important;
    display: block !important;
  }

  html body.home main section.warehouse#about .warehouse-panel a {
    box-sizing: border-box !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }
}

/* TOC v1.0.438: Ticket 4 shared navigation order, responsive actions, pulse, and stable mobile menu. */
@property --toc-header-cta-pulse {
  syntax: '<color>';
  inherits: false;
  initial-value: #fff;
}

@keyframes toc-header-cta-smooth-pulse {
  0%,
  100% {
    --toc-header-cta-pulse: #fff;
  }

  50% {
    --toc-header-cta-pulse: #7eb7ce;
  }
}

html body[class] .site-header .header-cta {
  --toc-header-cta-pulse: #fff;
  color: #000 !important;
  background: var(--toc-header-cta-pulse) !important;
  border-color: var(--toc-header-cta-pulse) !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
  animation: toc-header-cta-smooth-pulse 2.4s ease-in-out infinite !important;
  animation-delay: 0s !important;
}

html body[class] .site-header .header-cta:hover,
html body[class] .site-header .header-cta:focus,
html body[class] .site-header .header-cta:focus-visible,
html body[class] .site-header .header-cta:active {
  --toc-header-cta-pulse: #7eb7ce;
  color: #000 !important;
  background: #7eb7ce !important;
  border-color: #7eb7ce !important;
  box-shadow: none !important;
  transform: none !important;
  animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html body[class] .site-header .header-cta {
    --toc-header-cta-pulse: #7eb7ce;
    background: #7eb7ce !important;
    border-color: #7eb7ce !important;
    animation: none !important;
  }
}

@media (min-width: 981px) {
  html body[class] .site-header .header-actions {
    height: auto !important;
    min-height: 44px !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: max-content minmax(max-content, 1fr) !important;
    align-items: center !important;
    justify-content: end !important;
    justify-self: end !important;
    gap: 12px !important;
  }

  html body[class] .site-header .header-cta {
    grid-column: 1 !important;
    box-sizing: border-box !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    height: auto !important;
    min-height: 44px !important;
    max-height: none !important;
    padding: 8px 16px !important;
    gap: 10px !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }

  html body[class] .site-header .header-cta::before,
  html body[class] .site-header .header-cta-text {
    flex-shrink: 0 !important;
  }

  html body[class] .site-header .phone-link {
    grid-column: 2 !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    color: #fff !important;
    background: transparent !important;
    font-size: clamp(14px, 1.25vw, 18px) !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    cursor: default !important;
    transform: none !important;
    transition: none !important;
  }

  html body[class] .site-header .phone-link:hover,
  html body[class] .site-header .phone-link:focus,
  html body[class] .site-header .phone-link:focus-visible,
  html body[class] .site-header .phone-link:active {
    color: #fff !important;
    background: transparent !important;
    text-decoration: none !important;
    cursor: default !important;
    transform: none !important;
    transition: none !important;
  }

  html body[class] .site-header .phone-link::before,
  html body[class] .site-header .phone-link:hover::before,
  html body[class] .site-header .phone-link:focus::before,
  html body[class] .site-header .phone-link:focus-visible::before,
  html body[class] .site-header .phone-link:active::before {
    content: none !important;
    box-sizing: border-box !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;
    display: none !important;
    background: none !important;
    background-image: none !important;
    -webkit-mask: none !important;
    mask: none !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (min-width: 521px) and (max-width: 980px) {
  html body[class] .site-header {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    padding-right: 22px !important;
    padding-left: 22px !important;
    grid-template-columns: minmax(0, 1fr) max-content 44px !important;
    column-gap: 12px !important;
    align-items: center !important;
    background: #000 !important;
    overflow: visible !important;
  }

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

  html body[class] .site-header .header-cta {
    box-sizing: border-box !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 8px 16px !important;
    gap: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  html body[class] .site-header .header-cta::before,
  html body[class] .site-header .header-cta-mobile {
    content: none !important;
    display: none !important;
  }

  html body[class] .site-header .header-cta-text {
    display: inline-block !important;
    font-size: clamp(15px, 2.2vw, 18px) !important;
    white-space: nowrap !important;
  }

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

@media (max-width: 520px) {
  html body[class] .site-header,
  html body[class].menu-open .site-header,
  html body[class].admin-bar.menu-open .site-header {
    box-sizing: border-box !important;
    position: sticky !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    padding: 0 22px !important;
    grid-template-columns: minmax(0, 1fr) 44px 44px !important;
    column-gap: 12px !important;
    align-items: center !important;
    background: #000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    transform: none !important;
  }

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

  html body[class] .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;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
  }

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

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

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

  html body[class].menu-open .site-header .main-nav,
  html body[class].admin-bar.menu-open .site-header .main-nav {
    position: absolute !important;
    top: 100% !important;
    bottom: auto !important;
  }

  html body[class].menu-open::after,
  html body[class].admin-bar.menu-open::after {
    position: fixed !important;
    inset: 70px 0 0 !important;
    background: rgba(0, 0, 0, .72) !important;
  }
}

@media (min-width: 521px) and (max-width: 980px) {
  html body[class].menu-open .site-header,
  html body[class].admin-bar.menu-open .site-header {
    position: sticky !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
  }

  html body[class].menu-open .site-header .main-nav,
  html body[class].admin-bar.menu-open .site-header .main-nav {
    position: absolute !important;
    top: 100% !important;
    bottom: auto !important;
  }

  html body[class].menu-open::after,
  html body[class].admin-bar.menu-open::after {
    position: fixed !important;
    inset: 70px 0 0 !important;
    background: rgba(0, 0, 0, .72) !important;
  }
}

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

  html body[class] .site-header .header-actions {
    width: 94px !important;
    min-width: 94px !important;
    max-width: 94px !important;
    grid-template-columns: 44px 40px !important;
    gap: 10px !important;
  }

  html body[class] .site-header .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;
  }
}

/* Staging 2: keep the Follow Us label and icons together in every row layout. */
@media (min-width: 521px) {
  html body footer.site-footer#footer-contact .footer-newsletter .footer-social {
    width: max-content !important;
    max-width: 100% !important;
    gap: 2px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-copy {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-copy strong {
    margin-right: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-icons {
    width: max-content !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }
}

/*
 * TOC v1.0.443: Ticket 9 Services centring at the four-column breakpoint.
 * Keep the final icon pair and active detail card on the Services content axis.
 */
@media (min-width: 761px) and (max-width: 1180px) {
  html body.home main section.services#services > .service-tabs > .service-tab:nth-child(9) {
    grid-column: 2 !important;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  html body.home main section.services#services > .service-detail[data-active-slug] {
    left: 50% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    transform: translateX(-50%) !important;
  }
}

/*
 * TOC v1.0.444: Tickets 11-13 mobile hero, Services modal, and tablet
 * Gallery-flow corrections. Keep desktop behaviour at 981px and above intact.
 */
html body.home .service-detail-backdrop,
html body.home .service-detail-close {
  display: none !important;
}

@media (max-width: 520px) {
  html body.home main section.hero {
    height: calc(100vh - 70px) !important;
    height: calc(100svh - 70px) !important;
    min-height: calc(100vh - 70px) !important;
    min-height: calc(100svh - 70px) !important;
    max-height: none !important;
    aspect-ratio: auto !important;
  }

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

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

  html.service-modal-open,
  html.service-modal-open body.home {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html body.home .service-detail-backdrop:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 40000 !important;
    display: block !important;
    background: rgba(0, 0, 0, .76) !important;
  }

  html body.home main section.services#services > .service-detail[data-active-slug] {
    box-sizing: border-box !important;
    position: fixed !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    z-index: 40010 !important;
    width: min(393px, calc(100vw - 24px), calc(77.822vh - 18.677px)) !important;
    width: min(393px, calc(100vw - 24px), calc(77.822svh - 18.677px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 393 / 505 !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    overflow: visible !important;
    overscroll-behavior: contain !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .46) !important;
  }

  html body.home main section.services#services .service-detail-close {
    box-sizing: border-box !important;
    position: absolute !important;
    top: -28px !important;
    right: -22px !important;
    z-index: 20 !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    color: #000 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    font: 400 24px/1 Arial, sans-serif !important;
    cursor: pointer !important;
  }

  html body.home main section.services#services .service-detail-close span {
    display: grid !important;
    place-items: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #000 !important;
    line-height: 1 !important;
    transform: none !important;
  }

  html body.home main section.services#services .service-detail-close:focus-visible {
    outline: 3px solid #7eb7ce !important;
    outline-offset: 3px !important;
  }

  html body.home main section.services#services .service-tab .state-hover,
  html body.home main section.services#services .service-tab:hover .state-hover,
  html body.home main section.services#services .service-tab:focus .state-hover,
  html body.home main section.services#services .service-tab:focus-visible .state-hover {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  html body.home main section.services#services .service-tab:not(.is-active) .state-normal {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body.home main section.services#services .service-tab:focus-visible {
    outline: 3px solid #3f778e !important;
    outline-offset: 3px !important;
  }

  html body.home main section#gallery.gallery {
    width: 100% !important;
    max-width: 414px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

@media (max-width: 380px) {
  html body.home main section#gallery.gallery .gallery-content {
    top: 47% !important;
  }
}

@media (min-width: 521px) and (max-width: 980px) {
  html body.home main section.hero {
    height: clamp(520px, 70vw, 620px) !important;
    min-height: clamp(520px, 70vw, 620px) !important;
    max-height: 620px !important;
    aspect-ratio: auto !important;
  }

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

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

  html body.home main section#gallery.gallery {
    box-sizing: border-box !important;
    width: min(calc(100% - 30px), 872px) !important;
    max-width: 872px !important;
    height: auto !important;
    min-height: 300px !important;
    aspect-ratio: 1602 / 620 !important;
    margin-right: auto !important;
    margin-left: auto !important;
    overflow: hidden !important;
  }

  html body.home main section#gallery.gallery .gallery-media-link,
  html body.home main section#gallery.gallery .gallery-exact {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

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

/*
 * TOC v1.0.445: Tickets 14-19 homepage product, catalogue, warehouse,
 * testimonial, associated-brand, and desktop FAQ corrections.
 */
html body.home main section.products#catalogue > .section-line h2 {
  font-size: 35px !important;
}

html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone) > .product-price {
  font-size: 16px !important;
}

html body.home main section.warehouse#about .warehouse-panel .warehouse-copy p,
html body.home main section.warehouse#about .warehouse-panel .warehouse-copy address {
  font-size: 16px !important;
}

html body.home main section.warehouse#about .warehouse-panel > a {
  box-sizing: border-box !important;
  color: #fff !important;
  background: #000 !important;
  border: 1px solid #000 !important;
}

html body.home main section.products#catalogue > .section-line > a,
html body.home main section.catalogue-band .catalogue-actions > a,
html body.home main section.catalogue-band .catalogue-actions > a:first-child,
html body.home main section.catalogue-band .catalogue-actions > a:nth-child(2) {
  box-sizing: border-box !important;
  border: 1px solid #000 !important;
}

@media (min-width: 521px) and (max-width: 973px) {
  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone) > h3 {
    padding-left: 10px !important;
  }
}

@media (max-width: 520px) {
  html body.home main section.products#catalogue > .product-grid {
    --toc-product-gap: 15px;
    box-sizing: border-box !important;
    padding-right: 15px !important;
    padding-left: 15px !important;
    gap: 15px !important;
    scroll-padding-right: 15px !important;
    scroll-padding-left: 15px !important;
  }

  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone) > h3,
  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone) > .product-price {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone) > .product-price {
    height: auto !important;
    min-height: 24px !important;
    max-height: none !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
  }
}

@media (min-width: 521px) and (max-width: 1200px) {
  html body.home main section.catalogue-band .catalogue-desktop-break {
    display: none !important;
  }
}

@media (min-width: 521px) and (max-width: 1200px) {
  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-actions {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-actions > a {
    display: inline-flex !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-actions > a > .catalogue-icon {
    display: block !important;
    flex: 0 0 auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

@media (min-width: 981px) and (max-width: 1479px) {
  html body.home main section.catalogue-band > .catalogue-live-copy {
    top: clamp(20px, calc(8.635vw - 64.7px), 63px) !important;
    left: clamp(20px, 4.53vw, 67px) !important;
    width: clamp(350px, 31.24vw, 462px) !important;
    max-width: clamp(350px, 31.24vw, 462px) !important;
    height: auto !important;
    min-height: 0 !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > p,
  html body.home main section.catalogue-band > .catalogue-live-copy > h2 {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    font-size: clamp(28px, 3.043vw, 45px) !important;
    line-height: 1.2 !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > h2:not(#toc-h2-size-lock) {
    margin: 0 0 clamp(10px, 2.705vw, 40px) !important;
    font-size: clamp(28px, 3.043vw, 45px) !important;
    line-height: 1.2 !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > h2:not(#toc-h2-size-lock) .catalogue-mood-word {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-description {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 clamp(10px, 2.705vw, 40px) !important;
    font-size: clamp(12px, 1.082vw, 16px) !important;
    line-height: 1.25 !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-actions {
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(40px, 4.057vw, 60px) !important;
    min-height: clamp(40px, 4.057vw, 60px) !important;
    gap: clamp(8px, .811vw, 12px) !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-actions > a {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 100% !important;
    padding-right: clamp(12px, 1.217vw, 18px) !important;
    padding-left: clamp(12px, 1.217vw, 18px) !important;
    font-size: clamp(12px, 1.082vw, 16px) !important;
  }
}

html body.home main section.products#catalogue > .section-line > a:focus-visible,
html body.home main section.catalogue-band .catalogue-actions > a:focus-visible,
html body.home main section.warehouse#about .warehouse-panel > a:focus-visible {
  color: #000 !important;
  background: transparent !important;
  border: 1px solid #000 !important;
  box-shadow: none !important;
  transform: none !important;
}

html body.home main section.catalogue-band .catalogue-actions > a:focus-visible .catalogue-icon {
  filter: brightness(0) !important;
}

@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  html body.home main section.products#catalogue > .section-line > a:hover,
  html body.home main section.products#catalogue > .section-line > a:focus-visible,
  html body.home main section.catalogue-band .catalogue-actions > a:first-child:hover,
  html body.home main section.catalogue-band .catalogue-actions > a:first-child:focus-visible,
  html body.home main section.catalogue-band .catalogue-actions > a:nth-child(2):hover,
  html body.home main section.catalogue-band .catalogue-actions > a:nth-child(2):focus-visible,
  html body.home main section.warehouse#about .warehouse-panel > a:hover,
  html body.home main section.warehouse#about .warehouse-panel > a:focus-visible,
  html body.home main section.instagram#social .social-btn:hover,
  html body.home main section.instagram#social .social-btn:focus-visible {
    color: #000 !important;
    background: transparent !important;
    border: 1px solid #000 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body.home main section.catalogue-band .catalogue-actions > a:first-child:hover .catalogue-icon,
  html body.home main section.catalogue-band .catalogue-actions > a:first-child:focus-visible .catalogue-icon,
  html body.home main section.catalogue-band .catalogue-actions > a:nth-child(2):hover .catalogue-icon,
  html body.home main section.catalogue-band .catalogue-actions > a:nth-child(2):focus-visible .catalogue-icon {
    filter: brightness(0) !important;
  }
}

@media (min-width: 981px) and (max-width: 1199px) {
  html body.home main section.warehouse#about,
  html body.home main section.warehouse#about > .warehouse-panel {
    min-height: clamp(536px, calc(656px - 10vw), 552px) !important;
  }

  html body.home main section.warehouse#about .warehouse-panel .warehouse-copy {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
  }
}

@media (min-width: 981px) {
  html body.home main section.faq#faq > .faq-list {
    min-height: 566px !important;
    align-content: start !important;
  }

  html body.home main section.faq#faq details,
  html body.home main section.faq#faq details:not([open]):hover {
    transform: none !important;
  }

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

@media (min-width: 641px) and (max-width: 980px) {
  html body.home main section.testimonials#testimonials {
    padding-top: 62px !important;
    padding-bottom: 62px !important;
  }
}

@media (min-width: 521px) and (max-width: 640px) {
  html body.home main section.testimonials#testimonials {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }
}

@media (max-width: 520px) {
  html body.home main section.testimonials#testimonials {
    height: auto !important;
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }
}

@media (min-width: 521px) {
  html body.home main section.logos > .logo-slider {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

@media (min-width: 521px) and (max-width: 760px) {
  html body.home main section.logos > .logo-slider > .logo-track {
    --logo-item-width: calc(25vw - 53px) !important;
  }
}

@media (min-width: 761px) and (max-width: 900px) {
  html body.home main section.logos > .logo-slider > .logo-track {
    --logo-item-width: calc(25vw - 77px) !important;
  }
}

@media (min-width: 901px) and (max-width: 1458px) {
  html body.home main section.logos > .logo-slider > .logo-track {
    --logo-item-width: calc(25vw - 89px) !important;
  }
}

@media (min-width: 1459px) {
  html body.home main section.logos > .logo-slider > .logo-track {
    --logo-item-width: 275.5px !important;
  }
}

/* TOC v1.0.473: emergency CTA sizing locks requested from owner review. */
@media (max-width: 520px) {
  html body.home main .start-strip,
  html body.home main section.start-strip {
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    padding-top: 26px !important;
    padding-bottom: 26px !important;
  }

  html body.home main .start-strip .start-copy,
  html body.home main section.start-strip .start-copy {
    box-sizing: border-box !important;
    width: 360px !important;
    min-width: 0 !important;
    max-width: calc(100vw - 54px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    color: #000 !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    white-space: normal !important;
  }

  html body.home main .start-strip .start-copy .start-copy-line,
  html body.home main section.start-strip .start-copy .start-copy-line {
    display: block !important;
    color: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    text-align: inherit !important;
  }

  html body.home main .start-strip a,
  html body.home main section.start-strip a {
    box-sizing: border-box !important;
    width: 360px !important;
    min-width: 0 !important;
    max-width: calc(100vw - 54px) !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    padding: 13px 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 10px !important;
    background: #000 !important;
    color: #fff !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;
    white-space: nowrap !important;
  }

  html body.home main .start-strip a::before,
  html body.home main section.start-strip a::before {
    content: none !important;
    display: none !important;
  }

  html body.home main .start-strip a .desktop-cta-text,
  html body.home main section.start-strip a .desktop-cta-text {
    display: none !important;
  }

  html body.home main .start-strip a .mobile-cta-text,
  html body.home main section.start-strip a .mobile-cta-text {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
  }
}

@media (max-width: 400px) {
  html body.home main .start-strip .start-copy,
  html body.home main section.start-strip .start-copy {
    letter-spacing: 1.3px !important;
  }
}

@media (min-width: 981px) {
  html body.home main section.catalogue-band > .catalogue-live-copy,
  html body.home .catalogue-band > .catalogue-live-copy,
  html body.home .catalogue-band .catalogue-live-copy {
    top: clamp(38px, 14.5%, 63px) !important;
    bottom: clamp(32px, 12.4%, 54px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-actions,
  html body.home .catalogue-band .catalogue-live-copy > .catalogue-actions,
  html body.home .catalogue-actions {
    box-sizing: border-box !important;
    width: 412px !important;
    min-width: 412px !important;
    max-width: 412px !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    flex-wrap: nowrap !important;
  }

  html body.home main section.catalogue-band > .catalogue-live-copy > .catalogue-actions > a,
  html body.home .catalogue-band .catalogue-live-copy > .catalogue-actions > a,
  html body.home .catalogue-actions > a {
    box-sizing: border-box !important;
    flex: 0 0 200px !important;
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
    padding: 0 18px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

/* TOC v1.0.475: keep catalogue CTA stack clear of the banner bottom at compressed desktop widths. */
@media (min-width: 1100px) and (max-width: 1450px) {
  html body.home main section.catalogue-band > .catalogue-live-copy,
  html body.home .catalogue-band > .catalogue-live-copy,
  html body.home .catalogue-band .catalogue-live-copy {
    transform: translateY(clamp(-30px, calc((100vw - 1280px) * 0.1 - 30px), -17px)) !important;
  }
}

@media (min-width: 981px) and (max-width: 1099px) {
  html body.home main section.catalogue-band > .catalogue-live-copy,
  html body.home .catalogue-band > .catalogue-live-copy,
  html body.home .catalogue-band .catalogue-live-copy {
    transform: translateY(-39px) !important;
  }
}



/* TOC v1.0.476: match the approved mobile Gallery content stack. */
@media (max-width: 520px) {
  html body.home main section#gallery.gallery .gallery-content {
    box-sizing: border-box !important;
    top: 48.38% !important;
    left: 50% !important;
    width: min(365px, calc(100vw - 48px)) !important;
    max-width: min(365px, calc(100vw - 48px)) !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: 0 !important;
    text-align: center !important;
    transform: translateX(-50%) !important;
  }

  html body.home main section#gallery.gallery .gallery-content > 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;
    display: block !important;
    color: #fff !important;
    font-family: 'Instrument Sans', Inter, Arial, sans-serif !important;
    font-size: 45px !important;
    line-height: 54px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  html body.home main section#gallery.gallery .gallery-content > h2 > .gallery-title-desktop {
    width: 100% !important;
    height: 54px !important;
    display: block !important;
    color: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    white-space: nowrap !important;
  }

  html body.home main section#gallery.gallery .gallery-content > h2 > .gallery-title-mobile {
    display: none !important;
  }

  html body.home main section#gallery.gallery .gallery-content > p.gallery-kicker {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 54px !important;
    min-height: 54px !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: 54px !important;
    font-weight: 500 !important;
    font-style: italic !important;
    letter-spacing: 2px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body.home main section#gallery.gallery .gallery-content > p:not(.gallery-kicker) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 60px !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: 20px !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  html body.home main section#gallery.gallery .gallery-btn {
    box-sizing: border-box !important;
    flex: 0 0 60px !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;
    max-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: 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.45px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: color .18s ease, background-color .18s ease !important;
  }

  html body.home main section#gallery.gallery .gallery-btn:hover,
  html body.home main section#gallery.gallery .gallery-btn:focus-visible,
  html body.home main section#gallery.gallery .gallery-btn:active {
    color: #fff !important;
    background: #000 !important;
  }
}

/* Desktop-only Figma lock: Previous Events modal and client reviews. */
@media (min-width: 981px) {
  body.previous-events-page .event-gallery-shell {
    box-sizing: border-box !important;
    container-type: inline-size !important;
    width: min(1580px, calc(100vw - 40px)) !important;
    max-width: 1580px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: min(20px, 1.265823%) !important;
    gap: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    border: 0 !important;
  }

  body.previous-events-page .event-gallery-header {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1540 / 179 !important;
    margin: 0 !important;
    padding: 0 1.298701% !important;
    display: grid !important;
    grid-template-columns: 19.933333% minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 3.133333% !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) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    align-self: center !important;
    font-size: clamp(24px, 2.532cqi, 40px) !important;
    line-height: .93 !important;
    letter-spacing: .01em !important;
    overflow: visible !important;
  }

  body.previous-events-page .event-gallery-header p {
    box-sizing: border-box !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: clamp(14.75px, 1.569cqi, 24.79px) !important;
    line-height: 1.1 !important;
    letter-spacing: .05em !important;
    overflow: visible !important;
  }

  body.previous-events-page .event-gallery-viewer,
  body.previous-events-page .event-gallery-main {
    width: 100% !important;
    margin: 0 !important;
  }

  body.previous-events-page .event-gallery-viewer {
    flex: 0 0 auto !important;
    background: #000 !important;
  }

  body.previous-events-page .event-gallery-main {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1540 / 902 !important;
  }

  body.previous-events-page .event-gallery-main figcaption {
    display: none !important;
  }

  body.previous-events-page .event-gallery-arrow {
    box-sizing: border-box !important;
    width: clamp(54px, 5.932cqi, 93.73px) !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 93.73px !important;
    max-height: 91.9px !important;
    aspect-ratio: 93.73 / 91.9 !important;
    padding: 0 !important;
    background: rgba(0, 0, 0, .16) !important;
    border: clamp(1px, .1165cqi, 1.84px) solid #fff !important;
    border-radius: 50% !important;
  }

  body.previous-events-page .event-gallery-prev {
    left: 2.144805% !important;
  }

  body.previous-events-page .event-gallery-next {
    right: 2.144805% !important;
  }

  body.previous-events-page .event-gallery-thumbs {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1540 / 278 !important;
    margin: 1.558442% 0 0 !important;
    padding: 0 !important;
    grid-template-columns: 405fr 198fr 403fr 185fr 265fr !important;
    gap: 1.558442% !important;
    overflow: hidden !important;
  }

  body.previous-events-page .event-gallery-thumb,
  body.previous-events-page .event-gallery-thumb.is-active {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    opacity: 1 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.previous-events-page .event-gallery-thumb.is-active::after {
    content: none !important;
    display: none !important;
  }

  html body.home main section.testimonials#testimonials {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 703px !important;
    min-height: 703px !important;
    max-height: 703px !important;
    padding: 129px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #fff !important;
    background: #0b3f2a url('../rsc/testimonials-green-pattern-desktop-the-o-company.png') center / cover no-repeat !important;
    overflow: hidden !important;
  }

  html body.home main section.testimonials#testimonials > h2 {
    box-sizing: border-box !important;
    flex: 0 0 83px !important;
    width: min(560px, calc(100vw - 48px)) !important;
    max-width: 560px !important;
    height: 83px !important;
    min-height: 83px !important;
    max-height: 83px !important;
    margin: 0 0 40px !important;
    padding: 0 !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;
    text-align: center !important;
    white-space: nowrap !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-slider {
    --toc-testimonial-gap: 40px;
    box-sizing: border-box !important;
    position: relative !important;
    flex: 0 0 321.96px !important;
    width: min(1282px, calc(100vw - 40px)) !important;
    max-width: 1282px !important;
    height: 321.96px !important;
    min-height: 321.96px !important;
    max-height: 321.96px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-viewport {
    box-sizing: border-box !important;
    flex: 0 0 277.96px !important;
    width: min(826px, calc(100vw - 80px)) !important;
    max-width: 826px !important;
    height: 277.96px !important;
    min-height: 277.96px !important;
    max-height: 277.96px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-grid {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 100% !important;
    max-width: none !important;
    height: 277.96px !important;
    min-height: 277.96px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 40px !important;
    text-align: left !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-grid article:not([hidden]),
  html body.home main section.testimonials#testimonials .testimonial-grid article:not(.testimonial-spacer) {
    box-sizing: border-box !important;
    flex: 0 0 min(826px, calc(100vw - 80px)) !important;
    width: min(826px, calc(100vw - 80px)) !important;
    min-width: min(826px, calc(100vw - 80px)) !important;
    max-width: 826px !important;
    height: 277.96px !important;
    min-height: 277.96px !important;
    max-height: 277.96px !important;
    margin: 0 !important;
    padding: 31.825px 21.215px !important;
    display: flex !important;
    flex-direction: column !important;
    color: #fff !important;
    background: rgba(19, 77, 51, .94) !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 26px !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-grid article:not([hidden]) > h3 {
    box-sizing: border-box !important;
    flex: 0 0 40px !important;
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 0 12px !important;
    color: #fff !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 32.78px !important;
    line-height: 1 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-grid article:not([hidden]) > p {
    box-sizing: border-box !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 12px !important;
    color: #fff !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    overflow: visible !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-grid article:not([hidden]) > span {
    box-sizing: border-box !important;
    flex: 0 0 25px !important;
    width: 100% !important;
    height: 25px !important;
    min-height: 25px !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 25px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-prev,
  html body.home main section.testimonials#testimonials .testimonial-next,
  html body.home main section.testimonials#testimonials .testimonial-arrow {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-dots {
    box-sizing: border-box !important;
    position: static !important;
    flex: 0 0 8px !important;
    width: auto !important;
    max-width: calc(100vw - 40px) !important;
    height: 8px !important;
    min-height: 8px !important;
    margin: 36px 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border-radius: 20px !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-dots button,
  html body.home main section.testimonials#testimonials .testimonial-dots button:last-child {
    box-sizing: border-box !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 8px !important;
    min-height: 8px !important;
    max-height: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    opacity: 1 !important;
    background: #2d614a !important;
    border: 0 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    transition: flex-basis .2s ease, width .2s ease, background-color .2s ease !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-dots button.is-active {
    flex-basis: 122px !important;
    width: 122px !important;
    min-width: 122px !important;
    max-width: 122px !important;
    background: #699381 !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-dots button::before {
    content: none !important;
    display: none !important;
  }
}

/* Previous Events viewport sizing and admin-bar handling are owned by
   event-gallery-figma.css, loaded after this shared stylesheet. */

/* Ticket 44 final mobile section-size lock after the historical cascade. */
@media (max-width: 520px) {
  html body.home main section.testimonials#testimonials {
    height: min(652px, 156.7307692vw) !important;
    min-height: min(652px, 156.7307692vw) !important;
    max-height: min(652px, 156.7307692vw) !important;
    padding: min(63px, 15.1442308vw) 0 min(62.32px, 14.9807692vw) !important;
  }
}

/* TOC v1.0.481 / Ticket 43: full-viewport visual layers above the approved
   1920px foreground track. Standard desktop, tablet and mobile are unchanged. */
@media (min-width: 1921px) {
  html body .site-shell {
    width: 100% !important;
    max-width: 1920px !important;
    margin-inline: auto !important;
    overflow: visible !important;
  }

  /* Keep the header sticky. Only its visual backdrop bleeds to the viewport. */
  html body[class] header.site-header,
  html body.home main > section.hero,
  html body.home main > section.start-strip,
  html body.contact-page main > section.contact-page-section,
  html body .copyright-bar {
    overflow: visible !important;
    isolation: isolate !important;
  }

  html body.home main > section.start-strip,
  html body.contact-page main > section.contact-page-section,
  html body .copyright-bar {
    position: relative !important;
  }

  /* These selectors also beat the later desktop footer overflow lock. */
  html body.home main > section.testimonials#testimonials.testimonials,
  html body[class] footer.site-footer#footer-contact.site-footer {
    position: relative !important;
    overflow: visible !important;
    isolation: isolate !important;
  }

  html body[class] header.site-header::before,
  html body.home main > section.hero::before,
  html body.home main > section.start-strip::before,
  html body.home main > section.testimonials#testimonials.testimonials::before,
  html body.contact-page main > section.contact-page-section::before,
  html body[class] footer.site-footer#footer-contact.site-footer::before,
  html body .copyright-bar::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
    z-index: -1 !important;
  }

  html body[class] header.site-header::before,
  html body.home main > section.hero::before,
  html body[class] footer.site-footer#footer-contact.site-footer::before,
  html body .copyright-bar::before {
    background: #000 !important;
  }

  /* Paint gradients and photos once at viewport width to avoid centre seams. */
  html body.home main > section.start-strip {
    background: transparent !important;
  }

  html body.home main > section.start-strip::before {
    background: linear-gradient(90deg, #7eb7ce 0%, #d8f3ff 100%) !important;
  }

  html body.home main > section.testimonials#testimonials.testimonials {
    background: transparent !important;
  }

  html body.home main > section.testimonials#testimonials.testimonials::before {
    background:
      #0b3f2a
      url("../rsc/testimonials-green-pattern-desktop-the-o-company.png")
      center / cover no-repeat !important;
  }

  html body.contact-page main > section.contact-page-section::before {
    background: #003e57 !important;
  }

  /* The live 1920px hero is 620px high. Ramp without a 1921px jump, then
     reach the approved 720/1920 physical ratio from the 80% zoom width onward. */
  html body.home main > section.hero {
    height: min(85vh, 37.5vw, calc(58.3333333vw - 500px)) !important;
    min-height: min(85vh, 37.5vw, calc(58.3333333vw - 500px)) !important;
    max-height: min(85vh, 37.5vw, calc(58.3333333vw - 500px)) !important;
  }

  html body.home main > section.hero > .hero-card {
    top: calc(50% - 72px) !important;
  }

  html body.home main > section.hero > picture.hero-media {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
  }

  html body.home main > section.hero > picture.hero-media > img {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
  }

  /* Inner-page banners retain the approved 389/1920 viewport ratio. */
  html body.about-page main > section.about-hero.page-hero,
  html body.previous-events-page main > section.previous-events-hero,
  html body.policy-page main > section.policy-hero.page-hero {
    height: 20.2604167vw !important;
    min-height: 20.2604167vw !important;
    max-height: 20.2604167vw !important;
  }

  html body.about-page main > section.about-hero.page-hero,
  html body.previous-events-page main > section.previous-events-hero {
    position: relative !important;
    overflow: visible !important;
    isolation: isolate !important;
    background: transparent !important;
  }

  html body.about-page main > section.about-hero.page-hero::before,
  html body.previous-events-page main > section.previous-events-hero::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  html body.about-page main > section.about-hero.page-hero::before {
    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 / cover no-repeat !important;
  }

  html body.about-page main > section.about-hero > .page-hero-copy {
    top: calc(50% - 95px) !important;
    left: 151.5px !important;
    margin-left: 0 !important;
  }

  /* This stronger selector overrides Previous Events' later inline stage lock. */
  html body.previous-events-page main > section.previous-events-hero::before {
    background:
      #0e3f4d
      url("../previous-events/previous-events-desktop-banner.png")
      center / cover no-repeat !important;
  }

  html body.previous-events-page
    main
    > section.previous-events-hero
    > .previous-events-hero-copy {
    top: calc(50% - 194.5px) !important;
    left: 0 !important;
    margin-left: 488px !important;
  }

  /* Policies use their real picture layer; dormant pseudo-overlays stay off. */
  html body.policy-page main > section.policy-hero.page-hero {
    overflow: visible !important;
  }

  html body.policy-page
    main
    > section.policy-hero
    > picture.policy-banner-picture {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
  }

  html body.policy-page
    main
    > section.policy-hero
    > picture.policy-banner-picture
    > img.policy-banner-image {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
  }

  html body.terms-page main > section.terms-hero > .policy-hero-copy {
    top: calc(50% - 77.5px) !important;
    left: 279.734375px !important;
    margin-left: 0 !important;
  }

  html body.hired-page main > section.hired-hero > .policy-hero-copy {
    top: calc(50% - 78px) !important;
    left: 282.8125px !important;
    margin-left: 0 !important;
  }

  /* Rebase Contact's viewport-derived padding to its verified 1920px track. */
  html body.contact-page main > section.contact-page-section {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 333px !important;
    padding-left: 333px !important;
  }

  /* The body canvas avoids Quick Form's reserved PDF pseudo-elements. */
  html body.quick-form-page {
    background:
      linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .62)),
      url("../figma/2698513e52e4dc3fc995f66caf7cbadbbfd92c07.jpg")
      center / cover fixed !important;
  }
}

/* TOC v1.0.482 / Ticket 46: tablet testimonial controls and menu/footer fixes. */
@media (max-width: 980px) {
  html:has(> body.menu-open) {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  html body[class].menu-open .site-header,
  html body[class].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;
  }

  html body[class].menu-open .site-header .main-nav,
  html body[class].admin-bar.menu-open .site-header .main-nav {
    position: fixed !important;
    top: 70px !important;
    right: 12px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 30010 !important;
  }
}

@media (min-width: 521px) and (max-width: 980px) {
  html body.home main section.testimonials#testimonials .testimonial-prev,
  html body.home main section.testimonials#testimonials .testimonial-next,
  html body.home main section.testimonials#testimonials .testimonial-arrow {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-dots {
    --toc-t46-segment:
      clamp(30.46px, calc(21.955011px + 1.635575vw), 38px);
    --toc-t46-active-segment:
      clamp(87.04px, calc(47.605727px + 7.583514vw), 122px);
    --toc-t46-segment-gap:
      clamp(4.35px, calc(-2.023102px + 1.225597vw), 10px);

    box-sizing: border-box !important;
    position: static !important;
    width: auto !important;
    max-width: calc(100vw - 40px) !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--toc-t46-segment-gap) !important;
    overflow: visible !important;
    visibility: visible !important;
    z-index: 4 !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-dots button,
  html body.home main section.testimonials#testimonials
    .testimonial-dots button:last-child {
    box-sizing: border-box !important;
    position: relative !important;
    flex: 0 0 var(--toc-t46-segment) !important;
    width: var(--toc-t46-segment) !important;
    min-width: var(--toc-t46-segment) !important;
    max-width: var(--toc-t46-segment) !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: flex-basis .2s ease, width .2s ease !important;
  }

  html body.home main section.testimonials#testimonials
    .testimonial-dots button.is-active {
    flex-basis: var(--toc-t46-active-segment) !important;
    width: var(--toc-t46-active-segment) !important;
    min-width: var(--toc-t46-active-segment) !important;
    max-width: var(--toc-t46-active-segment) !important;
  }

  html body.home main section.testimonials#testimonials
    .testimonial-dots button::before {
    content: '' !important;
    width: 100% !important;
    height: 8px !important;
    display: block !important;
    background: #2d614a !important;
    border: 0 !important;
    border-radius: 999px !important;
  }

  html body.home main section.testimonials#testimonials
    .testimonial-dots button.is-active::before {
    background: #699381 !important;
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  html body.home main section.testimonials#testimonials .testimonial-slider {
    overflow: visible !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-dots {
    position: absolute !important;
    top: calc(100% + 9px) !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

@media (min-width: 521px) and (max-width: 980px) and (prefers-reduced-motion: reduce) {
  html body.home main section.testimonials#testimonials .testimonial-dots button {
    transition: none !important;
  }
}

@media (min-width: 521px) and (max-width: 760px) {
  html body footer.site-footer#footer-contact
    .footer-newsletter .footer-social-icons > a {
    display: grid !important;
    place-items: center start !important;
  }
}

/* Staging 2 v1.0.501: keep the ordinary mobile footer headline inside its column. */
@media (max-width: 520px) {
  html body footer.site-footer#footer-contact .footer-newsletter h3 {
    height: auto !important;
    max-height: none !important;
    white-space: normal !important;
  }
}

/* Staging 2 v1.0.498: mobile copy and section spacing must follow content. */
@media (max-width: 520px) {
  /* Retain a dark reading area below the collage as the viewport narrows. */
  html body.home main section#gallery.gallery {
    min-height: 650px !important;
    max-height: none !important;
  }

  html body.home main section.start-strip .start-copy {
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.25 !important;
    letter-spacing: .3px !important;
    text-wrap: balance;
  }

  html body.home main section.start-strip .start-copy .start-copy-line {
    display: inline !important;
  }

  html body.home main section#gallery.gallery .gallery-content {
    top: auto !important;
    bottom: 44px !important;
    height: auto !important;
    min-height: 0 !important;
  }

  html body.home main section#gallery.gallery .gallery-content > h2,
  html body.home main section#gallery.gallery .gallery-content > h2 > .gallery-title-desktop,
  html body.home main section#gallery.gallery .gallery-content > p.gallery-kicker {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    line-height: 1.15 !important;
    letter-spacing: 1px !important;
    white-space: normal !important;
  }

  html body.home main section#gallery.gallery .gallery-content > h2 {
    font-size: clamp(32px, 10.8vw, 45px) !important;
  }

  html body.home main section#gallery.gallery .gallery-content > p.gallery-kicker {
    font-size: clamp(30px, 10vw, 42px) !important;
    margin: 8px 0 30px !important;
  }

  html body.home main section#gallery.gallery .gallery-content > p:not(.gallery-kicker) {
    line-height: 1.45 !important;
    margin-bottom: 40px !important;
  }

  html body.home main section.warehouse#about,
  html body.home main section.warehouse#about > .warehouse-panel {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body.home main section.warehouse#about > .warehouse-panel {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    gap: 28px !important;
  }

  html body.home main section.warehouse#about .warehouse-panel h2 {
    line-height: 1.1 !important;
    white-space: normal !important;
  }

  html body.home main section.services#services > h2,
  html body.home main section.testimonials#testimonials > h2 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    line-height: 1.1 !important;
  }

  html body.home main section.testimonials#testimonials {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-top: 61px !important;
    padding-bottom: 61px !important;
  }

  html body.home main section.testimonials#testimonials > h2 {
    margin-bottom: 50px !important;
  }
}

/* TOC 1.0.517: match the supplied desktop Follow Us row frame. */
@media (min-width: 1200px) {
  html body footer.site-footer#footer-contact .footer-newsletter .footer-social {
    box-sizing: border-box !important;
    width: 168.75px !important;
    min-width: 168.75px !important;
    max-width: 168.75px !important;
    height: 25.38px !important;
    min-height: 25.38px !important;
    max-height: 25.38px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 30px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-copy {
    box-sizing: border-box !important;
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: 25.38px !important;
    min-height: 25.38px !important;
    max-height: 25.38px !important;
    flex: 0 0 82px !important;
    font-family: 'Instrument Sans', 'Inter', Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 25.38px !important;
    font-weight: 600 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-copy strong {
    margin: 0 !important;
    font: inherit !important;
    letter-spacing: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter .footer-social-icons {
    width: 56.75px !important;
    min-width: 56.75px !important;
    max-width: 56.75px !important;
    height: 25.38px !important;
    min-height: 25.38px !important;
    max-height: 25.38px !important;
    flex: 0 0 56.75px !important;
  }
}

/* TOC 1.0.519: social hover/focus matches Sign Up's #86620D brown. */
html body footer.site-footer#footer-contact .footer-social-icons a:hover,
html body footer.site-footer#footer-contact .footer-social-icons a:focus-visible {
  color: var(--toc-footer-hover-gold) !important;
  border-color: var(--toc-footer-hover-gold) !important;
}

html body footer.site-footer#footer-contact .footer-social-icons a:hover img,
html body footer.site-footer#footer-contact .footer-social-icons a:focus-visible img {
  filter: brightness(0) invert(20%) sepia(100%) saturate(367.28%) hue-rotate(4.27deg) brightness(160.61%) !important;
}

/* TOC 1.0.520: a controlled, one-review-at-a-time loop. */
@media (min-width: 521px) and (max-width: 980px) {
  html body.home main section.testimonials#testimonials .testimonial-viewport {
    width: min(826px, calc(100vw - 80px)) !important;
    max-width: 826px !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-grid {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
  }

  html body.home main section.testimonials#testimonials .testimonial-grid article:not([hidden]) {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
  }
}

@media (min-width: 981px) {
  html body.home main section.testimonials#testimonials .testimonial-grid article:not([hidden]) > p {
    font-family: 'Inter', Arial, sans-serif !important;
    font-weight: 400 !important;
    font-size: 20.98px !important;
    line-height: 25px !important;
    letter-spacing: 0 !important;
  }
}

html body.home main section.testimonials#testimonials .testimonial-slider {
  flex-basis: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

html body.home main section.testimonials#testimonials .testimonial-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  margin-top: 18px;
  flex: 0 0 44px;
}

html body.home main section.testimonials#testimonials .testimonial-controls .testimonial-dots {
  position: static !important;
  flex: 0 1 auto !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  transform: none !important;
}

/* TOC 1.0.521: centre the dots beneath the existing tablet review viewport. */
@media (min-width: 521px) and (max-width: 980px) {
  html body.home main section.testimonials#testimonials .testimonial-controls {
    width: min(826px, calc(100vw - 80px));
  }
}

/* Slower movement; keep instant loop resets and reduced motion. */
@media (prefers-reduced-motion: no-preference) {
  html body.home main section.testimonials#testimonials .testimonial-grid:not(.is-resizing) {
    transition: transform 1s ease-in-out !important;
  }
}

/* TOC 1.0.523: approved Inter Light paragraphs; preserve all sizes and spacing. */
html body.home main section.testimonials#testimonials .testimonial-grid article:not([hidden]) > p {
  font-weight: 300 !important;
}

/* TOC 1.0.524: approved mobile FAQ height and footer-only corrections. */
@media (max-width: 520px) {
  html body.home .faq details[open] {
    height: auto !important;
    min-height: 0 !important;
  }

  html body footer.site-footer#footer-contact {
    column-gap: 27.31px !important;
  }

  html body footer.site-footer#footer-contact > nav.footer-col,
  html body footer.site-footer#footer-contact .footer-menu-list {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  html body footer.site-footer#footer-contact > .footer-newsletter {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-top: 39.32px !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter h3 {
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 25px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:not(.footer-small) {
    height: auto !important;
    min-height: 48px !important;
    max-height: none !important;
    font-family: 'Inter', 'Instrument Sans', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    letter-spacing: 0 !important;
  }

  html body footer.site-footer#footer-contact .footer-newsletter > p:not(.footer-small) strong {
    font-family: inherit !important;
    font-weight: 600 !important;
  }
}

/* Desktop retains its approved credit strip; no empty strip below 981px. */
@media (max-width: 980px) {
  html body .copyright-bar {
    display: none !important;
  }
}

/* September Ticket 18: confirmed mobile default has no resting image shadow. */
@media (max-width: 520px) {
  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone) > img {
    box-shadow: none !important;
  }
}

/* September Ticket 19: desktop images are flat at rest; lift only on hover. */
@media (min-width: 981px) {
  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone) {
    overflow: visible !important;
  }

  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone) > img {
    box-shadow: none !important;
    transform: none !important;
    transition: transform .35s ease, box-shadow .35s ease !important;
  }
}

@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone):hover > img {
    box-shadow: 0 6px 15px rgba(0, 0, 0, .09), 0 2px 4px rgba(0, 0, 0, .06) !important;
    transform: scale(1.045) !important;
  }
}

@media (min-width: 981px) and (prefers-reduced-motion: reduce) {
  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone) > img,
  html body.home main section.products#catalogue > .product-grid > article.product-card:not(.product-card-clone):hover > img {
    transition: none !important;
    transform: none !important;
  }
}

/* September Tickets 22-24: use the existing header grid's left inset.
 * Keep the shared header, hero artwork, typography and mobile rules intact. */
@media (min-width: 981px) and (max-width: 1919px) {
  body.previous-events-page,
  body.terms-page,
  body.hired-page {
    --toc-ticket-banner-inset: max(clamp(16px, 2.5vw, 48px), calc((100vw - clamp(190px, 18vw, 281px) - 552px - clamp(294px, 25vw, 360px) - 2 * clamp(16px, 3.8vw, 80px)) / 2));
  }
}

@media (min-width: 1920px) {
  body.previous-events-page,
  body.terms-page,
  body.hired-page {
    --toc-ticket-banner-inset: 255.5px;
  }
}

@media (min-width: 981px) {
  html body.previous-events-page main > section.previous-events-hero > .previous-events-hero-copy,
  html body.terms-page main > section.terms-hero > .policy-hero-copy,
  html body.hired-page main > section.hired-hero > .policy-hero-copy {
    left: var(--toc-ticket-banner-inset) !important;
    margin-left: 0 !important;
  }
}

/* September Ticket 25: filled white state, retaining the approved button box. */
@media (min-width: 981px) {
  html body.home main section.catalogue-band .catalogue-actions > a:first-child:focus-visible,
  html body.home main section.catalogue-band .catalogue-actions > a:nth-child(2):focus-visible {
    background: #fff !important;
  }
}

@media (min-width: 981px) and (hover: hover) and (pointer: fine) {
  html body.home main section.catalogue-band .catalogue-actions > a:first-child:hover,
  html body.home main section.catalogue-band .catalogue-actions > a:nth-child(2):hover {
    background: #fff !important;
  }
}
/* TOC v1.0.555: editable Dry-Hire copy, with natural wrapping for the approved text. */
html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] .service-detail-copy h3,
html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] .service-detail-copy p,
html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] .service-detail-copy li {
  white-space: normal !important;
}
html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] .service-detail-copy > h3,
html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] .service-detail-copy > p,
html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] .service-detail-copy > ul {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  flex-shrink: 0;
}
@media (min-width: 981px) {
  html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] {
    height: auto !important;
    min-height: 284px !important;
    max-height: none !important;
    padding: 40px 40px 40px 291px !important;
    background: #000 !important;
    border-radius: 20px !important;
  }
  html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] > .service-detail-copy.is-active {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
  }
  html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] .service-detail-copy p {
    width: 100% !important;
    line-height: 1.3 !important;
  }
}
@media (max-width: 520px) {
  html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] {
    aspect-ratio: auto !important;
    height: auto !important;
    padding: 32px 24px 132px !important;
    background: #000 !important;
    border-radius: 20px !important;
  }
  html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] > .service-detail-mobile-card {
    display: none !important;
  }
  html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] > .service-detail-copy.is-active {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100svh - 260px) !important;
    overflow: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    gap: 20px !important;
  }
  html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] .service-detail-copy h3 {
    font-size: 32px !important;
    line-height: 1.05 !important;
  }
  html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] .service-detail-copy p {
    font-size: 17px !important;
    line-height: 1.3 !important;
  }
  html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] > .service-detail-desktop-icon-frame {
    position: absolute !important;
    inset: auto 24px 16px auto !important;
    display: block !important;
    visibility: visible !important;
    width: 100px !important;
    height: 100px !important;
    opacity: 1 !important;
  }
  html body.home main section.services#services > .service-detail[data-active-slug="dry-hire"] .service-detail-desktop-icon {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
}

/* TOC v1.0.556: desktop-only compact Services selector. The picture fallbacks
 * preserve the original mobile/tablet artwork and service-card interactions. */
html body.home main section.services#services > .service-selector-subtitle {
  display: none !important;
}
.service-art > .service-selector-picture {
  display: contents;
}
@media (min-width: 981px) {
  html body.home main section.services#services {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 0 !important;
  }
  html body.home main section.services#services > h2 {
    width: 480px !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 38px !important;
    max-height: none !important;
    margin: 0 auto 6px !important;
    padding: 0 !important;
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 32px !important;
    line-height: 38px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }
  html body.home main section.services#services > .service-selector-subtitle {
    display: block !important;
    width: 480px !important;
    max-width: 100% !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 16px !important;
    line-height: 19px !important;
    font-weight: 400 !important;
    color: #000 !important;
    text-align: center !important;
  }
  html body.home main section.services#services > .service-selector-subtitle strong {
    font-weight: 600;
  }
  html body.home main section.services#services > .service-tabs {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(5, 84.7059px) !important;
    grid-template-rows: repeat(2, 73.4118px) !important;
    grid-auto-flow: row !important;
    width: 480px !important;
    min-width: 0 !important;
    max-width: 480px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 15.6864px 14.1176px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: start !important;
    justify-content: center !important;
    overflow: visible !important;
  }
  html body.home main section.services#services > .service-tabs > .service-tab:nth-child(n) {
    box-sizing: border-box !important;
    position: relative !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 84.7059px !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 73.4118px !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 14.1177px !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    transform: none !important;
    cursor: pointer;
  }
  html body.home main section.services#services .service-tab:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 4px !important;
  }
  html body.home main section.services#services .service-tab .service-art {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: none !important;
    box-shadow: none !important;
    border: 0 !important;
    transform: none !important;
  }
  html body.home main section.services#services .service-tab .service-art img {
    position: absolute !important;
    inset: -20px auto auto -20px !important;
    display: block !important;
    width: 124.7059px !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 113.4118px !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: fill !important;
    opacity: 0 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    pointer-events: none !important;
  }
  html body.home main section.services#services .service-tab:not(.is-active) .service-art img.state-normal,
  html body.home main section.services#services .service-tab:not(.is-active):hover .service-art img.state-hover,
  html body.home main section.services#services .service-tab.is-active .service-art img.state-active {
    opacity: 1 !important;
  }
  html body.home main section.services#services .service-tab:not(.is-active):hover .service-art img.state-normal,
  html body.home main section.services#services .service-tab.is-active .service-art img.state-normal,
  html body.home main section.services#services .service-tab.is-active .service-art img.state-hover {
    opacity: 0 !important;
  }
  html body.home main section.services#services .service-tab .service-label {
    position: absolute !important;
    width: 1px !important;
    min-width: 0 !important;
    max-width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    max-height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }
}

/* TOC v1.0.557: supplied Event Planning PNGs, desktop only. Preserve the
 * existing tile core; each export includes different transparent effect padding. */
@media (min-width: 981px) {
  html body.home main section.services#services .service-tab[data-slug="event-planning"] .service-art img.state-normal {
    inset: -3.29395px auto auto -2.95605px !important;
    width: 91px !important;
    height: 81.5px !important;
  }
  html body.home main section.services#services .service-tab[data-slug="event-planning"] .service-art img.state-hover {
    inset: -19.61734px auto auto -19.65051px !important;
    width: 124.28950px !important;
    height: 112.79968px !important;
  }
  html body.home main section.services#services .service-tab[data-slug="event-planning"] .service-art img.state-active {
    inset: -3px auto auto -3px !important;
    width: 91px !important;
    height: 81px !important;
  }
}

/* TOC v1.0.558: one exact desktop service-card approval preview.
 * Isolated font names keep existing mobile and other site typography unchanged. */
@font-face {
  font-family: 'TOC Card Instrument Sans';
  src: url('../fonts/instrument-sans/InstrumentSans-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TOC Card Nanum Gothic';
  src: url('../services/card-review-v558/NanumGothic-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TOC Card Lato';
  src: url('../services/card-review-v558/Lato-Semibold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
.toc-service-review {
  display: none;
}
@media (min-width: 0px) {
  html body.home main section.services#services {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  html body.home main section.services#services > #service-detail,
  html body.home main section.services#services > .service-detail-backdrop {
    display: none !important;
  }
  html body.home main section.services#services .service-tab:disabled {
    cursor: default !important;
    opacity: 1 !important;
  }
  html body.home main section.services#services .service-tab:disabled .service-art img.state-normal {
    opacity: 1 !important;
  }
  html body.home main section.services#services .service-tab:disabled .service-art img.state-hover,
  html body.home main section.services#services .service-tab:disabled .service-art img.state-active {
    opacity: 0 !important;
  }
  html body.home main section.services#services .toc-service-review,
  html body.home main section.services#services .toc-service-review * {
    box-sizing: border-box !important;
  }
  html body.home main section.services#services > .toc-service-review {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    flex: none !important;
    width: 749px !important;
    height: auto !important;
    min-height: 0 !important;
    max-width: none !important;
    margin: 35px auto 0 !important;
    padding: 0 !important;
    gap: 20px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  html body.home main section.services#services .toc-service-review__card {
    display: flex !important;
    flex: none !important;
    align-items: center !important;
    width: 749px !important;
    height: auto !important;
    min-height: 310.66px !important;
    margin: 0 !important;
    padding: 45px 20px !important;
    gap: 25px !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: #000 !important;
    box-shadow: none !important;
    color: #fff !important;
    overflow: visible !important;
  }
  html body.home main section.services#services .toc-service-review__icon {
    display: flex !important;
    flex: 0 0 200px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 200px !important;
    height: 220.66px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.home main section.services#services .toc-service-review__icon img {
    display: block !important;
    width: 200px !important;
    height: 220.66px !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    border: 0 !important;
    transform: none !important;
    filter: none !important;
  }
  html body.home main section.services#services .toc-service-review__content {
    display: grid !important;
    grid-template-rows: 72px minmax(15px, auto) minmax(60px, auto) 28.66px !important;
    flex: 0 0 484px !important;
    width: 484px !important;
    height: auto !important;
    gap: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
  html body.home main section.services#services .toc-service-review__heading,
  html body.home main section.services#services .toc-service-review__description,
  html body.home main section.services#services .toc-service-review__bullets {
    position: static !important;
    width: 484px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-style: normal !important;
    text-align: left !important;
    text-transform: none !important;
    text-decoration: none !important;
    text-shadow: none !important;
    transform: none !important;
    font-synthesis: none !important;
  }
  html body.home main section.services#services .toc-service-review__heading {
    display: flex !important;
    align-items: center !important;
    height: 72px !important;
    font-family: 'TOC Card Instrument Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 33.22px !important;
    line-height: 100% !important;
    letter-spacing: 1.9px !important;
  }
  html body.home main section.services#services .toc-service-review__heading > span {
    font: inherit !important;
    letter-spacing: inherit !important;
    color: inherit !important;
    text-transform: none !important;
  }
  html body.home main section.services#services .toc-service-review__description {
    display: flex !important;
    align-items: center !important;
    min-height: 15px !important;
    height: auto !important;
    font-family: 'TOC Card Nanum Gothic', sans-serif !important;
    font-weight: 400 !important;
    font-size: 12.95px !important;
    line-height: 100% !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
  }
  html body.home main section.services#services .toc-service-review__bullets {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 60px !important;
    height: auto !important;
    padding-left: 14px !important;
    list-style: disc outside !important;
    font-family: 'TOC Card Lato', sans-serif !important;
    font-weight: 600 !important;
    font-size: 11.51px !important;
    line-height: 130% !important;
    letter-spacing: .72px !important;
  }
  html body.home main section.services#services .toc-service-review__bullets li {
    display: list-item !important;
    margin: 0 !important;
    padding: 0 !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    color: inherit !important;
    list-style: inherit !important;
  }
  html body.home main section.services#services .toc-service-review__arrow-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 484px !important;
    height: 28.66px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    gap: 18px !important;
    cursor: default !important;
  }
  html body.home main section.services#services .toc-service-review__arrow {
    display: block !important;
    flex: none !important;
    width: 28.66px !important;
    height: 28.66px !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    border: 0 !important;
    filter: none !important;
    transform: none !important;
  }
  html body.home main section.services#services .toc-service-review__dots {
    display: flex !important;
    flex: none !important;
    align-items: center !important;
    width: 242px !important;
    height: 8px !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: default !important;
  }
  html body.home main section.services#services .toc-service-review__dots span {
    display: block !important;
    flex: none !important;
    width: 18px !important;
    height: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: #cdcdcd !important;
    box-shadow: none !important;
  }
  html body.home main section.services#services .toc-service-review__dots button.is-current span {
    width: 35px !important;
    background: #000 !important;
  }
}


/* TOC 1.0.559: user-driven ten-service carousel, no autoplay. */
html body.home main section.services#services .toc-service-review__viewport {
  width: 100%; overflow: hidden; touch-action: pan-y pinch-zoom;
}
html body.home main section.services#services .toc-service-review__track {
  display: flex; align-items: flex-start; gap: 10px; width: 100%;
  transition: transform 220ms ease;
}
html body.home main section.services#services .toc-service-review__mobile-space { display: none; }
html body.home main section.services#services .toc-service-review__next {
  display: grid; place-items: center; flex: none; width: 44px; height: 44px;
  min-width: 0; min-height: 0; margin: 0 -7.67px 0 0; padding: 0; border: 0;
  background: transparent; box-shadow: none; border-radius: 5px; cursor: pointer;
}
html body.home main section.services#services .toc-service-review__dots button {
  display: flex; align-items: center; flex: none; width: 18px; height: 24px;
  min-width: 0; min-height: 0; padding: 0; margin: 0; border: 0;
  border-radius: 5px; background: transparent; box-shadow: none; cursor: pointer;
}
html body.home main section.services#services .toc-service-review__dots button.is-current { width: 35px; }
html body.home main section.services#services .toc-service-review button:focus-visible {
  outline: 2px solid #6199b0; outline-offset: 3px;
}
html body.home main section.services#services .toc-service-review__status {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip-path: inset(50%); white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  html body.home main section.services#services .toc-service-review__track { transition: none; }
}
@media (max-width: 980px) {
  html body.home main section.services#services {
    height: auto !important; min-height: 0 !important; max-height: none !important;
    overflow: hidden !important; gap: 0 !important;
  }
  html body.home main section.services#services > .toc-service-review {
    width: min(350px, calc(100vw - 40px)) !important;
    margin: 20px auto 0 !important; gap: 12px !important;
  }
  html body.home main section.services#services .toc-service-review__viewport { overflow: visible; }
  html body.home main section.services#services .toc-service-review__card {
    width: 100% !important; flex: 0 0 100% !important;
    min-height: 322px !important; padding: 0 32px 20px !important;
    flex-direction: column !important; gap: 0 !important; border-radius: 15px !important;
  }
  html body.home main section.services#services .toc-service-review__icon {
    width: 80px !important; height: 88.4px !important; flex: 0 0 88.4px !important;
  }
  html body.home main section.services#services .toc-service-review__icon img {
    width: 80px !important; height: 88.4px !important;
  }
  html body.home main section.services#services .toc-service-review__content {
    width: 100% !important; flex: auto !important;
    grid-template-rows: minmax(40px, auto) auto auto 28.66px !important; gap: 20px !important;
  }
  html body.home main section.services#services .toc-service-review__heading,
  html body.home main section.services#services .toc-service-review__description,
  html body.home main section.services#services .toc-service-review__bullets,
  html body.home main section.services#services .toc-service-review__arrow-row {
    width: 100% !important; height: auto !important;
  }
  html body.home main section.services#services .toc-service-review__heading {
    font-size: 33.22px !important; letter-spacing: 0 !important; justify-content: center !important; text-align: center !important;
  }
  html body.home main section.services#services .toc-service-review__desktop-break { display: none; }
  html body.home main section.services#services .toc-service-review__mobile-space { display: inline; font: inherit !important; }
  html body.home main section.services#services .toc-service-review__description { font-size: 12.95px !important; }
  html body.home main section.services#services .toc-service-review__description,
  html body.home main section.services#services .toc-service-review__bullets { width: 250px !important; max-width: 100% !important; margin: 0 auto !important; }
  html body.home main section.services#services .toc-service-review__bullets { min-height: 60px !important; }
  html body.home main section.services#services .toc-service-review__arrow-row { height: 28.66px !important; padding: 0 !important; }
}


/* Mobile/tablet: the supplied 350px, two-row five-icon composition. */
@media (max-width: 980px) {
  html body.home main section.services#services > .service-tabs {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(5, 61.7647px) !important;
    grid-template-rows: repeat(2, 53.5294px) !important;
    grid-auto-flow: row !important;
    width: 350px !important;
    min-width: 0 !important;
    max-width: 350px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 11.4375px 10.2941px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    align-items: start !important;
    justify-content: center !important;
    overflow: visible !important;
  }
  html body.home main section.services#services > .service-tabs > .service-tab:nth-child(n) {
    box-sizing: border-box !important;
    position: relative !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 61.7647px !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 53.5294px !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10.2941px !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    transform: none !important;
    cursor: pointer;
  }
  html body.home main section.services#services .service-tab:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 4px !important;
  }
  html body.home main section.services#services .service-tab .service-art {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: none !important;
    box-shadow: none !important;
    border: 0 !important;
    transform: none !important;
  }
  html body.home main section.services#services .service-tab .service-art img {
    position: absolute !important;
    inset: -14.5833px auto auto -14.5833px !important;
    display: block !important;
    width: 90.9314px !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 82.6961px !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: fill !important;
    opacity: 0 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    pointer-events: none !important;
  }
  html body.home main section.services#services .service-tab:not(.is-active) .service-art img.state-normal,
  html body.home main section.services#services .service-tab:not(.is-active):hover .service-art img.state-hover,
  html body.home main section.services#services .service-tab.is-active .service-art img.state-active {
    opacity: 1 !important;
  }
  html body.home main section.services#services .service-tab:not(.is-active):hover .service-art img.state-normal,
  html body.home main section.services#services .service-tab.is-active .service-art img.state-normal,
  html body.home main section.services#services .service-tab.is-active .service-art img.state-hover {
    opacity: 0 !important;
  }
  html body.home main section.services#services .service-tab .service-label {
    position: absolute !important;
    width: 1px !important;
    min-width: 0 !important;
    max-width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    max-height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }
}
@media (max-width: 980px) {
  html body.home main section.services#services > .service-tabs {
    max-width: calc(100vw - 40px) !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
  html body.home main section.services#services > .service-tabs > .service-tab:nth-child(n) { width: 100% !important; order: 0 !important; }
  html body.home main section.services#services .service-tab .service-art img.state-normal { filter: grayscale(1) brightness(.94) !important; }
  html body.home main section.services#services .service-tab[data-slug="event-planning"] .service-art img.state-normal {
    inset: -2.40184px auto auto -2.15545px !important; width: 66.35417px !important; height: 59.42708px !important;
  }
  html body.home main section.services#services .service-tab[data-slug="event-planning"] .service-art img.state-hover {
    inset: -14.30431px auto auto -14.3285px !important; width: 90.62776px !important; height: 82.24977px !important;
  }
  html body.home main section.services#services .service-tab[data-slug="event-planning"] .service-art img.state-active {
    inset: -2.1875px auto auto -2.1875px !important; width: 66.35417px !important; height: 59.0625px !important;
  }
  html body.home main section.services#services .toc-service-review__viewport { overflow: hidden; width: calc(100% + 20px); align-self: flex-start; }
  html body.home main section.services#services .toc-service-review__track { width: calc(100% - 20px); }
  html body.home main section.services#services .toc-service-review__heading { padding-bottom: 4px !important; }
}
/* TOC 1.0.560: supplied mobile containers and monochrome PNG states.
 * The 2x PNGs include effect padding; normalize the tile core without stretching.
 * Desktop wrappers remain layout-transparent and its original artwork is retained. */
.toc-service-mobile-header { display: none; }
.toc-service-review__text-outer, .toc-service-review__text-inner { display: contents; }
@media (max-width: 980px) {
  html body.home main section.services#services > .service-tabs {
    gap: 9.7812px 10.2941px !important;
  }
  html body.home main section.services#services > .service-tabs > .service-tab:nth-child(n) {
    box-shadow: 0 2px 4px rgba(0,0,0,.18) !important;
    border-radius: 10.2941px !important;
  }
  html body.home main section.services#services .service-tab .service-art {
    overflow: hidden !important; border-radius: inherit !important;
  }
  html body.home main section.services#services .service-tab[data-slug] .service-art img {
    inset: -4.0865% auto auto -3.5419% !important;
    width: 107.4305% !important; height: auto !important;
    object-fit: contain !important; filter: grayscale(1) !important;
  }
  html body.home main section.services#services .service-tab[data-slug="catering"] .service-art img {
    inset: -8.9% auto auto -7.08% !important; width: 113.3333% !important;
  }
  html body.home main section.services#services .service-tab[data-slug] .service-art img.state-normal {
    filter: invert(1) grayscale(1) brightness(.9372549) !important;
  }
  html body.home main section.services#services .service-tab:not(.is-active):hover .service-art img.state-normal { opacity: 1 !important; }
  html body.home main section.services#services .service-tab[data-slug] .service-art img.state-hover,
  html body.home main section.services#services .service-tab:not(.is-active):hover .service-art img.state-hover { opacity: 0 !important; }
  html body.home main section.services#services > .toc-service-review { gap: 13px !important; }
  html body.home main section.services#services .toc-service-review__card {
    padding: 18.98px 0 25px !important; gap: 30px !important;
    min-height: 322.68px !important;
  }
  html body.home main section.services#services .toc-service-review__icon,
  html body.home main section.services#services .toc-service-review__heading,
  html body.home main section.services#services .toc-service-review__arrow-row { display: none !important; }
  html body.home main section.services#services .toc-service-mobile-header {
    display: flex; flex-direction: column; align-items: center; width: 100%; gap: 14px;
  }
  html body.home main section.services#services .toc-service-mobile-icon {
    position: relative; width: 72.35px; height: 62.71px; flex: none;
    padding: 13.61px 16.52px 13.61px 17.01px; box-sizing: border-box;
    border-radius: 12.06px; overflow: hidden; background: #000;
  }
  html body.home main section.services#services .toc-service-mobile-icon img {
    position: absolute; inset: -4.0865% auto auto -3.5419%; width: 107.4305%; height: auto;
    max-width: none; max-height: none; margin: 0; padding: 0; filter: grayscale(1); object-fit: contain;
  }
  html body.home main section.services#services [data-service-slide="catering"] .toc-service-mobile-icon img {
    inset: -8.9% auto auto -7.08%; width: 113.3333%;
  }
  html body.home main section.services#services .toc-service-mobile-heading {
    width: 100%; min-height: 33px; margin: 0; padding: 0; color: #fff;
    font-family: 'TOC Card Instrument Sans', sans-serif !important; font-weight: 600; font-size: 33.22px;
    line-height: 33px; letter-spacing: 0 !important; font-style: normal; font-synthesis: none;
    text-align: center; text-transform: none; text-shadow: none;
  }
  html body.home main section.services#services .toc-service-mobile-icon::after {
    content: ''; position: absolute; inset: 0; border: 3px solid #000; border-radius: inherit; pointer-events: none;
  }
  html body.home main section.services#services .toc-service-review__content {
    display: block !important; width: 290px !important; max-width: 100% !important;
    height: auto !important; flex: none !important;
  }
  html body.home main section.services#services .toc-service-review__text-outer {
    display: flex; flex-direction: column; align-items: center; gap: 10px;
    width: 290px; max-width: 100%; padding: 0 8px 35px; border-radius: 10px;
  }
  html body.home main section.services#services .toc-service-review__text-inner {
    display: flex; flex-direction: column; width: 246.12px; max-width: 100%; gap: 17.99px;
  }
  html body.home main section.services#services .toc-service-review__description {
    width: 246.12px !important; min-height: 26px !important; margin: 0 !important;
  }
  html body.home main section.services#services .toc-service-review__bullets {
    width: 223px !important; min-height: 60px !important; margin: 0 !important;
    flex: none !important;
  }
}

/* Staging 2 1.0.561: supplied help-strip copy and the missing mobile Services subtitle.
 * Natural wrapping keeps the strip usable at intermediate widths and text zoom.
 * Existing local fonts avoid the failed legacy Google Fonts request. */
html body.home main section.start-strip {
  padding: 8px 20px !important;
  flex-flow: row wrap !important;
  gap: 12px 16px !important;
}
html body.home main section.start-strip > .start-copy {
  width: auto !important; max-width: 100% !important; min-width: 0 !important;
  height: auto !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important; flex: 0 1 auto !important;
  font-family: 'TOC Instrument Sans', sans-serif !important;
  font-size: 16px !important; font-weight: 400 !important; line-height: 20px !important;
  letter-spacing: 0 !important; color: #000 !important;
  white-space: normal !important; text-wrap: balance; text-align: center !important;
}
html body.home main section.start-strip > a {
  width: 156px !important; min-width: 0 !important; max-width: 100% !important;
  height: 44px !important; min-height: 44px !important; max-height: none !important;
  margin: 0 !important; padding: 0 12px !important; flex: 0 0 auto !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  border-radius: 6px !important; font-family: 'TOC Card Instrument Sans', sans-serif !important;
  font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important;
  letter-spacing: 0 !important; white-space: nowrap !important;
}
html body.home main section.start-strip > a > span {
  font: inherit !important; letter-spacing: inherit !important;
}
@media (max-width: 980px) {
  html body.home main section.services#services > h2 {
    width: 350px !important; max-width: calc(100vw - 40px) !important;
    height: auto !important; min-height: 38px !important;
    margin: 0 auto 10px !important; padding: 0 !important;
    font-family: 'TOC Card Instrument Sans', sans-serif !important;
    font-size: 32px !important; font-weight: 600 !important; line-height: 38px !important;
    letter-spacing: 0 !important; text-align: center !important;
  }
  html body.home main section.services#services > .service-selector-subtitle {
    display: block !important; width: 246px !important; max-width: calc(100vw - 40px) !important;
    height: auto !important; min-height: 38px !important;
    margin: 0 auto 24px !important; padding: 0 !important;
    font-family: 'TOC Instrument Sans', sans-serif !important;
    font-size: 16px !important; font-weight: 400 !important; line-height: 19px !important;
    letter-spacing: 0 !important; color: #000 !important; text-align: center !important;
  }
  html body.home main section.services#services > .service-selector-subtitle strong {
    font-family: 'TOC Card Instrument Sans', sans-serif !important; font-weight: 600 !important;
  }
}
@media (max-width: 520px) {
  html body.home main section.start-strip { padding: 16px 20px !important; }
  html body.home main section.start-strip > .start-copy { flex-basis: 100% !important; }
  html body.home main section.start-strip > a { width: 350px !important; }
}

/* Findings from the full-page 320-1920px review: protect copy at narrow/tablet
 * widths without changing desktop service cards or any form behaviour. */
html body.home footer.site-footer#footer-contact .footer-newsletter > h3 {
  width: auto !important; max-width: 100% !important; white-space: normal !important;
  height: auto !important; min-height: 0 !important;
}
@media (max-width: 374px) {
  html body.home main section.catalogue-band > .catalogue-live-copy > p {
    font-size: clamp(30px, 10vw, 37.4px) !important;
  }
}
@media (min-width: 981px) and (max-width: 1200px) {
  html body.home main > section.hero > .hero-card {
    top: 50% !important; transform: translate(-50%, -50%) !important;
  }
}
@media (min-width: 521px) and (max-width: 980px) {
  html body.home main section.testimonials#testimonials {
    padding-left: 20px !important; padding-right: 20px !important;
  }
  html body.home main section.testimonials#testimonials .testimonial-slider {
    width: min(826px, calc(100vw - 40px)) !important; max-width: 100% !important;
    margin: 0 auto !important; padding: 0 !important;
    display: flex !important; flex-direction: column !important; align-items: center !important;
  }
  html body.home main section.testimonials#testimonials .testimonial-viewport,
  html body.home main section.testimonials#testimonials .testimonial-controls {
    width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important;
  }
}

/* Supplied popup corner X on desktop and mobile; the transparent hit area preserves
 * the approved 28px visual without changing the form/card dimensions. */
.toc-qf-modal__corner-close {
  display: none !important;
}
  body.toc-qf-modal-open .toc-qf-modal__corner-close:not([hidden]) {
    position: fixed !important;
    z-index: 3;
    display: grid !important;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    transform: translate(-50%, -50%);
  }
  body.toc-qf-modal-open .toc-qf-modal__corner-close img {
    display: block;
    width: 28px;
    height: 28px;
    object-fit: contain;
  }
  body.toc-qf-modal-open .toc-qf-modal__corner-close:focus-visible {
    outline: 2px solid #7eb7ce;
    outline-offset: 2px;
    border-radius: 50%;
  }

/* TOC v1.0.567: match the Event Planning description typography; keep mobile flow. */
html body.home main section.services#services .toc-service-review__caterer {
  display: block; width: 100%; max-width: 100%; height: auto;
  margin: 0; padding: 0; color: #fff; text-align: left;
  font-family: 'TOC Card Nanum Gothic', sans-serif !important; font-size: 12.95px !important;
  font-weight: 400 !important; line-height: 100% !important; letter-spacing: normal !important; white-space: normal;
}
html body.home main section.services#services .toc-service-review__caterer > span {
  color: #46a4c1; font-weight: 600;
  font-family: inherit !important; font-size: inherit !important;
  line-height: inherit !important; letter-spacing: inherit !important;
}
@media (min-width: 981px) {
  html body.home main section.services#services [data-service-slide="event-planning"] .toc-service-review__content {
    grid-template-rows: 72px minmax(15px, auto) minmax(60px, auto) auto 28.66px !important;
  }
}

/* TOC v1.0.564: real Semibold face for the requested section/card headings.
 * Font size, line-height, tracking, container geometry and icon states stay intact. */
html body.home main section.services#services > h2,
html body.home main section.services#services .toc-service-review__heading,
html body.home main section.services#services .toc-service-mobile-heading {
  font-family: 'TOC Instrument Sans', sans-serif !important;
  font-weight: 600 !important;
  font-synthesis: none !important;
}

/* TOC v1.0.563: exact supplied D/H/C SVGs, desktop only; no recolouring. */
@media (min-width: 981px) {
  html body.home main section.services#services .service-tab[data-slug="event-planning"] .service-art img.state-normal { inset: -3.29395px auto auto -2.95605px !important; width: 91.00000px !important; height: 82.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="event-planning"] .service-art img.state-hover { inset: -19.61734px auto auto -19.65051px !important; width: 124.78077px !important; height: 112.79968px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="event-planning"] .service-art img.state-active { inset: -3.00000px auto auto -3.00000px !important; width: 91.00000px !important; height: 81.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="event-management"] .service-art img.state-normal { inset: -3.29395px auto auto -2.95605px !important; width: 91.00000px !important; height: 82.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="event-management"] .service-art img.state-hover { inset: -19.61734px auto auto -19.65051px !important; width: 124.78077px !important; height: 112.79968px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="event-management"] .service-art img.state-active { inset: -3.00000px auto auto -3.00000px !important; width: 91.00000px !important; height: 81.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="event-styling"] .service-art img.state-normal { inset: -3.29395px auto auto -2.95605px !important; width: 91.00000px !important; height: 82.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="event-styling"] .service-art img.state-hover { inset: -19.61734px auto auto -19.65051px !important; width: 124.78077px !important; height: 112.79968px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="event-styling"] .service-art img.state-active { inset: -3.00000px auto auto -3.00000px !important; width: 91.00000px !important; height: 81.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="decor-furniture"] .service-art img.state-normal { inset: -3.29395px auto auto -2.95605px !important; width: 91.00000px !important; height: 82.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="decor-furniture"] .service-art img.state-hover { inset: -19.61734px auto auto -19.65051px !important; width: 124.78077px !important; height: 112.79968px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="decor-furniture"] .service-art img.state-active { inset: -3.00000px auto auto -3.00000px !important; width: 91.00000px !important; height: 81.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="dry-hire"] .service-art img.state-normal { inset: -3.29395px auto auto -2.95605px !important; width: 91.00000px !important; height: 82.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="dry-hire"] .service-art img.state-hover { inset: -19.61734px auto auto -19.65051px !important; width: 124.78077px !important; height: 112.79968px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="dry-hire"] .service-art img.state-active { inset: -3.00000px auto auto -3.00000px !important; width: 91.00000px !important; height: 81.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="staffing"] .service-art img.state-normal { inset: -3.29395px auto auto -2.95605px !important; width: 91.00000px !important; height: 82.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="staffing"] .service-art img.state-hover { inset: -19.61734px auto auto -19.65051px !important; width: 124.78077px !important; height: 112.79968px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="staffing"] .service-art img.state-active { inset: -3.00000px auto auto -3.00000px !important; width: 91.00000px !important; height: 81.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="catering"] .service-art img.state-normal { inset: -3.29395px auto auto -2.95605px !important; width: 91.00000px !important; height: 82.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="catering"] .service-art img.state-hover { inset: -19.61734px auto auto -19.65051px !important; width: 124.78077px !important; height: 112.79968px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="catering"] .service-art img.state-active { inset: -6.29395px auto auto -5.64746px !important; width: 96.00000px !important; height: 86.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="floral-centerpieces"] .service-art img.state-normal { inset: -3.29395px auto auto -2.95605px !important; width: 91.00000px !important; height: 82.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="floral-centerpieces"] .service-art img.state-hover { inset: -19.61734px auto auto -19.65051px !important; width: 124.78077px !important; height: 112.79968px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="floral-centerpieces"] .service-art img.state-active { inset: -3.00000px auto auto -3.00000px !important; width: 91.00000px !important; height: 81.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="backdrops-arches"] .service-art img.state-normal { inset: -3.29395px auto auto -2.95605px !important; width: 91.00000px !important; height: 82.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="backdrops-arches"] .service-art img.state-hover { inset: -19.61734px auto auto -19.65051px !important; width: 124.78077px !important; height: 112.79968px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="backdrops-arches"] .service-art img.state-active { inset: -3.00000px auto auto -3.00000px !important; width: 91.00000px !important; height: 81.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="entertainment"] .service-art img.state-normal { inset: -3.29395px auto auto -2.95605px !important; width: 91.00000px !important; height: 82.00000px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="entertainment"] .service-art img.state-hover { inset: -19.61734px auto auto -19.65051px !important; width: 124.78077px !important; height: 112.79968px !important; filter: none !important; }
  html body.home main section.services#services .service-tab[data-slug="entertainment"] .service-art img.state-active { inset: -3.00000px auto auto -3.00000px !important; width: 91.00000px !important; height: 81.00000px !important; filter: none !important; }
}

/* v1.0.566: supplied hero images, full-width policy background and real semibold. */
/* Nanum Gothic has no600 face: use the site's genuine semibold for this CTA. */
html body.home main a[href*="google.com/maps"] { font-family: 'TOC Instrument Sans', sans-serif !important; font-weight: 600 !important; }
@font-face { font-family: 'Instrument Sans'; src: url('../fonts/instrument-sans/InstrumentSans-SemiBold.woff2') format('woff2'); font-style: normal; font-weight: 600; font-display: swap; }
html body :where(b, strong, h1, h2, h3, h4, h5, h6) { font-weight: 600; }
html body.home main > section.hero {
  position: relative !important; left: 50% !important; width: 100vw !important; max-width: none !important;
  height: auto !important; min-height: 0 !important; max-height: none !important; aspect-ratio: 2880 / 930 !important;
  margin: 0 0 0 -50vw !important; padding: 0 !important; overflow: hidden !important;
}
html body.home main > section.hero > picture.hero-media {
  display: block !important; position: absolute !important; inset: 0 !important;
  width: 100% !important; max-width: none !important; height: 100% !important; margin: 0 !important; transform: none !important;
}
html body.home main > section.hero > picture.hero-media > img {
  display: block !important; width: 100% !important; height: 100% !important; max-width: none !important;
  object-fit: cover !important; object-position: center !important; margin: 0 !important; transform: none !important;
}
html body.home main > section.hero > .hero-shade { display: none !important; }
html body.home main > section.hero > .hero-card {
  position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%,-50%) !important;
  width: min(90%, 720px) !important; max-width: 90% !important; height: auto !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important; gap: clamp(10px, 1.1vw, 22px) !important;
}
html body.home main > section.hero > .hero-card h1 {
  width: 100% !important; height: auto !important; min-height: 0 !important; margin: 0 !important;
  font-family: 'TOC Instrument Sans', sans-serif !important; font-weight: 600 !important;
  font-size: clamp(38px, 3.55vw, 90px) !important; line-height: 1.02 !important; letter-spacing: 0 !important;
}
html body.home main > section.hero > .hero-card p {
  width: 100% !important; height: auto !important; min-height: 0 !important; margin: 0 !important;
  font-family: 'TOC Instrument Sans', sans-serif !important; font-weight: 400 !important;
  font-size: clamp(16px, 1.6vw, 38px) !important; line-height: 1.25 !important; letter-spacing: 0 !important;
}
@media(max-width: 980px) {
  html body.home main > section.hero { aspect-ratio: 414 / 520 !important; }
  html body.home main > section.hero > .hero-card h1 { font-size: clamp(30px, 8vw, 64px) !important; }
  html body.home main > section.hero > .hero-card p { font-size: clamp(15px, 3.85vw, 28px) !important; }
}
html body.policy-page main > section.policy-content-section {
  position: relative !important; left: 50% !important; width: 100vw !important; max-width: none !important;
  box-sizing: border-box !important; margin-left: -50vw !important; margin-right: 0 !important;
  background: #fff !important; padding-left: clamp(20px, 4vw, 70px) !important; padding-right: clamp(20px, 4vw, 70px) !important;
}
html body.policy-page main > section.policy-content-section > .policy-content {
  width: 100% !important; max-width: 770px !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box !important;
}
html body.terms-page main > section.policy-content-section > .terms-content { max-width: 1000px !important; }
@media(min-width: 981px) {
  html body.home main section.services#services .service-tab .service-art { overflow: visible !important; }
  html body.home main section.services#services .service-tab[data-slug="event-planning"] .service-art img.state-normal { inset: -3.52941px auto auto -3.02521px !important; width: 90.75632px !important; height: auto !important; filter: none !important; clip-path: inset(4.375% 3.3333333333333335% 4.375% 3.3333333333333335% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="event-planning"] .service-art img.state-hover { inset: -20.16807px auto auto -21.17648px !important; width: 127.56305px !important; height: auto !important; filter: none !important; clip-path: none !important; }
  html body.home main section.services#services .service-tab[data-slug="event-planning"] .service-art img.state-active { inset: -3.00731px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(3.7037037037037037% 3.8461538461538463% 5.555555555555555% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="event-management"] .service-art img.state-normal { inset: -3.52941px auto auto -3.02521px !important; width: 90.75632px !important; height: auto !important; filter: none !important; clip-path: inset(4.375% 3.3333333333333335% 4.375% 3.3333333333333335% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="event-management"] .service-art img.state-hover { inset: -20.16807px auto auto -21.17648px !important; width: 127.56305px !important; height: auto !important; filter: none !important; clip-path: none !important; }
  html body.home main section.services#services .service-tab[data-slug="event-management"] .service-art img.state-active { inset: -3.00731px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(3.7037037037037037% 3.8461538461538463% 5.555555555555555% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="event-styling"] .service-art img.state-normal { inset: -3.50853px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(4.294478527607362% 3.8461538461538463% 6.134969325153374% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="event-styling"] .service-art img.state-hover { inset: -20.16807px auto auto -21.17648px !important; width: 127.56305px !important; height: auto !important; filter: none !important; clip-path: none !important; }
  html body.home main section.services#services .service-tab[data-slug="event-styling"] .service-art img.state-active { inset: -3.00731px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(3.7037037037037037% 3.8461538461538463% 5.555555555555555% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="decor-furniture"] .service-art img.state-normal { inset: -3.50853px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(4.294478527607362% 3.8461538461538463% 6.134969325153374% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="decor-furniture"] .service-art img.state-hover { inset: -20.16807px auto auto -21.17648px !important; width: 127.56305px !important; height: auto !important; filter: none !important; clip-path: none !important; }
  html body.home main section.services#services .service-tab[data-slug="decor-furniture"] .service-art img.state-active { inset: -3.00731px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(3.7037037037037037% 3.8461538461538463% 5.555555555555555% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="dry-hire"] .service-art img.state-normal { inset: -3.50853px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(4.294478527607362% 3.8461538461538463% 6.134969325153374% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="dry-hire"] .service-art img.state-hover { inset: -20.16807px auto auto -21.17648px !important; width: 127.56305px !important; height: auto !important; filter: none !important; clip-path: none !important; }
  html body.home main section.services#services .service-tab[data-slug="dry-hire"] .service-art img.state-active { inset: -3.00731px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(3.7037037037037037% 3.8461538461538463% 5.555555555555555% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="staffing"] .service-art img.state-normal { inset: -3.50853px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(4.294478527607362% 3.8461538461538463% 6.134969325153374% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="staffing"] .service-art img.state-hover { inset: -20.16807px auto auto -21.17648px !important; width: 127.56305px !important; height: auto !important; filter: none !important; clip-path: none !important; }
  html body.home main section.services#services .service-tab[data-slug="staffing"] .service-art img.state-active { inset: -3.00731px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(3.7037037037037037% 3.8461538461538463% 5.555555555555555% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="catering"] .service-art img.state-normal { inset: -3.50853px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(4.294478527607362% 3.8461538461538463% 6.134969325153374% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="catering"] .service-art img.state-hover { inset: -20.16807px auto auto -21.17648px !important; width: 127.56305px !important; height: auto !important; filter: none !important; clip-path: none !important; }
  html body.home main section.services#services .service-tab[data-slug="catering"] .service-art img.state-active { inset: -6.55462px auto auto -6.05042px !important; width: 96.80674px !important; height: auto !important; filter: none !important; clip-path: inset(7.558139534883721% 6.25% 7.558139534883721% 6.25% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="floral-centerpieces"] .service-art img.state-normal { inset: -3.50853px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(4.294478527607362% 3.8461538461538463% 6.134969325153374% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="floral-centerpieces"] .service-art img.state-hover { inset: -20.16807px auto auto -21.17648px !important; width: 127.56305px !important; height: auto !important; filter: none !important; clip-path: none !important; }
  html body.home main section.services#services .service-tab[data-slug="floral-centerpieces"] .service-art img.state-active { inset: -3.00731px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(3.7037037037037037% 3.8461538461538463% 5.555555555555555% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="backdrops-arches"] .service-art img.state-normal { inset: -3.50853px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(4.294478527607362% 3.8461538461538463% 6.134969325153374% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="backdrops-arches"] .service-art img.state-hover { inset: -20.16807px auto auto -21.17648px !important; width: 127.56305px !important; height: auto !important; filter: none !important; clip-path: none !important; }
  html body.home main section.services#services .service-tab[data-slug="backdrops-arches"] .service-art img.state-active { inset: -3.00731px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(3.7037037037037037% 3.8461538461538463% 5.555555555555555% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="entertainment"] .service-art img.state-normal { inset: -3.50853px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(4.294478527607362% 3.8461538461538463% 6.134969325153374% 3.2967032967032965% round 17px) !important; }
  html body.home main section.services#services .service-tab[data-slug="entertainment"] .service-art img.state-hover { inset: -20.16807px auto auto -21.17648px !important; width: 127.56305px !important; height: auto !important; filter: none !important; clip-path: none !important; }
  html body.home main section.services#services .service-tab[data-slug="entertainment"] .service-art img.state-active { inset: -3.00731px auto auto -3.00731px !important; width: 91.22174px !important; height: auto !important; filter: none !important; clip-path: inset(3.7037037037037037% 3.8461538461538463% 5.555555555555555% 3.2967032967032965% round 17px) !important; }
}
@media(max-width: 980px) {
  html body.home main section.services#services .service-tab[data-slug="event-planning"] .service-art img, html body.home main section.services#services [data-service-slide="event-planning"] .toc-service-mobile-icon img { inset: -3.5502958579881656% auto auto -3.5502958579881656% !important; width: 107.6923076923077% !important; height: auto !important; }
  html body.home main section.services#services .service-tab[data-slug="event-management"] .service-art img, html body.home main section.services#services [data-service-slide="event-management"] .toc-service-mobile-icon img { inset: -3.5502958579881656% auto auto -3.5502958579881656% !important; width: 107.6923076923077% !important; height: auto !important; }
  html body.home main section.services#services .service-tab[data-slug="event-styling"] .service-art img, html body.home main section.services#services [data-service-slide="event-styling"] .toc-service-mobile-icon img { inset: -3.5502958579881656% auto auto -3.5502958579881656% !important; width: 107.6923076923077% !important; height: auto !important; }
  html body.home main section.services#services .service-tab[data-slug="decor-furniture"] .service-art img, html body.home main section.services#services [data-service-slide="decor-furniture"] .toc-service-mobile-icon img { inset: -3.5502958579881656% auto auto -3.5502958579881656% !important; width: 107.6923076923077% !important; height: auto !important; }
  html body.home main section.services#services .service-tab[data-slug="dry-hire"] .service-art img, html body.home main section.services#services [data-service-slide="dry-hire"] .toc-service-mobile-icon img { inset: -3.5502958579881656% auto auto -3.5502958579881656% !important; width: 107.6923076923077% !important; height: auto !important; }
  html body.home main section.services#services .service-tab[data-slug="staffing"] .service-art img, html body.home main section.services#services [data-service-slide="staffing"] .toc-service-mobile-icon img { inset: -3.5502958579881656% auto auto -3.5502958579881656% !important; width: 107.6923076923077% !important; height: auto !important; }
  html body.home main section.services#services .service-tab[data-slug="catering"] .service-art img, html body.home main section.services#services [data-service-slide="catering"] .toc-service-mobile-icon img { inset: -7.738095238095238% auto auto -7.142857142857143% !important; width: 114.28571428571429% !important; height: auto !important; }
  html body.home main section.services#services .service-tab[data-slug="floral-centerpieces"] .service-art img, html body.home main section.services#services [data-service-slide="floral-centerpieces"] .toc-service-mobile-icon img { inset: -3.5502958579881656% auto auto -3.5502958579881656% !important; width: 107.6923076923077% !important; height: auto !important; }
  html body.home main section.services#services .service-tab[data-slug="backdrops-arches"] .service-art img, html body.home main section.services#services [data-service-slide="backdrops-arches"] .toc-service-mobile-icon img { inset: -3.5502958579881656% auto auto -3.5502958579881656% !important; width: 107.6923076923077% !important; height: auto !important; }
  html body.home main section.services#services .service-tab[data-slug="entertainment"] .service-art img, html body.home main section.services#services [data-service-slide="entertainment"] .toc-service-mobile-icon img { inset: -3.5502958579881656% auto auto -3.5502958579881656% !important; width: 107.6923076923077% !important; height: auto !important; }
}

/* Staging2 1.0.578: mobile uses only D resting/hover and C selected artwork,
 * with no recolouring or additional shadow. Offsets account for PNG padding.
 * Service-card icons and desktop selector states are intentionally unchanged. */
@media (max-width: 980px) {
  html body.home main section.services#services > .service-tabs > .service-tab:nth-child(n) {
    box-shadow: none !important;
    background: transparent !important;
  }
  html body.home main section.services#services .service-tab[data-slug] .service-art {
    overflow: visible !important;
  }
  html body.home main section.services#services .service-tab[data-slug] .service-art img.state-normal,
  html body.home main section.services#services .service-tab[data-slug] .service-art img.state-hover {
    inset: -4.1667% auto auto -3.5714% !important;
    width: 107.1429% !important;
    height: auto !important;
    object-fit: contain !important;
    filter: none !important;
    clip-path: none !important;
  }
  html body.home main section.services#services .service-tab[data-slug] .service-art img.state-active {
    inset: -3.5502958579881656% auto auto -3.5502958579881656% !important;
    width: 107.6923076923077% !important;
    height: auto !important;
    object-fit: contain !important;
    filter: none !important;
    clip-path: none !important;
  }
  html body.home main section.services#services .service-tab[data-slug="catering"] .service-art img.state-active {
    inset: -7.738095238095238% auto auto -7.142857142857143% !important;
    width: 114.28571428571429% !important;
  }
}

/* Staging2 1.0.568: prevent desktop native controls shrinking within the newsletter form. */
html body footer.site-footer#footer-contact .footer-newsletter form {
  box-sizing: border-box !important; width: 100% !important; min-width: 0 !important;
  max-width: 100% !important; align-items: stretch !important;
  grid-template-columns: minmax(0, 1fr) !important;
}
html body footer.site-footer#footer-contact .footer-newsletter input[type='email'],
html body footer.site-footer#footer-contact .footer-newsletter button {
  box-sizing: border-box !important; width: 100% !important; min-width: 0 !important;
  max-width: none !important; flex: 0 0 auto !important; align-self: stretch !important;
  -webkit-appearance: none !important; appearance: none !important;
  font-family: 'Inter', 'TOC Instrument Sans', sans-serif !important;
  font-weight: 600 !important; line-height: 24px !important;
  padding-top: 0 !important; padding-bottom: 0 !important;
}
html body footer.site-footer#footer-contact .footer-newsletter input[type='email']::placeholder {
  font: inherit !important; letter-spacing: inherit !important; opacity: 1 !important;
}
html body footer.site-footer#footer-contact .footer-newsletter button {
  display: flex !important; align-items: center !important; justify-content: flex-start !important;
}

/* Staging 2: align desktop page copy to the existing header logo track. */
@media (min-width: 1280px) and (max-width: 1919px) {
  html body {
    --toc-page-start: max(16px, calc((100% - clamp(190px, 18vw, 281px) - 552px - clamp(294px, 25vw, 360px) - 2 * clamp(16px, 3.8vw, 80px)) / 2));
  }
}

@media (min-width: 1920px) {
  html body {
    --toc-page-start: max(24px, calc((100% - 1409px) / 2));
  }
}

@media (min-width: 1280px) {
  html body.contact-page main > section.contact-page-section {
    padding-left: var(--toc-page-start) !important;
  }

  html body.contact-page main .contact-wrap {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body.mood-boards-page main .mood-boards-hero {
    padding-left: var(--toc-page-start) !important;
  }

  html body.mood-boards-page main .mood-boards-hero-copy {
    width: min(760px, 100%) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (min-width: 1280px) {
  html body.about-page main .about-hero .page-hero-copy {
    left: var(--toc-page-start) !important;
  }

  html body.about-page main section.about-content-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html body.about-page main section.about-content-section > .about-row.about-row-top,
  html body.about-page main section.about-content-section > .about-row.about-row-bottom {
    width: min(1585px, calc(100% - var(--toc-page-start) - 72px)) !important;
    max-width: 1585px !important;
    margin-left: var(--toc-page-start) !important;
    margin-right: 0 !important;
  }
}

/* Only the desktop service-card body text increases; mobile and headings retain their sizes. */
@media (min-width: 981px) {
  html body.home main section.services#services .toc-service-review__description,
  html body.home main section.services#services .toc-service-review__bullets,
  html body.home main section.services#services .toc-service-review__caterer {
    font-size: 14px !important;
  }

  html body.home main section.services#services .toc-service-review__description,
  html body.home main section.services#services .toc-service-review__caterer {
    line-height: 1.25 !important;
  }
}

/* Supplied large-screen Services typography and 910px card frame. */
@media (min-width: 981px) {
  html body.home main section.start-strip > .start-copy {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }
  html body.home main section.services#services > h2 {
    font-size: 35px !important;
    line-height: 1.15 !important;
  }
  html body.home main section.services#services > .service-selector-subtitle {
    font-size: 16px !important;
  }
  html body.home main section.services#services > .toc-service-review {
    width: min(910px, calc(100vw - 40px)) !important;
  }
  html body.home main section.services#services .toc-service-review__card {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-height: 359.66px !important;
    height: auto !important;
    padding: 45px 20px !important;
    gap: 25px !important;
  }
  html body.home main section.services#services .toc-service-review__icon {
    flex: 0 0 300px !important;
    width: 300px !important;
    height: 269.66px !important;
    align-self: flex-start !important;
  }
  html body.home main section.services#services .toc-service-review__icon img {
    width: 300px !important;
    height: 331px !important;
  }
  html body.home main section.services#services .toc-service-review__heading {
    font-size: 35px !important;
  }
  html body.home main section.services#services .toc-service-review__description,
  html body.home main section.services#services .toc-service-review__caterer {
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
  html body.home main section.services#services .toc-service-review__bullets {
    font-size: 18px !important;
  }
}

/* Mobile Services: restore the compact black card layout with live text.
 * Keep the one-card carousel and pagination; tablet and desktop are unchanged. */
html body.home main section.services#services .toc-service-compact-icon {
  display: none !important;
}
@media (max-width: 520px) {
  html body.home main section.services#services > .service-tabs {
    display: none !important;
  }
  html body.home main section.services#services > .toc-service-review {
    width: min(350px, calc(100vw - 40px)) !important;
    margin-top: 20px !important;
    gap: 12px !important;
  }
  html body.home main section.services#services .toc-service-review__viewport,
  html body.home main section.services#services .toc-service-review__track {
    width: 100% !important;
  }
  html body.home main section.services#services .toc-service-review__viewport {
    overflow: hidden !important;
  }
  html body.home main section.services#services .toc-service-review__card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    flex: 0 0 100% !important;
    height: auto !important;
    min-height: 350px !important;
    padding: 25px 24px 130px !important;
    gap: 14px !important;
    border-radius: 15px !important;
    overflow: hidden !important;
  }
  html body.home main section.services#services .toc-service-mobile-header {
    display: contents !important;
  }
  html body.home main section.services#services .toc-service-mobile-heading {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    font-style: italic !important;
    font-synthesis: style !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
  }
  html body.home main section.services#services .toc-service-mobile-icon {
    display: none !important;
  }
  html body.home main section.services#services .toc-service-compact-icon {
    position: absolute !important;
    inset: auto 22px 18px auto !important;
    display: block !important;
    width: 95px !important;
    height: 90px !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    filter: none !important;
    object-fit: contain !important;
    transform: none !important;
  }
  html body.home main section.services#services .toc-service-review__content {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.home main section.services#services .toc-service-review__text-outer,
  html body.home main section.services#services .toc-service-review__text-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 14px !important;
    border-radius: 0 !important;
  }
  html body.home main section.services#services .toc-service-review__description {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.28 !important;
  }
  html body.home main section.services#services .toc-service-review__bullets {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding-left: 18px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
  }
  html body.home main section.services#services .toc-service-review__caterer {
    display: none !important;
  }
}

/* The supplied 1920px help-strip frame is 106px high (31px top, 30px bottom).
 * Use a minimum so zoomed or wrapped content can still expand safely. */
@media (min-width: 981px) {
  html body.home main section.start-strip {
    box-sizing: border-box !important;
    min-height: 106px !important;
    padding: 31px 80px 30px !important;
  }
}

/* Supplied desktop Services frame: one consistent 910 x 359.66px card.
 * Text rows follow the 72 / 32 / 92 / 28.66px Figma layout with 15px gaps. */
@font-face {
  font-family: 'TOC Card Instrument Sans';
  src: url('../services/card-review-v558/InstrumentSans-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@media (min-width: 981px) {
  html body.home main section.services#services .toc-service-review__card {
    min-height: 359.66px !important;
    height: auto !important;
  }
  html body.home main section.services#services .toc-service-review__content,
  html body.home main section.services#services [data-service-slide="event-planning"] .toc-service-review__content {
    grid-template-rows: 72px minmax(32px, auto) minmax(92px, auto) 28.66px !important;
    gap: 15px !important;
  }
  html body.home main section.services#services .toc-service-review__heading {
    font-family: 'TOC Card Instrument Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 35px !important;
    line-height: 1 !important;
  }
  html body.home main section.services#services .toc-service-review__description {
    font-size: 16px !important;
    line-height: 1 !important;
  }
  html body.home main section.services#services .toc-service-review__bullets {
    min-height: 92px !important;
    font-size: 18px !important;
    line-height: 23px !important;
  }
  html body.home main section.services#services .toc-service-review__caterer {
    display: none !important;
  }
}

/* Supplied mobile Services frame and 2x transparent icon exports. */
@font-face {
  font-family: 'TOC Mobile Service Inter';
  src: url('../fonts/mobile-services-r5/Inter-Variable-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
}
@font-face {
  font-family: 'TOC Mobile Service Instrument';
  src: url('../fonts/mobile-services-r5/InstrumentSans-MediumItalic-latin.woff2') format('woff2');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
}
html body.home main section.services#services .toc-service-mobile-break {
  display: none;
}
@media (max-width: 520px) {
  html body.home main section.start-strip {
    box-sizing: border-box !important;
    min-height: 164px !important;
    height: auto !important;
    padding: 10px 28px !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 14px !important;
  }
  html body.home main section.start-strip > .start-copy {
    width: 100% !important;
    flex: 0 0 auto !important;
  }
  html body.home main section.start-strip > a {
    width: 100% !important;
    height: 58px !important;
    min-height: 58px !important;
    flex: 0 0 auto !important;
  }
  html body.home main section.services#services {
    padding-bottom: 64px !important;
  }
  /* Keep the existing two-row service selector above the mobile card. */
  html body.home main section.services#services > .service-tabs {
    display: grid !important;
  }
  html body.home main section.services#services > .toc-service-review {
    width: min(393px, calc(100vw - 20px)) !important;
    gap: 5px !important;
  }
  html body.home main section.services#services .toc-service-review__track {
    gap: 20px !important;
  }
  html body.home main section.services#services .toc-service-review__card {
    position: relative !important;
    isolation: isolate !important;
    min-height: 505.16px !important;
    height: auto !important;
    padding: 45px 25.5px 0 !important;
    gap: 25px !important;
    border-radius: 20px !important;
    background: transparent !important;
    overflow: visible !important;
  }
  html body.home main section.services#services .toc-service-review__card::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 0 15px 0 !important;
    z-index: -1 !important;
    border-radius: 20px !important;
    background: #000 !important;
    pointer-events: none !important;
  }
  html body.home main section.services#services .toc-service-mobile-header {
    order: 0 !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 86px !important;
  }
  html body.home main section.services#services .toc-service-mobile-heading {
    width: 100% !important;
    min-height: 86px !important;
    font-family: 'TOC Mobile Service Instrument', sans-serif !important;
    font-size: clamp(34px, 10.4vw, 43px) !important;
    font-weight: 500 !important;
    font-style: italic !important;
    font-synthesis: none !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    overflow-wrap: normal !important;
  }
  html body.home main section.services#services .toc-service-mobile-break {
    display: initial !important;
  }
  html body.home main section.services#services .toc-service-review__content {
    order: 1 !important;
    flex: 0 0 auto !important;
  }
  html body.home main section.services#services .toc-service-review__text-outer {
    display: contents !important;
  }
  html body.home main section.services#services .toc-service-review__text-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
  }
  html body.home main section.services#services .toc-service-review__description {
    min-height: 55px !important;
    font-family: 'TOC Mobile Service Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
  }
  html body.home main section.services#services .toc-service-review__bullets {
    min-height: 84px !important;
    padding-left: 20px !important;
    font-family: 'TOC Mobile Service Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: 1px !important;
  }
  html body.home main section.services#services .toc-service-compact-icon {
    order: 2 !important;
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    flex: 0 0 auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 342 / 160 !important;
    margin: 0 !important;
    object-fit: contain !important;
  }
}

/* Staging 2 header Quick Form CTA: 0.3s white/blue states and Figma outlined interaction. */
@keyframes toc-header-cta-quick-flash {
  0%, 49.999% { --toc-header-cta-pulse: #fff; }
  50%, 100% { --toc-header-cta-pulse: #7eb7ce; }
}

html body[class] .site-header .header-cta {
  --toc-header-cta-pulse: #fff;
  background: var(--toc-header-cta-pulse) !important;
  border: 1px solid var(--toc-header-cta-pulse) !important;
  animation: toc-header-cta-quick-flash .6s steps(1, end) infinite !important;
}

@media (min-width: 981px) {
  html body[class] .site-header .header-cta {
    box-sizing: border-box !important;
    width: 153.41px !important;
    min-width: 153.41px !important;
    max-width: 153.41px !important;
    height: 45px !important;
    min-height: 45px !important;
    max-height: 45px !important;
    padding: 8.65px 15px !important;
    gap: 8.65px !important;
    border-radius: 8.65px !important;
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 17.65px !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }

  html body[class] .site-header .header-cta-text {
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 17.65px !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
  }

  html body[class] .site-header .header-cta::before {
    flex: 0 0 19px !important;
    width: 19px !important;
    height: 19px !important;
  }
}

@media (hover: hover) and (pointer: fine) {
  html body[class] .site-header .header-cta:hover {
    animation: none !important;
    color: #fff !important;
    background: transparent !important;
    border-color: #fff !important;
    box-shadow: none !important;
  }
}

html body[class] .site-header .header-cta:focus-visible,
html body[class] .site-header .header-cta:active {
  animation: none !important;
  color: #fff !important;
  background: transparent !important;
  border-color: #fff !important;
  box-shadow: none !important;
}

html body[class] .site-header .header-cta:focus-visible {
  outline: 2px solid #7eb7ce !important;
  outline-offset: 2px !important;
}

html body[class] .site-header .header-cta:hover .header-cta-text,
html body[class] .site-header .header-cta:focus-visible .header-cta-text,
html body[class] .site-header .header-cta:active .header-cta-text {
  color: #fff !important;
}

html body[class] .site-header .header-cta:hover::before,
html body[class] .site-header .header-cta:focus-visible::before,
html body[class] .site-header .header-cta:active::before,
html body[class] .site-header .header-cta:hover .header-cta-mobile,
html body[class] .site-header .header-cta:focus-visible .header-cta-mobile,
html body[class] .site-header .header-cta:active .header-cta-mobile {
  filter: invert(1) !important;
}

@media (prefers-reduced-motion: reduce) {
  html body[class] .site-header .header-cta {
    --toc-header-cta-pulse: #7eb7ce;
    background: #7eb7ce !important;
    border-color: #7eb7ce !important;
    animation: none !important;
  }
}

/* Hold the outlined active state while its Quick Form popup is open. */
html body[class].toc-qf-modal-open .site-header .header-cta {
  --toc-header-cta-pulse: #fff !important;
  color: #fff !important;
  background: transparent !important;
  border-color: #fff !important;
  box-shadow: none !important;
  animation: none !important;
}

html body[class].toc-qf-modal-open .site-header .header-cta .header-cta-text {
  color: #fff !important;
}

html body[class].toc-qf-modal-open .site-header .header-cta::before,
html body[class].toc-qf-modal-open .site-header .header-cta .header-cta-mobile {
  filter: invert(1) !important;
}

/* Touch hover may persist after navigation; only aria-current gets the white row. */
@media (max-width: 980px) and (hover: none) {
  html body[class].menu-open .site-header .main-nav a:not([aria-current='page']),
  html body[class].admin-bar.menu-open .site-header .main-nav a:not([aria-current='page']) {
    color: #fff !important;
    background: #000 !important;
  }

  html body[class].menu-open .site-header .main-nav a:focus-visible,
  html body[class].admin-bar.menu-open .site-header .main-nav a:focus-visible {
    outline: 2px solid #7eb7ce !important;
    outline-offset: -4px !important;
  }
}

/* Closing the popup restores pointer focus to the CTA; resume its idle flash. */
@media (prefers-reduced-motion: no-preference) {
  html body:not(.toc-qf-modal-open) .site-header .header-cta:focus:not(:focus-visible):not(:hover) {
    --toc-header-cta-pulse: #fff;
    background: var(--toc-header-cta-pulse) !important;
    border-color: var(--toc-header-cta-pulse) !important;
    animation: toc-header-cta-quick-flash .6s steps(1, end) infinite !important;
  }
}

/* 2026-10-05: full-size desktop hero, visible above-fold enquiry strip. */
@media (min-width: 981px) {
  html body.home main > section.hero {
    aspect-ratio: auto !important;
    height: max(320px, min(50.2777778vw, calc(100svh - 120px))) !important;
    min-height: max(320px, min(50.2777778vw, calc(100svh - 120px))) !important;
    max-height: max(320px, min(50.2777778vw, calc(100svh - 120px))) !important;
  }
  html body.home main > section.hero > .hero-card {
    top: calc(50% - clamp(36px, 3.75vw, 72px)) !important;
  }
}
