/* ──────────────────────────────────────────────────────────
   CHIZEL CLUB — Indigo Is Ours
   Design system: bone canvas, indigo soul, saffron pop
   ────────────────────────────────────────────────────────── */

:root {
  /* color */
  --bone:    #efece4;
  --bone-2:  #e6e2d6;
  --ink:     #0e0e0c;
  --ink-2:   #1a1a17;
  --indigo:  #1c2b4e;
  --indigo-d:#0f1a33;
  --saffron: #e26f3a;
  --stone:   #b5a99a;
  --line:    rgba(14,14,12,.16);
  --line-d:  rgba(239,236,228,.16);

  /* type */
  --f-display: 'Anton', 'Bebas Neue', sans-serif;
  --f-edit:    'Fraunces', 'Times New Roman', serif;
  --f-body:    'Inter', sans-serif;
  --f-deva:    'Tiro Devanagari Hindi', serif;

  /* fluid scale */
  --fs-mega:  clamp(5rem, 18vw, 22rem);
  --fs-xxl:   clamp(3rem, 9vw, 9rem);
  --fs-xl:    clamp(2rem, 5vw, 5rem);
  --fs-lg:    clamp(1.4rem, 2.6vw, 2.4rem);
  --fs-md:    clamp(1rem, 1.3vw, 1.15rem);
  --fs-sm:    .82rem;
  --fs-xs:    .68rem;

  /* layout */
  --gap:    clamp(1rem, 1.5vw, 1.5rem);
  --pad:    clamp(1.25rem, 3vw, 3rem);
  --rad:    14px;
}

/* ──────────────── reset ──────────────── */
*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; }
body {
  background: var(--bone);
  color: var(--ink);
  font-family: var(--f-body);
  font-size: var(--fs-md);
  line-height: 1.5;
  font-weight: 400;
  overflow-x: hidden;
  cursor: none;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { background: none; border: 0; color: inherit; font: inherit; cursor: none; }
input { font: inherit; color: inherit; }
::selection { background: var(--ink); color: var(--saffron); }

/* ──────────────── PREVENT FOUC ────────────────
   Hide animatable content until JS has applied the
   pre-animation states. main.js adds `is-ready` to
   <body> after gsap.set() runs.
   ─────────────────────────────────────────────── */
body:not(.is-ready) main,
body:not(.is-ready) .foot { opacity: 0; }
body.is-ready main,
body.is-ready .foot { opacity: 1; }

/* film-grain canvas overlay */
body::after{
  content:'';
  position: fixed; inset:0;
  pointer-events:none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .25 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.35;
  mix-blend-mode: multiply;
  z-index: 9998;
}

/* ──────────────── shared atoms ──────────────── */
.eyebrow {
  display: inline-flex; align-items: center; gap: .55rem;
  font-family: var(--f-body);
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 500;
}
.eyebrow .dot,
.dot {
  display: inline-block;
  width: 6px; height: 6px;
  background: var(--saffron);
  border-radius: 999px;
  flex: 0 0 auto;
}
.link-arrow {
  display: inline-flex; align-items: center; gap: .55rem;
  font-size: var(--fs-xs); letter-spacing: .22em;
  text-transform: uppercase; font-weight: 600;
  border-bottom: 1px solid currentColor;
  padding-bottom: .25rem;
  transition: gap .3s ease;
}
.link-arrow:hover { gap: .9rem; }

.btn {
  display: inline-flex; align-items: center; gap: .65rem;
  padding: 1.1rem 1.6rem;
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 600;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: transform .35s cubic-bezier(.2,.7,.25,1), background .35s, color .35s;
}
.btn--primary {
  background: var(--ink);
  color: var(--bone);
}
.btn--primary:hover { background: var(--indigo); transform: translateY(-2px); }
.btn--ghost {
  border-color: var(--ink);
  color: var(--ink);
}
.btn--ghost:hover { background: var(--ink); color: var(--bone); }


/* ──────────────── PRELOADER ──────────────── */
.loader {
  position: fixed; inset: 0;
  background: var(--ink);
  color: var(--bone);
  z-index: 10000;
  display: grid; place-items: center;
  padding: var(--pad);
}
.loader__inner {
  width: min(680px, 100%);
  display: grid;
  gap: 2rem;
}
.loader__mark {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 2rem;
}
.loader__deva {
  font-family: var(--f-deva);
  font-size: clamp(7rem, 22vw, 16rem);
  font-style: italic;
  color: var(--saffron);
  line-height: .85;
  letter-spacing: -.02em;
}
.loader__count {
  font-family: var(--f-display);
  font-size: clamp(4rem, 12vw, 9rem);
  letter-spacing: .02em;
  font-feature-settings: "tnum";
}
.loader__line {
  height: 1px;
  background: rgba(239,236,228,.18);
  position: relative;
  overflow: hidden;
}
.loader__line span {
  position: absolute; inset: 0;
  background: var(--bone);
  width: 0%;
  transform-origin: left;
}
.loader__meta {
  display: flex; justify-content: space-between;
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(239,236,228,.55);
}
.loader__meta span:nth-child(2){ color: var(--bone); }


/* ──────────────── CUSTOM CURSOR ──────────────── */
.cursor {
  position: fixed; top: 0; left: 0;
  pointer-events: none;
  z-index: 9999;
  mix-blend-mode: difference;
  transform: translate3d(-100px,-100px,0);
}
.cursor__dot, .cursor__ring {
  position: absolute;
  top: 0; left: 0;
  border-radius: 50%;
  transform: translate(-50%,-50%);
  transition: width .25s ease, height .25s ease, background .25s ease;
}
.cursor__dot {
  width: 6px; height: 6px;
  background: var(--bone);
}
.cursor__ring {
  width: 36px; height: 36px;
  border: 1px solid var(--bone);
}
.cursor__label {
  position: absolute;
  top: 0; left: 0;
  transform: translate(20px,-50%);
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--bone);
  white-space: nowrap;
  opacity: 0;
  transition: opacity .2s ease;
}
.cursor.is-hover .cursor__ring { width: 64px; height: 64px; background: rgba(239,236,228,.06); }
.cursor.is-hover .cursor__dot  { width: 4px; height: 4px; }
.cursor.is-text  .cursor__label { opacity: 1; }
@media (hover:none) { body { cursor: auto; } .cursor { display: none; } * { cursor: auto !important; } }


/* ──────────────── ANNOUNCEMENT ──────────────── */
.announce {
  background: var(--ink);
  color: var(--bone);
  border-bottom: 1px solid var(--line-d);
  overflow: hidden;
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 200;
  height: 36px;
}
.announce__track {
  display: flex; align-items: center; gap: 2.2rem;
  white-space: nowrap;
  height: 36px;
  font-size: var(--fs-xs);
  letter-spacing: .25em;
  text-transform: uppercase;
  font-weight: 500;
  animation: marquee 38s linear infinite;
  width: max-content;
}
.announce__track .dot {
  background: var(--saffron);
  width: 5px; height: 5px;
}
@keyframes marquee {
  to { transform: translateX(-50%); }
}


/* ──────────────── NAV ──────────────── */
.nav {
  position: fixed; top: 36px; left: 0; right: 0;
  z-index: 100;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 1rem var(--pad);
  pointer-events: none;
  transition: backdrop-filter .3s ease, background .3s ease, border .3s ease;
}
.nav > * { pointer-events: auto; }
.nav.is-stuck {
  background: rgba(239,236,228,.85);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--line);
}
.page-product .nav.is-stuck,
.page-shop .nav.is-stuck,
.page-about .nav.is-stuck { background: rgba(239,236,228,.92); }

.nav__brand {
  display: inline-flex; align-items: baseline; gap: .5rem;
  font-family: var(--f-display);
  font-size: 1.6rem;
  letter-spacing: .04em;
  line-height: 1;
}
.nav__brand-mark { color: var(--ink); }
.nav__brand-deva {
  font-family: var(--f-deva);
  font-size: 1.3rem;
  font-style: italic;
  color: var(--saffron);
  transform: translateY(2px);
}

.nav__links {
  display: flex; gap: 2.4rem;
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 500;
}
.nav__links a {
  position: relative;
  padding: .5rem 0;
}
.nav__links a::after {
  content: ''; position: absolute;
  left: 0; bottom: 0;
  width: 0; height: 1px;
  background: currentColor;
  transition: width .35s cubic-bezier(.2,.7,.25,1);
}
.nav__links a:hover::after { width: 100%; }

.nav__actions {
  display: flex; gap: .8rem;
  justify-content: flex-end;
  align-items: center;
}
.nav__pill {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .55rem .85rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
}
.nav__pill-dot {
  width: 6px; height: 6px;
  background: #1faa64;
  border-radius: 999px;
  box-shadow: 0 0 0 3px rgba(31,170,100,.2);
  animation: pulse 2s ease infinite;
}
@keyframes pulse {
  50% { box-shadow: 0 0 0 6px rgba(31,170,100,0); }
}
.nav__cart {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .55rem .85rem;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--bone);
  border-radius: 999px;
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  transition: background .3s, color .3s;
}
.nav__cart:hover { background: var(--saffron); border-color: var(--saffron); color: var(--ink); }


/* ──────────────── HERO ──────────────── */
.hero {
  position: relative;
  min-height: 100vh;
  padding: var(--pad);
  padding-top: calc(110px + var(--pad));
  overflow: hidden;
  isolation: isolate;
  color: var(--bone);
  background: var(--ink);
}
.hero__bg {
  position: absolute; inset: 0;
  z-index: -1;
}
.hero__bg img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: grayscale(.2) contrast(1.05) brightness(.65);
  transform: scale(1.05);
}
.hero__bg-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(14,14,12,.55) 0%, rgba(14,14,12,.25) 35%, rgba(14,14,12,.85) 100%),
    radial-gradient(60% 50% at 75% 30%, rgba(28,43,78,.45) 0%, transparent 70%);
}

.hero__grid {
  display: grid;
  gap: 1.4rem;
  height: 100%;
  min-height: calc(100vh - 200px);
  align-content: end;
  padding-bottom: 5rem;
  position: relative;
}

.hero__eyebrow {
  display: inline-flex; align-items: center; gap: .9rem;
  font-size: var(--fs-xs);
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--bone);
  width: max-content;
}
.hero__eyebrow .dot { background: var(--saffron); width: 6px; height: 6px; }
.hero__eyebrow-deva {
  font-family: var(--f-deva);
  font-style: italic;
  font-size: 1.05rem;
  color: var(--saffron);
  letter-spacing: 0;
  text-transform: none;
}

.hero__title {
  font-family: var(--f-display);
  font-size: var(--fs-mega);
  line-height: .82;
  letter-spacing: -.02em;
  text-transform: uppercase;
  color: var(--bone);
  text-wrap: balance;
}
.hero__title em {
  font-family: var(--f-edit);
  font-style: italic;
  font-weight: 300;
  color: var(--saffron);
  letter-spacing: -.01em;
  text-transform: lowercase;
}
.hero__line {
  display: block;
  overflow: hidden;
}

.hero__sub {
  max-width: 38ch;
  font-family: var(--f-edit);
  font-size: var(--fs-lg);
  font-weight: 300;
  font-style: italic;
  line-height: 1.25;
  color: rgba(239,236,228,.85);
  margin-top: .5rem;
}

.hero__cta {
  display: flex; flex-wrap: wrap; gap: .75rem;
  margin-top: 1.5rem;
}
.hero__cta .btn--primary { background: var(--bone); color: var(--ink); }
.hero__cta .btn--primary:hover { background: var(--saffron); }
.hero__cta .btn--ghost { border-color: var(--bone); color: var(--bone); }
.hero__cta .btn--ghost:hover { background: var(--bone); color: var(--ink); }

.hero__meta {
  display: flex; gap: 2.2rem;
  margin-top: 3rem;
  border-top: 1px solid rgba(239,236,228,.18);
  padding-top: 1rem;
  width: max-content;
  max-width: 100%;
  flex-wrap: wrap;
}
.hero__meta-block { display: grid; gap: .25rem; }
.hero__meta-num {
  font-family: var(--f-display);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  letter-spacing: .02em;
  line-height: 1;
}
.hero__meta-label {
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(239,236,228,.55);
  line-height: 1.3;
}

.hero__scroll {
  position: absolute;
  right: var(--pad);
  bottom: 1.6rem;
  display: flex; align-items: center; gap: .6rem;
  font-size: var(--fs-xs);
  letter-spacing: .25em;
  text-transform: uppercase;
  color: rgba(239,236,228,.7);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
.hero__scroll-line {
  width: 1px; height: 80px;
  background: linear-gradient(to bottom, transparent, var(--bone));
  position: relative;
  overflow: hidden;
}
.hero__scroll-line::after {
  content:'';
  position: absolute;
  top: -50%; left: 0;
  width: 100%; height: 50%;
  background: var(--saffron);
  animation: scrollPulse 2.4s cubic-bezier(.7,.1,.3,.9) infinite;
}
@keyframes scrollPulse {
  to { top: 100%; }
}

.hero__corner {
  position: absolute;
  font-size: var(--fs-xs);
  letter-spacing: .25em;
  text-transform: uppercase;
  color: rgba(239,236,228,.5);
}
.hero__corner--tl { top: 110px; left: var(--pad); }
.hero__corner--tr { top: 110px; right: var(--pad); }
.hero__corner--bl { bottom: 1.6rem; left: var(--pad); }
.hero__corner--br { bottom: 1.6rem; right: calc(var(--pad) + 30px); }


/* ──────────────── STATEMENT ──────────────── */
.statement {
  background: var(--bone);
  padding: clamp(5rem, 12vw, 11rem) var(--pad);
  border-bottom: 1px solid var(--line);
}
.statement__inner {
  max-width: 1280px; margin: 0 auto;
  display: grid; gap: 3rem;
}
.statement__caption {
  display: flex; align-items: center; gap: .75rem;
  font-size: var(--fs-xs);
  letter-spacing: .25em;
  text-transform: uppercase;
}
.statement__text {
  font-family: var(--f-edit);
  font-size: var(--fs-xl);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.statement__text em {
  font-style: italic;
  color: var(--indigo);
  font-weight: 400;
}
.statement__highlight {
  font-family: var(--f-deva);
  font-style: italic;
  color: var(--saffron);
}
.statement__strike {
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  color: var(--stone);
  font-weight: 300;
}
.statement__sign {
  display: flex; justify-content: space-between;
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ink-2);
  border-top: 1px solid var(--line);
  padding-top: 1rem;
  flex-wrap: wrap; gap: 1rem;
}


/* ──────────────── COLLECTION GRID ──────────────── */
.collection {
  background: var(--bone);
  padding: clamp(4rem, 8vw, 7rem) var(--pad) clamp(5rem, 10vw, 9rem);
  border-bottom: 1px solid var(--line);
}
.collection__head {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 3rem;
  margin-bottom: 4rem;
  align-items: end;
  max-width: 1500px; margin-left: auto; margin-right: auto;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--line);
}
.collection__title {
  font-family: var(--f-display);
  font-size: var(--fs-xxl);
  line-height: .85;
  text-transform: uppercase;
  letter-spacing: -.01em;
  margin-top: 1rem;
}
.collection__title em {
  font-family: var(--f-edit);
  font-style: italic;
  font-weight: 300;
  text-transform: lowercase;
  color: var(--indigo);
}
.collection__head-r {
  display: grid; gap: 1.5rem;
  font-size: var(--fs-md);
  max-width: 38ch;
  justify-self: end;
}
.collection__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--gap);
  max-width: 1500px; margin: 0 auto;
}

.prod {
  position: relative;
  display: grid;
  gap: 1rem;
  grid-column: span 4;
}
.prod--lg { grid-column: span 8; }
.prod__media {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  border-radius: var(--rad);
  background: var(--bone-2);
}
.prod--lg .prod__media { aspect-ratio: 16/11; }
.prod__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 1s cubic-bezier(.2,.7,.25,1), filter .8s;
  filter: grayscale(.05);
}
.prod:hover .prod__media img { transform: scale(1.04); filter: grayscale(0); }
.prod__tag {
  position: absolute;
  top: 1rem; left: 1rem;
  background: rgba(14,14,12,.7);
  color: var(--bone);
  padding: .35rem .6rem;
  border-radius: 999px;
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
}
.prod__bestseller {
  position: absolute;
  top: 1rem; right: 1rem;
  background: var(--saffron);
  color: var(--ink);
  padding: .35rem .6rem;
  border-radius: 999px;
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 600;
}
.prod__info {
  display: flex; justify-content: space-between;
  align-items: end; gap: 1rem;
}
.prod__name {
  font-family: var(--f-display);
  font-size: clamp(1.1rem, 1.8vw, 1.6rem);
  letter-spacing: .01em;
  text-transform: uppercase;
  line-height: 1;
}
.prod__type {
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--stone);
  margin-top: .35rem;
}
.prod__price {
  font-family: var(--f-display);
  font-size: clamp(1.1rem, 1.8vw, 1.5rem);
  color: var(--ink);
  white-space: nowrap;
}


/* ──────────────── EDITORIAL SCROLLER ──────────────── */
.editorial {
  background: var(--ink);
  color: var(--bone);
  position: relative;
}
.editorial__sticky {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100vh;
  gap: 0;
}
.editorial__txt {
  position: sticky;
  top: 0;
  height: 100vh;
  display: grid; align-content: center; gap: 1.5rem;
  padding: var(--pad) calc(var(--pad) + 1rem);
  border-right: 1px solid var(--line-d);
}
.editorial__index {
  font-size: var(--fs-xs);
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--saffron);
}
.editorial__title {
  font-family: var(--f-display);
  font-size: var(--fs-xxl);
  line-height: .85;
  text-transform: uppercase;
  letter-spacing: -.01em;
}
.editorial__title em {
  font-family: var(--f-edit);
  font-style: italic;
  font-weight: 300;
  color: var(--saffron);
  text-transform: lowercase;
}
.editorial__line { display: block; overflow: hidden; }
.editorial__sub {
  max-width: 42ch;
  font-family: var(--f-edit);
  font-size: var(--fs-lg);
  font-weight: 300;
  line-height: 1.3;
  color: rgba(239,236,228,.7);
}

.editorial__media {
  position: relative;
  height: 300vh;
}
.editorial__panel {
  position: sticky;
  top: 0;
  height: 100vh;
  display: grid; place-items: center;
  padding: var(--pad);
  overflow: hidden;
}
.editorial__panel img {
  width: 100%; height: 100%;
  object-fit: cover;
  border-radius: var(--rad);
  filter: contrast(1.05);
}
.editorial__cap {
  position: absolute;
  bottom: calc(var(--pad) + 1rem);
  left: calc(var(--pad) + 1rem);
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--bone);
  padding: .4rem .65rem;
  background: rgba(14,14,12,.5);
  backdrop-filter: blur(8px);
  border-radius: 999px;
}


/* ──────────────── HERITAGE STRIP ──────────────── */
.strip {
  background: var(--ink);
  color: var(--bone);
  border-top: 1px solid var(--line-d);
  border-bottom: 1px solid var(--line-d);
  overflow: hidden;
  padding: 1.4rem 0;
}
.strip__track {
  display: flex; align-items: center; gap: 2.5rem;
  white-space: nowrap;
  font-family: var(--f-display);
  font-size: clamp(2.2rem, 5vw, 4.5rem);
  letter-spacing: .02em;
  line-height: 1;
  width: max-content;
  animation: marquee 32s linear infinite;
}
.strip__sep { color: var(--saffron); }
.strip__deva {
  font-family: var(--f-deva);
  font-style: italic;
  font-weight: 400;
  color: var(--saffron);
}


/* ──────────────── HERITAGE / ABOUT ──────────────── */
.heritage {
  background: var(--bone);
  padding: clamp(5rem, 12vw, 11rem) var(--pad);
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: clamp(2rem, 5vw, 5rem);
  max-width: 1500px;
  margin: 0 auto;
  align-items: start;
}

.heritage__l { position: sticky; top: 140px; display: grid; gap: 1rem; align-self: start; }
.heritage__img {
  position: relative;
  aspect-ratio: 4/5;
  border-radius: var(--rad);
  overflow: hidden;
  background: var(--indigo);
}
.heritage__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: contrast(1.05);
}
.heritage__num {
  position: absolute;
  bottom: 1rem; left: 1rem;
  display: flex; align-items: baseline;
  gap: .15rem;
  font-family: var(--f-display);
  color: var(--bone);
  text-shadow: 0 2px 16px rgba(0,0,0,.45);
}
.heritage__num span { font-size: clamp(4rem, 10vw, 8rem); line-height: .8; }
.heritage__num small { font-size: clamp(1.3rem, 2.5vw, 2rem); }
.heritage__plate {
  display: flex; justify-content: space-between;
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ink-2);
  border-top: 1px solid var(--line);
  padding-top: .75rem;
  flex-wrap: wrap; gap: .5rem;
}

.heritage__r { display: grid; gap: 1.6rem; }
.heritage__title {
  font-family: var(--f-display);
  font-size: var(--fs-xl);
  line-height: .92;
  letter-spacing: -.01em;
  text-transform: uppercase;
  margin-top: .5rem;
}
.heritage__title em {
  font-family: var(--f-edit);
  font-style: italic;
  font-weight: 300;
  color: var(--indigo);
  text-transform: lowercase;
}
.heritage__body {
  font-family: var(--f-edit);
  font-size: clamp(1.05rem, 1.4vw, 1.3rem);
  font-weight: 300;
  line-height: 1.55;
  max-width: 56ch;
  color: var(--ink-2);
}
.heritage__body em { color: var(--indigo); font-style: italic; }
.heritage__body--bold { color: var(--ink); font-weight: 400; }
.heritage__deva {
  font-family: var(--f-deva);
  font-style: italic;
  color: var(--saffron);
  font-weight: 500;
}

.heritage__list {
  display: grid; gap: .25rem;
  margin-top: 1rem;
  border-top: 1px solid var(--line);
}
.heritage__list > div {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 1.5rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.heritage__list span {
  font-family: var(--f-display);
  font-size: 1.4rem;
  letter-spacing: .02em;
  color: var(--saffron);
}
.heritage__list p { font-size: var(--fs-md); }


/* ──────────────── LOOKBOOK ──────────────── */
.lookbook {
  background: var(--bone);
  padding: clamp(5rem, 10vw, 9rem) var(--pad);
  border-top: 1px solid var(--line);
}
.lookbook__head {
  display: grid; gap: 1.2rem;
  text-align: center;
  margin: 0 auto 4rem;
  max-width: 720px;
}
.lookbook__head .eyebrow { justify-self: center; }
.lookbook__title {
  font-family: var(--f-display);
  font-size: var(--fs-xxl);
  line-height: .9;
  text-transform: uppercase;
  letter-spacing: -.01em;
}
.lookbook__title em {
  font-family: var(--f-edit);
  font-style: italic;
  font-weight: 300;
  color: var(--saffron);
  text-transform: lowercase;
}
.lookbook__head p {
  font-family: var(--f-edit);
  font-style: italic;
  color: var(--ink-2);
  font-size: var(--fs-lg);
  font-weight: 300;
}
.lookbook__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: 60vh 60vh;
  gap: var(--gap);
  max-width: 1500px;
  margin: 0 auto;
}
.look {
  position: relative;
  overflow: hidden;
  border-radius: var(--rad);
  background: var(--bone-2);
}
.look img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 1.2s cubic-bezier(.2,.7,.25,1);
}
.look:hover img { transform: scale(1.05); }
.look figcaption {
  position: absolute;
  bottom: 1rem; left: 1rem; right: 1rem;
  display: flex; justify-content: space-between;
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--bone);
  padding: .55rem .75rem;
  background: rgba(14,14,12,.55);
  backdrop-filter: blur(8px);
  border-radius: 999px;
}
.look--01 { grid-column: span 4; grid-row: span 1; }
.look--02 { grid-column: span 5; grid-row: span 2; }
.look--03 { grid-column: span 3; grid-row: span 1; }
.look--04 { grid-column: span 4; grid-row: span 1; }
.look--05 { grid-column: span 3; grid-row: span 1; }


/* ──────────────── CRAFT / SUSTAINABILITY ──────────────── */
.craft {
  background: var(--indigo);
  color: var(--bone);
  padding: clamp(5rem, 10vw, 8rem) var(--pad);
  position: relative;
  overflow: hidden;
}
.craft::before, .craft::after {
  content:'';
  position: absolute;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--indigo-d) 0%, transparent 70%);
  filter: blur(40px);
  z-index: 0;
}
.craft::before { top: -200px; left: -200px; }
.craft::after  { bottom: -200px; right: -200px; }
.craft__inner {
  max-width: 1500px; margin: 0 auto;
  position: relative; z-index: 1;
  display: grid;
  gap: 4rem;
}
.craft__eyebrow .dot { background: var(--saffron); }
.craft__list {
  display: grid;
  border-top: 1px solid var(--line-d);
}
.craft__row {
  display: grid;
  grid-template-columns: 80px 1fr 1.2fr;
  gap: clamp(1rem, 4vw, 4rem);
  padding: clamp(1.2rem, 3vw, 2.4rem) 0;
  border-bottom: 1px solid var(--line-d);
  align-items: center;
  transition: padding-left .4s ease;
}
.craft__row:hover { padding-left: 1.5rem; }
.craft__row:hover .craft__num { color: var(--saffron); }
.craft__num {
  font-family: var(--f-display);
  font-size: clamp(1.4rem, 2vw, 1.8rem);
  color: rgba(239,236,228,.5);
  transition: color .3s;
}
.craft__head {
  font-family: var(--f-display);
  font-size: var(--fs-xl);
  line-height: 1;
  letter-spacing: -.01em;
  text-transform: uppercase;
}
.craft__copy {
  font-family: var(--f-edit);
  font-size: var(--fs-lg);
  font-weight: 300;
  line-height: 1.35;
  color: rgba(239,236,228,.78);
  max-width: 44ch;
}


/* ──────────────── NEWSLETTER ──────────────── */
.news {
  background: var(--bone);
  padding: clamp(5rem, 10vw, 9rem) var(--pad);
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.news__inner {
  max-width: 1500px; margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  position: relative;
}
.news__head { display: grid; gap: 1.2rem; }
.news__title {
  font-family: var(--f-display);
  font-size: var(--fs-xxl);
  line-height: .85;
  text-transform: uppercase;
  letter-spacing: -.01em;
}
.news__title em {
  font-family: var(--f-edit);
  font-style: italic;
  font-weight: 300;
  color: var(--indigo);
  text-transform: lowercase;
}
.news__head p { max-width: 40ch; color: var(--ink-2); font-family: var(--f-edit); font-style: italic; font-size: var(--fs-lg); font-weight: 300; }

.news__form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  position: relative;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 1.5rem 0;
}
.news__form input {
  width: 100%;
  background: transparent;
  border: 0;
  outline: none;
  padding: .75rem 0;
  font-family: var(--f-display);
  font-size: clamp(1.4rem, 3vw, 2.6rem);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink);
}
.news__form input::placeholder { color: var(--stone); }
.news__form button {
  justify-self: start;
  padding: 1rem 1.5rem;
  background: var(--ink);
  color: var(--bone);
  border-radius: 999px;
  font-size: var(--fs-xs);
  letter-spacing: .25em;
  text-transform: uppercase;
  font-weight: 600;
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.news__form button:hover { background: var(--indigo); }
.news__form-sent {
  position: absolute; inset: 0;
  display: grid; place-items: center;
  background: var(--saffron);
  color: var(--ink);
  transform: translateY(100%);
  transition: transform .4s;
}
.news__form.is-sent .news__form-sent { transform: translateY(0); }

.news__deva {
  position: absolute;
  right: var(--pad); bottom: 0;
  font-family: var(--f-deva);
  font-style: italic;
  font-size: clamp(7rem, 18vw, 16rem);
  color: rgba(28,43,78,.05);
  line-height: .8;
  pointer-events: none;
  z-index: 0;
}


/* ──────────────── FOOTER ──────────────── */
.foot {
  background: var(--ink);
  color: var(--bone);
  padding: 4rem var(--pad) 2rem;
  position: relative;
  overflow: hidden;
}
.foot__giant {
  display: flex; align-items: baseline;
  justify-content: space-between;
  gap: 2rem;
  font-family: var(--f-display);
  font-size: var(--fs-mega);
  letter-spacing: -.02em;
  line-height: .8;
  border-bottom: 1px solid var(--line-d);
  padding-bottom: 2rem;
  margin-bottom: 4rem;
}
.foot__giant span:nth-child(2) {
  font-family: var(--f-deva);
  font-style: italic;
  color: var(--saffron);
  font-weight: 400;
}
.foot__cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  padding-bottom: 4rem;
  border-bottom: 1px solid var(--line-d);
}
.foot__col { display: grid; gap: .55rem; align-content: start; }
.foot__lbl {
  font-size: var(--fs-xs);
  letter-spacing: .25em;
  text-transform: uppercase;
  color: rgba(239,236,228,.5);
  margin-bottom: .65rem;
}
.foot__col a {
  font-size: var(--fs-md);
  letter-spacing: .02em;
  transition: color .3s, transform .3s;
  width: max-content;
}
.foot__col a:hover { color: var(--saffron); transform: translateX(4px); }

.foot__bar {
  display: flex; justify-content: space-between;
  align-items: center;
  padding-top: 2rem;
  font-size: var(--fs-xs);
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(239,236,228,.55);
  flex-wrap: wrap; gap: 1rem;
}


/* ──────────────── REVEAL UTILS ──────────────── */
.reveal-wrap { display: inline-block; overflow: hidden; }
[data-split] .char { display: inline-block; }


/* ──────────────── RESPONSIVE ──────────────── */
@media (max-width: 1024px) {
  .nav__links { display: none; }
  .hero__corner--tl, .hero__corner--tr { display: none; }
  .collection__head { grid-template-columns: 1fr; }
  .collection__head-r { justify-self: start; }
  .editorial__sticky { grid-template-columns: 1fr; }
  .editorial__txt { position: relative; height: auto; padding: clamp(3rem,6vw,5rem) var(--pad); border-right: 0; border-bottom: 1px solid var(--line-d); }
  .editorial__media { height: 200vh; }
  .heritage { grid-template-columns: 1fr; }
  .heritage__l { position: relative; top: 0; }
  .news__inner { grid-template-columns: 1fr; }
  .foot__cols { grid-template-columns: repeat(2, 1fr); }
  .foot__bar { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 768px) {
  :root { --pad: 1.1rem; }
  .nav__pill span:not(.nav__pill-dot) { display: none; }
  .nav__pill { padding: .55rem; }
  .prod, .prod--lg { grid-column: span 6; }
  .prod--lg .prod__media { aspect-ratio: 4/5; }
  .lookbook__grid {
    grid-template-rows: 50vh 40vh 50vh 40vh;
  }
  .look--01 { grid-column: span 12; grid-row: 1; }
  .look--02 { grid-column: span 12; grid-row: 2; }
  .look--03 { grid-column: span 6;  grid-row: 3; }
  .look--04 { grid-column: span 6;  grid-row: 3; }
  .look--05 { grid-column: span 12; grid-row: 4; }
  .craft__row { grid-template-columns: 1fr; gap: .5rem; }
  .craft__num { font-size: 1rem; color: var(--saffron); }
  .heritage__list > div { grid-template-columns: 40px 1fr; gap: 1rem; }
  .statement__sign { flex-direction: column; }
  .foot__giant { font-size: clamp(3rem, 18vw, 9rem); }
  .foot__cols { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
  .prod, .prod--lg { grid-column: span 12; }
  .hero__meta { gap: 1rem; }
  .nav { grid-template-columns: 1fr auto; }
  .nav__actions .nav__pill { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
