.hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: min(100%, var(--content-max));
  min-height: 0;
  margin-inline: auto;
  overflow: hidden;
  border-bottom: var(--border-strong);
  background:
    radial-gradient(circle at 10% 8%, rgba(248, 178, 0, 0.33), transparent 22%),
    radial-gradient(circle at 82% 18%, rgba(65, 187, 219, 0.3), transparent 25%),
    var(--color-cream);
}

.hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 8% auto auto 48%;
  width: 26rem;
  aspect-ratio: 1;
  border: 2px dashed rgba(37, 20, 32, 0.16);
  border-radius: 50%;
}

.hero__content {
  position: relative;
  z-index: 2;
  align-self: center;
  min-width: 0;
  padding: clamp(1.75rem, 6vw, 7rem) var(--page-gutter) var(--space-4);
}

.hero h1 {
  max-width: 18ch;
  margin-block: 0 var(--space-4);
  font-size: clamp(2.25rem, 8vw, 3.8rem);
}

@media (max-width: 420px) {
  .hero h1 { font-size: clamp(2.15rem, 9.3vw, 2.55rem); }
}

.hero h1 em { display: block; }

.hero__intro {
  max-width: 40rem;
  margin-block-end: var(--space-4);
  color: var(--color-text-soft);
  font-size: clamp(1rem, 2.5vw, 1.2rem);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.hero__context-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-block-start: var(--space-2);
  font-weight: 900;
  text-decoration: none;
}

.hero__context-link span { margin-inline-start: var(--space-2); }

.hero__visual {
  position: relative;
  z-index: 1;
  min-height: 0;
  height: clamp(13.75rem, 62vw, 18rem);
  overflow: hidden;
}

.hero__mascot {
  position: absolute;
  z-index: 3;
  inset: 50% 50% auto auto;
  width: min(19rem, 88%);
  height: 100%;
  max-height: 100%;
  translate: 50% -50%;
  object-fit: contain;
  filter: drop-shadow(0 1rem 0.8rem rgba(37, 20, 32, 0.2));
}

.hero__paint {
  position: absolute;
  display: block;
  border-radius: 58% 42% 52% 48% / 45% 62% 38% 55%;
  filter: saturate(1.04);
}

.hero__paint--cyan { inset: 22% auto auto 2%; width: 52%; aspect-ratio: 1.2; rotate: -15deg; background: var(--color-cyan); }
.hero__paint--yellow { inset: 6% 0 auto auto; width: 57%; aspect-ratio: 1; rotate: 17deg; background: var(--color-yellow); }
.hero__paint--magenta { inset: auto 10% 2% auto; width: 62%; aspect-ratio: 1.35; rotate: -8deg; background: var(--color-magenta); }

.routes { background: var(--color-paper); }
.routes .section-heading h2 { max-width: 12ch; }

.client-proof {
  padding: clamp(1rem, 2.2vw, 1.65rem) var(--page-gutter);
  border-block: 1px solid rgba(37, 20, 32, 0.14);
  background: var(--color-light);
}

.client-proof__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-2);
  margin-block-end: var(--space-2);
}

.client-proof__heading > * { margin-block-end: 0; }
.client-proof__heading h2 {
  max-width: none;
  font-family: var(--font-mono);
  font-size: clamp(0.72rem, 1.2vw, 0.88rem);
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.client-carousel__controls {
  display: none;
  flex: 0 0 auto;
  width: 100%;
  max-width: 22rem;
  justify-content: space-between;
  gap: var(--space-2);
}
.js .client-carousel__controls { display: flex; }
.client-carousel__controls button {
  display: grid;
  width: 2.75rem;
  min-height: 2.75rem;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid var(--color-plum);
  border-radius: 50%;
  background: var(--color-surface);
  color: var(--color-plum);
  font-size: 1.15rem;
  font-weight: 900;
  cursor: pointer;
}
.client-carousel__controls button:not(:disabled):hover { background: var(--color-plum); color: var(--color-light); }
.client-carousel__controls button:disabled { opacity: 0.32; cursor: default; }
.client-carousel__controls [data-client-carousel-pause] {
  width: auto;
  min-width: 8.75rem;
  aspect-ratio: auto;
  padding-inline: 1rem;
  border-radius: 999px;
  font-size: var(--text-xs);
}

.client-logos {
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: inline mandatory;
  scrollbar-width: thin;
}
.client-logos__list,
.client-logos__fallback {
  display: flex;
  gap: var(--space-2);
  width: max-content;
  list-style: none;
}

.client-logos__fallback li,
.client-logo {
  flex: 0 0 min(58vw, 11rem);
  width: min(58vw, 11rem);
  min-height: 4.75rem;
  padding: 0.45rem 0.75rem;
  scroll-snap-align: start;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.client-logo {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 0;
  background: transparent;
  padding: 0.45rem 0.75rem;
}

.client-logo img {
  width: 100%;
  height: 3.45rem;
  object-fit: contain;
  filter: none;
  mix-blend-mode: normal;
}
.client-logo--dark-tile { background: var(--color-ink-muted); }
.client-logo--dark-tile img { filter: none; mix-blend-mode: normal; }

.client-logo__preview {
  position: absolute;
  inset: auto 0.35rem 0.35rem;
  padding: 0.18rem 0.3rem;
  border-radius: var(--radius-pill);
  background: var(--color-magenta);
  color: var(--color-light);
  font-family: var(--font-mono);
  font-size: 0.52rem;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}

.client-logo[data-consent-status="pendiente"] { padding-bottom: 1.8rem; }

.client-logo__name {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.client-logo--image-error .client-logo__name {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  font-weight: 900;
  text-align: center;
}

.client-logo--name-visible {
  grid-template-columns: minmax(2.75rem, 0.65fr) minmax(5.5rem, 1.35fr);
  gap: 0.65rem;
  place-items: center start;
}
.client-logo--name-visible img { height: 3.35rem; }
.client-logo--name-visible .client-logo__name {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  color: var(--color-plum);
  font-size: clamp(0.68rem, 1.1vw, 0.82rem);
  font-weight: 850;
  line-height: 1.08;
}

[data-consent-status="pendiente"] { outline: 2px dashed var(--color-magenta); outline-offset: -5px; }

.dtf-story {
  position: relative;
  gap: var(--space-5);
  overflow: hidden;
  background: var(--color-plum);
  color: var(--color-light);
}

.dtf-story::after {
  content: "DTF";
  position: absolute;
  inset: auto -0.08em -0.18em auto;
  color: rgba(255, 255, 255, 0.055);
  font-family: var(--font-display);
  font-size: clamp(12rem, 30vw, 30rem);
  font-weight: 900;
  line-height: 0.8;
}

.split-section__content,
.media-frame { position: relative; z-index: 1; }
.split-section__content > p:not(.eyebrow) { margin-block-end: var(--space-5); font-size: var(--text-lead); }
.check-list { display: grid; gap: var(--space-2); margin-block-end: var(--space-5); list-style: none; }
.check-list li { padding-block: var(--space-2); border-bottom: 1px solid var(--color-line-dark); font-weight: 800; }
.check-list li::before { content: "✓"; margin-inline-end: 0.7rem; color: var(--color-cyan); }

.dtf-offer {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: var(--space-4) 0;
  overflow: hidden;
  border: 1px solid var(--color-line-dark);
  border-radius: var(--radius-card);
}
.dtf-offer div { min-width: 0; padding: 0.8rem; }
.dtf-offer div + div { border-inline-start: 1px solid var(--color-line-dark); }
.dtf-offer dt { color: var(--color-light-soft); font-size: 0.64rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.dtf-offer dd { margin: 0.15rem 0 0; overflow-wrap: anywhere; font-weight: 900; }
.dtf-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); margin-block-end: var(--space-4); list-style: none; counter-reset: dtf-step; }
.dtf-steps li { display: grid; gap: 0.15rem; padding-block: var(--space-2); border-bottom: 1px solid var(--color-line-dark); counter-increment: dtf-step; }
.dtf-steps strong::before { content: "0" counter(dtf-step) " "; color: var(--color-cyan); font-family: var(--font-mono); }
.dtf-steps span { color: var(--color-light-soft); font-size: var(--text-xs); }
.dtf-story__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }

.media-frame--dtf { aspect-ratio: var(--media-card-ratio); border: 2px solid rgba(255, 255, 255, 0.24); }
.media-frame--print { aspect-ratio: var(--media-card-ratio); }
.media-frame--dtf .media-frame__fallback { background: radial-gradient(circle at 62% 27%, rgba(225, 1, 125, 0.8), transparent 19%), repeating-linear-gradient(90deg, transparent 0 11%, rgba(255, 255, 255, 0.06) 11% 11.5%), linear-gradient(140deg, #513147, var(--color-plum)); }

.catalogs {
  position: relative;
  background: var(--color-yellow);
}

.catalogs::before {
  content: "";
  position: absolute;
  inset: 2rem 2rem auto auto;
  width: clamp(5rem, 12vw, 11rem);
  aspect-ratio: 1;
  border: 0.75rem solid rgba(37, 20, 32, 0.08);
  border-radius: 50%;
}

.catalogs__intro { position: relative; max-width: 70rem; margin-block-end: clamp(2.8rem, 6vw, 5rem); }
.catalogs__intro h2 { max-width: 15ch; }
.catalogs__intro > p:last-child { max-width: 54rem; font-size: var(--text-lead); }

.buying-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.35rem, 3vw, 2.2rem);
  border: var(--border-strong);
  border-radius: var(--radius-card);
  background: var(--color-paper);
  box-shadow: 0.35rem 0.35rem 0 rgba(37, 20, 32, 0.18);
}

.buying-card--accent { background: var(--color-magenta); color: var(--color-light); }
.buying-card__number { align-self: flex-end; font-family: var(--font-mono); font-weight: 900; }
.buying-card h3 { margin-block-start: var(--space-6); overflow-wrap: anywhere; }
.buying-card p { color: currentColor; opacity: 0.82; }
.buying-card a { margin-block-start: auto; overflow-wrap: anywhere; }

.company-packs__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: var(--space-4);
}

.company-packs__list[hidden] { display: none; }

.company-packs__empty {
  display: grid;
  gap: var(--space-4);
  align-items: center;
  padding: clamp(1.25rem, 3vw, 2.25rem);
  border: var(--border-thick);
  border-radius: var(--radius-lg);
  background: var(--paper);
  box-shadow: var(--shadow-hard-sm);
}

.company-packs__empty[hidden] { display: none; }
.company-packs__empty h3 { margin: 0 0 var(--space-2); }

@media (min-width: 768px) {
  .company-packs__empty { grid-template-columns: minmax(0, 1fr) auto; }
}

.case-studies { position: relative; gap: var(--space-4); margin-block-start: clamp(3rem, 7vw, 6rem); }
.case-studies__fallback { min-height: 15rem; padding: var(--space-5); border: 2px dashed rgba(37, 20, 32, 0.36); border-radius: var(--radius-large); background: rgba(255, 255, 255, 0.34); }
.case-studies__fallback span { font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 900; text-transform: uppercase; }

.case-card {
  min-width: 0;
  overflow: hidden;
  border: var(--border-strong);
  border-radius: var(--radius-large);
  background: var(--color-light);
  color: var(--color-text);
  box-shadow: var(--shadow-card);
}

.case-card__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--color-ink-muted); }
.case-card__media img { width: 100%; height: 100%; object-fit: cover; }
.case-card__media--fallback { background: repeating-linear-gradient(135deg, var(--color-plum) 0 16px, #4a3442 16px 19px); }
.case-card__body { padding: clamp(1.2rem, 3vw, 2rem); }
.case-card__audience { color: var(--color-accent-dark); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 900; text-transform: uppercase; }
.case-card__title { font-size: clamp(1.8rem, 3vw, 3rem); overflow-wrap: anywhere; }
.case-card__summary { overflow-wrap: anywhere; }
.case-card__preview { margin-block-start: var(--space-3); color: var(--color-text-soft); font-size: var(--text-xs); font-weight: 900; }
.case-card__link { color: var(--color-accent-dark); overflow-wrap: anywhere; }

.clothing { background: var(--color-paper); }
.clothing .section-heading h2 { max-width: 12ch; }
.product-grid__fallback { grid-column: 1 / -1; padding: var(--space-5); border: var(--border-strong); border-radius: var(--radius-card); background: var(--color-surface); }
.product-snapshot { margin: calc(var(--space-3) * -1) 0 var(--space-4); color: var(--color-text-soft); font-size: var(--text-xs); font-weight: 750; }

.print-action {
  gap: var(--space-5);
  border-block: var(--border-strong);
  background: var(--color-cyan);
  color: var(--color-plum);
}

.media-frame--print { border: var(--border-strong); box-shadow: var(--shadow-pop); }
.media-frame--print .media-frame__fallback { background: linear-gradient(30deg, transparent 0 42%, rgba(225, 1, 125, 0.88) 42% 49%, transparent 49%), repeating-linear-gradient(90deg, #412637 0 14%, var(--color-plum) 14% 15%); }

.print-links {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-block-start: var(--space-5);
  border-top: var(--border-strong);
  list-style: none;
}

.print-links li { border-bottom: 1px solid rgba(37, 20, 32, 0.3); }
.print-links a { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); min-height: 5rem; padding: 0.55rem 0.2rem; font-weight: 900; text-decoration: none; }
.print-links a:hover { padding-inline: var(--space-3); background: var(--color-plum); color: var(--color-light); }
.print-link__icon {
  display: grid;
  width: 2.8rem;
  height: 2.8rem;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.35);
}
.print-link__icon svg { width: 1.65rem; height: 1.65rem; }
.print-link__label { min-width: 0; overflow-wrap: anywhere; }
.print-link__arrow { font-size: 1.1rem; transition: translate 180ms var(--ease-out); }
.print-links a:hover .print-link__icon { background: var(--color-yellow); color: var(--color-plum); }
.print-links a:hover .print-link__arrow { translate: 0.2rem -0.2rem; }

.commitments { overflow: hidden; background: #f1f0f1; }
.commitments .section-heading { max-width: 54rem; }
.commitments .section-heading h2 { max-width: 12ch; }
.process-timeline {
  --timeline-progress: 0;
  position: relative;
  display: grid;
  gap: var(--space-5);
  margin-block-start: clamp(3rem, 7vw, 6rem);
  padding-inline-start: 2rem;
  list-style: none;
}
.process-timeline::after,
.process-timeline::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 auto 0 0.45rem;
  width: 3px;
  border-radius: var(--radius-pill);
}
.process-timeline::after { background: rgba(37, 20, 32, 0.14); }
.process-timeline::before {
  z-index: 1;
  background: var(--color-magenta);
  transform: scaleY(var(--timeline-progress));
  transform-origin: top;
  transition: transform 700ms var(--ease-out);
}
.process-timeline__step {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  min-width: 0;
}
.process-timeline__step::before {
  content: "";
  position: absolute;
  inset: 1.7rem auto auto -2.05rem;
  width: 1rem;
  aspect-ratio: 1;
  border: 3px solid var(--color-light);
  border-radius: 50%;
  background: var(--color-magenta);
  box-shadow: 0 0 0 2px var(--color-magenta);
}
.process-timeline__step > div {
  padding: clamp(1.35rem, 3vw, 2.4rem);
  padding-block-start: clamp(4.6rem, 8vw, 5.35rem);
  border: var(--border-strong);
  border-radius: var(--radius-card);
  background: var(--color-light);
  box-shadow: var(--shadow-card);
}
.process-timeline__number {
  position: absolute;
  z-index: 3;
  inset: 1rem auto auto 1rem;
  display: grid;
  width: 3.2rem;
  aspect-ratio: 1;
  place-items: center;
  border: var(--border-strong);
  border-radius: 50%;
  background: var(--color-yellow);
  color: var(--color-plum);
  font-family: var(--font-mono);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0.2rem 0.2rem 0 var(--color-plum);
}
.process-timeline__step h3 { font-size: clamp(1.55rem, 3vw, 2.5rem); }
.process-timeline__step p { max-width: 38rem; margin: 0; color: var(--color-text-soft); }

.help {
  gap: var(--space-5);
  overflow: clip;
  background: var(--color-magenta);
  color: var(--color-light);
}

.help__guide { display: grid; grid-template-columns: minmax(7rem, 0.42fr) minmax(0, 1fr); align-items: center; gap: var(--space-3); }
.help__mascot { width: 100%; max-height: 24rem; object-fit: contain; filter: drop-shadow(0 1rem 1rem rgba(37, 20, 32, 0.22)); }
.help__guide h2 { max-width: 10ch; }
.help__guide > div > p:not(.eyebrow) { color: var(--color-light); }

.group-quote { min-width: 0; }
.group-quote__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.group-quote__form,
.group-quote__summary { min-width: 0; padding: clamp(1.1rem, 3vw, 2rem); border: var(--border-strong); border-radius: var(--radius-card); background: var(--color-light); color: var(--color-plum); }
.group-quote__step { margin: 0 0 var(--space-4); padding: 0; border: 0; }
.group-quote__step legend { margin-block-end: var(--space-2); font-weight: 900; }
.group-quote__choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5rem), 1fr)); gap: var(--space-2); }
.group-quote__choice { display: grid; min-height: 44px; cursor: pointer; }
.group-quote__choice input { position: absolute; opacity: 0; pointer-events: none; }
.group-quote__choice span { display: grid; min-height: 44px; place-items: center; padding: 0.65rem; border: 2px solid var(--color-text-soft); border-radius: var(--radius-small); background: var(--color-light); font-weight: 850; text-align: center; }
.group-quote__garments { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
.group-quote__choice--garment span { min-height: 8rem; place-items: start; align-content: start; gap: 0.25rem; padding: 0.9rem; text-align: left; }
.group-quote__choice--garment strong { font-size: 1.1rem; line-height: 1.1; }
.group-quote__choice--garment small { font-size: 0.78rem; font-weight: 900; line-height: 1.35; }
.group-quote__choice--garment em { color: var(--color-text-soft); font-size: 0.72rem; font-style: normal; font-weight: 650; line-height: 1.4; }
.group-quote__choice:has(input:checked) span { border-color: var(--color-plum); background: var(--color-yellow); box-shadow: 0.2rem 0.2rem 0 var(--color-plum); }
.group-quote__choice input:focus-visible + span { outline: 3px solid var(--color-light); box-shadow: 0 0 0 6px var(--color-plum); }
.group-quote__custom { display: grid; gap: 0.35rem; margin-block-start: var(--space-2); font-weight: 800; }
.group-quote__custom input { min-height: 44px; padding: 0.65rem; border: 2px solid var(--color-text-soft); border-radius: var(--radius-small); font: inherit; }
.group-quote__summary { position: relative; align-self: start; background: var(--color-plum); color: var(--color-light); }
.group-quote__status { color: var(--color-yellow); font-weight: 900; }
.group-quote__price { margin: 0.25rem 0; font-size: clamp(2rem, 8vw, 4rem); font-weight: 950; overflow-wrap: anywhere; }
.group-quote__per-person { margin: 0 0 0.35rem; font-size: var(--text-lead); font-weight: 850; }
.group-quote__tax,
.group-quote__notice { color: var(--color-light-soft); }
.group-quote__summary [aria-disabled="true"] { opacity: 0.55; pointer-events: none; }

.faq { background: var(--color-cream); }

@media (min-width: 768px) {
  .hero__content { padding-block-end: var(--space-6); }
  .hero__visual { min-height: 22rem; }
  .hero__mascot { width: min(26rem, 90%); }
  .hero__actions .button { min-width: 13.5rem; }

  .client-proof__heading { flex-direction: row; align-items: end; }
  .client-carousel__controls { width: auto; justify-content: flex-start; }

  .client-logos { overflow-x: hidden; }
  .client-logos__list,
  .client-logos__fallback { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); width: 100%; gap: clamp(0.65rem, 1.6vw, 1.5rem); }
  .client-logos__list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .client-logos__fallback li,
  .client-logo { width: auto; min-height: 4.9rem; }

  .case-card:nth-child(even) { translate: 0 2rem; }
  .print-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .print-links li:nth-child(odd) { border-inline-end: 1px solid rgba(37, 20, 32, 0.3); }

  .process-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-6); padding-inline-start: 0; }
  .process-timeline::after,
  .process-timeline::before { inset: 0 auto 0 50%; translate: -50% 0; }
  .process-timeline__step { grid-column: 1; grid-template-columns: minmax(0, 1fr); padding-inline-end: var(--space-5); text-align: right; }
  .process-timeline__step:nth-child(even) { grid-column: 2; padding: clamp(5rem, 10vw, 8rem) 0 0 var(--space-5); text-align: left; }
  .process-timeline__step:nth-child(odd):not(:first-child) { margin-block-start: calc(clamp(5rem, 10vw, 8rem) * -0.2); }
  .process-timeline__step::before { inset: 2rem calc(var(--space-5) * -1 - 0.55rem) auto auto; }
  .process-timeline__step:nth-child(even)::before { inset: calc(clamp(5rem, 10vw, 8rem) + 2rem) auto auto calc(var(--space-5) * -1 - 0.55rem); }
  .process-timeline__number { inset: 1rem calc(var(--space-5) + 1rem) auto auto; }
  .process-timeline__step:nth-child(even) .process-timeline__number { inset: calc(clamp(5rem, 10vw, 8rem) + 1rem) auto auto calc(var(--space-5) + 1rem); }
  .process-timeline__step > div { position: relative; z-index: 2; }
}

@media (min-width: 1024px) {
  .hero { grid-template-columns: minmax(0, 1.08fr) minmax(24rem, 0.92fr); align-items: stretch; }
  .hero__content { display: grid; align-content: center; min-width: 0; padding-block: clamp(3rem, 6vh, 4.5rem); }
  .hero h1 { max-width: 14ch; font-size: clamp(4rem, 5.2vw, 7.2rem); }
  .hero__visual { min-height: 42rem; }
  .hero__mascot { inset: 50% auto auto 50%; width: min(46rem, 115%); max-height: 90%; translate: -50% -50%; }
  .hero__paint--cyan { inset: 24% auto auto 0; }
  .hero__paint--yellow { inset: 8% -5% auto auto; }
  .hero__paint--magenta { inset: auto -1% 6% auto; }

  .dtf-story { grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr); }
  .print-action { grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr); }
  .help { grid-template-columns: minmax(0, 1.1fr) minmax(22rem, 0.72fr); }
  .help:has(.group-quote) { grid-template-columns: minmax(0, 1fr); }
  .group-quote__layout { grid-template-columns: minmax(0, 1.2fr) minmax(19rem, 0.8fr); align-items: start; }
  .group-quote__summary { position: sticky; top: calc(var(--header-height) + 1rem); }
}

@media (min-width: 1440px) {
  .buying-card { padding: 2.4rem; }
  .case-studies { gap: var(--space-5); }
}
