/* Foundation */
:root {
  --ink: #181817;
  --paper: #faf9f6;
  --white: #fff;
  --soft: #f2f1ed;
  --line: #dfded8;
  --muted: #77756e;
  --serif: Georgia,'Times New Roman',serif;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial,Helvetica,sans-serif;
  -webkit-font-smoothing: antialiased;
}
a {
  color: inherit;
  text-decoration: none;
}
button,input,select {
  font: inherit;
  color: inherit;
}
button {
  cursor: pointer;
  border: 0;
  background: none;
}
button,a,input,select {
  -webkit-tap-highlight-color: transparent;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline: 2px solid #80725d;
  outline-offset: 4px;
}
button:disabled {
  cursor: not-allowed;
  opacity: .4;
}
img {
  display: block;
  max-width: 100%;
}
[hidden] {
  display: none !important;
}
h1,h2,h3,p {
  margin-top: 0;
}
.skip-link {
  position: fixed;
  top: -80px;
  left: 15px;
  padding: 15px;
  background: var(--ink);
  color: #fff;
  z-index: 100;
}
.skip-link:focus {
  top: 10px;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.announcement {
  height: 28px;
  background: #1b1b1a;
  color: #e4e2db;
  display: grid;
  place-items: center;
  font-size: 8px;
  letter-spacing: 2px;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 15;
  background: #faf9f6f7;
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
.header-inner {
  height: 94px;
  margin: 0 4%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 35px;
}
.header-inner nav {
  display: flex;
  gap: 26px;
  align-items: center;
  font-size: 11px;
}
.header-inner nav a {
  padding: 8px 0;
  border-bottom: 1px solid transparent;
}
.header-inner nav a:hover,.header-inner nav a[aria-current] {
  border-bottom-color: var(--ink);
}
.wordmark {
  font-size: 35px;
  letter-spacing: -2px;
  font-weight: 900;
  white-space: nowrap;
  line-height: 1;
}
.wordmark span {
  font-size: 8px;
  vertical-align: top;
  margin: 3px 0 0 5px;
  display: inline-block;
  letter-spacing: 0;
}
.header-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 27px;
  font-size: 11px;
}
.header-actions button {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 8px 0;
  font-size: 11px;
}
.header-actions svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.25;
}
.wishlist-link {
  display: flex;
  align-items: center;
  gap: 8px;
}
.wishlist-link>span {
  font-size: 8px;
  border: 1px solid var(--line);
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
}
.menu-button {
  display: none;
}
.eyebrow {
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 2px;
  line-height: 1.5;
  margin-bottom: 22px;
}
.button {
  min-height: 47px;
  padding: 15px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
  font-size: 10px;
  letter-spacing: .3px;
  transition: background .2s,color .2s;
  border: 1px solid transparent;
}
.button.dark {
  background: var(--ink);
  color: white;
}
.button.dark:hover {
  background: #45453e;
}
.button.light {
  background: var(--paper);
  color: var(--ink);
}
.button.light:hover {
  background: #d5d2c8;
}
.button.outline {
  border-color: #bbb8ad;
}
.button.outline:hover {
  background: var(--ink);
  color: white;
}
.button.full {
  width: 100%;
}
.underlined {
  display: inline-block;
  font-size: 10px;
  padding: 0 0 7px;
  border-bottom: 1px solid #918d81;
  line-height: 1.5;
}
.underlined:hover {
  border-color: var(--ink);
}
.home-hero {
  display: grid;
  grid-template-columns: 43% 57%;
  min-height: 680px;
  border-bottom: 1px solid var(--line);
}
.hero-copy {
  padding: 75px 11% 25px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
}
.hero-copy h1 {
  font-family: var(--serif);
  font-size: clamp(66px,6.8vw,108px);
  font-weight: 400;
  letter-spacing: -5px;
  line-height: .98;
  margin: 0 0 28px;
}
.hero-copy h1 em {
  font-weight: 400;
}
.hero-description {
  font-size: 12px;
  line-height: 1.9;
  color: #626159;
  margin-bottom: 30px;
}
.hero-footnote {
  margin-top: 70px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  width: 100%;
  font-size: 7px;
  letter-spacing: 1.3px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.hero-image {
  background: #f3f3f0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 30px 36px 70px;
  min-width: 0;
}
.hero-image>img {
  width: 100%;
  max-height: 630px;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform 1s;
}
.hero-image:hover>img {
  transform: scale(1.025);
}
.hero-product-label {
  position: absolute;
  left: 35px;
  right: 35px;
  bottom: 23px;
  display: flex;
  justify-content: space-between;
  align-items: end;
  font-size: 9px;
  letter-spacing: .4px;
}
.hero-product-label small {
  font-size: 8px;
  display: block;
  color: var(--muted);
  margin-top: 4px;
  letter-spacing: 0;
}
.section {
  padding: 80px 4%;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 30px;
  margin-bottom: 32px;
}
.section-heading .eyebrow {
  margin-bottom: 12px;
}
.section-heading h2 {
  font-family: var(--serif);
  font-size: 39px;
  font-weight: 400;
  letter-spacing: -1.2px;
  line-height: 1.1;
  margin: 0;
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 40px 18px;
}
.product-card {
  min-width: 0;
}
.product-image {
  aspect-ratio: .80;
  display: block;
  background: #f0f0ec;
  overflow: hidden;
  position: relative;
}
.product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
  padding: 12px;
  transition: transform .6s;
}
.product-image:hover img {
  transform: scale(1.045);
}
.image-link {
  position: absolute;
  bottom: 13px;
  right: 14px;
  font-size: 9px;
  opacity: 0;
  transition: opacity .2s;
}
.product-image:hover .image-link {
  opacity: 1;
}
.card-info {
  padding-top: 14px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}
.card-info h3 {
  font-size: 11px;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 5px;
}
.card-info p {
  font-size: 9px;
  color: var(--muted);
  margin: 0;
  line-height: 1.5;
}
.wish {
  font-size: 20px;
  padding: 0 2px;
  line-height: 1;
  flex-shrink: 0;
}
.wish[aria-pressed=true] {
  font-size: 16px;
}
.identity-statement {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  padding: 70px 9%;
  gap: 0 9%;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #efeee9;
}
.identity-statement>.eyebrow {
  grid-column: 1/-1;
  margin-bottom: 29px;
}
.identity-statement h2 {
  font-family: var(--serif);
  font-size: clamp(38px,4vw,62px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -2px;
  margin: 0;
}
.identity-statement>div {
  max-width: 395px;
}
.identity-statement p:not(.eyebrow) {
  font-size: 12px;
  line-height: 1.9;
  color: #646259;
}
.identity-statement .underlined {
  margin-top: 12px;
}
.category-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  padding: 75px 4%;
}
.category-photo {
  height: 530px;
  overflow: hidden;
  background: #f0f0ec;
}
.category-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 25px;
  mix-blend-mode: multiply;
  transition: transform .8s;
}
.category-tile:hover img {
  transform: scale(1.025);
}
.category-tile>div:last-child {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 25px 5px 0;
}
.category-tile small {
  font-size: 8px;
  letter-spacing: 1.6px;
}
.category-tile h2 {
  font-family: var(--serif);
  font-size: 40px;
  font-weight: 400;
  letter-spacing: -1px;
  margin: 12px 0 0;
}
.circle-arrow {
  font-size: 19px;
  width: 42px;
  height: 42px;
  border: 1px solid #c0bdb3;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.cut-invitation {
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 7%;
  align-items: center;
  padding-top: 70px;
  padding-bottom: 70px;
}
.cut-invitation>div:first-child {
  padding-left: 7%;
}
.cut-invitation h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: -1.2px;
}
.cut-invitation p:not(.eyebrow) {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
  max-width: 350px;
  margin-bottom: 27px;
}
.cut-preview {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.cut-preview img {
  aspect-ratio: .75;
  object-fit: contain;
  background: var(--soft);
  mix-blend-mode: multiply;
  padding: 12px;
}
.cut-preview span {
  display: block;
  text-align: center;
  font-size: 10px;
  margin: 15px 0;
}
.closing-statement {
  padding: 85px 5%;
  background: #20211e;
  color: #f3f0e8;
  text-align: center;
}
.closing-statement h2 {
  font-family: var(--serif);
  font-size: clamp(42px,5vw,74px);
  font-weight: 400;
  letter-spacing: -2.5px;
  line-height: 1.04;
  margin: 28px 0;
}
.closing-statement p:not(.eyebrow) {
  font-size: 12px;
  line-height: 1.8;
  color: #b7b8ae;
  margin-bottom: 30px;
}
.footer {
  padding: 65px 4% 20px;
  background: #eae8e1;
}
.footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 35px;
  padding-bottom: 65px;
}
.footer h2 {
  font-family: var(--serif);
  font-size: 38px;
  font-weight: 400;
  letter-spacing: -1px;
  line-height: 1.08;
  margin-bottom: 20px;
}
.footer p:not(.eyebrow) {
  font-size: 10px;
  line-height: 1.8;
  color: #706c62;
}
.footer h3 {
  font-size: 9px;
  letter-spacing: 1px;
  font-weight: 400;
  margin: 3px 0 22px;
}
.footer-top>div:not(:first-child)>a {
  display: block;
  font-size: 10px;
  margin-bottom: 14px;
  color: #625f56;
}
.footer-word {
  font-size: clamp(60px,17.5vw,280px);
  font-weight: 900;
  letter-spacing: -.07em;
  line-height: .85;
  text-align: center;
  white-space: nowrap;
  padding-bottom: 35px;
}
.footer-bottom {
  border-top: 1px solid #cac7bd;
  padding-top: 19px;
  display: flex;
  justify-content: space-between;
  gap: 15px;
  font-size: 7px;
  letter-spacing: 1px;
}
.breadcrumb {
  font-size: 9px;
  line-height: 1.7;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.breadcrumb a:hover {
  color: var(--ink);
}
.collection-intro {
  padding: 23px 4% 42px;
}
.collection-intro>div {
  margin-top: 55px;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 30px;
}
.collection-intro h1 {
  font-family: var(--serif);
  font-size: 60px;
  font-weight: 400;
  letter-spacing: -2.5px;
  margin: 0;
  line-height: 1;
}
.collection-intro>div>p {
  font-size: 11px;
  color: var(--muted);
  margin: 0 0 4px;
}
.collection-content {
  padding: 0 4% 85px;
}
.collection-bar {
  display: flex;
  align-items: center;
  gap: 35px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  min-height: 60px;
  font-size: 10px;
}
.collection-content[data-series] .product-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 480px));
  justify-content: center;
}
.collection-tabs {
  display: flex;
  gap: 25px;
  flex: 1;
}
.collection-tabs a {
  padding: 21px 0;
  border-bottom: 1px solid transparent;
  margin-bottom: -1px;
}
.collection-tabs a[aria-current] {
  border-color: var(--ink);
}
#resultCount {
  font-size: 9px;
  color: var(--muted);
}
.sort-label {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 9px;
}
.sort-label select {
  border: 0;
  background: transparent;
  padding: 8px 15px 8px 0;
  font-size: 10px;
  max-width: 150px;
}
.collection-search {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 0 29px;
  gap: 30px;
}
.collection-search label {
  display: flex;
  align-items: center;
  gap: 16px;
}
.collection-search label span {
  font-size: 9px;
  color: var(--muted);
}
.collection-search input {
  font-size: 10px;
  border: 0;
  border-bottom: 1px solid #bdbbb3;
  background: none;
  padding: 8px 0;
  width: 180px;
  border-radius: 0;
}
.collection-note {
  text-align: center;
  padding: 75px 5%;
  border-top: 1px solid var(--line);
  background: #f0eee8;
}
.collection-note h2 {
  font-family: var(--serif);
  font-size: 48px;
  font-weight: 400;
  letter-spacing: -1.5px;
  line-height: 1.08;
  margin-bottom: 20px;
}
.collection-note>p:last-child {
  font-size: 11px;
  color: var(--muted);
}
.product-breadcrumb {
  padding: 25px 4%;
  margin: 0;
}
.product-page {
  padding: 0 4% 80px;
  display: grid;
  grid-template-columns: 1.45fr 1fr;
  gap: 7%;
  align-items: start;
}
.product-gallery {
  min-width: 0;
}
.main-product-photo {
  position: relative;
  background: #f1f1ed;
  width: 100%;
  display: block;
  padding: 35px 25px;
  min-height: 500px;
  aspect-ratio: .95;
  overflow: hidden;
}
.main-product-photo>img {
  width: 100%;
  height: 100%;
  max-height: 730px;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform .4s;
}
.main-product-photo.detail>img {
  transform: scale(1.8);
}
.main-product-photo>span {
  position: absolute;
  right: 18px;
  bottom: 17px;
  font-size: 9px;
}
.image-caption {
  font-size: 9px;
  color: var(--muted);
  line-height: 1.6;
  margin: 12px 0 17px;
}
.gallery-thumbnails {
  display: flex;
  gap: 9px;
}
.gallery-thumbnails>button {
  padding: 0;
  width: 70px;
  height: 84px;
  border: 1px solid transparent;
  overflow: hidden;
  background: var(--soft);
}
.gallery-thumbnails>button.active {
  border-color: var(--ink);
}
.gallery-thumbnails img {
  height: 100%;
  width: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.gallery-thumbnails>button:nth-child(2) img {
  transform: scale(2);
}
.product-details {
  padding: 18px 0 0;
  max-width: 450px;
  width: 100%;
}
.product-details .eyebrow {
  margin-bottom: 19px;
}
.product-details h1 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 39px;
  line-height: 1.05;
  letter-spacing: -1.1px;
  margin-bottom: 20px;
}
.product-intro {
  font-size: 12px;
  line-height: 1.85;
  color: #6f6d64;
  margin-bottom: 27px;
}
.product-section {
  margin-bottom: 24px;
}
.field-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  font-size: 10px;
  margin-bottom: 12px;
}
.field-heading a {
  font-size: 9px;
  color: var(--muted);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.field-heading>span:last-child:not(:first-child) {
  font-size: 9px;
  color: var(--muted);
}
#cutSelect {
  width: 100%;
  padding: 13px 15px;
  border: 1px solid #c6c3b9;
  border-radius: 0;
  background: transparent;
  font-size: 11px;
}
#cutDescription {
  font-size: 10px;
  line-height: 1.8;
  color: var(--muted);
  margin: 13px 0 0;
}
.swatches {
  display: flex;
  gap: 13px;
  padding: 4px;
}
.swatch {
  width: 23px;
  height: 23px;
  border: 1px solid #0002;
  border-radius: 50%;
  position: relative;
}
.swatch.active:after {
  content: '';
  position: absolute;
  inset: -5px;
  border: 1px solid var(--ink);
  border-radius: 50%;
}
.sizes {
  display: flex;
  gap: 6px;
}
.sizes button {
  font-size: 10px;
  border: 1px solid var(--line);
  height: 38px;
  flex: 1;
  padding: 0 4px;
}
.sizes button.active {
  background: var(--ink);
  color: white;
  border-color: var(--ink);
}
.launch-note {
  text-align: center;
  font-size: 9px;
  color: var(--muted);
  margin: 13px 0 25px;
}
.product-details details {
  border-top: 1px solid var(--line);
  font-size: 10px;
  line-height: 1.8;
  padding-bottom: 2px;
}
.product-details details:last-child {
  border-bottom: 1px solid var(--line);
}
summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  padding: 17px 0;
  cursor: pointer;
}
summary::-webkit-details-marker {
  display: none;
}
details[open] summary>span {
  transform: rotate(45deg);
}
details p,details li {
  color: var(--muted);
}
details p {
  margin-bottom: 16px;
}
details ul {
  margin: 0 0 16px;
  padding-left: 16px;
}
details .underlined {
  margin-bottom: 20px;
}
.related {
  border-top: 1px solid var(--line);
}
.page-intro {
  padding: 75px 4% 60px;
  text-align: center;
}
.page-intro h1 {
  font-family: var(--serif);
  font-size: 65px;
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: -2px;
  margin-bottom: 25px;
}
.page-intro>p:last-child {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
}
.guide-section {
  padding: 10px 4% 75px;
}
.guide-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 25px;
}
.guide-card {
  scroll-margin-top: 125px;
}
.guide-card>img {
  width: 100%;
  aspect-ratio: .75;
  object-fit: contain;
  padding: 12px;
  background: var(--soft);
  mix-blend-mode: multiply;
}
.guide-card h3 {
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 400;
  letter-spacing: -.5px;
  margin: 22px 0 11px;
}
.guide-card p {
  font-size: 10px;
  line-height: 1.9;
  color: var(--muted);
}
.guide-card .guide-short {
  color: var(--ink);
}
.guide-card ul,.hoodie-guide ul {
  font-size: 10px;
  line-height: 1.9;
  padding-left: 15px;
  color: var(--muted);
}
.hoodie-guide {
  padding: 60px 4%;
  background: #efeee9;
}
.hoodie-guide-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 35px;
}
.hoodie-reference {
  aspect-ratio: 1.15;
  position: relative;
  background: white;
  overflow: hidden;
}
.hoodie-reference img {
  position: absolute;
  max-width: none;
  width: 355%;
  height: auto;
  left: -4%;
  top: -142%;
}
.hoodie-reference.classic img {
  width: 380%;
  left: -3%;
  top: -170%;
}
.reference-label {
  font-size: 8px;
  color: var(--muted);
  margin-top: 10px;
}
.hoodie-guide article>h3 {
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 400;
  margin: 22px 0 15px;
}
.hoodie-guide article>p:not(.reference-label) {
  font-size: 11px;
  line-height: 1.9;
  color: var(--muted);
  max-width: 450px;
}
.guide-ending {
  padding: 75px 5%;
  text-align: center;
}
.guide-ending h2 {
  font-family: var(--serif);
  font-size: 48px;
  font-weight: 400;
  letter-spacing: -1.5px;
}
.guide-ending p {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
  margin-bottom: 28px;
}
.about-hero {
  text-align: center;
  padding: 85px 5%;
  background: #eceae2;
}
.about-hero h1 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(58px,7vw,105px);
  line-height: 1;
  letter-spacing: -4px;
  margin: 35px 0;
}
.about-hero>p:last-child {
  font-size: 12px;
  line-height: 1.9;
  color: #757266;
}
.about-body {
  padding: 90px 12%;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 60px;
}
.about-body h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 53px;
  line-height: 1.05;
  letter-spacing: -1.8px;
  margin-bottom: 35px;
}
.about-body p {
  font-size: 14px;
  line-height: 1.9;
  color: #706d63;
  margin-bottom: 25px;
  max-width: 540px;
}
.about-body h3 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 31px;
  line-height: 1.2;
  margin: 40px 0 30px;
}
.wishlist-section {
  padding: 0 4% 85px;
  min-height: 250px;
}
.saved-options {
  font-size: 9px;
  line-height: 1.7;
  color: var(--muted);
  margin-top: 10px;
}
.empty-state {
  text-align: center;
  padding: 70px 5%;
}
.empty-state h1,.empty-state h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 42px;
  letter-spacing: -1px;
  margin-bottom: 20px;
}
.empty-state p {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
  margin-bottom: 30px;
}
.not-found {
  min-height: 60vh;
  padding-top: 100px;
}
dialog {
  background: var(--paper);
  color: var(--ink);
  border: 0;
  padding: 26px;
  max-width: 94vw;
  max-height: 90vh;
}
dialog::backdrop {
  background: #18181780;
  backdrop-filter: blur(5px);
}
.dialog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  margin-bottom: 25px;
  gap: 20px;
}
.dialog-header button {
  font-size: 10px;
  padding: 5px;
}
.search-dialog {
  width: 780px;
}
.search-field input {
  width: 100%;
  font-family: var(--serif);
  font-size: 31px;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: none;
  padding: 10px 0 20px;
  margin-bottom: 22px;
}
.search-result {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 20px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}
.search-result img {
  width: 70px;
  height: 85px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.search-result h3 {
  font-size: 12px;
  font-weight: 400;
  margin: 0 0 7px;
}
.search-result p,.search-message {
  font-size: 10px;
  color: var(--muted);
  line-height: 1.7;
  margin: 0;
}
.image-dialog {
  width: 950px;
}
.image-dialog>img {
  max-height: 76vh;
  width: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
#toast {
  position: fixed;
  bottom: 25px;
  left: 50%;
  transform: translate(-50%,20px);
  padding: 15px 24px;
  background: var(--ink);
  color: white;
  font-size: 11px;
  z-index: 50;
  opacity: 0;
  pointer-events: none;
  transition: .25s;
  text-align: center;
  max-width: 90vw;
}
#toast.show {
  opacity: 1;
  transform: translate(-50%,0);
}
@media (min-width:1500px) {
  .home-hero {
    min-height: 760px;
  }
  .hero-image>img {
    max-height: 700px;
  }
  .section,.category-pair,.collection-content,.product-page,.guide-section,.hoodie-guide,.wishlist-section {
    padding-left: 6%;
    padding-right: 6%;
  }
  .hero-copy {
    padding-left: 14%;
  }
  .category-photo {
    height: 610px;
  }
  .product-image {
    aspect-ratio: .86;
  }
}
@media (max-width:1050px) {
  .header-inner {
    height: 83px;
    gap: 20px;
  }
  .header-inner nav {
    gap: 17px;
    font-size: 10px;
  }
  .wordmark {
    font-size: 31px;
  }
  .header-actions {
    gap: 20px;
  }
  .header-actions button>span {
    display: none;
  }
  .home-hero {
    min-height: 590px;
    grid-template-columns: 44% 56%;
  }
  .hero-copy {
    padding: 55px 10% 25px;
  }
  .hero-copy h1 {
    font-size: 72px;
    letter-spacing: -3.5px;
  }
  .hero-description {
    font-size: 11px;
  }
  .hero-footnote {
    margin-top: 45px;
    font-size: 6px;
  }
  .hero-image {
    padding: 20px 15px 70px;
  }
  .hero-product-label {
    left: 20px;
    right: 20px;
    font-size: 8px;
  }
  .category-photo {
    height: 420px;
  }
  .cut-invitation {
    gap: 5%;
    grid-template-columns: 1fr 1fr;
  }
  .cut-invitation h2 {
    font-size: 34px;
  }
  .product-page {
    gap: 5%;
    grid-template-columns: 1.2fr 1fr;
  }
  .product-details h1 {
    font-size: 34px;
  }
  .main-product-photo {
    min-height: 450px;
    padding: 15px;
  }
  .guide-grid {
    gap: 18px;
  }
  .guide-card h3 {
    font-size: 21px;
  }
  .identity-statement {
    padding: 60px 6%;
    gap: 0 7%;
  }
}
@media (max-width:760px) {
  html {
    scroll-padding-top: 90px;
  }
  .announcement {
    height: 24px;
    font-size: 7px;
    letter-spacing: 1.6px;
  }
  .header-inner {
    height: 70px;
    margin: 0 5%;
    gap: 15px;
    grid-template-columns: 1fr auto 1fr;
  }
  .wordmark {
    font-size: 28px;
    letter-spacing: -1.7px;
  }
  .wordmark span {
    font-size: 6px;
  }
  .menu-button {
    display: flex;
    gap: 7px;
    font-size: 10px;
    padding: 10px 0;
    justify-self: start;
  }
  .menu-button span {
    font-size: 13px;
  }
  .header-inner nav {
    display: none;
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
    padding: 25px 5%;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    font-size: 18px;
    gap: 15px;
    flex-direction: column;
    align-items: start;
  }
  .header-inner nav.open {
    display: flex;
  }
  .header-actions {
    gap: 16px;
    font-size: 9px;
  }
  .header-actions svg {
    width: 15px;
    height: 15px;
  }
  .wishlist-link {
    gap: 4px;
    font-size: 0;
  }
  .wishlist-link:before {
    content: '♡';
    font-size: 21px;
  }
  .wishlist-link>span {
    border: 0;
    width: auto;
    height: auto;
    font-size: 8px;
  }
  .home-hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .hero-copy {
    padding: 43px 6% 32px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 0 15px;
  }
  .hero-copy>.eyebrow {
    grid-column: 1/-1;
    font-size: 8px;
    margin-bottom: 21px;
  }
  .hero-copy h1 {
    font-size: 64px;
    line-height: .98;
    letter-spacing: -3px;
    margin: 0 0 23px;
    grid-column: 1/-1;
  }
  .hero-description {
    font-size: 10px;
    line-height: 1.8;
    margin-bottom: 0;
    grid-column: 1/-1;
  }
  .hero-copy>.button {
    grid-column: 1/-1;
    justify-self: start;
    margin-top: 22px;
    gap: 65px;
  }
  .hero-footnote {
    display: none;
  }
  .hero-image {
    height: auto;
    aspect-ratio: 1;
    min-height: 340px;
    padding: 15px 35px 57px;
  }
  .hero-image>img {
    height: 100%;
    max-height: none;
  }
  .hero-product-label {
    font-size: 8px;
    left: 23px;
    right: 23px;
    bottom: 18px;
  }
  .hero-product-label small {
    font-size: 7px;
  }
  .section {
    padding: 47px 5%;
  }
  .section-heading {
    gap: 20px;
    margin-bottom: 24px;
  }
  .section-heading h2 {
    font-size: 29px;
    letter-spacing: -.8px;
  }
  .section-heading .eyebrow {
    font-size: 7px;
    letter-spacing: 1.4px;
    margin-bottom: 10px;
  }
  .section-heading>.underlined {
    font-size: 8px;
    white-space: nowrap;
  }
  .product-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 27px 12px;
  }
  .product-image {
    aspect-ratio: .77;
  }
  .product-image img {
    padding: 7px;
  }
  .image-link {
    display: none;
  }
  .card-info {
    padding-top: 11px;
    gap: 7px;
  }
  .card-info h3 {
    font-size: 10px;
    line-height: 1.5;
  }
  .card-info p {
    font-size: 8px;
  }
  .wish {
    font-size: 19px;
  }
  .identity-statement {
    display: block;
    padding: 45px 6%;
  }
  .identity-statement>.eyebrow {
    font-size: 8px;
    margin-bottom: 25px;
  }
  .identity-statement h2 {
    font-size: 43px;
    letter-spacing: -1.7px;
    margin-bottom: 27px;
  }
  .identity-statement p:not(.eyebrow) {
    font-size: 11px;
    line-height: 1.9;
  }
  .identity-statement>div {
    max-width: none;
  }
  .category-pair {
    gap: 13px;
    padding: 40px 5%;
  }
  .category-photo {
    height: auto;
    aspect-ratio: .75;
  }
  .category-photo img {
    padding: 8px;
  }
  .category-tile>div:last-child {
    padding: 16px 0 0;
    gap: 8px;
  }
  .category-tile small {
    font-size: 6px;
    letter-spacing: .9px;
  }
  .category-tile h2 {
    font-size: 30px;
    margin-top: 7px;
  }
  .circle-arrow {
    width: 29px;
    height: 29px;
    font-size: 14px;
    flex-shrink: 0;
  }
  .cut-invitation {
    display: block;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .cut-invitation>div:first-child {
    padding: 0;
  }
  .cut-invitation h2 {
    font-size: 35px;
  }
  .cut-invitation p:not(.eyebrow) {
    font-size: 11px;
    max-width: none;
  }
  .cut-preview {
    margin-top: 30px;
  }
  .cut-preview img {
    aspect-ratio: .85;
  }
  .cut-preview span {
    font-size: 9px;
  }
  .closing-statement {
    padding: 55px 5%;
  }
  .closing-statement h2 {
    font-size: 41px;
    letter-spacing: -1.4px;
  }
  .closing-statement p:not(.eyebrow) {
    font-size: 11px;
  }
  .footer {
    padding: 42px 5% 20px;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    padding-bottom: 38px;
  }
  .footer-top>div:first-child {
    grid-column: 1/-1;
  }
  .footer h2 {
    font-size: 35px;
  }
  .footer .eyebrow {
    font-size: 8px;
    margin-bottom: 17px;
  }
  .footer-top>div:not(:first-child)>a {
    font-size: 10px;
  }
  .footer-word {
    font-size: 17vw;
    letter-spacing: -.06em;
    padding-bottom: 25px;
  }
  .footer-bottom {
    font-size: 6px;
    letter-spacing: .5px;
    flex-wrap: wrap;
    gap: 12px;
  }
  .collection-intro {
    padding: 18px 5% 27px;
  }
  .breadcrumb {
    font-size: 8px;
    gap: 9px;
  }
  .collection-intro>div {
    margin-top: 35px;
    display: block;
  }
  .collection-intro h1 {
    font-size: 46px;
    letter-spacing: -1.8px;
    margin-bottom: 17px;
  }
  .collection-intro>div>p {
    font-size: 10px;
  }
  .collection-content {
    padding: 0 5% 45px;
  }
  .collection-bar {
    gap: 12px;
    flex-wrap: wrap;
    min-height: 0;
    padding-bottom: 9px;
  }
  .collection-tabs {
    gap: 25px;
    flex-basis: 100%;
    font-size: 10px;
  }
  .collection-tabs a {
    padding: 17px 0;
  }
  .sort-label {
    margin-left: auto;
    font-size: 8px;
  }
  .sort-label select {
    font-size: 9px;
    padding: 8px 0;
  }
  .collection-search {
    padding: 16px 0 23px;
    gap: 10px;
  }
  .collection-search label span {
    display: none;
  }
  .collection-search input {
    width: 140px;
    font-size: 10px;
  }
  .collection-search>.underlined {
    font-size: 8px;
  }
  .collection-note {
    padding: 45px 5%;
  }
  .collection-note h2 {
    font-size: 36px;
  }
  .collection-note>p:last-child {
    font-size: 10px;
    line-height: 1.7;
  }
  .product-breadcrumb {
    padding: 16px 5%;
  }
  .product-page {
    display: block;
    padding: 0 5% 45px;
  }
  .main-product-photo {
    min-height: 0;
    aspect-ratio: .94;
    padding: 20px;
  }
  .main-product-photo>span {
    font-size: 8px;
    bottom: 13px;
    right: 13px;
  }
  .image-caption {
    font-size: 8px;
    margin-top: 10px;
  }
  .gallery-thumbnails>button {
    width: 55px;
    height: 65px;
  }
  .product-details {
    max-width: none;
    padding: 34px 0 0;
  }
  .product-details>.eyebrow {
    font-size: 8px;
    margin-bottom: 16px;
  }
  .product-details h1 {
    font-size: 36px;
    letter-spacing: -1px;
  }
  .product-intro {
    font-size: 11px;
    line-height: 1.9;
  }
  .product-section {
    margin-bottom: 23px;
  }
  .swatch {
    width: 27px;
    height: 27px;
  }
  .swatches {
    gap: 16px;
  }
  .sizes button {
    height: 41px;
  }
  .page-intro {
    padding: 48px 5% 37px;
  }
  .page-intro h1 {
    font-size: 45px;
    letter-spacing: -1.5px;
  }
  .page-intro>p:last-child {
    font-size: 11px;
  }
  .guide-section {
    padding: 10px 5% 45px;
  }
  .guide-grid {
    grid-template-columns: 1fr 1fr;
    gap: 32px 16px;
  }
  .guide-card>img {
    padding: 7px;
  }
  .guide-card h3 {
    font-size: 22px;
    line-height: 1.1;
    margin-top: 17px;
  }
  .guide-card p {
    font-size: 9px;
    line-height: 1.8;
  }
  .guide-card ul {
    font-size: 9px;
  }
  .hoodie-guide {
    padding: 40px 5%;
  }
  .hoodie-guide-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .hoodie-guide article>h3 {
    font-size: 29px;
  }
  .hoodie-guide article>p:not(.reference-label) {
    font-size: 10px;
  }
  .guide-ending {
    padding: 50px 5%;
  }
  .guide-ending h2 {
    font-size: 38px;
  }
  .guide-ending p {
    font-size: 11px;
  }
  .about-hero {
    padding: 55px 5%;
  }
  .about-hero h1 {
    font-size: 52px;
    letter-spacing: -2.1px;
  }
  .about-hero>p:last-child {
    font-size: 11px;
  }
  .about-body {
    padding: 45px 7%;
    display: block;
  }
  .about-body h2 {
    font-size: 43px;
    letter-spacing: -1.4px;
  }
  .about-body p {
    font-size: 12px;
    line-height: 1.9;
  }
  .about-body h3 {
    font-size: 29px;
  }
  .wishlist-section {
    padding: 0 5% 50px;
  }
  .empty-state {
    padding: 40px 5%;
  }
  .empty-state h1,.empty-state h2 {
    font-size: 32px;
  }
  .empty-state p {
    font-size: 11px;
  }
  .search-dialog {
    padding: 22px;
    max-height: 88vh;
  }
  .search-field input {
    font-size: 25px;
  }
  .search-result {
    grid-template-columns: 55px 1fr;
    gap: 14px;
  }
  .search-result img {
    width: 55px;
    height: 68px;
  }
  .image-dialog {
    padding: 17px;
  }
  .image-dialog>img {
    max-height: 75vh;
  }
  .dialog-header {
    font-size: 10px;
  }
  #toast {
    font-size: 10px;
    bottom: 15px;
    min-width: 220px;
  }
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }
  *,*:before,*:after {
    transition: none !important;
    animation: none !important;
  }
}
/* Reading text stays comfortably sized while labels remain restrained. */
.hero-description {
  font-size: 13px;
}
.card-info h3 {
  font-size: 12px;
}
.product-intro {
  font-size: 13px;
}
.identity-statement p:not(.eyebrow) {
  font-size: 13px;
}
.product-details details {
  font-size: 11px;
}
@media (max-width:760px) {
  .hero-description {
    font-size: 12px;
  }
  .card-info h3 {
    font-size: 11px;
  }
  .product-intro {
    font-size: 12px;
  }
  .identity-statement p:not(.eyebrow) {
    font-size: 12px;
  }
  .header-inner nav {
    font-size: 18px;
  }
}
/* Product stories, reference-specific galleries and a persistent shopping bag. */
.header-inner nav {
  gap: 22px;
}
.header-actions {
  gap: 20px;
}
#cartButton {
  white-space: nowrap;
}
#cartCount {
  display: inline-grid !important;
  place-items: center;
  min-width: 18px;
  height: 18px;
  border: 1px solid var(--line);
  border-radius: 50%;
  font-size: 8px;
  padding: 0 3px;
}
.product-price {
  font-size: 10px;
  letter-spacing: .2px;
  margin: -13px 0 26px;
  color: var(--muted);
}
.purchase-actions {
  display: grid;
  gap: 9px;
}
.purchase-actions .button {
  min-height: 51px;
  font-size: 11px;
}
.save-selection {
  font-size: 10px;
  width: 100%;
  padding: 18px;
  display: flex;
  justify-content: center;
  gap: 10px;
}
.selection-error {
  font-size: 11px;
  color: #804630;
  line-height: 1.5;
}
.launch-note {
  line-height: 1.7;
  margin: 1px 0 23px;
}
.main-product-photo {
  aspect-ratio: .88;
  min-height: 0;
  padding: 18px;
}
.main-product-photo>img {
  max-height: none;
}
.main-product-photo[data-view=artwork]>img {
  transform: scale(1.75);
  transform-origin: 50% 47%;
}
.main-product-photo[data-view=texture]>img {
  transform: scale(2.6);
  transform-origin: 69% 88%;
}
.main-product-photo[data-view=sleeve]>img {
  transform: scale(3);
  transform-origin: 15% 33%;
}
.main-product-photo[data-view=sleeve][data-side=back]>img {
  transform-origin: 85% 33%;
}
.main-product-photo>span {
  background: var(--paper);
  padding: 7px 9px;
  z-index: 1;
}
.gallery-thumbnails {
  gap: 12px;
}
.gallery-thumbnails>button {
  width: calc((100% - 48px)/5);
  height: auto;
  max-width: 100px;
  overflow: visible;
  background: none;
  border: 0;
}
.gallery-thumbnails>button.active {
  border: 0;
}
.thumb-photo {
  display: block;
  background: var(--soft);
  aspect-ratio: .9;
  overflow: hidden;
  border: 1px solid transparent;
}
.gallery-thumbnails>button.active .thumb-photo {
  border-color: var(--ink);
}
.gallery-thumbnails>button>span:last-child {
  font-size: 9px;
  display: block;
  padding-top: 9px;
  line-height: 1.3;
}
.gallery-thumbnails>button:nth-child(2) img {
  transform: none;
}
.thumb-photo[data-view=artwork] img {
  transform: scale(1.8);
  transform-origin: 50% 47%;
}
.thumb-photo[data-view=texture] img {
  transform: scale(2.6);
  transform-origin: 69% 88%;
}
.thumb-photo[data-view=sleeve] img {
  transform: scale(3);
  transform-origin: 15% 33%;
}
.thumb-photo[data-view=sleeve][data-side=back] img {
  transform-origin: 85% 33%;
}
.gallery-description {
  margin-top: 43px;
  padding: 28px 0 0;
  border-top: 1px solid var(--line);
  max-width: 650px;
}
.gallery-description .eyebrow {
  margin-bottom: 13px;
}
.gallery-description h2 {
  font: 400 30px/1.15 var(--serif);
  letter-spacing: -.6px;
  margin-bottom: 15px;
}
.gallery-description>p:not(.eyebrow) {
  font-size: 12px;
  line-height: 1.85;
  color: var(--muted);
  max-width: 530px;
}
.material-facts {
  display: flex;
  gap: 55px;
  padding: 13px 0 22px;
}
.material-facts span {
  font: 400 22px/1.3 var(--serif);
  display: block;
}
.material-facts small {
  display: block;
  font-size: 7px;
  letter-spacing: 1.2px;
  margin-top: 7px;
}
.gallery-description .mockup-disclosure {
  font-size: 9px !important;
  max-width: 440px !important;
  line-height: 1.7 !important;
}
.piece-story {
  padding: 70px 8%;
  background: #efeee9;
  text-align: center;
  border-top: 1px solid var(--line);
}
.piece-story h2 {
  font: 400 clamp(30px,3.6vw,52px)/1.12 var(--serif);
  letter-spacing: -1.4px;
  max-width: 850px;
  margin: 0 auto 25px;
}
.piece-story>p:not(.eyebrow) {
  font-size: 13px;
  line-height: 1.9;
  max-width: 575px;
  margin: 0 auto 26px;
  color: #626159;
}
.about-hero>.button {
  margin-top: 22px;
}
.about-invitation {
  padding: 85px 7%;
  text-align: center;
  background: #222321;
  color: var(--paper);
}
.about-invitation h2 {
  font: 400 clamp(42px,5vw,70px)/1.05 var(--serif);
  letter-spacing: -2px;
  margin: 20px 0 30px;
}
.about-invitation>p:not(.eyebrow) {
  font-size: 13px;
  line-height: 2;
  color: #c9c8c1;
  margin-bottom: 30px;
}
.about-invitation>span {
  display: block;
  font-size: 7px;
  letter-spacing: 2px;
  margin-top: 36px;
}
.cart-dialog {
  position: fixed;
  inset: 0 0 0 auto;
  margin: 0;
  padding: 30px;
  width: min(100%,470px);
  height: 100dvh;
  max-width: 100vw;
  max-height: 100dvh;
  border: 0;
  background: var(--paper);
  color: var(--ink);
  overflow: auto;
}
.cart-dialog::backdrop {
  background: #0006;
}
.cart-dialog .dialog-header {
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 20px;
}
.cart-dialog h2 {
  font: 400 30px/1.1 var(--serif);
  margin: 0;
  letter-spacing: -.6px;
}
.bag-intro {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 25px;
}
.cart-item {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 19px;
  border-bottom: 1px solid var(--line);
  padding: 0 0 24px;
  margin-bottom: 24px;
}
.cart-item>a {
  align-self: start;
  background: var(--soft);
}
.cart-item img {
  width: 96px;
  height: 120px;
  object-fit: contain;
  mix-blend-mode: multiply;
  padding: 5px;
}
.cart-item h3 {
  font-size: 12px;
  line-height: 1.5;
  font-weight: 400;
  margin: 2px 0 8px;
}
.cart-item p {
  font-size: 10px;
  line-height: 1.8;
  color: var(--muted);
  margin-bottom: 13px;
}
.cart-item-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.quantity-control {
  display: flex;
  align-items: center;
  border: 1px solid var(--line);
  font-size: 10px;
  gap: 7px;
}
.quantity-control button {
  width: 27px;
  height: 28px;
  padding: 0;
}
.quantity-control>span {
  min-width: 10px;
  text-align: center;
}
.remove-item {
  font-size: 9px;
  text-decoration: underline;
  text-underline-offset: 3px;
  padding: 4px 0;
}
.cart-status {
  font-size: 11px;
  line-height: 1.75;
  color: var(--muted);
  padding: 15px 0;
  margin: 0 0 14px;
}
.cart-status.highlight {
  border-left: 2px solid #80725d;
  background: #efede5;
  padding: 15px;
}
.bag-empty {
  padding: 50px 0 35px;
}
.bag-empty h3 {
  font: 400 34px/1.2 var(--serif);
  letter-spacing: -.8px;
}
.bag-empty p {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
}
.bag-continue {
  margin-top: 22px;
}
.zoom-frame {
  width: 100%;
  height: min(78vh,900px);
  overflow: hidden;
  background: var(--paper);
  display: grid;
  place-items: center;
}
.zoom-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  min-height: 0;
  mix-blend-mode: multiply;
}
.zoom-frame[data-view=artwork] img {
  transform: scale(1.75);
  transform-origin: 50% 47%;
}
.zoom-frame[data-view=texture] img {
  transform: scale(2.6);
  transform-origin: 69% 88%;
}
.zoom-frame[data-view=sleeve] img {
  transform: scale(3);
  transform-origin: 15% 33%;
}
.zoom-frame[data-view=sleeve][data-side=back] img {
  transform-origin: 85% 33%;
}
@media (max-width:1050px) {
  .header-inner nav {
    gap: 13px;
  }
  .header-actions {
    gap: 15px;
  }
  .main-product-photo {
    padding: 12px;
  }
  .gallery-thumbnails {
    gap: 8px;
  }
  .gallery-thumbnails>button {
    width: calc((100% - 32px)/5);
  }
}
@media (max-width:760px) {
  .header-actions {
    gap: 12px;
  }
  .header-actions #cartButton {
    font-size: 10px;
  }
  .header-actions #cartCount {
    border: 0;
    min-width: 7px;
    padding: 0;
  }
  .header-actions .wishlist-link {
    display: none;
  }
  .header-actions #searchButton {
    padding: 8px 0;
  }
  .gallery-thumbnails>button>span:last-child {
    font-size: 8px;
  }
  .gallery-description {
    margin-top: 28px;
    padding-top: 23px;
  }
  .gallery-description h2 {
    font-size: 28px;
  }
  .gallery-description>p:not(.eyebrow) {
    font-size: 11px;
  }
  .material-facts {
    gap: 40px;
    padding-bottom: 17px;
  }
  .material-facts span {
    font-size: 21px;
  }
  .material-facts small {
    font-size: 6px;
  }
  .product-details {
    padding-top: 30px;
  }
  .piece-story {
    padding: 45px 7%;
  }
  .piece-story h2 {
    font-size: 34px;
    letter-spacing: -.9px;
  }
  .piece-story>p:not(.eyebrow) {
    font-size: 12px;
  }
  .about-invitation {
    padding: 53px 7%;
  }
  .about-invitation h2 {
    font-size: 43px;
    letter-spacing: -1.4px;
  }
  .about-invitation>p:not(.eyebrow) {
    font-size: 12px;
  }
  .cart-dialog {
    padding: 24px;
  }
  .cart-dialog .dialog-header {
    font-size: 11px;
  }
  .zoom-frame {
    height: 72vh;
  }
  .product-price {
    font-size: 10px;
  }
}
/* noir components */
/* The Few: black canvas, white typography, restrained antique-gold accents. */
:root {
  color-scheme: dark;
  --paper: #080808;
  --ink: #f7f7f4;
  --white: #fff;
  --soft: #141414;
  --line: #30302c;
  --muted: #b2b0a9;
  --gold: #c9aa68;
  --gold-light: #e4ca8e;
  --photo: #f1f1ee;
}
body {
  background: var(--paper);
  color: var(--ink);
}
::selection {
  background: var(--gold);
  color: #080808;
}
.announcement {
  background: #050505;
  color: var(--gold);
  border-bottom: 1px solid #252219;
}
.site-header {
  background: #080808f5;
  border-bottom-color: #423823;
}
.header-inner {
  height: 120px;
}
.wordmark {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
}
.header-emblem {
  width: 40px;
  height: 44px;
  object-fit: contain;
  mix-blend-mode: screen;
}
.header-inner nav a:hover,.header-inner nav a[aria-current],.collection-tabs a[aria-current] {
  border-color: var(--gold);
  color: var(--gold-light);
}
.header-actions button:hover,.footer a:hover,.breadcrumb a:hover,.wish[aria-pressed=true] {
  color: var(--gold-light);
}
.eyebrow,.hero-footnote,.category-tile small,.footer h3,.footer-bottom,.about-invitation>span {
  color: var(--gold);
}
.hero-copy h1 em,.about-hero h1 em {
  color: var(--gold-light);
}
.hero-description,.identity-statement p:not(.eyebrow),.product-intro,.about-body p,.about-hero>p,.piece-story>p:not(.eyebrow),.footer p:not(.eyebrow),.footer-top>div:not(:first-child)>a {
  color: var(--muted);
}
.identity-statement,.piece-story,.collection-note,.about-hero {
  background: #111110;
}
.closing-statement,.about-invitation {
  background: #030303;
  color: var(--ink);
  border-block: 1px solid #423823;
}
.closing-statement p:not(.eyebrow),.about-invitation>p:not(.eyebrow) {
  color: var(--muted);
}
.footer {
  background: #050505;
  border-top: 1px solid var(--line);
}
.footer-word {
  color: #f7f7f4;
}
.footer-bottom {
  border-color: var(--line);
}
.button.dark,.button.light {
  background: var(--gold);
  border-color: var(--gold);
  color: #090909;
}
.button.dark:hover,.button.light:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: #090909;
}
.button.outline {
  border-color: #766443;
  color: var(--ink);
}
.button.outline:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: #090909;
}
.underlined {
  border-color: var(--gold);
  color: var(--ink);
}
.underlined:hover {
  color: var(--gold-light);
  border-color: var(--gold-light);
}
.circle-arrow {
  border-color: #766443;
  color: var(--gold-light);
}
.sizes button.active {
  background: var(--gold);
  color: #090909;
  border-color: var(--gold);
}
.swatch {
  border-color: #777;
}
.swatch.active:after {
  border-color: var(--gold);
}
#cutSelect {
  background: #111;
  color: var(--ink);
  border-color: #575047;
}
select option {
  background: #111;
  color: var(--ink);
}
.collection-search input {
  border-color: #575047;
}
.collection-search input::placeholder,.search-field input::placeholder {
  color: #b2b0a9;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline-color: var(--gold-light);
}
.skip-link {
  background: var(--gold);
  color: #080808;
}
.selection-error {
  color: #f3c38a;
}
.cart-status.highlight {
  background: #211d14;
  border-left-color: var(--gold);
  color: var(--gold-light);
}
#toast {
  background: var(--gold);
  color: #080808;
}
/* Neutral photo wells retain the actual artwork colors and garment detail. */
.hero-image,.product-image,.category-photo,.main-product-photo,.thumb-photo,.cut-preview img,.guide-card>img,.cart-item>a,.zoom-frame {
  background: var(--photo);
  color: #161616;
}
.hero-product-label {
  color: #161616;
}
.hero-product-label small {
  color: #5e5b53;
}
.image-link {
  color: #161616;
  background: #f1f1eee8;
  padding: 6px 8px;
}
.search-result img {
  background: var(--photo);
  mix-blend-mode: normal;
}
.hero-image>img,.product-image img,.category-photo img,.main-product-photo>img,.gallery-thumbnails img,.cut-preview img,.guide-card>img,.cart-item img,.zoom-frame img {
  mix-blend-mode: normal;
}
.gallery-thumbnails>button.active .thumb-photo {
  border-color: var(--gold);
}
.main-product-photo>span {
  background: #080808e8;
  color: white;
}
.main-product-photo>.view-badge {
  top: 14px;
  left: 14px;
  right: auto;
  bottom: auto;
  border: 1px solid #655432;
  color: var(--gold-light);
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 8px 11px;
}
.orientation-note {
  font-size: 11px;
  line-height: 1.7;
  color: var(--gold-light);
  margin: 0 0 18px;
  max-width: 560px;
}
.image-dialog .zoom-frame {
  background: var(--photo);
}
@media (max-width:1050px) {
  .header-inner {
    height: 112px;
  }
}
@media (max-width:760px) {
  html {
    scroll-padding-top: 112px;
  }
  .header-inner {
    height: 100px;
    gap: 12px;
  }
  .header-inner nav {
    top: 100px;
    background: #080808;
  }
  .wordmark {
    gap: 7px;
    font-size: 28px;
  }
  .header-emblem {
    width: 32px;
    height: 35px;
  }
  .main-product-photo>.view-badge {
    top: 10px;
    left: 10px;
    font-size: 9px;
    padding: 7px 9px;
  }
  .orientation-note {
    font-size: 11px;
  }
  .hero-copy h1 {
    font-size: 64px;
  }
  .cart-status {
    font-size: 12px;
  }
}
/* atelier components */
/* The Few — considered motion, clear controls, and a quiet luxury rhythm. */
@view-transition {
  navigation: auto;
}
::view-transition-old(root) {
  animation: 160ms ease-out both veil-out;
}
::view-transition-new(root) {
  animation: 240ms ease-out both veil-in;
}
@keyframes veil-out {
  to {
    opacity: 0;
  }
}
@keyframes veil-in {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes drawer-in {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes dialog-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 119px;
}
body {
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
body.dialog-open {
  overflow: hidden;
}
button,a,input,select,summary {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
button:disabled {
  cursor: not-allowed;
  opacity: .5;
}
[hidden] {
  display: none !important;
}
a,button {
  transition: background-color .2s,color .2s,border-color .2s,opacity .2s;
}
.site-header {
  transition: box-shadow .25s,background-color .25s;
  z-index: 30;
}
.header-inner {
  transition: height .3s ease;
  max-width: 1800px;
  margin: auto;
  padding-inline: 4%;
}
.site-header.is-scrolled {
  box-shadow: 0 10px 28px #0002;
  background: #080808fc;
}
.site-header.is-scrolled .header-inner {
  height: 98px;
}
.wordmark {
  letter-spacing: -1.8px;
}
.wordmark img {
  transition: width .3s,height .3s;
}
.site-header.is-scrolled .header-emblem {
  width: 29px;
  height: 32px;
}
.header-actions button,.menu-button {
  min-height: 44px;
}
.header-inner nav a {
  padding-block: 14px;
}
.product-image {
  isolation: isolate;
  overflow: hidden;
}
.product-image img {
  transition: transform .65s cubic-bezier(.2,.65,.3,1);
  height: 100%;
  width: 100%;
  object-fit: contain;
}
.product-card:hover .product-image img {
  transform: scale(1.025);
}
.card-info h3 {
  line-height: 1.6;
  max-width: 32ch;
}
.card-info p {
  line-height: 1.6;
}
.wish {
  min-width: 44px;
  min-height: 44px;
}
.image-link {
  opacity: 0;
  transform: translateY(5px);
  transition: opacity .25s,transform .25s;
  letter-spacing: 1px;
  font-size: 9px;
  text-transform: uppercase;
}
.product-card:hover .image-link,.product-image:focus-visible .image-link {
  opacity: 1;
  transform: none;
}
.product-breadcrumb {
  padding-top: 28px;
  padding-bottom: 28px;
  font-size: 10px;
  letter-spacing: .3px;
}
.product-page {
  align-items: start;
  max-width: 1800px;
  margin: auto;
}
.product-details h1 {
  font-weight: 400;
  font-size: clamp(32px,3.4vw,52px);
  line-height: 1.12;
  letter-spacing: -1.5px;
  max-width: 18ch;
}
.product-intro {
  font-size: 13px;
  line-height: 1.9;
  max-width: 50ch;
}
.product-section {
  padding-block: 24px;
}
.field-heading {
  margin-bottom: 16px;
  font-size: 11px;
  letter-spacing: .3px;
}
#cutSelect {
  width: 100%;
  min-height: 52px;
  border-radius: 0;
  padding: 14px 18px;
  font-size: 12px;
}
#cutDescription {
  font-size: 12px;
  line-height: 1.85;
  margin-top: 14px;
}
.product-details details {
  padding-block: 19px;
}
.product-details summary {
  min-height: 28px;
  font-size: 12px;
  letter-spacing: .3px;
}
.product-details details p,.product-details details li {
  font-size: 12px;
  line-height: 1.9;
}
.gallery-stage {
  position: relative;
}
.main-product-photo {
  padding: 0;
  aspect-ratio: 1/1.13;
  min-height: 0;
  width: 100%;
  height: auto;
}
.main-product-photo>img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: opacity .2s;
}
.main-product-photo.preview-loading>img {
  opacity: .6;
}
.main-product-photo.preview-loading:after {
  content: 'Updating color…';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  padding: 12px 16px;
  background: #080808e8;
  color: var(--gold-light);
  font-size: 11px;
  z-index: 3;
  pointer-events: none;
}
.gallery-controls {
  display: flex;
  align-items: center;
  gap: 12px;
  position: absolute;
  bottom: 15px;
  left: 15px;
  background: #080808ed;
  color: var(--gold-light);
  z-index: 2;
}
.gallery-controls button {
  width: 42px;
  height: 42px;
  padding: 0;
  font-size: 18px;
}
.gallery-controls button:hover {
  background: #c9aa6824;
}
#viewCount {
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 1px;
  min-width: 30px;
  text-align: center;
}
.main-product-photo #photoAction {
  font-size: 10px;
  letter-spacing: .6px;
  bottom: 15px;
  right: 15px;
  padding: 14px;
}
.image-caption {
  min-height: 18px;
  margin-top: 13px;
  font-size: 11px;
  line-height: 1.7;
}
.gallery-thumbnails {
  gap: 12px;
  margin-top: 22px;
}
.gallery-thumbnails>button {
  width: calc((100% - 48px)/5);
  min-width: 0;
}
.thumb-photo {
  transition: border-color .2s;
  aspect-ratio: 4/5;
}
.gallery-thumbnails>button>span:last-child {
  font-size: 10px;
  line-height: 1.5;
}
.swatches {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}
.swatch {
  display: flex;
  align-items: center;
  gap: 10px;
  width: auto;
  height: auto;
  min-height: 55px;
  border: 1px solid var(--line);
  border-radius: 0;
  padding: 10px;
  background: transparent;
  position: relative;
  text-align: left;
}
.swatch>span {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  background: var(--swatch);
  border: 1px solid #ffffff35;
  border-radius: 50%;
}
.swatch>small {
  font-size: 10px;
  line-height: 1.4;
  color: var(--muted);
}
.swatch.active {
  border-color: var(--gold);
  background: #c9aa680a;
}
.swatch.active>small {
  color: var(--ink);
}
.swatch.active:after {
  display: none;
}
.sizes {
  gap: 8px;
}
.sizes button {
  min-width: 45px;
  min-height: 46px;
  font-size: 11px;
}
.purchase-actions .button {
  min-height: 54px;
  letter-spacing: 1.1px;
  font-size: 11px;
}
.save-selection {
  min-height: 48px;
  margin-top: 8px;
  font-size: 11px;
}
.launch-note,.mockup-disclosure {
  font-size: 10px;
  line-height: 1.8;
  color: var(--muted);
}
.collection-intro {
  padding-top: 42px;
}
.collection-intro h1 {
  font-size: clamp(48px,6vw,86px);
  letter-spacing: -3px;
  font-weight: 400;
}
.collection-bar {
  border-bottom: 1px solid var(--line);
  min-height: 65px;
}
.collection-tabs a {
  padding-bottom: 20px;
}
.collection-search {
  gap: 24px;
}
.collection-search input {
  height: 45px;
  border-radius: 0;
  font-size: 12px;
}
.collection-filters {
  display: flex;
  align-items: end;
  gap: 18px;
  margin: 5px 0 32px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
}
.collection-filters label {
  display: flex;
  flex-direction: column;
  gap: 9px;
  font-size: 10px;
  letter-spacing: .8px;
  min-width: 160px;
}
.collection-filters select {
  padding: 12px 30px 12px 12px;
  background: #111;
  color: var(--ink);
  border: 1px solid #45423b;
  border-radius: 0;
  min-height: 44px;
  font-size: 11px;
  max-width: 240px;
}
.collection-filters>button {
  min-height: 44px;
  margin-left: auto;
  font-size: 10px;
  white-space: nowrap;
}
.search-dialog {
  max-height: 90dvh;
  overflow: auto;
}
.search-result {
  grid-template-columns: 72px 1fr 20px;
  min-height: 106px;
}
.search-result h3 {
  line-height: 1.6;
}
.search-all {
  margin-top: 24px;
}
dialog {
  color: var(--ink);
  background: var(--paper);
  overscroll-behavior: contain;
}
dialog::backdrop {
  background: #0009;
  backdrop-filter: blur(5px);
}
dialog[open] {
  animation: dialog-in .24s ease both;
}
.cart-dialog[open],.menu-dialog[open] {
  animation: drawer-in .3s ease both;
}
.dialog-header button {
  min-width: 60px;
  min-height: 44px;
}
.dialog-header {
  align-items: center;
}
.cart-dialog {
  width: min(100%,500px);
  padding: 32px 28px;
}
.cart-dialog .dialog-header {
  position: sticky;
  top: -32px;
  background: var(--paper);
  z-index: 3;
  padding-top: 12px;
}
.cart-item {
  grid-template-columns: 100px 1fr;
}
.cart-item img {
  height: 130px;
  width: 100px;
}
.cart-item-actions {
  gap: 8px;
}
.quantity-control button {
  width: 40px;
  height: 44px;
}
.remove-item {
  min-height: 36px;
  font-size: 10px;
}
.edit-selection {
  display: inline-block;
  font-size: 9px;
  margin-top: 12px;
  border-bottom: 1px solid #62543c;
  padding-bottom: 3px;
  color: var(--muted);
}
#cartSummary {
  border-top: 1px solid var(--line);
  padding-top: 15px;
}
.bag-continue {
  display: inline-block;
  margin-bottom: 20px;
}
.menu-dialog {
  inset: 0 auto 0 0;
  width: min(520px,100%);
  height: 100dvh;
  max-height: 100dvh;
  margin: 0;
  border: 0;
  padding: 24px 32px;
  overflow: auto;
}
.menu-dialog .dialog-header {
  border-bottom: 1px solid var(--line);
  padding-bottom: 18px;
  margin-bottom: 35px;
}
.menu-dialog>.eyebrow {
  font-size: 8px;
  letter-spacing: 2px;
}
.menu-dialog nav {
  display: flex;
  flex-direction: column;
  margin: 24px 0 30px;
}
.menu-dialog nav a {
  font: 400 clamp(30px,7vw,42px)/1.3 var(--serif);
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.menu-dialog nav a span {
  font: 20px Arial,Helvetica,sans-serif;
  color: var(--gold);
}
.menu-saved {
  display: flex;
  justify-content: space-between;
  padding: 18px 0;
  font-size: 12px;
}
.menu-saved span {
  color: var(--gold);
}
.menu-emblem {
  display: block;
  margin: 35px auto 15px;
  width: 55px;
  height: 64px;
  object-fit: contain;
  mix-blend-mode: screen;
}
.image-dialog {
  width: min(1100px,96vw);
  max-width: 96vw;
  padding: 20px;
}
.image-dialog .dialog-header {
  padding: 0 0 12px;
}
.zoom-frame {
  height: 78dvh;
}
.zoom-frame img {
  object-fit: contain;
}
.store-notice {
  background: #211c12;
  color: var(--gold-light);
  padding: 18px 5%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  font-size: 12px;
  line-height: 1.6;
}
.store-notice button {
  border: 1px solid var(--gold);
  padding: 10px 14px;
  white-space: nowrap;
}
#toast {
  max-width: calc(100vw - 32px);
  text-align: center;
  line-height: 1.6;
  z-index: 100;
}
@media (min-width:1100px) {
  .product-details {
    padding-left: 35px;
  }
  .product-page {
    gap: 6%;
  }
  .product-details>.eyebrow {
    margin-top: 4px;
  }
}
@media (max-width:1100px) {
  .swatches {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .header-inner nav {
    gap: 12px;
  }
  .header-inner nav a {
    font-size: 10px;
  }
}
@media (max-width:760px) {
  html {
    scroll-padding-top: 100px;
  }
  .header-inner {
    height: 94px !important;
    padding-inline: 5%;
  }
  .header-actions {
    gap: 13px;
  }
  .header-inner nav {
    display: none !important;
  }
  .wordmark {
    font-size: 27px;
    letter-spacing: -1.3px;
    gap: 4px;
  }
  .header-emblem {
    width: 28px !important;
    height: 30px !important;
  }
  .announcement {
    font-size: 7px;
    letter-spacing: 1.7px;
    padding: 10px 15px;
  }
  .header-actions button {
    min-width: 36px;
  }
  .menu-button {
    font-size: 11px;
    letter-spacing: .3px;
  }
  .product-breadcrumb {
    padding-block: 21px;
    font-size: 9px;
  }
  .product-page {
    gap: 0;
  }
  .main-product-photo {
    aspect-ratio: 1/1.08;
  }
  .gallery-controls {
    bottom: 10px;
    left: 10px;
    gap: 4px;
  }
  .gallery-controls button {
    width: 35px;
    height: 36px;
  }
  .main-product-photo #photoAction {
    bottom: 10px;
    right: 10px;
    padding: 12px;
    font-size: 9px;
  }
  .product-details {
    padding-top: 35px;
  }
  .product-details h1 {
    font-size: 37px;
    line-height: 1.15;
    letter-spacing: -1.2px;
    max-width: 19ch;
  }
  .product-intro {
    font-size: 12px;
  }
  .product-section {
    padding-block: 21px;
  }
  .swatches {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 7px;
  }
  .swatch {
    padding: 10px 7px;
    gap: 7px;
    min-height: 54px;
  }
  .swatch>span {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
  }
  .swatch>small {
    font-size: 9px;
  }
  .gallery-thumbnails {
    gap: 8px;
    margin-top: 18px;
  }
  .gallery-thumbnails>button {
    width: calc((100% - 32px)/5);
  }
  .gallery-thumbnails>button>span:last-child {
    font-size: 8px;
  }
  .gallery-description {
    padding-top: 22px;
    margin-top: 26px;
  }
  .collection-intro {
    padding-top: 27px;
  }
  .collection-intro h1 {
    font-size: 55px;
    letter-spacing: -2px;
  }
  .collection-tabs {
    gap: 18px;
  }
  .collection-tabs a {
    font-size: 10px;
  }
  .collection-search {
    margin-bottom: 24px;
  }
  .collection-filters {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 14px;
    margin-bottom: 25px;
  }
  .collection-filters label {
    min-width: 0;
  }
  .collection-filters select {
    width: 100%;
    max-width: none;
    padding-inline: 9px;
  }
  .collection-filters>button {
    margin-left: 0;
    align-self: end;
    text-align: right;
  }
  .sort-label {
    font-size: 9px;
  }
  .collection-search>a {
    font-size: 10px;
  }
  .product-grid {
    column-gap: 12px;
    row-gap: 30px;
  }
  .card-info h3 {
    font-size: 11px;
  }
  .card-info p {
    font-size: 9px;
  }
  .card-info {
    gap: 2px;
  }
  .wish {
    font-size: 19px;
    min-width: 44px;
  }
  .image-link {
    opacity: 1;
    transform: none;
    font-size: 7px;
    bottom: 9px;
    left: 9px;
  }
  .search-dialog {
    width: 100%;
    max-width: 100%;
    max-height: 100dvh;
    height: 100dvh;
    margin: 0;
    padding: 24px;
  }
  .search-field input {
    font-size: 18px;
  }
  .search-result {
    gap: 14px;
  }
  .image-dialog {
    width: 100%;
    max-width: 100%;
    max-height: 100dvh;
    margin: auto;
    padding: 16px;
  }
  .zoom-frame {
    height: 76dvh;
  }
  .cart-dialog {
    padding: 24px;
  }
  .cart-dialog .dialog-header {
    top: -24px;
  }
  .footer {
    padding-bottom: 25px;
  }
}
@media (max-width:370px) {
  .swatches {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .header-inner {
    gap: 9px;
  }
  .wordmark {
    font-size: 24px;
  }
  .header-actions {
    gap: 5px;
  }
  .menu-button {
    font-size: 10px;
  }
  .collection-tabs {
    gap: 13px;
  }
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto;
  }
  *,*:before,*:after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  ::view-transition-old(root),::view-transition-new(root) {
    animation: none !important;
  }
}
/* finish components */
/* Quiet movement, generous detail views, and a direct path to checkout. */
:root {
  --ease-luxe: cubic-bezier(.22,.61,.36,1);
}
a,button {
  transition: color .25s ease,background-color .25s ease,border-color .25s ease,opacity .25s ease;
}
.button {
  position: relative;
  overflow: hidden;
}
.button:not(:disabled):active {
  transform: translateY(1px);
}
.button.dark:not(:disabled):hover {
  background: #dec48a;
  color: #080808;
}
.button.outline:not(:disabled):hover {
  background: #c9aa6812;
  border-color: var(--gold);
}
.product-image img {
  transition: transform .85s var(--ease-luxe);
}
.reveal-section {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .8s var(--ease-luxe),transform .8s var(--ease-luxe);
}
.reveal-section.is-revealed {
  opacity: 1;
  transform: none;
}
.product-details details summary span {
  display: inline-block;
  transition: transform .3s var(--ease-luxe);
}
.product-details details[open] summary span {
  transform: rotate(45deg);
}
.gallery-thumbnails {
  display: flex;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: #665638 transparent;
  padding: 3px 2px 13px;
}
.gallery-thumbnails>button {
  flex: 0 0 calc((100% - 48px)/5.25);
  width: auto;
  scroll-snap-align: center;
}
.gallery-thumbnails>button:focus-visible {
  outline: 1px solid var(--gold);
  outline-offset: 1px;
}
.purchase-actions {
  display: grid;
  gap: 10px;
}
.purchase-actions .button {
  margin: 0;
}
.construction-section {
  max-width: 1800px;
  margin: auto;
  padding: 84px 5%;
  border-top: 1px solid var(--line);
}
.construction-heading {
  max-width: 570px;
  margin-bottom: 38px;
}
.construction-heading h2 {
  font: 400 clamp(35px,4vw,57px)/1.1 var(--serif);
  letter-spacing: -1px;
  margin: 15px 0;
}
.construction-heading>p:last-child {
  font-size: 12px;
  line-height: 1.9;
  color: var(--muted);
}
.construction-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 26px;
}
.construction-card {
  display: block;
  min-width: 0;
  text-align: left;
  background: none;
  color: var(--ink);
  padding: 0 0 18px;
  border: 0;
  border-bottom: 1px solid var(--line);
}
.construction-photo {
  display: block;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #f1f1ee;
  margin-bottom: 25px;
}
.construction-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.construction-number {
  font-size: 9px;
  letter-spacing: 1.5px;
  color: var(--gold);
}
.construction-card h3 {
  font: 400 clamp(23px,2.3vw,32px)/1.25 var(--serif);
  margin: 13px 0;
}
.construction-card p {
  font-size: 12px;
  line-height: 1.9;
  color: var(--muted);
  max-width: 38ch;
  min-height: 46px;
  margin: 0 0 22px;
}
.construction-card>.underlined {
  display: inline-block;
  font-size: 10px;
  padding-bottom: 6px;
}
.construction-card:hover {
  border-color: var(--gold);
}
.checkout-page {
  max-width: 1500px;
  min-height: 65vh;
  margin: auto;
  padding: 48px 5% 100px;
}
.checkout-heading>.underlined {
  display: inline-block;
  font-size: 10px;
  margin-bottom: 36px;
}
.checkout-heading h1 {
  font: 400 clamp(45px,5.5vw,76px)/1.1 var(--serif);
  letter-spacing: -2px;
  margin: 16px 0;
}
.checkout-heading>p:last-child {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
  margin-bottom: 45px;
}
.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(300px,.8fr);
  gap: 8%;
  align-items: start;
}
.checkout-section-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  border-top: 1px solid var(--line);
  padding: 23px 0;
}
.checkout-section-heading>span {
  font-size: 10px;
  color: var(--gold);
  letter-spacing: 1px;
}
.checkout-section-heading h2 {
  font-size: 13px;
  font-weight: 400;
  margin: 0;
}
.checkout-section-heading>span:last-child {
  margin-left: auto;
  color: var(--muted);
}
.checkout-item {
  display: grid;
  grid-template-columns: 155px minmax(0,1fr);
  gap: 24px;
  padding: 0 0 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--line);
}
.checkout-item .checkout-image {
  display: block;
  margin: 0;
  background: #f1f1ee;
}
.checkout-image img {
  display: block;
  width: 100%;
  height: 190px;
  object-fit: contain;
}
.checkout-item dl {
  margin: 0;
}
.checkout-item dl>div {
  display: flex;
  gap: 12px;
  font-size: 11px;
  line-height: 1.8;
  margin: 4px 0;
}
.checkout-item dt {
  color: var(--muted);
  width: 62px;
}
.checkout-item dd {
  margin: 0;
}
.checkout-swatch {
  display: inline-block;
  width: 9px;
  height: 9px;
  border: 1px solid #ffffff45;
  border-radius: 50%;
  margin-right: 7px;
}
.checkout-item h3 {
  font: 400 26px/1.2 var(--serif);
  margin: 10px 0 15px;
}
.checkout-item p {
  font-size: 11px;
  line-height: 1.9;
  color: var(--muted);
  margin: 6px 0;
}
.checkout-item a {
  display: inline-block;
  font-size: 10px;
  margin-top: 15px;
}
.checkout-summary {
  position: sticky;
  top: 135px;
  padding: 32px;
  background: #11100e;
  border: 1px solid #4b402b;
}
.checkout-summary h2 {
  font: 400 32px/1.15 var(--serif);
  margin: 15px 0 28px;
}
.checkout-summary dl {
  margin: 0;
}
.checkout-summary dl>div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  font-size: 11px;
  line-height: 1.7;
}
.checkout-summary dd {
  margin: 0;
  text-align: right;
  color: var(--muted);
}
#checkoutMessage {
  font-size: 12px;
  line-height: 1.9;
  margin: 25px 0;
  color: var(--muted);
}
#payNow {
  min-height: 54px;
  font-size: 11px;
  letter-spacing: .5px;
}
#payNow:disabled {
  opacity: .75;
}
.checkout-back {
  display: table;
  margin: 22px auto 0;
  font-size: 10px;
}
.checkout-footnote {
  font-size: 10px;
  line-height: 1.8;
  color: var(--muted);
  text-align: center;
  margin: 22px 0 0;
}
@media (max-width:760px) {
  .gallery-thumbnails>button {
    flex-basis: 22%;
    min-width: 64px;
  }
  .gallery-thumbnails {
    gap: 9px;
  }
  .construction-section {
    padding: 45px 5%;
  }
  .construction-heading {
    margin-bottom: 27px;
  }
  .construction-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .construction-card p {
    min-height: 0;
    max-width: 45ch;
  }
  .construction-photo {
    margin-bottom: 20px;
  }
  .checkout-page {
    padding: 28px 5% 60px;
  }
  .checkout-heading>.underlined {
    margin-bottom: 27px;
  }
  .checkout-heading>p:last-child {
    margin-bottom: 28px;
  }
  .checkout-layout {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .checkout-summary {
    position: static;
    padding: 26px;
  }
  .checkout-item {
    grid-template-columns: 115px minmax(0,1fr);
    gap: 19px;
  }
  .checkout-image img {
    height: 148px;
  }
  .checkout-item h3 {
    font-size: 23px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .reveal-section {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .button:not(:disabled):active {
    transform: none;
  }
}
/* House presentation */
/* THE FEW — a complete editorial identity, with commerce kept deliberately quiet. */
:root {
  --paper: #090909;
  --ink: #f4f1ea;
  --soft: #131312;
  --line: #2e2c28;
  --muted: #aaa79f;
  --gold: #b09a70;
  --gold-light: #d2c1a1;
  --photo: #efefec;
  --serif: Didot,'Bodoni MT','Times New Roman',Georgia,serif;
  --gutter: 5.5%;
  --ease-luxe: cubic-bezier(.2,.7,.25,1);
}
body {
  font-family: Arial,Helvetica,sans-serif;
  font-weight: 400;
  letter-spacing: .015em;
  background: var(--paper);
}
::selection {
  background: #b09a70;
  color: #090909;
}
h1,h2,h3 {
  text-wrap: balance;
}
.eyebrow {
  font-size: 9px;
  letter-spacing: 2.7px;
  line-height: 1.8;
  color: var(--gold);
  font-weight: 400;
}
.ui-icon {
  display: inline-block;
  width: 19px;
  height: 19px;
  min-width: 19px;
  flex-shrink: 0;
  vertical-align: middle;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.2;
}
.announcement {
  height: 29px;
  padding: 0;
  border: 0;
  background: #060606;
  font-size: 8px;
  letter-spacing: 3px;
  color: #aba69a;
}
.site-header {
  background: #090909f7;
  border-bottom: 1px solid var(--line);
  box-shadow: none !important;
}
.header-inner,.site-header.is-scrolled .header-inner {
  height: 70px;
  margin: 0 auto;
  padding: 0 var(--gutter);
  max-width: 1800px;
  grid-template-columns: 1fr auto 1fr;
  gap: 24px;
}
.menu-button {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  justify-self: start;
  padding: 0;
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  min-height: 44px;
}
.menu-button>span {
  font: inherit;
}
.wordmark {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 32px;
  letter-spacing: 6px;
  gap: 9px;
  line-height: 1;
}
.wordmark .brand-name {
  font: inherit;
  letter-spacing: inherit;
  margin: 0;
  display: block;
}
.header-emblem,.site-header.is-scrolled .header-emblem {
  width: 24px;
  height: 25px;
  object-fit: contain;
  transition: none;
}
#mainNav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 42px;
  height: 43px;
  border-top: 1px solid #20201e;
  font-size: 9px;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}
#mainNav a {
  height: 43px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid transparent;
  transition: color .25s,border-color .25s;
}
#mainNav a:hover,#mainNav a[aria-current] {
  color: var(--gold-light);
  border-color: var(--gold);
}
.header-actions {
  gap: 25px;
  font-size: 10px;
  letter-spacing: .6px;
}
.header-actions button {
  font-size: 10px;
  letter-spacing: .6px;
  min-height: 44px;
}
.header-actions #searchButton>span {
  display: none;
}
.header-actions svg {
  width: 19px;
  height: 19px;
}
.wishlist-link>span,#cartCount {
  border: 0;
  border-radius: 0 !important;
  min-width: 0 !important;
  width: auto;
  height: auto !important;
  font-size: 9px !important;
  color: var(--muted);
  padding: 0 !important;
}
.button {
  justify-content: center;
  gap: 15px;
  min-height: 52px;
  padding: 17px 30px;
  font-size: 10px;
  letter-spacing: 1.5px;
  line-height: 1.5;
  text-transform: uppercase;
  transition: background .3s,color .3s,border-color .3s;
}
.button.dark,.button.light {
  background: #f0ede6;
  border-color: #f0ede6;
  color: #10100f;
}
.button.dark:not(:disabled):hover,.button.light:not(:disabled):hover {
  background: #d5c7ad;
  border-color: #d5c7ad;
  color: #10100f;
}
.button.outline {
  border-color: #55524b;
  background: transparent;
  color: var(--ink);
}
.button.outline:not(:disabled):hover {
  background: #ffffff09;
  border-color: #a89a82;
  color: var(--ink);
}
.underlined {
  font-size: 10px;
  letter-spacing: 1.2px;
  line-height: 1.7;
  text-transform: uppercase;
  border-bottom: 1px solid #7d715b;
  padding: 0 0 8px;
}
.underlined:hover {
  color: var(--gold-light);
}
.campaign-hero {
  height: min(810px,calc(100svh - 110px));
  min-height: 600px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #111;
}
.campaign-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  z-index: -3;
}
.campaign-shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(180deg,#0007 0%,#0006 45%,#000a 100%);
}
.campaign-copy {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 65px 24px 90px;
  color: #f9f7f1;
}
.campaign-copy .eyebrow {
  color: #d0c6b3;
  font-size: 9px;
  margin-bottom: 27px;
  letter-spacing: 4px;
}
.campaign-copy h1 {
  font: 400 clamp(82px,9.8vw,160px)/.88 var(--serif);
  letter-spacing: -4px;
  margin: 0 0 28px;
}
.campaign-copy h1 em {
  font-weight: 400;
}
.campaign-copy>p:not(.eyebrow) {
  font-size: 11px;
  letter-spacing: 2px;
  margin: 0 0 35px;
}
.campaign-link {
  font-size: 10px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  border-bottom: 1px solid #dbd0ba;
  padding: 0 0 11px;
  transition: color .3s,border-color .3s;
}
.campaign-link:hover {
  color: #d3bb91;
  border-color: #d3bb91;
}
.campaign-caption {
  position: absolute;
  bottom: 29px;
  left: var(--gutter);
  right: var(--gutter);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 8px;
  letter-spacing: 1.9px;
  color: #d3cec5;
}
.house-introduction {
  text-align: center;
  padding: 108px 24px 55px;
  max-width: 900px;
  margin: auto;
}
.house-introduction h2 {
  font: 400 clamp(42px,4.2vw,65px)/1.08 var(--serif);
  letter-spacing: -1.5px;
  margin: 0 0 24px;
}
.house-introduction>p:last-child {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.9;
}
.section {
  padding: 80px var(--gutter) 112px;
  max-width: 1800px;
  margin: auto;
}
.section-heading {
  margin-bottom: 38px;
  align-items: end;
}
.section-heading .eyebrow {
  margin-bottom: 13px;
}
.section-heading h2 {
  font: 400 clamp(32px,3.4vw,50px)/1.15 var(--serif);
  letter-spacing: -.9px;
}
.section-heading>.underlined {
  margin-bottom: 5px;
}
.product-grid {
  gap: 45px 20px;
}
.product-image {
  aspect-ratio: 3/4;
  background: var(--photo);
}
.product-image img {
  padding: 3%;
  object-fit: contain;
}
.product-card:hover .product-image img {
  transform: scale(1.025);
}
.image-link {
  display: none;
}
.card-info {
  padding-top: 18px;
  gap: 14px;
  align-items: start;
}
.card-info h3 {
  font: 400 23px/1.16 var(--serif);
  letter-spacing: -.15px;
  max-width: 26ch;
  margin: 0 0 10px;
}
.card-info p {
  font-size: 9px;
  line-height: 1.8;
  color: var(--muted);
  letter-spacing: .4px;
  margin: 0;
}
.wish {
  padding: 0;
  min-width: 32px;
  min-height: 38px;
  color: #b2afa5;
}
.wish .ui-icon {
  width: 17px;
  height: 19px;
}
.wish[aria-pressed=true] {
  color: var(--gold-light);
}
.wish[aria-pressed=true] .icon-bookmark {
  fill: currentColor;
}
.editorial-piece {
  display: grid;
  grid-template-columns: 56% 44%;
  background: #11110f;
  max-width: 1800px;
  margin: auto;
}
.editorial-photo {
  background: #eaeae6;
  display: block;
  min-width: 0;
  overflow: hidden;
}
.editorial-photo img {
  width: 100%;
  height: 100%;
  max-height: 810px;
  object-fit: contain;
  padding: 5%;
  transition: transform 1s var(--ease-luxe);
}
.editorial-photo:hover img {
  transform: scale(1.02);
}
.editorial-copy {
  padding: 70px 16%;
  align-self: center;
}
.editorial-copy h2 {
  font: 400 clamp(38px,4.4vw,66px)/1.06 var(--serif);
  letter-spacing: -1.8px;
  margin: 0 0 25px;
}
.editorial-copy>p:not(.eyebrow) {
  font-size: 12px;
  line-height: 1.9;
  color: var(--muted);
  max-width: 31ch;
}
.editorial-copy .editorial-caption {
  font-size: 9px !important;
  letter-spacing: 1.4px;
  margin: 45px 0 24px;
}
.editorial-caption span {
  font-size: 10px;
  letter-spacing: 0;
  text-transform: none;
  color: #8f8b82;
}
.category-pair {
  padding: 115px var(--gutter);
  gap: 4%;
  max-width: 1800px;
  margin: auto;
  align-items: start;
}
.category-tile:nth-child(2) {
  padding-top: 100px;
}
.category-photo {
  height: auto;
  aspect-ratio: 1/1.05;
  background: var(--photo);
}
.category-photo img {
  padding: 4%;
  height: 100%;
  object-fit: contain;
}
.category-tile>div:last-child {
  padding-top: 22px;
  align-items: end;
}
.category-tile small {
  font-size: 8px;
  letter-spacing: 2px;
  color: var(--gold);
}
.category-tile h2 {
  font: 400 53px/1 var(--serif);
  letter-spacing: -1px;
  margin: 13px 0 0;
}
.category-cta {
  font-size: 9px;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-bottom: 1px solid #6e6557;
  padding-bottom: 6px;
}
.house-craft {
  display: grid;
  grid-template-columns: 44% 56%;
  background: #141412;
  max-width: 1800px;
  margin: auto;
}
.craft-copy {
  padding: 80px 16%;
  align-self: center;
}
.craft-copy h2 {
  font: 400 clamp(50px,5.2vw,80px)/1.01 var(--serif);
  letter-spacing: -2px;
  margin: 0 0 30px;
}
.craft-copy>p:not(.eyebrow) {
  font-size: 12px;
  line-height: 1.9;
  color: var(--muted);
  max-width: 32ch;
  margin-bottom: 30px;
}
.craft-image {
  min-width: 0;
  min-height: 650px;
  overflow: hidden;
}
.craft-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 55% 65%;
}
.closing-statement {
  background: var(--paper);
  padding: 100px 24px 115px;
  border: 0;
}
.closing-emblem {
  width: 44px;
  height: 50px;
  object-fit: contain;
  margin: 0 auto 35px;
  mix-blend-mode: screen;
}
.closing-statement .eyebrow {
  font-size: 8px;
  margin-bottom: 22px;
}
.closing-statement h2 {
  font: 400 clamp(42px,5vw,72px)/1.1 var(--serif);
  letter-spacing: -1.5px;
  margin: 0 0 25px;
}
.closing-statement p:not(.eyebrow) {
  font-size: 12px;
  line-height: 1.9;
  color: var(--muted);
  margin-bottom: 30px;
}
.footer {
  padding: 70px var(--gutter) 24px;
  background: #060606;
  border-top: 1px solid #302a20;
}
.footer-top {
  grid-template-columns: 2fr 1fr 1fr;
  gap: 8%;
  padding-bottom: 70px;
}
.footer h2 {
  font: 400 39px/1.05 var(--serif);
  letter-spacing: -.7px;
  margin-bottom: 20px;
}
.footer p:not(.eyebrow) {
  font-size: 11px;
  line-height: 1.8;
}
.footer h3 {
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0 0 25px;
}
.footer-top>div:not(:first-child)>a {
  font-size: 11px;
  line-height: 1.8;
  margin-bottom: 13px;
}
.footer-word {
  font: 400 16.4vw/.9 var(--serif);
  letter-spacing: .105em;
  text-align: center;
  padding: 0 0 46px;
  white-space: nowrap;
  color: #eeeae1;
}
.footer-bottom {
  border-top: 1px solid #2d2921;
  padding-top: 23px;
  font-size: 7px;
  letter-spacing: 1.5px;
  color: #938c7c;
}
.collection-intro {
  padding: 35px var(--gutter) 55px;
  max-width: 1800px;
  margin: auto;
}
.breadcrumb {
  font-size: 9px;
  color: #96938b;
  letter-spacing: .3px;
}
.collection-intro>div {
  display: block;
  text-align: center;
  margin-top: 60px;
}
.collection-intro h1 {
  font: 400 clamp(56px,6.5vw,94px)/1.1 var(--serif);
  letter-spacing: -2px;
  margin: 0 0 20px;
}
.collection-intro>div>p {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
}
.collection-content {
  padding: 0 var(--gutter) 95px;
  max-width: 1800px;
  margin: auto;
}
.collection-bar {
  border-top: 1px solid var(--line);
  min-height: 66px;
}
.collection-tabs {
  gap: 30px;
}
.collection-tabs a {
  font-size: 9px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  padding: 23px 0;
}
.collection-tabs a[aria-current] {
  color: var(--gold-light);
  border-color: var(--gold);
}
#resultCount,.sort-label {
  font-size: 9px;
  letter-spacing: .3px;
}
.sort-label select {
  font-size: 10px;
}
.collection-search {
  margin: 0;
  padding: 24px 0 8px;
}
.collection-search label span {
  font-size: 9px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.collection-search input {
  width: 250px;
  padding: 13px 0;
  font-size: 12px;
  height: 43px;
  border: 0;
  border-bottom: 1px solid #464239;
  background: transparent;
}
.collection-search>.underlined {
  font-size: 9px;
}
.collection-filters {
  border: 0;
  gap: 28px;
  margin: 16px 0 38px;
  padding: 0;
}
.collection-filters label {
  min-width: 175px;
  gap: 8px;
  font-size: 9px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.collection-filters select {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #464239;
  padding: 12px 22px 12px 0;
  font-size: 11px;
  min-height: 43px;
}
.collection-filters>button {
  font-size: 8px;
}
.collection-note {
  padding: 95px 24px;
  background: #11110f;
  border-top: 1px solid var(--line);
}
.collection-note h2 {
  font: 400 57px/1.07 var(--serif);
  letter-spacing: -1px;
}
.collection-note>p:last-child {
  font-size: 12px;
  line-height: 1.9;
  color: var(--muted);
}
.product-breadcrumb {
  max-width: 1800px;
  margin: auto;
  padding: 28px var(--gutter);
  font-size: 9px;
}
.product-page {
  grid-template-columns: minmax(0,1.25fr) minmax(330px,.75fr);
  gap: 7%;
  padding: 0 var(--gutter) 100px;
  max-width: 1800px;
  align-items: start;
}
.product-details {
  padding: 35px 0 0;
  max-width: 460px;
}
.product-details>.eyebrow {
  font-size: 8px;
  letter-spacing: 2px;
  margin: 0 0 20px;
}
.product-details h1 {
  font: 400 clamp(36px,3.8vw,58px)/1.07 var(--serif);
  letter-spacing: -1.1px;
  max-width: 20ch;
  margin-bottom: 25px;
}
.product-intro {
  font-size: 12px;
  line-height: 1.95;
  color: var(--muted);
  margin: 0 0 24px;
}
.product-price {
  font-size: 10px;
  letter-spacing: .3px;
  margin: 0 0 30px;
  color: #c1b39a;
}
.product-section {
  padding: 21px 0;
  margin: 0;
  border-top: 1px solid var(--line);
}
.field-heading {
  font-size: 10px;
  letter-spacing: .45px;
  margin: 0 0 17px;
}
.field-heading>a {
  color: var(--muted);
  font-size: 9px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
#cutSelect {
  background: transparent;
  border: 1px solid #514b40;
  border-radius: 0;
  min-height: 50px;
  font-size: 11px;
  padding: 14px;
}
#cutDescription {
  font-size: 11px;
  line-height: 1.8;
  color: var(--muted);
  margin: 15px 0 0;
}
.swatches {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
}
.swatch {
  border: 1px solid #33312d;
  padding: 10px 8px;
  gap: 8px;
  min-height: 49px;
}
.swatch>span {
  width: 18px;
  height: 18px;
  flex-basis: 18px;
  border: 1px solid #ffffff26;
}
.swatch>small {
  font-size: 9px;
}
.swatch.active {
  border-color: #a18c66;
  background: #b09a7008;
}
.sizes {
  gap: 7px;
}
.sizes button {
  height: 44px;
  min-width: 44px;
  font-size: 10px;
  border-color: #464137;
}
.sizes button.active {
  color: var(--paper);
  background: #e9e3d7;
  border-color: #e9e3d7;
}
.purchase-actions {
  padding-top: 9px;
  gap: 9px;
}
.purchase-actions .button {
  min-height: 53px;
}
.save-selection {
  padding: 18px 12px;
  font-size: 9px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  align-items: center;
}
.save-selection svg {
  width: 15px;
  height: 17px;
  min-width: 15px;
}
.launch-note {
  font-size: 10px;
  line-height: 1.8;
  max-width: 40ch;
  margin: 2px auto 25px;
  text-align: center;
  color: #989389;
}
.product-details details {
  padding: 20px 0;
  border-color: var(--line);
}
.product-details summary {
  font-size: 10px;
  letter-spacing: .8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  list-style: none;
  min-height: 24px;
}
.product-details summary::-webkit-details-marker {
  display: none;
}
.product-details summary>.ui-icon {
  width: 14px;
  height: 14px;
  min-width: 14px;
  color: var(--gold);
  transition: transform .35s var(--ease-luxe);
}
.product-details details[open] summary>.ui-icon {
  transform: rotate(180deg);
}
.product-details details p,.product-details details li {
  font-size: 11px;
  line-height: 1.95;
  color: var(--muted);
}
.main-product-photo {
  aspect-ratio: 4/5;
  padding: 0;
  background: var(--photo);
}
.main-product-photo>img {
  max-height: none;
}
.main-product-photo>.view-badge {
  left: 20px;
  top: 20px;
  background: transparent;
  color: #47443e;
  border: 0;
  font-size: 8px;
  letter-spacing: 1.8px;
  padding: 0;
}
.main-product-photo #photoAction {
  bottom: 18px;
  right: 20px;
  background: transparent;
  color: #444139;
  padding: 5px 0;
  border-bottom: 1px solid #b3ada1;
  font-size: 8px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.gallery-controls {
  background: #f0efe9d9;
  left: 17px;
  bottom: 16px;
  gap: 5px;
  color: #35332e;
  border: 1px solid #b8b2a6;
}
.gallery-controls button {
  height: 34px;
  width: 34px;
}
.gallery-controls .ui-icon {
  width: 14px;
  height: 14px;
  min-width: 14px;
}
#viewCount {
  font-size: 8px;
  letter-spacing: .7px;
  min-width: 33px;
}
.image-caption {
  font-size: 10px;
  line-height: 1.8;
  color: #969188;
  margin: 15px 0 0;
}
.gallery-thumbnails {
  gap: 10px;
  margin-top: 23px;
  padding-bottom: 14px;
}
.gallery-thumbnails>button {
  max-width: none;
  flex-basis: calc((100% - 50px)/6);
  min-width: 63px;
}
.thumb-photo {
  aspect-ratio: 4/5;
}
.gallery-thumbnails>button>span:last-child {
  font-size: 8px;
  letter-spacing: .15px;
  padding-top: 10px;
  color: #9d978a;
}
.gallery-thumbnails>button.active>span:last-child {
  color: var(--ink);
}
.gallery-description {
  padding-top: 35px;
  margin-top: 36px;
  max-width: none;
}
.gallery-description h2 {
  font: 400 35px/1.15 var(--serif);
}
.gallery-description>p:not(.eyebrow) {
  font-size: 11px;
}
.material-facts {
  gap: 65px;
  padding: 20px 0 27px;
}
.material-facts span {
  font-size: 27px;
}
.material-facts small {
  font-size: 7px;
  letter-spacing: 1.6px;
  color: var(--gold);
}
.construction-section {
  padding: 95px var(--gutter);
  background: #10100f;
}
.construction-heading {
  max-width: 600px;
  margin-bottom: 44px;
}
.construction-heading h2 {
  font: 400 clamp(40px,4.2vw,61px)/1.12 var(--serif);
  letter-spacing: -1.2px;
}
.construction-heading>p:last-child {
  font-size: 12px;
}
.construction-grid {
  gap: 28px;
}
.construction-photo {
  margin-bottom: 26px;
}
.construction-number {
  font-size: 8px;
  letter-spacing: 1.8px;
}
.construction-card h3 {
  font-size: 30px;
  margin: 17px 0 15px;
}
.construction-card p {
  font-size: 11px;
  min-height: 42px;
}
.construction-card>.underlined {
  font-size: 9px;
}
.piece-story {
  padding: 100px 8%;
  background: var(--paper);
}
.piece-story h2 {
  font-size: clamp(38px,4.5vw,64px);
  font-weight: 400;
  line-height: 1.14;
}
.piece-story>p:not(.eyebrow) {
  font-size: 12px;
  line-height: 2;
}
.page-intro {
  padding: 80px var(--gutter) 65px;
  text-align: center;
}
.page-intro h1 {
  font: 400 clamp(53px,6.6vw,90px)/1.05 var(--serif);
  letter-spacing: -2px;
}
.page-intro>p:last-child {
  font-size: 12px;
  line-height: 1.9;
  color: var(--muted);
}
.guide-section {
  padding: 0 var(--gutter) 90px;
}
.guide-grid {
  gap: 32px;
}
.guide-card>img {
  background: var(--photo);
  padding: 4%;
}
.guide-card h3 {
  font: 400 29px/1.12 var(--serif);
  letter-spacing: -.3px;
  margin-top: 22px;
}
.guide-card p,.guide-card ul {
  font-size: 11px;
  line-height: 1.9;
  color: var(--muted);
}
.guide-short {
  color: var(--gold-light) !important;
  font-size: 10px !important;
}
.hoodie-guide {
  padding: 75px var(--gutter);
  background: #121211;
}
.hoodie-guide-grid {
  gap: 6%;
}
.hoodie-guide article>h3 {
  font: 400 38px/1.12 var(--serif);
}
.hoodie-guide article>p:not(.reference-label),.hoodie-guide article>ul {
  font-size: 12px;
  line-height: 1.9;
}
.guide-ending {
  padding: 95px var(--gutter);
}
.guide-ending h2 {
  font: 400 57px/1.1 var(--serif);
}
.guide-ending p {
  font-size: 12px;
  line-height: 1.9;
}
.wishlist-section {
  padding: 0 var(--gutter) 95px;
}
.about-hero {
  padding: 105px var(--gutter);
  background: linear-gradient(#0808089c,#080808d9),url('/assets/construction-hem-v1.webp') center 35%/cover;
  text-align: center;
}
.about-hero h1 {
  font: 400 clamp(66px,8vw,117px)/.96 var(--serif);
  letter-spacing: -3px;
  margin: 32px 0;
}
.about-hero h1 em {
  color: var(--ink);
  font-weight: 400;
}
.about-hero>p:not(.eyebrow) {
  font-size: 12px;
  line-height: 2;
  color: #c4beb2;
}
.about-hero>.button {
  margin-top: 22px;
  min-width: 200px;
}
.about-body {
  padding: 115px 12%;
  gap: 10%;
  grid-template-columns: 25% 1fr;
  max-width: 1500px;
  margin: auto;
}
.about-body>.eyebrow {
  padding-top: 9px;
}
.about-body h2 {
  font: 400 clamp(40px,4vw,60px)/1.1 var(--serif);
  letter-spacing: -1.4px;
  margin-bottom: 35px;
}
.about-body p {
  font-size: 13px;
  line-height: 2.15;
  color: var(--muted);
  margin-bottom: 23px;
  max-width: 63ch;
}
.about-body h3 {
  font: 400 42px/1.1 var(--serif);
  letter-spacing: -1px;
  margin: 64px 0 30px;
}
.about-invitation {
  padding: 100px var(--gutter);
  background: #13120f;
  border: 0;
}
.about-invitation h2 {
  font-size: clamp(44px,5.5vw,74px);
  font-weight: 400;
}
.about-invitation>p:not(.eyebrow) {
  font-size: 12px;
  color: var(--muted);
}
.checkout-page {
  padding: 65px var(--gutter) 100px;
}
.checkout-heading h1 {
  font-family: var(--serif);
  font-size: 76px;
  font-weight: 400;
  letter-spacing: -2px;
}
.checkout-heading>.underlined {
  font-size: 9px;
}
.checkout-layout {
  gap: 8%;
}
.checkout-summary {
  background: #12110f;
  border-color: #514835;
  top: 170px;
  padding: 34px;
}
.checkout-summary h2 {
  font-size: 38px;
  font-weight: 400;
}
.checkout-item h3 {
  font-size: 28px;
  font-weight: 400;
}
.checkout-item dt {
  color: #8e897f;
}
.checkout-item dd {
  color: #e2ddd3;
}
.checkout-swatch {
  border-radius: 0;
}
.checkout-back {
  font-size: 9px;
}
.empty-state h1,.empty-state h2 {
  font-family: var(--serif);
  font-weight: 400;
}
dialog {
  background: #0d0d0c;
  border: 1px solid #3d372c;
}
dialog::backdrop {
  background: #000b;
  backdrop-filter: blur(8px);
}
.dialog-header {
  font-size: 10px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  gap: 25px;
}
.dialog-header button {
  min-width: 40px;
  min-height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
}
.dialog-header button .ui-icon {
  width: 19px;
  height: 19px;
}
.menu-dialog {
  width: min(560px,100%);
  padding: 30px 40px;
}
.menu-dialog .dialog-header {
  margin-bottom: 45px;
}
.menu-dialog nav a {
  font: 400 40px/1.25 var(--serif);
  letter-spacing: -.7px;
  padding: 20px 0;
  border-color: #292721;
}
.menu-dialog>.eyebrow {
  font-size: 8px;
}
.menu-saved {
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.menu-emblem {
  width: 40px;
  height: 45px;
  margin-top: 45px;
}
.search-dialog {
  width: min(800px,94vw);
  padding: 35px 45px;
}
.search-field input {
  font: 400 36px/1.3 var(--serif);
  padding: 15px 0 23px;
  border-color: #605746;
}
.search-result {
  grid-template-columns: 76px 1fr;
  gap: 25px;
  padding: 16px 0;
}
.search-result img {
  width: 76px;
  height: 95px;
}
.search-result h3 {
  font: 400 23px/1.25 var(--serif);
  margin-bottom: 10px;
}
.search-result p {
  font-size: 9px;
}
.search-message {
  font-size: 10px;
  line-height: 1.8;
}
.cart-dialog {
  width: min(500px,100%);
  padding: 30px;
  background: #0d0d0c;
}
.cart-dialog .dialog-header {
  background: #0d0d0c;
}
.cart-dialog h2 {
  font: 400 38px/1.1 var(--serif);
  letter-spacing: -.5px;
  text-transform: none;
}
.cart-item h3 {
  font: 400 22px/1.2 var(--serif);
}
.cart-item p {
  font-size: 10px;
}
.cart-status {
  font-size: 11px;
}
.quantity-control button {
  display: grid;
  place-items: center;
}
.quantity-control .ui-icon {
  width: 12px;
  height: 12px;
  min-width: 12px;
}
.bag-intro {
  font-size: 11px;
}
.remove-item,.edit-selection {
  font-size: 9px;
}
.image-dialog {
  padding: 22px;
}
.image-dialog .dialog-header {
  font-size: 9px;
  letter-spacing: .7px;
}
#toast {
  background: #ece7dc;
  color: #151411;
  border: 1px solid #b4a17e;
  font-size: 11px;
  letter-spacing: .3px;
  padding: 17px 26px;
  box-shadow: 0 10px 50px #0005;
}
@media (min-width:1800px) {
  .footer-word {
    font-size: 280px;
  }
  .campaign-hero {
    height: 840px;
  }
  .editorial-copy,.craft-copy {
    padding-inline: 100px;
  }
}
@media (max-width:1100px) {
  .header-actions {
    gap: 18px;
  }
  .product-page {
    gap: 5%;
    grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr);
  }
  .product-details {
    padding-top: 20px;
  }
  .product-details h1 {
    font-size: 40px;
  }
  .editorial-copy {
    padding: 45px 12%;
  }
  .craft-copy {
    padding: 55px 12%;
  }
  .craft-image {
    min-height: 550px;
  }
  .card-info h3 {
    font-size: 21px;
  }
  .collection-filters {
    gap: 22px;
  }
  .collection-filters label {
    min-width: 145px;
  }
  .about-body {
    padding: 85px 8%;
  }
}
@media (max-width:760px) {
  :root {
    --gutter: 5%;
  }
  html {
    scroll-padding-top: 104px;
  }
  .announcement {
    height: 25px;
    font-size: 7px;
    letter-spacing: 2.7px;
  }
  .header-inner,.site-header.is-scrolled .header-inner {
    height: 76px !important;
    gap: 12px;
    padding-inline: 5%;
  }
  .menu-button {
    gap: 7px;
    font-size: 9px;
    letter-spacing: .4px;
  }
  .menu-button .ui-icon {
    width: 17px;
    height: 17px;
    min-width: 17px;
  }
  .wordmark {
    font-size: 26px;
    letter-spacing: 3px;
    gap: 7px;
  }
  .header-emblem,.site-header.is-scrolled .header-emblem {
    width: 20px !important;
    height: 22px !important;
  }
  #mainNav {
    display: none;
  }
  .header-actions {
    gap: 15px;
  }
  .header-actions #searchButton {
    min-width: 20px;
    padding: 0;
  }
  .header-actions #cartButton {
    font-size: 10px;
    min-width: 0;
    gap: 6px;
  }
  .header-actions svg {
    width: 17px;
    height: 17px;
  }
  .header-actions .wishlist-link {
    display: none;
  }
  .campaign-hero {
    height: calc(88svh - 80px);
    min-height: 510px;
    max-height: 760px;
  }
  .campaign-copy {
    padding: 70px 24px 95px;
  }
  .campaign-copy .eyebrow {
    font-size: 8px;
    letter-spacing: 3px;
    margin-bottom: 25px;
  }
  .campaign-copy h1 {
    font-size: clamp(74px,20vw,110px);
    letter-spacing: -3px;
    margin-bottom: 26px;
  }
  .campaign-copy>p:not(.eyebrow) {
    font-size: 10px;
    letter-spacing: 1.5px;
    margin-bottom: 32px;
  }
  .campaign-link {
    font-size: 9px;
    letter-spacing: 1.4px;
  }
  .campaign-caption {
    bottom: 22px;
    font-size: 7px;
    letter-spacing: 1px;
  }
  .campaign-caption>span:nth-child(2) {
    display: none;
  }
  .campaign-shade {
    background: linear-gradient(180deg,#0006,#0005 65%,#000e);
  }
  .house-introduction {
    padding: 66px 6% 22px;
  }
  .house-introduction .eyebrow {
    font-size: 8px;
    letter-spacing: 2px;
    margin-bottom: 24px;
  }
  .house-introduction h2 {
    font-size: 43px;
    letter-spacing: -1px;
    margin-bottom: 24px;
  }
  .house-introduction>p:last-child {
    font-size: 11px;
    line-height: 1.9;
  }
  .section {
    padding: 46px var(--gutter) 65px;
  }
  .section-heading {
    gap: 16px;
    align-items: end;
    margin-bottom: 26px;
  }
  .section-heading h2 {
    font-size: 34px;
    letter-spacing: -.8px;
  }
  .section-heading .eyebrow {
    font-size: 7px;
    letter-spacing: 1.7px;
    margin-bottom: 11px;
  }
  .section-heading>.underlined {
    font-size: 8px;
    max-width: 95px;
    white-space: normal;
    flex-shrink: 0;
    letter-spacing: .7px;
    line-height: 1.6;
    text-align: right;
    margin-bottom: 2px;
  }
  .product-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 32px 12px;
  }
  .product-image {
    aspect-ratio: 3/4;
  }
  .product-image img {
    padding: 1%;
  }
  .card-info {
    padding-top: 14px;
    gap: 3px;
  }
  .card-info h3 {
    font-size: 21px;
    line-height: 1.15;
    letter-spacing: -.2px;
    margin-bottom: 8px;
  }
  .card-info p {
    font-size: 8px;
    line-height: 1.7;
    letter-spacing: 0;
  }
  .wish {
    min-width: 27px;
    min-height: 32px;
  }
  .wish .ui-icon {
    width: 14px;
    min-width: 14px;
    height: 16px;
  }
  .editorial-piece {
    grid-template-columns: 1fr;
  }
  .editorial-photo img {
    height: auto;
    max-height: 620px;
    aspect-ratio: 1/1.07;
    padding: 5%;
  }
  .editorial-copy {
    padding: 47px 8% 55px;
  }
  .editorial-copy h2 {
    font-size: 45px;
    letter-spacing: -1.1px;
    margin-bottom: 23px;
  }
  .editorial-copy .eyebrow {
    font-size: 8px;
    letter-spacing: 2px;
  }
  .editorial-copy>p:not(.eyebrow) {
    font-size: 11px;
    line-height: 1.9;
  }
  .editorial-copy .editorial-caption {
    margin-top: 27px;
    margin-bottom: 24px;
  }
  .category-pair {
    padding: 62px var(--gutter);
    gap: 14px;
  }
  .category-tile:nth-child(2) {
    padding-top: 47px;
  }
  .category-photo {
    aspect-ratio: 3/4;
  }
  .category-photo img {
    padding: 1%;
  }
  .category-tile>div:last-child {
    padding-top: 18px;
    display: block;
  }
  .category-tile small {
    font-size: 6px;
    letter-spacing: 1.1px;
  }
  .category-tile h2 {
    font-size: 38px;
    margin-top: 10px;
    letter-spacing: -.9px;
  }
  .category-cta {
    display: inline-block;
    margin-top: 18px;
    font-size: 8px;
    letter-spacing: .9px;
  }
  .house-craft {
    grid-template-columns: 1fr;
  }
  .craft-copy {
    padding: 52px 8%;
  }
  .craft-copy .eyebrow {
    font-size: 8px;
    letter-spacing: 2px;
  }
  .craft-copy h2 {
    font-size: 61px;
    letter-spacing: -1.7px;
    margin-bottom: 25px;
  }
  .craft-copy>p:not(.eyebrow) {
    font-size: 11px;
    line-height: 1.95;
    max-width: 38ch;
  }
  .craft-image {
    min-height: 0;
    height: 360px;
  }
  .craft-image img {
    object-position: 50% 70%;
  }
  .closing-statement {
    padding: 65px 6% 75px;
  }
  .closing-emblem {
    width: 34px;
    height: 40px;
    margin-bottom: 25px;
  }
  .closing-statement h2 {
    font-size: 44px;
    letter-spacing: -1px;
  }
  .closing-statement p:not(.eyebrow) {
    font-size: 11px;
  }
  .underlined {
    font-size: 9px;
    letter-spacing: 1px;
  }
  .button {
    font-size: 9px;
    letter-spacing: 1.2px;
    padding: 16px 22px;
    min-height: 49px;
  }
  .footer {
    padding: 50px var(--gutter) 24px;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 42px 20px;
    padding-bottom: 50px;
  }
  .footer-top>div:first-child {
    grid-column: 1/-1;
  }
  .footer h2 {
    font-size: 38px;
  }
  .footer .eyebrow {
    font-size: 8px;
    letter-spacing: 2px;
    margin-bottom: 19px;
  }
  .footer h3 {
    font-size: 8px;
    letter-spacing: 1.6px;
    margin-bottom: 23px;
  }
  .footer-top>div:not(:first-child)>a {
    font-size: 10px;
    line-height: 1.8;
    margin-bottom: 13px;
  }
  .footer-word {
    font-size: 15.8vw;
    letter-spacing: .085em;
    padding-bottom: 29px;
  }
  .footer-bottom {
    font-size: 6px;
    letter-spacing: .8px;
    gap: 14px;
    line-height: 1.7;
  }
  .footer-bottom>span:last-child {
    display: none;
  }
  .collection-intro {
    padding: 23px var(--gutter) 34px;
  }
  .collection-intro .breadcrumb {
    font-size: 8px;
  }
  .collection-intro>div {
    margin-top: 35px;
  }
  .collection-intro h1 {
    font-size: 57px;
    letter-spacing: -1.5px;
    margin-bottom: 18px;
  }
  .collection-intro>div>p {
    font-size: 11px;
  }
  .collection-content {
    padding-bottom: 60px;
  }
  .collection-bar {
    padding: 0 0 8px;
    gap: 9px;
    min-height: 0;
  }
  .collection-tabs {
    gap: 25px;
    flex-basis: 100%;
  }
  .collection-tabs a {
    font-size: 8px;
    letter-spacing: 1px;
    padding: 20px 0;
  }
  #resultCount,.sort-label {
    font-size: 8px;
  }
  .sort-label select {
    font-size: 9px;
    padding: 8px 0;
  }
  .collection-search {
    padding: 18px 0 7px;
    gap: 20px;
  }
  .collection-search input {
    width: 170px;
    font-size: 11px;
    height: 42px;
  }
  .collection-search>.underlined {
    font-size: 8px;
    letter-spacing: .5px;
    text-align: right;
  }
  .collection-filters {
    display: grid;
    grid-template-columns: 1.4fr 1fr .65fr;
    gap: 15px;
    margin: 15px 0 28px;
  }
  .collection-filters label {
    min-width: 0;
    font-size: 7px;
    letter-spacing: .8px;
    gap: 5px;
  }
  .collection-filters select {
    width: 100%;
    font-size: 10px;
    padding: 10px 12px 10px 0;
    min-height: 42px;
  }
  .collection-filters>button {
    grid-column: 1/-1;
    justify-self: end;
    min-height: 32px;
    font-size: 8px;
    letter-spacing: .6px;
  }
  .collection-note {
    padding: 60px 8%;
  }
  .collection-note h2 {
    font-size: 42px;
  }
  .collection-note>p:last-child {
    font-size: 11px;
  }
  .product-breadcrumb {
    padding: 23px var(--gutter);
    font-size: 8px;
    line-height: 1.8;
    flex-wrap: wrap;
  }
  .product-page {
    display: block;
    padding: 0 var(--gutter) 55px;
  }
  .main-product-photo {
    aspect-ratio: 4/5;
  }
  .main-product-photo>.view-badge {
    top: 16px;
    left: 16px;
    font-size: 7px;
    letter-spacing: 1.3px;
  }
  .main-product-photo #photoAction {
    bottom: 16px;
    right: 16px;
    font-size: 7px;
    letter-spacing: .7px;
  }
  .gallery-controls {
    left: 13px;
    bottom: 12px;
    gap: 3px;
  }
  .gallery-controls button {
    width: 30px;
    height: 32px;
  }
  #viewCount {
    font-size: 8px;
  }
  .image-caption {
    font-size: 9px;
    margin-top: 12px;
    min-height: 0;
  }
  .gallery-thumbnails {
    gap: 9px;
    margin-top: 18px;
  }
  .gallery-thumbnails>button {
    flex-basis: 21%;
    min-width: 61px;
  }
  .gallery-thumbnails>button>span:last-child {
    font-size: 8px;
    line-height: 1.4;
  }
  .gallery-description {
    margin-top: 22px;
    padding-top: 28px;
  }
  .gallery-description h2 {
    font-size: 31px;
  }
  .gallery-description>p:not(.eyebrow) {
    font-size: 11px;
  }
  .material-facts {
    gap: 45px;
    padding: 17px 0 20px;
  }
  .material-facts span {
    font-size: 25px;
  }
  .material-facts small {
    font-size: 6px;
    letter-spacing: 1.3px;
  }
  .product-details {
    padding-top: 45px;
    max-width: none;
  }
  .product-details>.eyebrow {
    font-size: 8px;
    letter-spacing: 2px;
    margin-bottom: 20px;
  }
  .product-details h1 {
    font-size: 43px;
    letter-spacing: -1px;
    line-height: 1.08;
    max-width: 20ch;
    margin-bottom: 23px;
  }
  .product-intro {
    font-size: 12px;
    line-height: 1.95;
  }
  .product-price {
    font-size: 10px;
    margin-bottom: 28px;
  }
  .product-section {
    padding: 22px 0;
  }
  .field-heading {
    font-size: 10px;
  }
  .swatches {
    gap: 9px;
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .swatch {
    padding: 10px 8px;
    min-height: 51px;
    gap: 7px;
  }
  .swatch>small {
    font-size: 9px;
  }
  .swatch>span {
    width: 17px;
    height: 17px;
    flex-basis: 17px;
  }
  .sizes button {
    height: 45px;
    min-width: 44px;
    font-size: 10px;
  }
  .save-selection {
    min-height: 49px;
  }
  .product-details details {
    padding: 20px 0;
  }
  .product-details summary {
    font-size: 11px;
    letter-spacing: .3px;
    min-height: 27px;
  }
  .product-details details p,.product-details details li {
    font-size: 11px;
  }
  .construction-section {
    padding: 56px var(--gutter);
  }
  .construction-heading {
    margin-bottom: 29px;
  }
  .construction-heading h2 {
    font-size: 41px;
    letter-spacing: -1px;
  }
  .construction-heading>p:last-child {
    font-size: 11px;
    line-height: 1.9;
  }
  .construction-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .construction-photo {
    margin-bottom: 24px;
  }
  .construction-number {
    font-size: 8px;
    letter-spacing: 1.7px;
  }
  .construction-card h3 {
    font-size: 30px;
    margin: 17px 0 14px;
  }
  .construction-card p {
    font-size: 11px;
    min-height: 0;
  }
  .construction-card>.underlined {
    font-size: 8px;
  }
  .piece-story {
    padding: 62px 7%;
  }
  .piece-story h2 {
    font-size: 38px;
    letter-spacing: -1px;
    line-height: 1.15;
  }
  .piece-story>p:not(.eyebrow) {
    font-size: 11px;
    line-height: 2;
  }
  .page-intro {
    padding: 55px 6% 45px;
  }
  .page-intro h1 {
    font-size: 54px;
    letter-spacing: -1.5px;
  }
  .page-intro>p:last-child {
    font-size: 11px;
  }
  .guide-section {
    padding: 0 var(--gutter) 60px;
  }
  .guide-grid {
    grid-template-columns: 1fr;
    gap: 43px;
  }
  .guide-card>img {
    max-height: 480px;
    width: 100%;
    object-fit: contain;
  }
  .guide-card h3 {
    font-size: 34px;
    margin: 24px 0 15px;
  }
  .guide-card p,.guide-card ul {
    font-size: 11px;
    line-height: 1.95;
  }
  .hoodie-guide {
    padding: 52px var(--gutter);
  }
  .hoodie-guide-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .hoodie-guide article>h3 {
    font-size: 34px;
  }
  .hoodie-guide article>p:not(.reference-label),.hoodie-guide article>ul {
    font-size: 11px;
  }
  .guide-ending {
    padding: 58px 7%;
  }
  .guide-ending h2 {
    font-size: 43px;
  }
  .guide-ending p {
    font-size: 11px;
  }
  .wishlist-section {
    padding-bottom: 60px;
  }
  .about-hero {
    padding: 76px 6%;
  }
  .about-hero>.eyebrow {
    font-size: 7px;
    letter-spacing: 1.8px;
  }
  .about-hero h1 {
    font-size: clamp(54px,14vw,76px);
    letter-spacing: -1.8px;
    margin: 30px 0;
  }
  .about-hero>p:not(.eyebrow) {
    font-size: 11px;
    line-height: 2;
  }
  .about-hero>.button {
    margin-top: 23px;
  }
  .about-body {
    display: block;
    padding: 60px 7%;
  }
  .about-body>.eyebrow {
    font-size: 8px;
    letter-spacing: 1.6px;
    margin-bottom: 27px;
  }
  .about-body h2 {
    font-size: 42px;
    letter-spacing: -1px;
    margin-bottom: 28px;
  }
  .about-body p {
    font-size: 12px;
    line-height: 2.05;
    margin-bottom: 22px;
  }
  .about-body h3 {
    font-size: 36px;
    margin: 47px 0 28px;
  }
  .about-invitation {
    padding: 60px 7%;
  }
  .about-invitation h2 {
    font-size: 42px;
    letter-spacing: -1px;
  }
  .about-invitation>p:not(.eyebrow) {
    font-size: 11px;
    line-height: 2;
  }
  .checkout-page {
    padding: 32px var(--gutter) 60px;
  }
  .checkout-heading h1 {
    font-size: 56px;
    letter-spacing: -1.5px;
  }
  .checkout-heading>p:last-child {
    font-size: 11px;
  }
  .checkout-heading>.underlined {
    font-size: 8px;
  }
  .checkout-summary {
    padding: 28px;
  }
  .checkout-summary h2 {
    font-size: 36px;
  }
  .checkout-item {
    grid-template-columns: 108px minmax(0,1fr);
    gap: 19px;
  }
  .checkout-item h3 {
    font-size: 26px;
  }
  .checkout-item .eyebrow {
    font-size: 7px;
    letter-spacing: 1.2px;
  }
  .checkout-item dl>div {
    font-size: 10px;
    gap: 7px;
  }
  .checkout-item dt {
    width: 54px;
  }
  .checkout-item a {
    font-size: 8px;
  }
  .checkout-back {
    font-size: 8px;
  }
  .checkout-section-heading {
    gap: 13px;
  }
  .checkout-section-heading h2 {
    font-size: 12px;
  }
  .checkout-section-heading>span {
    font-size: 8px;
  }
  #checkoutMessage {
    font-size: 11px;
  }
  .menu-dialog {
    padding: 25px 28px;
  }
  .menu-dialog .dialog-header {
    margin-bottom: 35px;
  }
  .menu-dialog nav {
    margin-top: 22px;
  }
  .menu-dialog nav a {
    font-size: 37px;
    padding: 18px 0;
  }
  .menu-saved {
    font-size: 9px;
  }
  .menu-emblem {
    width: 33px;
    height: 39px;
    margin-top: 35px;
  }
  .dialog-header {
    font-size: 9px;
    letter-spacing: 1.3px;
  }
  .search-dialog {
    width: 100%;
    max-width: 100%;
    padding: 24px;
  }
  .search-field input {
    font-size: 30px;
  }
  .search-result {
    grid-template-columns: 65px 1fr;
    gap: 20px;
  }
  .search-result img {
    width: 65px;
    height: 82px;
  }
  .search-result h3 {
    font-size: 22px;
  }
  .search-result p {
    font-size: 9px;
  }
  .cart-dialog {
    padding: 24px;
  }
  .cart-dialog h2 {
    font-size: 34px;
  }
  .cart-item h3 {
    font-size: 22px;
  }
  .cart-item-actions {
    gap: 8px;
  }
  .image-dialog {
    padding: 16px;
  }
  .image-dialog .dialog-header {
    font-size: 8px;
    letter-spacing: .3px;
  }
  .zoom-frame {
    height: 75dvh;
  }
  .empty-state h1,.empty-state h2 {
    font-size: 38px;
  }
}
@media (max-width:370px) {
  .menu-button>span {
    display: none;
  }
  .header-actions {
    gap: 10px;
  }
  .wordmark {
    font-size: 25px;
    letter-spacing: 2px;
  }
  .swatches {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .campaign-copy h1 {
    font-size: 74px;
  }
  .card-info h3 {
    font-size: 19px;
  }
  .collection-search input {
    width: 145px;
  }
  .collection-filters {
    gap: 10px;
  }
  .collection-filters select {
    font-size: 9px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .campaign-image,.reveal-section {
    transform: none;
    animation: none;
    transition: none;
  }
  .reveal-section {
    opacity: 1;
  }
}
/* Anchored navigation and charcoal studio photo wells. */
:root {
  --photo: #4b4a46;
  --announcement-height: 22px;
  --navigation-height: 115px;
}
html {
  scroll-padding-top: calc(var(--announcement-height) + var(--navigation-height) + 20px);
}
body {
  padding-top: calc(var(--announcement-height) + var(--navigation-height));
}
.announcement {
  position: fixed;
  inset: 0 0 auto;
  height: var(--announcement-height);
  z-index: 41;
  background: #060606;
}
.site-header,.site-header.is-scrolled {
  position: fixed;
  inset: var(--announcement-height) 0 auto;
  z-index: 40;
  width: 100%;
  background: #090909;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  transition: none;
}
.header-inner {
  transition: none;
}
.editorial-photo,.product-image,.category-photo,.main-product-photo,.thumb-photo,.construction-photo,.zoom-frame,.cart-item>a,.search-result img,.checkout-item .checkout-image,.checkout-image img,.guide-card>img {
  background: var(--photo);
}
.main-product-photo>.view-badge {
  color: #e6ddcc;
}
.main-product-photo #photoAction {
  color: #eee7da;
  border-color: #9a8b73;
}
.gallery-controls {
  color: #e6ddcc;
  background: #24231fd9;
  border-color: #84775f;
}
img[aria-busy=true]:not([data-preview-ready]) {
  opacity: 0;
}
@media (max-width:760px) {
  :root {
    --announcement-height: 22px;
    --navigation-height: 77px;
  }
  html {
    scroll-padding-top: 119px;
  }
  .site-header,.site-header.is-scrolled {
    top: 22px;
  }
}
/* Our Story: generous reading measure and an unaltered, full-detail emblem. */
.about-hero>.underlined {
  display: inline-block;
  margin-top: 28px;
  padding: 12px 0;
  color: var(--gold);
}
.about-body p {
  font-size: 15px;
  line-height: 1.95;
  max-width: 62ch;
}
.about-body blockquote {
  font: 400 clamp(27px,3vw,39px)/1.3 var(--serif);
  color: var(--ink);
  border-left: 1px solid var(--gold);
  padding: 4px 0 4px 28px;
  margin: 45px 0;
  max-width: 28ch;
}
.story-emblem {
  text-align: center;
  padding: 80px var(--gutter) 96px;
  background: #080808;
  border-top: 1px solid #302b22;
  border-bottom: 1px solid #302b22;
}
.story-emblem h2 {
  font: 400 clamp(40px,5vw,67px)/1.08 var(--serif);
  letter-spacing: -1.3px;
  margin: 22px 0;
}
.story-emblem>p:not(.eyebrow) {
  font-size: 14px;
  line-height: 1.8;
  color: var(--muted);
}
.story-emblem-art {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  width: fit-content;
  max-width: 100%;
  margin: 50px auto 0;
  color: var(--ink);
}
.story-emblem-art img {
  display: block;
  width: min(650px,78vw);
  height: auto;
  max-width: 100%;
  object-fit: contain;
  filter: none;
  mix-blend-mode: normal;
}
.story-emblem-art:focus-visible {
  outline: 1px solid var(--gold);
  outline-offset: 12px;
}
.story-logo-original {
  display: inline-block;
  padding: 14px 0;
  margin-top: 12px;
  color: var(--muted);
}
.zoom-frame[data-view=emblem] {
  background: #080808;
}
.zoom-frame[data-view=emblem] img {
  object-fit: contain;
  mix-blend-mode: normal;
  filter: none;
  max-height: 100%;
  padding: 12px;
}
@media (max-width:760px) {
  .about-body p {
    font-size: 14px;
    line-height: 1.9;
  }
  .about-body blockquote {
    padding-left: 20px;
    margin: 35px 0;
  }
  .story-emblem {
    padding: 56px 6% 62px;
  }
  .story-emblem h2 {
    font-size: 41px;
    letter-spacing: -.8px;
  }
  .story-emblem-art {
    margin-top: 36px;
  }
  .story-emblem-art img {
    width: 82vw;
  }
  .story-emblem>p:not(.eyebrow) {
    font-size: 12px;
  }
  .about-invitation>p:not(.eyebrow) {
    font-size: 13px;
  }
}
.product-weight {
  font-size: 11px;
  letter-spacing: 1.1px;
  line-height: 1.7;
  color: var(--gold);
  margin: 0 0 18px;
}
/* Fabric weight stays readable wherever a piece is presented. */
.gsm-badge {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  gap: 5px;
  border: 1px solid #766345;
  background: #191610;
  color: #ead8b7;
  padding: 7px 10px;
  font: 600 12px/1.25 Arial,Helvetica,sans-serif;
  letter-spacing: .065em;
  text-transform: uppercase;
  vertical-align: middle;
}
.card-info .gsm-badge {
  margin: 1px 0 10px;
}
.card-info p {
  font-size: 11px;
  line-height: 1.65;
}
.product-weight {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  padding: 17px 18px;
  margin: 0 0 22px;
  border: 1px solid #6f5e42;
  background: #17140f;
  color: #ead8b7;
  letter-spacing: 0;
}
.product-weight strong {
  font: 500 24px/1.2 Arial,Helvetica,sans-serif;
  white-space: nowrap;
  letter-spacing: .035em;
}
.product-weight>span {
  font-size: 12px;
  line-height: 1.5;
  color: #d1c6b4;
}
.material-facts #fabricWeight {
  font-size: 44px;
  line-height: 1.1;
  color: #ead8b7;
}
.material-facts small {
  font-size: 10px;
  letter-spacing: 1px;
}
.cart-item .gsm-badge {
  margin: 8px 0 9px;
}
.checkout-item .gsm-badge {
  font-size: 14px;
  padding: 8px 11px;
}
.search-result .gsm-badge {
  margin: 0 8px 4px 0;
}
.footer .footer-weight {
  margin-top: 22px;
  font-size: 12px;
  line-height: 2;
  color: #b7b0a3;
}
.footer-weight strong {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .05em;
  color: #ead8b7;
  margin-left: 10px;
}
.about-body .gsm-badge {
  margin: 2px 4px;
  font-size: 14px;
}
.editorial-copy>.gsm-badge {
  margin-top: 8px;
}
.category-tile small {
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: .08em;
}
/* Full garment images replace oversized, offset supplier screenshots. */
.guide-jump-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}
.guide-jump-links a {
  padding: 14px 20px;
  border: 1px solid #6f5e42;
  color: #ead8b7;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .035em;
}
.guide-jump-links a:hover {
  background: #211c13;
  border-color: #bba377;
}
.gsm-explainer {
  max-width: 900px;
  margin: 0 auto 65px;
  padding: 24px 30px;
  border-top: 1px solid #594c37;
  border-bottom: 1px solid #594c37;
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 20px;
  align-items: start;
}
.gsm-explainer .eyebrow {
  margin: 3px 0 0;
  color: #d2c1a1;
  font-size: 10px;
}
.gsm-explainer p {
  font-size: 13px;
  line-height: 1.8;
  color: #b7b2a8;
  margin: 0;
}
.gsm-explainer strong {
  font-weight: 500;
  color: #f4f1ea;
}
.guide-section,.hoodie-guide {
  max-width: 1500px;
  margin-inline: auto;
}
.guide-grid,.hoodie-guide-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 65px 40px;
}
.guide-photo {
  display: block;
  width: 100%;
  aspect-ratio: 1/1.08;
  background: var(--photo);
  overflow: hidden;
}
.guide-photo img {
  display: block;
  position: static;
  inset: auto;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
  padding: 3%;
  transform: none;
  filter: none;
  mix-blend-mode: normal;
  background: var(--photo);
}
.guide-cut-heading {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 25px;
  margin: 27px 0 18px;
}
.guide-cut-heading .eyebrow {
  font-size: 9px;
  margin: 0 0 9px;
  line-height: 1.4;
  color: #c9b78f;
}
.guide-card .guide-cut-heading h3 {
  font: 400 36px/1.12 var(--serif);
  margin: 0;
  letter-spacing: -.5px;
}
.guide-card .guide-weight {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 94px;
  margin: 0;
  padding: 10px 13px;
  border-left: 1px solid #6f5e42;
  color: #ead8b7;
}
.guide-weight strong {
  font: 400 42px/1 var(--serif);
  letter-spacing: -1px;
}
.guide-weight span {
  font: 500 11px/1.3 Arial,Helvetica,sans-serif;
  letter-spacing: 2px;
  margin-top: 7px;
}
.guide-card p,.guide-card ul {
  font-size: 13px;
  line-height: 1.85;
}
.guide-card .guide-short {
  font-size: 13px !important;
  color: #e0d4c0 !important;
}
.guide-card .guide-sizes {
  color: #d1c5b0;
  margin: 18px 0 23px;
  font-size: 12px;
  letter-spacing: .04em;
}
.guide-card .underlined {
  font-size: 11px;
}
.guide-card,#shirt-cuts,#hoodie-cuts {
  scroll-margin-top: calc(var(--header-total,176px) + 24px);
}
@media (max-width:760px) {
  .gsm-badge {
    font-size: 12px;
    padding: 6px 8px;
  }
  .card-info .gsm-badge {
    margin-bottom: 8px;
  }
  .card-info p {
    font-size: 10px;
  }
  .category-tile small {
    font-size: 11px;
    letter-spacing: .035em;
  }
  .product-weight {
    padding: 15px;
    gap: 8px 15px;
  }
  .product-weight strong {
    font-size: 23px;
  }
  .product-weight>span {
    font-size: 12px;
  }
  .material-facts {
    gap: 28px;
  }
  .material-facts #fabricWeight {
    font-size: 38px;
  }
  .material-facts small {
    font-size: 9px;
  }
  .gsm-explainer {
    margin: 0 var(--gutter) 45px;
    padding: 22px 0;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .gsm-explainer p {
    font-size: 12px;
  }
  .guide-grid,.hoodie-guide-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .guide-photo {
    aspect-ratio: 1/1.06;
  }
  .guide-cut-heading {
    gap: 16px;
    margin-top: 23px;
  }
  .guide-card .guide-cut-heading h3 {
    font-size: 32px;
  }
  .guide-card .guide-weight {
    min-width: 80px;
    padding-right: 0;
  }
  .guide-weight strong {
    font-size: 39px;
  }
  .guide-card p,.guide-card ul {
    font-size: 12px;
  }
  .guide-jump-links {
    gap: 8px;
  }
  .guide-jump-links a {
    padding: 12px 13px;
    font-size: 11px;
  }
  .guide-card,#shirt-cuts,#hoodie-cuts {
    scroll-margin-top: 140px;
  }
}
/* Readable controls, forms and product hierarchy */
/* Shared refinements: readable control typography and a product-first hierarchy. */
:root {
  --text-readable: 14px;
  --control-readable: 13px;
}
button,input,select,textarea {
  font-size: var(--control-readable);
}
.field-heading,.sizeHint,.product-price,.product-section select,.product-intro,.product-details details p,.product-details details li,.gallery-description>p:not(.eyebrow),.guide-card>p,.guide-card li {
  font-size: 14px;
  line-height: 1.8;
}
.swatch>small,.sizes button,.product-details summary,.save-selection,.launch-note,.image-caption,.gallery-thumbnails>button>span:last-child,.collection-filters select,.collection-filters label,.sort-label select,.collection-search label,.card-info p {
  font-size: 12px;
}
.product-details summary {
  min-height: 35px;
}
.swatch {
  min-height: 48px;
}
.swatch>small {
  line-height: 1.45;
}
.button,.underlined,.campaign-link {
  font-size: 12px;
}
.footer-top {
  grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
  gap: 5%;
}
.footer h3 {
  font-size: 11px;
}
.footer-top>div:not(:first-child)>a,.footer p:not(.eyebrow) {
  font-size: 13px;
}
.footer-bottom {
  font-size: 10px;
}
.footer-privacy {
  color: var(--muted);
  padding: 0;
  border: 0;
  background: none;
  font-size: 12px;
  text-align: left;
  min-height: 40px;
}
.footer-privacy:hover {
  color: var(--gold);
}
.header-actions,.menu-button {
  font-size: 13px;
}
.product-breadcrumb {
  font-size: 12px;
}
.material-facts small {
  font-size: 10px;
}
.announcement {
  font-size: 10px;
}
.product-service-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  padding: 0 0 25px;
  font-size: 12px;
  color: var(--gold);
}
.product-service-links a {
  border-bottom: 1px solid #54472f;
  padding-bottom: 3px;
}
.launch-note a {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.size-table-scroll {
  overflow: auto;
  margin: 14px 0;
}
.size-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  white-space: nowrap;
}
.size-table caption {
  text-align: left;
  font-size: 11px;
  color: var(--gold);
  padding: 8px 0 15px;
}
.size-table th,.size-table td {
  border-bottom: 1px solid var(--line);
  padding: 12px 10px;
  text-align: left;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
.size-table thead th {
  color: var(--gold);
}
.measurement-note {
  font-size: 12px !important;
  line-height: 1.8;
}
.measurement-units {
  display: flex;
  gap: 6px;
  margin-top: 20px;
}
.measurement-units button {
  background: none;
  border: 1px solid var(--line);
  padding: 9px 12px;
  color: var(--muted);
  min-height: 40px;
  font-size: 12px;
}
.measurement-units button[aria-pressed=true] {
  border-color: var(--gold);
  color: var(--gold);
}
.guide-measurements {
  margin: 23px 0;
  border-block: 1px solid var(--line);
  padding: 17px 0;
}
.guide-measurements summary {
  font-size: 13px;
  color: var(--gold);
  cursor: pointer;
}
.campaign-hero {
  height: min(780px,calc(100svh - 110px));
  min-height: 610px;
  background: #151716;
}
.campaign-image {
  left: 48%;
  width: 52%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  z-index: -2;
  transform: none;
}
.campaign-shade {
  background: linear-gradient(90deg,#080b09 0%,#080b09b0 32%,transparent 60%);
  z-index: -1;
}
.campaign-copy {
  align-items: flex-start;
  text-align: left;
  width: 53%;
  padding: 55px 0 85px 6vw;
}
.campaign-copy h1 {
  font-size: clamp(68px,7.2vw,120px);
  letter-spacing: -3px;
}
.campaign-copy>p:not(.eyebrow) {
  font-size: 14px;
  letter-spacing: .2px;
  line-height: 1.9;
  max-width: 340px;
}
.campaign-copy .eyebrow {
  font-size: 10px;
}
.campaign-link {
  display: inline-flex;
  padding: 16px 22px;
  border: 1px solid var(--gold);
  color: #080808;
  background: var(--gold);
  letter-spacing: .08em;
}
.hero-secondary {
  font-size: 12px;
  color: #ded9ce;
  text-decoration: underline;
  text-underline-offset: 6px;
  margin-top: 24px;
}
.campaign-caption {
  font-size: 10px;
}
.join-page,.service-page {
  max-width: 1000px;
  margin: auto;
  padding: 90px var(--gutter) 120px;
}
.join-page {
  text-align: center;
  max-width: 850px;
}
.join-page>img {
  object-fit: contain;
  margin: 0 auto 30px;
  display: block;
}
.join-page h1,.service-page h1 {
  font: 400 clamp(43px,5.8vw,84px)/1.1 var(--serif);
  letter-spacing: -2px;
  margin: 20px 0 30px;
}
.join-page>p {
  max-width: 570px;
  margin: 20px auto;
  font-size: 15px;
  line-height: 1.9;
  color: var(--muted);
}
.service-page h2 {
  font: 28px var(--serif);
  margin: 45px 0 18px;
}
.service-page p,.service-copy {
  font-size: 16px;
  line-height: 1.9;
  color: #c7c2b7;
  margin: 23px 0;
}
.service-page a:not(.button) {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 5px;
}
.service-copy {
  white-space: pre-line;
}
.service-page .button {
  margin-top: 22px;
}
.join-form {
  text-align: left;
  max-width: 600px;
  margin: 35px auto;
}
.join-form>label {
  font-size: 12px;
  color: var(--gold);
}
.join-input-row {
  display: flex;
  margin-top: 11px;
}
.join-input-row input {
  min-width: 0;
  flex: 1;
  border: 1px solid #615a4c;
  background: #111;
  color: #fff;
  padding: 16px;
  font-size: 16px;
  border-radius: 0;
}
.join-input-row .button {
  white-space: nowrap;
  min-height: 58px;
}
.join-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 17px;
  color: var(--muted) !important;
  font-size: 12px !important;
  line-height: 1.8;
}
.join-consent input {
  margin-top: 4px;
  accent-color: var(--gold);
  min-width: 17px;
  height: 17px;
}
.join-consent a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.join-form [role=status] {
  font-size: 14px;
  min-height: 24px;
  color: var(--gold);
  margin-top: 18px;
}
.join-page .join-footnote {
  font-size: 12px;
  color: var(--muted);
}
.form-trap {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.edit-selection {
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.quote-price {
  font-size: 14px;
  color: var(--gold);
  margin: 12px 0;
}
.quote-status {
  font-size: 12px;
  color: var(--muted);
}
@media (max-width:760px) {
  .campaign-hero {
    height: auto;
    min-height: 0;
    max-height: none;
    display: flex;
    flex-direction: column;
    padding-bottom: 50px;
  }
  .campaign-image {
    position: relative;
    inset: auto;
    width: 100%;
    height: 430px;
    z-index: 0;
    order: 1;
    margin-top: 10px;
  }
  .campaign-copy {
    width: 100%;
    padding: 35px 25px 0;
    align-items: center;
    text-align: center;
    order: 0;
  }
  .campaign-copy h1 {
    font-size: 68px;
    letter-spacing: -2px;
    margin-bottom: 20px;
  }
  .campaign-copy .eyebrow {
    margin-bottom: 20px;
  }
  .campaign-copy>p:not(.eyebrow) {
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 23px;
  }
  .campaign-shade {
    display: none;
  }
  .campaign-caption {
    bottom: 18px;
    font-size: 9px;
  }
  .hero-secondary {
    margin-top: 18px;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 35px 20px;
  }
  .footer-top>div:first-child {
    grid-column: 1/-1;
  }
  .footer-bottom {
    font-size: 9px;
  }
  .header-actions {
    font-size: 12px;
  }
  .product-page {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .product-gallery {
    display: contents;
  }
  .gallery-stage {
    order: 0;
    width: 100%;
  }
  .image-caption {
    order: 1;
  }
  .gallery-thumbnails {
    order: 2;
    width: 100%;
  }
  .product-details {
    order: 3;
    width: 100%;
    padding-top: 32px;
  }
  .gallery-description {
    order: 4;
    width: 100%;
    margin-top: 35px;
  }
  .product-details h1 {
    font-size: 39px;
  }
  .main-product-photo #photoAction,.main-product-photo>.view-badge,#viewCount {
    font-size: 11px;
  }
  .gallery-controls button {
    width: 44px;
    height: 44px;
  }
  .gallery-thumbnails>button>span:last-child {
    font-size: 11px;
  }
  .swatches {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .swatch>small {
    font-size: 12px;
  }
  .swatch>span {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
  }
  .sizes button {
    font-size: 13px;
  }
  .button {
    font-size: 12px;
  }
  .join-page,.service-page {
    padding: 55px 24px 90px;
  }
  .join-input-row {
    display: block;
  }
  .join-input-row input {
    width: 100%;
    min-height: 55px;
  }
  .join-input-row button {
    width: 100%;
    margin-top: 10px;
  }
  .collection-filters select {
    font-size: 12px;
  }
  .product-price {
    font-size: 14px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .campaign-image {
    transform: none !important;
  }
}
/* Precision: one type scale, a non-obstructing privacy strip, and safe mobile controls. */
:root {
  --control-readable: 14px;
  --focus-ring: #e3c787;
  color-scheme: dark;
}
html {
  scroll-padding-top: 190px;
}
#main {
  min-width: 0;
}
[hidden] {
  display: none !important;
}
button,a,input,select,textarea,summary {
  -webkit-tap-highlight-color: transparent;
}
:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 5px;
}
.button {
  font-size: 12px;
  letter-spacing: 1.1px;
}
.menu-button,.header-actions button {
  min-height: 44px;
}
#searchButton {
  min-width: 44px;
}
.product-section select,.collection-filters select,.sort-label select,input[type=search],input[type=email] {
  font-size: 16px;
}
.field-heading a,.product-service-links a,.save-selection,.sizes button,.measurement-units button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.product-details summary,.guide-measurements summary {
  min-height: 44px;
}
.product-details h1,.card-info h3,.piece-story h2 {
  overflow-wrap: anywhere;
}
.analytics-choice {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 8px var(--gutter);
  background: #11120f;
  border-bottom: 1px solid #4e4635;
  max-width: none;
  width: 100%;
  box-shadow: none;
  z-index: 1;
}
.analytics-copy {
  min-width: 0;
}
.analytics-choice h2 {
  font: 500 12px/1.5 var(--sans);
  color: #f1ede5;
  margin: 0;
}
.analytics-choice p {
  color: #c4c0b7;
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
}
.analytics-choice a {
  color: #d9c28b;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}
.analytics-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}
.analytics-actions button {
  border: 1px solid #9c885e;
  background: transparent;
  color: #ece6d7;
  min-height: 44px;
  padding: 10px 18px;
  font-size: 12px;
  white-space: nowrap;
}
.analytics-actions button:hover {
  background: #24251e;
}
.analytics-actions button:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.collection-evidence {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  padding: 32px var(--gutter);
  border-bottom: 1px solid var(--line);
  gap: 28px;
  background: #0d0e0c;
}
.collection-evidence a {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}
.collection-evidence strong {
  display: block;
  color: var(--gold);
  font: 400 24px/1.3 var(--serif);
  margin-bottom: 7px;
}
.home-invitation {
  padding: 80px var(--gutter);
  border-top: 1px solid var(--line);
  background: #10110f;
  text-align: center;
}
.home-invitation h2 {
  font: 400 clamp(38px,4vw,64px)/1.1 var(--serif);
}
.home-invitation>p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
}
.client-form {
  margin: 35px 0;
  display: grid;
  gap: 24px;
  max-width: 720px;
}
.client-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.client-form label {
  display: grid;
  gap: 10px;
  font-size: 13px;
  color: var(--gold);
}
.client-form input:not([type=checkbox]),.client-form textarea,.client-form select {
  width: 100%;
  min-width: 0;
  background: #12130f;
  color: #f2eee7;
  border: 1px solid #625844;
  padding: 15px;
  font: 16px/1.6 Arial,sans-serif;
  border-radius: 0;
}
.client-form textarea {
  resize: vertical;
}
.client-form .join-consent {
  display: flex;
}
.client-form .button {
  justify-self: start;
}
.client-form [role=status] {
  min-height: 24px;
  margin: 0;
  font-size: 14px;
  color: var(--gold);
}
.client-form .form-note {
  font-size: 12px;
  line-height: 1.8;
  margin: 0;
}
.gallery-stage {
  isolation: isolate;
}
.preview-loading::after {
  pointer-events: none;
}
.product-image img[data-preview-failed=true] {
  opacity: .75;
}
@media (max-width:760px) {
  html {
    scroll-padding-top: 119px;
  }
  .analytics-choice {
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 5%;
  }
  .analytics-choice h2 {
    font-size: 12px;
  }
  .analytics-actions {
    width: 100%;
  }
  .analytics-actions button {
    flex: 1;
  }
  .campaign-copy h1 {
    font-size: clamp(48px,14vw,68px);
  }
  .campaign-copy {
    padding: 38px 6% 0;
  }
  .campaign-image {
    height: auto;
    aspect-ratio: 1/1;
    max-height: 520px;
  }
  .collection-evidence {
    grid-template-columns: 1fr;
    padding-block: 25px;
    gap: 19px;
  }
  .collection-evidence strong {
    font-size: 21px;
  }
  .collection-evidence a+a {
    padding-top: 18px;
    border-top: 1px solid var(--line);
  }
  .home-invitation {
    padding: 55px 6%;
  }
  .header-actions #cartButton,.menu-button {
    font-size: 12px;
  }
  .client-form-row {
    grid-template-columns: 1fr;
  }
  .product-details h1 {
    font-size: clamp(32px,9vw,42px);
  }
}
@media (prefers-reduced-motion:reduce) {
  .reveal-section {
    opacity: 1;
    transform: none;
  }
}

html[data-analytics-known=true] .analytics-choice:not([data-reopened]) { display:none; }

.size-guide-link { color:var(--gold);font-size:12px;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:0 0 0 8px;border:0;background:none; }
.field-heading { flex-wrap:wrap; }
.cut-comparison { padding:55px var(--gutter);max-width:1600px;margin:auto; }
.cut-comparison h2 { font:400 clamp(32px,4vw,54px)/1.2 var(--serif);margin:18px 0 25px; }
.cut-comparison a { color:var(--gold);text-decoration:underline;text-underline-offset:4px; }
.cut-comparison>p:last-child { color:var(--muted);font-size:14px;line-height:1.8;max-width:65ch; }

/* Collection discovery and house services. */
#mainNav { gap: clamp(14px,2.5vw,36px); height:44px; }
#mainNav a { height:44px; font-size:10px; }
.wordmark { gap:5px; font-size:29px; }
.header-emblem,.site-header.is-scrolled .header-emblem { width:20px; height:21px; }
.menu-dialog nav { gap:0; }
.menu-dialog nav a { font-size:clamp(23px,4vw,38px); padding:10px 0; min-height:44px; }
.menu-emblem { max-height:90px; object-fit:contain; }
.analytics-copy { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; }
.analytics-choice p { font-size:12px; }
.edit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 28px; }
.edit-tile { display:block; min-width:0; }
.edit-photo { aspect-ratio: 6/5; overflow:hidden; background:var(--photo); }
.edit-photo img { width:100%; height:100%; object-fit:contain; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.edit-tile:hover .edit-photo img { transform:scale(1.025); }
.edit-tile-copy { padding:25px 0 0; }
.edit-tile h3 { font:400 clamp(29px,3.1vw,47px)/1.1 var(--serif); margin:14px 0; }
.edit-tile p { max-width:49ch; color:var(--muted); line-height:1.85; font-size:14px; margin:0 0 15px; }
.editorial-intro { padding:70px var(--gutter) 65px; }
.editorial-intro h1 { font:400 clamp(48px,7vw,96px)/1.02 var(--serif); letter-spacing:-.035em; margin:22px 0; }
.editorial-intro>p:not(.eyebrow) { color:var(--muted); line-height:1.85; font-size:16px; max-width:57ch; margin-inline:auto; }
.editorial-intro .underlined { display:inline-flex; min-height:44px; margin-top:18px; align-items:center; }
.collection-chapter { display:grid; grid-template-columns:1.1fr 1fr; gap:6%; padding:50px var(--gutter) 80px; align-items:center; scroll-margin-top:150px; }
.collection-chapter:nth-of-type(odd) .chapter-photo { order:2; }
.chapter-photo { display:block; background:var(--photo); aspect-ratio:1/1.08; }
.chapter-photo img { width:100%; height:100%; object-fit:contain; }
.chapter-copy h2,.material-story h2,.finish-story h2,.care-section h2,.founder-note h2,.editorial-ending h2,.home-service h2 { font:400 clamp(36px,4.6vw,66px)/1.06 var(--serif); margin:22px 0; letter-spacing:-.03em; }
.chapter-copy>p,.material-story p,.finish-story p,.founder-note>p:not(.eyebrow),.editorial-ending p,.home-service p { font-size:15px; line-height:1.9; color:var(--muted); max-width:59ch; }
.chapter-copy .styling-note { margin:32px 0; padding-top:25px; border-top:1px solid var(--line); font-size:13px; }
.styling-note strong { display:block; font-weight:500; color:var(--gold-light); margin-bottom:8px; }
.text-link { display:block; text-decoration:underline; text-underline-offset:5px; margin-top:12px; min-height:44px; padding-block:12px; font-size:13px; line-height:1.5; }
.editorial-ending { text-align:center; padding:65px var(--gutter) 80px; border-top:1px solid var(--line); }
.editorial-ending p { margin:0 auto 25px; }
.material-story,.finish-story { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:center; padding:45px var(--gutter) 65px; }
.material-story img,.finish-story img { width:100%; aspect-ratio:1.1; object-fit:cover; }
.material-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 30px; }
.material-grid article { border-top:1px solid var(--line); padding-top:28px; }
.material-number { display:flex; gap:10px; align-items:baseline; font:400 65px/1 var(--serif); color:var(--gold-light); }
.material-number small { font:400 11px/1.5 var(--sans); letter-spacing:2px; }
.material-grid h3 { font:400 30px/1.15 var(--serif); margin:20px 0; }
.material-grid p { font-size:14px; line-height:1.85; color:var(--muted); margin-bottom:20px; }
.care-section { padding:65px var(--gutter); border-top:1px solid var(--line); }
.care-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; margin-block:40px; }
.care-grid article>span,.service-directory>a>span:first-child { color:var(--gold); font-size:11px; letter-spacing:2px; }
.care-grid h3 { font:400 29px/1.2 var(--serif); margin:18px 0; }
.care-grid p,.content-source { font-size:13px; color:var(--muted); line-height:1.8; }
.content-source a { text-decoration:underline; text-underline-offset:4px; }
.service-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:25px var(--gutter) 75px; gap:35px; }
.service-directory>a { padding-top:25px; border-top:1px solid var(--line); }
.service-directory h2 { font:400 35px/1.1 var(--serif); margin:25px 0; }
.service-directory p { color:var(--muted); line-height:1.9; font-size:14px; margin-bottom:24px; }
.faq-section { padding:50px var(--gutter) 80px; max-width:1050px; margin:auto; }
.faq-section h2 { font:400 48px/1.1 var(--serif); margin:20px 0 35px; }
.faq-section details { padding:20px 0; border-top:1px solid var(--line); }
.faq-section summary { cursor:pointer; min-height:44px; padding-block:10px; font-size:16px; line-height:1.5; }
.faq-section details p { line-height:1.9; color:var(--muted); font-size:14px; margin:10px 0 15px; }
.faq-section details a { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; text-underline-offset:4px; }
.founder-note { max-width:950px; margin:auto; padding:70px var(--gutter); border-top:1px solid var(--line); }
.founder-note>p { margin-bottom:24px; }
.founder-signature { color:var(--gold-light)!important; font:400 28px/1.5 var(--serif)!important; }
.founder-signature span { display:block; color:var(--muted); font:400 12px/1.7 var(--sans); }
.home-service { display:flex; align-items:center; gap:40px; padding:55px var(--gutter); border-top:1px solid var(--line); }
.home-service>div { margin-right:auto; }
.home-service h2 { font-size:42px; margin-block:12px; }
.home-service>.button,.home-service>.underlined { flex-shrink:0; }
.active-filters { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 25px; }
.active-filters:empty { display:none; }
.active-filters button,.search-suggestions button,.search-suggestions>a { border:1px solid var(--line); padding:11px 16px; min-height:44px; font-size:12px; color:var(--paper); background:transparent; }
.active-filters button span { margin-left:12px; color:var(--gold); }
.search-suggestions { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0 30px; }
.search-suggestions .eyebrow { flex-basis:100%; margin-bottom:5px; }
.cut-finder { margin:0 var(--gutter) 55px; padding:40px; border:1px solid #645a44; scroll-margin-top:140px; }
.cut-finder .section-heading { align-items:flex-start; gap:30px; }
.cut-finder .section-heading>p { max-width:35ch; color:var(--muted); font-size:14px; line-height:1.8; }
.finder-questions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.finder-questions fieldset { border:0; padding:0; margin:0; min-width:0; }
.finder-questions legend { font:400 23px/1.3 var(--serif); margin-bottom:18px; }
.finder-questions legend>span { display:block; font:400 11px/1.5 var(--sans); letter-spacing:2px; color:var(--gold); margin-bottom:10px; }
.finder-questions label { display:flex; align-items:center; gap:12px; cursor:pointer; border:1px solid var(--line); padding:14px; margin-bottom:10px; min-height:52px; font-size:13px; }
.finder-questions input { accent-color:var(--gold); width:18px; height:18px; flex-shrink:0; }
.finder-questions label:has(:checked) { border-color:var(--gold); background:#211d16; }
.finder-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:25px; }
.finder-actions>p { font-size:12px; color:var(--muted); }
.finder-results { margin-top:35px; border-top:1px solid var(--line); padding-top:28px; scroll-margin-top:150px; }
.finder-results>h3 { font:400 38px/1.2 var(--serif); margin:10px 0; }
.finder-results>p { font-size:13px; line-height:1.8; color:var(--muted); }
.finder-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:30px; }
.finder-result-grid h4 { font:400 31px/1.2 var(--serif); margin:17px 0; }
.finder-result-grid p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.85; margin-bottom:20px; }
.guide-fit-help { display:block; font-size:13px; min-height:44px; padding-block:15px; text-decoration:underline; text-underline-offset:4px; }
.saved-tools { display:flex; flex-wrap:wrap; gap:20px; align-items:center; margin-bottom:35px; }
.saved-tools p { font-size:13px; line-height:1.7; color:var(--muted); }
.saved-tools label { width:100%; font-size:13px; }
.saved-tools input { width:100%; border:1px solid var(--line); color:var(--paper); background:transparent; padding:15px; font-size:16px; margin-top:10px; }
.shared-selection { padding-bottom:50px; margin-bottom:40px; border-bottom:1px solid var(--line); }
.shared-selection h2 { font:400 44px/1.1 var(--serif); margin:20px 0; }
.shared-selection>p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.8; margin-bottom:25px; }
.shared-selection>.button { margin-top:25px; }
.recent-section { border-top:1px solid var(--line); }
@media(min-width:761px) and (max-width:1000px){ #mainNav { gap:14px; } #mainNav a { font-size:9px; letter-spacing:.6px; } }
@media(max-width:760px){
 .wordmark { font-size:26px; }
 .analytics-copy { gap:0 7px; }
 .analytics-actions { gap:8px; }
 .analytics-actions button { padding:8px 12px; }
 .editorial-intro { padding:44px 5% 40px; }
 .editorial-intro h1 { font-size:clamp(44px,12vw,64px); }
 .editorial-intro>p:not(.eyebrow) { font-size:14px; }
 .edit-grid { gap:35px 16px; }
 .edit-tile h3 { font-size:27px; }
 .edit-tile .eyebrow { font-size:8px; line-height:1.8; letter-spacing:1px; }
 .edit-tile p { font-size:12px; line-height:1.7; }
 .edit-tile-copy { padding-top:17px; }
 .collection-chapter,.material-story,.finish-story { grid-template-columns:1fr; gap:30px; padding:25px 5% 55px; }
 .collection-chapter:nth-of-type(odd) .chapter-photo { order:0; }
 .chapter-copy h2,.material-story h2,.finish-story h2 { font-size:42px; }
 .material-grid { grid-template-columns:1fr 1fr; gap:35px 22px; }
 .material-number { font-size:53px; }
 .material-grid h3 { font-size:27px; }
 .care-grid,.service-directory { grid-template-columns:1fr; gap:28px; }
 .care-section,.faq-section { padding:40px 5%; }
 .service-directory { padding:15px 5% 45px; }
 .faq-section h2 { font-size:39px; }
 .founder-note { padding:50px 5%; }
 .home-service { flex-wrap:wrap; gap:22px; padding:40px 5%; }
 .home-service>div { width:100%; }
 .cut-finder { margin:0 5% 40px; padding:25px 20px; }
 .cut-finder .section-heading { display:block; }
 .cut-finder .section-heading>p { margin-top:20px; }
 .finder-questions,.finder-result-grid { grid-template-columns:1fr; gap:25px; }
 .finder-actions .button { width:100%; }
 .finder-results { scroll-margin-top:115px; }
 .finder-actions { gap:15px 25px; }
}
@media(max-width:420px){ .edit-grid,.material-grid { grid-template-columns:1fr; } .edit-photo { aspect-ratio:1.15; } .edit-tile h3 { font-size:34px; } }
@media(prefers-reduced-motion:reduce){ .edit-photo img { transition:none; } }

/* Actual production mockups retain their neutral background and original color. */
.production-photo,.guide-photo,.product-gallery[data-production-mockups=true] .main-product-photo,.product-gallery[data-production-mockups=true] .thumb-photo,.zoom-frame[data-production-mockups=true] { background:#fff; }
.production-photo img,.product-gallery[data-production-mockups=true] img,.guide-photo img,.zoom-frame[data-production-mockups=true] img { mix-blend-mode:normal; filter:none; }
.production-photo img { padding:0; }
.product-gallery[data-production-mockups=true] .main-product-photo>.view-badge,.product-gallery[data-production-mockups=true] .main-product-photo #photoAction { color:#242424; background:#ffffffed; }
.product-gallery[data-production-mockups=true] .main-product-photo>.view-badge { padding:6px 9px; }
.product-gallery[data-production-mockups=true] .main-product-photo #photoAction { padding:8px 10px; }
.product-gallery[data-production-mockups=true] .main-product-photo[data-view=emblem],.product-gallery[data-production-mockups=true] .thumb-photo[data-view=emblem],.zoom-frame[data-production-mockups=true][data-view=emblem] { background:#292a29; }
.product-gallery[data-production-mockups=true] .main-product-photo[data-view=emblem]>img,.product-gallery[data-production-mockups=true] .thumb-photo[data-view=emblem]>img,.zoom-frame[data-production-mockups=true][data-view=emblem]>img { padding:20%; object-fit:contain; transform:none; }
.sleeve-signature { display:flex; align-items:center; gap:18px; width:100%; padding:18px 22px; margin:20px 0; border:1px solid var(--line); background:#202120; color:var(--ink); text-align:left; order:2; }
.sleeve-signature img { width:56px; height:60px; object-fit:contain; }
.sleeve-signature strong { display:block; font-weight:400; font-size:18px; }
.sleeve-signature small { display:block; margin-top:7px; color:var(--muted); font-size:11px; }
.sleeve-signature>span:last-child { margin-left:auto; color:var(--gold); font-size:24px; }
.mockup-color-note { position:absolute; left:12px; bottom:12px; padding:6px 8px; background:#fff; color:#292929; font-size:10px; }
.guide-example { font-size:12px; color:var(--muted); }
.guide-example a { text-decoration:underline; text-underline-offset:3px; }
.campaign-hero { background:#080b09; }
.campaign-image { background:#fff; }
.campaign-shade { background:none; }
.campaign-caption { background:#080b09; bottom:0; left:0; right:0; padding:18px var(--gutter); }
.category-photo,.edit-photo,.chapter-photo,.editorial-photo { background:#fff; }
.category-photo img,.edit-photo img,.chapter-photo img,.editorial-photo img { mix-blend-mode:normal; filter:none; }

.product-gallery[data-production-mockups=true] .main-product-photo[data-view=sleeve]>img,.product-gallery[data-production-mockups=true] .thumb-photo[data-view=sleeve]>img,.zoom-frame[data-production-mockups=true][data-view=sleeve]>img { padding:0; object-fit:contain; }
