:root {
  --ink-blue: #081c9b;
  --ink-blue-deep: #06115c;
  --ink-sky: #2d8be8;
  --ink-magenta: #c414c2;
  --ink-lime: #e6f000;
  --ink-green: #118c4f;
  --ink-text: #111318;
  --ink-muted: #5d6573;
  --ink-border: #dfe3ea;
  --ink-bg: #ffffff;
  --ink-soft: #f6f8fb;
  --ink-warm: #fff7df;
  --ink-ice: #edf5ff;
  --ink-max: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink-text);
  background: var(--ink-bg);
  font-family: Assistant, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  white-space: nowrap;
}

.site-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid var(--ink-border);
  background: #ffffff;
}

.site-header__inner {
  width: 100%;
  max-width: 1680px;
  min-height: 5rem;
  margin: 0 auto;
  padding: 0.45rem clamp(1rem, 2.5vw, 3rem);
  display: grid;
  grid-template-columns: minmax(7rem, 1fr) auto minmax(10rem, 1fr);
  align-items: center;
  gap: 2rem;
}

.site-logo {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.site-logo img {
  width: 84px;
  height: auto;
}

.site-nav {
  grid-column: 2;
  justify-self: center;
  overflow: visible;
}

.site-nav__list {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
  white-space: nowrap;
}

.site-nav__list li {
  position: relative;
}

/* Keep account/cart visible when the full navigation cannot fit on one row. */
@media (min-width: 981px) and (max-width: 1399px) {
  .site-header__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
  }

  .site-nav {
    min-width: 0;
    justify-self: stretch;
  }

  .site-nav__list {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 0;
  }
}

.site-nav__list .menu-item-has-children::before {
  position: absolute;
  top: 100%;
  right: -0.75rem;
  left: -0.75rem;
  height: 0.8rem;
  content: "";
}

.site-nav a {
  position: relative;
  display: block;
  padding: 0.65rem 0.6rem;
  color: var(--ink-text);
  font-size: 0.94rem;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
}

.site-nav a::after {
  position: absolute;
  bottom: 0.25rem;
  left: 0.6rem;
  right: 0.6rem;
  height: 2px;
  background: var(--ink-magenta);
  content: "";
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.site-nav a:hover::after,
.site-nav a:focus-visible::after,
.site-nav__list > .current-menu-item > a::after,
.site-nav__list > .current-menu-ancestor > a::after {
  opacity: 1;
  transform: translateY(0);
}

.site-nav__list > .current-menu-item > a,
.site-nav__list > .current-menu-ancestor > a {
  color: var(--ink-blue);
}

.site-nav__list .sub-menu {
  position: absolute;
  top: 100%;
  left: -0.65rem;
  z-index: 30;
  min-width: 12rem;
  margin: 0;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 0.45rem;
  background: #ffffff;
  box-shadow: 0 18px 38px rgba(17, 19, 24, 0.12);
  list-style: none;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.site-nav__list .menu-item-has-children:hover > .sub-menu,
.site-nav__list .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.site-nav__list .sub-menu a {
  display: block;
  border-radius: 6px;
  padding: 0.6rem 0.7rem;
}

.site-nav__list .sub-menu a:hover,
.site-nav__list .sub-menu a:focus-visible {
  background: var(--ink-soft);
}

.site-nav__list .sub-menu a::after {
  display: none;
}

.site-commerce {
  grid-column: 3;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.site-commerce__link {
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 0.45rem 0.65rem;
  color: var(--ink-text);
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

.site-commerce__link:hover,
.site-commerce__link:focus-visible {
  border-color: var(--ink-border);
  background: var(--ink-soft);
  color: var(--ink-blue);
}

.site-commerce__count {
  min-width: 1.35rem;
  height: 1.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--ink-blue);
  color: #ffffff;
  font-size: 0.72rem;
  line-height: 1;
}

.site-nav-toggle {
  display: none;
  width: 2.75rem;
  min-height: 2.75rem;
  border-color: var(--ink-border);
  padding: 0;
  background: #ffffff;
  color: var(--ink-text);
}

.site-nav-toggle__icon,
.site-nav-toggle__icon span {
  display: block;
}

.site-nav-toggle__icon {
  width: 1.25rem;
}

.site-nav-toggle__icon span {
  height: 2px;
  margin: 0.25rem 0;
  background: currentColor;
  transition: transform 160ms ease, opacity 160ms ease;
}

.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__icon span:first-child {
  transform: translateY(6px) rotate(45deg);
}

.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__icon span:nth-child(2) {
  opacity: 0;
}

.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__icon span:last-child {
  transform: translateY(-6px) rotate(-45deg);
}

.hero {
  min-height: 76svh;
  border-top: 1px solid var(--ink-border);
}

.hero--shopify-base {
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(6, 17, 92, 0.1), rgba(6, 17, 92, 0.76)), var(--hero-image) center / cover no-repeat;
}

.hero--shopify-base::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(3, 6, 24, 0.82), rgba(3, 6, 24, 0.36) 52%, rgba(3, 6, 24, 0.1));
  content: "";
}

.hero__content,
.proof-strip,
.showcase,
.calculator-section,
.product-gallery,
.local-cta,
.page-shell,
.site-footer {
  max-width: var(--ink-max);
  margin: 0 auto;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

.hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-top: 6rem;
  padding-bottom: 4.5rem;
  color: #ffffff;
}

.eyebrow {
  margin: 0 0 0.7rem;
  color: var(--ink-green);
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.hero .eyebrow {
  color: var(--ink-lime);
}

h1,
h2,
h3 {
  line-height: 1.08;
}

h1 {
  max-width: 720px;
  margin: 0;
  font-size: 4.6rem;
}

h2 {
  margin: 0;
  font-size: 2.65rem;
}

.hero p:not(.eyebrow) {
  max-width: 680px;
  margin: 1.2rem 0 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.2rem;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

.button,
button,
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.75rem 1.2rem;
  border: 1px solid var(--ink-blue);
  border-radius: 6px;
  background: #ffffff;
  color: var(--ink-blue);
  font: inherit;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.button:hover,
.button:focus-visible,
button:hover,
input[type="submit"]:hover {
  box-shadow: 0 12px 28px rgba(8, 28, 155, 0.14);
  transform: translateY(-1px);
}

.button--primary,
button[type="submit"],
input[type="submit"] {
  background: var(--ink-blue);
  color: #ffffff;
}

.button--secondary {
  background: #ffffff;
  color: var(--ink-blue);
}

.button--whatsapp {
  border-color: #128c4c;
  background: #128c4c;
  color: #ffffff;
}

.proof-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  padding-top: 1.2rem;
  padding-bottom: 1.2rem;
  background: #ffffff;
}

.proof-strip div {
  min-height: 5.6rem;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 1.25rem;
  background: linear-gradient(180deg, #ffffff, var(--ink-soft));
}

.proof-strip strong,
.proof-strip span {
  display: block;
}

.proof-strip strong {
  color: var(--ink-blue);
  font-size: 1.5rem;
}

.proof-strip span {
  margin-top: 0.25rem;
  color: var(--ink-muted);
}

.showcase {
  padding-top: 3.4rem;
  padding-bottom: 2.5rem;
}

.showcase-row {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 2.4rem;
  align-items: center;
  padding: 2.4rem 0;
}

.showcase-row--reverse {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.showcase-row--reverse .showcase-row__media {
  order: 2;
}

.showcase-row__media {
  overflow: visible;
  background: transparent;
}

.showcase-row__media img {
  width: 100%;
  height: clamp(22rem, 44vw, 32rem);
  object-fit: contain;
}

.showcase-row__content {
  max-width: 560px;
}

.showcase-row__content p:not(.eyebrow) {
  margin: 1rem 0 1.4rem;
  color: var(--ink-muted);
  font-size: 1.08rem;
}

.calculator-section {
  padding-top: 3.5rem;
  padding-bottom: 4rem;
}

.calculator-section--featured {
  max-width: none;
  background: var(--ink-soft);
}

.calculator-section--featured > * {
  max-width: var(--ink-max);
  margin-right: auto;
  margin-left: auto;
}

.section-heading {
  margin-bottom: 1.5rem;
}

.section-heading p:not(.eyebrow) {
  max-width: 720px;
  margin: 0.75rem 0 0;
  color: var(--ink-muted);
  font-size: 1.05rem;
}

.product-gallery {
  padding-top: 3.5rem;
  padding-bottom: 4rem;
}

.product-gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.product-gallery__item {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: #ffffff;
}

.product-gallery__item img {
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: 0;
  background: transparent;
  object-fit: contain;
}

.product-gallery__item span {
  display: block;
  min-height: 3.35rem;
  padding: 0.8rem 0.9rem;
  font-weight: 800;
}

.local-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  background: var(--ink-warm);
}

.local-cta h2 {
  max-width: 780px;
  font-size: 2rem;
}

.shirts-page {
  background: linear-gradient(180deg, #ffffff 0%, var(--ink-soft) 100%);
}

.shirts-catalog-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.85fr);
  gap: 2.4rem;
  align-items: center;
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 4rem 1.5rem 2.2rem;
}

.shirts-catalog-hero__content {
  text-align: left;
}

.shirts-catalog-hero h1 {
  max-width: 780px;
  font-size: clamp(2.8rem, 5.2vw, 4.45rem);
}

.shirts-catalog-hero p:not(.eyebrow) {
  max-width: 720px;
  margin: 1rem 0 0;
  color: var(--ink-muted);
  font-size: 1.15rem;
}

.shirts-catalog-hero__media {
  min-width: 0;
}

.shirts-catalog-hero__media img {
  width: 100%;
  height: clamp(22rem, 42vw, 32rem);
  object-fit: contain;
}

.shirts-catalog-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 0 1.5rem 3rem;
}

.shirts-catalog-proof div {
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 1.1rem 1.2rem;
  background: #ffffff;
}

.shirts-catalog-proof strong,
.shirts-catalog-proof span {
  display: block;
}

.shirts-catalog-proof strong {
  color: var(--ink-blue);
  font-size: 1.25rem;
}

.shirts-catalog-proof span {
  margin-top: 0.25rem;
  color: var(--ink-muted);
}

.shirts-collections-section {
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 2rem 1.5rem 4rem;
}

.shirts-collections-section--more {
  padding-top: 0;
}

.section-heading--center {
  text-align: center;
}

.section-heading--center p:not(.eyebrow) {
  margin-right: auto;
  margin-left: auto;
}

.shirt-collection-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.2rem;
}

.shirt-collection-grid--compact {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.shirt-collection-card {
  display: grid;
  align-content: start;
  min-height: 100%;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 1rem;
  background: #ffffff;
  color: var(--ink-text);
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.shirt-collection-card:hover,
.shirt-collection-card:focus-visible {
  border-color: var(--tile-accent);
  box-shadow: 0 18px 36px rgba(17, 19, 24, 0.12);
  transform: translateY(-2px);
}

.shirt-collection-card img {
  width: 100%;
  height: 12rem;
  margin-bottom: 0.9rem;
  object-fit: contain;
}

.shirt-collection-card span,
.shirt-collection-card strong,
.shirt-collection-card small {
  display: block;
}

.shirt-collection-card span {
  width: fit-content;
  border-radius: 999px;
  padding: 0.25rem 0.55rem;
  background: color-mix(in srgb, var(--tile-accent) 12%, #ffffff);
  color: var(--tile-accent);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.shirt-collection-card strong {
  margin-top: 0.65rem;
  color: var(--ink-text);
  font-size: 1.12rem;
  line-height: 1.12;
}

.shirt-collection-card small {
  margin-top: 0.5rem;
  color: var(--ink-muted);
  font-size: 0.92rem;
}

.shirt-collection-card__prices {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.85rem;
}

.shirt-collection-card__prices b {
  width: fit-content;
  border: 1px solid var(--ink-border);
  border-radius: 999px;
  padding: 0.22rem 0.55rem;
  background: #ffffff;
  color: var(--ink-blue);
  font-size: 0.78rem;
}

.collection-filters {
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 1rem 1.5rem 2.5rem;
}

.collection-filter-form {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(11rem, 0.7fr) minmax(11rem, 0.7fr) auto;
  gap: 0.8rem;
  align-items: end;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 1rem;
  background: #ffffff;
  box-shadow: 0 16px 32px rgba(17, 19, 24, 0.06);
}

.collection-filter-form label,
.collection-filter-form span {
  display: block;
}

.collection-filter-form label > span {
  margin-bottom: 0.35rem;
  color: var(--ink-muted);
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.collection-filter-form input,
.collection-filter-form select {
  width: 100%;
  min-height: 2.75rem;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 0.6rem 0.75rem;
  background: #ffffff;
  color: var(--ink-text);
  font: inherit;
}

.collection-filter-form__actions {
  display: flex;
  gap: 0.55rem;
}

.collection-filters > p,
.collection-empty {
  margin: 0.8rem 0 0;
  color: var(--ink-muted);
  font-weight: 750;
  text-align: center;
}

.seo-hub,
.faq-section {
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 3rem 1.5rem;
}

.seo-hub__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.seo-hub__grid article,
.faq-list details {
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 16px 32px rgba(17, 19, 24, 0.05);
}

.seo-hub__grid article {
  padding: 1.25rem;
}

.seo-hub__grid span {
  color: var(--ink-magenta);
  font-size: 0.78rem;
  font-weight: 900;
}

.seo-hub__grid h3 {
  margin: 0.45rem 0 0.55rem;
  color: var(--ink-blue);
  font-size: 1.2rem;
}

.seo-hub__grid p {
  margin: 0;
  color: var(--ink-muted);
}

.faq-list {
  display: grid;
  gap: 0.75rem;
  max-width: 860px;
  margin: 1.5rem auto 0;
}

.faq-list details {
  padding: 1rem 1.1rem;
}

.faq-list summary {
  color: var(--ink-text);
  cursor: pointer;
  font-weight: 900;
}

.faq-list p {
  margin: 0.7rem 0 0;
  color: var(--ink-muted);
}

.shirt-collection-detail {
  background: linear-gradient(180deg, #ffffff 0%, var(--ink-soft) 100%);
}

.shirt-collection-detail__hero {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 2.6rem;
  align-items: center;
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 4rem 1.5rem 2.5rem;
}

.shirt-collection-detail__media {
  background: #ffffff;
}

.shirt-collection-detail__media img {
  width: 100%;
  height: clamp(26rem, 47vw, 38rem);
  object-fit: contain;
}

.shirt-collection-detail__content {
  max-width: 620px;
}

.shirt-collection-detail__content .eyebrow {
  color: var(--tile-accent);
}

.shirt-collection-detail__content p:not(.eyebrow) {
  margin: 1rem 0 0;
  color: var(--ink-muted);
  font-size: 1.15rem;
}

.shirt-back-link {
  display: inline-flex;
  margin-bottom: 1.1rem;
  color: var(--ink-blue);
  font-weight: 900;
  text-decoration: none;
}

.shirt-back-link:hover,
.shirt-back-link:focus-visible {
  color: var(--ink-magenta);
}

.purchase-options--collection {
  padding-bottom: 2rem;
}

.migration-note {
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 2rem 1.5rem 4rem;
}

.migration-note h2 {
  max-width: 760px;
}

.migration-note p:not(.eyebrow) {
  max-width: 760px;
  margin: 1rem 0 0;
  color: var(--ink-muted);
  font-size: 1.08rem;
}

.service-page {
  background: #ffffff;
}

.service-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 2.4rem;
  align-items: center;
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 4rem 1.5rem 2rem;
}

.service-hero__content p:not(.eyebrow) {
  max-width: 650px;
  margin: 1rem 0 0;
  color: var(--ink-muted);
  font-size: 1.12rem;
}

.service-hero__media img {
  width: 100%;
  height: clamp(22rem, 44vw, 34rem);
  object-fit: contain;
}

.service-hero__media.ink-visual-slider,
.shirts-catalog-hero__media.ink-visual-slider {
  position: relative;
  overflow: hidden;
  height: clamp(22rem, 44vw, 34rem);
  border-radius: 14px;
  background: linear-gradient(145deg, #ffffff 0%, var(--ink-soft) 100%);
  box-shadow: 0 24px 60px rgba(8, 28, 155, 0.1);
  isolation: isolate;
}

.shirts-catalog-hero__media.ink-visual-slider {
  height: clamp(22rem, 42vw, 32rem);
}

.ink-visual-slider__slide {
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0;
  transform: scale(1.025);
  transition: opacity 650ms ease, transform 850ms ease;
}

.ink-visual-slider__slide.is-active {
  z-index: 1;
  opacity: 1;
  transform: scale(1);
}

.ink-visual-slider__slide img,
.service-hero__media .ink-visual-slider__slide img,
.shirts-catalog-hero__media .ink-visual-slider__slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ink-visual-slider__dots {
  position: absolute;
  z-index: 2;
  right: 0.85rem;
  bottom: 0.85rem;
  display: flex;
  gap: 0.32rem;
  padding: 0.42rem 0.55rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 8px 20px rgba(8, 28, 155, 0.14);
  backdrop-filter: blur(8px);
}

.ink-visual-slider__dots i {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: rgba(8, 28, 155, 0.28);
  transition: width 220ms ease, background-color 220ms ease;
}

.ink-visual-slider__dots i.is-active {
  width: 1rem;
  border-radius: 999px;
  background: var(--ink-blue);
}

.designs-page {
  background: linear-gradient(180deg, #ffffff 0%, var(--ink-soft) 100%);
}

.service-hero--designs {
  padding-bottom: 3rem;
}

.design-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 1rem 1.5rem 4rem;
}

.design-search {
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 2.5rem 1.5rem 1rem;
}

.design-search__form {
  display: flex;
  max-width: 760px;
  margin: 1.5rem auto 0;
  gap: 0.65rem;
  align-items: stretch;
}

.design-search__form input[type="search"] {
  min-width: 0;
  min-height: 3rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink-text);
  font: inherit;
  flex: 1;
}

.design-search__form input[type="search"]:focus {
  border-color: var(--ink-blue);
  outline: 3px solid rgba(8, 28, 155, 0.14);
}

.design-search__summary,
.design-search__empty {
  max-width: 760px;
  margin: 1.25rem auto 0;
  color: var(--ink-muted);
  text-align: center;
}

.design-search__empty {
  padding: 1rem;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  background: #ffffff;
}

@media (max-width: 640px) {
  .design-search__form {
    flex-direction: column;
  }

  .design-search__form .button {
    width: 100%;
  }
}

.design-tile {
  color: var(--ink-text);
  text-decoration: none;
}

.design-tile__slider {
  position: relative;
  display: block;
  overflow: hidden;
  height: clamp(16rem, 27vw, 22rem);
  margin-bottom: 1rem;
  border-radius: 8px;
  background: #ffffff;
  isolation: isolate;
}

.design-tile__slide {
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0;
  transform: scale(1.025);
  transition: opacity 650ms ease, transform 850ms ease;
}

.design-tile__slide.is-active {
  z-index: 1;
  opacity: 1;
  transform: scale(1);
}

.design-tile__slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.design-tile__dots {
  position: absolute;
  z-index: 2;
  right: 0.75rem;
  bottom: 0.75rem;
  display: flex;
  gap: 0.35rem;
  padding: 0.4rem 0.5rem;
  border-radius: 999px;
  background: rgba(8, 28, 155, 0.72);
  backdrop-filter: blur(7px);
}

.design-tile__dots i {
  display: block;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  transition: width 180ms ease, background 180ms ease;
}

.design-tile__dots i.is-active {
  width: 1.1rem;
  border-radius: 999px;
  background: #ffffff;
}

.design-tile > span,
.design-tile strong,
.design-tile small {
  display: block;
}

.design-tile > span:not(.design-tile__slider) {
  color: var(--ink-green);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.design-tile strong {
  margin-top: 0.35rem;
  color: var(--ink-blue);
  font-size: 1.45rem;
  line-height: 1.1;
}

.design-tile small {
  margin-top: 0.6rem;
  color: var(--ink-muted);
  font-size: 1rem;
}

.design-tile:hover strong,
.design-tile:focus-visible strong {
  color: var(--ink-magenta);
}

@media (prefers-reduced-motion: reduce) {
  .ink-visual-slider__slide,
  .ink-visual-slider__dots i,
  .design-tile__slide,
  .design-tile__dots i {
    transition: none;
  }
}

.purchase-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 1rem 1.5rem 3rem;
}

.purchase-options article {
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 1.4rem;
  background: linear-gradient(180deg, #ffffff 0%, var(--ink-soft) 100%);
}

.purchase-options span {
  color: var(--ink-green);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.purchase-options h2 {
  margin-top: 0.5rem;
  font-size: 2rem;
}

.purchase-options p {
  color: var(--ink-muted);
}

.purchase-options strong {
  color: var(--ink-blue);
}

.purchase-options__price {
  display: block;
  margin-top: 1rem;
  font-size: 1.35rem;
}

.purchase-options__button {
  width: fit-content;
  margin-top: 1rem;
}

.purchase-builder {
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 1rem 1.5rem 3rem;
}

.purchase-builder__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.purchase-choice {
  position: relative;
  display: grid;
  min-height: 100%;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 1.2rem;
  background: #ffffff;
  box-shadow: 0 16px 32px rgba(17, 19, 24, 0.06);
  cursor: pointer;
}

.purchase-choice input {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 1.1rem;
  height: 1.1rem;
  accent-color: var(--ink-blue);
}

.purchase-choice:has(input:checked) {
  border-color: var(--ink-blue);
  box-shadow: 0 20px 42px rgba(8, 28, 155, 0.15);
}

.purchase-choice span,
.purchase-choice strong,
.purchase-choice small,
.purchase-choice b {
  display: block;
}

.purchase-choice span {
  color: var(--ink-green);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.purchase-choice strong {
  max-width: calc(100% - 2rem);
  margin-top: 0.45rem;
  color: var(--ink-blue);
  font-size: 1.6rem;
  line-height: 1.1;
}

.purchase-choice small {
  margin-top: 0.65rem;
  color: var(--ink-muted);
  font-size: 1rem;
}

.purchase-choice b {
  margin-top: 1rem;
  color: var(--ink-magenta);
  font-size: 1.25rem;
}

.purchase-builder__delivery {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1rem;
}

.purchase-builder__delivery label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  border: 1px solid var(--ink-border);
  border-radius: 999px;
  padding: 0.5rem 0.7rem;
  background: #ffffff;
  color: var(--ink-text);
  font-weight: 850;
}

.purchase-builder__delivery input {
  accent-color: var(--ink-blue);
}

.purchase-builder__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  margin-top: 1rem;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 1rem;
  background: var(--ink-ice);
}

.purchase-builder__summary span,
.purchase-builder__summary strong,
.purchase-builder__summary small {
  display: block;
}

.purchase-builder__summary span {
  color: var(--ink-muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.purchase-builder__summary strong {
  margin-top: 0.2rem;
  color: var(--ink-blue);
  font-size: 1.5rem;
}

.purchase-builder__summary small {
  max-width: 700px;
  margin-top: 0.2rem;
  color: var(--ink-muted);
  font-size: 0.96rem;
}

.collection-designs {
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 2.5rem 1.5rem 3.5rem;
}

.collection-design-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.75rem;
}

.collection-design-card {
  display: flex;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--ink-border);
  border-radius: 10px;
  background: #ffffff;
  color: var(--ink-text);
  box-shadow: 0 14px 34px rgba(17, 19, 24, 0.08);
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  flex-direction: column;
}

.collection-design-card:hover,
.collection-design-card:focus-visible {
  border-color: rgba(8, 28, 155, 0.42);
  box-shadow: 0 20px 42px rgba(8, 28, 155, 0.14);
  transform: translateY(-3px);
}

.collection-design-card__media {
  display: grid;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: #f5f7fb;
  place-items: center;
}

.collection-design-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 220ms ease;
}

.service-page--embroidery .collection-design-grid {
  grid-template-columns: repeat(auto-fill, minmax(22rem, 30rem));
  justify-content: start;
}

.service-page--embroidery .collection-design-card__media {
  min-height: 12rem;
  aspect-ratio: auto;
}

.service-page--embroidery .collection-design-card__media img {
  display: block;
  height: auto;
}

.service-page--embroidery .collection-design-card:hover .collection-design-card__media img,
.service-page--embroidery .collection-design-card:focus-visible .collection-design-card__media img {
  transform: none;
}

.collection-design-card:hover .collection-design-card__media img,
.collection-design-card:focus-visible .collection-design-card__media img {
  transform: scale(1.025);
}

.collection-design-card__placeholder {
  color: rgba(8, 28, 155, 0.28);
  font-size: clamp(2rem, 6vw, 4rem);
  font-weight: 950;
  letter-spacing: -0.08em;
}

.collection-design-card__body {
  display: flex;
  min-height: 8.5rem;
  padding: 1rem;
  flex-direction: column;
}

.collection-design-card__body strong {
  font-size: 1rem;
  line-height: 1.25;
}

.collection-design-card__body b {
  margin-top: 0.65rem;
  color: var(--ink-magenta);
  font-size: 1rem;
}

.collection-design-card__body small {
  margin-top: auto;
  padding-top: 0.8rem;
  color: var(--ink-blue);
  font-weight: 900;
}

.collection-design-pagination {
  display: flex;
  margin-top: 2rem;
  gap: 0.5rem;
  justify-content: center;
  flex-wrap: wrap;
}

.collection-design-pagination a {
  display: grid;
  width: 2.65rem;
  min-height: 2.65rem;
  border: 1px solid var(--ink-border);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink-blue);
  font-weight: 900;
  text-decoration: none;
  place-items: center;
}

.collection-design-pagination a[aria-current="page"] {
  border-color: var(--ink-blue);
  background: var(--ink-blue);
  color: #ffffff;
}

.collection-designs__admin-note {
  max-width: 720px;
  margin: 1.5rem auto 0;
  border: 1px dashed rgba(8, 28, 155, 0.35);
  border-radius: 10px;
  padding: 1rem;
  background: #eef4ff;
  text-align: center;
}

.collection-products {
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 1rem 1.5rem 3rem;
}

.collection-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.collection-product-card {
  display: flex;
  min-height: 100%;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 1rem;
  background: #ffffff;
  color: var(--ink-text);
  box-shadow: 0 16px 34px rgba(17, 19, 24, 0.08);
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  flex-direction: column;
}

.collection-product-card:hover,
.collection-product-card:focus-visible {
  border-color: rgba(8, 28, 155, 0.35);
  box-shadow: 0 20px 42px rgba(8, 28, 155, 0.14);
  transform: translateY(-2px);
}

.collection-product-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  margin-bottom: 0.9rem;
  object-fit: contain;
}

.collection-product-card strong,
.collection-product-card small,
.collection-product-card span {
  display: block;
}

.collection-product-card strong {
  color: var(--ink-blue);
  font-size: 1.2rem;
  line-height: 1.15;
}

.collection-product-card small {
  margin-top: 0.55rem;
  color: var(--ink-muted);
  font-size: 0.96rem;
}

.collection-product-card span {
  margin-top: auto;
  padding-top: 1rem;
  color: var(--ink-magenta);
  font-weight: 900;
}

.local-cta--shirts {
  max-width: none;
}

.systems-page,
.catalog-item-detail {
  background: linear-gradient(180deg, #ffffff 0%, var(--ink-soft) 100%);
}

.systems-list,
.catalog-bridge-note {
  max-width: var(--ink-max);
  margin: 0 auto;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

.systems-list {
  padding-top: 3.5rem;
  padding-bottom: 4rem;
}

.systems-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}

.system-card {
  display: flex;
  min-height: 100%;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 1.1rem;
  background: #ffffff;
  box-shadow: 0 16px 34px rgba(8, 28, 155, 0.08);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  flex-direction: column;
}

.system-card:hover {
  border-color: rgba(8, 28, 155, 0.35);
  box-shadow: 0 20px 42px rgba(8, 28, 155, 0.14);
  transform: translateY(-2px);
}

.system-card__media {
  display: block;
  overflow: hidden;
  margin: -1.1rem -1.1rem 1rem;
  border-radius: 8px 8px 0 0;
  background: #081c9b;
}

.system-card img {
  display: block;
  width: 100%;
  height: 13rem;
  object-fit: cover;
}

.system-card span,
.system-card strong,
.system-card small,
.system-card b {
  display: block;
}

.system-card span {
  color: var(--ink-green);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.system-card strong {
  margin-top: 0.4rem;
  color: var(--ink-blue);
  font-size: 1.45rem;
  line-height: 1.1;
}

.system-card strong a {
  color: inherit;
  text-decoration: none;
}

.system-card strong a:hover,
.system-card strong a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.system-card small {
  margin-top: 0.65rem;
  color: var(--ink-muted);
  font-size: 1rem;
}

.system-card b {
  margin-top: auto;
  padding-top: 1.1rem;
  color: var(--ink-magenta);
  font-size: 1.2rem;
}

.system-card__actions {
  display: flex;
  gap: 0.65rem;
  margin-top: 1.1rem;
  flex-wrap: wrap;
}

.system-card__actions .button {
  min-height: 2.85rem;
  padding: 0.75rem 1rem;
  font-size: 0.88rem;
}

.systems-empty {
  margin-top: 2rem;
  color: var(--ink-muted);
  text-align: center;
}

.catalog-item-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 2rem;
  align-items: center;
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 4rem 1.5rem 2rem;
}

.catalog-item-hero h1 {
  max-width: 760px;
}

.catalog-item-hero p:not(.eyebrow) {
  max-width: 620px;
  color: var(--ink-muted);
  font-size: 1.12rem;
}

.catalog-item-price,
.catalog-item-note {
  display: block;
}

.catalog-item-price {
  margin-top: 1.25rem;
  color: var(--ink-blue);
  font-size: 2rem;
}

.catalog-item-note {
  margin-top: 0.25rem;
  color: var(--ink-muted);
  font-size: 0.95rem;
}

.catalog-item-hero__media img {
  width: 100%;
  height: clamp(18rem, 42vw, 30rem);
  object-fit: contain;
}

.catalog-system-overview {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.38fr);
  gap: 2rem;
  align-items: start;
  max-width: var(--ink-max);
  margin: 1rem auto 3rem;
  padding: 0 1.5rem;
}

.catalog-system-overview__content,
.catalog-system-overview__offer {
  border: 1px solid var(--ink-border);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(8, 28, 155, 0.08);
}

.catalog-system-overview__content {
  padding: clamp(1.5rem, 4vw, 3rem);
}

.catalog-system-overview__body h2 {
  margin-top: 0;
  font-size: clamp(2rem, 4vw, 3.4rem);
}

.catalog-system-overview__body h3 {
  margin-top: 2rem;
  font-size: 1.35rem;
}

.catalog-system-overview__body p,
.catalog-system-overview__body li {
  color: var(--ink-muted);
  font-size: 1.04rem;
  line-height: 1.7;
}

.catalog-system-overview__body ul {
  display: grid;
  gap: 0.65rem;
  padding-left: 1.25rem;
}

.catalog-system-overview__offer {
  position: sticky;
  top: 6.5rem;
  padding: 1.5rem;
}

.catalog-system-overview__offer > span {
  color: var(--ink-green);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.catalog-system-overview__offer > strong {
  display: block;
  margin-top: 0.35rem;
  color: var(--ink-blue);
  font-size: 2.2rem;
}

.catalog-system-overview__offer p {
  color: var(--ink-muted);
  line-height: 1.6;
}

.catalog-system-overview__offer .button {
  width: 100%;
  margin-top: 0.7rem;
  text-align: center;
}

.system-demo-page {
  padding: 3rem max(1rem, calc((100vw - 1660px) / 2)) 5rem;
  background: linear-gradient(180deg, #ffffff 0%, #f2f5f8 100%);
}

.system-demo-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
  max-width: var(--ink-max);
  margin: 0 auto 2rem;
}

.system-demo-intro h1 {
  max-width: 880px;
  margin: 0.75rem 0;
  font-size: clamp(2.6rem, 6vw, 5.5rem);
  line-height: 0.95;
}

.system-demo-intro p:not(.eyebrow) {
  max-width: 780px;
  color: var(--ink-muted);
  font-size: 1.08rem;
  line-height: 1.65;
}

.system-demo-intro__actions {
  display: grid;
  gap: 0.8rem;
  min-width: 16rem;
}

.system-demo-intro__actions strong {
  color: var(--ink-blue);
  font-size: 1.35rem;
}

.system-demo-container {
  overflow: hidden;
  border: 1px solid var(--ink-border);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 24px 64px rgba(8, 28, 155, 0.14);
}

.system-demo-container--auxiliary {
  margin-top: 2rem;
}

.system-demo-frame__notice {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--ink-border);
}

.system-demo-frame__notice h2,
.system-demo-frame__notice p {
  margin: 0;
}

.system-demo-frame__notice h2 {
  font-size: 1.25rem;
}

.system-demo-frame__notice > p {
  color: var(--ink-muted);
  font-size: 0.9rem;
}

.system-demo-mount {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 760px;
  background: #08111a;
}

.system-demo-mount--auxiliary {
  min-height: 680px;
}

.system-demo-mount__fallback {
  margin: 0;
  padding: 2rem;
  color: #f8fafc;
  font-weight: 700;
}

.system-demo-scope {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  max-width: var(--ink-max);
  margin: 2rem auto 0;
}

.system-demo-scope article {
  border-top: 3px solid var(--ink-blue);
  padding: 1.3rem 0;
}

.system-demo-scope span {
  color: var(--ink-magenta);
  font-weight: 900;
}

.system-demo-scope h2 {
  margin: 0.45rem 0;
  font-size: 1.35rem;
}

.system-demo-scope p {
  margin: 0;
  color: var(--ink-muted);
  line-height: 1.6;
}

.catalog-bridge-note {
  border-top: 1px solid var(--ink-border);
  padding-top: 2rem;
  padding-bottom: 4rem;
}

.catalog-bridge-note h2 {
  max-width: 720px;
  font-size: 2.4rem;
}

.catalog-bridge-note p:not(.eyebrow) {
  max-width: 760px;
  color: var(--ink-muted);
  font-size: 1.08rem;
}

.coming-soon-page {
  background: linear-gradient(180deg, #ffffff 0%, var(--ink-soft) 100%);
}

.calculator-page {
  background: #ffffff;
}

.coming-soon {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2rem;
  align-items: center;
  max-width: var(--ink-max);
  margin: 0 auto;
  padding: 4rem 1.5rem;
}

.coming-soon__content p:not(.eyebrow) {
  max-width: 640px;
  margin: 1rem 0 0;
  color: var(--ink-muted);
  font-size: 1.12rem;
}

.coming-soon__media {
  overflow: visible;
  background: transparent;
}

.coming-soon__media img {
  width: 100%;
  height: clamp(22rem, 46vw, 34rem);
  object-fit: contain;
}

.proof-strip--dtf {
  padding-top: 0;
  padding-bottom: 2rem;
}

.calculator-section--dtf-page {
  max-width: none;
  padding: 1.25rem clamp(1rem, 2.5vw, 3rem) 3rem;
}

.calculator-page__intro,
.calculator-section--dtf-page > .ink-dtf-calculator {
  width: 100%;
  max-width: 1680px;
  margin-right: auto;
  margin-left: auto;
}

.calculator-page__intro {
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  border-bottom: 1px solid var(--ink-border);
}

.calculator-page__intro .eyebrow {
  margin-bottom: 0.3rem;
}

.calculator-page__intro h1 {
  font-size: 2.8rem;
}

.calculator-page__intro > p {
  max-width: 660px;
  margin: 0 0 0.2rem;
  color: var(--ink-muted);
  font-size: 1rem;
}

.mockup-page {
  background: #ffffff;
}

.mockup-page__section {
  padding: 1.25rem clamp(0.5rem, 1.5vw, 1.5rem) 3rem;
}

.mockup-page__intro {
  width: 100%;
  max-width: 1680px;
  margin-right: auto;
  margin-left: auto;
}

.mockup-page__section > .ink-mockup-generator {
  width: 100%;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
}

.mockup-page__intro {
  margin-bottom: 1rem;
  padding: 0 clamp(0.5rem, 1vw, 1rem) 1rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  border-bottom: 1px solid var(--ink-border);
}

.mockup-page__intro .eyebrow {
  margin-bottom: 0.3rem;
}

.mockup-page__intro h1 {
  font-size: 2.8rem;
}

.mockup-page__intro > p {
  max-width: 720px;
  margin: 0 0 0.2rem;
  color: var(--ink-muted);
  line-height: 1.65;
}

.ink-mockup-generator {
  min-height: 40rem;
  overflow: hidden;
  border: 1px solid var(--ink-border);
  border-radius: 18px;
  background: #edf0f4;
  box-shadow: 0 24px 70px rgba(17, 19, 24, 0.1);
}

.ink-mockup-generator__loading,
.mockup-page__unavailable {
  margin: 0;
  padding: 4rem 1.5rem;
  color: var(--ink-muted);
  font-weight: 750;
  text-align: center;
}

.bg-remover-page {
  background: #ffffff;
}

.bg-remover-page__section {
  padding: 2rem clamp(1rem, 3vw, 2rem) 4rem;
}

.bg-remover-page__intro,
.bg-remover-page__section > .ink-background-remover {
  width: 100%;
  max-width: 1180px;
  margin-right: auto;
  margin-left: auto;
}

.bg-remover-page__intro {
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  border-bottom: 1px solid var(--ink-border);
}

.bg-remover-page__intro .eyebrow {
  margin-bottom: 0.3rem;
}

.bg-remover-page__intro h1 {
  font-size: clamp(2.25rem, 4vw, 3.5rem);
}

.bg-remover-page__intro > p {
  max-width: 580px;
  margin: 0 0 0.2rem;
  color: var(--ink-muted);
  line-height: 1.65;
}

.ink-background-remover {
  display: block;
  min-height: 34rem;
}

.ink-background-remover__loading,
.bg-remover-page__unavailable {
  margin: 0;
  padding: 4rem 1.5rem;
  color: var(--ink-muted);
  font-weight: 750;
  text-align: center;
}

.contact-page {
  background: linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
}

.contact-hero,
.contact-actions,
.map-section {
  max-width: var(--ink-max);
  margin: 0 auto;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

.contact-hero {
  padding-top: 3rem;
  padding-bottom: 1.5rem;
}

.contact-hero h1 {
  max-width: 780px;
  font-size: 3.4rem;
}

.contact-hero p:not(.eyebrow) {
  max-width: 680px;
  margin: 1rem 0 0;
  color: var(--ink-muted);
  font-size: 1.12rem;
}

.contact-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1.4rem;
}

.contact-meta span {
  border: 1px solid var(--ink-border);
  border-radius: 999px;
  padding: 0.4rem 0.75rem;
  background: #ffffff;
  color: var(--ink-muted);
  font-size: 0.95rem;
  font-weight: 750;
}

.contact-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  padding-top: 0;
  padding-bottom: 3rem;
}

.contact-action {
  min-height: 5.4rem;
  border-radius: 8px;
  padding: 0.9rem 1rem;
  color: #ffffff;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.contact-action:hover,
.contact-action:focus-visible {
  box-shadow: 0 16px 34px rgba(17, 19, 24, 0.14);
  transform: translateY(-2px);
}

.contact-action span,
.contact-action strong,
.contact-action small {
  display: block;
}

.contact-action span {
  margin-bottom: 0.35rem;
  font-size: 0.75rem;
  font-weight: 900;
  opacity: 0.8;
  text-transform: uppercase;
}

.contact-action strong {
  font-size: 1.05rem;
  line-height: 1.1;
}

.contact-action small {
  max-width: 24rem;
  margin-top: 0.7rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.95rem;
}

.contact-action--whatsapp {
  background: #128c4c;
}

.contact-action--facebook {
  background: #1877f2;
}

.contact-action--instagram {
  background: #c414c2;
}

.map-section {
  padding-top: 1rem;
  padding-bottom: 2rem;
}

.map-section .section-heading h2 {
  font-size: 3rem;
}

.map-section__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.2rem;
}

.map-section__address {
  margin-top: 0.8rem;
  color: var(--ink-muted);
  font-size: 0.96rem;
  font-style: normal;
  line-height: 1.55;
}

.map-container {
  overflow: hidden;
  border: 3px solid var(--ink-blue);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 20px 46px rgba(8, 28, 155, 0.16);
}

.map-container iframe {
  display: block;
  width: 100%;
  height: min(58svh, 520px);
}

.map-button-wrapper {
  margin-top: 1rem;
  text-align: center;
}

.page-shell {
  padding-top: 3rem;
  padding-bottom: 4rem;
}

.content-page {
  max-width: 860px;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 1.4rem;
  background: #ffffff;
}

.content-page h1 {
  font-size: 3rem;
}

.content-page__body {
  color: var(--ink-muted);
}

.page-shell--commerce {
  max-width: var(--ink-max);
}

.content-page--commerce {
  max-width: none;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.content-page--commerce > h1 {
  margin-bottom: 2rem;
  font-size: 2.65rem;
}

.content-page--commerce .content-page__body {
  color: var(--ink-text);
}

.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  border-top: 1px solid var(--ink-border);
}

.site-footer p {
  margin: 0.4rem 0 0;
  color: var(--ink-muted);
}

.site-footer__whatsapp {
  color: var(--ink-green);
  font-weight: 900;
  text-decoration: none;
}

.ink-product-purchase-note {
  margin: 1rem 0;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 1rem;
  background: var(--ink-soft);
}

.ink-product-purchase-note p {
  margin: 0.55rem 0;
  color: var(--ink-muted);
}

.ink-product-purchase-note--membership {
  border-color: rgba(8, 28, 155, 0.28);
  background: linear-gradient(145deg, #f7f8ff, #eefbf4);
}

.ink-product-purchase-note--membership > span,
.ink-product-purchase-note--membership > strong,
.ink-product-purchase-note--membership > small {
  display: block;
}

.ink-product-purchase-note--membership > span {
  margin-bottom: 0.35rem;
  color: var(--ink-green);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ink-product-purchase-note--membership > strong {
  color: var(--ink-blue);
  font-size: 1.3rem;
}

.ink-product-purchase-note--membership ul {
  display: grid;
  gap: 0.35rem;
  margin: 0.9rem 0;
  padding-left: 1.2rem;
}

.ink-product-purchase-note--membership > small {
  color: var(--ink-muted);
  line-height: 1.5;
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  padding: 0;
  list-style: none;
}

.woocommerce ul.products li.product {
  width: auto;
  margin: 0;
  border: 1px solid var(--ink-border);
  border-radius: 8px;
  padding: 1rem;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  margin: 0 0 1.25rem;
  border: 1px solid var(--ink-border);
  border-left: 4px solid var(--ink-blue);
  border-radius: 4px;
  padding: 1rem 1rem 1rem 1.2rem;
  background: var(--ink-soft);
  color: var(--ink-text);
  list-style: none;
}

.woocommerce-error {
  border-left-color: #b42318;
}

.woocommerce form .form-row label,
.woocommerce-form label {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--ink-text);
  font-size: 0.82rem;
  font-weight: 800;
}

.woocommerce form .input-text,
.woocommerce form input[type="email"],
.woocommerce form input[type="password"],
.woocommerce form input[type="tel"],
.woocommerce form select,
.woocommerce form textarea {
  width: 100%;
  min-height: 3rem;
  border: 1px solid var(--ink-border);
  border-radius: 4px;
  padding: 0.7rem 0.8rem;
  background: #ffffff;
  color: var(--ink-text);
  font: inherit;
}

.woocommerce form textarea {
  min-height: 7rem;
}

.woocommerce .password-input {
  position: relative;
  display: block;
}

.woocommerce .password-input input {
  padding-right: 4rem;
}

.woocommerce button.show-password-input {
  position: absolute;
  top: 50%;
  right: 0.35rem;
  min-width: 3rem;
  min-height: 2.15rem;
  border: 0;
  padding: 0.25rem 0.5rem;
  background: var(--ink-soft);
  box-shadow: none;
  color: var(--ink-blue);
  font-size: 0;
  transform: translateY(-50%);
}

.woocommerce button.show-password-input::before {
  content: "Mostrar";
  font-size: 0.75rem;
  font-weight: 850;
}

.woocommerce button.show-password-input.display-password::before {
  content: "Ocultar";
}

.woocommerce button.show-password-input:hover,
.woocommerce button.show-password-input:focus-visible {
  box-shadow: none;
  transform: translateY(-50%);
}

.woocommerce table.shop_table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border-bottom: 1px solid var(--ink-border);
  padding: 0.85rem;
  text-align: left;
}

.woocommerce-account.logged-in .woocommerce {
  display: grid;
  grid-template-columns: minmax(13rem, 0.24fr) minmax(0, 0.76fr);
  gap: clamp(1.5rem, 3vw, 3rem);
}

.woocommerce-account:not(.logged-in) .woocommerce {
  display: block;
}

.woocommerce-account.logged-in .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
}

.woocommerce-account .woocommerce-MyAccount-content {
  min-width: 0;
}

.ink-auth-lead {
  max-width: 48rem;
  margin: -0.5rem 0 1.75rem;
}

.ink-auth-lead span,
.ink-auth-panel__header span,
.ink-recovery-options > div > span,
.ink-profile-photo__content > span,
.ink-account-section__header > span,
.ink-lost-password > header > span,
.ink-account-dashboard > header > span {
  color: var(--ink-green);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ink-auth-lead p {
  margin: 0;
  color: var(--ink-muted);
  font-size: 1.08rem;
}

.ink-auth-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.ink-auth-grid--single {
  grid-template-columns: minmax(0, 34rem);
}

.ink-auth-panel {
  min-width: 0;
  margin: 0;
  border: 1px solid var(--ink-border);
  border-top: 4px solid var(--ink-blue);
  border-radius: 8px;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  background: #ffffff;
}

.ink-auth-panel--register {
  border-top-color: var(--ink-magenta);
  background: var(--ink-soft);
}

.ink-auth-panel__header {
  margin-bottom: 1.4rem;
}

.ink-auth-panel__header h2 {
  margin-top: 0.25rem;
  font-size: 1.75rem;
}

.ink-auth-panel__header p {
  margin: 0.55rem 0 0;
  color: var(--ink-muted);
}

.ink-auth-panel form {
  margin: 0;
}

.ink-auth-panel .form-row {
  margin: 0 0 1rem;
}

.ink-auth-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0.25rem 0 1.1rem;
  font-size: 0.88rem;
}

.ink-auth-form-actions label {
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
  margin: 0 !important;
}

.ink-auth-forgot,
.ink-account-security__recovery a,
.ink-lost-password__actions a,
.ink-account-dashboard__logout {
  color: var(--ink-blue);
  font-weight: 800;
}

.ink-recovery-options {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.25rem 2rem;
  align-items: center;
  margin-top: 2rem;
  border-top: 1px solid var(--ink-border);
  border-bottom: 1px solid var(--ink-border);
  padding: 1.5rem 0;
}

.ink-recovery-options h2 {
  margin-top: 0.25rem;
  font-size: 1.55rem;
}

.ink-recovery-options p {
  max-width: 42rem;
  margin: 0.5rem 0 0;
  color: var(--ink-muted);
}

.ink-recovery-options__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: flex-end;
}

.ink-recovery-options__notice {
  grid-column: 1 / -1;
  margin: 0 !important;
  font-size: 0.82rem;
}

.ink-account-nav {
  align-self: start;
  min-width: 0;
  width: 100%;
  overflow: hidden;
}

.ink-account-nav__identity {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1rem;
  border-left: 4px solid var(--ink-magenta);
  padding: 0.45rem 0 0.45rem 0.8rem;
}

.ink-account-nav__identity img {
  width: 3.5rem;
  height: 3.5rem;
  border: 2px solid #ffffff;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 1px var(--ink-border);
}

.ink-account-nav__identity div {
  min-width: 0;
}

.ink-account-nav__identity strong,
.ink-account-nav__identity span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ink-account-nav__identity span {
  color: var(--ink-muted);
  font-size: 0.78rem;
  white-space: nowrap;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  border-top: 1px solid var(--ink-border);
  padding: 0;
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  border-bottom: 1px solid var(--ink-border);
  padding: 0.78rem 0.7rem;
  color: var(--ink-text);
  font-weight: 800;
  text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
  background: var(--ink-soft);
  color: var(--ink-blue);
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  border-left: 3px solid var(--ink-blue);
  background: var(--ink-ice);
  color: var(--ink-blue);
}

.ink-profile-photo {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.4rem;
  align-items: center;
  border-top: 3px solid var(--ink-blue);
  border-bottom: 1px solid var(--ink-border);
  padding: 1.4rem 0;
}

.ink-profile-photo__preview img {
  width: 7.25rem;
  height: 7.25rem;
  border: 4px solid #ffffff;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 1px var(--ink-border), 0 14px 28px rgba(17, 19, 24, 0.12);
}

.ink-profile-photo__content h2,
.ink-account-section__header h2,
.ink-account-dashboard h2 {
  margin: 0.2rem 0 0;
  font-size: 1.7rem;
}

.ink-profile-photo__content p,
.ink-account-section__header p,
.ink-account-dashboard header p {
  margin: 0.45rem 0 0;
  color: var(--ink-muted);
}

.ink-profile-photo__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.9rem;
}

.ink-profile-photo__actions .button {
  min-height: 2.6rem;
  padding: 0.55rem 0.9rem;
  cursor: pointer;
}

.ink-profile-photo__actions span,
.ink-profile-photo__remove {
  color: var(--ink-muted);
  font-size: 0.82rem;
}

.ink-profile-photo__remove {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.75rem;
  cursor: pointer;
}

.ink-account-section {
  padding: 1.75rem 0;
}

.ink-account-section__header {
  margin-bottom: 1.3rem;
}

.ink-account-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.ink-account-fields .form-row {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
}

.ink-account-fields__wide {
  grid-column: 1 / -1;
}

.ink-account-fields small {
  display: block;
  margin-top: 0.35rem;
  color: var(--ink-muted);
}

.ink-account-security {
  margin: 0 0 1.5rem;
  border: 1px solid var(--ink-border);
  border-radius: 6px;
  background: #ffffff;
}

.ink-account-security summary {
  position: relative;
  padding: 1rem 3rem 1rem 1.1rem;
  cursor: pointer;
}

.ink-account-security summary::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  color: var(--ink-blue);
  content: "+";
  font-size: 1.4rem;
  font-weight: 800;
  transform: translateY(-50%);
}

.ink-account-security[open] summary::after {
  content: "−";
}

.ink-account-security summary span,
.ink-account-security summary strong,
.ink-account-security summary small {
  display: block;
}

.ink-account-security summary span {
  color: var(--ink-magenta);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ink-account-security summary strong {
  margin-top: 0.2rem;
  font-size: 1.08rem;
}

.ink-account-security summary small {
  color: var(--ink-muted);
}

.ink-account-security fieldset {
  margin: 0;
  border: 0;
  border-top: 1px solid var(--ink-border);
  padding: 1.2rem;
  background: var(--ink-soft);
}

.ink-account-security:not([open]) fieldset {
  display: none;
}

.ink-account-security__notice {
  margin: 0 0 1rem;
  border-left: 3px solid var(--ink-green);
  padding-left: 0.8rem;
  color: var(--ink-muted);
  font-size: 0.9rem;
}

.ink-account-security__recovery {
  margin: 1rem 0 0;
}

.ink-account-form__submit {
  display: flex;
  justify-content: flex-end;
}

.ink-lost-password {
  max-width: 42rem;
  border-top: 4px solid var(--ink-blue);
  padding-top: 1.25rem;
}

.ink-lost-password h2 {
  margin-top: 0.25rem;
  font-size: 1.8rem;
}

.ink-lost-password header p,
.ink-recovery-support p {
  color: var(--ink-muted);
}

.ink-lost-password form {
  margin-top: 1.4rem;
}

.ink-lost-password__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
}

.ink-recovery-support {
  max-width: 42rem;
  margin-top: 2rem;
  border-top: 1px solid var(--ink-border);
  padding-top: 1.25rem;
}

.ink-recovery-support p {
  margin: 0.4rem 0 1rem;
}

.ink-account-dashboard {
  border-top: 4px solid var(--ink-blue);
  padding-top: 1.35rem;
}

.ink-account-dashboard__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.ink-library {
  display: grid;
  gap: 2rem;
}

.ink-library__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(13rem, 0.34fr);
  gap: 2rem;
  align-items: end;
  border-bottom: 1px solid var(--ink-border);
  padding-bottom: 1.5rem;
}

.ink-library__header span,
.ink-library-item span {
  color: var(--ink-green);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ink-library__header h2,
.ink-library__empty h3,
.ink-library-item h3 {
  margin: 0.35rem 0 0;
}

.ink-library__header p,
.ink-library__empty p,
.ink-library-item p {
  margin: 0.65rem 0 0;
  color: var(--ink-muted);
}

.ink-library__membership {
  border-left: 4px solid var(--ink-blue);
  padding: 0.3rem 0 0.3rem 1rem;
}

.ink-library__membership strong,
.ink-library__membership small {
  display: block;
}

.ink-library__membership strong {
  margin-top: 0.2rem;
  color: var(--ink-blue);
  font-size: 1.45rem;
}

.ink-library__membership small {
  margin-top: 0.2rem;
  color: var(--ink-muted);
}

.ink-library__empty {
  max-width: 44rem;
  border-left: 4px solid var(--ink-green);
  padding: 0.4rem 0 0.4rem 1.2rem;
}

.ink-library__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.2rem;
}

.ink-library__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.ink-library__bundle {
  display: grid;
  gap: 1.25rem;
}

.ink-library__bundle-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  border: 1px solid #b9c5ff;
  border-left: 4px solid var(--ink-blue);
  border-radius: 6px;
  background: #f4f6ff;
  padding: 1rem 1.15rem;
}

.ink-library__bundle-toolbar strong {
  color: var(--ink-blue);
  font-size: 1.05rem;
}

.ink-library__bundle-toolbar p,
.ink-library__rate-note {
  margin: 0.3rem 0 0;
  color: var(--ink-muted);
}

.ink-library__rate-note {
  font-size: 0.85rem;
}

.ink-library-item__selection {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  border-bottom: 1px solid var(--ink-border);
  padding-bottom: 0.8rem;
  cursor: pointer;
}

.ink-library-item__selection input {
  width: 1.1rem;
  height: 1.1rem;
  accent-color: var(--ink-blue);
}

.ink-library-item__selection span {
  color: var(--ink-blue);
}

.ink-library-item__meta {
  display: block;
  margin-top: 0.85rem;
  color: var(--ink-muted);
}

.ink-library-item__license {
  display: block;
  margin-top: 0.8rem;
  border-left: 3px solid var(--ink-green);
  padding-left: 0.75rem;
  color: var(--ink-text);
  font-size: 0.82rem;
}

.ink-library-item__license summary {
  color: var(--ink-blue);
  font-weight: 850;
  cursor: pointer;
}

.ink-library-item__license p {
  margin-top: 0.45rem;
  font-size: 0.82rem;
}

.ink-library-item__license--pending {
  border-color: #d08b00;
  color: #755000;
}

.ink-library-item--review {
  border-color: #e4bd73;
  background: #fffaf0;
}

.ink-library-item {
  display: grid;
  gap: 1.25rem;
  align-content: space-between;
  min-height: 15rem;
  border: 1px solid var(--ink-border);
  border-radius: 6px;
  padding: 1.25rem;
}

.ink-library-item .button {
  justify-self: start;
}

.ink-membership-account {
  display: grid;
  gap: 1.5rem;
}

.ink-membership-account__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 0.35fr);
  gap: 2rem;
  align-items: end;
  border-bottom: 1px solid var(--ink-border);
  padding-bottom: 1.5rem;
}

.ink-membership-account__hero h2,
.ink-membership-account__grid h3 {
  margin: 0.35rem 0 0;
}

.ink-membership-account__hero p,
.ink-membership-account__assurances p {
  margin: 0.6rem 0 0;
  color: var(--ink-muted);
}

.ink-membership-account__hero > div:first-child > span {
  color: var(--ink-green);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ink-membership-account__state {
  border-left: 4px solid var(--ink-blue);
  padding-left: 1rem;
}

.ink-membership-account__state span,
.ink-membership-account__state strong,
.ink-membership-account__state small {
  display: block;
}

.ink-membership-account__state span {
  color: var(--ink-green);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ink-membership-account__state strong {
  margin: 0.2rem 0;
  color: var(--ink-blue);
  font-size: 1.45rem;
}

.ink-membership-account__state small {
  color: var(--ink-muted);
}

.ink-membership-account__assurances {
  border: 1px solid #b9c5ff;
  border-left: 4px solid var(--ink-blue);
  border-radius: 6px;
  background: #f4f6ff;
  padding: 1rem 1.15rem;
}

.ink-membership-account__assurances > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1rem;
}

.ink-membership-account__subscriptions {
  display: grid;
  gap: 10px;
  margin: 14px 0;
  padding: 0;
  list-style: none;
}

.ink-membership-account__subscriptions li {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 12px;
  padding: 10px 12px;
  border: 1px solid rgba(16, 24, 40, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.7);
}

.ink-membership-account__subscriptions span {
  color: var(--ink-muted);
}

.ink-membership-account__rights {
  border: 1px solid var(--ink-border);
  border-left: 4px solid var(--ink-green);
  border-radius: 6px;
  padding: 1.1rem 1.25rem;
  background: #f7fbf8;
}

.ink-membership-account__rights h3 {
  margin: 0;
}

.ink-membership-account__rights ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 1.5rem;
  margin: 0.85rem 0;
  padding-left: 1.2rem;
}

.ink-membership-account__rights small {
  color: var(--ink-muted);
}

.ink-membership-account__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.ink-membership-account__grid > section {
  border: 1px solid var(--ink-border);
  border-radius: 6px;
  padding: 1.2rem;
}

.ink-membership-account__timeline {
  display: grid;
  gap: 0.8rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.ink-membership-account__timeline li {
  border-left: 3px solid var(--ink-green);
  padding-left: 0.75rem;
}

.ink-membership-account__timeline strong,
.ink-membership-account__timeline span {
  display: block;
}

.ink-membership-account__timeline span {
  margin-top: 0.2rem;
  color: var(--ink-muted);
  font-size: 0.82rem;
}

.catalog-item-license {
  margin-top: 1.25rem;
  border-top: 1px solid var(--ink-border);
  padding-top: 1rem;
}

.catalog-item-license h3,
.catalog-item-license p {
  margin: 0.45rem 0 0;
}

.wc-block-cart,
.wc-block-checkout {
  color: var(--ink-text);
}

.wc-block-components-button,
.wc-block-cart__submit-button {
  border-radius: 6px;
  background: var(--ink-blue);
  color: #ffffff;
  font-weight: 850;
}

@media (max-width: 980px) {
  .catalog-system-overview,
  .system-demo-intro {
    grid-template-columns: 1fr;
  }

  .catalog-system-overview__offer {
    position: static;
  }

  .system-demo-intro__actions {
    justify-items: start;
  }

  h1 {
    font-size: 3.6rem;
  }

  h2 {
    font-size: 2.25rem;
  }

  .site-header {
    border-bottom: 1px solid var(--ink-border);
  }

  .site-header__inner {
    align-items: center;
    grid-template-columns: auto 1fr auto;
    gap: 0.9rem;
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
  }

  .site-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
    width: 100%;
    overflow: visible;
  }

  .ink-js-ready .site-nav {
    display: none;
  }

  .ink-js-ready .site-nav.is-open {
    display: block;
  }

  .site-commerce {
    grid-column: 2;
    justify-self: end;
  }

  .site-nav-toggle {
    grid-column: 3;
    display: inline-flex;
  }

  .site-nav__list {
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    white-space: normal;
  }

  .site-nav__list > li > a {
    border-bottom: 1px solid var(--ink-border);
    padding: 0.8rem 0.25rem;
  }

  .site-nav__list .sub-menu {
    position: static;
    display: grid;
    gap: 0;
    min-width: 0;
    margin: 0;
    border: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .site-nav__list .sub-menu a {
    border: 0;
    border-bottom: 1px solid var(--ink-border);
    padding: 0.7rem 1.1rem;
    font-size: 0.88rem;
  }

  .map-section__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .showcase-row,
  .showcase-row--reverse,
  .service-hero,
  .shirts-catalog-hero,
  .shirt-collection-detail__hero,
  .catalog-item-hero {
    grid-template-columns: 1fr;
  }

  .showcase-row--reverse .showcase-row__media {
    order: 0;
  }

  .product-gallery__grid,
  .design-grid,
  .shirt-collection-grid,
  .shirt-collection-grid--compact,
  .collection-filter-form,
  .seo-hub__grid,
  .purchase-builder__grid,
  .collection-design-grid,
  .collection-product-grid,
  .systems-grid,
  .purchase-options,
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .coming-soon {
    grid-template-columns: 1fr;
  }

  .woocommerce-account.logged-in .woocommerce {
    grid-template-columns: 1fr;
  }

  .ink-auth-grid,
  .ink-recovery-options {
    grid-template-columns: 1fr;
  }

  .ink-recovery-options__actions {
    justify-content: flex-start;
  }

  .ink-library__header {
    grid-template-columns: minmax(0, 1fr) minmax(12rem, 0.45fr);
  }
}

@media (max-width: 680px) {
  .system-demo-page {
    padding: 2rem 0 3rem;
  }

  .system-demo-intro,
  .system-demo-scope {
    margin-right: 1rem;
    margin-left: 1rem;
  }

  .system-demo-container {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }

  .system-demo-frame__notice {
    align-items: flex-start;
    flex-direction: column;
  }

  .system-demo-mount {
    min-height: 620px;
  }

  .system-demo-scope {
    grid-template-columns: 1fr;
  }

  .service-page--embroidery .collection-design-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .calculator-section--dtf-page {
    padding-top: 0.9rem;
  }

  .mockup-page__section {
    padding: 0.75rem 0 2rem;
  }

  .bg-remover-page__section {
    padding: 1.25rem 1rem 2.5rem;
  }

  .calculator-page__intro {
    align-items: flex-start;
    display: grid;
    gap: 0.55rem;
  }

  .calculator-page__intro h1 {
    font-size: 2.15rem;
  }

  .calculator-page__intro > p {
    font-size: 0.92rem;
  }

  .mockup-page__intro {
    width: auto;
    margin-right: 0.75rem;
    margin-left: 0.75rem;
    padding-right: 0;
    padding-left: 0;
    align-items: flex-start;
    display: grid;
    gap: 0.55rem;
  }

  .mockup-page__intro h1 {
    font-size: 2.15rem;
  }

  .mockup-page__intro > p {
    font-size: 0.92rem;
  }

  .bg-remover-page__intro {
    display: grid;
    gap: 0.55rem;
  }

  .bg-remover-page__intro h1 {
    font-size: 2.15rem;
  }

  .bg-remover-page__intro > p {
    font-size: 0.92rem;
  }

  .ink-mockup-generator {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }

  .site-logo img {
    width: 76px;
  }

  .site-header__inner {
    gap: 0.65rem;
  }

  .site-commerce {
    gap: 0.1rem;
  }

  .site-commerce__link {
    min-height: 2.25rem;
    padding: 0.35rem 0.45rem;
    font-size: 0.8rem;
  }

  .hero {
    min-height: 68svh;
  }

  .hero__content {
    padding-top: 4rem;
    padding-bottom: 3rem;
  }

  h1 {
    font-size: 2.75rem;
  }

  h2,
  .local-cta h2,
  .content-page h1 {
    font-size: 2rem;
  }

  .hero p:not(.eyebrow) {
    font-size: 1.05rem;
  }

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

  .shirts-catalog-proof {
    grid-template-columns: 1fr;
  }

  .showcase-row__media img,
  .coming-soon__media img {
    height: 20rem;
  }

  .product-gallery__grid,
  .design-grid,
  .shirt-collection-grid,
  .shirt-collection-grid--compact,
  .seo-hub__grid,
  .collection-design-grid,
  .collection-product-grid,
  .systems-grid,
  .purchase-options,
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }

  .local-cta,
  .site-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .contact-actions {
    grid-template-columns: 1fr;
  }

  .purchase-builder__summary {
    align-items: stretch;
    flex-direction: column;
  }

  .collection-filter-form {
    grid-template-columns: 1fr;
  }

  .ink-library__header,
  .ink-library__items,
  .ink-membership-account__hero,
  .ink-membership-account__grid,
  .ink-membership-account__rights ul {
    grid-template-columns: 1fr;
  }

  .ink-library__bundle-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .ink-profile-photo,
  .ink-account-fields {
    grid-template-columns: 1fr;
  }

  .ink-account-fields__wide {
    grid-column: auto;
  }

  .ink-profile-photo__preview img {
    width: 6.5rem;
    height: 6.5rem;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    gap: 0.45rem;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border-top: 0;
    padding: 0 0 0.6rem;
    scrollbar-width: thin;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a {
    border: 1px solid var(--ink-border);
    border-radius: 6px;
    padding: 0.6rem 0.75rem;
    white-space: nowrap;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    border-left: 1px solid var(--ink-blue);
    border-color: var(--ink-blue);
  }

  .ink-auth-form-actions,
  .ink-lost-password__actions {
    align-items: flex-start;
    flex-direction: column;
  }
}

.catalog-item-gallery {
  min-width: 0;
}

.catalog-item-gallery__main {
  overflow: hidden;
  margin: 0;
  border: 1px solid var(--ink-border);
  border-radius: 12px;
  background: #ffffff;
}

.catalog-item-gallery__open {
  position: relative;
  display: block;
  color: inherit;
  cursor: zoom-in;
}

.catalog-item-gallery__open:focus-visible {
  outline: 3px solid var(--ink-blue);
  outline-offset: -3px;
}

.catalog-item-gallery__main > img,
.catalog-item-gallery__open > img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.catalog-item-gallery__expand {
  position: absolute;
  right: 0.85rem;
  bottom: 0.85rem;
  border-radius: 999px;
  padding: 0.55rem 0.8rem;
  background: rgba(8, 28, 155, 0.9);
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 900;
  box-shadow: 0 8px 20px rgba(17, 19, 24, 0.18);
}

.catalog-item-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 0.75rem;
}

.catalog-item-gallery__thumb {
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 8px;
  padding: 0;
  background: #ffffff;
  cursor: pointer;
}

.catalog-item-gallery__thumb.is-active,
.catalog-item-gallery__thumb:hover,
.catalog-item-gallery__thumb:focus-visible {
  border-color: var(--ink-blue);
}

.catalog-item-hero__media .catalog-item-gallery__thumb img {
  display: block;
  width: 100%;
  height: 5.5rem;
  object-fit: contain;
}

body.catalog-lightbox-open {
  overflow: hidden;
}

.catalog-lightbox[hidden] {
  display: none;
}

.catalog-lightbox [hidden] {
  display: none;
}

.catalog-lightbox {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: grid;
  padding: 1.25rem;
  place-items: center;
}

.catalog-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 8, 20, 0.92);
  backdrop-filter: blur(6px);
}

.catalog-lightbox__dialog {
  position: relative;
  display: grid;
  width: min(96vw, 96rem);
  height: 94vh;
  height: 94dvh;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  background: #0b1022;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.48);
  grid-template-rows: auto minmax(0, 1fr);
}

.catalog-lightbox__toolbar {
  display: flex;
  min-height: 3.75rem;
  padding: 0.7rem 0.85rem 0.7rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  color: #ffffff;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.catalog-lightbox__toolbar p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-weight: 800;
}

.catalog-lightbox__actions {
  display: flex;
  gap: 0.5rem;
}

.catalog-lightbox__toolbar button,
.catalog-lightbox__previous,
.catalog-lightbox__next {
  display: inline-grid;
  min-width: 2.75rem;
  min-height: 2.75rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  padding: 0.45rem 0.8rem;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
  place-items: center;
}

.catalog-lightbox__toolbar button:hover,
.catalog-lightbox__toolbar button:focus-visible,
.catalog-lightbox__previous:hover,
.catalog-lightbox__previous:focus-visible,
.catalog-lightbox__next:hover,
.catalog-lightbox__next:focus-visible {
  border-color: #ffffff;
  background: rgba(255, 255, 255, 0.2);
  outline: none;
}

.catalog-lightbox__stage {
  display: grid;
  min-width: 0;
  min-height: 0;
  padding: 0.75rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
}

.catalog-lightbox.has-single-image .catalog-lightbox__stage {
  grid-template-columns: minmax(0, 1fr);
}

.catalog-lightbox__previous,
.catalog-lightbox__next {
  z-index: 1;
  padding: 0;
  font-size: 2rem;
  line-height: 1;
}

.catalog-lightbox__figure {
  display: grid;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: auto;
  margin: 0;
  place-items: center;
  grid-template-rows: minmax(0, 1fr) auto;
}

.catalog-lightbox__figure img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(94dvh - 8rem);
  margin: auto;
  cursor: zoom-in;
  object-fit: contain;
}

.catalog-lightbox.is-zoomed .catalog-lightbox__figure {
  display: block;
}

.catalog-lightbox.is-zoomed .catalog-lightbox__figure img {
  max-width: none;
  max-height: none;
  cursor: zoom-out;
}

.catalog-lightbox__figure figcaption {
  width: 100%;
  min-height: 2.25rem;
  padding: 0.65rem 0.75rem 0;
  color: rgba(255, 255, 255, 0.82);
  text-align: center;
}

.purchase-builder__variants {
  max-width: var(--ink-max);
  margin: 1rem auto 0;
  border: 0;
  padding: 0;
}

.purchase-builder__variants legend {
  margin-bottom: 0.75rem;
  color: var(--ink-blue);
  font-weight: 900;
}

.purchase-builder__variant-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.purchase-variant {
  position: relative;
  display: flex;
  min-height: 9rem;
  border: 1px solid var(--ink-border);
  border-radius: 10px;
  padding: 1rem;
  background: #ffffff;
  cursor: pointer;
  flex-direction: column;
}

.purchase-variant:has(input:checked) {
  border-color: var(--ink-blue);
  box-shadow: 0 12px 28px rgba(8, 28, 155, 0.12);
}

.purchase-variant input {
  position: absolute;
  top: 1rem;
  right: 1rem;
}

.purchase-variant span,
.purchase-variant strong,
.purchase-variant small,
.purchase-variant b {
  display: block;
  padding-right: 1.4rem;
}

.purchase-variant span {
  color: var(--ink-green);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.purchase-variant strong {
  margin-top: 0.35rem;
  color: var(--ink-blue);
}

.purchase-variant small {
  margin-top: 0.45rem;
  color: var(--ink-muted);
}

.purchase-variant b {
  margin-top: auto;
  padding-top: 0.75rem;
  color: var(--ink-magenta);
}

.purchase-variant.is-unavailable {
  background: #f7f8fb;
}

.supply-admin-tools {
  max-width: var(--ink-max);
  margin: 2rem auto 0;
}

.supply-admin-tools .hero__actions {
  margin-top: 0.75rem;
}

.supply-card__status {
  color: #8a5a00;
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.supply-card__status.is-available {
  color: var(--ink-green);
}

@media (max-width: 760px) {
  .catalog-lightbox {
    padding: 0.35rem;
  }

  .catalog-lightbox__dialog {
    width: 100%;
    height: calc(100dvh - 0.7rem);
    border-radius: 10px;
  }

  .catalog-lightbox__toolbar {
    padding-left: 0.75rem;
  }

  .catalog-lightbox__stage {
    position: relative;
    padding: 0.5rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .catalog-lightbox__previous,
  .catalog-lightbox__next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  .catalog-lightbox__previous {
    left: 0.65rem;
  }

  .catalog-lightbox__next {
    right: 0.65rem;
  }

  .catalog-lightbox__figure img {
    max-height: calc(100dvh - 9rem);
  }

  .catalog-item-gallery__thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .purchase-builder__variant-grid {
    grid-template-columns: 1fr;
  }
}
/* Direct design gallery: previews first, collection navigation without pack covers. */
.design-browser {
  max-width: 1320px;
  margin: 0 auto;
  padding: 2.25rem 1.5rem 3rem;
}
.design-browser__heading h1 {
  margin: 0;
  font-size: clamp(1.85rem, 3.4vw, 2.8rem);
  line-height: 1.12;
  letter-spacing: -0.035em;
}
.design-browser__heading p { margin: .65rem 0 1.25rem; color: var(--ink-muted); }
.design-browser__channels { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.design-browser__channels a {
  padding: .55rem 1.15rem; border: 1px solid var(--ink-border); border-radius: 100px;
  text-decoration: none; font-weight: 750; color: var(--ink-blue);
}
.design-browser__channels a[aria-current] { background: var(--ink-blue); color: white; border-color: var(--ink-blue); }
.design-browser__filters { padding: 1rem; border: 1px solid var(--ink-border); border-radius: 12px; background: var(--ink-soft); }
.design-browser__filter-row { display: flex; gap: .75rem; align-items: end; flex-wrap: wrap; }
.design-browser__filter-row label { flex: 1 1 200px; min-width: 0; display: grid; gap: .3rem; font-size: .9rem; font-weight: 750; }
.design-browser__filter-row .design-browser__search { flex: 2 1 280px; }
.design-browser__filter-row input, .design-browser__filter-row select {
  width: 100%; min-width: 0; height: 46px; border: 1px solid #c5cad5; border-radius: 6px;
  padding: .55rem .75rem; background: white; color: var(--ink-text); font: inherit; font-weight: 400;
}
.design-browser__filter-row .button { min-height: 46px; }
.design-browser__more { margin-top: .65rem; font-size: .9rem; }
.design-browser__more summary { cursor: pointer; color: var(--ink-muted); width: fit-content; }
.design-browser__more[open] summary { margin-bottom: .65rem; }
.design-browser__summary { display: flex; align-items: baseline; gap: .6rem 1rem; flex-wrap: wrap; padding: .85rem 0; scroll-margin-top: 1rem; }
.design-browser__summary p { margin: 0; margin-right: auto; color: var(--ink-muted); }
.design-browser__summary strong { color: var(--ink-text); }
.design-browser__summary a { color: var(--ink-blue); font-size: .9rem; }
.design-browser__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.design-browser__card { min-width: 0; overflow: hidden; border: 1px solid var(--ink-border); border-radius: 12px; background: white; }
.design-browser__card .collection-design-card { height: auto; border: 0; border-radius: 0; box-shadow: none; transform: none; }
.design-browser__card .collection-design-card__media { aspect-ratio: 1; background: #f3f4f7; }
.design-browser__card .collection-design-card__media img { height: 100%; width: 100%; object-fit: contain; }
.design-browser__card .collection-design-card__body { min-height: 0; padding: .85rem; gap: .35rem; }
.design-browser__card .collection-design-card__body strong { font-size: 1rem; overflow-wrap: anywhere; }
.design-browser__code { font-size: .75rem; color: var(--ink-muted); }
.design-browser__card .collection-design-card__body small { margin: 0; padding: .2rem 0 0; }
.design-browser__collection-link { display: block; padding: .6rem .85rem; border-top: 1px solid var(--ink-border); color: var(--ink-muted); font-size: .85rem; text-decoration: none; }
.design-browser__collection-link:hover { color: var(--ink-blue); background: var(--ink-soft); }
.design-browser a:focus-visible, .design-browser summary:focus-visible, .design-browser input:focus-visible, .design-browser select:focus-visible {
  outline: 3px solid var(--ink-sky); outline-offset: 2px;
}
.design-browser__pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
.design-browser__pagination a { padding: .6rem 1rem; border: 1px solid var(--ink-border); border-radius: 6px; text-decoration: none; color: var(--ink-blue); font-weight: 750; }
.design-browser__empty { padding: 3rem 1rem; text-align: center; background: var(--ink-soft); border-radius: 12px; }
.design-browser__empty h2 { font-size: 1.4rem; }
.design-browser-service { max-width: 1272px; margin: 0 auto 3rem; padding: 1.5rem; border-top: 1px solid var(--ink-border); }
.design-browser-service h2 { margin: 0; font-size: 1.3rem; }
.design-browser-service p { max-width: 760px; color: var(--ink-muted); }
.design-browser-service a { color: var(--ink-blue); font-weight: 750; }
@media (max-width: 980px) {
  .design-browser__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
}
@media (max-width: 600px) {
  .design-browser { padding: 1.3rem 1rem 2rem; }
  .design-browser__heading p { font-size: .95rem; }
  .design-browser__channels { gap: .35rem; }
  .design-browser__channels a { padding: .5rem .75rem; font-size: .9rem; }
  .design-browser__filters { padding: .75rem; }
  .design-browser__filter-row { gap: .6rem; }
  .design-browser__filter-row label { flex-basis: 140px; }
  .design-browser__filter-row .design-browser__search { flex-basis: 100%; }
  .design-browser__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
  .design-browser__card .collection-design-card__body { padding: .65rem; }
  .design-browser__card .collection-design-card__body strong { font-size: .9rem; }
  .design-browser__collection-link { padding: .55rem .65rem; font-size: .8rem; }
  .design-browser__summary { font-size: .9rem; }
}
