:root {
  --ink: #0b0c0b;
  --ink-soft: #151816;
  --paper: #efede7;
  --paper-deep: #dfddd7;
  --silver: #cbd0cd;
  --smoke: #999d99;
  --red: #a3262a;
  --line-light: rgba(239, 237, 231, .22);
  --line-dark: rgba(11, 12, 11, .16);
  --gutter: clamp(20px, 4vw, 64px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--paper); font-family: Manrope, Arial, sans-serif; font-weight: 400; letter-spacing: 0; }
body::after { content: ""; position: fixed; inset: 0; z-index: 90; pointer-events: none; opacity: .034; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); mix-blend-mode: multiply; }
a { color: inherit; text-decoration: none; }
img, video, canvas { display: block; max-width: 100%; }
button { color: inherit; font: inherit; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 200; padding: 10px 14px; color: var(--ink); background: var(--paper); transform: translateY(-150%); }
.skip-link:focus { transform: none; }
:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }

.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 80; height: 72px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 var(--gutter); color: var(--paper); border-bottom: 1px solid transparent; transition: background-color .35s ease, border-color .35s ease, color .35s ease; }
.site-header.is-scrolled { color: var(--ink); background: rgba(239, 237, 231, .94); border-color: var(--line-dark); }
.wordmark, .footer-mark { font-family: "Archivo Black", Arial, sans-serif; font-size: 18px; }
.desktop-nav { display: flex; align-items: center; gap: 34px; font-size: 12px; }
.desktop-nav a, .site-footer a { position: relative; }
.desktop-nav a::after, .site-footer div a::after { content: ""; position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.desktop-nav a:hover::after, .site-footer div a:hover::after { transform: scaleX(1); transform-origin: left; }
.header-actions { justify-self: end; display: flex; gap: 8px; }
.motion-button, .menu-button { width: 44px; height: 44px; display: inline-grid; place-items: center; border: 1px solid currentColor; background: transparent; cursor: pointer; }
.motion-button { font-size: 13px; }
.menu-button { display: none; }
.menu-button span { width: 16px; height: 1px; background: currentColor; transition: transform .25s ease; }
.menu-button span + span { margin-top: -14px; }
.mobile-menu { display: none; }

.hero { position: relative; min-height: calc(100svh - 42px); overflow: hidden; color: var(--paper); background: var(--ink); isolation: isolate; }
.film-stage { position: absolute; inset: 0 0 0 31vw; z-index: 0; overflow: hidden; }
.film-stage::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--ink) 0%, #101613 48%, #18201d 100%); }
.hero-film { width: 100%; height: 100%; object-fit: contain; object-position: center; filter: saturate(.92) contrast(1.03); }
.silver-field { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; mix-blend-mode: screen; }
.hero-shade { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(11, 12, 11, .98) 0%, rgba(11, 12, 11, .86) 27%, rgba(11, 12, 11, .24) 54%, rgba(11, 12, 11, .08) 100%), linear-gradient(0deg, rgba(11, 12, 11, .72) 0%, transparent 34%); }
.hero-copy { position: absolute; z-index: 2; left: var(--gutter); bottom: clamp(40px, 7vh, 84px); width: min(560px, 46vw); }
.hero-origin, .section-label { margin: 0 0 16px; font-size: 11px; line-height: 1.5; text-transform: uppercase; }
.hero-copy h1 { margin: 0; font-family: "Archivo Black", Arial, sans-serif; font-size: clamp(70px, 9vw, 142px); line-height: .88; }
.hero-line { margin: 18px 0 28px; font-size: clamp(19px, 2vw, 28px); font-weight: 300; }
.text-action { min-height: 44px; display: inline-flex; align-items: center; gap: 28px; padding: 0 0 8px; border-bottom: 1px solid var(--paper); font-size: 13px; }
.text-action span { transition: transform .25s ease; }
.text-action:hover span { transform: translateY(4px); }
.film-caption { position: absolute; z-index: 2; right: var(--gutter); bottom: 34px; display: flex; gap: 22px; font-size: 10px; text-transform: uppercase; }
.film-caption span + span { color: var(--silver); }

.chapter-bar { height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 var(--gutter); color: var(--ink); background: var(--silver); font-size: 9px; text-transform: uppercase; }
.chapter-bar i { height: 1px; flex: 1; max-width: 170px; background: rgba(11, 12, 11, .28); }

.manifesto { min-height: 86svh; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 10vw; align-items: end; padding: clamp(100px, 14vw, 210px) var(--gutter) clamp(80px, 10vw, 150px); }
.manifesto-title p { margin: 0 0 22px; color: var(--red); font-size: 18px; }
.manifesto h2 { max-width: 900px; margin: 0; font-family: "Archivo Black", Arial, sans-serif; font-size: clamp(54px, 8.2vw, 128px); line-height: .92; }
.manifesto-copy { padding-bottom: 9px; }
.manifesto-copy p { margin: 0 0 24px; font-size: 16px; line-height: 1.75; }
.manifesto-copy p:first-child { font-size: clamp(20px, 2.2vw, 30px); line-height: 1.35; }

.material-story { position: relative; min-height: 122svh; overflow: hidden; color: var(--paper); background: var(--ink); }
.material-image-main { position: absolute; top: 0; bottom: 0; left: 0; width: 56%; overflow: hidden; }
.material-image-main img { width: 100%; height: 112%; object-fit: cover; object-position: center 18%; }
.material-copy { position: absolute; z-index: 2; right: var(--gutter); top: 18%; width: min(410px, 32vw); }
.material-copy h2 { margin: 0 0 24px; font-family: "Archivo Black", Arial, sans-serif; font-size: clamp(50px, 6vw, 92px); line-height: .9; }
.material-copy p:not(.section-label) { margin: 0 0 32px; color: var(--silver); font-size: 17px; line-height: 1.7; }
.material-copy a, .source-copy a { display: inline-flex; gap: 24px; padding-bottom: 8px; border-bottom: 1px solid currentColor; font-size: 13px; }
.material-detail { position: absolute; right: 8vw; bottom: -7%; width: min(31vw, 430px); height: 45%; overflow: hidden; border-top: 1px solid var(--line-light); }
.material-detail img { width: 100%; height: 130%; object-fit: cover; object-position: center 34%; filter: saturate(.82); }

.wear { padding: clamp(100px, 12vw, 180px) var(--gutter); background: var(--paper); }
.wear-heading { display: grid; grid-template-columns: 1fr auto; align-items: end; margin-bottom: clamp(56px, 8vw, 110px); }
.wear-heading .section-label { grid-column: 1 / -1; color: var(--red); }
.wear-heading h2 { margin: 0; font-family: "Archivo Black", Arial, sans-serif; font-size: clamp(72px, 12vw, 180px); line-height: .78; }
.wear-heading > p:last-child { margin: 0; font-size: 16px; }
.look-cinema { display: grid; grid-template-columns: 1fr 1.3fr 1fr; gap: clamp(12px, 2vw, 30px); align-items: start; }
.look { margin: 0; }
.look-wide { margin-top: clamp(80px, 11vw, 170px); }
.look img { width: 100%; height: min(70vw, 760px); object-fit: cover; object-position: center top; background: var(--paper-deep); transition: filter .45s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.look-wide img { height: min(58vw, 640px); }
.look:hover img { filter: saturate(1.08) contrast(1.02); transform: scale(.992); }
.look footer { display: flex; justify-content: space-between; gap: 16px; padding-top: 12px; border-top: 1px solid var(--line-dark); font-size: 10px; text-transform: uppercase; }
.look footer span:last-child { color: #6c706d; }
.archive-link { display: flex; align-items: center; justify-content: space-between; margin-top: 90px; padding: 24px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); font-size: clamp(20px, 2.6vw, 36px); }
.archive-link span { transition: transform .25s ease; }
.archive-link:hover span { transform: translateX(8px); }

.source-note { min-height: 95svh; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; overflow: hidden; color: var(--paper); background: var(--red); }
.source-word { align-self: stretch; display: grid; place-items: center; font-family: SimSun, "Songti SC", serif; font-size: clamp(160px, 28vw, 430px); line-height: 1; color: rgba(239, 237, 231, .09); border-right: 1px solid rgba(239, 237, 231, .22); }
.source-copy { max-width: 560px; padding: 90px var(--gutter); }
.source-copy h2 { margin: 0 0 34px; font-family: "Archivo Black", Arial, sans-serif; font-size: clamp(48px, 6vw, 90px); line-height: .92; }
.source-copy p { margin: 0 0 22px; font-size: 16px; line-height: 1.75; }
.source-copy a { margin-top: 18px; }

.house { padding: clamp(110px, 13vw, 190px) var(--gutter); }
.house header { display: grid; grid-template-columns: .7fr 1.3fr; gap: 6vw; margin-bottom: 90px; }
.house header .section-label { color: var(--red); }
.house h2 { max-width: 900px; margin: 0; font-family: "Archivo Black", Arial, sans-serif; font-size: clamp(44px, 6vw, 88px); line-height: .94; }
.house-list { border-top: 1px solid var(--ink); }
.house-list > * { min-height: 112px; display: grid; grid-template-columns: 1fr .5fr 1fr auto; align-items: center; gap: 24px; border-bottom: 1px solid var(--line-dark); }
.house-list span { font-size: clamp(27px, 3.5vw, 50px); }
.house-list small { color: var(--red); text-transform: uppercase; }
.house-list b { font-size: 13px; font-weight: 400; }
.house-list i { font-style: normal; transition: transform .25s ease; }
.house-list a:hover i { transform: translate(4px, -4px); }

.trade { position: relative; min-height: 92svh; display: grid; align-items: end; overflow: hidden; color: var(--paper); background: var(--ink); }
.trade-image { position: absolute; inset: 0; }
.trade-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 24%; }
.trade-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(11, 12, 11, .92) 0%, rgba(11, 12, 11, .26) 64%, rgba(11, 12, 11, .18) 100%); }
.trade-copy { position: relative; z-index: 1; width: min(900px, 82vw); padding: 90px var(--gutter); }
.trade-copy h2 { margin: 0 0 24px; font-family: "Archivo Black", Arial, sans-serif; font-size: clamp(48px, 7.2vw, 108px); line-height: .91; }
.trade-copy > p:not(.section-label) { margin: 0 0 34px; font-size: 18px; }
.trade-actions { display: flex; gap: 12px; }
.button-light, .button-line { min-height: 48px; display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; padding: 0 18px; border: 1px solid var(--paper); font-size: 12px; }
.button-light { color: var(--ink); background: var(--paper); }
.button-line { color: var(--paper); background: rgba(11,12,11,.25); }

.site-footer { min-height: 210px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; padding: 50px var(--gutter); color: var(--paper); background: var(--ink); border-top: 1px solid var(--line-light); }
.site-footer > div { display: flex; gap: 26px; font-size: 11px; }
.site-footer p { justify-self: end; margin: 0; font-size: 10px; }

[data-reveal] { opacity: 0; transform: translateY(34px); transition: opacity .8s ease, transform .9s cubic-bezier(.2,.72,.25,1); }
[data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 860px) {
  .site-header { height: 64px; grid-template-columns: 1fr auto; }
  .desktop-nav { display: none; }
  .menu-button { display: inline-grid; }
  .mobile-menu { position: absolute; top: 64px; right: 0; left: 0; display: grid; padding: 20px var(--gutter) 30px; color: var(--paper); background: rgba(11, 12, 11, .98); border-top: 1px solid var(--line-light); transform: translateY(-130%); opacity: 0; transition: transform .35s ease, opacity .25s ease; pointer-events: none; }
  .mobile-menu.is-open { transform: none; opacity: 1; pointer-events: auto; }
  .mobile-menu a { min-height: 48px; display: flex; align-items: center; border-bottom: 1px solid var(--line-light); }
  .site-header.is-scrolled .mobile-menu { color: var(--paper); }
  .hero { min-height: calc(100svh - 38px); }
  .film-stage { inset: 0; }
  .hero-film { object-fit: cover; object-position: 50% center; }
  .hero-shade { background: linear-gradient(0deg, rgba(11, 12, 11, .96) 0%, rgba(11, 12, 11, .45) 42%, rgba(11, 12, 11, .18) 74%, rgba(11, 12, 11, .5) 100%); }
  .hero-copy { inset: 0 var(--gutter); width: auto; pointer-events: none; }
  .hero-copy > * { pointer-events: auto; }
  .hero-copy h1 { position: absolute; top: 116px; left: 0; margin: 0; font-size: clamp(54px, 17vw, 74px); }
  .hero-origin { position: absolute; top: 88px; left: 0; max-width: 310px; margin: 0; font-size: 8px; }
  .hero-line { position: absolute; top: 188px; left: 0; max-width: 260px; margin: 0; font-size: 16px; }
  .text-action { position: absolute; bottom: 26px; left: 0; }
  .film-caption { display: none; }
  .chapter-bar { height: 38px; }
  .chapter-bar span:nth-of-type(2), .chapter-bar i:nth-of-type(2) { display: none; }
  .manifesto { min-height: auto; grid-template-columns: 1fr; gap: 52px; padding: 100px var(--gutter); }
  .manifesto h2 { font-size: clamp(48px, 15vw, 78px); }
  .material-story { min-height: 1080px; }
  .material-image-main { top: 0; right: 0; bottom: auto; width: 100%; height: 62%; }
  .material-copy { top: auto; right: var(--gutter); bottom: 72px; left: var(--gutter); width: auto; }
  .material-detail { display: none; }
  .material-story::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(0deg, var(--ink) 36%, transparent 100%); }
  .material-copy { z-index: 2; }
  .wear-heading { grid-template-columns: 1fr; gap: 22px; }
  .look-cinema { grid-template-columns: 1fr; gap: 56px; }
  .look-wide { margin-top: 0; }
  .look img, .look-wide img { height: min(150vw, 680px); }
  .archive-link { margin-top: 64px; font-size: 18px; }
  .source-note { grid-template-columns: 1fr; }
  .source-word { min-height: 290px; font-size: 180px; border-right: 0; border-bottom: 1px solid rgba(239,237,231,.22); }
  .source-copy { padding: 76px var(--gutter) 96px; }
  .house header { grid-template-columns: 1fr; gap: 20px; margin-bottom: 56px; }
  .house-list > * { grid-template-columns: 1fr auto; gap: 12px; padding: 24px 0; }
  .house-list small { justify-self: end; }
  .house-list b { grid-column: 1 / -1; }
  .house-list i { position: absolute; visibility: hidden; }
  .trade { min-height: 780px; }
  .trade-image img { object-position: 56% top; }
  .trade-copy { width: 100%; padding: 70px var(--gutter); }
  .trade-actions { flex-direction: column; align-items: stretch; }
  .site-footer { grid-template-columns: 1fr; align-items: start; }
  .site-footer > div { flex-wrap: wrap; }
  .site-footer p { justify-self: start; }
}

/* Editorial continuity below the hero. */
.manifesto,
.material-story,
.wear,
.source-note,
.house,
.trade { border-bottom: 1px solid rgba(32, 35, 33, .14); }

.manifesto h2,
.material-copy h2,
.wear-heading h2,
.source-copy h2,
.house h2,
.trade-copy h2 {
  font-family: "Bodoni Moda", Georgia, serif;
  font-weight: 400;
  color: #303432;
}

.manifesto { min-height: 78svh; align-items: center; padding-top: clamp(100px, 11vw, 160px); padding-bottom: clamp(90px, 10vw, 140px); }
.manifesto h2 { max-width: 820px; font-size: clamp(60px, 7.6vw, 116px); line-height: .94; }
.manifesto-copy { max-width: 460px; }
.manifesto-copy p:first-child { color: #4d5551; font-size: clamp(20px, 2vw, 28px); }

.material-story { min-height: 108svh; }
.material-image-main { width: 54%; }
.material-image-main img { filter: saturate(.86) contrast(1.02); }
.material-copy { top: 15%; width: min(470px, 34vw); }
.material-copy h2 { max-width: 460px; font-size: clamp(58px, 6.4vw, 100px); line-height: .93; }
.material-copy p:not(.section-label) { max-width: 390px; color: #4e5652; }
.material-detail { width: min(27vw, 390px); height: 39%; border-color: rgba(32,35,33,.18); }
.material-detail img { filter: saturate(.78) contrast(1.03); }

.wear { padding-top: clamp(110px, 11vw, 165px); }
.wear-heading { margin-bottom: clamp(70px, 8vw, 112px); }
.wear-heading h2 { font-size: clamp(90px, 12vw, 176px); line-height: .84; }
.wear-heading > p:last-child { max-width: 260px; color: #626966; }
.look-cinema { grid-template-columns: 1.08fr .84fr 1.08fr; gap: clamp(18px, 2.8vw, 42px); }
.look-wide { margin-top: clamp(100px, 13vw, 190px); }
.look img { filter: saturate(.86) contrast(1.015); }
.look:hover img { filter: saturate(1) contrast(1.02); }
.look footer { color: #555d59; border-color: rgba(32,35,33,.2); }
.archive-link { font-family: "Bodoni Moda", Georgia, serif; font-size: clamp(25px, 2.8vw, 40px); }

.source-note { min-height: 82svh; grid-template-columns: 1fr 1fr; }
.source-word { font-size: clamp(170px, 25vw, 380px); }
.source-copy { max-width: 620px; }
.source-copy h2 { max-width: 560px; font-size: clamp(54px, 5.7vw, 88px); line-height: .95; }
.source-copy p { max-width: 520px; }

.house { padding-top: clamp(110px, 11vw, 165px); padding-bottom: clamp(110px, 11vw, 165px); }
.house header { grid-template-columns: .55fr 1.45fr; margin-bottom: 76px; }
.house h2 { max-width: 960px; font-size: clamp(54px, 6.6vw, 100px); line-height: .95; }
.house-list > * { min-height: 104px; }
.house-list span { font-family: "Bodoni Moda", Georgia, serif; font-size: clamp(32px, 4vw, 58px); font-weight: 400; }
.house-list b { color: #555d59; }

.trade { min-height: 80svh; }
.trade-copy h2 { max-width: 650px; font-size: clamp(58px, 6.2vw, 94px); line-height: .94; }
.trade-copy > p:not(.section-label) { max-width: 430px; color: #515854; }
.site-footer { min-height: 180px; }
.footer-mark { font-family: "Bodoni Moda", Georgia, serif; font-size: 32px; font-weight: 400; }

@media (max-width: 860px) {
  .manifesto { gap: 42px; padding-top: 92px; padding-bottom: 92px; }
  .manifesto h2 { font-size: clamp(52px, 15vw, 74px); }
  .material-story { min-height: 1040px; }
  .material-copy { top: auto; right: var(--gutter); bottom: 64px; left: var(--gutter); width: auto; }
  .material-copy h2 { font-size: clamp(52px, 14vw, 74px); }
  .material-copy p:not(.section-label) { max-width: 350px; }
  .look-cinema { grid-template-columns: 1fr; gap: 58px; }
  .look-wide { margin-top: 0; }
  .source-note { min-height: auto; grid-template-columns: 1fr; }
  .source-word { min-height: 230px; font-size: 150px; }
  .source-copy h2 { font-size: clamp(50px, 13.5vw, 70px); }
  .house header { grid-template-columns: 1fr; margin-bottom: 48px; }
  .house h2 { font-size: clamp(50px, 13vw, 68px); }
  .house-list > * { padding-right: 8px; padding-left: 8px; }
  .trade-copy h2 { font-size: clamp(50px, 13vw, 70px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}

.admin-bar .site-header { top: 32px; }

@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}

/* Thread concept: daylight silver, porcelain, and cinnabar. */
:root {
  --ink: #202321;
  --ink-soft: #343937;
  --paper: #f1f2ef;
  --paper-deep: #e2e5e2;
  --silver: #b7bfbc;
  --smoke: #767d79;
  --red: #a92b2e;
  --line-light: rgba(32, 35, 33, .18);
  --line-dark: rgba(32, 35, 33, .18);
}

body { background: var(--paper); }
body::after { opacity: .022; }
.site-header { color: var(--ink); }
.site-header.is-scrolled { background: rgba(241, 242, 239, .94); }
.motion-button, .menu-button { background: rgba(241, 242, 239, .3); }

.hero { min-height: calc(100svh - 42px); color: var(--ink); background: #e7e9e6; }
.film-stage { inset: 0 0 14vh 44vw; background: #d8c5aa; overflow: hidden; }
.film-stage::before { display: none; }
.hero-portrait { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; transform-origin: center bottom; animation: portrait-breathe 9s ease-in-out infinite alternate; }
.hero-shade { background: linear-gradient(90deg, rgba(231, 233, 230, 1) 0%, rgba(231, 233, 230, .98) 31%, rgba(231, 233, 230, .58) 46%, rgba(231, 233, 230, .04) 68%); }
.thread-field { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; pointer-events: none; }
.hero-copy { z-index: 3; bottom: clamp(180px, 26vh, 270px); width: min(720px, 53vw); }
.hero-origin { margin-bottom: 22px; color: #626966; }
.hero-copy h1 { font-family: "Bodoni Moda", Georgia, serif; font-size: clamp(92px, 12vw, 188px); font-weight: 400; line-height: .82; color: #303432; }
.hero-line { max-width: 560px; margin: 26px 0 34px; color: #4b514e; }
.text-action { border-color: var(--ink); }
.thread-detail { position: absolute; right: 0; bottom: 0; left: 0; z-index: 4; height: 14vh; min-height: 116px; display: grid; grid-template-columns: minmax(280px, 36vw) 1fr; overflow: hidden; color: var(--ink); background: #dfe2df; border-top: 1px solid rgba(32,35,33,.22); clip-path: polygon(0 18%, 35% 0, 100% 16%, 100% 100%, 0 100%); }
.thread-detail img { width: 100%; height: 140%; object-fit: cover; object-position: center 38%; filter: saturate(.86) contrast(1.02); }
.thread-detail div { align-self: center; display: flex; align-items: center; gap: 30px; padding: 18px 5vw 0; }
.thread-detail span { color: var(--red); font-family: SimSun, "Songti SC", serif; font-size: 26px; }
.thread-detail p { margin: 0; color: #565d59; font-size: 12px; line-height: 1.55; }
.chapter-bar { color: var(--paper); background: #68716d; }
.chapter-bar i { background: rgba(241,242,239,.36); }

.material-story { color: var(--ink); background: #dce1de; }
.material-copy p:not(.section-label) { color: #4e5652; }
.material-copy a { border-color: var(--ink); }
.material-detail { border-color: rgba(32,35,33,.24); }
.source-note { background: var(--red); }
.trade-shade { background: linear-gradient(0deg, rgba(32,35,33,.86) 0%, rgba(32,35,33,.18) 64%, rgba(32,35,33,.06) 100%); }
.site-footer { background: #252a27; }

@keyframes portrait-breathe {
  from { transform: translate3d(-2px, 0, 0); }
  to { transform: translate3d(3px, 0, 0); }
}

@media (max-width: 860px) {
  .site-header { color: var(--ink); }
  .mobile-menu { color: var(--paper); background: rgba(37, 42, 39, .98); }
  .hero { min-height: calc(100svh - 38px); }
  .film-stage { inset: 220px 0 104px 42%; background: #d8c5aa; }
  .hero-portrait { object-fit: contain; object-position: center bottom; transform: none; animation-name: portrait-breathe-mobile; }
  .hero-shade { background: linear-gradient(90deg, rgba(231,233,230,.98) 0%, rgba(231,233,230,.86) 28%, rgba(231,233,230,.16) 66%, rgba(231,233,230,0) 100%), linear-gradient(0deg, rgba(231,233,230,.82) 0%, transparent 32%); }
  .hero-copy { inset: 88px var(--gutter) 104px; width: auto; pointer-events: none; }
  .hero-copy > * { pointer-events: auto; }
  .hero-origin { position: static; max-width: 250px; margin: 0 0 10px; font-size: 8px; }
  .hero-copy h1 { position: static; margin: 0; font-size: clamp(62px, 20vw, 86px); }
  .hero-line { position: static; max-width: 240px; margin: 14px 0 0; font-size: 14px; line-height: 1.45; }
  .text-action { position: absolute; z-index: 5; bottom: 22px; left: 0; min-height: 42px; }
  .thread-detail { height: 104px; min-height: 104px; grid-template-columns: 42% 58%; clip-path: polygon(0 13%, 45% 0, 100% 12%, 100% 100%, 0 100%); }
  .thread-detail div { gap: 12px; padding: 15px 14px 0; }
  .thread-detail span { font-size: 20px; }
  .thread-detail p { font-size: 9px; }
  .material-story::after { background: linear-gradient(0deg, #dce1de 38%, transparent 100%); }
  .material-copy { color: var(--ink); }
}

@keyframes portrait-breathe-mobile {
  from { transform: translate3d(-1px, 0, 0); }
  to { transform: translate3d(2px, 0, 0); }
}

html[data-motion="reduced"] .hero-portrait { animation-play-state: paused; }

/* Full-page daylight palette. */
.film-stage { inset: 0 1.5vw 14vh 47vw; background: transparent; }
.hero-portrait { filter: drop-shadow(0 28px 28px rgba(58, 65, 61, .16)); }
.hero-shade { background: linear-gradient(90deg, rgba(231, 233, 230, 1) 0%, rgba(231, 233, 230, .98) 35%, rgba(231, 233, 230, .56) 52%, rgba(231, 233, 230, 0) 73%); }
.thread-detail { background: #e0e4e1; }
.thread-detail img { object-fit: cover; object-position: center 34%; filter: saturate(.92) contrast(1.02); }

.manifesto { background: #f1f2ef; border-top: 1px solid rgba(32, 35, 33, .14); }
.material-story { background: #e3e7e4; }
.material-copy .section-label, .wear-heading .section-label, .house .section-label { color: var(--red); }
.wear { background: #f4f4f1; }
.look img { background: #e0e4e1; }

.source-note { color: var(--ink); background: #e0e4e1; border-top: 1px solid rgba(32,35,33,.16); border-bottom: 1px solid rgba(32,35,33,.16); }
.source-word { color: rgba(169, 43, 46, .14); border-color: rgba(32,35,33,.16); }
.source-copy .section-label { color: var(--red); }
.source-copy p { color: #4e5652; }
.source-copy a { color: var(--ink); }

.house { background: #f1f2ef; }
.house-list > * { padding-right: 18px; padding-left: 18px; transition: color .25s ease, background-color .25s ease; }
.house-list > *:hover { color: #7f2024; background: #e3e6e3; }

.trade { color: var(--ink); background: #dfe3e0; }
.trade-image { right: 0; left: auto; width: 52%; }
.trade-image img { object-position: center 18%; }
.trade-shade { background: linear-gradient(90deg, rgba(223,227,224,1) 0%, rgba(223,227,224,1) 43%, rgba(223,227,224,.7) 55%, rgba(223,227,224,.04) 76%); }
.trade-copy { width: min(690px, 48vw); }
.trade-copy .section-label { color: var(--red); }
.button-light { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.button-line { color: var(--ink); background: transparent; border-color: var(--ink); }
.site-footer { color: var(--paper); background: #68716d; border-top-color: rgba(241,242,239,.25); }

@media (max-width: 860px) {
  .film-stage { inset: 220px 0 104px 42%; background: transparent; }
  .hero-shade { background: linear-gradient(90deg, rgba(231,233,230,.98) 0%, rgba(231,233,230,.88) 35%, rgba(231,233,230,.2) 72%, rgba(231,233,230,0) 100%), linear-gradient(0deg, rgba(231,233,230,.8) 0%, transparent 30%); }
  .source-word { border-color: rgba(32,35,33,.16); }
  .trade { min-height: 900px; align-items: end; }
  .trade-image { top: 0; right: 0; left: 0; width: 100%; height: 60%; }
  .trade-image img { object-position: center top; }
  .trade-shade { background: linear-gradient(0deg, rgba(223,227,224,1) 0%, rgba(223,227,224,1) 34%, rgba(223,227,224,.66) 53%, rgba(223,227,224,.04) 78%); }
  .trade-copy { width: 100%; padding: 70px var(--gutter); }
}

/* Brand lockup and unified silver-stage imagery. */
.brand-lockup {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: inherit;
}

.brand-lockup img {
  width: 30px;
  height: 28px;
  object-fit: contain;
  filter: brightness(0) saturate(100%);
}

.brand-lockup span {
  font-family: "Archivo Black", Arial, sans-serif;
  font-size: 17px;
  line-height: 1;
}

.hero { min-height: calc(100svh - 42px); }
.film-stage { inset: 58px 1.5vw 0 47vw; }
.hero-copy { bottom: clamp(68px, 9vh, 112px); }
.hero-glyph {
  display: block;
  width: 62px;
  height: 52px;
  margin: 0 0 18px;
  object-fit: contain;
  filter: brightness(0) saturate(100%);
  opacity: .88;
}
.hero-origin { margin-bottom: 16px; }
.hero-copy h1 { font-size: clamp(92px, 11.4vw, 178px); }
.hero-line { margin-top: 24px; }

.material-story {
  min-height: 100svh;
  background: #e3e7e4;
}
.material-image-main {
  width: 58%;
  display: flex;
  align-items: end;
  justify-content: center;
  padding: clamp(70px, 8vw, 120px) 3vw 0;
  background: #dde2df;
  border-right: 1px solid rgba(32, 35, 33, .13);
}
.material-image-main::before,
.look::before,
.trade-image::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(32, 35, 33, .055) 1px, transparent 1px);
  background-size: 100% 18%;
}
.material-image-main img {
  position: relative;
  z-index: 1;
  width: 94%;
  height: 96%;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 28px 28px rgba(56, 63, 59, .14));
}
.material-copy { top: 17%; }

.look {
  position: relative;
  overflow: hidden;
  background: #e3e7e4;
}
.look img,
.look-wide img {
  position: relative;
  z-index: 1;
  display: block;
  height: min(70vw, 760px);
  padding: clamp(22px, 3vw, 46px) clamp(12px, 2vw, 28px) 0;
  object-fit: contain;
  object-position: center bottom;
  background: transparent;
  filter: drop-shadow(0 22px 20px rgba(56, 63, 59, .13));
}
.look:hover img {
  filter: drop-shadow(0 26px 22px rgba(56, 63, 59, .17));
  transform: translateY(-5px);
}
.look footer {
  position: relative;
  z-index: 2;
  padding: 12px 12px 14px;
  background: #f4f4f1;
}

.trade-image {
  width: 52%;
  display: flex;
  align-items: end;
  justify-content: center;
  padding: 70px 3vw 0;
  background: #d9dfdc;
  border-left: 1px solid rgba(32, 35, 33, .13);
}
.trade-image img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 24px 24px rgba(56, 63, 59, .15));
}
.trade-shade { background: linear-gradient(90deg, #dfe3e0 0%, #dfe3e0 45%, rgba(223, 227, 224, .76) 55%, rgba(223, 227, 224, 0) 75%); }

.site-footer .brand-lockup img { filter: brightness(0) invert(1); opacity: .9; }
.site-footer .brand-lockup span { font-size: 18px; }

@media (max-width: 860px) {
  .brand-lockup { gap: 8px; }
  .brand-lockup img { width: 26px; height: 24px; }
  .brand-lockup span { font-size: 15px; }

  .film-stage { inset: 188px -9vw 0 30vw; }
  .hero-copy { inset: 84px var(--gutter) 42px; }
  .hero-glyph { width: 42px; height: 36px; margin-bottom: 10px; }
  .hero-origin { max-width: 245px; margin-bottom: 8px; }
  .hero-copy h1 { font-size: clamp(58px, 18vw, 80px); }
  .hero-line { max-width: 230px; margin-top: 12px; }
  .text-action { bottom: 0; }

  .material-story { min-height: 1120px; }
  .material-image-main {
    top: 0;
    width: 100%;
    height: 46%;
    padding: 64px 3vw 0;
    border-right: 0;
    border-bottom: 1px solid rgba(32, 35, 33, .13);
  }
  .material-image-main img { width: 100%; height: 100%; }
  .material-copy { top: auto; bottom: 62px; }
  .material-story::after {
    inset: 46% 0 0;
    background: #e3e7e4;
    border-top: 1px solid rgba(32, 35, 33, .1);
  }

  .look img,
  .look-wide img {
    height: min(138vw, 650px);
    padding: 26px 12px 0;
  }

  .trade { min-height: 880px; }
  .trade-image {
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 58%;
    padding: 52px 3vw 0;
    border-left: 0;
    border-bottom: 1px solid rgba(32, 35, 33, .13);
  }
  .trade-image img { object-position: center bottom; }
  .trade-shade { background: linear-gradient(0deg, #dfe3e0 0%, #dfe3e0 39%, rgba(223, 227, 224, .86) 49%, rgba(223, 227, 224, 0) 72%); }
}

/* Clear brand-to-commerce path. */
.shop-button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 15px;
  color: #f2f3f0;
  background: var(--red);
  border: 1px solid var(--red);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}
.shop-button b { font-size: 13px; font-weight: 400; transition: transform .25s ease; }
.shop-button:hover b { transform: translate(3px, -3px); }
.mobile-shop-link { font-weight: 600; }
.mobile-shop-link span { margin-left: auto; }

.hero-actions { display: flex; align-items: center; gap: 18px; }
.hero-shop, .hero-story { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 24px; font-size: 12px; }
.hero-shop { padding: 0 18px; color: #f2f3f0; background: var(--ink); border: 1px solid var(--ink); }
.hero-story { min-height: 44px; padding: 0 0 7px; border-bottom: 1px solid var(--ink); }
.hero-shop span, .hero-story span { transition: transform .25s ease; }
.hero-shop:hover span, .hero-story:hover span { transform: translateX(5px); }

.shopping-bridge {
  min-height: 74px;
  display: grid;
  grid-template-columns: .75fr 1.25fr 1fr 1fr;
  align-items: stretch;
  padding: 0 var(--gutter);
  color: var(--ink);
  background: #f1f2ef;
  border-bottom: 1px solid rgba(32, 35, 33, .16);
}
.shopping-bridge > span, .shopping-bridge a { display: flex; align-items: center; padding: 0 22px; border-right: 1px solid rgba(32, 35, 33, .12); }
.shopping-bridge > span { padding-left: 0; color: var(--red); font-size: 9px; text-transform: uppercase; }
.shopping-bridge a { justify-content: space-between; font-size: 12px; }
.shopping-bridge a:last-child { border-right: 0; }
.shopping-bridge b { font-size: 14px; font-weight: 400; transition: transform .25s ease; }
.shopping-bridge a:hover b { transform: translateX(5px); }

@media (max-width: 860px) {
  .shop-button { min-width: 64px; padding: 0 10px; }
  .shop-button b { display: none; }
  .mobile-shop-link { margin: 0 calc(var(--gutter) * -1); padding: 0 var(--gutter); background: var(--red); border-bottom-color: var(--red) !important; }
  .hero-actions { position: absolute; z-index: 5; right: 0; bottom: 0; left: 0; gap: 14px; }
  .hero-shop { min-height: 46px; padding: 0 13px; gap: 12px; }
  .hero-story { min-height: 44px; gap: 12px; }
  .shopping-bridge { min-height: 0; grid-template-columns: 1fr 1fr; padding: 0 var(--gutter); }
  .shopping-bridge > span { display: none; }
  .shopping-bridge a { min-height: 50px; padding: 0 12px; font-size: 10px; border-bottom: 1px solid rgba(32, 35, 33, .12); }
  .shopping-bridge a:first-of-type { grid-column: 1 / -1; padding: 0; color: var(--red); font-size: 12px; border-right: 0; }
  .shopping-bridge a:nth-of-type(2) { padding-left: 0; }
  .shopping-bridge a:last-child { padding-right: 0; }
}
