.motion-ready { overflow-x: clip; }

.page-progress {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  height: 3px;
  pointer-events: none;
  background: transparent;
}

.page-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--red, #ef2325);
  transform: scaleX(0);
  transform-origin: left;
  will-change: transform;
}

.back-to-top {
  position: fixed;
  z-index: 45;
  right: 22px;
  bottom: 22px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  color: #fff;
  border: 1px solid #ffffff55;
  border-radius: 50%;
  background: #171717e8;
  box-shadow: 0 12px 35px #0003;
  opacity: 0;
  transform: translateY(15px);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
  cursor: pointer;
}

.back-to-top[data-visible] { opacity: 1; transform: none; pointer-events: auto; }
.back-to-top:focus-visible { outline: 3px solid var(--red, #ef2325); outline-offset: 3px; }

[data-lightbox] { cursor: zoom-in; }
[data-lightbox]:focus-visible { outline: 4px solid var(--red, #ef2325); outline-offset: -4px; }

html.motion-ready main > [data-section-transition] {
  opacity: 0;
  transition: opacity .72s cubic-bezier(.22,.61,.36,1),
              transform .82s cubic-bezier(.22,.61,.36,1),
              filter .72s ease;
}

html.motion-ready [data-section-transition="rise"] { transform: translate3d(0, 28px, 0); }
html.motion-ready [data-section-transition="slide-left"] { transform: translate3d(-24px, 0, 0); }
html.motion-ready [data-section-transition="slide-right"] { transform: translate3d(24px, 0, 0); }
html.motion-ready [data-section-transition="focus"] { transform: scale(.985); filter: blur(4px); }

html.motion-ready main > [data-section-transition][data-section-visible] {
  opacity: 1;
  transform: none;
  filter: none;
}

html.motion-ready [data-section-transition] [data-reveal] {
  transform: translate3d(0, 10px, 0);
  transition-delay: var(--reveal-delay, 0ms);
  transition-duration: .58s;
}

html.motion-ready [data-section-transition] [data-reveal][data-visible] { transform: none; }

@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  html.motion-ready {
    scroll-snap-type: y proximity;
    scroll-padding-top: var(--section-scroll-offset, 0px);
  }

  html.motion-ready main > section {
    scroll-snap-align: start;
    scroll-snap-stop: normal;
    scroll-margin-top: var(--section-scroll-offset, 0px);
  }
}

.lightbox {
  width: 100vw;
  max-width: none;
  height: 100vh;
  max-height: none;
  margin: 0;
  padding: clamp(18px, 4vw, 55px);
  color: #fff;
  border: 0;
  background: #090909f7;
}

.lightbox[open] { display: grid; grid-template-columns: 56px 1fr 56px; align-items: center; gap: clamp(8px, 2vw, 28px); }
.lightbox::backdrop { background: #000e; }
.lightbox figure { min-width: 0; margin: 0; display: grid; place-items: center; }
.lightbox img { max-width: 100%; max-height: calc(100vh - 135px); object-fit: contain; box-shadow: 0 20px 70px #0008; }
.lightbox figcaption { width: min(850px, 100%); padding-top: 15px; display: flex; justify-content: space-between; gap: 20px; color: #ddd; font-size: 1.014rem; }
.lightbox figcaption small { color: #999; white-space: nowrap; }
.lightbox button { display: grid; place-items: center; color: #fff; border: 1px solid #ffffff55; background: #ffffff12; cursor: pointer; }
.lightbox button:hover, .lightbox button:focus-visible { color: #111; background: #fff; }
.lightbox-nav { width: 52px; height: 52px; border-radius: 50%; font-size: 1.56rem; }
.lightbox-close { position: absolute; z-index: 2; right: 22px; top: 18px; width: 46px; height: 46px; border-radius: 50%; font-size: 2.34rem; }

@media (max-width: 620px) {
  .back-to-top { right: 14px; bottom: 14px; width: 44px; height: 44px; }
  .lightbox { padding: 70px 14px 24px; }
  .lightbox[open] { grid-template-columns: 1fr 1fr; align-content: center; }
  .lightbox figure { grid-column: 1 / -1; grid-row: 1; }
  .lightbox-nav { justify-self: center; margin-top: 12px; }
  .lightbox-prev { grid-column: 1; }
  .lightbox-next { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .back-to-top { transition: none; }
  main > [data-section-transition], [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

/* Home simplificada: arquitectura comun para las tres direcciones visuales. */
.simple-home main { overflow: clip; }
.simple-home .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.simple-home .home-carousel {
  --carousel-inline: clamp(22px, 5vw, 76px);
  position: relative;
  height: calc(100vh - var(--home-carousel-top, 115px) - 1px);
  height: calc(100svh - var(--home-carousel-top, 115px) - 1px);
  min-height: 0;
  overflow: hidden;
}

.simple-home .carousel-viewport {
  height: 100%;
  min-height: 0;
  display: grid;
}

.simple-home .hero-slide {
  grid-area: 1 / 1;
  min-width: 0;
  height: 100%;
  min-height: 0;
  padding: clamp(28px, 5vw, 76px) var(--carousel-inline) clamp(78px, 8vw, 105px);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(250px, .92fr);
  gap: clamp(28px, 6vw, 92px);
  align-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(28px, 0, 0);
  transition: opacity .55s ease, transform .72s cubic-bezier(.22,.61,.36,1), visibility .55s;
}

.simple-home .hero-slide[data-active] {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}

.simple-home .slide-copy { min-width: 0; max-width: 830px; }
.simple-home .slide-kicker {
  margin: 0 0 clamp(16px, 3svh, 32px);
  font-size: 0.884rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.simple-home .slide-copy h1,
.simple-home .slide-copy h2 {
  margin: 0;
  font-size: clamp(3.9rem, min(9.1vw, 13svh), 9.75rem);
  line-height: .9;
  letter-spacing: -.075em;
  text-wrap: balance;
}
.simple-home .slide-copy h1 em,
.simple-home .slide-copy h2 em { font-style: normal; }
.simple-home .slide-lead {
  max-width: 620px;
  margin: clamp(20px, 4svh, 38px) 0 0;
  font-size: clamp(1.196rem, 1.56vw, 1.404rem);
  line-height: 1.65;
}
.simple-home .slide-actions { margin-top: clamp(22px, 4svh, 38px); display: flex; flex-wrap: wrap; gap: 12px; }
.simple-home .slide-actions a { min-height: 46px; padding: 13px 18px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; font-size: 1.014rem; font-weight: 700; text-transform: uppercase; }

.simple-home .slide-visual {
  position: relative;
  justify-self: center;
  width: min(100%, 50svh, 430px);
  max-height: min(69svh, 690px);
  overflow: hidden;
}
.simple-home .slide-visual.media-3x4 { aspect-ratio: 3 / 4; }
.simple-home .slide-visual.media-9x16 { width: min(100%, 35svh, 315px); aspect-ratio: 9 / 16; }
.simple-home .slide-visual img { width: 100%; height: 100%; object-fit: cover; }
.simple-home .slide-visual > span {
  position: absolute;
  inset: auto 12px 12px;
  padding: 9px 11px;
  color: #fff;
  background: #111d;
  font-size: 0.806rem;
  letter-spacing: .04em;
}

.simple-home .carousel-controls {
  position: absolute;
  z-index: 4;
  left: var(--carousel-inline);
  bottom: clamp(18px, 3vw, 38px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.simple-home .carousel-dots {
  display: flex;
  gap: 3px;
  padding: 3px;
  border: 1px solid color-mix(in srgb, currentColor 38%, transparent);
}
.simple-home .carousel-dots button {
  min-width: 108px;
  height: 40px;
  padding: 0 15px;
  border: 0;
  color: inherit;
  background: transparent;
  font-size: 0.91rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-align: left;
  opacity: .62;
  cursor: pointer;
  transition: color .25s ease, background .25s ease, opacity .25s ease;
}
.simple-home .carousel-dots button::before { margin-right: 9px; font-size: 0.715rem; opacity: .62; }
.simple-home .carousel-dots button:first-child::before { content: "01"; }
.simple-home .carousel-dots button:last-child::before { content: "02"; }
.simple-home .carousel-dots button:hover { opacity: 1; }
.simple-home .carousel-dots button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; opacity: 1; }
.simple-home .carousel-dots button[aria-pressed="true"] {
  color: var(--carousel-active-fg, #fff);
  background: var(--carousel-active-bg, #111);
  opacity: 1;
}

.simple-home .simple-section { padding: clamp(78px, 10vw, 150px) clamp(22px, 6vw, 92px); }
.simple-home .simple-heading { max-width: 940px; margin-bottom: clamp(36px, 7svh, 72px); }
.simple-home .simple-heading h2 {
  margin: 0;
  font-size: clamp(3.9rem, min(9.1vw, 13svh), 9.1rem);
  line-height: .94;
  letter-spacing: -.07em;
  text-wrap: balance;
}
.simple-home .simple-heading h2 em { font-style: normal; }
.simple-home .simple-model-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: clamp(18px, 3vw, 38px); }
.simple-home .model-summary { container-type: inline-size; min-width: 0; min-height: min(76svh, 700px); display: grid; grid-template-columns: 1fr; grid-template-rows: auto 1fr; overflow: hidden; }
.simple-home .model-summary-media { position: relative; place-self: center; width: min(100%, 32svh, 320px); min-height: 0; margin-top: clamp(24px, 4vw, 52px); aspect-ratio: 3 / 4; overflow: hidden; }
.simple-home .model-summary-media.media-9x16 { width: min(100%, 24svh, 240px); aspect-ratio: 9 / 16; }
.simple-home .model-summary-media img { width: 100%; height: 100%; object-fit: contain; }
.simple-home .model-summary-media small { position: absolute; left: 12px; top: 12px; padding: 7px 9px; color: #fff; background: #111d; font-size: 0.806rem; }
.simple-home .model-summary > div:last-child { min-width: 0; width: 100%; padding: clamp(28px, 4vw, 52px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.simple-home .model-summary > div > span { font-size: 0.884rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.simple-home .model-summary h3 { max-width: 100%; margin: 12px 0; font-size: clamp(2.99rem, 4.68vw, 5.655rem); font-size: clamp(2.99rem, 8cqi, 5.655rem); line-height: .92; letter-spacing: -.065em; text-wrap: balance; }
.simple-home .model-summary p { max-width: 330px; line-height: 1.6; }
.simple-home .model-summary a,
.simple-home .model-summary button,
.simple-home .simple-clients button,
.simple-home .simple-contact button { padding: 0 0 6px; border: 0; border-bottom: 2px solid currentColor; color: inherit; background: transparent; font-weight: 700; text-decoration: none; cursor: pointer; }

.simple-home .simple-app-grid { counter-reset: application; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: center; gap: clamp(16px, 2.4vw, 32px); }
.simple-home .simple-app-grid figure { counter-increment: application; flex: 0 1 min(28vw, 38svh, 330px); width: min(28vw, 38svh, 330px); margin: 0; }
.simple-home .simple-app-grid figure.media-9x16 { flex-basis: min(28vw, 38svh, 330px); width: min(28vw, 38svh, 330px); }
.simple-home .simple-app-grid img { width: 100%; height: auto; object-fit: cover; }
.simple-home .simple-app-grid figure.media-3x4 img,
.simple-home .simple-app-grid figure.media-9x16 img { aspect-ratio: 2 / 3; }
.simple-home .simple-app-grid figcaption { padding-top: 18px; display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: 12px; font-size: 0.936rem; }
.simple-home .simple-app-grid figcaption::before { content: "0" counter(application); grid-row: 1 / 3; font-size: 0.806rem; font-weight: 700; letter-spacing: .08em; opacity: .65; }
.simple-home .simple-app-grid figcaption strong { display: block; font-size: 0.988rem; letter-spacing: .08em; text-transform: uppercase; }
.simple-home .simple-app-grid figcaption span { display: block; margin-top: 7px; font-size: 0.988rem; font-weight: 400; line-height: 1.5; text-transform: none; opacity: .76; }

.simple-home .simple-clients { min-height: min(76svh, 740px); display: grid; place-items: center; text-align: center; }
.simple-home .simple-clients > div { max-width: 900px; }
.simple-home .simple-clients h2 { margin: 0; font-size: clamp(4.16rem, 9.1vw, 9.75rem); line-height: .92; letter-spacing: -.075em; }
.simple-home .simple-clients p { max-width: 620px; margin: 28px auto; line-height: 1.7; }
.simple-home .simple-contact { min-height: min(64svh, 620px); padding: clamp(70px, 9vw, 130px) clamp(22px, 6vw, 92px); display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; }
.simple-home .simple-contact p { margin: 0 0 12px; font-size: 0.936rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.simple-home .simple-contact h2 { margin: 0; font-size: clamp(4.42rem, 10.4vw, 10.4rem); line-height: .88; letter-spacing: -.075em; }
.simple-home .simple-contact h2 em { font-style: normal; }
.simple-home .simple-contact > button { align-self: end; margin-bottom: 8px; }

@media (max-width: 900px) {
  .simple-home .hero-slide { grid-template-columns: 1fr; gap: 24px; align-content: center; }
  .simple-home .slide-copy { max-width: 760px; }
  .simple-home .slide-visual { max-height: 42svh; }
  .simple-home .slide-visual.media-3x4 { width: min(100%, 31.5svh, 330px); }
  .simple-home .slide-visual.media-9x16 { width: min(100%, 23svh, 240px); }
  .simple-home .simple-model-grid { grid-template-columns: 1fr; }
  .simple-home .model-summary { min-height: 0; }
}

@media (min-width: 621px) and (max-width: 1200px) {
  .simple-home .simple-model-grid { grid-template-columns: 1fr; }
  .simple-home .model-summary { min-height: min(62svh, 520px); grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr); grid-template-rows: 1fr; }
  .simple-home .model-summary-media,
  .simple-home .model-summary-media.media-9x16 { width: min(100%, 38svh, 340px); margin-top: 0; }
  .simple-home .model-summary-media.media-9x16 { width: min(100%, 29svh, 260px); }
  .simple-home .model-summary h3 { font-size: clamp(3.25rem, 6cqi, 5.2rem); }
}

@media (max-width: 620px) {
  .simple-home .home-carousel { --carousel-inline: 22px; }
  .simple-home .hero-slide { padding: 28px var(--carousel-inline) 76px; gap: 18px; align-content: start; }
  .simple-home .slide-copy h1,
  .simple-home .slide-copy h2 { font-size: clamp(3.25rem, 14.3vw, 4.225rem); line-height: .92; }
  .simple-home .slide-kicker { margin-bottom: 12px; font-size: 0.754rem; }
  .simple-home .slide-lead { margin-top: 16px; font-size: 1.118rem; line-height: 1.5; }
  .simple-home .slide-actions { margin-top: 18px; flex-direction: column; align-items: stretch; gap: 8px; }
  .simple-home .slide-actions a { min-height: 42px; padding: 10px 13px; }
  .simple-home .slide-visual { max-height: 32svh; }
  .simple-home .slide-visual.media-3x4 { width: min(100%, 24svh, 205px); }
  .simple-home .slide-visual.media-9x16 { width: min(100%, 18svh, 150px); }
  .simple-home .slide-visual > span { inset: auto 7px 7px; font-size: 0.676rem; }
  .simple-home .carousel-controls { right: var(--carousel-inline); bottom: 12px; }
  .simple-home .carousel-dots { width: 100%; }
  .simple-home .carousel-dots button { flex: 1; min-width: 0; text-align: center; }
  .simple-home .simple-section { padding: 72px 22px; }
  .simple-home .simple-heading h2 { font-size: 3.77rem; }
  .simple-home .model-summary { min-height: 0; grid-template-columns: 1fr; }
  .simple-home .model-summary-media { justify-self: center; width: min(100%, 43svh, 340px); height: auto; margin-top: 24px; aspect-ratio: 3 / 4; }
  .simple-home .model-summary-media.media-9x16 { width: min(100%, 33svh, 275px); aspect-ratio: 9 / 16; }
  .simple-home .model-summary > div:last-child { padding: 28px; }
  .simple-home .simple-app-grid { flex-direction: column; align-items: center; }
  .simple-home .simple-app-grid figure,
  .simple-home .simple-app-grid figure.media-9x16 { flex-basis: auto; width: min(100%, 45svh, 340px); }
  .simple-home .simple-app-grid figure.media-9x16 { width: min(100%, 34svh, 285px); }
  .simple-home .simple-clients { min-height: 70svh; }
  .simple-home .simple-clients h2 { font-size: 3.9rem; }
  .simple-home .simple-contact { min-height: 58svh; grid-template-columns: 1fr; align-content: end; }
  .simple-home .simple-contact h2 { font-size: 4.485rem; }
  .simple-home .simple-contact > button { justify-self: start; }
}

@media (max-height: 700px) and (min-width: 621px) {
  .simple-home .hero-slide { padding-block: 22px 62px; }
  .simple-home .slide-copy h1,
  .simple-home .slide-copy h2 { font-size: clamp(3.51rem, 11.7svh, 5.2rem); }
  .simple-home .slide-kicker { margin-bottom: 12px; }
  .simple-home .slide-lead { margin-top: 14px; line-height: 1.4; }
  .simple-home .slide-actions { margin-top: 14px; }
  .simple-home .slide-visual { width: min(100%, 44svh, 320px); max-height: 62svh; }
  .simple-home .slide-visual.media-9x16 { width: min(100%, 31svh, 240px); }
  .simple-home .model-summary > div:last-child { padding-block: 28px; }
}

@media (max-height: 700px) and (min-width: 1201px) {
  .simple-home .model-summary-media { width: min(100%, 30svh, 300px); margin-top: 20px; }
  .simple-home .model-summary-media.media-9x16 { width: min(100%, 22.5svh, 225px); }
  .simple-home .model-summary > div:last-child { padding-block: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .simple-home .hero-slide { transition: none; transform: none; }
}

/* Arquitectura multipágina: una idea principal por documento. */
.content-page .content-main { overflow: clip; }
.content-page nav[data-menu] a[aria-current="page"] { font-weight: 800; }
.content-stage {
  min-height: calc(100svh - 111px);
  padding: clamp(26px, 5svh, 64px) clamp(22px, 5vw, 76px);
  display: grid;
  grid-template-columns: minmax(250px, .62fr) minmax(0, 1.38fr);
  gap: clamp(30px, 6vw, 88px);
  align-items: center;
}
.content-heading { min-width: 0; }
.content-kicker { margin: 0 0 16px; font-size: 0.845rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.content-heading h1,
.contact-copy h1 { margin: 0; font-size: clamp(3.64rem, min(7.8vw, 11.7svh), 8.84rem); line-height: .9; letter-spacing: -.075em; text-wrap: balance; }
.content-heading h1 em,
.contact-copy h1 em { font-style: normal; }
.content-heading > p:not(.content-kicker),
.contact-copy > p:not(.content-kicker) { max-width: 520px; margin: 24px 0; font-size: 1.248rem; line-height: 1.65; }
.content-link,
.content-model-card a,
.contact-action { width: max-content; max-width: 100%; display: inline-flex; padding-bottom: 6px; border-bottom: 2px solid currentColor; text-decoration: none; font-weight: 700; }

.content-model-grid { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.content-model-card { min-width: 0; min-height: min(64svh, 590px); display: grid; grid-template-rows: minmax(0, 1fr) auto; overflow: hidden; }
.content-model-media { place-self: center; width: min(100%, 28svh, 280px); aspect-ratio: 3 / 4; overflow: hidden; }
.content-model-media.media-9x16 { width: min(100%, 21svh, 210px); aspect-ratio: 9 / 16; }
.content-model-media img { width: 100%; height: 100%; object-fit: cover; }
.content-model-card > div:last-child { padding: clamp(22px, 3vw, 38px); }
.content-model-card span { font-size: 0.806rem; font-weight: 800; letter-spacing: .12em; }
.content-model-card h2 { margin: 9px 0 12px; font-size: clamp(2.6rem, min(3.9vw, 6.5svh), 4.55rem); line-height: .92; letter-spacing: -.06em; text-wrap: balance; }
.content-model-card p { margin: 0 0 18px; line-height: 1.5; }

.supplies-stage { grid-template-columns: minmax(250px, .58fr) minmax(0, 1.42fr); }
.supplies-stage .content-heading h1 { font-size: clamp(3.25rem, min(6.5vw, 10.4svh), 7.02rem); }
.supply-grid { min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.5vw, 24px); }
.supply-card { min-width: 0; min-height: min(59svh, 520px); padding: clamp(20px, 2.4vw, 34px); display: flex; flex-direction: column; overflow: hidden; }
.supply-mark { min-height: clamp(108px, 18svh, 170px); margin: calc(clamp(20px, 2.4vw, 34px) * -1) calc(clamp(20px, 2.4vw, 34px) * -1) clamp(24px, 3svh, 34px); position: relative; overflow: hidden; }
.supply-mark-ink { display: grid; grid-template-columns: repeat(4, 1fr); }
.supply-mark-ink i:nth-child(1) { background: #00bfd4; }
.supply-mark-ink i:nth-child(2) { background: #e8308a; }
.supply-mark-ink i:nth-child(3) { background: #f4dc31; }
.supply-mark-ink i:nth-child(4) { background: #202225; }
.supply-mark-varnish { background: linear-gradient(135deg, #e4e8e8 0%, #fff 42%, #c9d1d2 100%); }
.supply-mark-varnish::before,
.supply-mark-varnish::after { content: ""; position: absolute; border: 1px solid #ffffffc9; border-radius: 50%; box-shadow: 0 12px 36px #56676f30; }
.supply-mark-varnish::before { width: 100px; height: 100px; left: 19%; top: 17%; background: #ffffff4f; }
.supply-mark-varnish::after { width: 54px; height: 54px; right: 15%; bottom: 10%; background: #ffffff7a; }
.supply-mark-head { background: #1c1f21; }
.supply-mark-head::before { content: ""; position: absolute; inset: 26% 17%; background: repeating-linear-gradient(90deg, #d6d8d8 0 2px, transparent 2px 9px), linear-gradient(#71777a 0 20%, #e5e6e6 20% 78%, #5e6466 78%); box-shadow: 13px 13px 0 #0005; }
.supply-mark-head::after { content: ""; position: absolute; left: 23%; right: 23%; bottom: 16%; height: 8px; background: radial-gradient(circle, #f3f3f3 0 1.5px, transparent 2px) 0 0 / 9px 8px; }
.supply-card > span { font-size: 0.754rem; font-weight: 800; letter-spacing: .12em; }
.supply-card h2 { margin: 10px 0 13px; font-size: clamp(2.015rem, min(3.25vw, 5.98svh), 3.64rem); line-height: .96; letter-spacing: -.055em; text-wrap: balance; }
.supply-card p { margin: 0 0 22px; font-size: 1.066rem; line-height: 1.55; }
.supply-card a { width: max-content; max-width: 100%; margin-top: auto; padding-bottom: 5px; border-bottom: 2px solid currentColor; text-decoration: none; font-size: 0.962rem; font-weight: 800; }

.applications-stage { grid-template-columns: minmax(240px, .5fr) minmax(0, 1.5fr); }
.content-gallery { min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 30px); align-items: start; }
.content-gallery figure { min-width: 0; margin: 0; }
.content-gallery img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; }
.content-gallery figcaption { padding-top: 15px; display: grid; gap: 6px; }
.content-gallery figcaption strong { font-size: 0.936rem; letter-spacing: .08em; text-transform: uppercase; }
.content-gallery figcaption span { font-size: 0.962rem; line-height: 1.45; opacity: .75; }

.trust-proof { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .42fr); align-items: end; gap: clamp(18px, 3vw, 38px); }
.trust-proof-image { width: min(100%, 66svh, 620px); aspect-ratio: 4 / 3; display: grid; grid-template-columns: .75fr 1fr; overflow: hidden; }
.trust-proof-image img { min-width: 0; width: 100%; height: 100%; object-fit: cover; }
.trust-proof ol { margin: 0; padding: 0; list-style: none; }
.trust-proof li { padding: 12px 0; display: grid; grid-template-columns: 34px 1fr; gap: 12px; }
.trust-proof b { font-size: 0.806rem; }
.trust-proof span { font-weight: 700; }
.process-proof { position: relative; justify-self: center; width: min(100%, 47svh, 460px); }
.process-proof video { width: 100%; max-height: 62svh; aspect-ratio: 9 / 16; object-fit: cover; background: #050505; }
.process-proof > span { position: absolute; left: 12px; right: 12px; bottom: 12px; padding: 9px 11px; background: #111d; font-size: 0.806rem; font-weight: 800; letter-spacing: .08em; }

.contact-stage { grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); }
.contact-copy { min-width: 0; }
.contact-note { min-height: min(54svh, 500px); padding: clamp(30px, 5vw, 70px); display: flex; flex-direction: column; justify-content: space-between; }
.contact-note > span { font-size: 0.845rem; font-weight: 800; letter-spacing: .14em; }
.contact-note h2 { margin: auto 0 24px; font-size: clamp(2.86rem, 5.2vw, 6.24rem); line-height: .92; letter-spacing: -.065em; }
.contact-note p { max-width: 430px; margin: 0; line-height: 1.6; }

@media (min-width: 901px) and (max-height: 700px) {
  .content-stage { padding-block: 18px; gap: clamp(24px, 4vw, 56px); }
  .content-heading h1,
  .contact-copy h1 { font-size: clamp(3.51rem, 10.4svh, 5.59rem); }
  .content-heading > p:not(.content-kicker),
  .contact-copy > p:not(.content-kicker) { margin-block: 14px; line-height: 1.45; }
  .content-model-card { min-height: min(62svh, 420px); grid-template-columns: minmax(150px, .78fr) minmax(0, 1.22fr); grid-template-rows: 1fr; }
  .content-model-media,
  .content-model-media.media-9x16 { width: min(100%, 31svh, 230px); }
  .content-model-media.media-9x16 { width: min(100%, 23svh, 175px); }
  .content-model-card > div:last-child { padding: 22px; align-self: center; }
  .content-model-card h2 { font-size: clamp(2.34rem, 6.24svh, 3.51rem); }
  .supply-card { min-height: min(58svh, 360px); padding: 18px; }
  .supplies-stage .content-heading h1 { font-size: clamp(2.925rem, 9.1svh, 4.81rem); }
  .supplies-stage .content-heading > p:not(.content-kicker) { margin-block: 10px; font-size: 1.04rem; line-height: 1.35; }
  .supplies-stage .content-link { padding-bottom: 4px; font-size: 0.936rem; }
  .supply-mark { min-height: min(15svh, 88px); margin: -18px -18px 18px; }
  .supply-card h2 { margin-block: 7px 9px; font-size: clamp(1.82rem, 5.33svh, 2.6rem); }
  .supply-card p { margin-bottom: 13px; font-size: 0.936rem; line-height: 1.4; }
  .content-gallery img { width: min(100%, 28.5svh); margin-inline: auto; }
  .content-gallery figcaption span { display: none; }
  .contact-note { min-height: min(58svh, 390px); }
}

@media (max-width: 900px) {
  .content-stage,
  .applications-stage,
  .supplies-stage,
  .contact-stage { min-height: auto; grid-template-columns: 1fr; align-items: start; }
  .content-heading { max-width: 720px; }
  .content-model-card { min-height: 0; }
  .supply-card { min-height: 340px; }
  .content-gallery { grid-template-columns: repeat(3, minmax(220px, 1fr)); overflow-x: auto; padding-bottom: 12px; scroll-snap-type: x proximity; }
  .content-gallery figure { scroll-snap-align: start; }
  .trust-proof { max-width: 720px; }
  .process-proof { justify-self: start; }
}

@media (max-width: 620px) {
  .content-stage { padding: 46px 22px 70px; gap: 34px; }
  .content-heading h1,
  .contact-copy h1 { font-size: clamp(3.445rem, 16.9vw, 4.94rem); }
  .content-model-grid { grid-template-columns: 1fr; }
  .content-model-card { grid-template-columns: 1fr; grid-template-rows: auto auto; }
  .content-model-media { width: min(100%, 32svh, 270px); height: auto; margin-top: 22px; aspect-ratio: 3 / 4; }
  .content-model-media.media-9x16 { width: min(100%, 24svh, 205px); height: auto; aspect-ratio: 9 / 16; }
  .content-model-card > div:last-child { padding: 22px; align-self: center; }
  .content-model-card h2 { font-size: 2.6rem; }
  .content-model-card p { font-size: 1.066rem; }
  .supply-grid { grid-template-columns: 1fr; }
  .supply-card { min-height: 310px; }
  .supply-mark { min-height: 138px; }
  .content-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; overflow: visible; padding-bottom: 0; }
  .content-gallery figcaption { padding-top: 10px; }
  .content-gallery figcaption strong { font-size: 0.806rem; }
  .content-gallery figcaption span { font-size: 0.858rem; }
  .trust-proof { grid-template-columns: 1fr; }
  .trust-proof-image { width: 100%; }
  .process-proof { width: min(100%, 40svh, 330px); }
  .contact-note { min-height: 380px; }
}
