/* Interra Atelier — premium section system (non-hero) */

:root {
  --ix-bg: #f3f1ec;
  --ix-bg-soft: #d4d5c7;
  --ix-ink: #1a1714;
  --ix-muted: rgba(26, 23, 20, 0.64);
  --ix-faint: rgba(26, 23, 20, 0.42);
  --ix-line: rgba(26, 23, 20, 0.14);
  --ix-line-strong: rgba(26, 23, 20, 0.28);
  --ix-dark: #181614;
  --ix-dark-soft: #24201c;
  --ix-cream: #f3f1ec;
  --ix-walnut: #6e5640;
  --ix-max: 1400px;
  --ix-max-wide: 1400px;
  --ix-pad-x: clamp(1.25rem, 5.5vw, 4.75rem);
  --ix-pad-y: clamp(4.5rem, 9vw, 7.5rem);
  --ix-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.interra-hide { display: none !important; }

/* Full-bleed escape from Webflow 72|1296|72 grid */
.ix {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: var(--ix-pad-y) 0;
  background: var(--ix-bg);
  color: var(--ix-ink);
  box-sizing: border-box;
  overflow: hidden;
}
.ix * { box-sizing: border-box; }
.ix--soft { background: var(--ix-bg-soft); }
.ix--dark {
  background: var(--ix-dark);
  color: var(--ix-cream);
}
.ix--dark .ix-label { color: rgba(243, 241, 236, 0.5); }
.ix--dark .ix-title,
.ix--dark .ix-display,
.ix--dark h2,
.ix--dark h3 { color: var(--ix-cream) !important; -webkit-text-fill-color: var(--ix-cream); }
.ix--dark .ix-copy,
.ix--dark .ix-step p,
.ix--dark .ix-pillar p,
.ix--dark .ix-row p,
.ix--dark .ix-finish-row__body p,
.ix--dark p { color: rgba(243, 241, 236, 0.72) !important; }
.ix--dark .ix-rule { background: rgba(243, 241, 236, 0.16); }
.ix--dark .ix-num,
.ix--dark .ix-step__n,
.ix--dark .ix-pillar__n,
.ix--dark .ix-finish-row__num { color: #c4a574; }
.ix--dark .ix-steps,
.ix--dark .ix-step,
.ix--dark .ix-pillars,
.ix--dark .ix-pillar,
.ix--dark .ix-rows,
.ix--dark .ix-row,
.ix--dark .ix-finish-stack,
.ix--dark .ix-finish-row { border-color: rgba(243, 241, 236, 0.14); }
.ix--dark .ix-finish-row__body h3 { color: var(--ix-cream) !important; }
.ix--tight { padding-top: clamp(3rem, 6vw, 4.5rem); padding-bottom: clamp(3rem, 6vw, 4.5rem); }

.ix-shell {
  width: 100%;
  max-width: var(--ix-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--ix-pad-x);
  padding-right: var(--ix-pad-x);
}
.ix-shell--wide { max-width: var(--ix-max-wide); }
.ix-shell--flush {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.ix-label {
  display: block;
  margin: 0 0 1rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--ix-faint);
}
.ix-title {
  margin: 0;
  font-family: Montserrat, sans-serif;
  font-weight: 400;
  font-size: clamp(1.65rem, 3.4vw, 2.35rem);
  line-height: 1.12;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ix-ink);
}
.ix-display {
  margin: 0;
  font-family: Montserrat, sans-serif;
  font-weight: 400;
  font-size: clamp(1.85rem, 4.2vw, 3rem);
  line-height: 1.15;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ix-ink);
}
.ix-copy {
  margin: 1.25rem 0 0;
  max-width: 36rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 1.015rem;
  line-height: 1.7;
  color: var(--ix-muted);
}
.ix-copy--narrow { max-width: 28rem; }
.ix-copy + .ix-copy { margin-top: 1rem; }

.ix-rule {
  display: block;
  width: 100%;
  height: 1px;
  margin: 2.5rem 0;
  background: var(--ix-line);
  border: 0;
}

.ix-head {
  max-width: 40rem;
  margin: 0 auto 3rem;
  text-align: center;
}
.ix-head .ix-copy {
  margin-left: auto;
  margin-right: auto;
}

.ix-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.75rem;
  padding: 0.9rem 1.35rem;
  border: 1px solid var(--ix-line-strong);
  color: var(--ix-ink);
  text-decoration: none;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  transition: background 0.35s var(--ix-ease), color 0.35s var(--ix-ease), border-color 0.35s var(--ix-ease);
}
.ix-btn:hover {
  background: var(--ix-ink);
  color: var(--ix-cream);
  border-color: var(--ix-ink);
}
.ix-btn--solid {
  background: var(--ix-ink);
  color: var(--ix-cream);
  border-color: var(--ix-ink);
  padding: 1.05rem 1.65rem;
  letter-spacing: 0.2em;
}
.ix-btn--solid:hover {
  background: transparent;
  color: var(--ix-ink);
  border-color: var(--ix-ink);
}
.ix--dark .ix-btn {
  border-color: rgba(243, 241, 236, 0.35);
  color: var(--ix-cream);
}
.ix--dark .ix-btn:hover {
  background: var(--ix-cream);
  color: var(--ix-ink);
  border-color: var(--ix-cream);
}
.ix--dark .ix-btn--solid {
  background: var(--ix-cream);
  color: var(--ix-ink);
  border-color: var(--ix-cream);
}
.ix--dark .ix-btn--solid:hover {
  background: transparent;
  color: var(--ix-cream);
  border-color: rgba(243, 241, 236, 0.55);
}
.ix-btn__arrow {
  display: inline-block;
  width: 1.1rem;
  height: 1px;
  background: currentColor;
  position: relative;
}
.ix-btn__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 0.4rem;
  height: 0.4rem;
  border-right: 1px solid currentColor;
  border-top: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

/* Editorial split */
.ix-split {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
  width: 100%;
}
.ix-split--flip { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); }
.ix-split--flip .ix-split__visual { order: 2; }
.ix-split--top { align-items: start; }
.ix-split__visual {
  position: relative;
  min-height: clamp(22rem, 48vw, 34rem);
  overflow: hidden;
  background: var(--ix-bg-soft);
}
.ix-split__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: absolute;
  inset: 0;
  transition: transform 1.2s var(--ix-ease);
}
.ix-split:hover .ix-split__visual img { transform: scale(1.04); }
.ix-split__visual--frame {
  min-height: 0;
  aspect-ratio: 4 / 5;
}
.ix-split__visual--frame img { position: relative; height: auto; aspect-ratio: 4 / 5; }
.ix-pull {
  margin: 1.65rem 0 0;
  max-width: 28rem;
  padding: 0.15rem 0 0.15rem 1.15rem;
  border-left: 2px solid var(--ix-walnut);
  font-family: Montserrat, sans-serif;
  font-size: clamp(0.98rem, 1.5vw, 1.12rem);
  line-height: 1.45;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ix-ink);
}
.ix-pull + .ix-copy { margin-top: 1.35rem; }

/* Manifesto / numbered rows */
.ix-rows {
  display: grid;
  gap: 0;
  margin-top: 0.5rem;
  border-top: 1px solid var(--ix-line);
}
.ix-row {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr) minmax(0, 1.4fr);
  gap: 1.25rem 1.75rem;
  align-items: baseline;
  padding: 1.65rem 0;
  border-bottom: 1px solid var(--ix-line);
}
.ix-num {
  font-family: Montserrat, sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  color: var(--ix-faint);
}
.ix-row h3 {
  margin: 0;
  font-family: Montserrat, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: inherit;
}
.ix-row p {
  margin: 0;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.98rem;
  line-height: 1.65;
  color: var(--ix-muted);
}
.ix--dark .ix-row p { color: rgba(243, 241, 236, 0.68); }
.ix--dark .ix-rows,
.ix--dark .ix-row { border-color: rgba(243, 241, 236, 0.14); }

/* Traits — centered 4-col icon grid */
.ix-traits__head {
  text-align: center;
  max-width: 28rem;
  margin: 0 auto 3.25rem;
}
.ix-traits__head .ix-title { letter-spacing: 0.1em; }
.ix-traits__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.25rem);
  align-items: start;
}
.ix-trait {
  text-align: center;
  padding: 0 0.5rem;
  min-width: 0;
}
.ix-trait__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  margin: 0 auto 1.45rem;
  color: var(--ix-walnut);
}
.ix-trait__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.ix-trait h3 {
  margin: 0 0 0.85rem;
  font-family: Montserrat, sans-serif;
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ix-ink);
}
.ix-trait p {
  margin: 0 auto;
  max-width: 16.5rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.92rem;
  line-height: 1.7;
  color: var(--ix-muted);
}

/* Process steps */
.ix-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 3rem;
  border-top: 1px solid var(--ix-line);
}
.ix-step {
  padding: 1.75rem 1.35rem 0 0;
  border-right: 1px solid var(--ix-line);
}
.ix-step:last-child { border-right: 0; padding-right: 0; }
.ix-step__n {
  display: block;
  margin-bottom: 1.25rem;
  font-family: Montserrat, sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  color: var(--ix-walnut);
}
.ix-step h3 {
  margin: 0 0 0.65rem;
  font-family: Montserrat, sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.ix-step p {
  margin: 0;
  max-width: 16rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.92rem;
  line-height: 1.6;
  color: var(--ix-muted);
}

/* Pillars */
.ix-pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 3rem;
  border-top: 1px solid var(--ix-line);
}
.ix-pillar {
  padding: 2rem 1.75rem 0 0;
  border-right: 1px solid var(--ix-line);
}
.ix-pillar:last-child { border-right: 0; padding-right: 0; }
.ix-pillar__n {
  display: block;
  margin-bottom: 1.5rem;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  color: var(--ix-walnut);
}
.ix-pillar h3 {
  margin: 0 0 0.85rem;
  font-family: Montserrat, sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.ix-pillar p {
  margin: 0;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--ix-muted);
}

/* Quote band */
.ix-quote {
  max-width: 46rem;
  margin: 0 auto;
  text-align: center;
}
.ix-quote blockquote {
  margin: 0;
  font-family: Montserrat, sans-serif;
  font-size: clamp(1.35rem, 2.8vw, 1.9rem);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: inherit;
}
.ix-quote cite {
  display: block;
  margin-top: 1.75rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-style: normal;
  font-size: 0.7rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--ix-faint);
}
.ix--dark .ix-quote cite { color: rgba(243, 241, 236, 0.45); }

/* Material swatches */
.ix-swatches {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 2rem;
}
.ix-swatch {
  margin: 0;
  position: relative;
  overflow: hidden;
  background: #ddd;
}
.ix-swatch img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
  transition: transform 0.9s var(--ix-ease);
}
.ix-swatch:hover img { transform: scale(1.05); }
.ix-swatch figcaption {
  margin-top: 0.55rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ix-faint);
}

.ix-species {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem 2rem;
  margin: 2rem 0 0.5rem;
}
.ix-species article h3 {
  margin: 0 0 0.45rem;
  font-family: Montserrat, sans-serif;
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.ix-species article p {
  margin: 0;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.92rem;
  line-height: 1.6;
  color: var(--ix-muted);
}

/* Stone section — material wall */
.ix--stone {
  background: var(--ix-bg);
  border-top: 1px solid var(--ix-line);
}
.ix-stone-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: end;
  margin-bottom: clamp(2.25rem, 4vw, 3.25rem);
}
.ix-stone-head .ix-copy {
  margin: 0;
  max-width: 28rem;
}
.ix-stone-trio {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.85rem, 1.6vw, 1.35rem);
  align-items: end;
}
.ix-stone-panel {
  margin: 0;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.ix-stone-panel__visual {
  position: relative;
  overflow: hidden;
  background: #ddd8ce;
  aspect-ratio: 3 / 4;
}
.ix-stone-panel__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: 0;
  outline: none;
  box-shadow: none;
  transition: transform 1.1s var(--ix-ease);
}
.ix-stone-panel:hover .ix-stone-panel__visual img {
  transform: scale(1.04);
}
.ix-stone-panel__body {
  padding-top: 1.15rem;
}
.ix-stone-panel__body h3 {
  margin: 0 0 0.45rem;
  font-family: Montserrat, sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ix-ink);
}
.ix-stone-panel__body p {
  margin: 0;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.92rem;
  line-height: 1.6;
  color: var(--ix-muted);
}

/* Borderless quartz dezeni */
.ix-dezeni {
  margin-top: clamp(3rem, 6vw, 4.5rem);
  padding-top: clamp(2rem, 4vw, 2.75rem);
  border-top: 1px solid var(--ix-line);
}
.ix-dezeni__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1.5rem;
  margin-bottom: 1.75rem;
}
.ix-dezeni__head h3 {
  margin: 0;
  font-family: Montserrat, sans-serif;
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ix-ink);
}
.ix-dezeni__head p {
  margin: 0;
  max-width: 22rem;
  text-align: right;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--ix-faint);
}
.ix-dezeni__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem 0.85rem;
}
.ix-dezen {
  margin: 0;
  min-width: 0;
}
.ix-dezen img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
  border: 0;
  outline: none;
  box-shadow: none;
  background: #ddd8ce;
  transition: transform 0.8s var(--ix-ease);
}
.ix-dezen:hover img {
  transform: scale(1.03);
}
.ix-dezen figcaption {
  margin-top: 0.5rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ix-faint);
}

.ix-note {
  margin-top: 1.75rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.85rem;
  line-height: 1.55;
  color: var(--ix-faint);
}

/* Finishes — editorial material rows */
.ix-finish-head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: end;
  margin-bottom: 2.75rem;
}
.ix-finish-head .ix-copy {
  margin: 0;
  max-width: 28rem;
  justify-self: end;
  text-align: right;
}
.ix-finish-stack {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--ix-line);
}
.ix-finish-row {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(1.5rem, 4vw, 3.25rem);
  align-items: center;
  padding: clamp(1.75rem, 3.5vw, 2.75rem) 0;
  border-bottom: 1px solid var(--ix-line);
}
.ix-finish-row:nth-child(even) .ix-finish-row__visual { order: 2; }
.ix-finish-row:nth-child(even) .ix-finish-row__body { order: 1; }
.ix-finish-row__num {
  margin: 0 0 0.65rem;
  font-family: Montserrat, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  color: var(--ix-walnut);
}
.ix-finish-row__body h3 {
  margin: 0 0 0.75rem;
  font-family: Montserrat, sans-serif;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ix-ink);
}
.ix-finish-row__body p {
  margin: 0;
  max-width: 28rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.98rem;
  line-height: 1.65;
  color: var(--ix-muted);
}
.ix-finish-row__body a {
  color: var(--ix-ink);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.ix-finish-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1.15rem;
  list-style: none;
  margin: 1.15rem 0 0;
  padding: 0;
}
.ix-finish-tags li {
  position: relative;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ix-faint);
}
.ix-finish-tags li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -0.7rem;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--ix-line-strong);
  transform: translateY(-50%);
}

/* Paint palette */
.ix-palette {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.45rem;
  height: clamp(9.5rem, 18vw, 13.5rem);
}
.ix-palette__swatch {
  display: block;
  height: 100%;
  background: var(--c, #ccc);
  transform-origin: center bottom;
  transition: transform 0.55s var(--ix-ease), box-shadow 0.55s var(--ix-ease);
}
.ix-palette:hover .ix-palette__swatch { transform: scaleY(0.92); }
.ix-palette__swatch:hover {
  transform: scaleY(1.06) !important;
  box-shadow: 0 10px 28px rgba(26, 23, 20, 0.14);
  z-index: 1;
}

/* Glass panes */
.ix-glass {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  height: clamp(9.5rem, 18vw, 13.5rem);
}
.ix-glass__pane {
  position: relative;
  margin: 0;
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 0.7rem;
  border: 1px solid rgba(26, 23, 20, 0.1);
  transition: transform 0.55s var(--ix-ease);
}
.ix-glass__pane:hover { transform: translateY(-4px); }
.ix-glass__sheen {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    transparent 28%,
    rgba(255, 255, 255, 0.45) 46%,
    transparent 62%
  );
  opacity: 0.55;
  transition: opacity 0.45s var(--ix-ease), transform 0.7s var(--ix-ease);
}
.ix-glass__pane:hover .ix-glass__sheen {
  opacity: 0.85;
  transform: translateX(8%);
}
.ix-glass__pane--clear {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.4) 0%, transparent 45%),
    repeating-linear-gradient(-18deg, rgba(26,23,20,0.045) 0 2px, transparent 2px 10px),
    linear-gradient(180deg, rgba(200, 220, 230, 0.55), rgba(180, 195, 205, 0.35)),
    linear-gradient(180deg, #e7e1d6, #d4cdc0);
}
.ix-glass__pane--bronze {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.28) 0%, transparent 42%),
    repeating-linear-gradient(-18deg, rgba(26,23,20,0.04) 0 2px, transparent 2px 10px),
    linear-gradient(180deg, rgba(160, 110, 65, 0.55), rgba(90, 55, 30, 0.7));
}
.ix-glass__pane--smoke {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.2) 0%, transparent 42%),
    repeating-linear-gradient(-18deg, rgba(255,255,255,0.04) 0 2px, transparent 2px 10px),
    linear-gradient(180deg, rgba(70, 74, 80, 0.55), rgba(30, 32, 36, 0.75));
}
.ix-glass__pane figcaption {
  position: relative;
  z-index: 1;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(26, 23, 20, 0.72);
}
.ix-glass__pane--bronze figcaption,
.ix-glass__pane--smoke figcaption { color: rgba(243, 241, 236, 0.88); }

/* Metal bars */
.ix-metal {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  height: clamp(9.5rem, 18vw, 13.5rem);
}
.ix-metal__bar {
  position: relative;
  margin: 0;
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 0.7rem;
  transition: transform 0.55s var(--ix-ease);
}
.ix-metal__bar:hover { transform: translateY(-4px); }
.ix-metal__bar--steel {
  background:
    linear-gradient(160deg, #c8cdd3 0%, #8a919a 38%, #e8eaed 52%, #6d747c 100%);
}
.ix-metal__bar--chrome {
  background:
    linear-gradient(155deg, #f4f5f7 0%, #b8bec6 28%, #ffffff 48%, #9aa1aa 72%, #dfe3e8 100%);
}
.ix-metal__bar--alum {
  background:
    linear-gradient(165deg, #d2d6da 0%, #aeb4ba 40%, #eceff2 55%, #8f969e 100%);
}
.ix-metal__bar::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 20%,
    rgba(255, 255, 255, 0.35) 48%,
    transparent 70%
  );
  opacity: 0.5;
  transition: opacity 0.45s var(--ix-ease);
}
.ix-metal__bar:hover::before { opacity: 0.85; }
.ix-metal__bar figcaption {
  position: relative;
  z-index: 1;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(26, 23, 20, 0.7);
}

.ix-finish-foot {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) auto;
  gap: 1.5rem;
  align-items: end;
  margin-top: 2.5rem;
  padding-top: 0.25rem;
}
.ix-finish-foot .ix-copy {
  margin: 0.65rem 0 0;
  max-width: 40rem;
}
.ix-finish-foot .ix-btn { margin-top: 0; }

/* Portfolio spotlight */
.ix-spot-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
.ix-spot-head .ix-copy { margin: 0; max-width: 24rem; text-align: right; }
.ix-spot {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  gap: 0.85rem;
  min-height: clamp(26rem, 62vh, 40rem);
}
.ix-spot__main,
.ix-spot__item {
  position: relative;
  display: block;
  overflow: hidden;
  background: #d8d2c8;
  text-decoration: none;
  color: inherit;
  min-height: 0;
}
.ix-spot__main { height: 100%; }
.ix-spot__side {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 0.85rem;
  min-height: 0;
}
.ix-spot__main::after,
.ix-spot__item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(24, 22, 20, 0);
  transition: background 0.45s var(--ix-ease);
  z-index: 1;
}
.ix-spot__main:hover::after,
.ix-spot__item:hover::after { background: rgba(24, 22, 20, 0.16); }
.ix-spot__main img,
.ix-spot__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1.1s var(--ix-ease);
}
.ix-spot__main:hover img,
.ix-spot__item:hover img { transform: scale(1.035); }

/* Portfolio masonry */
.ix-gallery-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
.ix-gallery-head .ix-copy { margin: 0; max-width: 22rem; text-align: right; }
.ix-masonry {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0.65rem;
}
.ix-masonry a {
  position: relative;
  display: block;
  overflow: hidden;
  background: #d8d2c8;
  text-decoration: none;
  color: inherit;
}
.ix-masonry a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(24, 22, 20, 0);
  transition: background 0.4s var(--ix-ease);
}
.ix-masonry a:hover::after { background: rgba(24, 22, 20, 0.18); }
.ix-masonry img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.9s var(--ix-ease);
}
.ix-masonry a:hover img { transform: scale(1.04); }
.ix-masonry .ix-m--lg { grid-column: span 7; aspect-ratio: 16 / 11; }
.ix-masonry .ix-m--md { grid-column: span 5; aspect-ratio: 4 / 5; }
.ix-masonry .ix-m--sm { grid-column: span 4; aspect-ratio: 1; }
.ix-masonry .ix-m--wide { grid-column: span 8; aspect-ratio: 16 / 10; }
.ix-masonry .ix-m--tall { grid-column: span 4; aspect-ratio: 3 / 4; }

/* Closing band */
.ix-close {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 2rem;
  align-items: end;
}
.ix-close__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

/* Letter (legacy) */
.ix-letter {
  max-width: 42rem;
  margin: 0 auto;
  text-align: center;
}
.ix-letter .ix-display { margin-bottom: 1.75rem; }
.ix-letter .ix-copy {
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* About — origin */
.ix-origin {
  display: grid;
  grid-template-columns: minmax(10rem, 0.38fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}
.ix-origin__meta {
  position: sticky;
  top: 6rem;
  padding-top: 0.35rem;
}
.ix-origin__aside {
  margin: 1.5rem 0 0;
  font-family: Montserrat, sans-serif;
  font-weight: 400;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.55;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ix-ink);
}
.ix-origin__body .ix-display { margin-bottom: 0.25rem; }
.ix-origin__body .ix-copy { max-width: 34rem; }

/* About — full-bleed craft band */
.ix--flush {
  padding: 0;
  background: var(--ix-dark);
}
.ix-bleed {
  position: relative;
  margin: 0;
  width: 100%;
  min-height: clamp(22rem, 58vh, 36rem);
  overflow: hidden;
}
.ix-bleed img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 45%;
  display: block;
  transform: scale(1.02);
  transition: transform 1.4s var(--ix-ease);
}
.ix-bleed.is-in img,
.ix-bleed:hover img { transform: scale(1); }
.ix-bleed::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(24, 22, 20, 0.08) 0%,
    rgba(24, 22, 20, 0.55) 100%
  );
  pointer-events: none;
}
.ix-bleed__cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: grid;
  gap: 0.65rem;
  max-width: var(--ix-max-wide);
  margin: 0 auto;
  padding: clamp(1.75rem, 4vw, 3rem) var(--ix-pad-x);
  color: var(--ix-cream);
}
.ix-bleed__cap .ix-label { color: rgba(243, 241, 236, 0.55); margin: 0; }
.ix-bleed__cap p {
  margin: 0;
  max-width: 32rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: clamp(1.05rem, 2.1vw, 1.35rem);
  line-height: 1.55;
  letter-spacing: 0.02em;
  color: rgba(243, 241, 236, 0.92);
}

/* About — atelier (text only) */
.ix-atelier {
  max-width: 38rem;
}
.ix-atelier .ix-display { margin-bottom: 0.15rem; }
.ix-atelier .ix-copy { max-width: 34rem; }

/* About — credo over full-bleed photo */
.ix-credo-band {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  color: var(--ix-cream);
  isolation: isolate;
}
.ix-credo-band__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: #141516;
}
.ix-credo-band__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
  display: block;
  transform: scale(1.04);
  transition: transform 1.6s var(--ix-ease);
}
.ix-credo-band.is-in .ix-credo-band__media img { transform: scale(1); }
.ix-credo-band__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      100deg,
      rgba(18, 19, 20, 0.9) 0%,
      rgba(18, 19, 20, 0.72) 45%,
      rgba(18, 19, 20, 0.55) 100%
    ),
    linear-gradient(
      180deg,
      rgba(18, 19, 20, 0.35) 0%,
      rgba(18, 19, 20, 0.72) 100%
    );
}
.ix-credo-band__inner {
  position: relative;
  z-index: 2;
  padding-top: var(--ix-pad-y);
  padding-bottom: var(--ix-pad-y);
}
.ix-credo-band .ix-label {
  color: rgba(243, 241, 236, 0.5);
}
.ix-credo-band .ix-title {
  color: var(--ix-cream) !important;
  -webkit-text-fill-color: var(--ix-cream);
}
.ix-credo-band .ix-credo__grid {
  border-top-color: rgba(243, 241, 236, 0.16);
}
.ix-credo-band .ix-credo__item {
  border-bottom-color: rgba(243, 241, 236, 0.16);
}
.ix-credo-band .ix-credo__item:nth-child(odd) {
  border-right-color: rgba(243, 241, 236, 0.16);
}
.ix-credo-band .ix-credo__item:hover {
  background: rgba(243, 241, 236, 0.05);
}
.ix-credo-band .ix-credo__n {
  color: #c4a574;
}
.ix-credo-band .ix-credo__item:hover .ix-credo__n {
  color: var(--ix-cream);
}
.ix-credo-band .ix-credo__item h3 {
  color: var(--ix-cream) !important;
  -webkit-text-fill-color: var(--ix-cream);
}
.ix-credo-band .ix-credo__item p {
  color: rgba(243, 241, 236, 0.72);
}

/* About — credo manifesto */
.ix-credo {
  display: grid;
  grid-template-columns: minmax(11rem, 0.62fr) minmax(0, 1.7fr);
  gap: clamp(2rem, 5vw, 4.25rem);
  align-items: start;
}
.ix-credo__intro {
  position: sticky;
  top: 6rem;
  padding-top: 0.35rem;
}
.ix-credo__intro .ix-title {
  letter-spacing: 0.1em;
}
.ix-credo__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid var(--ix-line);
}
.ix-credo__item {
  position: relative;
  min-width: 0;
  padding: clamp(1.65rem, 3vw, 2.35rem) clamp(1.15rem, 2.4vw, 2rem);
  border-bottom: 1px solid var(--ix-line);
  transition: background-color 0.45s var(--ix-ease);
}
.ix-credo__item:nth-child(odd) {
  padding-left: 0;
  border-right: 1px solid var(--ix-line);
  padding-right: clamp(1.35rem, 2.8vw, 2.35rem);
}
.ix-credo__item:nth-child(even) {
  padding-right: 0;
  padding-left: clamp(1.35rem, 2.8vw, 2.35rem);
}
.ix-credo__item:hover {
  background: rgba(26, 23, 20, 0.025);
}
.ix-credo__n {
  display: block;
  margin: 0 0 1.05rem;
  font-family: Montserrat, sans-serif;
  font-weight: 300;
  font-size: clamp(2.15rem, 3.6vw, 3rem);
  line-height: 0.9;
  letter-spacing: 0.04em;
  color: var(--ix-walnut);
  transition: color 0.45s var(--ix-ease);
}
.ix-credo__item:hover .ix-credo__n {
  color: var(--ix-ink);
}
.ix-credo__item h3 {
  margin: 0 0 0.75rem;
  font-family: Montserrat, sans-serif;
  font-weight: 500;
  font-size: clamp(0.95rem, 1.45vw, 1.05rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ix-ink);
}
.ix-credo__item p {
  margin: 0;
  max-width: 26rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.98rem;
  line-height: 1.7;
  color: var(--ix-muted);
}

/* About — duo */
.ix-duo {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.ix-duo__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.85fr;
  gap: 0.85rem;
  align-items: end;
}
.ix-duo__a,
.ix-duo__b {
  margin: 0;
  overflow: hidden;
  background: #ddd;
}
.ix-duo__a { aspect-ratio: 4 / 5; }
.ix-duo__b {
  aspect-ratio: 3 / 4;
  margin-bottom: clamp(1.5rem, 4vw, 3.5rem);
}
.ix-duo__a img,
.ix-duo__b img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.9s var(--ix-ease);
}
.ix-duo:hover .ix-duo__a img,
.ix-duo:hover .ix-duo__b img { transform: scale(1.04); }

/* About — forest / sustainability */
.ix-forest {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.ix-forest .ix-pull {
  color: var(--ix-cream);
  border-color: #c4a574;
  margin-top: 0;
}
.ix-forest .ix-copy { max-width: 32rem; }

/* About — trade */
.ix-trade {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.ix-trade__visual {
  margin: 0;
  position: relative;
  overflow: hidden;
  aspect-ratio: 5 / 4;
  background: #ddd;
}
.ix-trade__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.9s var(--ix-ease);
}
.ix-trade:hover .ix-trade__visual img { transform: scale(1.04); }

/* —— Centered invite (closing CTA with photo) —— */
.ix--invite {
  padding: 0;
  background: #141210;
  color: var(--ix-cream);
  overflow: hidden;
}
.ix-invite {
  position: relative;
  display: block;
  width: 100%;
  min-height: clamp(28rem, 72vh, 40rem);
  overflow: hidden;
  isolation: isolate;
}
.ix-invite__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: #141210;
}
.ix-invite__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 45%;
  display: block;
  transform: scale(1.06);
  transition: transform 1.6s var(--ix-ease);
}
.ix-invite.is-in .ix-invite__media img { transform: scale(1); }
.ix-invite:hover .ix-invite__media img { transform: scale(1.025); }

.ix-invite__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(18, 16, 14, 0.55) 0%,
      rgba(18, 16, 14, 0.72) 42%,
      rgba(18, 16, 14, 0.88) 100%
    ),
    radial-gradient(
      ellipse 70% 60% at 50% 55%,
      rgba(18, 16, 14, 0.35) 0%,
      rgba(18, 16, 14, 0.72) 100%
    );
}

.ix-invite__frame {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: inherit;
  width: 100%;
  max-width: 38rem;
  margin: 0 auto;
  padding: clamp(4.5rem, 10vw, 7.5rem) var(--ix-pad-x);
}
.ix-invite__rule {
  width: 2.5rem;
  height: 1px;
  margin: 0 0 1.75rem;
  background: rgba(243, 241, 236, 0.35);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.9s var(--ix-ease);
}
.ix-invite.is-in .ix-invite__rule { transform: scaleX(1); }

.ix-invite__kicker {
  margin: 0 0 1.15rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(243, 241, 236, 0.48);
  opacity: 0;
  transform: translateY(0.75rem);
  transition: opacity 0.8s var(--ix-ease) 0.08s, transform 0.8s var(--ix-ease) 0.08s;
}
.ix-invite.is-in .ix-invite__kicker {
  opacity: 1;
  transform: none;
}

.ix-invite__title {
  margin: 0;
  font-family: Montserrat, sans-serif;
  font-weight: 400;
  font-size: clamp(1.85rem, 4.2vw, 2.85rem);
  line-height: 1.12;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ix-cream);
  -webkit-text-fill-color: var(--ix-cream);
  opacity: 0;
  transform: translateY(1.1rem);
  transition: opacity 0.95s var(--ix-ease) 0.14s, transform 0.95s var(--ix-ease) 0.14s;
}
.ix-invite.is-in .ix-invite__title {
  opacity: 1;
  transform: none;
}

.ix-invite__lede {
  margin: 1.35rem 0 0;
  max-width: 28rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 1.015rem;
  line-height: 1.7;
  color: rgba(243, 241, 236, 0.62);
  opacity: 0;
  transform: translateY(0.9rem);
  transition: opacity 0.9s var(--ix-ease) 0.22s, transform 0.9s var(--ix-ease) 0.22s;
}
.ix-invite.is-in .ix-invite__lede {
  opacity: 1;
  transform: none;
}

.ix-invite__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.35rem 1.75rem;
  margin-top: 2.25rem;
  opacity: 0;
  transform: translateY(0.75rem);
  transition: opacity 0.85s var(--ix-ease) 0.3s, transform 0.85s var(--ix-ease) 0.3s;
}
.ix-invite.is-in .ix-invite__actions {
  opacity: 1;
  transform: none;
}

.ix-invite__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.05rem 1.75rem;
  border: 1px solid var(--ix-cream);
  background: var(--ix-cream);
  color: var(--ix-ink);
  text-decoration: none;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  transition: background 0.35s var(--ix-ease), color 0.35s var(--ix-ease), border-color 0.35s var(--ix-ease), transform 0.35s var(--ix-ease);
}
.ix-invite__btn:hover {
  background: transparent;
  color: var(--ix-cream);
  border-color: rgba(243, 241, 236, 0.55);
  transform: translateY(-1px);
}
.ix-invite__arrow {
  display: inline-block;
  width: 1.1rem;
  height: 1px;
  background: currentColor;
  position: relative;
}
.ix-invite__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 0.4rem;
  height: 0.4rem;
  border-right: 1px solid currentColor;
  border-top: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.ix-invite__link {
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(243, 241, 236, 0.72);
  text-decoration: none;
  border-bottom: 1px solid rgba(243, 241, 236, 0.28);
  padding-bottom: 0.2rem;
  transition: color 0.3s var(--ix-ease), border-color 0.3s var(--ix-ease);
}
.ix-invite__link:hover {
  color: var(--ix-cream);
  border-color: rgba(243, 241, 236, 0.7);
}

.ix-invite__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.65rem 0.85rem;
  margin: 2.75rem 0 0;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(243, 241, 236, 0.12);
  width: 100%;
  max-width: 26rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  color: rgba(243, 241, 236, 0.42);
  opacity: 0;
  transition: opacity 0.9s var(--ix-ease) 0.4s;
}
.ix-invite.is-in .ix-invite__meta { opacity: 1; }
.ix-invite__meta a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s var(--ix-ease);
}
.ix-invite__meta a:hover { color: rgba(243, 241, 236, 0.85); }
.ix-invite__dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(243, 241, 236, 0.28);
}

@media (max-width: 560px) {
  .ix-invite__actions {
    flex-direction: column;
    gap: 1.15rem;
  }
}

/* Hide Webflow badge on production preview */
.w-webflow-badge { display: none !important; }

/* Reveal motion */
.ix-reveal {
  opacity: 0;
  transform: translateY(1.4rem);
  transition: opacity 0.9s var(--ix-ease), transform 0.9s var(--ix-ease);
}
.ix-reveal.is-in {
  opacity: 1;
  transform: none;
}
.ix-reveal-d1 { transition-delay: 0.08s; }
.ix-reveal-d2 { transition-delay: 0.16s; }
.ix-reveal-d3 { transition-delay: 0.24s; }
.ix-reveal-d4 { transition-delay: 0.32s; }

@media (prefers-reduced-motion: reduce) {
  .ix-reveal { opacity: 1; transform: none; transition: none; }
  .ix-invite__media img {
    transform: none;
    transition: none;
  }
  .ix-invite__rule,
  .ix-invite__kicker,
  .ix-invite__title,
  .ix-invite__lede,
  .ix-invite__actions,
  .ix-invite__meta {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .ix-split__visual img,
  .ix-swatch img,
  .ix-stone-panel__visual img,
  .ix-dezen img,
  .ix-masonry img,
  .ix-spot__main img,
  .ix-spot__item img,
  .ix-bleed img,
  .ix-duo__a img,
  .ix-duo__b img,
  .ix-trade__visual img,
  .ix-palette__swatch,
  .ix-glass__pane,
  .ix-metal__bar,
  .ix-glass__sheen { transition: none; }
}

/* Responsive */
@media (max-width: 991px) {
  .ix-split,
  .ix-split--flip,
  .ix-stone-head,
  .ix-close,
  .ix-gallery-head,
  .ix-spot-head,
  .ix-spot,
  .ix-origin,
  .ix-duo,
  .ix-forest,
  .ix-trade {
    grid-template-columns: 1fr;
  }
  .ix-origin__meta { position: static; }
  .ix-duo__grid { grid-template-columns: 1fr 1fr; }
  .ix-duo__b { margin-bottom: 0; }
  .ix-bleed { min-height: clamp(18rem, 52vh, 28rem); }
  .ix-stone-head .ix-copy { max-width: none; }
  .ix-stone-trio { grid-template-columns: 1fr; gap: 1.75rem; }
  .ix-stone-panel__visual { aspect-ratio: 16 / 10; }
  .ix-dezeni__head { align-items: start; flex-direction: column; }
  .ix-dezeni__head p { text-align: left; max-width: none; }
  .ix-dezeni__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ix-split--flip .ix-split__visual { order: 0; }
  .ix-split__visual { min-height: 22rem; }
  .ix-steps,
  .ix-pillars { grid-template-columns: 1fr 1fr; }
  .ix-traits__grid { grid-template-columns: 1fr 1fr; gap: 2.5rem 1.5rem; }
  .ix-traits__head { margin-bottom: 2.75rem; }
  .ix-step:nth-child(2),
  .ix-pillar:nth-child(2) { border-right: 0; }
  .ix-step:nth-child(1),
  .ix-step:nth-child(2),
  .ix-pillar:nth-child(1),
  .ix-pillar:nth-child(2) {
    border-bottom: 1px solid var(--ix-line);
    padding-bottom: 1.5rem;
  }
  .ix-finish-head,
  .ix-finish-row,
  .ix-finish-foot {
    grid-template-columns: 1fr;
  }
  .ix-finish-head .ix-copy {
    justify-self: start;
    text-align: left;
    max-width: none;
  }
  .ix-finish-row:nth-child(even) .ix-finish-row__visual,
  .ix-finish-row:nth-child(even) .ix-finish-row__body { order: 0; }
  .ix-finish-row__visual { order: -1; }
  .ix-palette,
  .ix-glass,
  .ix-metal { height: 10.5rem; }
  .ix-finish-foot .ix-btn { justify-self: start; }
  .ix-row { grid-template-columns: 3.25rem 1fr; }
  .ix-row p { grid-column: 2; }
  .ix-gallery-head,
  .ix-spot-head { align-items: start; }
  .ix-gallery-head .ix-copy,
  .ix-spot-head .ix-copy { text-align: left; max-width: none; }
  .ix-close__actions { justify-content: flex-start; }
  .ix-spot { min-height: 0; }
  .ix-spot__main { aspect-ratio: 16 / 11; }
  .ix-spot__side { grid-template-columns: 1fr 1fr; grid-template-rows: none; }
  .ix-spot__item { aspect-ratio: 4 / 5; }
  .ix-masonry .ix-m--lg,
  .ix-masonry .ix-m--wide { grid-column: span 12; }
  .ix-masonry .ix-m--md,
  .ix-masonry .ix-m--tall { grid-column: span 6; }
  .ix-masonry .ix-m--sm { grid-column: span 6; }
}
@media (max-width: 640px) {
  .ix-steps,
  .ix-pillars,
  .ix-species,
  .ix-swatches { grid-template-columns: 1fr; }
  .ix-traits__grid { grid-template-columns: 1fr; gap: 2.25rem; max-width: 22rem; margin: 0 auto; }
  .ix-step,
  .ix-pillar {
    border-right: 0 !important;
    border-bottom: 1px solid var(--ix-line);
    padding: 1.35rem 0;
  }
  .ix-palette { grid-template-columns: repeat(3, minmax(0, 1fr)); height: 12rem; }
  .ix-glass,
  .ix-metal { height: 9rem; }
  .ix-swatches { grid-template-columns: 1fr 1fr; }
  .ix-dezeni__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ix-spot__side { grid-template-columns: 1fr; }
  .ix-spot__item { aspect-ratio: 4 / 3; }
  .ix-masonry .ix-m--md,
  .ix-masonry .ix-m--tall,
  .ix-masonry .ix-m--sm { grid-column: span 12; aspect-ratio: 4 / 3; }
}

/* Soften leftover Webflow interra-block if any remain */
.section.interra-block {
  display: block;
  width: 100%;
  padding: var(--ix-pad-y) 0;
  background: var(--ix-bg);
}
.section.interra-block > .grid-wrapper {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto;
  padding-left: var(--ix-pad-x);
  padding-right: var(--ix-pad-x);
  grid-template-columns: none !important;
}


/* Wood split: species stack */
.ix-split .ix-species {
  grid-template-columns: 1fr;
  gap: 1.15rem;
}
.ix-split .ix-swatches figcaption { margin-top: 0.45rem; }

.ix-masonry { gap: 0.85rem; }
.ix-step h3, .ix-pillar h3 { color: inherit; }

@media (max-width: 991px) {
  .ix-split .ix-swatches { grid-template-columns: 1fr 1fr !important; margin-top: 1.5rem !important; }
}


/* —— Process journey (light) —— */
.ix-process {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.35fr);
  gap: clamp(2.5rem, 5vw, 4.5rem);
  align-items: start;
}
.ix-process__intro .ix-title { margin-bottom: 0; }
.ix-process__intro .ix-copy { margin-top: 1.25rem; }
.ix-journey {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--ix-line);
}
.ix-journey__step {
  display: grid;
  grid-template-columns: 4.25rem minmax(0, 1fr);
  gap: 1rem 1.5rem;
  padding: 1.55rem 0;
  border-bottom: 1px solid var(--ix-line);
}
.ix-journey__n {
  font-family: Montserrat, sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.18em;
  color: var(--ix-walnut);
  padding-top: 0.2rem;
}
.ix-journey__step h3 {
  margin: 0 0 0.45rem;
  font-family: Montserrat, sans-serif;
  font-size: 0.98rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ix-ink);
}
.ix-journey__step p {
  margin: 0;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--ix-muted);
}

/* —— Materials strip (multi-image) —— */
.ix-katalog-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1.5rem;
  margin-bottom: 2.25rem;
}
.ix-katalog-head .ix-btn { margin-top: 0; flex-shrink: 0; }
.ix-katalog-head .ix-copy { margin-top: 0.85rem; max-width: 28rem; }
.ix-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}
.ix-strip__item {
  margin: 0;
  overflow: hidden;
  background: var(--ix-bg-soft);
}
.ix-strip__item img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  transition: transform 0.9s var(--ix-ease);
}
.ix-strip__item:hover img { transform: scale(1.04); }
.ix-strip__item figcaption {
  margin-top: 0.55rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ix-faint);
}

/* —— Full-bleed editorial CTA —— */
.ix-cta {
  position: relative;
  display: block;
  width: 100%;
  min-height: clamp(26rem, 68vh, 38rem);
  overflow: hidden;
  color: var(--ix-cream);
  isolation: isolate;
}
.ix-cta__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: #141516;
}
.ix-cta__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  display: block;
  transform: scale(1.06);
  transition: transform 1.6s var(--ix-ease);
}
.ix-cta.is-in .ix-cta__media img { transform: scale(1); }
.ix-cta:hover .ix-cta__media img { transform: scale(1.025); }

.ix-cta__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      100deg,
      rgba(18, 19, 20, 0.88) 0%,
      rgba(18, 19, 20, 0.58) 42%,
      rgba(18, 19, 20, 0.22) 72%,
      rgba(18, 19, 20, 0.1) 100%
    ),
    linear-gradient(
      180deg,
      rgba(18, 19, 20, 0.12) 0%,
      rgba(18, 19, 20, 0.45) 100%
    );
}

.ix-cta__frame {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: inherit;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: clamp(2.75rem, 6vw, 4.5rem) var(--ix-pad-x);
}

.ix-cta__copy {
  max-width: 32rem;
  opacity: 0;
  transform: translateY(1.25rem);
  transition: opacity 0.9s var(--ix-ease) 0.1s, transform 0.9s var(--ix-ease) 0.1s;
}
.ix-cta.is-in .ix-cta__copy {
  opacity: 1;
  transform: none;
}

.ix-cta__kicker {
  display: block;
  margin: 0 0 1rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(243, 241, 236, 0.5);
}

.ix-cta__title {
  margin: 0;
  font-family: Montserrat, sans-serif;
  font-weight: 400;
  font-size: clamp(1.75rem, 3.8vw, 2.65rem);
  line-height: 1.14;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ix-cream);
  -webkit-text-fill-color: var(--ix-cream);
}

.ix-cta__lede {
  margin: 1.2rem 0 0;
  max-width: 28rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 1.015rem;
  line-height: 1.7;
  color: rgba(243, 241, 236, 0.68);
}

.ix-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.85rem;
  padding: 1.05rem 1.65rem;
  border: 1px solid rgba(243, 241, 236, 0.55);
  background: rgba(243, 241, 236, 0.42);
  color: var(--ix-cream);
  text-decoration: none;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: background 0.35s var(--ix-ease), color 0.35s var(--ix-ease), border-color 0.35s var(--ix-ease);
}
.ix-cta__btn:hover {
  background: transparent;
  color: var(--ix-cream);
  border-color: rgba(243, 241, 236, 0.55);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.ix-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.85rem;
}
.ix-cta__actions .ix-cta__btn { margin-top: 0; }
.ix-cta__btn--ghost {
  background: transparent;
  color: var(--ix-cream);
  border-color: rgba(243, 241, 236, 0.55);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.ix-cta__btn--ghost:hover {
  background: rgba(243, 241, 236, 0.42);
  color: var(--ix-ink);
  border-color: rgba(243, 241, 236, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.ix-cta__arrow {
  display: inline-block;
  width: 1.1rem;
  height: 1px;
  background: currentColor;
  position: relative;
}
.ix-cta__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 0.4rem;
  height: 0.4rem;
  border-right: 1px solid currentColor;
  border-top: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

@media (max-width: 991px) {
  .ix-process,
  .ix-katalog-head { grid-template-columns: 1fr; display: grid; }
  .ix-katalog-head { align-items: start; }
  .ix-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ix-cta {
    min-height: clamp(24rem, 78vh, 34rem);
  }
  .ix-cta__veil {
    background:
      linear-gradient(
        180deg,
        rgba(18, 19, 20, 0.28) 0%,
        rgba(18, 19, 20, 0.72) 52%,
        rgba(18, 19, 20, 0.9) 100%
      );
  }
  .ix-credo-band__veil {
    background:
      linear-gradient(
        180deg,
        rgba(18, 19, 20, 0.55) 0%,
        rgba(18, 19, 20, 0.78) 50%,
        rgba(18, 19, 20, 0.9) 100%
      );
  }
  .ix-credo {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .ix-credo__intro {
    position: static;
    max-width: 28rem;
  }
  .ix-credo__item:nth-child(odd),
  .ix-credo__item:nth-child(even) {
    padding-left: 0;
    padding-right: 1rem;
  }
  .ix-credo__item:nth-child(odd) {
    border-right: 1px solid var(--ix-line);
  }
}
@media (max-width: 560px) {
  .ix-strip { grid-template-columns: 1fr 1fr; }
  .ix-duo__grid { grid-template-columns: 1fr; }
  .ix-duo__a,
  .ix-duo__b { aspect-ratio: 4 / 3; }
  .ix-credo__grid { grid-template-columns: 1fr; }
  .ix-credo__item:nth-child(odd) { border-right: 0; }
  .ix-credo__item:nth-child(odd),
  .ix-credo__item:nth-child(even) {
    padding-left: 0;
    padding-right: 0;
  }
  .ix-credo__item:hover { background: transparent; }
}

/* —— Inner-page hero centering (Webflow grid IDs optional) —— */
.inner-page-hero > .grid-wrapper {
  min-height: inherit;
  align-items: stretch;
}
.inner-page-hero > .grid-wrapper > .content-wrapper {
  grid-column: 2;
  grid-row: 1;
  z-index: 20;
  align-content: center;
  justify-items: center;
}
.inner-page-hero > .grid-wrapper > .hero-background-wrapper {
  grid-column: 1 / -1;
  grid-row: 1;
  z-index: 0;
}
.inner-page-hero .hero-intro {
  width: 100%;
  justify-items: center;
}
.inner-page-hero .stacked-intro.centered {
  width: 100%;
  max-width: 48rem;
  margin-inline: auto;
  justify-items: center;
}
.inner-page-hero .arrow-link {
  justify-self: center;
}

/* —— FAQ accordion —— */
.ix-faq {
  width: 100%;
  max-width: 48rem;
  margin: 0 auto;
  border-top: 1px solid var(--ix-line);
}
.ix-faq-more {
  max-width: 48rem;
  margin: 0.25rem auto 0;
  text-align: center;
}
.ix-faq-more .ix-btn {
  margin-left: auto;
  margin-right: auto;
}
.ix-faq__item {
  border-bottom: 1px solid var(--ix-line);
}
.ix-faq__q {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr) 1.5rem;
  gap: 1rem;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 1.35rem 0;
  border: 0;
  background: transparent;
  color: var(--ix-ink);
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.ix-faq__num {
  font-family: Montserrat, sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  color: var(--ix-faint);
}
.ix-faq__label {
  font-family: Montserrat, sans-serif;
  font-size: clamp(0.98rem, 1.6vw, 1.12rem);
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.3;
}
.ix-faq__icon {
  position: relative;
  width: 0.85rem;
  height: 0.85rem;
  justify-self: end;
}
.ix-faq__icon::before,
.ix-faq__icon::after {
  content: "";
  position: absolute;
  background: var(--ix-ink);
  transition: transform 0.35s var(--ix-ease), opacity 0.35s var(--ix-ease);
}
.ix-faq__icon::before {
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  transform: translateY(-50%);
}
.ix-faq__icon::after {
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  transform: translateX(-50%);
}
.ix-faq__item.is-open .ix-faq__icon::after {
  transform: translateX(-50%) rotate(90deg);
  opacity: 0;
}
.ix-faq__a {
  padding: 0 0 1.5rem 3.25rem;
  max-width: 38rem;
}
.ix-faq__a p {
  margin: 0 0 0.85rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.98rem;
  line-height: 1.7;
  color: var(--ix-muted);
}
.ix-faq__a p:last-child { margin-bottom: 0; }
@media (max-width: 640px) {
  .ix-faq__q {
    grid-template-columns: 2.5rem minmax(0, 1fr) 1.25rem;
    gap: 0.75rem;
    padding: 1.15rem 0;
  }
  .ix-faq__a { padding-left: 0; }
}

/* —— Dark hero eyebrows (Webflow .subtitle defaults to #000) —— */
.inner-page-hero .subtitle,
.hero-intro .subtitle {
  color: rgba(243, 241, 236, 0.82) !important;
  -webkit-text-fill-color: rgba(243, 241, 236, 0.82);
}
.contact-hero .subtitle {
  color: rgba(243, 241, 236, 0.62) !important;
  -webkit-text-fill-color: rgba(243, 241, 236, 0.62);
}
.section-3 .subtitle.cta,
.section-3 .subtitle.cta code {
  color: rgba(243, 241, 236, 0.72) !important;
  -webkit-text-fill-color: rgba(243, 241, 236, 0.72);
  background: transparent;
  font-family: inherit;
  font-size: inherit;
}

/* —— Premium site footer —— */
.footer-section {
  background: #000000 !important;
  color: var(--ix-cream);
  padding: 0 !important;
  display: block !important;
  border-top: 1px solid rgba(243, 241, 236, 0.1);
}
.footer-section > .grid-wrapper {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-template-columns: minmax(5vw, 1fr) minmax(auto, 1400px) minmax(5vw, 1fr) !important;
  grid-template-rows: auto !important;
  grid-column-gap: 0 !important;
  grid-row-gap: 0 !important;
}
.footer-section .content-wrapper {
  display: block !important;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  grid-column: 2;
}

.ix-footer {
  width: 100%;
  color: var(--ix-cream);
  font-family: Generalsans, Montserrat, sans-serif;
}
.ix-footer a {
  color: inherit;
  text-decoration: none;
  transition: color 0.35s var(--ix-ease), opacity 0.35s var(--ix-ease);
}
.ix-footer__top {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 5.5rem);
  align-items: start;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(4rem, 8vw, 6.5rem) 0 clamp(3rem, 5vw, 4.25rem);
}
.ix-footer__brand {
  max-width: 26rem;
}
.ix-footer__logo {
  display: inline-block;
  margin: 0 0 1.5rem;
  line-height: 0;
}
.ix-footer__logo img {
  --ix-footer-logo-h: clamp(2.4rem, 4vw, 3.1rem);
  display: block;
  height: var(--ix-footer-logo-h);
  width: auto;
  /* PNG has ~62px transparent left pad on 234px-tall asset — pull flush with text */
  margin-left: calc(var(--ix-footer-logo-h) * -62 / 234);
  filter: brightness(0) invert(1);
  opacity: 0.92;
}
.ix-footer__tag {
  margin: 0;
  font-family: Montserrat, sans-serif;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ix-cream);
}
.ix-footer__lede {
  margin: 1rem 0 0;
  max-width: 22rem;
  font-size: 0.95rem;
  line-height: 1.65;
  color: rgba(243, 241, 236, 0.58);
}
.ix-footer__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.75rem;
  padding: 0.95rem 1.4rem;
  border: 1px solid rgba(243, 241, 236, 0.32);
  color: var(--ix-cream);
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  transition: background 0.35s var(--ix-ease), color 0.35s var(--ix-ease), border-color 0.35s var(--ix-ease);
}
.ix-footer__cta:hover {
  background: var(--ix-cream);
  color: var(--ix-ink);
  border-color: var(--ix-cream);
}
.ix-footer__cta-arrow {
  display: inline-block;
  width: 1.1rem;
  height: 1px;
  background: currentColor;
  position: relative;
}
.ix-footer__cta-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 0.38rem;
  height: 0.38rem;
  border-right: 1px solid currentColor;
  border-top: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.ix-footer__cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.75rem, 3vw, 3.5rem);
  padding-top: 0.35rem;
}
.ix-footer__col-label {
  display: block;
  margin: 0 0 1.15rem;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(243, 241, 236, 0.48);
}
.ix-footer__nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.7rem;
}
.ix-footer__nav a {
  font-size: 0.8rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(243, 241, 236, 0.72);
}
.ix-footer__nav a:hover,
.ix-footer__nav a[aria-current="page"] {
  color: var(--ix-cream);
}
.ix-footer__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ix-footer__list a,
.ix-footer__list span {
  font-size: 0.92rem;
  line-height: 1.45;
  letter-spacing: 0.02em;
  color: rgba(243, 241, 236, 0.72);
}
.ix-footer__list a:hover {
  color: var(--ix-cream);
}
.ix-footer__note {
  margin: 1.1rem 0 0;
  max-width: 14rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: rgba(243, 241, 236, 0.42);
}

.ix-footer__bottom {
  border-top: 1px solid rgba(243, 241, 236, 0.1);
}
.ix-footer__bottom-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem 1.5rem;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 1.35rem 0 1.5rem;
}
.ix-footer__copy {
  margin: 0;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(243, 241, 236, 0.42);
}
.ix-footer__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1.25rem;
  margin: 0;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(243, 241, 236, 0.42);
}
.ix-footer__meta a {
  color: rgba(243, 241, 236, 0.62);
}
.ix-footer__meta a:hover {
  color: var(--ix-cream);
}
.ix-footer__dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(243, 241, 236, 0.28);
}

@media (max-width: 991px) {
  .ix-footer__top {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
@media (max-width: 700px) {
  .ix-footer__cols {
    grid-template-columns: 1fr;
    gap: 2.25rem;
  }
  .ix-footer__bottom-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* =========================================================
   Portfolio — lookbook reel + mosaic + lightbox
   ========================================================= */

.ix-reel-section {
  padding-top: clamp(2.5rem, 5vw, 3.5rem);
  padding-bottom: clamp(3.5rem, 7vw, 5.5rem);
}

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

.ix-reel__meta .ix-label { margin-bottom: 0.45rem; }

.ix-reel__hint {
  margin: 0;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ix-faint);
}

.ix-reel__controls {
  display: flex;
  gap: 0.55rem;
}

.ix-reel__btn {
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--ix-line-strong);
  background: transparent;
  color: var(--ix-ink);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.35s var(--ix-ease), color 0.35s var(--ix-ease), border-color 0.35s var(--ix-ease);
}

.ix-reel__btn:hover {
  background: var(--ix-ink);
  color: var(--ix-cream);
  border-color: var(--ix-ink);
}

.ix-reel__viewport {
  display: flex;
  gap: clamp(0.85rem, 1.6vw, 1.35rem);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding: 0 var(--ix-pad-x) 1.25rem;
  cursor: grab;
  scrollbar-width: thin;
  scrollbar-color: rgba(26, 23, 20, 0.28) transparent;
}

.ix-reel__viewport.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  user-select: none;
}

.ix-reel__viewport::-webkit-scrollbar { height: 4px; }
.ix-reel__viewport::-webkit-scrollbar-thumb { background: rgba(26, 23, 20, 0.28); }

.ix-reel__slide {
  position: relative;
  flex: 0 0 min(78vw, 42rem);
  margin: 0;
  scroll-snap-align: start;
  overflow: hidden;
  background: #ddd6c8;
  isolation: isolate;
  cursor: zoom-in;
}

.ix-reel__slide:nth-child(odd) { flex-basis: min(68vw, 34rem); }
.ix-reel__slide:nth-child(3n) { flex-basis: min(52vw, 26rem); }

.ix-reel__slide img {
  display: block;
  width: 100%;
  height: clamp(22rem, 62vh, 36rem);
  object-fit: cover;
  transition: transform 1.1s var(--ix-ease);
}

.ix-reel__slide:hover img { transform: scale(1.035); }

.ix-reel__slide figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.15rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(243, 241, 236, 0.88);
  background: linear-gradient(to top, rgba(18, 16, 14, 0.72), transparent);
  pointer-events: none;
}

.ix-mosaic-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 22rem);
  gap: 2rem;
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.ix-mosaic-head .ix-title { margin-top: 0.55rem; }
.ix-mosaic-head .ix-copy { margin: 0; }

.ix-mosaic {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: minmax(9.5rem, 14vw);
  gap: clamp(0.65rem, 1.2vw, 1rem);
}

.ix-mosaic__cell {
  position: relative;
  grid-column: span 4;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  background: #ddd6c8;
  cursor: zoom-in;
  isolation: isolate;
  text-align: left;
}

.ix-mosaic__cell--wide { grid-column: span 8; }
.ix-mosaic__cell--xl {
  grid-column: span 8;
  grid-row: span 2;
}
.ix-mosaic__cell--tall { grid-row: span 2; }

.ix-mosaic__cell img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s var(--ix-ease), filter 0.55s var(--ix-ease);
}

.ix-mosaic__cell:hover img,
.ix-mosaic__cell:focus-visible img {
  transform: scale(1.045);
  filter: saturate(1.05) contrast(1.02);
}

.ix-mosaic__cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: baseline;
  gap: 0.7rem;
  padding: 0.95rem 1rem;
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(243, 241, 236, 0.92);
  background: linear-gradient(to top, rgba(18, 16, 14, 0.7), transparent);
  opacity: 0;
  transform: translateY(0.4rem);
  transition: opacity 0.4s var(--ix-ease), transform 0.4s var(--ix-ease);
  pointer-events: none;
}

.ix-mosaic__cap em {
  font-style: normal;
  color: rgba(243, 241, 236, 0.55);
}

.ix-mosaic__cell:hover .ix-mosaic__cap,
.ix-mosaic__cell:focus-visible .ix-mosaic__cap {
  opacity: 1;
  transform: none;
}

.ix-mosaic__cell:focus-visible {
  outline: 2px solid var(--ix-walnut);
  outline-offset: 3px;
}

.ix-lite {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  background: rgba(12, 11, 10, 0.92);
  backdrop-filter: blur(8px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s var(--ix-ease), visibility 0.35s var(--ix-ease);
}

.ix-lite.is-open {
  opacity: 1;
  visibility: visible;
}

.ix-lite[hidden] { display: none; }
.ix-lite.is-open[hidden] { display: grid; }

.ix-lite__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(243, 241, 236, 0.35);
  background: transparent;
  color: var(--ix-cream);
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

.ix-lite__figure {
  margin: 0;
  max-width: min(1100px, 94vw);
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.ix-lite__img {
  display: block;
  max-width: 100%;
  max-height: 80vh;
  width: auto;
  height: auto;
  object-fit: contain;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

.ix-lite__cap {
  font-family: Generalsans, Montserrat, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(243, 241, 236, 0.62);
  text-align: center;
}

@media (max-width: 991px) {
  .ix-mosaic-head {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .ix-mosaic {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-rows: minmax(10rem, 28vw);
  }

  .ix-mosaic__cell { grid-column: span 3; }
  .ix-mosaic__cell--wide,
  .ix-mosaic__cell--xl { grid-column: span 6; }
  .ix-mosaic__cell--xl { grid-row: span 2; }
  .ix-mosaic__cell--tall { grid-row: span 2; }

  .ix-mosaic__cap {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 560px) {
  .ix-reel__slide,
  .ix-reel__slide:nth-child(odd),
  .ix-reel__slide:nth-child(3n) {
    flex-basis: min(86vw, 22rem);
  }

  .ix-reel__slide img {
    height: clamp(18rem, 58vh, 26rem);
  }

  .ix-mosaic {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 11rem;
  }

  .ix-mosaic__cell,
  .ix-mosaic__cell--wide,
  .ix-mosaic__cell--xl,
  .ix-mosaic__cell--tall {
    grid-column: span 1;
    grid-row: span 1;
  }

  .ix-mosaic__cell--xl,
  .ix-mosaic__cell--wide { grid-column: span 2; }
  .ix-mosaic__cell--tall { grid-row: span 2; }
}

@media (prefers-reduced-motion: reduce) {
  .ix-reel__slide img,
  .ix-mosaic__cell img { transition: none; }
  .ix-reel__viewport { scroll-behavior: auto; }
}
