/* Triptyc London local chrome: Wix-era palette, no parastorage */
:root {
  --loom-ink: #2f2e2e;
  --loom-mute: #605e5e;
  --loom-taupe: #aa9283;
  --loom-blush: #e3c2af;
  --loom-cream: #f7f1ec;
  --loom-paper: #f1dfd5;
  --loom-night: #121110;
  --loom-rule: rgba(170, 146, 131, 0.45);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.tl-shell {
  margin: 0;
  color: var(--loom-ink);
  background: var(--loom-cream);
  font-family: "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  line-height: 1.65;
}

a { color: var(--loom-ink); }
a:hover { color: var(--loom-taupe); }

.tl-mast {
  background: var(--loom-night);
  color: #f4f0ea;
  position: sticky;
  top: 0;
  z-index: 40;
  border-bottom: 1px solid #2a2623;
}
.tl-mast-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 14px 22px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.tl-brand img {
  display: block;
  height: 58px;
  width: auto;
  max-width: 210px;
}
.tl-rail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 22px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.tl-rail a {
  color: #f4f0ea;
  text-decoration: none;
  letter-spacing: 0.28em;
  font-size: 11px;
  text-transform: uppercase;
}
.tl-rail a[aria-current="page"] { color: var(--loom-blush); }
.tl-cartmark {
  letter-spacing: 0.18em;
  font-size: 11px;
  text-transform: uppercase;
  color: var(--loom-blush);
  text-decoration: none;
  border: 1px solid var(--loom-taupe);
  padding: 6px 10px;
}
.tl-foldbtn {
  display: none;
  background: transparent;
  color: #f4f0ea;
  border: 1px solid var(--loom-taupe);
  letter-spacing: 0.2em;
  font-size: 10px;
  padding: 8px 10px;
  text-transform: uppercase;
}

.tl-stage { max-width: 1080px; margin: 0 auto; padding: 36px 22px 72px; }
.tl-heroplane {
  position: relative;
  min-height: 420px;
  background: #1a1715 center/cover no-repeat;
  display: grid;
  place-items: end start;
  margin-bottom: 42px;
}
.tl-heroplane figcaption {
  background: rgba(18, 17, 16, 0.72);
  color: #f4f0ea;
  padding: 22px 28px 26px;
  max-width: 36rem;
}
.tl-spaced {
  letter-spacing: 0.34em;
  text-transform: uppercase;
  font-size: 13px;
  margin: 0 0 8px;
}
.tl-kicker {
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-size: 11px;
  color: var(--loom-taupe);
  margin: 0 0 10px;
}
h1, h2, h3 {
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.25;
}
h1 { font-size: 2.1rem; margin: 0 0 16px; }
h2 { font-size: 1.45rem; margin: 2rem 0 0.7rem; }
h3 { font-size: 1.1rem; }

.tl-lede, .tl-copy p { max-width: 42rem; }
.tl-copy p { margin: 0 0 1rem; }
.tl-rule {
  border: 0;
  border-top: 1px solid var(--loom-rule);
  margin: 28px 0;
}

.tl-collect {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin: 28px 0 8px;
}
.tl-collect article {
  background: #fffdfb;
  border: 1px solid var(--loom-rule);
  padding: 0 0 18px;
}
.tl-collect img { width: 100%; height: 320px; object-fit: cover; display: block; }
.tl-collect h3 { margin: 14px 18px 6px; letter-spacing: 0.2em; font-size: 0.95rem; }
.tl-collect p { margin: 0 18px 12px; color: var(--loom-mute); font-size: 0.95rem; }
.tl-collect a.tl-more {
  margin: 0 18px;
  letter-spacing: 0.2em;
  font-size: 11px;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid var(--loom-taupe);
}

.tl-lifegrid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}
.tl-lifegrid article {
  background: var(--loom-paper);
  padding: 0 0 16px;
}
.tl-lifegrid img { width: 100%; height: 200px; object-fit: cover; display: block; }
.tl-lifegrid h3 { margin: 14px 16px 8px; font-size: 1rem; }
.tl-lifegrid p { margin: 0 16px 12px; font-size: 0.95rem; }
.tl-lifegrid a { margin: 0 16px; font-size: 0.9rem; }

.tl-product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: start;
}
.tl-product img { width: 100%; height: auto; display: block; background: var(--loom-paper); }
.tl-price { font-size: 1.2rem; letter-spacing: 0.08em; margin: 0 0 16px; }
.tl-ask {
  display: inline-block;
  background: var(--loom-night);
  color: #f4f0ea;
  text-decoration: none;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 11px;
  padding: 12px 18px;
}
.tl-ask:hover { color: var(--loom-blush); }

.tl-presscloth {
  margin: 1.4rem 0 0.4rem;
  padding: 1.1rem 1.2rem 0.2rem;
  background: #fffdfb;
  border-left: 5px solid var(--loom-taupe);
}
.tl-presscloth p { margin: 0 0 0.95rem; }

.tl-faqlist details {
  border-bottom: 1px solid var(--loom-rule);
  padding: 10px 0;
}
.tl-faqlist summary { cursor: pointer; font-weight: 600; }
.tl-faqlist p { margin: 8px 0 0; }

.tl-form label { display: block; margin: 12px 0 4px; font-size: 0.9rem; }
.tl-form input, .tl-form textarea, .tl-form select {
  width: 100%;
  max-width: 28rem;
  border: 1px solid var(--loom-taupe);
  background: #fffdfb;
  padding: 8px 10px;
  font: inherit;
}
.tl-form button {
  margin-top: 14px;
  background: var(--loom-night);
  color: #f4f0ea;
  border: 0;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 11px;
  padding: 11px 16px;
}

.tl-foot {
  background: var(--loom-night);
  color: #e8e0d8;
  padding: 36px 22px 28px;
}
.tl-foot-inner { max-width: 1080px; margin: 0 auto; }
.tl-footnav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
}
.tl-footnav a { color: #e8e0d8; text-decoration: none; font-size: 0.9rem; }
.tl-soc { display: flex; gap: 10px; margin: 12px 0 18px; }
.tl-soc img { width: 28px; height: 28px; }
.tl-yearline { font-size: 0.85rem; color: #c9b8aa; }
.tl-yearline i { font-style: normal; }

@media (max-width: 820px) {
  .tl-foldbtn { display: inline-block; }
  .tl-rail { display: none; width: 100%; flex-direction: column; align-items: flex-start; padding: 0 22px 16px; }
  .tl-mast.is-open .tl-rail { display: flex; }
  .tl-mast-inner { flex-wrap: wrap; }
  .tl-collect, .tl-lifegrid, .tl-product { grid-template-columns: 1fr; }
  .tl-heroplane { min-height: 320px; }
}
