﻿/* Homepage conversion from approved locked static mockup v3. Enqueued on front page only. */
:root {
  --ink: #171717;
  --ink-2: #2f2f2f;
  --copy: #4a4a4a;
  --cream: #f7f7f5;
  --cream-2: #f4f2ec;
  --white: #ffffff;
  --dark: #07111d;
  --dark-2: #030507;
  --gold: #f5c16c;
  --gold-strong: #b58a20;
  --amber: #f0a500;
  --red: #d83a2f;
  --green: #2dbb7d;
  --risk: #d84949;
  --line: rgba(23,23,23,0.12);
  --line-gold: rgba(181,138,32,0.25);
  --shadow-soft: 0 24px 60px rgba(0,0,0,0.09);
  --shadow-card: 0 18px 45px rgba(17,17,17,0.08);
  --radius: 8px;
  --radius-lg: 26px;
  --font-body: "Manrope", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --font-heading: "Manrope", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--font-body);
  line-height: 1.5;
  overflow-x: hidden;
  padding-top: 165px;
}
body.anzsbs-theme {
  margin: 0;
}
body.anzsbs-theme .site-main {
  margin-top: 0;
}
body.anzsbs-theme .site-main > :first-child {
  margin-top: 0;
}
button,
input,
select,
textarea {
  font-family: var(--font-body);
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin-top: 0; }
.page { overflow: hidden; background: var(--cream); }
.nowrap { white-space: nowrap; }

.eyebrow,
.card-label,
.service-kicker,
.sc-supply-card__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1rem;
  color: #8a6a13;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.eyebrow::before {
  content: none;
  display: none;
}
h1, h2, h3,
.services-section .section-heading h2,
.sc-product-supply h2,
.sc-enquiry-section__copy h2 {
  color: var(--ink);
  font-family: var(--font-heading);
  font-weight: 900;
  letter-spacing: -0.045em;
  text-wrap: balance;
}
h1 {
  max-width: 820px;
  margin-bottom: 1.15rem;
  font-size: clamp(2.6rem, 5.4vw, 5.1rem);
  line-height: 0.96;
}
h2,
.services-section .section-heading h2,
.sc-product-supply h2,
.sc-enquiry-section__copy h2 {
  margin-bottom: 1rem;
  font-size: clamp(2.1rem, 4vw, 3.55rem);
  line-height: 1.02;
}
h3 {
  margin-bottom: 0.65rem;
  color: var(--ink);
  font-size: 1.14rem;
  line-height: 1.16;
}

.button {
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.86rem 1.12rem;
  overflow: hidden;
  border-radius: 999px;
  font-weight: 850;
  isolation: isolate;
}
.button-secondary {
  border: 1px solid rgba(23,23,23,0.16);
  color: var(--ink);
  background: rgba(255,255,255,0.76);
  box-shadow: 0 12px 28px rgba(0,0,0,0.05);
}
.button-primary,
.sc-enquiry-form__button,
.sc-footer__form button,
button.button-primary,
a.button-primary {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  color: #15110a !important;
  background: linear-gradient(135deg, #ffd16a 0%, #f4a900 100%) !important;
  border: 0 !important;
  box-shadow: 0 14px 34px rgba(244,169,0,0.20), inset 0 1px 0 rgba(255,255,255,0.32) !important;
  transform: translateY(0) !important;
  transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease !important;
}
.button-primary::before,
.sc-enquiry-form__button::before,
.sc-footer__form button::before,
button.button-primary::before,
a.button-primary::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  background: linear-gradient(115deg, transparent 0%, transparent 32%, rgba(255,255,255,0.55) 46%, transparent 60%, transparent 100%) !important;
  transform: translateX(-135%) !important;
  transition: transform 650ms ease !important;
}
.button-primary:hover,
.sc-enquiry-form__button:hover,
.sc-footer__form button:hover,
button.button-primary:hover,
a.button-primary:hover {
  transform: translateY(-3px) !important;
  filter: brightness(1.04) !important;
  box-shadow: 0 20px 44px rgba(244,169,0,0.30), inset 0 1px 0 rgba(255,255,255,0.38) !important;
}
.button-primary:hover::before,
.sc-enquiry-form__button:hover::before,
.sc-footer__form button:hover::before,
button.button-primary:hover::before,
a.button-primary:hover::before { transform: translateX(135%) !important; }
.button-primary:active,
.sc-enquiry-form__button:active,
.sc-footer__form button:active,
button.button-primary:active,
a.button-primary:active { transform: translateY(-1px) !important; }

.sc-parallax-hero {
  position: relative;
  min-height: calc(100vh + var(--hero-foreground-travel, 620px) + var(--hero-dwell-distance, 220px) + var(--hero-release-distance, 76vh));
  --hero-progress: 0;
  --hero-bg-y: 0px;
  --hero-bg-scale: 1;
  --hero-fg-y: 460px;
  --hero-bg-stage-y: 0px;
  --hero-foreground-stage-y: 0px;
  --hero-foreground-travel: 1240px;
  --hero-dwell-distance: 340px;
  --hero-dim-opacity: 0.56;
  --hero-release-distance: 76vh;
  background:
    radial-gradient(circle at 16% 78%, rgba(245,193,108,0.16), transparent 30rem),
    linear-gradient(180deg, #030507 0%, #07111d 72%, #030507 100%);
  overflow: visible;
}
.hero-sticky-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 0;
  height: calc(100vh + var(--hero-release-distance, 76vh));
  overflow: hidden;
  background: #111;
  transform: translate3d(0, var(--hero-bg-stage-y), 0);
  will-change: transform;
}
.hero-bg-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.98) contrast(1.02) brightness(0.96);
  transform: translate3d(0, var(--hero-bg-y), 0) scale(var(--hero-bg-scale));
  transform-origin: center;
  will-change: transform;
}
.hero-bg-dim {
  position: absolute;
  inset: 0;
  opacity: var(--hero-dim-opacity);
  background:
    linear-gradient(90deg, rgba(0,0,0,0.54) 0%, rgba(0,0,0,0.36) 42%, rgba(0,0,0,0.16) 70%, rgba(0,0,0,0.30) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.18) 100%);
  transition: opacity 120ms linear;
}
.hero-scroll-track {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  height: 100vh;
  min-height: 100vh;
  margin-top: 0;
  overflow: visible;
  transform: translate3d(0, var(--hero-foreground-stage-y), 0);
  will-change: transform;
}
.hero-scroll-track::before { display: none; }
.hero-scroll-spacer { height: 36vh; }
.hero-foreground {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(440px, 0.82fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  width: min(1320px, calc(100% - 56px));
  margin: 0 auto;
  transform: translate3d(0, var(--hero-fg-y), 0);
  will-change: transform;
}
.hero-copy-card {
  position: relative;
  z-index: 2;
  max-width: 820px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.hero-copy-card .eyebrow {
  color: rgba(255,255,255,0.88);
  text-shadow: 0 2px 18px rgba(0,0,0,0.42);
}
.hero-copy-card h1 {
  color: #fffaf0;
  text-shadow: 0 3px 26px rgba(0,0,0,0.46);
}
.hero-copy-card .lead {
  max-width: 700px;
  color: rgba(255,255,255,0.88);
  font-size: clamp(1.04rem,1.25vw,1.2rem);
  line-height: 1.7;
  text-shadow: 0 2px 18px rgba(0,0,0,0.36);
}
.trust-line {
  max-width: 680px;
  margin: 1.3rem 0 1.6rem;
  padding-left: 1rem;
  border-left: 4px solid var(--gold-strong);
  color: rgba(255,255,255,0.94);
  font-weight: 760;
  text-shadow: 0 2px 18px rgba(0,0,0,0.36);
}

@media (min-width: 761px) {
  .hero-copy-card .lead {
    max-width: 700px;
    margin: 0;
    padding: 20px 22px 0;
    border: 1px solid rgba(255,255,255,0.16);
    border-bottom: 0;
    border-radius: 22px 22px 0 0;
    color: rgba(255,255,255,0.93);
    background: rgba(3,5,7,0.56);
    box-shadow: 0 22px 54px rgba(0,0,0,0.24);
    backdrop-filter: blur(4px);
  }

  .trust-line {
    position: relative;
    max-width: 700px;
    margin: 0 0 1.6rem;
    padding: 1rem 22px 20px 42px;
    border: 1px solid rgba(255,255,255,0.16);
    border-top: 0;
    border-left: 1px solid rgba(255,255,255,0.16);
    border-radius: 0 0 22px 22px;
    color: rgba(255,255,255,0.96);
    background: rgba(3,5,7,0.56);
    box-shadow: 0 22px 54px rgba(0,0,0,0.24);
    backdrop-filter: blur(4px);
  }

  .trust-line::before {
    position: absolute;
    top: 1.2rem;
    bottom: 20px;
    left: 22px;
    width: 4px;
    border-radius: 999px;
    background: var(--gold-strong);
    content: "";
  }
}
.actions { display: flex; flex-wrap: wrap; gap: 0.85rem; margin-bottom: 1.35rem; }
.trust-chips { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.trust-chips span {
  padding: 0.52rem 0.78rem;
  border: 1px solid rgba(255,255,255,0.32);
  border-radius: 999px;
  color: rgba(255,255,255,0.92);
  background: rgba(10,10,10,0.26);
  box-shadow: 0 10px 24px rgba(0,0,0,0.14);
  font-size: 0.84rem;
  font-weight: 720;
}
.control-module {
  position: relative;
  overflow: visible;
  min-height: 560px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.control-module::before { display: none; }
.image-stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.62);
  border-radius: 14px;
  background: transparent;
}
.image-stage img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(0.98) contrast(1.02) brightness(1.02); }
.image-mask { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,0.18), transparent 48%, rgba(0,0,0,0.10)), linear-gradient(0deg, rgba(0,0,0,0.24), transparent 55%); }
.route-map { position: absolute; inset: 0; width: 100%; height: 100%; }
.route-shadow, .route-line { fill: none; stroke-linecap: round; }
.route-shadow { stroke-width: 17; opacity: 0.20; filter: url("#routeGlow"); }
.route-line { stroke-width: 4; stroke-dasharray: 13 18; opacity: 0.9; animation: routeFlow 12s linear infinite; filter: url("#routeGlow"); }
.route-shanghai .route-shadow { stroke: rgba(245,193,108,0.55); }
.route-shanghai .route-line { stroke: rgba(245,193,108,0.95); }
.route-hong-kong .route-shadow { stroke: rgba(216,58,47,0.45); }
.route-hong-kong .route-line { stroke: rgba(216,58,47,0.86); }
.route-node { fill: #fff; stroke: rgba(181,138,32,0.92); stroke-width: 3; filter: drop-shadow(0 0 12px rgba(245,193,108,0.72)); }
.node-hong-kong { stroke: rgba(216,58,47,0.95); filter: drop-shadow(0 0 12px rgba(216,58,47,0.55)); }
.check { flex: 0 0 auto; width: 10px; height: 10px; border-radius: 999px; box-shadow: 0 0 18px currentColor; }
.check-green { color: var(--green); background: var(--green); }
.check-amber { color: var(--amber); background: var(--amber); }
.check-red { color: var(--risk); background: var(--risk); }

.sc-secondary-parallax {
  position: relative;
  min-height: clamp(900px,94vh,960px);
  background:
    radial-gradient(circle at 18% 4%, rgba(245,193,108,0.14), transparent 30rem),
    linear-gradient(180deg, #f6f2e8 0%, #ece5d7 52%, #e4dccd 100%);
  overflow: hidden;
  margin-top: clamp(-720px, -62vh, -500px);
  margin-bottom: 0;
}
.secondary-sticky-bg {
  display: none;
}
.secondary-bg-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  filter: saturate(1) contrast(1.02) brightness(0.98);
  transform: none;
}
.secondary-bg-dim {
  position: absolute;
  inset: 0;
  display: none;
  opacity: 0;
  background:
    linear-gradient(180deg, rgba(7,17,29,0.46) 0%, rgba(7,17,29,0.16) 42%, rgba(7,17,29,0.04) 72%, rgba(7,17,29,0.16) 100%),
    linear-gradient(90deg, rgba(3,5,7,0.22) 0%, rgba(3,5,7,0.04) 58%, rgba(3,5,7,0.18) 100%);
}
.secondary-scroll-track {
  position: relative;
  z-index: 2;
  min-height: auto;
  margin-top: 0;
  padding: clamp(64px,7vw,96px) 0 clamp(68px,7.4vw,104px);
  background:
    radial-gradient(circle at 16% 0%, rgba(245,193,108,0.18), transparent 25rem),
    radial-gradient(circle at 82% 64%, rgba(7,17,29,0.08), transparent 28rem),
    linear-gradient(180deg, rgba(255,255,255,0.70) 0%, rgba(244,240,231,0.92) 48%, rgba(230,222,208,0.84) 100%);
}
.secondary-scroll-spacer { height: 0; min-height: 0; }
.supplier-section {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(2rem,4vw,4rem);
  align-items: stretch;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 0;
}
.sc-secondary-parallax .supplier-section { position: relative; z-index: 2; transform: none !important; will-change: auto; }
.section-copy {
  width: 100%;
  padding: clamp(1.6rem,2.6vw,2.35rem);
  border: 1px solid rgba(23,23,23,0.10);
  border-radius: 26px;
  background: rgba(255,255,255,0.88);
  box-shadow: var(--shadow-soft);
}
.section-copy p,
.section-heading p,
.service-card p,
.sc-supply-card p { color: var(--copy); line-height: 1.68; }
.premium-list { display: grid; gap: 0.75rem; margin: 1.5rem 0; padding: 0; list-style: none; }
.premium-list li { position: relative; padding-left: 1.3rem; color: var(--ink-2); }
.premium-list li::before { position: absolute; left: 0; top: 0.62em; width: 8px; height: 8px; border-radius: 999px; background: var(--gold-strong); content: ""; }
.verification-board {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: clamp(1.15rem,1.7vw,1.45rem);
  border: 1px solid rgba(23,23,23,0.10);
  border-radius: 26px;
  background: rgba(255,255,255,0.92);
  box-shadow: var(--shadow-soft);
}
.verification-board::before { position: absolute; inset: 0; content: ""; background-image: linear-gradient(rgba(181,138,32,0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(181,138,32,0.08) 1px, transparent 1px); background-size: 36px 36px; opacity: 0.32; pointer-events: none; }
.document-strip { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(210px,0.86fr) minmax(0,1fr); gap: 1.15rem; align-items: center; min-height: 168px; margin-bottom: 1rem; padding: 0.85rem; border: 1px solid rgba(23,23,23,0.10); border-radius: 20px; background: #fff; box-shadow: 0 18px 42px rgba(23,23,23,0.06); }
.document-strip img { width: 100%; height: 148px; object-fit: cover; object-position: 58% center; border-radius: 16px; filter: saturate(0.98) contrast(1.04); }
.document-strip .card-label { display: inline-block; margin-bottom: 0.42rem; font-size: 0.84rem; letter-spacing: 0.06em; }
.document-strip strong { display: block; color: var(--ink); font-size: clamp(1.45rem,2vw,1.68rem); line-height: 1.08; }
.document-strip p { margin: 0.55rem 0 0; color: var(--copy); font-size: 0.98rem; line-height: 1.58; }
.summary-row { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0.82rem; margin-bottom: 1rem; }
.summary-row article,
.checklist li { border: 1px solid rgba(23,23,23,0.10); border-radius: 18px; background: #fff; }
.summary-row article { display: flex; flex-direction: column; justify-content: center; min-height: 98px; padding: 0.95rem; box-shadow: 0 14px 32px rgba(23,23,23,0.045); }
.summary-row span { display: block; margin-bottom: 0.36rem; color: #7a7468; font-size: 0.82rem; line-height: 1.25; }
.summary-row strong { color: var(--ink); font-size: 1.03rem; line-height: 1.2; }
.checklist { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.checklist li { display: flex; align-items: center; gap: 0.68rem; min-height: 64px; padding: 0.85rem 0.9rem; color: var(--ink-2); font-size: 0.98rem; line-height: 1.28; box-shadow: 0 14px 32px rgba(23,23,23,0.045); animation: reveal 600ms ease both; animation-delay: calc(var(--i) * 58ms); }

.services-section,
.services-section.sc-horizontal-hard-pin {
  position: relative !important;
  width: 100vw !important;
  max-width: none !important;
  min-height: 100vh !important;
  padding: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: clamp(-380px, -22vw, -210px) !important;
  margin-bottom: 0 !important;
  background: var(--cream-2) !important;
  overflow: visible !important;
}
.sc-horizontal-services-stage {
  position: relative !important;
  width: 100vw !important;
  height: 100vh !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: clamp(24px,3.5vh,42px) !important;
  padding: clamp(58px,7vh,92px) 0 clamp(50px,6vh,76px) !important;
  background: #07111d url("../images/about-us-hero.webp") center / cover no-repeat !important;
  z-index: 20 !important;
}
.sc-horizontal-services-stage::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background:
    linear-gradient(90deg, rgba(3,5,7,0.58) 0%, rgba(7,17,29,0.30) 44%, rgba(7,17,29,0.22) 100%),
    linear-gradient(180deg, rgba(3,5,7,0.32) 0%, rgba(7,17,29,0.14) 50%, rgba(3,5,7,0.36) 100%);
  pointer-events: none;
}
.sc-horizontal-services-stage::after {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background: radial-gradient(circle at 12% 8%, rgba(245,193,108,0.16), transparent 30rem);
  pointer-events: none;
}
.sc-horizontal-services-stage > * {
  position: relative !important;
  z-index: 1 !important;
}
.services-section .section-heading {
  position: relative !important;
  width: min(1280px, calc(100vw - 64px)) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0,0.9fr) minmax(320px,0.75fr) !important;
  gap: clamp(24px,5vw,82px) !important;
  align-items: end !important;
  padding: 0 !important;
}
.services-section .section-heading .eyebrow,
.services-section .section-heading h2 { grid-column: 1; }
.services-section .section-heading .eyebrow { color: rgba(255,255,255,0.86) !important; }
.services-section .section-heading .eyebrow::before {
  content: none;
  display: none;
}
.services-section .section-heading h2 { max-width: 720px !important; margin: 0 !important; font-size: clamp(34px,4vw,58px) !important; line-height: 0.98 !important; }
.services-section .section-heading h2 { color: #fffaf0 !important; text-shadow: 0 3px 24px rgba(0,0,0,0.42); }
.services-section .section-heading p:not(.eyebrow) { grid-column: 2; grid-row: 1 / span 2; max-width: 560px !important; margin: 0 !important; color: rgba(255,255,255,0.84) !important; font-size: clamp(14px,1.05vw,18px) !important; line-height: 1.55 !important; text-shadow: 0 2px 18px rgba(0,0,0,0.34); }
.services-section .bento-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: max-content !important;
  max-width: none !important;
  gap: 22px !important;
  margin: 0 !important;
  padding-left: max(24px, calc((100vw - 1280px) / 2)) !important;
  padding-right: max(140px, calc((100vw - 1280px) / 2 + 140px)) !important;
  transition: none !important;
  will-change: transform !important;
  overflow: visible !important;
}
.services-section .service-card {
  position: relative !important;
  flex: 0 0 320px !important;
  width: 320px !important;
  height: 255px !important;
  min-height: 255px !important;
  padding: 24px !important;
  overflow: hidden !important;
  border: 1px solid rgba(23,23,23,0.10) !important;
  border-radius: 26px !important;
  background: #fff !important;
  box-shadow: var(--shadow-card) !important;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease !important;
}
.services-section .service-card::before { position: absolute; inset: 0; content: ""; background: radial-gradient(circle at 86% 8%, rgba(181,138,32,0.13), transparent 12rem); pointer-events: none; }
.services-section .service-card > * { position: relative; z-index: 1; }
.services-section .service-card:hover { transform: translateY(-4px); border-color: rgba(181,138,32,0.30) !important; box-shadow: 0 24px 60px rgba(0,0,0,0.11) !important; }
.services-section .service-card.service-feature { flex: 0 0 470px !important; width: 470px !important; }
.services-section .service-card h3 { margin: 8px 0 12px !important; color: var(--ink); font-size: clamp(22px,1.8vw,30px) !important; line-height: 1.04 !important; letter-spacing: -0.03em; }
.services-section .service-card p { margin: 0; font-size: 15px !important; line-height: 1.48 !important; }
.service-index { position: absolute; top: 0.95rem; right: 1rem; color: rgba(181,138,32,0.22); font-size: 1.65rem; font-weight: 900; line-height: 1; }
.feature-checks,
.feature-parts { border-color: rgba(181,138,32,0.22) !important; }

.sc-product-supply {
  position: relative;
  overflow: hidden;
  margin-top: clamp(-340px, -22vw, -220px);
  padding: clamp(104px,8.5vw,132px) 0 clamp(64px,6vw,90px);
  background: linear-gradient(180deg, var(--cream-2) 0%, #ffffff 46%, var(--cream) 100%);
  border-top: 1px solid rgba(23,23,23,0.07);
}
.sc-product-supply::before { position: absolute; inset: 0; content: ""; background-image: linear-gradient(rgba(181,138,32,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(181,138,32,0.04) 1px, transparent 1px); background-size: 76px 76px; opacity: 0.55; pointer-events: none; }
.sc-product-supply__inner { position: relative; z-index: 1; width: min(1280px, calc(100% - 64px)); margin: 0 auto; }
.sc-product-supply__copy { max-width: 760px; }
.sc-product-supply h2 { max-width: 760px; margin: 0; font-size: clamp(34px,4vw,58px); line-height: 0.98; }
.sc-product-supply__lead { margin: 24px 0 0; color: var(--copy); font-size: clamp(17px,1.28vw,20px); line-height: 1.64; }
.sc-product-supply__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.sc-product-supply__cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-items: stretch; margin-top: 44px; }
.sc-supply-card { position: relative; display: flex; min-height: 310px; height: 100%; flex-direction: column; justify-content: flex-start; padding: 30px; overflow: hidden; border: 1px solid rgba(23,23,23,0.10); border-radius: 24px; background: rgba(255,255,255,0.94); box-shadow: var(--shadow-card); }
.sc-supply-card__index { position: absolute; top: 24px; right: 26px; color: rgba(181,138,32,0.18); font-size: 40px; line-height: 1; font-weight: 900; letter-spacing: -0.06em; }
.sc-supply-card__kicker { display: block; margin: 0 64px 18px 0; color: #8a6a13; }
.sc-supply-card h3 { max-width: 360px; margin: 0 0 16px; color: var(--ink); font-size: clamp(25px,2vw,34px); line-height: 1.05; letter-spacing: -0.04em; font-weight: 900; }
.sc-supply-card p { max-width: 430px; margin: 0; color: var(--copy); font-size: 16px; line-height: 1.56; }

.sc-enquiry-section {
  position: relative;
  overflow: hidden;
  padding: clamp(72px,7vw,104px) 0 clamp(84px,9vw,128px);
  background: radial-gradient(circle at 18% 18%, rgba(181,138,32,0.12), transparent 30%), linear-gradient(180deg, #ffffff 0%, var(--cream-2) 100%);
  border-top: 1px solid rgba(23,23,23,0.08);
}
.sc-enquiry-section__inner { position: relative; z-index: 1; width: min(1280px, calc(100% - 64px)); margin: 0 auto; display: grid; grid-template-columns: minmax(0,0.9fr) minmax(480px,1.1fr); gap: clamp(42px,6vw,96px); align-items: start; }
.sc-enquiry-section__copy h2 { max-width: 760px; margin: 0; font-size: clamp(34px,4vw,58px); line-height: 0.98; }
.sc-enquiry-section__copy p { max-width: 660px; margin: 24px 0 0; color: var(--copy); font-size: clamp(16px,1.18vw,20px); line-height: 1.64; }
.sc-enquiry-section__points { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.sc-enquiry-section__points span { display: inline-flex; align-items: center; min-height: 38px; padding: 8px 13px; color: var(--ink); background: #fff; border: 1px solid rgba(23,23,23,0.10); border-radius: 999px; font-size: 14px; font-weight: 750; box-shadow: 0 12px 24px rgba(0,0,0,0.05); }
.sc-enquiry-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: clamp(22px,3vw,34px); background: #fff; border: 1px solid rgba(23,23,23,0.10); border-radius: 30px; box-shadow: var(--shadow-soft); }
.sc-enquiry-form label { display: grid; gap: 8px; }
.sc-enquiry-form label span { color: var(--ink); font-size: 13px; font-weight: 850; }
.sc-enquiry-form input,
.sc-enquiry-form select,
.sc-enquiry-form textarea { width: 100%; min-height: 48px; padding: 13px 14px; color: var(--ink); background: #f9f8f4; border: 1px solid rgba(23,23,23,0.12); border-radius: 15px; outline: none; font: inherit; }
.sc-enquiry-form select { color: var(--ink) !important; background-color: #f9f8f4 !important; }
.sc-enquiry-form select option { color: var(--ink) !important; background-color: #fff !important; }
.sc-enquiry-form input:focus,
.sc-enquiry-form select:focus,
.sc-enquiry-form textarea:focus { border-color: rgba(181,138,32,0.42); box-shadow: 0 0 0 4px rgba(181,138,32,0.10); }
.sc-enquiry-form textarea { min-height: 138px; resize: vertical; }
.sc-enquiry-form__full,
.sc-enquiry-form__button,
.sc-enquiry-form__note { grid-column: 1 / -1; }
.sc-enquiry-form__button { justify-content: center; width: 100%; min-height: 54px; cursor: pointer; }
.sc-enquiry-form__note { margin: 0; color: #777; font-size: 13px; line-height: 1.45; }

@keyframes routeFlow { to { stroke-dashoffset: -120; } }
@keyframes reveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-height: 820px) and (min-width: 992px) {
  .services-section.sc-horizontal-hard-pin,
  .services-section { margin-top: clamp(-320px, -20vw, -170px) !important; }
  .sc-horizontal-services-stage { padding-top: 34px !important; padding-bottom: 28px !important; gap: 16px !important; }
  .services-section .section-heading h2,
  .sc-product-supply h2 { font-size: clamp(30px,3.35vw,48px) !important; }
  .services-section .service-card,
  .services-section .service-card.service-feature { height: 220px !important; min-height: 220px !important; }
  .sc-product-supply { margin-top: clamp(-300px, -20vw, -190px); padding-top: 98px; padding-bottom: 68px; }
}

@media (max-width: 1100px) {
  .sc-footer__inner { grid-template-columns: 1fr 1fr; }
  .sc-footer__form { grid-column: span 2; }
}

@media (max-width: 1060px) {
  .hero-foreground,
  .supplier-section { grid-template-columns: 1fr; }
  .sc-secondary-parallax { min-height: clamp(1240px,132vh,1380px); }
  .sc-secondary-parallax .secondary-sticky-bg { top: 0; }
  body { padding-top: 132px; }
  .site-header,
  .header-inner { min-height: 132px; }
  .logo-link { width: 176px; height: 104px; }
  .site-nav { gap: 0.9rem 1.35rem; }
  .hero-foreground { align-items: start; padding: 2.25rem 0 3rem; }
  .control-module { min-height: 600px; }
}

@media (max-width: 991px) {
  .sc-secondary-parallax { min-height: auto; }
  .services-section,
  .services-section.sc-horizontal-hard-pin,
  #services.services-section { height: auto !important; min-height: auto !important; margin: 0 !important; padding: 64px 0 70px !important; overflow: hidden !important; background: var(--cream-2) !important; }
  .sc-horizontal-services-stage { position: relative !important; top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; width: 100% !important; height: auto !important; min-height: 0 !important; display: block !important; padding: 0 !important; overflow: visible !important; }
  .services-section .section-heading { width: min(100% - 32px,1280px) !important; display: block !important; margin: 0 auto 26px !important; }
  .services-section .section-heading p:not(.eyebrow) { max-width: 100% !important; margin-top: 18px !important; }
  .services-section .bento-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; width: min(100% - 32px,1280px) !important; margin: 0 auto !important; padding: 0 !important; gap: 16px !important; transform: none !important; overflow: visible !important; }
  .services-section .service-card,
  .services-section .service-card.service-feature { width: 100% !important; flex: none !important; height: auto !important; min-height: 245px !important; }
  .sc-product-supply { margin-top: 0; padding: 72px 0 68px; }
  .sc-product-supply__inner,
  .sc-enquiry-section__inner { width: min(100% - 32px,1280px); display: block; }
  .sc-product-supply__cards { margin-top: 34px; grid-template-columns: 1fr; }
  .sc-supply-card { min-height: 220px; }
  .sc-enquiry-section { padding: 70px 0 84px; }
  .sc-enquiry-form { margin-top: 34px; grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  html, body { overflow-x: hidden !important; }
  body { background: var(--cream) !important; padding-top: 178px !important; }
  .site-header { position: fixed !important; top: 0 !important; right: 0 !important; left: 0 !important; z-index: 2000 !important; width: 100% !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: flex-start !important; gap: 18px !important; padding: 18px !important; margin-bottom: 0 !important; min-height: 0 !important; height: auto !important; background: #030507 !important; text-align: center !important; overflow: visible !important; }
  .header-inner { width: 100% !important; min-height: 0 !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 18px !important; }
  .logo-link { display: block !important; width: 100% !important; max-width: 100% !important; height: auto !important; margin: 0 auto !important; line-height: 0 !important; text-align: center !important; }
  .logo-link img,
  .site-header img { display: block !important; width: 190px !important; max-width: 190px !important; height: auto !important; margin: 0 auto !important; }
  .sc-mobile-menu-toggle { position: relative !important; z-index: 5 !important; display: inline-flex !important; width: 148px !important; min-width: 148px !important; max-width: 148px !important; height: 44px !important; min-height: 44px !important; margin: 18px auto 0 !important; padding: 0 16px !important; align-items: center !important; justify-content: center !important; color: #15110a !important; background: linear-gradient(135deg,#ffd16a 0%,#f4a900 100%) !important; border: 0 !important; border-radius: 14px !important; box-shadow: 0 12px 26px rgba(244,169,0,0.20) !important; font-size: 15px !important; font-weight: 900 !important; line-height: 1 !important; cursor: pointer !important; }
  .site-nav { display: none !important; width: min(100%,286px) !important; margin: 0 auto !important; padding: 10px !important; background: rgba(5,5,7,0.93) !important; border: 1px solid rgba(255,255,255,0.12) !important; border-radius: 16px !important; box-shadow: 0 18px 36px rgba(0,0,0,0.54) !important; }
  body.sc-mobile-menu-open .site-nav { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
  .site-nav a { display: block !important; width: 100% !important; padding: 11px 13px !important; color: rgba(255,255,255,0.88) !important; background: rgba(255,255,255,0.055) !important; border: 1px solid rgba(255,255,255,0.09) !important; border-radius: 12px !important; text-align: center !important; font-size: 14px !important; font-weight: 850 !important; }
  h1 { font-size: clamp(40px,12vw,58px) !important; line-height: 0.98 !important; }
  section h2,
  .section-heading h2,
  .services-section .section-heading h2,
  .sc-product-supply h2,
  .sc-enquiry-section__copy h2 { font-size: 40px !important; line-height: 1.04 !important; max-width: 100% !important; }
  .sc-parallax-hero,
  .sc-secondary-parallax { min-height: auto !important; }
  .hero-sticky-bg,
  .secondary-sticky-bg { position: relative; height: 54vh; min-height: 340px; }
  .hero-bg-dim { opacity: 0.42 !important; background: linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.32)); }
  .secondary-bg-dim { opacity: 0.72 !important; background: linear-gradient(180deg, rgba(255,255,255,0.24), rgba(247,247,245,0.96)); }
  .hero-scroll-track,
  .secondary-scroll-track { position: relative; height: auto; min-height: auto; margin-top: 0; padding: 1.6rem 0 2.6rem; background: var(--cream); transform: none; }
  .hero-scroll-spacer,
  .secondary-scroll-spacer { display: none; }
  .hero-foreground,
  .supplier-section,
  .sc-secondary-parallax .supplier-section { width: min(100% - 28px,1180px); padding: 1.75rem 0 2.4rem; transform: none; }
  .sc-secondary-parallax {
    min-height: auto !important;
    margin-top: 0 !important;
    background:
      radial-gradient(circle at 18% 4%, rgba(245,193,108,0.14), transparent 18rem),
      linear-gradient(180deg, #f6f2e8 0%, #ece5d7 100%) !important;
    overflow: hidden !important;
  }
  .sc-secondary-parallax .secondary-sticky-bg {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .sc-secondary-parallax .secondary-bg-dim {
    display: none !important;
    opacity: 0 !important;
  }
  .sc-secondary-parallax .secondary-scroll-track {
    min-height: auto !important;
    margin-top: 0 !important;
    padding: 38px 0 48px !important;
    background:
      radial-gradient(circle at 18% 0%, rgba(245,193,108,0.16), transparent 18rem),
      linear-gradient(180deg, rgba(255,255,255,0.74) 0%, rgba(244,240,231,0.94) 58%, rgba(230,222,208,0.90) 100%) !important;
  }
  .sc-secondary-parallax .supplier-section {
    padding: 0 !important;
    transform: none !important;
  }
  .hero-copy-card { padding: 0 !important; }
  .hero-copy-card .eyebrow { color: #8a6a13; text-shadow: none; }
  .hero-copy-card h1 { color: var(--ink); text-shadow: none; }
  .hero-copy-card .lead { color: var(--copy); text-shadow: none; }
  .trust-line { color: var(--ink); text-shadow: none; }
  .trust-chips span { border-color: rgba(23,23,23,0.12); color: var(--ink-2); background: rgba(255,255,255,0.78); box-shadow: 0 10px 24px rgba(0,0,0,0.05); }
  .actions,
  .actions .button,
  .button { width: 100%; justify-content: center; }
  .control-module { min-height: 650px; border-radius: 22px; }
  .verification-board .document-strip { grid-template-columns: 1fr !important; gap: 18px !important; padding: 18px !important; }
  .verification-board .document-strip img { width: 100% !important; max-width: none !important; height: 210px !important; min-height: 210px !important; object-fit: cover !important; object-position: center !important; border-radius: 14px !important; }
  .summary-row,
  .checklist { grid-template-columns: 1fr; }
  #services.services-section,
  .services-section,
  .services-section.sc-horizontal-hard-pin { position: relative !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 56px 0 64px !important; overflow: visible !important; background: var(--cream-2) !important; }
  .services-section .section-heading { width: min(100% - 32px,1280px) !important; margin: 0 auto 26px !important; display: block !important; }
  .services-section .section-heading p:not(.eyebrow) { max-width: 100% !important; margin-top: 18px !important; font-size: 16px !important; line-height: 1.5 !important; }
  .services-section .bento-grid { display: grid !important; grid-template-columns: 1fr !important; width: min(100% - 32px,1280px) !important; margin: 0 auto !important; padding: 0 !important; gap: 16px !important; transform: none !important; overflow: visible !important; }
  .services-section .service-card,
  .services-section .service-card.service-feature { width: 100% !important; height: auto !important; min-height: 210px !important; flex: none !important; padding: 22px !important; border-radius: 20px !important; }
  .services-section .service-card h3,
  .sc-supply-card h3 { font-size: clamp(26px,7vw,34px) !important; line-height: 1.04 !important; }
  .services-section .service-card p,
  .sc-supply-card p { font-size: 16px !important; line-height: 1.5 !important; }
  .sc-product-supply { position: relative !important; clear: both !important; margin-top: 0 !important; padding: 64px 0 68px !important; z-index: 1 !important; }
  .sc-product-supply__inner { width: min(100% - 32px,1280px) !important; display: block !important; }
  .sc-product-supply__lead,
  .sc-enquiry-section__copy p { font-size: 16px !important; line-height: 1.52 !important; }
  .sc-product-supply__actions { display: grid !important; gap: 12px !important; }
  .sc-product-supply__cards { margin-top: 30px !important; display: grid !important; grid-template-columns: 1fr !important; gap: 16px !important; }
  .sc-supply-card { grid-column: auto !important; width: 100% !important; height: auto !important; min-height: auto !important; max-height: none !important; padding: 22px !important; border-radius: 22px !important; }
  .sc-enquiry-section { position: relative !important; clear: both !important; padding: 64px 0 64px !important; border-top: 1px solid rgba(23,23,23,0.08) !important; }
  .sc-enquiry-section__inner { width: min(100% - 32px,1280px) !important; display: block !important; }
  .sc-enquiry-form { margin-top: 30px !important; grid-template-columns: 1fr !important; padding: 20px !important; border-radius: 22px !important; }
  .sc-footer { padding-top: 48px !important; }
  .sc-footer__inner { width: min(100% - 40px,1280px) !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 34px 24px !important; align-items: start !important; }
  .sc-footer__brand { grid-column: 1 / -1 !important; text-align: center !important; display: grid !important; justify-items: center !important; }
  .sc-footer__brand img { width: 210px !important; max-width: 210px !important; margin: 0 auto 20px !important; }
  .sc-footer__brand p { max-width: 360px !important; margin: 0 auto !important; text-align: center !important; font-size: 16px !important; line-height: 1.5 !important; }
  .sc-footer__links { padding-left: clamp(16px,5vw,34px) !important; }
  .sc-footer__services { padding-left: clamp(10px,4vw,28px) !important; }
  .sc-footer__links h3,
  .sc-footer__services h3,
  .sc-footer__form h3 { font-size: 20px !important; line-height: 1.1 !important; }
  .sc-footer__links a,
  .sc-footer__services a { font-size: 15px !important; line-height: 1.35 !important; }
  .sc-footer__form { grid-column: 1 / -1 !important; justify-items: center !important; gap: 12px !important; margin-top: 4px !important; }
  .sc-footer__form h3 { width: 100% !important; text-align: center !important; margin-top: 6px !important; margin-bottom: 10px !important; }
  .sc-footer__form input,
  .sc-footer__form textarea,
  .sc-footer__form button { width: min(100%,520px) !important; }
  .sc-footer__bottom { width: min(100% - 40px,1280px) !important; display: grid !important; gap: 10px !important; margin-top: 38px !important; padding-top: 22px !important; text-align: left !important; }
}

@media (max-width: 420px) {
  section h2,
  .section-heading h2,
  .services-section .section-heading h2,
  .sc-product-supply h2,
  .sc-enquiry-section__copy h2 { font-size: 38px !important; }
  .sc-footer__inner { width: min(100% - 32px,1280px) !important; gap: 30px 18px !important; }
  .sc-footer__links { padding-left: 14px !important; }
  .sc-footer__services { padding-left: 8px !important; }
  .sc-footer__links h3,
  .sc-footer__services h3,
  .sc-footer__form h3 { font-size: 18px !important; }
  .sc-footer__links a,
  .sc-footer__services a { font-size: 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
  .route-line { animation: none !important; stroke-dasharray: none; }
  .hero-bg-image,
  .hero-foreground,
  .secondary-bg-image,
  .sc-secondary-parallax .supplier-section { transform: none !important; }
  .hero-bg-dim,
  .secondary-bg-dim { opacity: 0.58 !important; }
}


/* ANZSBS CLEAN SUPPLIER SECTION REPLACEMENT START */
/* Clean replacement for the Supplier Checks two-box section.
   This removes the old parallax wrapper from this section and makes it a normal light section.
*/

body .page #supplier-check.supplier-check-clean {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
  padding: clamp(96px, 8vh, 124px) 0 clamp(150px, 12vh, 190px) !important;
  overflow: visible !important;
  background:
    radial-gradient(circle at 18% 14%, rgba(181,138,32,0.08), transparent 34%),
    radial-gradient(circle at 86% 32%, rgba(181,138,32,0.045), transparent 30%),
    linear-gradient(180deg, #fffdf7 0%, #f4eddf 100%) !important;
}

/* Equal-width two-box layout. */
body .page #supplier-check.supplier-check-clean .supplier-section {
  display: grid !important;
  grid-template-columns: minmax(0, 660px) minmax(0, 660px) !important;
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(56px, 5vw, 82px) !important;
  width: min(1500px, calc(100% - 96px)) !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  transform: none !important;
}

/* Both visible boxes fill equal columns horizontally. */
body .page #supplier-check.supplier-check-clean .section-copy,
body .page #supplier-check.supplier-check-clean .verification-board {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  margin: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
}

/* Keep right board visually aligned with left card. */
body .page #supplier-check.supplier-check-clean .verification-board {
  align-self: center !important;
}

/* Make sure the following image/services section starts after the light section, not underneath the cards. */
body .page #supplier-check.supplier-check-clean + #services {
  margin-top: 0 !important;
}

/* Responsive safety. */
@media (max-width: 991px) {
  body .page #supplier-check.supplier-check-clean {
    padding: 62px 0 78px !important;
  }

  body .page #supplier-check.supplier-check-clean .supplier-section {
    grid-template-columns: 1fr !important;
    width: min(100% - 32px, 760px) !important;
    gap: 28px !important;
  }
}
/* ANZSBS CLEAN SUPPLIER SECTION REPLACEMENT END */


/* ANZSBS SUPPLIER EQUAL HEIGHT BOXES START */
/* Correct request:
   Make the left supplier text box and right verification box the same HEIGHT.
   Do not force same width.
   Do not touch hero, map, header, image placement, or other sections.
*/

body .page #supplier-check.supplier-check-clean .supplier-section {
  align-items: stretch !important;
}

/* Let the taller left card define the row height, then stretch the right card to match it. */
body .page #supplier-check.supplier-check-clean .section-copy,
body .page #supplier-check.supplier-check-clean .verification-board {
  align-self: stretch !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

/* Keep the right card content arranged neatly inside the taller matched box. */
body .page #supplier-check.supplier-check-clean .verification-board {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 1rem !important;
}

/* Keep its internal pieces from stretching weirdly. */
body .page #supplier-check.supplier-check-clean .verification-board .document-strip,
body .page #supplier-check.supplier-check-clean .verification-board .summary-row,
body .page #supplier-check.supplier-check-clean .verification-board .checklist {
  flex: 0 0 auto !important;
  margin-bottom: 0 !important;
}

/* Mobile/tablet should stack normally. */
@media (max-width: 991px) {
  body .page #supplier-check.supplier-check-clean .section-copy,
  body .page #supplier-check.supplier-check-clean .verification-board {
    height: auto !important;
    align-self: auto !important;
  }
}

/* ANZSBS SUPPLIER EQUAL HEIGHT BOXES END */


/* ANZSBS PULL CLEAN SUPPLIER SECTION UP START */
/* Fix only the huge black empty gap above the supplier-check clean section.
   Do not alter the two boxes, their size, or their internal layout.
*/

body .page #supplier-check.supplier-check-clean {
  margin-top: -460px !important;
  position: relative !important;
  z-index: 8 !important;
}

/* Keep enough bottom breathing room after pulling the section up. */
body .page #supplier-check.supplier-check-clean {
  padding-bottom: clamp(150px, 12vh, 190px) !important;
}

/* Mobile/tablet safety: do not use desktop pull-up on smaller screens. */
@media (max-width: 991px) {
  body .page #supplier-check.supplier-check-clean {
    margin-top: 0 !important;
  }
}

/* ANZSBS PULL CLEAN SUPPLIER SECTION UP END */


/* ANZSBS PUSH PRODUCT SUPPLY DOWN MORE START */
/* Keep Product Supply in normal flow below the services image section.
   Do not touch hero, supplier-check, services image/cards, route map, or enquiry.
*/

body .page #product-supply.sc-product-supply {
  margin-top: 0 !important;
  padding-top: clamp(112px, 11vh, 150px) !important;
}

/* Keep the content together after pushing it down. */
body .page #product-supply.sc-product-supply .sc-product-supply__inner {
  align-items: start !important;
}

/* Stop the Product Supply cards/text from sitting under the previous image section. */
body .page #product-supply.sc-product-supply .sc-product-supply__copy,
body .page #product-supply.sc-product-supply .sc-product-supply__cards {
  transform: none !important;
}

body .page #product-supply.sc-product-supply .sc-product-supply__copy {
  margin-top: 0 !important;
}

body .page #product-supply.sc-product-supply .sc-product-supply__cards {
  margin-top: 48px !important;
}

/* Mobile/tablet safety. */
@media (max-width: 991px) {
  body .page #product-supply.sc-product-supply {
    padding-top: 86px !important;
  }
}

/* ANZSBS PUSH PRODUCT SUPPLY DOWN MORE END */


/* ANZSBS HERO IMAGE BOTTOM CROP ANCHOR START */
/* The first hero uses this img element as the visible top-load layer.
   Keep it viewport-sized and bottom-anchored so the harbour/boat detail is
   in frame, while the sticky stage carries the same image behind it to fill
   the release distance without creating a black gap.
*/

body .page .sc-parallax-hero .hero-sticky-bg {
  overflow: hidden !important;
  background: #030507 !important;
}

body .page .sc-parallax-hero .hero-bg-image {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  min-height: 720px !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center bottom !important;
  transform: translate3d(0, var(--hero-bg-y), 0) scale(var(--hero-bg-scale)) !important;
  transform-origin: center bottom !important;
}

@media (max-width: 760px) {
  body .page .sc-parallax-hero .hero-bg-image {
    height: 54vh !important;
    min-height: 340px !important;
    object-position: center bottom !important;
  }
}

/* ANZSBS RESTORE GOOD BOAT OVERLAP VERSION END */


/* ANZSBS FIX GREY HERO TAIL STRIP START */
/* Fix only the strip below the first hero image.
   The grey came from the hero dim/overlay darkening the cream tail.
   This places a clean supplier-section cream strip above that dim layer,
   without changing hero crop, scroll timing, map, or section positions.
*/

body .page .sc-parallax-hero {
  background: #fbf8ef !important;
}

body .page .sc-parallax-hero .hero-sticky-bg {
  background: #fbf8ef !important;
}

/* Cover only the area below the visible hero image. */
body .page .sc-parallax-hero .hero-sticky-bg::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 100vh !important;
  bottom: 0 !important;
  z-index: 5 !important;
  pointer-events: none !important;
  background: #fbf8ef !important;
}

/* Keep any old section-level cover disabled. */
body .page .sc-parallax-hero::after {
  display: none !important;
}

/* ANZSBS FIX GREY HERO TAIL STRIP END */


/* ANZSBS MOVING GOLD EDGE RUNNER START */
@property --anzsbs-edge-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: -90deg;
}

.image-stage,
body .page #supplier-check.supplier-check-clean .section-copy,
.verification-board,
.service-card,
.sc-supply-card,
.sc-enquiry-form {
  position: relative;
  overflow: hidden;
}

.image-stage::after,
body .page #supplier-check.supplier-check-clean .section-copy::after,
.verification-board::after,
.service-card::after,
.sc-supply-card::after,
.sc-enquiry-form::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  padding: 3px;
  border-radius: inherit;
  pointer-events: none;
  background:
    conic-gradient(
      from var(--anzsbs-edge-angle) at 50% 50%,
      transparent 0deg,
      transparent 58deg,
      rgba(181, 138, 32, 0.20) 66deg,
      rgba(245, 193, 108, 0.96) 76deg,
      rgba(255, 209, 106, 1) 88deg,
      rgba(245, 193, 108, 0.96) 100deg,
      rgba(181, 138, 32, 0.20) 112deg,
      transparent 122deg,
      transparent 360deg
    );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
  filter: drop-shadow(0 0 7px rgba(245, 193, 108, 0.72)) drop-shadow(0 0 14px rgba(181, 138, 32, 0.32));
  opacity: 0.98;
  animation: anzsbs-edge-runner 8.6s linear infinite;
}

.service-card:nth-child(2n)::after,
.sc-supply-card:nth-child(2n)::after { animation-delay: -1.4s; }

.service-card:nth-child(3n)::after,
.sc-supply-card:nth-child(3n)::after { animation-delay: -2.8s; }

.service-card:nth-child(4n)::after,
.sc-supply-card:nth-child(4n)::after { animation-delay: -4.2s; }

@keyframes anzsbs-edge-runner {
  0% { --anzsbs-edge-angle: -138deg; }
  8% { --anzsbs-edge-angle: -102deg; }
  20% { --anzsbs-edge-angle: -86deg; }
  32% { --anzsbs-edge-angle: -50deg; }
  43% { --anzsbs-edge-angle: 42deg; }
  50% { --anzsbs-edge-angle: 86deg; }
  62% { --anzsbs-edge-angle: 102deg; }
  74% { --anzsbs-edge-angle: 138deg; }
  86% { --anzsbs-edge-angle: 230deg; }
  94% { --anzsbs-edge-angle: 282deg; }
  100% { --anzsbs-edge-angle: 318deg; }
}

@media (prefers-reduced-motion: reduce) {
  .image-stage::after,
  body .page #supplier-check.supplier-check-clean .section-copy::after,
  .verification-board::after,
  .service-card::after,
  .sc-supply-card::after,
  .sc-enquiry-form::after {
    animation: none;
    --anzsbs-edge-angle: -90deg;
    opacity: 0.56;
  }
}
/* ANZSBS MOVING GOLD EDGE RUNNER END */

.eyebrow::before,
.eyebrow::after,
.service-kicker::before,
.service-kicker::after,
.sc-supply-card__kicker::before,
.sc-supply-card__kicker::after,
.cta-label::before,
.cta-label::after,
.section-label::before,
.section-label::after,
.hero-kicker::before,
.hero-kicker::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ANZSBS MOBILE VERTICAL RHYTHM CLEANUP START */
@media (max-width: 991px) {
  body .page .sc-parallax-hero,
  body .page .sc-secondary-parallax,
  body .page #supplier-check.supplier-check-clean,
  body .page #services.services-section,
  body .page #product-supply.sc-product-supply,
  body .page .sc-enquiry-section {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body .page .hero-scroll-track,
  body .page .secondary-scroll-track {
    padding-top: 48px !important;
    padding-bottom: 56px !important;
  }

  body .page #supplier-check.supplier-check-clean,
  body .page #services.services-section,
  body .page .services-section,
  body .page .services-section.sc-horizontal-hard-pin,
  body .page #product-supply.sc-product-supply,
  body .page .sc-enquiry-section {
    padding-top: 64px !important;
    padding-bottom: 68px !important;
  }

  body .page #supplier-check.supplier-check-clean .supplier-section {
    gap: 28px !important;
  }

  body .page .sc-product-supply__cards,
  body .page .sc-enquiry-form {
    margin-top: 28px !important;
  }
}

@media (max-width: 760px) {
  body .page .hero-scroll-track,
  body .page .secondary-scroll-track {
    padding-top: 40px !important;
    padding-bottom: 52px !important;
  }

  body .page .hero-foreground,
  body .page .supplier-section,
  body .page .sc-secondary-parallax .supplier-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body .page #supplier-check.supplier-check-clean,
  body .page #services.services-section,
  body .page .services-section,
  body .page .services-section.sc-horizontal-hard-pin,
  body .page #product-supply.sc-product-supply,
  body .page .sc-enquiry-section {
    padding-top: 56px !important;
    padding-bottom: 64px !important;
  }

  body .page .services-section .section-heading,
  body .page .section-heading {
    margin-bottom: 24px !important;
  }

  body .page .services-section .bento-grid,
  body .page .sc-product-supply__cards {
    gap: 20px !important;
  }

  body .page .sc-footer {
    padding-top: 44px !important;
  }
}
/* ANZSBS MOBILE VERTICAL RHYTHM CLEANUP END */


/* ANZSBS TARGETED MOBILE HERO TO SUPPLIER GAP FIX START */
@media (max-width: 991px) {
  body .page .sc-parallax-hero .hero-scroll-track {
    padding-bottom: 0 !important;
  }

  body .page #supplier-check.supplier-check-clean {
    padding-top: 56px !important;
  }
}

@media (max-width: 760px) {
  body .page .sc-parallax-hero {
    height: auto !important;
    min-height: 0 !important;
  }

  body .page .sc-parallax-hero .hero-scroll-track {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 32px !important;
    padding-bottom: 0 !important;
  }

  body .page .sc-parallax-hero .hero-foreground {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body .page .sc-parallax-hero .control-module {
    min-height: clamp(360px, 100vw, 430px) !important;
    margin-bottom: 0 !important;
  }

  body .page #supplier-check.supplier-check-clean {
    padding-top: 44px !important;
  }
}
/* ANZSBS TARGETED MOBILE HERO TO SUPPLIER GAP FIX END */


/* ANZSBS MOBILE HOMEPAGE GAP FIX START */
@media (max-width: 768px) {
  body .page .sc-parallax-hero .hero-scroll-track {
    padding-bottom: 0 !important;
  }

  body .page .sc-parallax-hero .hero-foreground {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body .page .sc-parallax-hero .control-module {
    margin-bottom: 0 !important;
  }

  body .page .sc-parallax-hero + #supplier-check.supplier-check-clean {
    margin-top: 0 !important;
    padding-top: 52px !important;
  }
}

@media (max-width: 480px) {
  body .page .sc-parallax-hero + #supplier-check.supplier-check-clean {
    padding-top: 48px !important;
  }
}
/* ANZSBS MOBILE HOMEPAGE GAP FIX END */

/* ANZSBS FINAL MOBILE MAP GAP FIX START */
@media (max-width: 768px) {
  body .page .sc-parallax-hero .control-module {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
  }

  body .page .sc-parallax-hero .control-module .image-stage {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
  }

  body .page .sc-parallax-hero + #supplier-check.supplier-check-clean {
    margin-top: 0 !important;
    padding-top: 56px !important;
  }
}

@media (max-width: 480px) {
  body .page .sc-parallax-hero + #supplier-check.supplier-check-clean {
    padding-top: 48px !important;
  }
}
/* ANZSBS FINAL MOBILE MAP GAP FIX END */

/* ===== HOMEPAGE MOBILE GAP - CONSOLIDATED FIX ===== */
/* Replaces: MOBILE VERTICAL RHYTHM CLEANUP, TARGETED MOBILE HERO TO SUPPLIER GAP FIX,
   MOBILE HOMEPAGE GAP FIX, FINAL MOBILE MAP GAP FIX.
   All of those blocks remain in the file but this rule (same or higher specificity,
   later in file) wins where they conflict. */

@media (max-width: 768px) {

  /* 1. Kill the 650px minimum that forces a tall map container */
  body .page .sc-parallax-hero .control-module {
    height: auto !important;
    min-height: 0 !important;
  }

  /* 2. Switch image-stage from absolute-fill to natural aspect-ratio flow */
  body .page .sc-parallax-hero .control-module .image-stage {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
  }

  /* 3. Remove hero-foreground grid gap so copy and map sit flush */
  body .page .sc-parallax-hero .hero-foreground {
    gap: 0 !important;
  }

  /* 4. Ensure hero-scroll-track adds no cream padding below map */
  body .page .sc-parallax-hero .hero-scroll-track {
    padding-bottom: 0 !important;
  }

  /* 5. Give supplier-check section clear breathing room above */
  body .page .sc-parallax-hero + #supplier-check.supplier-check-clean {
    margin-top: 0 !important;
    padding-top: 56px !important;
  }
}

/* ===== END HOMEPAGE MOBILE GAP - CONSOLIDATED FIX ===== */

/* ANZSBS FINAL MOBILE HOMEPAGE SERVICE CARD OVERLAP FIX START */
@media (max-width: 768px) {
  body .home-page .services-section,
  body .home-page .sc-horizontal-services-stage,
  body .home-page .bento-grid {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    transform: none !important;
    inset: auto !important;
  }

  body .home-page .services-section {
    z-index: 1 !important;
    padding-bottom: 80px !important;
  }

  body .home-page .sc-horizontal-services-stage {
    padding-bottom: 0 !important;
  }

  body .home-page .bento-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  body .home-page .service-card,
  body .home-page .service-card.service-feature,
  body .home-page .service-card.feature-checks {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    inset: auto !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
    z-index: 1 !important;
  }

  body .home-page .sc-product-supply,
  body .home-page .sc-enquiry-section {
    position: relative !important;
    z-index: 2 !important;
    clear: both !important;
    overflow: visible !important;
    transform: none !important;
  }

  body .home-page .sc-enquiry-section {
    padding-top: 80px !important;
  }

  body .home-page .sc-enquiry-section__inner,
  body .home-page .sc-enquiry-form {
    position: relative !important;
    z-index: 3 !important;
    transform: none !important;
  }
}

@media (max-width: 480px) {
  body .home-page .services-section {
    padding-bottom: 72px !important;
  }

  body .home-page .bento-grid {
    gap: 20px !important;
  }

  body .home-page .sc-enquiry-section {
    padding-top: 72px !important;
  }
}
/* ANZSBS FINAL MOBILE HOMEPAGE SERVICE CARD OVERLAP FIX END */

@media (max-width: 760px) {
	.site-header.is-menu-open .site-nav {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 8px !important;
	}

	/* Collapse 2-col hero grid (copy + map) to single column on phones.
	   minmax(440px, 0.82fr) on the map column forces >800px total width
	   on a ~390px viewport, causing horizontal overflow and clipping the copy text. */
	body .page .sc-parallax-hero .hero-foreground {
		grid-template-columns: 1fr !important;
	}
}

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

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

/* Match homepage hero h1 visual weight to Services page */
.sc-parallax-hero .hero-copy-card h1 {
  font-weight: 700 !important;
}

