/* MRVËY Sustainability · The Proof Label
   One continuous textile canvas. Colour behaves like print ink and fabric
   swatches; the proof label carries the theatrical treatment. */

body.sustainability-page {
  --sus-canvas: #07362b;
  --sus-canvas-deep: #05281f;
  --sus-ink: #10120f;
  --sus-paper: #f4f5f0;
  --sus-paper-warm: #f3eadc;
  --sus-acid: #c5ff32;
  --sus-cobalt: #5865ff;
  --sus-cobalt-deep: #3f4bdc;
  --sus-pink: #ff3d9a;
  --sus-saffron: #f4a62a;
  --sus-white: #fbfff6;
  --sus-rule: rgba(244, 245, 240, .24);
  --sus-ease: cubic-bezier(.22, 1, .36, 1);
  --sus-serif: 'Gelasio', Georgia, serif;
  overflow-x: clip;
  background: var(--sus-canvas);
  color: var(--sus-white);
}

body.sustainability-page .mrv-dock,
body.sustainability-page .mobile-dm-dock {
  display: none !important;
}

body.sustainability-page > nav {
  background: rgba(5, 40, 31, .9);
  border-bottom-color: rgba(244, 245, 240, .16);
}

body.sustainability-page > nav.nav--scrolled {
  background: rgba(5, 40, 31, .96);
  border-bottom-color: rgba(244, 245, 240, .3);
}

body.sustainability-page .nav-links a[aria-current='page'] {
  color: var(--sus-acid);
}

body.sustainability-page .brand-dots span {
  background: var(--sus-acid);
}

.sustainability-story {
  position: relative;
  isolation: isolate;
  overflow: clip;
  background:
    linear-gradient(90deg, rgba(244, 245, 240, .026) 1px, transparent 1px),
    var(--sus-canvas);
  background-size: clamp(54px, 5vw, 78px) 100%, auto;
}

.sustainability-story:focus {
  outline: none;
}

.sustainability-story :is(h1, h2, h3, p, blockquote, figure, dl, ul) {
  margin: 0;
}

.sus-visually-hidden,
.sus-proof-label figcaption,
.sus-wear__loop figcaption {
  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;
}

.sus-progress {
  --sus-progress: 0;
  position: fixed;
  top: 88px;
  right: 12px;
  bottom: 16px;
  z-index: 72;
  width: 3px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(244, 245, 240, .18);
  pointer-events: none;
}

.sus-progress i {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(to bottom, var(--sus-acid), var(--sus-saffron) 40%, var(--sus-pink) 70%, var(--sus-cobalt));
  transform: scaleY(var(--sus-progress));
  transform-origin: 50% 0;
  will-change: transform;
}

/* Hero */
.sus-hero {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  gap: clamp(20px, 2.2vw, 36px);
  min-height: max(820px, 100svh);
  padding: clamp(128px, 10vw, 164px) clamp(24px, 5vw, 78px) clamp(72px, 7vw, 110px);
  overflow: hidden;
  border-bottom: 1px solid var(--sus-rule);
}

.sus-hero__texture {
  position: absolute;
  inset: 0;
  z-index: -3;
  overflow: hidden;
  background: var(--sus-canvas-deep);
}

.sus-hero__texture::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5, 40, 31, .98) 0%, rgba(5, 40, 31, .88) 42%, rgba(5, 40, 31, .36) 75%, rgba(5, 40, 31, .68) 100%),
    linear-gradient(180deg, rgba(5, 40, 31, .25), var(--sus-canvas) 96%);
}

.sus-hero__texture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .7;
  filter: saturate(1.18) contrast(1.05);
}

.sus-hero__copy {
  position: relative;
  z-index: 2;
  grid-column: 1 / span 7;
  align-self: center;
  max-width: 900px;
}

.sus-hero h1 {
  max-width: 10.8em;
  font-size: clamp(54px, 6.4vw, 112px);
  font-weight: 830;
  line-height: .86;
  letter-spacing: -.065em;
  text-wrap: balance;
}

.sus-hero h1 > span {
  display: block;
}

.sus-hero h1 > span + span {
  margin-top: .11em;
}

.sus-hero__copy > p {
  max-width: 610px;
  margin-top: clamp(30px, 3.4vw, 48px);
  font-size: clamp(17px, 1.4vw, 21px);
  line-height: 1.58;
  color: rgba(251, 255, 246, .82);
}

.sus-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 28px;
  margin-top: 34px;
}

.sus-button,
.sus-text-link {
  min-height: 48px;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
}

.sus-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border: 2px solid var(--sus-ink);
  box-shadow: 7px 7px 0 var(--sus-pink);
  transition: transform .25s var(--sus-ease), box-shadow .25s var(--sus-ease), background-color .25s ease;
}

.sus-button--paper {
  color: var(--sus-ink);
  background: var(--sus-paper);
}

.sus-button--ink {
  color: var(--sus-paper);
  background: var(--sus-ink);
  box-shadow: 7px 7px 0 var(--sus-cobalt);
}

.sus-button:hover {
  transform: translate(-3px, -3px);
  box-shadow: 10px 10px 0 var(--sus-pink);
}

.sus-button--ink:hover {
  box-shadow: 10px 10px 0 var(--sus-cobalt);
}

.sus-button:active {
  transform: translate(3px, 3px);
  box-shadow: 3px 3px 0 var(--sus-pink);
}

.sus-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--sus-paper);
  border-bottom: 1px solid currentColor;
}

.sus-text-link span {
  transition: transform .24s var(--sus-ease);
}

.sus-text-link:hover span {
  transform: translate(4px, -4px);
}

.sus-text-link--ink {
  color: var(--sus-ink);
}

.sus-proof-label {
  position: relative;
  z-index: 2;
  grid-column: 8 / -1;
  justify-self: end;
  width: min(100%, 560px);
  margin: 0;
  transform: rotate(1.25deg);
  transform-origin: 50% 50%;
}

.sus-proof-label__shadow {
  position: absolute;
  inset: 0;
  display: block;
  border: 3px solid var(--sus-ink);
}

.sus-proof-label__shadow--pink {
  z-index: -2;
  background: var(--sus-pink);
  transform: translate(-17px, 19px) rotate(-3deg);
}

.sus-proof-label__shadow--blue {
  z-index: -1;
  background: var(--sus-cobalt);
  transform: translate(14px, 11px) rotate(2deg);
}

.sus-proof-label__paper {
  position: relative;
  overflow: hidden;
  min-height: 640px;
  padding: 20px;
  color: var(--sus-ink);
  background: var(--sus-paper);
  border: 3px solid var(--sus-ink);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .24);
}

.sus-proof-label__paper::before {
  content: '';
  position: absolute;
  top: 13px;
  left: 50%;
  width: 14px;
  height: 14px;
  border: 2px solid var(--sus-ink);
  border-radius: 50%;
  background: var(--sus-canvas);
  transform: translateX(-50%);
}

.sus-proof-label__garment {
  position: relative;
  display: grid;
  place-items: center;
  height: clamp(300px, 29vw, 408px);
  overflow: hidden;
  background: var(--sus-saffron);
  border-bottom: 2px solid var(--sus-ink);
}

.sus-proof-label__garment::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(16, 18, 15, .1) 1px, transparent 1px),
    linear-gradient(rgba(16, 18, 15, .1) 1px, transparent 1px);
  background-size: 22px 22px;
}

.sus-proof-label__word {
  position: absolute;
  left: 50%;
  top: 50%;
  font-size: clamp(76px, 9vw, 144px);
  font-weight: 900;
  line-height: .75;
  letter-spacing: -.075em;
  color: var(--sus-pink);
  transform: translate(-50%, -50%) rotate(-90deg);
  -webkit-text-stroke: 2px var(--sus-ink);
}

.sus-proof-label__garment img {
  position: relative;
  z-index: 1;
  width: min(92%, 430px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 24px 22px rgba(16, 18, 15, .34));
}

.sus-proof-label__facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 2px solid var(--sus-ink);
}

.sus-proof-label__facts > div {
  min-width: 0;
  padding: 12px 10px 14px 0;
}

.sus-proof-label__facts > div + div {
  padding-left: 10px;
  border-left: 1px solid rgba(16, 18, 15, .35);
}

.sus-proof-label__facts dt {
  margin-bottom: 4px;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.sus-proof-label__facts dd {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
}

.sus-proof-label__stamp {
  display: inline-flex;
  margin-top: 18px;
  padding: 9px 11px;
  border: 2px solid var(--sus-ink);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: .08em;
  transform: rotate(-2deg);
}

.sus-proof-label__thread {
  position: absolute;
  right: -3%;
  bottom: -8px;
  width: 73%;
  height: 86px;
  overflow: visible;
  pointer-events: none;
}

.sus-proof-label__thread path {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sus-proof-label__thread-ghost {
  stroke: rgba(16, 18, 15, .18);
  stroke-width: 7;
}

.sus-proof-label__thread-live {
  stroke: var(--sus-cobalt);
  stroke-width: 4;
  stroke-dasharray: 680;
  stroke-dashoffset: 0;
}

.sus-hero__scroll {
  position: absolute;
  left: clamp(24px, 5vw, 78px);
  bottom: 28px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: rgba(251, 255, 246, .72);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: uppercase;
}

/* Moving principle rail */
.sus-manifesto {
  position: relative;
  z-index: 3;
  overflow: hidden;
  color: var(--sus-ink);
  background: var(--sus-acid);
  border-top: 3px solid var(--sus-ink);
  border-bottom: 3px solid var(--sus-ink);
}

.sus-manifesto__track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: susMarquee 20s linear 1 both;
}

.sus-manifesto__track > div {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  min-height: 54px;
}

.sus-manifesto span {
  padding: 0 24px;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.sus-manifesto i {
  width: 8px;
  height: 8px;
  border: 2px solid var(--sus-ink);
  background: var(--sus-pink);
  transform: rotate(45deg);
}

@keyframes susMarquee {
  to { transform: translateX(-50%); }
}

/* Shared editorial heads */
.sus-section-head {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px clamp(30px, 5vw, 84px);
}

.sus-section-head h2 {
  grid-column: 1 / span 10;
  max-width: 970px;
  font-size: clamp(48px, 6.2vw, 104px);
  font-weight: 790;
  line-height: .94;
  letter-spacing: -.055em;
}

.sus-section-head > p {
  grid-column: 7 / -1;
  max-width: 680px;
  margin-top: 22px;
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.62;
  color: rgba(251, 255, 246, .73);
}

.sus-choices .sus-section-head h2 {
  color: var(--sus-saffron);
  font-family: var(--sus-serif);
  font-weight: 600;
  letter-spacing: -.038em;
}

/* Material choice */
.sus-choices {
  padding: clamp(110px, 10vw, 170px) clamp(24px, 5vw, 78px);
}

.sus-material-lab {
  --thread-gap: 7px;
  --thread-opacity: .88;
  --fabric-lift: 1;
  position: relative;
  margin: clamp(70px, 8vw, 120px) 0 0;
  color: var(--sus-ink);
  background: var(--sus-paper);
  border: 3px solid var(--sus-ink);
  box-shadow: 14px 14px 0 var(--sus-cobalt), -10px -10px 0 var(--sus-pink);
}

.sus-material-lab[data-material-state='shortcut'] {
  --thread-gap: 18px;
  --thread-opacity: .42;
  --fabric-lift: .92;
}

.sus-material-lab__controls {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 3px solid var(--sus-ink);
}

.sus-material-lab__controls button {
  min-height: 58px;
  padding: 12px 18px;
  border: 0;
  border-radius: 0;
  color: var(--sus-ink);
  background: transparent;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease;
}

.sus-material-lab__controls button + button {
  border-left: 2px solid var(--sus-ink);
}

.sus-material-lab__controls button[aria-pressed='true'] {
  color: var(--sus-paper);
  background: var(--sus-ink);
}

.sus-material-lab__controls button:hover:not([aria-pressed='true']) {
  background: var(--sus-saffron);
}

.sus-material-lab__body {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  min-height: 560px;
}

.sus-fabric-demo {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  background: var(--sus-pink);
  border-right: 3px solid var(--sus-ink);
}

.sus-fabric-demo__field {
  position: absolute;
  inset: clamp(28px, 4vw, 62px);
  display: block;
  border: 3px solid var(--sus-ink);
  background-color: var(--sus-canvas-deep);
  background-image:
    repeating-linear-gradient(90deg, rgba(197, 255, 50, var(--thread-opacity)) 0 1.5px, transparent 1.5px var(--thread-gap)),
    repeating-linear-gradient(0deg, rgba(244, 245, 240, var(--thread-opacity)) 0 1px, transparent 1px var(--thread-gap));
  box-shadow: 14px 14px 0 var(--sus-saffron);
  transform: perspective(900px) rotateX(5deg) scale(var(--fabric-lift));
  transform-origin: center;
}

.sus-fabric-demo__field::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 48% 42%, transparent 0 20%, rgba(0, 0, 0, .34) 100%);
}

.sus-fabric-demo__edge {
  position: absolute;
  left: 50%;
  bottom: 12%;
  width: 60%;
  height: 24px;
  border: 3px solid var(--sus-ink);
  background:
    repeating-linear-gradient(90deg, var(--sus-paper) 0 2px, transparent 2px var(--thread-gap)),
    var(--sus-cobalt);
  transform: translateX(-50%) rotate(-2deg);
}

.sus-fabric-demo__scan {
  position: absolute;
  top: 8%;
  bottom: 8%;
  left: 28%;
  width: 2px;
  background: var(--sus-white);
  box-shadow: 0 0 22px var(--sus-acid);
  opacity: .82;
}

.sus-material-lab__copy {
  display: grid;
  align-items: center;
  padding: clamp(34px, 5vw, 78px);
}

.sus-material-lab__copy h3 {
  max-width: 12ch;
  font-size: clamp(34px, 3.8vw, 58px);
  font-weight: 790;
  line-height: .99;
  letter-spacing: -.045em;
}

.sus-material-lab__copy p {
  max-width: 520px;
  margin-top: 28px;
  font-size: 17px;
  line-height: 1.62;
}

.sus-pullquote {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  margin: clamp(130px, 14vw, 220px) 0 clamp(96px, 10vw, 160px) clamp(0px, 8vw, 130px);
  padding: clamp(28px, 4vw, 64px) 0;
}

.sus-pullquote p {
  max-width: 19ch;
  font-family: var(--sus-serif);
  font-size: clamp(42px, 5.3vw, 88px);
  font-style: normal;
  font-weight: 600;
  line-height: .98;
  letter-spacing: -.045em;
  color: var(--sus-cobalt);
  text-wrap: balance;
}

/* India / origin chapter */
.sus-origin {
  display: grid;
  grid-template-columns: minmax(360px, .78fr) minmax(0, 1.22fr);
  gap: clamp(50px, 7vw, 118px);
  padding: clamp(110px, 10vw, 170px) clamp(24px, 5vw, 78px);
  border-top: 1px solid var(--sus-rule);
}

.sus-origin__visual {
  position: sticky;
  top: 110px;
  align-self: start;
  min-height: min(76svh, 770px);
}

.sus-origin__image {
  position: absolute;
  inset: 4% 10% 20% 8%;
  overflow: hidden;
  border: 3px solid var(--sus-ink);
  background: var(--sus-paper);
  box-shadow: 18px 18px 0 var(--sus-pink), -14px -14px 0 var(--sus-saffron);
  transform: rotate(-2deg);
}

.sus-origin__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 54%;
  filter: saturate(1.06) contrast(1.02);
}

.sus-origin__route {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 7%;
  z-index: 2;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 0 14px;
  color: var(--sus-ink);
  background: var(--sus-acid);
  border: 3px solid var(--sus-ink);
  box-shadow: 8px 8px 0 var(--sus-cobalt);
  transform: rotate(1deg);
}

.sus-origin__route span {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
}

.sus-origin__route i {
  position: relative;
  display: block;
  height: 2px;
  background: var(--sus-ink);
}

.sus-origin__route b {
  position: absolute;
  top: 50%;
  left: 0;
  width: 10px;
  height: 10px;
  border: 2px solid var(--sus-ink);
  border-radius: 50%;
  background: var(--sus-pink);
  transform: translate(-50%, -50%);
}

.sus-origin__caption {
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: 0;
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: .06em;
  color: rgba(251, 255, 246, .62);
}

.sus-origin__story .sus-section-head {
  display: block;
}

.sus-origin__story .sus-section-head h2,
.sus-origin__story .sus-section-head > p {
  max-width: 760px;
}

.sus-origin__story .sus-section-head h2 {
  font-size: clamp(48px, 5.5vw, 88px);
}

.sus-origin__story .sus-section-head > p {
  margin-top: 34px;
}

.sus-origin__principles {
  display: grid;
  gap: 28px;
  margin-top: clamp(74px, 9vw, 130px);
}

.sus-principle {
  min-height: 330px;
  padding: clamp(30px, 4vw, 58px);
  color: var(--sus-ink);
  border: 3px solid var(--sus-ink);
  box-shadow: 11px 11px 0 var(--sus-ink);
}

.sus-principle--acid { background: var(--sus-acid); }
.sus-principle--cobalt { color: var(--sus-paper); background: var(--sus-cobalt-deep); }
.sus-principle--saffron { background: var(--sus-saffron); }

.sus-principle > span {
  display: block;
  margin-bottom: clamp(36px, 6vw, 74px);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.sus-principle h3 {
  max-width: 13ch;
  font-size: clamp(34px, 4vw, 62px);
  font-weight: 820;
  line-height: .96;
  letter-spacing: -.05em;
}

.sus-principle p {
  max-width: 620px;
  margin-top: 28px;
  font-size: 16px;
  line-height: 1.65;
}

/* Evidence / honesty */
.sus-honesty {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .5fr);
  align-items: end;
  gap: clamp(28px, 5vw, 82px);
  margin: clamp(40px, 5vw, 78px);
  padding: clamp(44px, 6vw, 88px);
  color: var(--sus-ink);
  background: var(--sus-paper-warm);
  border: 3px solid var(--sus-ink);
  box-shadow: 16px 16px 0 var(--sus-pink), -10px -10px 0 var(--sus-cobalt);
}

.sus-honesty h2 {
  max-width: 15ch;
  font-size: clamp(43px, 5.5vw, 88px);
  font-weight: 820;
  line-height: .94;
  letter-spacing: -.055em;
}

.sus-honesty p {
  max-width: 650px;
  margin-top: 28px;
  font-size: 17px;
  line-height: 1.62;
}

.sus-honesty > a {
  display: inline-flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px;
  min-height: 60px;
  padding-bottom: 10px;
  color: var(--sus-ink);
  border-bottom: 3px solid var(--sus-ink);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
}

/* Repeat wear */
.sus-wear {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(340px, .78fr) minmax(280px, .67fr);
  align-items: center;
  gap: clamp(40px, 5vw, 84px);
  padding: clamp(120px, 12vw, 190px) clamp(24px, 5vw, 78px);
}

.sus-wear__intro h2 {
  max-width: 11ch;
  font-size: clamp(52px, 6.3vw, 102px);
  font-weight: 810;
  line-height: .92;
  letter-spacing: -.06em;
}

.sus-wear__intro p {
  max-width: 610px;
  margin-top: 34px;
  font-size: 18px;
  line-height: 1.65;
  color: rgba(251, 255, 246, .73);
}

.sus-wear__loop {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  margin: 0;
  border: 3px solid var(--sus-ink);
  background: var(--sus-cobalt);
  box-shadow: 15px 15px 0 var(--sus-pink);
}

.sus-wear__loop::before {
  content: '';
  position: absolute;
  inset: 11%;
  border: 2px dashed var(--sus-paper);
  border-radius: 50%;
  opacity: .5;
}

.sus-wear__disc {
  position: absolute;
  width: 64%;
  aspect-ratio: 1;
  border: 3px solid var(--sus-ink);
  border-radius: 50%;
  background: var(--sus-saffron);
}

.sus-wear__loop img {
  position: relative;
  z-index: 2;
  width: 93%;
  height: auto;
  filter: drop-shadow(0 20px 18px rgba(16, 18, 15, .36));
}

.sus-wear__orbit {
  position: absolute;
  inset: 4%;
  z-index: 3;
  display: block;
  pointer-events: none;
}

.sus-wear__orbit > span {
  position: absolute;
  padding: 6px 8px;
  color: var(--sus-ink);
  background: var(--sus-acid);
  border: 2px solid var(--sus-ink);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
}

.sus-wear__orbit > span:nth-child(1) { top: 0; left: 50%; transform: translateX(-50%); }
.sus-wear__orbit > span:nth-child(2) { top: 50%; right: 0; transform: translateY(-50%) rotate(90deg); }
.sus-wear__orbit > span:nth-child(3) { bottom: 0; left: 50%; transform: translateX(-50%) rotate(180deg); }
.sus-wear__orbit > span:nth-child(4) { top: 50%; left: 0; transform: translateY(-50%) rotate(-90deg); }

.sus-wear__checks {
  display: grid;
  gap: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(244, 245, 240, .36);
}

.sus-wear__checks li {
  display: grid;
  gap: 10px;
  padding: 23px 0;
  border-bottom: 1px solid rgba(244, 245, 240, .36);
}

.sus-wear__checks span {
  color: var(--sus-acid);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.sus-wear__checks strong {
  max-width: 27ch;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
}

/* Proof ledger */
.sus-ledger {
  margin: 0 clamp(24px, 5vw, 78px) clamp(110px, 12vw, 180px);
  padding: clamp(34px, 5vw, 72px);
  color: var(--sus-ink);
  background: var(--sus-paper);
  border: 3px solid var(--sus-ink);
  box-shadow: 14px 14px 0 var(--sus-saffron);
}

.sus-ledger header {
  display: grid;
  grid-template-columns: 1fr;
  align-items: end;
  gap: 30px;
  padding-bottom: clamp(34px, 5vw, 68px);
  border-bottom: 4px solid var(--sus-ink);
}

.sus-ledger h2 {
  max-width: 15ch;
  font-size: clamp(44px, 6vw, 94px);
  font-weight: 820;
  line-height: .92;
  letter-spacing: -.055em;
}

.sus-ledger__rows > div {
  display: grid;
  grid-template-columns: .42fr 1fr;
  gap: 30px;
  padding: clamp(18px, 2.2vw, 30px) 0;
  border-bottom: 1px solid rgba(16, 18, 15, .35);
}

.sus-ledger__rows dt {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.sus-ledger__rows dd {
  font-size: clamp(16px, 1.8vw, 24px);
  font-weight: 620;
  line-height: 1.35;
}

/* Interactive proof builder */
.sus-proof-game {
  padding: 0 clamp(24px, 5vw, 78px) clamp(120px, 12vw, 190px);
}

.sus-proof-game__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr);
  align-items: end;
  gap: clamp(34px, 7vw, 116px);
  margin-bottom: clamp(54px, 7vw, 92px);
}

.sus-proof-game__head h2 {
  max-width: 11ch;
  color: var(--sus-pink);
  font-size: clamp(52px, 7vw, 112px);
  font-weight: 830;
  line-height: .89;
  letter-spacing: -.062em;
}

.sus-proof-game__head p {
  max-width: 570px;
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.62;
  color: rgba(251, 255, 246, .76);
}

.sus-proof-game__board {
  --proof-progress: 0;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(310px, 5fr) minmax(80px, 1fr) minmax(390px, 6fr);
  align-items: center;
  min-height: 740px;
  padding: clamp(38px, 5vw, 70px);
  overflow: hidden;
  color: var(--sus-paper);
  background:
    linear-gradient(rgba(244, 245, 240, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(244, 245, 240, .07) 1px, transparent 1px),
    var(--sus-cobalt-deep);
  background-size: 32px 32px, 32px 32px, auto;
  border: 3px solid var(--sus-ink);
  box-shadow: 16px 16px 0 var(--sus-saffron), -10px -10px 0 var(--sus-pink);
}

.sus-proof-game__board::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 6;
  height: 12px;
  background: var(--sus-acid);
  transform: scaleX(var(--proof-progress));
  transform-origin: 0 50%;
  transition: transform .34s var(--sus-ease);
}

.sus-proof-game__label {
  position: relative;
  z-index: 3;
  grid-column: 1;
  justify-self: center;
  width: min(100%, 430px);
  min-height: 560px;
  padding: clamp(30px, 4vw, 52px);
  color: var(--sus-ink);
  background: var(--sus-paper);
  border: 3px solid var(--sus-ink);
  box-shadow: 14px 14px 0 var(--sus-pink);
  transform: rotate(-1.75deg);
}

.sus-proof-game__label::after {
  content: 'MRVËY / ORDER CHECK';
  position: absolute;
  right: 24px;
  bottom: 20px;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
}

html[lang='fr'] .sus-proof-game__label::after {
  content: 'MRVËY / CONTRÔLE COMMANDE';
}

.sus-proof-game__punch {
  position: absolute;
  top: 22px;
  right: 24px;
  width: 16px;
  aspect-ratio: 1;
  border: 3px solid var(--sus-ink);
  border-radius: 50%;
  background: var(--sus-canvas);
}

.sus-proof-game__count {
  display: block;
  margin-bottom: clamp(28px, 4vw, 52px);
  color: var(--sus-cobalt-deep);
  font-size: clamp(76px, 9vw, 128px);
  font-weight: 900;
  line-height: .78;
  letter-spacing: -.08em;
}

.sus-proof-game__slots {
  display: grid;
  gap: 0;
  padding: 0;
  list-style: none;
  border-top: 3px solid var(--sus-ink);
}

.sus-proof-game__slots li {
  position: relative;
  min-height: 64px;
  padding: 21px 42px 16px 0;
  border-bottom: 1px solid rgba(16, 18, 15, .42);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sus-proof-game__slots li::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 4px;
  width: 20px;
  aspect-ratio: 1;
  border: 2px solid var(--sus-ink);
  background: transparent;
  transform: translateY(-50%) rotate(45deg) scale(.7);
  transition: transform .24s var(--sus-ease), background-color .24s ease;
}

.sus-proof-game__slots li[data-proof-filled]::after {
  background: var(--slot-color, var(--sus-acid));
  transform: translateY(-50%) rotate(45deg) scale(1);
}

.sus-proof-game__slots li:nth-child(1) { --slot-color: var(--sus-acid); }
.sus-proof-game__slots li:nth-child(2) { --slot-color: var(--sus-cobalt); }
.sus-proof-game__slots li:nth-child(3) { --slot-color: var(--sus-pink); }
.sus-proof-game__slots li:nth-child(4) { --slot-color: var(--sus-saffron); }

.sus-proof-game__controls {
  position: relative;
  z-index: 4;
  grid-column: 3;
}

.sus-proof-game__controls > p {
  max-width: 540px;
  margin-bottom: 24px;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(251, 255, 246, .8);
}

.sus-proof-game__tokens {
  display: grid;
  gap: 14px;
}

.sus-proof-game__tokens button {
  --token-color: var(--sus-acid);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  gap: 7px 18px;
  min-height: 112px;
  padding: 20px 20px 20px 24px;
  border: 3px solid var(--sus-ink);
  border-radius: 0;
  color: var(--sus-ink);
  background: var(--sus-paper);
  box-shadow: 7px 7px 0 var(--sus-ink);
  font: inherit;
  text-align: left;
  touch-action: manipulation;
  cursor: pointer;
  transition: background-color .22s ease, box-shadow .22s var(--sus-ease), transform .22s var(--sus-ease);
}

.sus-proof-game__tokens button:nth-child(2) { --token-color: var(--sus-cobalt); }
.sus-proof-game__tokens button:nth-child(3) { --token-color: var(--sus-pink); }
.sus-proof-game__tokens button:nth-child(4) { --token-color: var(--sus-saffron); }

.sus-proof-game__tokens button:hover,
.sus-proof-game__tokens button:focus-visible {
  box-shadow: 10px 10px 0 var(--token-color);
}

.sus-proof-game__tokens button:active,
.sus-proof-game__tokens button.is-pressed {
  transform: translate(3px, 3px);
  box-shadow: 3px 3px 0 var(--token-color);
}

.sus-proof-game__tokens button[aria-pressed='true'] {
  background: var(--token-color);
  box-shadow: 4px 4px 0 var(--sus-ink);
}

.sus-proof-game__tokens button > strong {
  align-self: end;
  font-size: clamp(18px, 1.55vw, 23px);
  font-weight: 820;
  line-height: 1.1;
  letter-spacing: -.025em;
}

.sus-proof-game__tokens button > span:not(.sus-proof-game__token-state) {
  grid-row: 2;
  color: rgba(16, 18, 15, .7);
  font-size: 13px;
  line-height: 1.35;
}

.sus-proof-game__token-state {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  min-width: 62px;
  padding: 9px 8px;
  border: 2px solid var(--sus-ink);
  background: var(--token-color);
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
}

.sus-proof-game__tokens button[aria-pressed='true'] .sus-proof-game__token-state {
  color: var(--sus-paper);
  background: var(--sus-ink);
}

.sus-proof-game__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 26px;
}

.sus-proof-game__status {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.sus-proof-game__footer button {
  min-height: 48px;
  padding: 0 18px;
  border: 2px solid var(--sus-paper);
  border-radius: 0;
  color: var(--sus-paper);
  background: var(--sus-ink);
  font: inherit;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
  touch-action: manipulation;
  cursor: pointer;
}

.sus-proof-game__footer button:disabled {
  opacity: .46;
  cursor: not-allowed;
}

.sus-proof-game__threads {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.sus-proof-game__threads path {
  fill: none;
  stroke: var(--sus-acid);
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(3px 3px 0 var(--sus-ink));
  opacity: .16;
  transition: opacity .2s ease;
}

.sus-proof-game__threads path[data-proof-path-active] {
  opacity: 1;
}

.sus-proof-game__threads path:nth-child(2) { stroke: var(--sus-cobalt); }
.sus-proof-game__threads path:nth-child(3) { stroke: var(--sus-pink); }
.sus-proof-game__threads path:nth-child(4) { stroke: var(--sus-saffron); }

.sus-proof-game__needle {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 7;
  width: 15px;
  height: 42px;
  border: 2px solid var(--sus-ink);
  border-radius: 50%;
  background: var(--sus-paper);
  box-shadow: 4px 4px 0 var(--sus-pink);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) rotate(24deg);
}

.sus-proof-game__needle::after {
  content: '';
  position: absolute;
  top: 5px;
  left: 50%;
  width: 4px;
  height: 8px;
  border: 1px solid var(--sus-ink);
  border-radius: 50%;
  transform: translateX(-50%);
}

.sus-proof-game__complete {
  position: absolute;
  top: 22px;
  left: 22%;
  z-index: 8;
  max-width: none;
  padding: 10px 16px;
  color: var(--sus-ink);
  background: var(--sus-acid);
  border: 2px solid var(--sus-ink);
  box-shadow: 5px 5px 0 var(--sus-pink);
  font-size: clamp(16px, 1.8vw, 24px);
  font-style: normal;
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.025em;
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  transform: translate(-50%, 12px) rotate(-2deg) scale(.96);
  pointer-events: none;
}

.sus-proof-game[data-proof-complete='true'] .sus-proof-game__complete {
  opacity: 1;
  transform: translate(-50%, 0) rotate(-2deg) scale(1);
}

/* Closing challenge */
.sus-close {
  position: relative;
  min-height: 84svh;
  margin: 0 clamp(24px, 5vw, 78px) clamp(80px, 8vw, 130px);
  padding: clamp(60px, 8vw, 120px);
  overflow: hidden;
  color: var(--sus-ink);
  background: var(--sus-saffron);
  border: 3px solid var(--sus-ink);
  box-shadow: 18px 18px 0 var(--sus-pink);
}

.sus-close > div {
  position: relative;
  z-index: 2;
  max-width: 1180px;
}

.sus-close h2 {
  max-width: 12.5ch;
  font-size: clamp(57px, 8vw, 132px);
  color: var(--sus-cobalt);
  font-family: var(--sus-serif);
  font-style: italic;
  font-weight: 600;
  line-height: .87;
  letter-spacing: -.045em;
}

.sus-close p {
  max-width: 690px;
  margin-top: clamp(32px, 4vw, 56px);
  font-size: clamp(17px, 1.6vw, 22px);
  line-height: 1.6;
}

/* Interaction states */
.sustainability-story :is(a, button):focus-visible {
  outline: 3px solid var(--sus-acid);
  outline-offset: 5px;
  box-shadow: 0 0 0 3px var(--sus-ink);
}

.sus-material-lab :is(button):focus-visible,
.sus-honesty a:focus-visible,
.sus-close :is(a):focus-visible {
  outline-color: var(--sus-cobalt);
}

/* Compact desktop navigation after the sixth story route was added. */
@media (max-width: 1180px) and (min-width: 769px) {
  body.sustainability-page > nav .nav-links {
    gap: clamp(10px, 1.45vw, 18px);
  }

  body.sustainability-page > nav .nav-lang {
    padding-left: 12px;
    margin-left: 0;
  }

  body.sustainability-page > nav .nav-cta {
    padding-inline: 14px;
  }
}

@media (max-width: 1180px) {
  .sus-hero {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .sus-hero__copy { grid-column: 1 / span 6; }
  .sus-proof-label { grid-column: 7 / -1; }
  .sus-proof-label__paper { min-height: 590px; }

  .sus-wear {
    grid-template-columns: 1fr 1fr;
  }

  .sus-wear__intro { grid-column: 1 / -1; }
}

@media (max-width: 960px) {
  .sus-progress {
    right: 6px;
  }

  .sus-hero {
    grid-template-columns: 1fr;
    gap: 70px;
    padding-top: 128px;
  }

  .sus-hero__copy,
  .sus-proof-label {
    grid-column: 1;
  }

  .sus-hero__copy {
    max-width: 820px;
  }

  .sus-hero h1 {
    max-width: 9.4em;
    font-size: clamp(64px, 10.5vw, 104px);
  }

  .sus-proof-label {
    justify-self: center;
    width: min(84vw, 620px);
  }

  .sus-section-head {
    grid-template-columns: 1fr;
  }

  .sus-section-head h2,
  .sus-section-head > p {
    grid-column: 1;
  }

  .sus-material-lab__body {
    grid-template-columns: 1fr;
  }

  .sus-fabric-demo {
    min-height: 480px;
    border-right: 0;
    border-bottom: 3px solid var(--sus-ink);
  }

  .sus-origin {
    grid-template-columns: 1fr;
  }

  .sus-origin__visual {
    position: relative;
    top: auto;
    min-height: 720px;
  }

  .sus-honesty {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .sus-honesty > a {
    max-width: 640px;
  }
}

@media (max-width: 768px) {
  body.sustainability-page > nav.nav--menu-open {
    background: var(--sus-canvas-deep) !important;
  }

  body.sustainability-page > nav .nav-links {
    background:
      radial-gradient(100% 65% at 100% 0, rgba(197, 255, 50, .08), transparent 62%),
      var(--sus-canvas-deep);
  }

  .sus-progress {
    top: 66px;
    right: 4px;
    bottom: 10px;
    width: 2px;
  }

  .sus-hero {
    min-height: auto;
    gap: 56px;
    padding: 112px 20px 78px;
  }

  .sus-hero h1 {
    max-width: 9em;
    font-size: clamp(47px, 14.5vw, 72px);
    line-height: .9;
    letter-spacing: -.058em;
  }

  .sus-hero__copy > p {
    margin-top: 28px;
    font-size: 17px;
  }

  .sus-actions {
    align-items: stretch;
    gap: 18px;
  }

  .sus-button {
    width: 100%;
    min-height: 52px;
  }

  .sus-text-link {
    width: fit-content;
    min-height: 44px;
  }

  .sus-proof-label {
    width: calc(100% - 16px);
    transform: rotate(.7deg);
  }

  .sus-proof-label__shadow--pink {
    transform: translate(-9px, 11px) rotate(-2deg);
  }

  .sus-proof-label__shadow--blue {
    transform: translate(8px, 7px) rotate(1deg);
  }

  .sus-proof-label__paper {
    min-height: 0;
    padding: 13px;
  }

  .sus-proof-label__garment {
    height: 315px;
  }

  .sus-proof-label__word {
    font-size: 86px;
  }

  .sus-proof-label__facts {
    grid-template-columns: 1fr;
  }

  .sus-proof-label__facts > div {
    display: grid;
    grid-template-columns: 82px 1fr;
    align-items: baseline;
    gap: 10px;
    padding: 10px 0;
  }

  .sus-proof-label__facts > div + div {
    padding-left: 0;
    border-top: 1px solid rgba(16, 18, 15, .35);
    border-left: 0;
  }

  .sus-proof-label__stamp {
    margin-bottom: 10px;
    font-size: 8px;
  }

  .sus-proof-label__thread {
    bottom: -5px;
    width: 60%;
    height: 66px;
  }

  .sus-hero__scroll {
    display: none;
  }

  .sus-manifesto span {
    padding-inline: 18px;
  }

  .sus-choices,
  .sus-origin,
  .sus-wear {
    padding: 92px 20px;
  }

  .sus-section-head h2,
  .sus-origin__story .sus-section-head h2,
  .sus-wear__intro h2 {
    font-size: clamp(43px, 12.5vw, 62px);
  }

  .sus-section-head > p,
  .sus-origin__story .sus-section-head > p,
  .sus-wear__intro p {
    font-size: 16px;
  }

  .sus-material-lab {
    margin-top: 62px;
    box-shadow: 8px 8px 0 var(--sus-cobalt), -6px -6px 0 var(--sus-pink);
  }

  .sus-material-lab__controls button {
    min-height: 64px;
    padding: 11px;
    font-size: 9px;
  }

  .sus-fabric-demo {
    min-height: 360px;
  }

  .sus-fabric-demo__field {
    inset: 34px 28px 58px;
    box-shadow: 8px 8px 0 var(--sus-saffron);
  }

  .sus-material-lab__copy {
    padding: 34px 26px 42px;
  }

  .sus-material-lab__copy h3 {
    font-size: 36px;
  }

  .sus-material-lab__copy p {
    font-size: 16px;
  }

  .sus-pullquote {
    grid-template-columns: 1fr;
    margin: 108px 0 96px;
    padding: 34px 0 42px;
  }

  .sus-pullquote p {
    font-size: clamp(39px, 11vw, 56px);
    line-height: 1.02;
  }

  .sus-origin__visual {
    min-height: 570px;
  }

  .sus-origin__image {
    inset: 5% 8% 20%;
    box-shadow: 10px 10px 0 var(--sus-pink), -8px -8px 0 var(--sus-saffron);
  }

  .sus-origin__caption {
    left: 8%;
    right: 8%;
  }

  .sus-origin__principles {
    margin-top: 66px;
  }

  .sus-principle {
    min-height: 0;
    padding: 32px 26px 38px;
    box-shadow: 7px 7px 0 var(--sus-ink);
  }

  .sus-principle > span {
    margin-bottom: 40px;
  }

  .sus-principle h3 {
    font-size: 38px;
  }

  .sus-honesty {
    margin: 30px 20px 84px;
    padding: 34px 26px 40px;
    box-shadow: 9px 9px 0 var(--sus-pink), -6px -6px 0 var(--sus-cobalt);
  }

  .sus-honesty h2 {
    font-size: 43px;
  }

  .sus-wear {
    grid-template-columns: 1fr;
  }

  .sus-wear__intro {
    grid-column: 1;
  }

  .sus-wear__loop {
    width: min(100%, 470px);
    justify-self: center;
    box-shadow: 9px 9px 0 var(--sus-pink);
  }

  .sus-wear__checks strong {
    font-size: 17px;
  }

  .sus-ledger {
    margin: 0 20px 92px;
    padding: 30px 24px;
    box-shadow: 8px 8px 0 var(--sus-saffron);
  }

  .sus-ledger header,
  .sus-ledger__rows > div {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .sus-ledger h2 {
    margin-top: 14px;
    font-size: 45px;
  }

  .sus-ledger__rows > div {
    padding: 20px 0;
  }

  .sus-ledger__rows dd {
    font-size: 17px;
  }

  .sus-close {
    min-height: 0;
    margin: 0 20px 84px;
    padding: 70px 26px 78px;
    box-shadow: 10px 10px 0 var(--sus-pink);
  }

  .sus-close h2 {
    max-width: 10ch;
    font-size: clamp(48px, 13.5vw, 70px);
  }

}

@media (max-width: 960px) {
  .sus-proof-game {
    padding-right: 20px;
    padding-left: 20px;
  }

  .sus-proof-game__head {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .sus-proof-game__head h2 {
    max-width: 12ch;
  }

  .sus-proof-game__board {
    display: block;
    min-height: 0;
    padding: 34px;
  }

  .sus-proof-game__label {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 28px;
    width: 100%;
    min-height: 0;
    margin-bottom: 42px;
    padding: 28px;
    box-shadow: 9px 9px 0 var(--sus-pink);
    transform: none;
  }

  .sus-proof-game__count {
    margin: 0;
    font-size: clamp(68px, 13vw, 104px);
  }

  .sus-proof-game__slots {
    grid-template-columns: 1fr 1fr;
    border-top: 0;
    border-left: 3px solid var(--sus-ink);
  }

  .sus-proof-game__slots li {
    min-height: 56px;
    padding: 18px 34px 12px 18px;
  }

  .sus-proof-game__tokens {
    grid-template-columns: 1fr 1fr;
  }

  .sus-proof-game__tokens button {
    min-height: 142px;
  }

  .sus-proof-game__threads,
  .sus-proof-game__needle {
    display: none;
  }

  .sus-proof-game__complete {
    left: 50%;
  }
}

@media (max-width: 768px) {
  .sus-proof-game {
    padding-bottom: 110px;
  }

  .sus-proof-game__head {
    margin-bottom: 46px;
  }

  .sus-proof-game__head h2 {
    font-size: clamp(48px, 13.5vw, 68px);
  }

  .sus-proof-game__head p {
    font-size: 16px;
  }

  .sus-proof-game__board {
    padding: 20px 18px 28px;
    box-shadow: 9px 9px 0 var(--sus-saffron), -6px -6px 0 var(--sus-pink);
    background-size: 24px 24px, 24px 24px, auto;
  }

  .sus-proof-game__board::after {
    height: 9px;
  }

  .sus-proof-game__label {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 34px;
    padding: 24px 20px 28px;
  }

  .sus-proof-game__label::after {
    right: 18px;
    bottom: 12px;
    font-size: 7px;
  }

  .sus-proof-game__count {
    font-size: 68px;
  }

  .sus-proof-game__slots {
    grid-template-columns: 1fr 1fr;
    border-top: 3px solid var(--sus-ink);
    border-left: 0;
  }

  .sus-proof-game__slots li {
    padding-left: 0;
    font-size: 10px;
  }

  .sus-proof-game__controls > p {
    font-size: 14px;
  }

  .sus-proof-game__tokens button {
    min-height: 128px;
    padding: 17px;
  }

  .sus-proof-game__tokens button > strong {
    font-size: 18px;
  }

  .sus-proof-game__token-state {
    min-width: 54px;
  }

  .sus-proof-game__footer {
    align-items: stretch;
    flex-direction: column;
  }

  .sus-proof-game__footer button {
    width: 100%;
  }

  .sus-proof-game__complete {
    display: none;
  }
}

@media (max-width: 430px) {
  .sus-proof-game__tokens {
    grid-template-columns: 1fr;
  }

  .sus-proof-game__tokens button {
    min-height: 108px;
  }
}

@media (max-width: 390px) {
  .sus-hero h1 {
    font-size: 47px;
  }

  .sus-proof-label__garment {
    height: 280px;
  }

  .sus-section-head h2,
  .sus-origin__story .sus-section-head h2,
  .sus-wear__intro h2 {
    font-size: 42px;
  }

  .sus-origin__visual {
    min-height: 520px;
  }

  .sus-principle h3,
  .sus-material-lab__copy h3 {
    font-size: 34px;
  }

  .sus-close h2 {
    font-size: 46px;
  }

  .sus-proof-game__slots {
    grid-template-columns: 1fr;
  }
}

@media (max-height: 500px) and (orientation: landscape) {
  .sus-hero {
    min-height: auto;
    padding-top: 104px;
  }

  .sus-proof-label {
    width: min(68vw, 500px);
  }

  .sus-origin__visual {
    min-height: 620px;
  }
}

/* Landscape phones get a compact two-panel opening instead of a cropped
   portrait composition. */
@media (min-width: 769px) and (max-width: 960px) and (max-height: 500px) and (orientation: landscape) {
  .sus-hero {
    grid-template-columns: minmax(0, .92fr) minmax(300px, 1.08fr);
    align-items: start;
    gap: 28px;
    min-height: 100svh;
    padding: 104px 32px 56px;
  }

  .sus-hero__copy {
    grid-column: 1;
    align-self: center;
  }

  .sus-hero h1 {
    max-width: 9.5em;
    font-size: clamp(48px, 6.4vw, 58px);
    line-height: .88;
  }

  .sus-hero__copy > p {
    margin-top: 22px;
    font-size: 15px;
    line-height: 1.45;
  }

  .sus-actions {
    gap: 12px 20px;
    margin-top: 22px;
  }

  .sus-button,
  .sus-text-link {
    min-height: 42px;
    font-size: 10px;
  }

  .sus-proof-label {
    grid-column: 2;
    align-self: start;
    justify-self: end;
    width: 100%;
  }

  .sus-proof-label__paper {
    min-height: 0;
    padding: 14px;
  }

  .sus-proof-label__garment {
    height: 226px;
  }

  .sus-proof-label__facts > div {
    padding: 8px 6px 9px 0;
  }

  .sus-proof-label__facts > div + div {
    padding-left: 6px;
  }

  .sus-proof-label__facts dt {
    font-size: 6px;
  }

  .sus-proof-label__facts dd {
    font-size: 7px;
  }

  .sus-proof-label__stamp {
    margin-top: 10px;
    padding: 6px 8px;
    font-size: 7px;
  }

  .sus-proof-label__thread,
  .sus-hero__scroll {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sus-progress {
    display: none;
  }

  .sus-manifesto__track {
    animation: none;
  }

  .sus-manifesto__track > div:nth-child(2) {
    display: none;
  }

  .sus-progress i,
  .sus-button,
  .sus-text-link span {
    transition: none;
  }

  .sus-fabric-demo__scan {
    display: none;
  }

  .sus-proof-game__needle {
    display: none;
  }

  .sus-proof-game__board::after,
  .sus-proof-game__slots li::after,
  .sus-proof-game__tokens button {
    transition: none;
  }
}

@media (forced-colors: active) {
  .sus-proof-label__paper,
  .sus-material-lab,
  .sus-principle,
  .sus-honesty,
  .sus-ledger,
  .sus-close,
  .sus-wear__loop,
  .sus-proof-game__board,
  .sus-proof-game__label,
  .sus-proof-game__tokens button {
    border: 3px solid CanvasText;
    box-shadow: none;
  }

  .sus-progress {
    display: none;
  }

  .sus-proof-game__threads,
  .sus-proof-game__needle {
    display: none;
  }
}
