:root {
  --lbd-ink: #191816;
  --lbd-text: #393733;
  --lbd-muted: #6f6a61;
  --lbd-cream: #f5f2ec;
  --lbd-ivory: #fbfaf7;
  --lbd-gold: #c8a45c;
  --lbd-gold-dark: #765824;
  --lbd-line: #ded8ce;
  --lbd-display: "Playfair Display", Georgia, serif;
  --lbd-body: "Inter", Arial, sans-serif;
}

.lbd-trust-page {
  overflow: hidden;
  background: var(--lbd-ivory);
  color: var(--lbd-text);
  font-family: var(--lbd-body);
}

.lbd-trust-page *,
.lbd-trust-page *::before,
.lbd-trust-page *::after { box-sizing: border-box; }

.lbd-shell { width: min(1320px, calc(100% - 96px)); margin-inline: auto; }
.lbd-section { padding: clamp(76px, 8.5vw, 132px) 0; background: var(--lbd-ivory); }
.lbd-section--ivory { background: var(--lbd-cream); }
.lbd-section--dark { background: var(--lbd-ink); color: #fff; }

.lbd-eyebrow {
  margin: 0 0 18px;
  color: var(--lbd-gold-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .24em;
  line-height: 1.4;
  text-transform: uppercase;
}

.lbd-trust-page h1,
.lbd-trust-page h2,
.lbd-trust-page h3 {
  color: var(--lbd-ink);
  font-family: var(--lbd-display);
  font-weight: 500;
}

.lbd-trust-page h1 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(50px, 5.6vw, 82px);
  letter-spacing: -.045em;
  line-height: .99;
  text-wrap: balance;
}

.lbd-trust-page h2 {
  max-width: 15ch;
  margin: 0;
  font-size: clamp(38px, 4.25vw, 62px);
  letter-spacing: -.035em;
  line-height: 1.04;
  text-wrap: balance;
}

.lbd-trust-page h3 { margin: 0; font-size: 26px; line-height: 1.15; }
.lbd-trust-page p { margin: 0; font-size: 16px; line-height: 1.8; }
.lbd-lead { max-width: 58ch; color: var(--lbd-muted); font-size: clamp(17px, 1.5vw, 20px) !important; }

.lbd-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 28px; }
.lbd-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  border: 1px solid transparent;
  border-radius: 1px;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .13em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.lbd-button:hover { transform: translateY(-2px); }
.lbd-button--gold { background: var(--lbd-gold); color: #111; }
.lbd-button--gold:hover { background: var(--lbd-gold-dark); color: #fff; }
.lbd-button--outline-light { border-color: rgba(255,255,255,.46); color: #fff; }
.lbd-button--outline-light:hover { border-color: #fff; color: #fff; }
.lbd-text-link {
  color: var(--lbd-ink);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}
.lbd-text-link span { display: inline-block; margin-left: 7px; transition: transform 180ms ease; }
.lbd-text-link:hover span { transform: translateX(4px); }
.lbd-button:focus-visible,
.lbd-text-link:focus-visible,
.lbd-back-link:focus-visible,
.lbd-project-card a:focus-visible { outline: 2px solid var(--lbd-gold); outline-offset: 5px; }

.lbd-hero { background: var(--lbd-cream); }
.lbd-hero--split { padding: clamp(64px, 7.5vw, 112px) 0; }
.lbd-hero__grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr); align-items: center; gap: clamp(56px, 8vw, 124px); }
.lbd-hero__copy { padding-block: 28px; }
.lbd-hero__copy .lbd-lead { margin: 30px 0 34px; }
.lbd-hero__media { position: relative; min-height: clamp(540px, 48vw, 720px); margin: 0; overflow: hidden; background: #d9d2c7; }
.lbd-hero__media img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.lbd-hero__media figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 13px 18px;
  background: rgba(25,24,22,.88);
  color: rgba(255,255,255,.78);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lbd-intro-grid { display: grid; grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr); gap: clamp(64px, 10vw, 152px); align-items: start; }
.lbd-prose { max-width: 720px; }
.lbd-prose p + p { margin-top: 22px; }

.lbd-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: clamp(62px, 7vw, 100px); border-top: 1px solid var(--lbd-line); }
.lbd-principles article { min-height: 292px; padding: 34px 34px 28px 0; border-right: 1px solid var(--lbd-line); }
.lbd-principles article + article { padding-left: 34px; }
.lbd-principles article:last-child { border-right: 0; }
.lbd-principles span { display: block; margin-bottom: 52px; color: var(--lbd-gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .16em; }
.lbd-principles h3 { max-width: 14ch; margin-bottom: 18px; }
.lbd-principles p { max-width: 33ch; color: var(--lbd-muted); font-size: 14px; line-height: 1.75; }

.lbd-media-copy { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); align-items: center; gap: clamp(58px, 9vw, 140px); }
.lbd-media-copy figure { min-height: clamp(440px, 42vw, 630px); margin: 0; overflow: hidden; background: #d8d3ca; }
.lbd-media-copy img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.lbd-media-copy h2 { margin-bottom: 30px; }
.lbd-media-copy p + p { margin-top: 18px; }

.lbd-factory-film__intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: clamp(54px, 9vw, 130px); align-items: end; margin-bottom: clamp(40px, 5vw, 68px); }
.lbd-factory-film__intro > p { color: var(--lbd-muted); font-size: 15px; }
.lbd-factory-film__media { aspect-ratio: 16 / 9; overflow: hidden; background: #171715; box-shadow: 0 24px 70px rgba(25,24,22,.13); }
.lbd-factory-film__media video { display: block; width: 100%; height: 100%; object-fit: contain; background: #171715; }

.lbd-section-heading { margin-bottom: clamp(48px, 6vw, 82px); }
.lbd-section-heading--light h2 { color: #fff; }
.lbd-section-heading--light .lbd-eyebrow { color: var(--lbd-gold); }
.lbd-process { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.2); list-style: none; }
.lbd-process li { display: grid; grid-template-columns: 42px 1fr; gap: 18px; min-height: 250px; padding: 32px 34px 30px 0; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.lbd-process li:nth-child(3n+2), .lbd-process li:nth-child(3n+3) { padding-left: 34px; }
.lbd-process li:nth-child(3n) { border-right: 0; }
.lbd-process li > span { color: var(--lbd-gold); font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.lbd-process h3 { margin-bottom: 15px; color: #fff; font-size: 24px; }
.lbd-process p { color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.7; }

.lbd-brief-grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr); gap: clamp(64px, 10vw, 150px); align-items: start; }
.lbd-brief-grid h2 { margin-bottom: 28px; }
.lbd-checklist { padding: clamp(34px, 4vw, 56px); border: 1px solid var(--lbd-line); background: #fff; }
.lbd-checklist h3 { margin-bottom: 24px; font-size: 24px; }
.lbd-checklist ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 28px; margin: 0; padding: 0; list-style: none; }
.lbd-checklist li { position: relative; padding-left: 18px; color: var(--lbd-text); font-size: 13px; line-height: 1.55; }
.lbd-checklist li::before { content: ""; position: absolute; top: .62em; left: 0; width: 6px; height: 6px; background: var(--lbd-gold); }
.lbd-note { margin-top: 28px !important; padding-top: 22px; border-top: 1px solid var(--lbd-line); color: var(--lbd-muted); font-size: 12px !important; line-height: 1.7 !important; }

.lbd-shared-cta { padding: clamp(72px, 8vw, 116px) 0; background: var(--lbd-ink); color: #fff; }
.lbd-shared-cta__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 56px; }
.lbd-shared-cta h2 { max-width: 780px; color: #fff; font-size: clamp(38px, 4.3vw, 64px); }
.lbd-shared-cta p:not(.lbd-eyebrow) { max-width: 690px; margin-top: 24px; color: rgba(255,255,255,.62); }
.lbd-shared-cta .lbd-eyebrow { color: var(--lbd-gold); }
.lbd-shared-cta .lbd-actions { flex: 0 0 auto; }

/* Projects landing */
.lbd-hero--projects { padding: clamp(72px, 7vw, 108px) 0 clamp(52px, 5vw, 76px); }
.lbd-projects-hero__inner { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr); gap: clamp(64px, 11vw, 170px); align-items: end; }
.lbd-projects-hero__inner h1 { max-width: 14ch; }
.lbd-projects-hero__inner .lbd-lead { margin-bottom: 30px; }
.lbd-project-list { padding-top: clamp(56px, 6vw, 88px); background: #fff; }
.lbd-project-list .lbd-section-heading { margin-bottom: clamp(36px, 4vw, 56px); }
.lbd-project-list__intro { max-width: 760px; margin-top: 20px; color: var(--lbd-muted); font-size: 15px; line-height: 1.75; }
.lbd-project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(50px, 6vw, 88px) clamp(28px, 4vw, 58px); }
.lbd-project-card { min-width: 0; }
.lbd-project-card:nth-child(even) { transform: translateY(64px); }
.lbd-project-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #dcd6cc; }
.lbd-project-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.lbd-project-card:hover .lbd-project-card__media img { transform: scale(1.025); }
.lbd-project-card__body { padding: 24px 0 0; }
.lbd-project-card__meta { margin-bottom: 11px !important; color: var(--lbd-gold-dark); font-size: 10px !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.lbd-project-card h3 { margin-bottom: 13px; font-size: clamp(28px, 2.4vw, 38px); }
.lbd-project-card h3 a { color: inherit; text-decoration: none; }
.lbd-project-card__body > p:not(.lbd-project-card__meta) { max-width: 58ch; margin-bottom: 19px; color: var(--lbd-muted); font-size: 14px; line-height: 1.7; }
.lbd-empty { padding: 60px; border: 1px solid var(--lbd-line); text-align: center; }

/* Project detail */
.lbd-project-single__hero { padding: clamp(58px, 6vw, 90px) 0 0; background: var(--lbd-cream); }
.lbd-back-link { display: inline-flex; gap: 9px; margin-bottom: clamp(48px, 6vw, 82px); color: var(--lbd-muted); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.lbd-project-single__heading { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr); gap: 60px; align-items: end; margin-bottom: clamp(48px, 6vw, 82px); }
.lbd-project-single__heading h1 { max-width: 15ch; }
.lbd-project-single__heading dl { margin: 0; border-top: 1px solid var(--lbd-line); }
.lbd-project-single__heading dl > div { display: grid; grid-template-columns: 90px 1fr; gap: 22px; padding: 16px 0; border-bottom: 1px solid var(--lbd-line); }
.lbd-project-single__heading dt { color: var(--lbd-muted); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.lbd-project-single__heading dd { margin: 0; color: var(--lbd-ink); font-size: 13px; }
.lbd-project-single__cover { position: relative; height: min(68vw, 820px); margin: 0; overflow: hidden; background: #d8d2c8; }
.lbd-project-single__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lbd-project-single__cover figcaption { position: absolute; right: 18px; bottom: 16px; max-width: min(520px, calc(100% - 36px)); padding: 9px 12px; background: rgba(25, 24, 22, .76); color: #fff; font-size: 11px; line-height: 1.45; }
.lbd-project-story { display: grid; grid-template-columns: minmax(220px, .5fr) minmax(0, 1.5fr); gap: clamp(64px, 10vw, 160px); align-items: start; }
.lbd-project-story aside { padding-top: 8px; border-top: 1px solid var(--lbd-line); }
.lbd-project-story aside .lbd-eyebrow { margin-top: 22px; }
.lbd-project-story aside p:last-child { color: var(--lbd-muted); font-size: 12px; line-height: 1.7; }
.lbd-project-content { font-size: 17px; }
.lbd-project-content h2 { max-width: none; margin: 2em 0 .65em; font-size: 38px; }
.lbd-project-content h3 { margin: 1.7em 0 .6em; }
.lbd-project-content ul { padding-left: 1.15em; }
.lbd-project-gallery__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 28px 24px; align-items: start; }
.lbd-project-gallery__grid figure { grid-column: span 6; margin: 0; overflow: hidden; background: #ddd6cb; }
.lbd-project-gallery__grid figure.is-wide { grid-column: 1 / -1; }
.lbd-project-gallery__grid figure:last-child:nth-child(odd):not(.is-wide) { grid-column: 3 / span 8; }
.lbd-project-gallery__grid img { display: block; width: 100%; height: auto; }
.lbd-project-gallery__grid figcaption { padding: 12px 14px 13px; border-top: 1px solid rgba(25,24,22,.08); background: #f4f0e9; color: var(--lbd-muted); font-size: 11px; line-height: 1.55; }

@media (max-width: 1024px) {
  .lbd-shell { width: min(100% - 64px, 1320px); }
  .lbd-hero__grid { grid-template-columns: .9fr 1.1fr; gap: 48px; }
  .lbd-hero__media { min-height: 560px; }
  .lbd-principles article { padding-right: 22px; }
  .lbd-principles article + article { padding-left: 22px; }
  .lbd-process { grid-template-columns: repeat(2, 1fr); }
  .lbd-process li:nth-child(n) { padding: 28px 26px; border-right: 1px solid rgba(255,255,255,.16); }
  .lbd-process li:nth-child(2n) { border-right: 0; }
  .lbd-brief-grid { gap: 54px; }
  .lbd-shared-cta__inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 767px) {
  .lbd-shell { width: min(100% - 36px, 1320px); }
  .lbd-section { padding: 72px 0; }
  .lbd-trust-page h1 { font-size: clamp(43px, 13vw, 62px); }
  .lbd-trust-page h2 { font-size: clamp(34px, 10vw, 48px); }
  .lbd-hero--split { padding: 62px 0 0; }
  .lbd-hero__grid, .lbd-intro-grid, .lbd-media-copy, .lbd-brief-grid, .lbd-projects-hero__inner, .lbd-project-single__heading, .lbd-project-story { grid-template-columns: 1fr; }
  .lbd-hero__grid { gap: 54px; }
  .lbd-hero__media { min-height: min(132vw, 570px); margin-inline: -18px; }
  .lbd-intro-grid, .lbd-media-copy, .lbd-brief-grid { gap: 44px; }
	.lbd-factory-film__intro { grid-template-columns: 1fr; gap: 28px; }
  .lbd-media-copy figure { min-height: 380px; }
  .lbd-principles { grid-template-columns: 1fr; }
  .lbd-principles article, .lbd-principles article + article { min-height: 0; padding: 26px 0 30px; border-right: 0; border-bottom: 1px solid var(--lbd-line); }
  .lbd-principles span { margin-bottom: 28px; }
  .lbd-process { grid-template-columns: 1fr; }
  .lbd-process li:nth-child(n) { min-height: 0; padding: 26px 0; border-right: 0; }
  .lbd-checklist { padding: 28px 24px; }
  .lbd-checklist ul { grid-template-columns: 1fr; }
  .lbd-shared-cta .lbd-actions, .lbd-shared-cta .lbd-button { width: 100%; }
  .lbd-project-grid { grid-template-columns: 1fr; gap: 52px; }
  .lbd-project-card:nth-child(even) { transform: none; }
  .lbd-project-single__heading { gap: 36px; }
  .lbd-project-single__cover { height: 112vw; max-height: 620px; margin-inline: -18px; }
  .lbd-project-gallery__grid { grid-template-columns: 1fr; gap: 24px; }
  .lbd-project-gallery__grid figure, .lbd-project-gallery__grid figure.is-wide, .lbd-project-gallery__grid figure:last-child:nth-child(odd):not(.is-wide) { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .lbd-trust-page *, .lbd-trust-page *::before, .lbd-trust-page *::after { scroll-behavior: auto !important; transition: none !important; }
}
