.portfolio-page { background: var(--paper); }
.portfolio-page main { overflow: hidden; }

.portfolio-crumb {
  display: flex; gap: 10px; align-items: center; padding-top: 28px; padding-bottom: 28px;
  font-family: var(--sans); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--faint);
}
.portfolio-crumb b { color: var(--ink-2); font-weight: 400; }

.portfolio-hero {
  display: grid; grid-template-columns: minmax(360px, 5fr) minmax(520px, 7fr);
  min-height: 660px; background: var(--paper-2); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft);
}
.portfolio-hero.reverse { grid-template-columns: minmax(520px, 7fr) minmax(360px, 5fr); }
.portfolio-hero.reverse .portfolio-hero__media { order: 1; }
.portfolio-hero.reverse .portfolio-hero__copy { order: 2; }
.portfolio-hero__copy {
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
  padding: clamp(64px, 8vw, 124px); background: var(--paper-2);
}
.portfolio-hero__copy .eyebrow { margin-bottom: 22px; }
.portfolio-hero__copy h1 {
  max-width: 680px; font-family: var(--serif); font-size: clamp(52px, 6.3vw, 92px); font-weight: 500;
  letter-spacing: -.035em; line-height: .92; text-wrap: balance;
}
.portfolio-hero__copy > p:not(.eyebrow) {
  max-width: 570px; margin-top: 28px; font-family: var(--read); font-size: 18px; line-height: 1.7; color: var(--ink-2);
}
.portfolio-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.portfolio-hero__media { position: relative; min-height: 660px; overflow: hidden; background: var(--media-placeholder); }
.portfolio-hero__media picture, .portfolio-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.portfolio-hero__media img { object-fit: cover; object-position: center; }
.portfolio-hero__media.contain img { object-fit: contain; object-position: center bottom; }
.portfolio-hero__media.nocturne::after { content: ""; position: absolute; inset: 0; background: rgba(4,5,8,.2); pointer-events: none; }
.portfolio-media-status { display: grid; place-items: center; background: radial-gradient(circle at 50% 30%, rgba(151,107,62,.16), transparent 42%), var(--media-placeholder); }
.portfolio-media-status p { position: relative; z-index: 1; max-width: 26rem; margin: 0; padding: 1.5rem; color: rgba(242,237,228,.7); font: 500 .66rem/1.65 var(--sans); letter-spacing: .14em; text-align: center; text-transform: uppercase; }

.portfolio-section { padding: clamp(76px, 9vw, 128px) 0; }
.portfolio-section.tonal { background: var(--paper-2); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.portfolio-section.dark { color: var(--on-dark); background: var(--dark); }
.portfolio-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; margin-bottom: 54px; }
.portfolio-heading .eyebrow { display: block; margin-bottom: 18px; }
.portfolio-heading h2 { font-family: var(--serif); font-size: clamp(42px, 5vw, 68px); font-weight: 500; line-height: .98; }
.portfolio-heading > p { max-width: 570px; font-family: var(--read); font-size: 17px; line-height: 1.75; color: var(--ink-2); }
.portfolio-section.dark .portfolio-heading > p { color: var(--on-dark-2); }

.portfolio-codes { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.portfolio-code { min-height: 240px; padding: 30px 34px 34px 0; border-right: 1px solid var(--line); }
.portfolio-code + .portfolio-code { padding-left: 34px; }
.portfolio-code:last-child { border-right: 0; }
.portfolio-code span { font-family: var(--sans); font-size: 10px; letter-spacing: .18em; color: var(--bronze); }
.portfolio-code h3 { margin: 50px 0 12px; font-family: var(--serif); font-size: 28px; font-weight: 500; }
.portfolio-code p { font-family: var(--read); font-size: 15px; line-height: 1.65; color: var(--muted); }

.portfolio-journey { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(236,227,209,.18); }
.portfolio-journey li { display: grid; grid-template-columns: 54px 1fr; gap: 18px; padding: 24px 0; border-bottom: 1px solid rgba(236,227,209,.13); list-style: none; }
.portfolio-journey li:nth-child(odd) { padding-right: 34px; border-right: 1px solid rgba(236,227,209,.13); }
.portfolio-journey li:nth-child(even) { padding-left: 34px; }
.portfolio-journey span { font-family: var(--sans); font-size: 10px; letter-spacing: .14em; color: var(--bronze-soft); }
.portfolio-journey p { font-family: var(--read); font-size: 18px; color: var(--on-dark); }

.portfolio-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; background: var(--media-placeholder); }
.portfolio-product { display: block; min-width: 0; background: var(--card); border-right: 1px solid rgba(242,237,228,.6); }
.portfolio-product:last-child { border-right: 0; }
.portfolio-product__image { position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: var(--media-placeholder); }
.portfolio-product__image img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.portfolio-product:hover img { transform: scale(1.018); }
.portfolio-product__placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; padding: 36px 30px; background: linear-gradient(145deg, #d7cbbb 0%, #b5a18c 58%, #88745f 100%); color: #17130f; }
.portfolio-product__placeholder::before { content: ""; position: absolute; inset: 8% 10%; border: 1px solid rgba(255,255,255,.35); pointer-events: none; }
.portfolio-product__placeholder small,.portfolio-product__placeholder em { position: relative; font: var(--type-label-compact)/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.portfolio-product__placeholder strong { position: relative; max-width: 12ch; font: 500 30px/1 var(--serif); }
.portfolio-product__placeholder em { font-style: normal; color: rgba(23,19,15,.66); }
.portfolio-product__body { min-height: 158px; padding: 24px 26px 28px; background: var(--card-2); }
.portfolio-product__meta { font-family: var(--sans); font-size: var(--type-label-compact); letter-spacing: .18em; text-transform: uppercase; color: var(--bronze); }
.portfolio-product h3 { margin: 9px 0 8px; font-family: var(--serif); font-size: 25px; font-weight: 500; line-height: 1.05; }
.portfolio-product__detail { display: flex; justify-content: space-between; gap: 18px; font-family: var(--read); font-size: 14px; color: var(--muted); }
.portfolio-product__price { color: var(--ink); white-space: nowrap; }
.portfolio-products__state { grid-column: 1 / -1; min-height: 420px; display: grid; place-items: center; padding: 40px; background: var(--card-2); color: var(--muted); font: 15px/1.6 var(--read); text-align: center; }

.portfolio-editorial { display: grid; grid-template-columns: 7fr 5fr; min-height: 580px; }
.portfolio-editorial__media { position: relative; min-height: 580px; overflow: hidden; background: var(--paper-2); }
.portfolio-editorial__media img { width: 100%; height: 100%; object-fit: cover; }
.portfolio-editorial__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(54px, 7vw, 100px); background: var(--paper-2); }
.portfolio-editorial__copy h2 { margin: 17px 0 24px; font-family: var(--serif); font-size: clamp(42px, 5vw, 66px); font-weight: 500; line-height: .98; }
.portfolio-editorial__copy p { font-family: var(--read); font-size: 17px; line-height: 1.72; color: var(--ink-2); }
.portfolio-editorial__copy .btn, .portfolio-editorial__copy .linkarrow { align-self: flex-start; margin-top: 30px; }

.portfolio-cta { padding: clamp(90px, 11vw, 154px) 0; text-align: center; background: var(--paper-2); border-top: 1px solid var(--line-soft); }
.portfolio-cta h2 { max-width: 900px; margin: 18px auto 30px; font-family: var(--serif); font-size: clamp(46px, 6vw, 78px); font-weight: 500; line-height: .95; }

.portfolio-film { padding: clamp(74px, 9vw, 124px) 0; background: var(--paper); }
.portfolio-film .campaign-film { margin-top: 0; }

/* Protected eight-shoe study */
.footwear-preview-hero__media,
.footwear-signature__media,
.footwear-study-card__media,
.footwear-study-detail__stage,
.footwear-study-detail__thumbnail {
  background: #e7ddcc;
}

.footwear-preview-hero__media img,
.footwear-signature__media img,
.footwear-study-card__media img,
.footwear-study-detail__stage img,
.footwear-study-detail__thumbnail img {
  object-fit: contain;
  object-position: center;
}

.footwear-preview-hero__media::after { display: none; }
.footwear-preview-hero__media figcaption,
.footwear-signature__media figcaption {
  position: absolute;
  z-index: 1;
  inset: auto 18px 18px;
  padding: 7px 9px;
  background: rgba(20, 18, 15, .78);
  color: var(--on-dark);
  font: 500 var(--type-label-compact)/1.4 var(--sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.footwear-preview__status {
  padding-left: 14px;
  border-left: 2px solid var(--bronze);
  font: 600 var(--type-label-compact)/1.55 var(--sans) !important;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.footwear-preview__disclosure {
  margin-top: 20px;
  padding-left: 14px;
  border-left: 2px solid var(--bronze);
  color: var(--muted);
  font: 600 var(--type-label-compact)/1.6 var(--sans) !important;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.footwear-preview-range .portfolio-heading > div:last-child > p:first-child {
  max-width: 570px;
  color: var(--ink-2);
  font: 400 17px/1.75 var(--read);
}

.footwear-study-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(34px, 5vw, 72px) clamp(18px, 3vw, 42px);
}

.footwear-study-card {
  min-width: 0;
  border-top: 1px solid var(--line);
}

.footwear-study-card__link {
  display: block;
  color: inherit;
}

.footwear-study-card__media {
  position: relative;
  aspect-ratio: 3 / 2;
  margin-top: 12px;
  overflow: hidden;
}

.footwear-study-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  transition: opacity .25s ease;
}

.footwear-study-card__link:hover .footwear-study-card__media img,
.footwear-study-card__link:focus-visible .footwear-study-card__media img { opacity: .9; }

.footwear-study-card__link:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 5px;
}

.footwear-study-card__copy { padding: 23px 0 6px; }
.footwear-study-card__copy h3 {
  margin: 9px 0 12px;
  font: 500 clamp(30px, 3.4vw, 46px)/1 var(--serif);
}
.footwear-study-card__copy > p:not(.eyebrow) {
  max-width: 58ch;
  color: var(--muted);
  font: 400 15px/1.65 var(--read);
}
.footwear-study-card__action {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 15px;
  border-bottom: 1px solid currentColor;
  font: 600 var(--type-label-compact)/1.3 var(--sans);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.footwear-signature__media img { object-fit: contain; }

.footwear-preview--unavailable [data-footwear-study-grid] { display: none; }
.footwear-preview--unavailable .footwear-study-detail__content { display: none; }

.footwear-study-detail-page main { overflow: visible; }
.footwear-study-detail {
  padding-bottom: clamp(80px, 10vw, 144px);
}
.footwear-study-detail__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr);
  gap: clamp(42px, 8vw, 120px);
  align-items: end;
  padding: clamp(54px, 8vw, 104px) 0 42px;
  border-bottom: 1px solid var(--line);
}
.footwear-study-detail__header h1 {
  max-width: 760px;
  margin-top: 12px;
  font: 500 clamp(50px, 7vw, 92px)/.94 var(--serif);
  letter-spacing: -.035em;
}
.footwear-study-detail__header-copy > p:first-child {
  color: var(--ink-2);
  font: 400 17px/1.7 var(--read);
}
.footwear-study-detail__disclosure {
  margin-top: 22px;
  padding-left: 14px;
  border-left: 2px solid var(--bronze);
  color: var(--muted);
  font: 600 var(--type-label-compact)/1.6 var(--sans);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.footwear-study-detail__gallery {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 132px;
  gap: 12px;
  padding-top: 24px;
}
.footwear-study-detail__stage {
  display: grid;
  place-items: center;
  min-height: min(68vw, 820px);
  overflow: hidden;
}
.footwear-study-detail__stage img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 820px;
}
.footwear-study-detail__thumbnails {
  display: grid;
  grid-template-rows: repeat(5, minmax(86px, 1fr));
  gap: 8px;
}
.footwear-study-detail__thumbnail {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 72px;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  color: var(--ink);
  cursor: pointer;
}
.footwear-study-detail__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
}
.footwear-study-detail__thumbnail span {
  position: absolute;
  inset: auto 4px 4px;
  padding: 4px 5px;
  background: rgba(20, 18, 15, .76);
  color: var(--on-dark);
  font: 500 8px/1.2 var(--sans);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.footwear-study-detail__thumbnail[aria-pressed="true"] {
  border-color: var(--ink);
  box-shadow: inset 0 0 0 2px var(--ink);
}
.footwear-study-detail__thumbnail:focus-visible {
  z-index: 1;
  outline: 2px solid var(--ink);
  outline-offset: 2px;
}
.footwear-study-detail__footer {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
.footwear-study-detail__nav { display: flex; flex-wrap: wrap; gap: 10px; }
.footwear-study-detail__footer .btn { min-height: 44px; }
.footwear-study-detail__status {
  min-height: 360px;
  display: grid;
  place-items: center;
  max-width: 760px;
  margin: 0 auto;
  padding: 40px 20px;
  color: var(--muted);
  font: 400 clamp(28px, 4vw, 46px)/1.15 var(--serif);
  text-align: center;
}

@media (max-width: 980px) {
  .portfolio-hero, .portfolio-hero.reverse { grid-template-columns: 1fr; }
  .portfolio-hero.reverse .portfolio-hero__media, .portfolio-hero.reverse .portfolio-hero__copy { order: initial; }
  .portfolio-hero__copy { min-height: 470px; }
  .portfolio-hero__media { min-height: 72vw; }
  .portfolio-heading { grid-template-columns: 1fr; gap: 24px; }
  .portfolio-products { grid-template-columns: repeat(2, 1fr); }
  .portfolio-product:nth-child(2) { border-right: 0; }
  .portfolio-editorial { grid-template-columns: 1fr; }
  .footwear-study-detail__header { grid-template-columns: 1fr; gap: 24px; }
  .footwear-study-detail__gallery { grid-template-columns: 1fr; }
  .footwear-study-detail__thumbnails { grid-template-columns: repeat(5, minmax(86px, 1fr)); grid-template-rows: none; overflow-x: auto; }
  .footwear-study-detail__thumbnail { min-height: 92px; }
}

@media (max-width: 640px) {
  .portfolio-crumb { padding-top: 20px; padding-bottom: 20px; }
  .portfolio-hero__copy { min-height: 420px; padding: 54px 22px; }
  .portfolio-hero__copy h1 { font-size: clamp(48px, 15vw, 68px); }
  .portfolio-hero__media { min-height: 118vw; }
  .footwear-preview-hero__media { min-height: 67vw; }
  .portfolio-actions { width: 100%; }
  .portfolio-actions .btn { width: 100%; }
  .footwear-preview-hero .portfolio-hero__copy,
  .footwear-preview-hero .portfolio-actions { min-width: 0; }
  .footwear-preview-hero .portfolio-actions .btn { min-width: 0; white-space: normal; }
  .portfolio-codes, .portfolio-products, .portfolio-journey { grid-template-columns: 1fr; }
  .portfolio-code, .portfolio-code + .portfolio-code { padding: 26px 0 30px; border-right: 0; border-bottom: 1px solid var(--line); }
  .portfolio-code h3 { margin-top: 24px; }
  .portfolio-journey li:nth-child(odd), .portfolio-journey li:nth-child(even) { padding: 21px 0; border-right: 0; }
  .portfolio-product { border-right: 0; border-bottom: 1px solid rgba(242,237,228,.6); }
  .portfolio-editorial__media { min-height: 105vw; }
  .footwear-signature__media { min-height: 67vw; }
  .portfolio-editorial__copy { padding: 56px 22px; }
  .footwear-study-grid { grid-template-columns: 1fr; gap: 44px; }
  .footwear-study-detail { padding-inline: 0; }
  .footwear-study-detail__header { padding-inline: 18px; }
  .footwear-study-detail__stage { min-height: 67vw; }
  .footwear-study-detail__thumbnails { padding-inline: 18px; grid-template-columns: repeat(5, minmax(64px, 1fr)); }
  .footwear-study-detail__thumbnail { min-height: 72px; }
  .footwear-study-detail__footer { align-items: stretch; flex-direction: column; padding-inline: 18px; }
  .footwear-study-detail__nav { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-width: 0; }
  .footwear-study-detail__footer .btn { width: 100%; min-width: 0; white-space: normal; }
}

@media (max-width: 390px) {
  .footwear-study-card__media { margin-inline: -18px; }
  .footwear-study-detail__thumbnails { grid-template-columns: repeat(5, minmax(58px, 1fr)); gap: 5px; }
  .footwear-study-detail__thumbnail span { display: none; }
}

@media (max-width: 340px) {
  .footwear-study-detail__thumbnails { grid-template-columns: repeat(5, minmax(50px, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .footwear-study-card__media img { transition: none; }
}
