.site-header {
  min-height: var(--header-height);
  display: grid;
  grid-template-columns: clamp(8.5rem, 12vw, 11rem) 1fr auto;
  align-items: stretch;
  border-bottom: 1px solid var(--line);
}

.brand {
  display: grid;
  min-height: var(--header-height);
  place-items: center;
  padding: var(--space-2xs) var(--space-sm);
  border-right: 1px solid var(--line-muted);
}

.brand img {
  width: clamp(6.8rem, 8.5vw, 8.4rem);
  max-height: clamp(3rem, 3vw, 3.35rem);
  object-fit: contain;
}

.primary-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1.1rem, 2vw, 2.4rem);
  padding-inline: var(--space-md);
}

.primary-nav a,
.header-retail {
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.primary-nav a {
  color: var(--bone-soft);
  transition: color var(--duration-fast) ease;
}

.primary-nav a:hover {
  color: var(--bone);
}

.header-retail {
  display: grid;
  min-width: clamp(7rem, 9vw, 8.5rem);
  place-items: center;
  padding-inline: var(--space-sm);
  color: var(--ink);
  background: var(--red);
}

.mobile-menu {
  display: none;
}

.hero-deck {
  display: grid;
  grid-template-columns: 15% minmax(0, 55%) 30%;
  grid-template-rows: minmax(32rem, 34rem) clamp(7.25rem, 7.8vw, 7.8rem);
  grid-template-areas:
    "evidence stage console"
    "sequence controls readout";
}

.hero-console,
.evidence-rail,
.format-stage,
.format-controls,
.format-readout,
.heat-sequencer {
  min-width: 0;
}

.hero-console {
  grid-area: console;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-sm);
  background:
    linear-gradient(rgb(255 255 255 / 1.5%), transparent 42%),
    var(--panel);
  border-left: 1px solid var(--line);
}

.hero-console h1 {
  max-width: 13ch;
  color: var(--bone);
  font-size: clamp(2.05rem, 1.75rem + 1.1vw, 2.7rem);
  text-transform: uppercase;
}

.hero-console > p {
  color: var(--bone-soft);
  font-size: var(--text-sm);
  line-height: 1.52;
}

.hero-actions {
  display: grid;
  gap: var(--space-xs);
  margin-top: auto;
}

.format-readout {
  grid-area: readout;
  display: grid;
  align-content: center;
  gap: var(--space-3xs);
  padding: var(--space-xs) var(--space-sm) var(--space-sm);
  background: var(--panel);
  border-top: 1px solid var(--line-muted);
  border-left: 1px solid var(--line);
}

.format-readout > span {
  color: var(--dim);
  font-size: var(--text-micro);
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.format-readout strong {
  color: var(--yellow);
  font-family: var(--font-display);
  font-size: var(--text-lead);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.format-readout p {
  margin-bottom: var(--space-2xs);
  color: var(--muted);
  font-size: var(--text-xs);
  line-height: 1.35;
}

.evidence-rail {
  grid-area: evidence;
  display: grid;
  align-content: stretch;
  background: var(--panel);
  border-right: 1px solid var(--line);
}

.evidence-item {
  display: flex;
  min-height: 0;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-2xs);
  padding: var(--space-sm);
}

.evidence-item + .evidence-item {
  border-top: 1px solid var(--line);
}

.signal {
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 50%;
  background: currentColor;
}

.signal--red {
  color: var(--red);
}

.signal--orange {
  color: var(--orange);
}

.signal--yellow {
  color: var(--yellow);
}

.evidence-item small,
.heat-sequencer small {
  color: var(--bone-soft);
  font-size: var(--text-micro);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.evidence-item strong {
  font-family: var(--font-display);
  font-size: clamp(1rem, 0.9rem + 0.3vw, 1.18rem);
  line-height: 1.08;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.evidence-item strong em {
  display: block;
  color: var(--red);
  font-style: normal;
}

.evidence-item > span:last-child {
  color: var(--muted);
  font-size: var(--text-micro);
  line-height: 1.45;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.evidence-item svg {
  width: 2.4rem;
  height: 2.4rem;
  fill: none;
  stroke: var(--bone-soft);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.1;
}

.format-stage {
  grid-area: stage;
  position: relative;
  min-height: 32rem;
  overflow: hidden;
  background: var(--panel-inset);
}

.specimen-grid {
  position: absolute;
  inset: clamp(0.65rem, 0.4rem + 0.7vw, 1.15rem);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border-radius: var(--radius-sm);
  background: #0b0c0b;
}

.specimen-grid::after {
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background: linear-gradient(90deg, var(--red) 0 25%, var(--orange) 25% 50%, var(--yellow) 50% 75%, var(--bone) 75%);
  clip-path: inset(0 100% 0 0);
  content: "";
}

.specimen {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #0c0d0c;
}

.specimen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(1) contrast(1.04) brightness(0.8);
  opacity: 0.68;
  transform: scale(1.08);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
  transition:
    filter var(--duration) var(--ease-out),
    opacity var(--duration) var(--ease-out),
    transform calc(var(--duration) * 1.4) var(--ease-out);
}

.specimen:first-child img {
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 88%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 88%, transparent 100%);
}

.specimen:last-child img {
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 100%);
}

.specimen > span {
  position: absolute;
  right: var(--space-2xs);
  bottom: var(--space-2xs);
  left: var(--space-2xs);
  padding: var(--space-3xs) var(--space-2xs);
  color: var(--bone-soft);
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
  text-shadow: 0 1px 0 #000, 0 0 0.8rem #000;
  text-transform: uppercase;
}

.format-stage[data-active-format="cube"] [data-format-specimen="cube"] img,
.format-stage[data-active-format="hexagon"] [data-format-specimen="hexagon"] img,
.format-stage[data-active-format="cylinder"] [data-format-specimen="cylinder"] img,
.format-stage[data-active-format="bbq"] [data-format-specimen="bbq"] img {
  filter: grayscale(0) contrast(1.06) brightness(0.94);
  opacity: 1;
  transform: scale(1.02);
}

.format-stage[data-active-format="cube"] [data-format-specimen="cube"] > span,
.format-stage[data-active-format="hexagon"] [data-format-specimen="hexagon"] > span,
.format-stage[data-active-format="cylinder"] [data-format-specimen="cylinder"] > span,
.format-stage[data-active-format="bbq"] [data-format-specimen="bbq"] > span {
  color: var(--bone);
}

.format-controls {
  grid-area: controls;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: var(--panel);
  border-top: 1px solid var(--line);
}

.format-control {
  position: relative;
  min-height: clamp(4.7rem, 4.25rem + 1.2vw, 5.4rem);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-xs);
  border: 0;
  border-top: 2px solid transparent;
  background: transparent;
  cursor: pointer;
  transition:
    color var(--duration-fast) ease,
    background-color var(--duration-fast) ease,
    border-color var(--duration-fast) ease;
}

.format-control + .format-control {
  border-left: 1px solid var(--line);
}

.format-control svg {
  width: 1.8rem;
  height: 1.8rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.35;
}

.format-control span {
  font-family: var(--font-display);
  font-size: clamp(0.92rem, 0.84rem + 0.28vw, 1.1rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.format-control:hover,
.format-control[aria-pressed="true"] {
  background: var(--panel-raised);
}

.format-control[data-format-id="cube"] {
  color: var(--red);
}

.format-control[data-format-id="hexagon"] {
  color: var(--orange);
}

.format-control[data-format-id="cylinder"] {
  color: var(--yellow);
}

.format-control[data-format-id="bbq"] {
  color: var(--bone-soft);
}

.format-control[aria-pressed="true"] {
  color: var(--bone);
  border-top-color: currentColor;
}

.heat-sequencer {
  grid-area: sequence;
  display: grid;
  align-content: center;
  gap: var(--space-2xs);
  padding: var(--space-sm);
  background: var(--panel-raised);
  border-top: 1px solid var(--line);
  border-right: 1px solid var(--line);
}

.heat-sequencer > div:first-child {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
}

.heat-sequencer > strong {
  color: var(--red);
  font-family: var(--font-display);
  font-size: var(--text-base);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.heat-steps {
  display: grid;
  grid-template-columns: repeat(16, 1fr);
  gap: 2px;
}

.heat-steps i {
  height: 0.42rem;
  background: currentColor;
  opacity: 0.22;
  transition: opacity var(--duration) var(--ease-out);
}

.heat-steps i:nth-child(-n + 4) {
  color: var(--red);
}

.heat-steps i:nth-child(n + 5):nth-child(-n + 8) {
  color: var(--orange);
}

.heat-steps i:nth-child(n + 9):nth-child(-n + 12) {
  color: var(--yellow);
}

.heat-steps i:nth-child(n + 13) {
  color: var(--bone);
}

.heat-steps i[data-state="active"] {
  opacity: 1;
}

.specimen-note {
  position: absolute;
  z-index: 2;
  top: var(--space-sm);
  right: var(--space-sm);
  padding: var(--space-3xs) var(--space-2xs);
  color: var(--muted);
  font-size: var(--text-micro);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgb(10 11 10 / 82%);
  border-radius: var(--radius-xs);
}

.homepage-panels {
  padding-inline: var(--gutter);
  background: var(--canvas-soft);
  border-top: 1px solid var(--line);
}

.commerce-deck h2,
.featured-products h2,
.flow-section h2 {
  color: var(--bone);
  text-transform: uppercase;
}

.commerce-deck p,
.featured-products p,
.flow-section p {
  color: var(--bone-soft);
  font-size: var(--text-sm);
}

.commerce-deck {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(22rem, 0.78fr);
  align-items: stretch;
  padding-block: var(--space-2xl);
  border-bottom: 1px solid var(--line);
}

.commerce-lane {
  min-width: 0;
  padding: var(--space-xl) var(--space-lg);
}

.retail-panel {
  display: flex;
  flex-direction: column;
  padding-left: 0;
}

.store-heading {
  display: grid;
  gap: var(--space-sm);
}

.store-heading h2 {
  max-width: 13ch;
}

.store-heading p {
  max-width: var(--reading);
}

.category-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: var(--space-xl);
  list-style: none;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.category-list li {
  min-width: 0;
}

.category-list li + li {
  border-left: 1px solid var(--line);
}

.category-list a {
  height: 100%;
  display: grid;
  grid-template-rows: minmax(12rem, 1fr) auto;
  overflow: hidden;
  transition: background-color var(--duration-fast) ease;
}

.category-list a:hover {
  background: var(--panel-raised);
}

.category-list img {
  width: 100%;
  height: 100%;
  min-height: clamp(12rem, 18vw, 16rem);
  object-fit: cover;
  filter: saturate(0.65) contrast(1.06) brightness(0.72);
  transition:
    filter var(--duration) var(--ease-out),
    transform var(--duration) var(--ease-out);
}

.category-list a:hover img {
  filter: saturate(0.9) contrast(1.03) brightness(0.88);
  transform: scale(1.018);
}

.category-list a > span {
  min-height: clamp(7.7rem, 7rem + 1.8vw, 9rem);
  display: grid;
  align-content: start;
  gap: var(--space-3xs);
  padding: var(--space-sm);
  border-top: 1px solid var(--line-muted);
}

.category-list strong {
  font-family: var(--font-display);
  font-size: var(--text-h3);
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.category-list small {
  color: var(--muted);
  font-size: var(--text-xs);
}

.category-list i {
  min-height: 44px;
  display: flex;
  align-items: center;
  margin-top: var(--space-2xs);
  color: var(--red);
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.pack-size-browser {
  display: grid;
  grid-template-columns: minmax(15rem, 1fr) repeat(2, minmax(8rem, 0.64fr));
  margin-top: var(--space-xl);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.pack-size-browser > div,
.pack-size-browser > a {
  min-width: 0;
  min-height: clamp(8rem, 7.2rem + 2vw, 9.5rem);
  padding: var(--space-sm);
}

.pack-size-browser > div {
  display: grid;
  align-content: center;
  gap: var(--space-xs);
}

.pack-size-browser h3 {
  color: var(--bone);
  font-size: var(--text-h3);
  text-transform: uppercase;
}

.pack-size-browser p {
  color: var(--muted);
  font-size: var(--text-xs);
  line-height: 1.45;
}

.pack-size-browser > a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-2xs);
  border-left: 1px solid var(--line);
  transition: background-color var(--duration-fast) ease;
}

.pack-size-browser > a:hover {
  background: var(--panel-raised);
}

.pack-size-browser strong {
  font-family: var(--font-display);
  font-size: var(--text-h3);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.pack-size-browser span {
  color: var(--muted);
  font-size: var(--text-xs);
}

.pack-size-browser i {
  color: var(--red);
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.featured-products {
  padding-block: var(--space-2xl);
  border-bottom: 1px solid var(--line);
}

.featured-products-heading {
  display: grid;
  grid-template-columns: minmax(20rem, 1fr) minmax(15rem, 0.6fr);
  align-items: end;
  gap: var(--space-xl);
}

.featured-products-heading > div {
  display: grid;
  gap: var(--space-sm);
}

.featured-products-heading h2 {
  max-width: 13ch;
}

.featured-products-heading .price-note {
  justify-self: end;
  max-width: 28ch;
  color: var(--muted);
  font-size: var(--text-xs);
  text-align: right;
}

.featured-product-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: var(--space-xl);
  list-style: none;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.featured-product-grid > li {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.featured-product-grid > li + li {
  border-left: 1px solid var(--line);
}

.featured-product-grid > li > a {
  display: block;
  overflow: hidden;
  background: var(--panel-inset);
}

.featured-product-grid img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  filter: saturate(0.72) contrast(1.05) brightness(0.78);
  transition:
    filter var(--duration) var(--ease-out),
    transform var(--duration) var(--ease-out);
}

.featured-product-grid > li:nth-child(2) img {
  object-position: 50% 64%;
}

.featured-product-grid > li:hover img {
  filter: saturate(0.96) contrast(1.02) brightness(0.92);
  transform: scale(1.018);
}

.product-copy {
  min-height: clamp(7.6rem, 6.8rem + 2vw, 9rem);
  display: grid;
  align-content: start;
  gap: var(--space-3xs);
  padding: var(--space-sm);
  border-top: 1px solid var(--line-muted);
}

.product-copy small {
  color: var(--red);
  font-size: var(--text-micro);
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.product-copy strong {
  font-family: var(--font-display);
  font-size: var(--text-lead);
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.product-price {
  margin-top: var(--space-2xs);
  color: var(--bone);
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 700;
}

.featured-product-grid button {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  padding: var(--space-xs) var(--space-sm);
  color: var(--ink);
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: var(--red);
  border: 0;
  cursor: pointer;
  transition: background-color var(--duration-fast) ease;
}

.featured-product-grid button:hover {
  background: #f05a3d;
}

.featured-product-grid button:focus-visible {
  outline: 2px solid var(--bone);
  outline-offset: -4px;
}

.featured-product-grid button svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}

.panel-link {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-top: var(--space-lg);
  padding: var(--space-xs) var(--space-sm);
  border: 1px solid currentColor;
  border-radius: var(--radius-sm);
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition:
    color var(--duration-fast) ease,
    background-color var(--duration-fast) ease;
}

.panel-link svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.35;
}

.panel-link--retail {
  color: var(--ink);
  background: var(--red);
  border-color: var(--red);
}

.panel-link--retail:hover {
  background: #f05a3d;
}

.panel-link--trade {
  color: var(--yellow);
}

.panel-link--trade:hover {
  color: var(--ink);
  background: var(--yellow);
}

.wholesale-panel {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-lg);
  padding-right: 0;
  border-left: 1px solid var(--line);
  background: linear-gradient(145deg, rgb(231 198 74 / 4%), transparent 62%);
}

.wholesale-copy {
  display: grid;
  align-content: start;
  gap: var(--space-sm);
}

.trade-status {
  width: fit-content;
  justify-self: start;
  display: inline-flex;
  padding: var(--space-3xs) var(--space-2xs);
  color: var(--ink);
  font-family: var(--font-display);
  font-size: var(--text-micro);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: var(--yellow);
  border-radius: var(--radius-xs);
}

.wholesale-copy h2 {
  max-width: 11ch;
}

.wholesale-copy .panel-link {
  margin-top: var(--space-sm);
}

.oem-formats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-xs);
  margin-top: var(--space-xs);
}

.oem-formats figure,
.oem-formats > div {
  min-width: 0;
  display: grid;
  align-content: end;
  gap: var(--space-2xs);
}

.oem-formats img,
.oem-formats > div::before {
  width: 100%;
  aspect-ratio: 7 / 5;
  object-fit: cover;
  filter: grayscale(0.72) contrast(1.08) brightness(0.98);
}

.oem-formats > div::before {
  display: grid;
  place-items: center;
  color: var(--yellow);
  font-family: var(--font-display);
  font-size: var(--text-h3);
  background: var(--panel-inset);
  content: "+";
}

.oem-formats figcaption,
.oem-formats strong,
.oem-formats span {
  font-size: var(--text-micro);
  line-height: 1.25;
}

.oem-formats figcaption,
.oem-formats strong {
  color: var(--bone-soft);
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.oem-formats span {
  color: var(--muted);
}

.enquiry-checklist {
  margin-top: 0;
  border-top: 1px solid var(--line);
}

.enquiry-checklist > div {
  display: grid;
  grid-template-columns: minmax(5.5rem, 0.65fr) minmax(0, 1.35fr);
  gap: var(--space-sm);
  padding-block: var(--space-xs);
  border-bottom: 1px solid var(--line-muted);
}

.enquiry-checklist dt,
.enquiry-checklist dd {
  font-size: var(--text-xs);
}

.enquiry-checklist dt {
  color: var(--yellow);
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.enquiry-checklist dd {
  color: var(--muted);
}

.flow-section {
  border-top: 1px solid var(--line);
}

.manufacturing-flow {
  display: grid;
  grid-template-columns: minmax(22rem, 0.85fr) minmax(0, 1.55fr);
}

.manufacturing-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--space-2xl) var(--space-lg);
}

.manufacturing-copy h2 {
  max-width: 10ch;
}

.manufacturing-copy > p {
  margin-top: var(--space-md);
}

.process-sequence {
  margin-top: var(--space-lg);
  border-top: 1px solid var(--line);
  list-style: none;
  counter-reset: process;
}

.process-sequence li {
  display: grid;
  grid-template-columns: clamp(1.8rem, 1.5rem + 0.8vw, 2.4rem) minmax(5rem, 0.55fr) minmax(0, 1.45fr);
  align-items: baseline;
  gap: var(--space-xs);
  padding-block: var(--space-xs);
  border-bottom: 1px solid var(--line-muted);
  counter-increment: process;
}

.process-sequence li::before {
  color: var(--orange);
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 700;
  content: counter(process, decimal-leading-zero);
}

.process-sequence strong {
  color: var(--bone);
  font-family: var(--font-display);
  font-size: var(--text-sm);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.process-sequence span {
  color: var(--muted);
  font-size: var(--text-xs);
}

.manufacturing-media,
.australia-panel figure {
  position: relative;
  min-height: clamp(28rem, 39vw, 38rem);
  overflow: hidden;
}

.manufacturing-media img,
.australia-panel figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.72) contrast(1.06) brightness(0.76);
}

.manufacturing-media figcaption,
.australia-panel figcaption {
  position: absolute;
  right: var(--space-sm);
  bottom: var(--space-sm);
  padding: var(--space-3xs) var(--space-2xs);
  color: var(--bone-soft);
  font-size: var(--text-micro);
  background: rgb(10 11 10 / 82%);
  border-radius: var(--radius-xs);
}

.bbq-flow {
  display: grid;
  grid-template-columns: minmax(20rem, 0.72fr) minmax(0, 1.28fr);
  background: var(--panel-inset);
}

.bbq-intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--space-2xl) var(--space-lg);
}

.bbq-intro h2 {
  max-width: 9ch;
}

.bbq-intro p {
  margin-top: var(--space-md);
}

.bbq-actions a,
.safety-panel a,
.social-panel a {
  display: inline-flex;
  margin-top: var(--space-sm);
  color: var(--yellow);
  font-size: var(--text-xs);
  font-weight: 700;
}

.bbq-actions {
  display: grid;
  margin-top: var(--space-md);
  border-top: 1px solid var(--line);
}

.bbq-actions a {
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  margin-top: 0;
  padding-block: var(--space-xs);
  border-bottom: 1px solid var(--line-muted);
}

.bbq-actions a[data-purchase-mode="retail"] {
  color: var(--red);
}

.bbq-lineup {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-left: 1px solid var(--line);
}

.bbq-lineup figure {
  min-width: 0;
  display: grid;
  grid-template-rows: minmax(20rem, 1fr) auto;
}

.bbq-lineup figure + figure {
  border-left: 1px solid var(--line);
}

.bbq-lineup img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.25) contrast(1.03) brightness(0.86);
  transition: filter var(--duration) var(--ease-out), transform var(--duration) var(--ease-out);
}

.bbq-lineup figure:hover img {
  filter: grayscale(0) contrast(1.02) brightness(0.96);
  transform: scale(1.015);
}

.bbq-lineup figcaption {
  display: grid;
  gap: var(--space-3xs);
  padding: var(--space-sm);
  border-top: 1px solid var(--line);
}

.bbq-lineup strong {
  font-family: var(--font-display);
  font-size: var(--text-lead);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.bbq-lineup span {
  color: var(--muted);
  font-size: var(--text-xs);
}

.bbq-lineup figcaption a {
  width: fit-content;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--red);
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0.03em;
}

.identity-grid {
  display: grid;
  grid-template-columns: minmax(20rem, 0.72fr) minmax(0, 1.28fr);
}

.story-panel {
  min-height: clamp(31rem, 39vw, 38rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--space-xl) var(--space-lg);
  background:
    linear-gradient(180deg, transparent, rgb(0 0 0 / 28%)),
    var(--panel-raised);
}

.year-mark {
  color: var(--red);
  font-family: var(--font-display);
  font-size: clamp(5rem, 3.8rem + 3.5vw, 6.8rem);
  font-weight: 800;
  line-height: 0.8;
  letter-spacing: -0.03em;
}

.story-panel h2 {
  max-width: 9ch;
}

.story-panel p {
  margin-top: var(--space-sm);
}

.australia-panel {
  display: grid;
  grid-template-rows: minmax(20rem, 1fr) auto;
  border-left: 1px solid var(--line);
}

.australia-panel > div {
  padding: var(--space-lg);
  border-top: 1px solid var(--line);
}

.australia-panel h2 {
  max-width: 12ch;
}

.australia-panel p {
  margin-top: var(--space-md);
}

.support-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.65fr);
}

.safety-panel,
.social-panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-lg);
  padding: var(--space-xl) var(--space-lg);
}

.social-panel {
  border-left: 1px solid var(--line);
}

.safety-panel > svg {
  width: clamp(3.7rem, 3rem + 2vw, 5rem);
  color: var(--orange);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.4;
}

.safety-panel h2,
.social-panel h2 {
  max-width: 12ch;
  font-size: var(--text-h3);
}

.safety-panel p,
.social-panel p {
  margin-top: var(--space-xs);
}

.social-panel > svg {
  width: clamp(3.7rem, 3rem + 2vw, 5rem);
  min-width: 44px;
  aspect-ratio: 1;
  color: var(--red);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.social-panel > svg .instagram-dot {
  fill: currentColor;
  stroke: none;
}

.contact-panel {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(20rem, 0.8fr) minmax(0, 1.2fr);
  gap: var(--space-xl);
  align-items: end;
  padding: var(--space-2xl) var(--space-lg);
  border-top: 1px solid var(--line);
}

.contact-panel > div p {
  margin-top: var(--space-sm);
}

.contact-panel address {
  display: grid;
  font-style: normal;
  border-top: 1px solid var(--line);
}

.contact-panel address > * {
  min-height: clamp(4.5rem, 4rem + 1.4vw, 5.4rem);
  display: grid;
  grid-template-columns: minmax(5rem, 0.35fr) minmax(0, 1.65fr);
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-xs);
  border-bottom: 1px solid var(--line-muted);
}

.contact-panel address a:hover {
  background: var(--panel-raised);
}

.contact-panel address small {
  color: var(--red);
  font-family: var(--font-display);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contact-panel address strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: var(--text-base);
}

.site-footer {
  min-height: clamp(6rem, 5rem + 2.8vw, 8rem);
  display: grid;
  grid-template-columns: minmax(11rem, 0.6fr) minmax(0, 1.4fr) auto;
  align-items: center;
  gap: var(--space-lg);
  padding: var(--space-md) var(--space-lg);
  background: var(--panel-inset);
  border-top: 1px solid var(--line);
}

.footer-brand {
  display: grid;
  gap: var(--space-3xs);
}

.footer-brand strong {
  font-family: var(--font-display);
  font-size: var(--text-lead);
  letter-spacing: 0.08em;
}

.footer-brand span,
.site-footer a {
  color: var(--muted);
  font-size: var(--text-xs);
}

.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
}

.site-footer a:hover {
  color: var(--bone);
}

.footer-top {
  justify-self: end;
}

@keyframes calibrate-stage {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .specimen-grid::after {
    animation: calibrate-stage 900ms var(--ease-out) 120ms both;
  }
}
