/* TOMITA — Visual consistency, Phase 2 (local preview)
   Editorial cohesion without flattening the identities of the collections.
   All selectors begin inside .tm-vc; header, navigation, hero frames,
   photography, hover, imagery, and checkout/request interactions are excluded. */

.tm-vc {
  --vc-paper: #f3eee6;
  --vc-ink: #342b23;
  --vc-muted: #71665a;
  --vc-subtle: #8a7d70;
  --vc-rule: rgba(61,47,34,.17);
}
.tm-vc main { color:var(--vc-ink); }
.tm-vc main :is(section,article)[class*="border-t"] {
  border-top-color: var(--vc-rule) !important;
}
/* Quiet category markers, consistent from Material to Enquiry.
   Limited to editorial areas below the hero, not to controls or filters. */
.tm-vc-material main > section:not(:first-child)
  [class*="text-[10px]"][class*="uppercase"][class*="tracking-[0.4em]"],
.tm-vc-service main > section:not(:first-child)
  [class*="text-[10px]"][class*="uppercase"][class*="tracking-[0.4em]"],
.tm-vc-collection main > section:not(:first-child)
  [class*="text-[10px]"][class*="uppercase"][class*="tracking-[0.4em]"] {
  font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .24em !important;
  line-height: 1.6;
  color: var(--vc-subtle) !important;
}
/* Give the main ideas visual authority without enlarging the pages. */
.tm-vc-material main > section:not(:first-child) h2.font-display,
.tm-vc-service main > section:not(:first-child) h2.font-display,
.tm-vc-collection main > section:not(:first-child) h2.font-display {
  font-weight: 400 !important;
  letter-spacing: -.014em;
  text-wrap: balance;
}
.tm-vc-material main > section:not(:first-child) p[class*="font-light"],
.tm-vc-service main > section:not(:first-child) p[class*="font-light"],
.tm-vc-collection main > section:not(:first-child) p[class*="font-light"] {
  font-weight: 400 !important;
  line-height: 1.78 !important;
}
/* Material narratives: preserve alternating photography, unify their rhythm. */
.tm-vc-material main > section:nth-child(2) {
  padding-top: clamp(56px, 6.6vw, 86px) !important;
  padding-bottom: clamp(56px, 6.6vw, 86px) !important;
}
.tm-vc-material main > section:nth-child(2) > div > p {
  max-width: 44rem;
  margin-inline: auto;
  line-height: 1.8 !important;
}
.tm-vc-material main section > div > div[class*="space-y-4"] p {
  max-width: 62ch;
  color: #665d53;
}
/* The workshop images are art rather than content cards: captions stay compact. */
.tm-vc-material #craftProcess .cp-head {
  margin-bottom: clamp(40px, 6vh, 70px);
}
.tm-vc-material #craftProcess .cp-intro {
  max-width: 35ch;
  line-height: 1.76;
}
.tm-vc-material #craftProcess figcaption {
  margin-top: 14px;
  font-size: 10.5px;
  line-height: 1.55;
  letter-spacing: .14em;
  color: #796e63;
}
/* Subtle consistency at collections' photographed material notes.
   Their branded colours and cover imagery are preserved. */
.tm-vc-collection main > section:nth-child(2) {
  padding-top: clamp(56px, 6.6vw, 86px) !important;
}
.tm-vc-collection main > section:nth-child(2) > div > p {
  max-width: 43rem;
  margin-inline: auto;
  line-height: 1.76 !important;
}
.tm-vc-collection main figcaption {
  font-family: Inter,"Helvetica Neue",Arial,sans-serif !important;
  font-size: 10.5px !important;
  line-height: 1.6 !important;
  letter-spacing: .14em !important;
  color: #76695c;
}
.tm-vc-collection main > section:not(:first-child)
  [class*="text-[11px]"][class*="tracking-wide"] {
  color: var(--vc-muted);
}
/* Magazine is long-form reading: never set sentence captions in all caps. */
.tm-vc-magazine main > article {
  border-top-color: var(--vc-rule) !important;
}
.tm-vc-magazine main > article > div > header
  [class*="text-[10px]"][class*="uppercase"] {
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .24em !important;
}
.tm-vc-magazine main > article figcaption {
  font-family: Inter,"Helvetica Neue",Arial,sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  letter-spacing: .01em !important;
  line-height: 1.65 !important;
  margin-top: 14px !important;
  color: #786e64 !important;
}
.tm-vc-magazine main > article > div > header h2 {
  font-weight: 400 !important;
  letter-spacing: -.016em;
}
/* Heritage is archival. Keep its own timeline composition and photograph sizes. */
.tm-vc-story .hn-intro-archive figcaption,
.tm-vc-story .hn-entry-photo figcaption {
  font-family: Inter,"Helvetica Neue",Arial,sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  line-height: 1.6 !important;
  color: #796e63;
}
.tm-vc-story .hn-entry { border-color: var(--vc-rule); }
.tm-vc-story .hn-entry h2 {
  font-weight: 400;
  letter-spacing: -.014em;
  text-wrap: balance;
}
/* Enquiry pages need the same editorial type system, not an app-like form UI. */
.tm-vc-service main > section:not(:first-child)
  [class*="border-t"] {
  border-top-color: var(--vc-rule) !important;
}
.tm-vc-service main > section:not(:first-child) h3.font-display {
  font-weight: 400 !important;
  letter-spacing: -.009em;
}
@media (max-width: 767px) {
  .tm-vc-material main > section:nth-child(2) {
    padding-block: 54px !important;
  }
  .tm-vc-collection main > section:nth-child(2) {
    padding-top: 54px !important;
  }
  .tm-vc-material #craftProcess .cp-head {margin-bottom: 38px;}
  .tm-vc-magazine main > article figcaption {font-size: 11px !important;}
}
