
:root {
  --ink: #171311;
  --paper: #f3efe7;
  --paper-deep: #e8e0d5;
  --copper: #a64f2b;
  --copper-bright: #cf6b3d;
  --wine: #32150f;
  --olive: #767317;
  --line: rgba(23, 19, 17, 0.18);
  --muted: #6d655f;
  --review-red: #df1828;
  --review-red-soft: #fff0f2;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

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, textarea { font: inherit; }
button, a, summary, select { -webkit-tap-highlight-color: transparent; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto minmax(240px, 1fr);
  align-items: center;
  min-height: 86px;
  padding: 0 4vw;
  border-bottom: 1px solid var(--line);
  background: rgba(243, 239, 231, 0.94);
  backdrop-filter: blur(16px);
}

.brand {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 11px;
}

.brand--logo {
  height: 58px;
}

.brand-logo-image {
  display: block;
  width: 124px;
  height: auto;
  max-height: 58px;
  object-fit: contain;
}

.brand--footer-logo {
  padding: 5px 8px;
  background: white;
}

.brand--footer-logo .brand-logo-image {
  width: 140px;
  max-height: 69px;
}

.brand-mark {
  position: relative;
  display: flex;
  width: 48px;
  height: 34px;
  align-items: flex-end;
  justify-content: center;
  gap: 4px;
  border-top: 4px solid var(--copper-bright);
  transform: skewY(-1deg);
}

.brand-mark::before,
.brand-mark::after {
  position: absolute;
  top: -9px;
  width: 29px;
  height: 4px;
  background: var(--copper-bright);
  content: "";
}

.brand-mark::before { left: -4px; transform: rotate(-34deg); }
.brand-mark::after { right: -4px; transform: rotate(34deg); }
.brand-mark i { display: block; width: 3px; background: var(--copper); }
.brand-mark i:nth-child(1) { height: 17px; }
.brand-mark i:nth-child(2) { height: 27px; background: #6d2719; }
.brand-mark i:nth-child(3) { height: 23px; background: var(--olive); }
.brand-mark i:nth-child(4) { height: 14px; background: #9eb085; }

.brand-wordmark {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
  line-height: 0.9;
  letter-spacing: -1.3px;
}

.brand-wordmark strong { color: var(--copper); font-weight: 500; }
.brand-wordmark small {
  display: block;
  margin-top: 8px;
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 2.2px;
}

.desktop-nav {
  display: flex;
  gap: clamp(20px, 2.4vw, 38px);
  font-size: 13px;
  font-weight: 700;
}

.desktop-nav a, footer a { position: relative; }
.desktop-nav a::after, footer a::after {
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease;
}
.desktop-nav a:hover::after, footer a:hover::after { transform: scaleX(1); transform-origin: left; }

.header-cta {
  justify-self: end;
  padding: 13px 17px;
  border: 1px solid var(--ink);
  font-size: 12px;
  font-weight: 700;
  transition: background 160ms ease, color 160ms ease;
}
.header-cta span, .button span, .audience-card a span, .contact-form button span { display: inline-block; margin-left: 12px; }
.header-cta:hover { background: var(--ink); color: var(--paper); }
.mobile-menu { display: none; }

.hero {
  display: grid;
  min-height: calc(100vh - 86px);
  grid-template-columns: 58% 42%;
  grid-template-rows: 1fr auto;
  border-bottom: 1px solid var(--line);
}

.hero-copy {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  padding: clamp(70px, 10vw, 150px) 7vw 90px;
}

.eyebrow, .section-label {
  margin: 0 0 28px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.eyebrow::before, .section-label::before {
  display: inline-block;
  width: 28px;
  height: 1px;
  margin: 0 11px 3px 0;
  background: var(--copper);
  content: "";
}

.hero h1 {
  max-width: 800px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(55px, 6.7vw, 112px);
  font-weight: 400;
  letter-spacing: -0.06em;
  line-height: 0.91;
}
.hero h1 em { color: var(--copper); font-weight: 400; }

.hero-intro {
  max-width: 620px;
  margin: 38px 0 0;
  color: var(--muted);
  font-size: clamp(17px, 1.3vw, 21px);
  line-height: 1.55;
}

.hero-actions { display: flex; align-items: center; gap: 34px; margin-top: 42px; }
.button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  font-size: 13px;
  font-weight: 800;
}
.button--dark { background: var(--ink); color: var(--paper); }
.button--dark:hover { background: var(--copper); }
.button--outline { margin-top: 28px; border: 1px solid var(--ink); }
.button--outline:hover { background: var(--ink); color: var(--paper); }
.text-link { font-size: 13px; font-weight: 800; }
.text-link span { margin-left: 10px; }

.hero-art {
  position: relative;
  min-height: 660px;
  overflow: hidden;
  background: #588b77;
}
.hero-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.metal-plane {
  position: absolute;
  background: linear-gradient(145deg, rgba(230, 126, 69, 0.72), rgba(72, 20, 12, 0.75));
  box-shadow: inset 1px 0 rgba(255,255,255,0.2), 20px 30px 70px rgba(30, 8, 5, 0.35);
  transform: rotate(-17deg) skewY(8deg);
}
.metal-plane--one { top: -8%; right: -22%; width: 74%; height: 88%; }
.metal-plane--two { right: 22%; bottom: -34%; width: 42%; height: 85%; }
.metal-plane--three { top: 11%; left: -24%; width: 45%; height: 70%; opacity: 0.65; }

.hero-spec {
  position: absolute;
  z-index: 2;
  right: 34px;
  bottom: 32px;
  left: 34px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.5);
  color: white;
}
.hero-spec span { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; }
.hero-spec strong { font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 400; }

.hero-proof { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.hero-proof div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 18px; padding: 22px 4vw; border-right: 1px solid var(--line); }
.hero-proof div:last-child { border-right: 0; }
.hero-proof strong { font-family: Georgia, serif; font-size: 31px; font-weight: 400; }
.hero-proof span { max-width: 150px; color: var(--muted); font-size: 11px; line-height: 1.35; text-transform: uppercase; letter-spacing: 0.08em; }

.section-pad { padding: clamp(86px, 10vw, 150px) 7vw; }
.intro { background: #faf7f1; }
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; }
.intro h2, .section-heading h2, .materials-layout h2, .process-grid h2, .contact-copy h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5vw, 76px);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.98;
}
.intro .lead { margin: 0 0 24px; font-size: clamp(21px, 2.2vw, 32px); line-height: 1.35; }
.intro-grid > div > p:last-child, .materials-layout > div > p, .contact-copy > p { color: var(--muted); font-size: 16px; line-height: 1.65; }

.audience-section { background: var(--wine); color: var(--paper); }
.section-label--light::before { background: var(--copper-bright); }
.section-heading { display: grid; grid-template-columns: 2fr 1fr; align-items: end; gap: 6vw; margin-bottom: 64px; }
.section-heading > p { margin: 0; color: rgba(243,239,231,0.65); line-height: 1.6; }
.audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,0.2); border-bottom: 1px solid rgba(255,255,255,0.2); }
.audience-card { display: flex; min-height: 410px; flex-direction: column; padding: 28px 30px 30px; border-right: 1px solid rgba(255,255,255,0.2); transition: background 180ms ease, transform 180ms ease; }
.audience-card:last-child { border-right: 0; }
.audience-card:hover { background: rgba(207,107,61,0.14); transform: translateY(-4px); }
.card-topline { display: flex; justify-content: space-between; color: rgba(243,239,231,0.62); font-size: 10px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.audience-card h3 { max-width: 350px; margin: 67px 0 24px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 2.4vw, 42px); font-weight: 400; line-height: 1.05; }
.audience-card p { max-width: 390px; margin: 0; color: rgba(243,239,231,0.68); font-size: 14px; line-height: 1.65; }
.audience-card a { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.2); font-size: 12px; font-weight: 800; }

.work-section { background: #faf7f1; }
.section-heading--dark > p { color: var(--muted); }
.project-grid { display: grid; min-height: 620px; grid-template-columns: 1.35fr 0.85fr 0.85fr; gap: 14px; }
.project-card { position: relative; display: flex; min-height: 560px; overflow: hidden; flex-direction: column; justify-content: flex-end; padding: 24px; color: white; isolation: isolate; }
.project-card::before, .project-card::after { position: absolute; inset: 0; z-index: -2; content: ""; transition: transform 500ms ease; }
.project-card:hover::before { transform: scale(1.035); }
.project-card::after { z-index: -1; background: linear-gradient(180deg, rgba(10,7,6,0.04), rgba(10,7,6,0.78)); }
.project-card--ft::before { background: linear-gradient(120deg, transparent 38%, rgba(255,255,255,0.16) 38.2% 38.7%, transparent 39%), repeating-linear-gradient(90deg, #503c35 0 15%, #8f4e35 15.3% 15.8%, #352923 16% 31%); }
.project-card--pier::before { background: linear-gradient(155deg, transparent 47%, rgba(255,255,255,0.27) 47.2% 47.5%, transparent 47.7%), radial-gradient(circle at 68% 24%, #c3bda8, transparent 20%), linear-gradient(140deg, #76775f, #202722 64%); }
.project-card--residential::before { background: repeating-linear-gradient(105deg, rgba(255,255,255,0.16) 0 1px, transparent 1px 54px), linear-gradient(135deg, #c57143, #58271a 64%, #261612); }
.project-type { position: absolute; top: 24px; left: 24px; font-size: 10px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.project-lines { position: absolute; top: 0; right: 18%; width: 1px; height: 58%; background: rgba(255,255,255,0.38); }
.project-caption { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.5); }
.project-caption h3 { max-width: 360px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(22px, 2.1vw, 34px); font-weight: 400; line-height: 1.05; }
.project-caption span { flex: 0 0 auto; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; }
.image-note { max-width: 720px; margin: 16px 0 0 auto; color: var(--muted); font-size: 11px; line-height: 1.5; text-align: right; }

.materials-section { background: var(--paper-deep); }
.materials-layout { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 10vw; }
.materials-layout > div > p { max-width: 520px; margin-top: 28px; }
.material-list { border-top: 1px solid var(--line); }
.material-list article { display: grid; grid-template-columns: 52px 0.8fr 1.2fr; gap: 22px; align-items: start; padding: 27px 0; border-bottom: 1px solid var(--line); }
.material-list span { color: var(--copper); font-size: 10px; font-weight: 800; }
.material-list h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 28px; font-weight: 400; }
.material-list p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }

.process-section { background: var(--ink); color: var(--paper); }
.process-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; }
.process-grid ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,0.24); }
.process-grid li { display: grid; grid-template-columns: 58px 1fr; gap: 18px; padding: 25px 0; border-bottom: 1px solid rgba(255,255,255,0.24); }
.process-grid li > span { color: var(--copper-bright); font-size: 10px; font-weight: 800; }
.process-grid strong { font-family: Georgia, "Times New Roman", serif; font-size: 27px; font-weight: 400; }
.process-grid p { margin: 8px 0 0; color: rgba(243,239,231,0.63); font-size: 14px; }

.testimonial { text-align: center; }
.testimonial .section-label::before { display: none; }
.testimonial blockquote { max-width: 1060px; margin: 0 auto 32px; color: var(--copper); font-family: Georgia, "Times New Roman", serif; font-size: clamp(37px, 5.4vw, 80px); font-weight: 400; letter-spacing: -0.04em; line-height: 1.03; }
.testimonial cite { font-size: 11px; font-style: normal; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }

.contact-section { display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; padding: clamp(80px, 10vw, 145px) 7vw; background: var(--copper); color: white; }
.contact-copy h2 { max-width: 650px; }
.contact-copy > p { max-width: 580px; color: rgba(255,255,255,0.75); }
.direct-contact { display: flex; flex-wrap: wrap; gap: 14px 28px; margin-top: 42px; font-family: Georgia, "Times New Roman", serif; font-size: 20px; }
.contact-form { display: flex; flex-direction: column; gap: 22px; padding: 34px; background: var(--paper); color: var(--ink); }
.contact-form label { display: flex; flex-direction: column; gap: 9px; font-size: 10px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: 13px 2px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; outline: none; background: transparent; color: var(--ink); font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--copper); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-form button { display: flex; min-height: 54px; align-items: center; justify-content: space-between; padding: 0 18px; border: 0; background: var(--ink); color: white; cursor: pointer; font-size: 12px; font-weight: 800; }
.contact-form button:hover { background: var(--wine); }
.contact-form small { color: var(--muted); font-size: 10px; line-height: 1.4; }

footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; min-height: 130px; padding: 30px 4vw; background: var(--wine); color: var(--paper); }
.brand--footer .brand-wordmark { color: var(--paper); }
.brand--footer .brand-wordmark strong { color: var(--copper-bright); }
footer p { margin: 0; color: rgba(243,239,231,0.55); font-size: 10px; letter-spacing: 0.1em; text-align: center; text-transform: uppercase; }
footer > div { display: flex; justify-content: flex-end; gap: 24px; font-size: 11px; font-weight: 800; }

.brand--replace,
.brand--replace .brand-wordmark,
.brand--replace .brand-wordmark strong,
.brand--replace .brand-wordmark small { color: var(--review-red); }
.brand--replace .brand-mark { border-top-color: var(--review-red); }
.brand--replace .brand-mark::before,
.brand--replace .brand-mark::after,
.brand--replace .brand-mark i,
.brand--replace .brand-mark i:nth-child(1),
.brand--replace .brand-mark i:nth-child(2),
.brand--replace .brand-mark i:nth-child(3),
.brand--replace .brand-mark i:nth-child(4) { background: var(--review-red); }

.desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }

.projects-hero {
  display: grid;
  min-height: 640px;
  grid-template-columns: 1.55fr 0.75fr;
  grid-template-rows: 1fr auto;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}

.projects-hero-main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(90px, 11vw, 160px) 7vw 90px;
  border-right: 1px solid var(--line);
}

.projects-hero h1 {
  max-width: 920px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(74px, 9vw, 145px);
  font-weight: 400;
  letter-spacing: -0.065em;
  line-height: 0.84;
}

.projects-hero h1 em { color: var(--copper); font-weight: 400; }

.projects-hero-intro {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 70px 4vw 82px;
  background:
    radial-gradient(circle at 78% 20%, rgba(207,107,61,0.34), transparent 26%),
    var(--wine);
  color: var(--paper);
}

.projects-hero-intro p {
  max-width: 430px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 2.4vw, 40px);
  line-height: 1.12;
}

.projects-hero-intro a {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
  padding-top: 19px;
  border-top: 1px solid rgba(255,255,255,0.3);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.projects-concept-note {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 190px 1fr;
  gap: 24px;
  padding: 22px 7vw;
  border-top: 1px solid var(--line);
  background: #faf7f1;
}

.projects-concept-note strong {
  font-size: 10px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.projects-concept-note p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.project-gallery-section { background: #faf7f1; }

.project-gallery-heading {
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  align-items: end;
  gap: 7vw;
}

.project-gallery-heading h2,
.case-study-standard h2,
.projects-next-step h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(50px, 6vw, 90px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.94;
}

.project-gallery-heading > p {
  max-width: 440px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.project-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin: 62px 0 24px;
  padding: 17px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.project-filters { display: flex; flex-wrap: wrap; gap: 6px; }

.project-filters button {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}

.project-filters button:hover { border-color: var(--line); color: var(--ink); }
.project-filters button.is-active { background: var(--ink); color: var(--paper); }
.project-filters button:focus-visible { outline: 2px solid var(--copper); outline-offset: 2px; }

.project-filter-bar > p {
  flex: 0 0 auto;
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.project-index-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 16px;
  row-gap: 66px;
}

.project-index-card { min-width: 0; }
.project-index-card:nth-child(3n + 1) { grid-column: span 2; }
.project-index-card:nth-child(3n + 1) .project-index-visual { min-height: 650px; }

.project-index-visual {
  position: relative;
  display: flex;
  min-height: 510px;
  overflow: hidden;
  align-items: flex-start;
  justify-content: space-between;
  padding: 23px;
  color: white;
  isolation: isolate;
}

.project-index-visual::before,
.project-index-visual::after {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  transition: transform 450ms ease;
}

.project-index-visual::after {
  z-index: -1;
  background: linear-gradient(180deg, rgba(16,9,7,0.14), transparent 46%, rgba(16,9,7,0.36));
}

.project-index-card:hover .project-index-visual::before { transform: scale(1.025); }

.project-surface--ft::before {
  background:
    linear-gradient(147deg, transparent 0 45%, rgba(255,255,255,0.15) 45.2% 45.6%, transparent 45.8%),
    repeating-linear-gradient(90deg, #47322c 0 14%, #a75a37 14.2% 14.8%, #281d1a 15% 29%);
}

.project-surface--pier::before {
  background:
    linear-gradient(155deg, transparent 48%, rgba(255,255,255,0.2) 48.2% 48.5%, transparent 48.7%),
    radial-gradient(circle at 67% 20%, #d2c8aa, transparent 20%),
    linear-gradient(140deg, #8b8e75, #25312b 63%);
}

.project-surface--roof::before {
  background:
    repeating-linear-gradient(105deg, rgba(255,255,255,0.22) 0 1px, transparent 1px 72px),
    linear-gradient(140deg, #737878, #232727);
}

.project-surface--detail::before {
  background:
    linear-gradient(48deg, transparent 44%, rgba(255,255,255,0.22) 44.2% 44.6%, transparent 44.8%),
    repeating-linear-gradient(160deg, #73311f 0 17%, #c36c43 17.3% 17.8%, #562217 18% 34%);
}

.project-surface--wall::before {
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,0.18) 0 1px, transparent 1px 92px),
    linear-gradient(135deg, #697567, #1c2721 68%);
}

.project-surface--home::before {
  background:
    linear-gradient(132deg, transparent 0 50%, rgba(255,255,255,0.2) 50.2% 50.5%, transparent 50.8%),
    linear-gradient(145deg, #bb6740, #4f2118 66%, #21120f);
}

.project-index-visual > span {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.project-index-visual > strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 400;
}

.project-index-seams {
  position: absolute;
  top: 0;
  right: 22%;
  width: 1px;
  height: 70%;
  background: rgba(255,255,255,0.4);
}

.project-index-copy { padding-top: 20px; }

.project-index-meta {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.project-index-copy h3 {
  margin: 20px 0 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 3.1vw, 48px);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 1;
}

.project-index-copy > p {
  max-width: 620px;
  min-height: 44px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.project-index-copy > a {
  display: inline-flex;
  gap: 12px;
  margin-top: 20px;
  font-size: 11px;
  font-weight: 800;
}

.case-study-standard {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 10vw;
  background: var(--wine);
  color: var(--paper);
}

.case-study-standard-heading {
  position: sticky;
  top: 130px;
  align-self: start;
}

.case-study-standard-heading > p:last-child {
  max-width: 480px;
  margin: 30px 0 0;
  color: rgba(243,239,231,0.64);
  font-size: 15px;
  line-height: 1.65;
}

.case-study-field-list { border-top: 1px solid rgba(255,255,255,0.22); }
.case-study-field-list article {
  display: grid;
  grid-template-columns: 54px 0.75fr 1.25fr;
  gap: 20px;
  padding: 28px 0;
  border-bottom: 1px solid rgba(255,255,255,0.22);
}
.case-study-field-list span { color: var(--copper-bright); font-size: 10px; font-weight: 800; }
.case-study-field-list h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 400; }
.case-study-field-list p { margin: 0; color: rgba(243,239,231,0.63); font-size: 13px; line-height: 1.58; }

.projects-next-step {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 10vw;
  padding: clamp(86px, 10vw, 150px) 7vw;
  background: var(--paper-deep);
}

.projects-next-step > div:last-child { display: flex; align-items: flex-start; flex-direction: column; justify-content: flex-end; }
.projects-next-step > div:last-child > p { max-width: 520px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.68; }
.projects-next-step .button { margin-top: 32px; }

.help-hero {
  display: grid;
  min-height: 650px;
  grid-template-columns: 1.45fr 0.75fr;
  grid-template-rows: 1fr auto;
  border-bottom: 1px solid var(--line);
  background: #faf7f1;
}

.review-key {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 30px;
  padding: 10px 4vw;
  background: var(--review-red);
  color: white;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.review-key strong { margin-right: auto; }
.review-key span { display: inline-flex; align-items: center; gap: 8px; }
.review-key i { display: inline-block; width: 11px; height: 11px; border: 2px solid white; background: var(--review-red); }

.help-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(90px, 11vw, 160px) 7vw 90px;
  border-right: 1px solid var(--line);
}

.help-hero h1 {
  max-width: 940px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(70px, 8.4vw, 136px);
  font-weight: 400;
  letter-spacing: -0.065em;
  line-height: 0.86;
}

.help-hero h1 em { color: var(--copper); font-weight: 400; }

.help-hero-copy > p:last-child {
  max-width: 700px;
  margin: 42px 0 0;
  color: var(--muted);
  font-size: clamp(16px, 1.3vw, 20px);
  line-height: 1.6;
}

.help-route-nav {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 70px 4vw 74px;
  background:
    radial-gradient(circle at 82% 12%, rgba(207,107,61,0.34), transparent 28%),
    var(--wine);
  color: var(--paper);
}

.help-route-prompt { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 8px 20px; margin-bottom: 22px; }
.help-route-prompt > span { grid-column: 1 / -1; color: var(--copper-bright); font-size: 9px; font-weight: 900; letter-spacing: 0.15em; text-transform: uppercase; }
.help-route-prompt > strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 3vw, 44px); font-weight: 400; line-height: 1; }
.help-route-prompt > b { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(255,255,255,0.55); border-radius: 50%; color: var(--copper-bright); font-size: 22px; }

.help-route-nav > a {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 14px;
  align-items: center;
  margin-top: 9px;
  padding: 18px 16px;
  border: 1px solid rgba(255,255,255,0.28);
  border-left: 4px solid var(--copper-bright);
  background: rgba(255,255,255,0.07);
  cursor: pointer;
  transition: background 160ms ease, transform 160ms ease;
}

.help-route-nav > a:hover, .help-route-nav > a:focus-visible { background: rgba(255,255,255,0.16); transform: translateX(5px); }
.help-route-nav > a > span:first-child { color: var(--copper-bright); font-size: 10px; font-weight: 800; }
.help-route-nav strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-weight: 400; }
.help-route-nav small { display: block; margin-top: 5px; color: rgba(243,239,231,0.56); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; }
.help-route-nav > a > b { display: flex; min-width: 54px; align-items: center; justify-content: flex-end; gap: 7px; color: var(--copper-bright); font-size: 17px; font-weight: 400; }
.help-route-nav > a > b small { margin: 0; color: var(--paper); font-family: Arial, Helvetica, sans-serif; font-size: 8px; font-style: normal; font-weight: 900; letter-spacing: 0.12em; }
.help-route-nav a:hover > b { transform: translateY(4px); }

.help-hero-note {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
}

.help-hero-note span {
  padding: 22px 3vw;
  border-right: 1px solid var(--line);
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.help-hero-note span:last-child { border-right: 0; }
.help-role-list { background: var(--paper); }

.help-role {
  display: grid;
  grid-template-columns: 0.28fr 1.72fr;
  gap: 6vw;
  padding: clamp(90px, 10vw, 150px) 7vw;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 86px;
}

.help-role:nth-child(even) { background: var(--paper-deep); }

.help-role-index {
  position: sticky;
  top: 126px;
  align-self: start;
  padding-top: 4px;
}

.help-role-index > span {
  display: block;
  margin-bottom: 18px;
  color: var(--copper);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 48px;
}

.help-role-index > p {
  max-width: 130px;
  margin: 0;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
}

.help-role-body h2,
.help-comparison h2,
.help-final-cta h2 {
  max-width: 1020px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 6vw, 92px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.96;
}

.help-role-lead {
  max-width: 820px;
  margin: 34px 0 62px;
  color: var(--muted);
  font-size: clamp(18px, 1.8vw, 27px);
  line-height: 1.48;
}

.needs-photo {
  display: grid;
  min-height: 330px;
  grid-template-columns: 1.28fr 0.72fr;
  margin: 0 0 58px;
  border: 2px solid var(--review-red);
  background: var(--review-red-soft);
  color: var(--review-red);
}

.needs-photo-placeholder {
  position: relative;
  display: grid;
  min-height: 330px;
  overflow: hidden;
  place-items: center;
  border-right: 2px solid var(--review-red);
  background:
    linear-gradient(35deg, transparent calc(50% - 1px), var(--review-red) 50%, transparent calc(50% + 1px)),
    linear-gradient(-35deg, transparent calc(50% - 1px), var(--review-red) 50%, transparent calc(50% + 1px));
}

.needs-photo-placeholder::before {
  position: absolute;
  inset: 18px;
  border: 1px solid var(--review-red);
  content: "";
}

.needs-photo-placeholder span {
  position: relative;
  z-index: 1;
  padding: 10px 13px;
  background: var(--review-red-soft);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.needs-photo figcaption {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 34px;
}

.needs-photo figcaption strong {
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.needs-photo figcaption p { margin: 24px 0 0; font-size: 13px; line-height: 1.65; }

.help-route-brief {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.help-route-brief article {
  min-height: 190px;
  padding: 26px 28px 28px 0;
  border-right: 1px solid var(--line);
}

.help-route-brief article + article { padding-left: 28px; }
.help-route-brief article:last-child { border-right: 0; }
.help-route-brief h3 { margin: 0 0 42px; font-size: 10px; letter-spacing: 0.13em; text-transform: uppercase; }
.help-route-brief p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }

.help-value-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin-top: 54px;
  background: var(--line);
  border: 1px solid var(--line);
}

.help-value-grid article { min-height: 245px; padding: 28px; background: #faf7f1; }
.help-role:nth-child(even) .help-value-grid article { background: var(--paper); }
.help-value-grid span { color: var(--copper); font-size: 10px; font-weight: 800; }
.help-value-grid h3 { margin: 52px 0 14px; font-family: Georgia, "Times New Roman", serif; font-size: 29px; font-weight: 400; }
.help-value-grid p { max-width: 520px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.62; }

.needs-input-note {
  max-width: none;
  margin: 28px 0 0;
  padding: 18px 20px;
  border: 1px solid var(--review-red);
  background: var(--review-red-soft);
  color: var(--review-red);
  font-size: 12px;
  line-height: 1.55;
}

.needs-input-note strong {
  display: block;
  margin-bottom: 6px;
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.help-role-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-top: 38px;
}

.help-role-action > p { max-width: 560px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.58; }
.help-role-action .button { flex: 0 0 auto; }

.help-comparison { background: var(--wine); color: var(--paper); }
.help-comparison-heading { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 3vw 8vw; align-items: end; }
.help-comparison-heading > .section-label { grid-column: 1 / -1; }
.help-comparison-heading > p:last-child { margin: 0; color: rgba(243,239,231,0.62); font-size: 15px; line-height: 1.65; }

.help-table-wrap { margin-top: 70px; overflow-x: auto; border-top: 1px solid rgba(255,255,255,0.24); }
.help-table-wrap table { width: 100%; min-width: 850px; border-collapse: collapse; table-layout: fixed; }
.help-table-wrap th, .help-table-wrap td { padding: 25px 24px; border-right: 1px solid rgba(255,255,255,0.18); border-bottom: 1px solid rgba(255,255,255,0.18); vertical-align: top; text-align: left; }
.help-table-wrap tr > *:last-child { border-right: 0; }
.help-table-wrap thead th { color: var(--copper-bright); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }
.help-table-wrap tbody th { color: rgba(243,239,231,0.55); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; }
.help-table-wrap td { font-family: Georgia, "Times New Roman", serif; font-size: 20px; line-height: 1.35; }

.help-final-cta {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 9vw;
  padding: clamp(86px, 10vw, 150px) 7vw;
  background: var(--copper);
  color: white;
}

.help-final-cta .section-label::before { background: white; }
.help-final-cta > div:last-child { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; }
.help-final-cta > div:last-child > p { max-width: 540px; margin: 0; color: rgba(255,255,255,0.76); font-size: 15px; line-height: 1.7; }
.help-final-cta .button { margin-top: 32px; }
.help-final-cta .needs-input-note--cta { margin-top: 22px; background: white; }

.materials-page-hero {
  display: grid;
  min-height: 690px;
  grid-template-columns: 1.45fr 0.75fr;
  border-bottom: 1px solid var(--line);
  background: #faf7f1;
}

.materials-page-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(92px, 11vw, 165px) 7vw 96px;
  border-right: 1px solid var(--line);
}

.materials-page-hero h1 {
  max-width: 1040px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(66px, 7.8vw, 128px);
  font-weight: 400;
  letter-spacing: -0.066em;
  line-height: 0.86;
}

.materials-page-hero h1 em { color: var(--copper); font-weight: 400; }

.materials-page-hero-copy > p:last-child {
  max-width: 720px;
  margin: 42px 0 0;
  color: var(--muted);
  font-size: clamp(16px, 1.3vw, 20px);
  line-height: 1.6;
}

.material-hero-swatches {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--wine);
}

.material-hero-swatch {
  position: relative;
  display: flex;
  min-height: 345px;
  overflow: hidden;
  flex-direction: column;
  justify-content: flex-end;
  padding: 26px;
  border-right: 1px solid rgba(255,255,255,0.25);
  border-bottom: 1px solid rgba(255,255,255,0.25);
  color: white;
  isolation: isolate;
}

.material-hero-swatch::before,
.material-hero-swatch::after { position: absolute; inset: 0; z-index: -2; content: ""; transition: transform 300ms ease; }
.material-hero-swatch::after { z-index: -1; background: linear-gradient(180deg, rgba(10,6,5,0.03), rgba(10,6,5,0.62)); }
.material-hero-swatch:hover::before { transform: scale(1.04); }
.material-hero-swatch--copper::before { background: repeating-linear-gradient(100deg, transparent 0 23%, rgba(255,255,255,0.2) 23.2% 23.6%), linear-gradient(135deg, #cb7448, #6a2b20); }
.material-hero-swatch--zinc::before { background: repeating-linear-gradient(78deg, transparent 0 25%, rgba(255,255,255,0.24) 25.2% 25.5%), linear-gradient(140deg, #b6bab7, #4f5857); }
.material-hero-swatch--aluminium::before { background: repeating-linear-gradient(112deg, transparent 0 28%, rgba(255,255,255,0.18) 28.2% 28.5%), linear-gradient(142deg, #707674, #242a2a); }
.material-hero-swatch--stainless::before { background: repeating-linear-gradient(90deg, rgba(255,255,255,0.2) 0 1px, transparent 1px 18px), linear-gradient(145deg, #d0d0c8, #606562); }
.material-hero-swatch > span { position: absolute; top: 24px; left: 24px; font-size: 10px; font-weight: 800; letter-spacing: 0.1em; }
.material-hero-swatch strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(25px, 2.3vw, 38px); font-weight: 400; }
.material-hero-swatch small { margin-top: 10px; font-size: 9px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }

.warranty-principle {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 9vw;
  padding: clamp(86px, 10vw, 145px) 7vw;
  background: var(--wine);
  color: var(--paper);
}

.warranty-principle h2,
.material-snapshot h2,
.material-detail h2,
.finish-library h2,
.materials-source-standard h2,
.materials-final-cta h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 5.8vw, 90px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.96;
}

.warranty-principle-grid { border-top: 1px solid rgba(255,255,255,0.22); }
.warranty-principle-grid article { display: grid; grid-template-columns: 48px 0.72fr 1.28fr; gap: 20px; padding: 27px 0; border-bottom: 1px solid rgba(255,255,255,0.22); }
.warranty-principle-grid span { color: var(--copper-bright); font-size: 10px; font-weight: 800; }
.warranty-principle-grid h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 23px; font-weight: 400; }
.warranty-principle-grid p { margin: 0; color: rgba(243,239,231,0.64); font-size: 13px; line-height: 1.58; }

.material-snapshot { background: #faf7f1; }
.material-snapshot-heading { display: grid; grid-template-columns: 1.35fr 0.65fr; align-items: end; gap: 8vw; }
.material-snapshot-heading > p { max-width: 470px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.material-snapshot-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 68px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.material-snapshot-grid > a { min-height: 360px; padding: 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background 180ms ease, transform 180ms ease; }
.material-snapshot-grid > a:hover { background: var(--paper-deep); transform: translateY(-4px); }
.material-snapshot-grid > a > span { color: var(--copper); font-size: 10px; font-weight: 800; }
.material-snapshot-grid h3 { margin: 64px 0 42px; font-family: Georgia, "Times New Roman", serif; font-size: 34px; font-weight: 400; }
.material-snapshot-grid dl, .material-snapshot-grid dd { margin: 0; }
.material-snapshot-grid dl > div { padding: 16px 0; border-top: 1px solid var(--line); }
.material-snapshot-grid dt { margin-bottom: 7px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.material-snapshot-grid dd { font-size: 14px; font-weight: 800; }
.needs-input-value { color: var(--review-red) !important; }

.material-detail-list { background: var(--paper); }
.material-detail { padding: clamp(92px, 10vw, 150px) 7vw; border-bottom: 1px solid var(--line); scroll-margin-top: 86px; }
.material-detail:nth-child(even) { background: var(--paper-deep); }
.material-detail-heading { display: grid; grid-template-columns: 0.32fr 1.68fr; gap: 5vw; align-items: start; }
.material-detail-number { position: sticky; top: 126px; }
.material-detail-number > span { display: block; margin-bottom: 18px; color: var(--copper); font-family: Georgia, "Times New Roman", serif; font-size: 48px; }
.material-detail-number > p { max-width: 160px; margin: 0; font-size: 9px; font-weight: 800; letter-spacing: 0.11em; line-height: 1.55; text-transform: uppercase; }
.material-detail-lead { max-width: 900px; margin: 32px 0 0; color: var(--muted); font-size: clamp(18px, 1.75vw, 27px); line-height: 1.48; }

.material-finish { margin: 66px 0 0 16%; }
.material-finish > span { display: block; padding: 12px 0; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.material-finish > div { display: grid; min-height: 260px; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.material-finish i { position: relative; display: block; border-right: 1px solid rgba(255,255,255,0.35); }
.material-finish i:last-child { border-right: 0; }
.material-finish i::after { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 26%, rgba(255,255,255,0.22) 26.2% 26.5%); content: ""; }
.material-finish--copper i:nth-child(1) { background: linear-gradient(135deg, #dd9161, #b9502d); }
.material-finish--copper i:nth-child(2) { background: linear-gradient(135deg, #a75b37, #703220); }
.material-finish--copper i:nth-child(3) { background: linear-gradient(135deg, #5d3f2f, #2f2925); }
.material-finish--copper i:nth-child(4) { background: linear-gradient(135deg, #88a78c, #466f60); }
.material-finish--zinc i:nth-child(1) { background: linear-gradient(135deg, #d0d1cb, #969c98); }
.material-finish--zinc i:nth-child(2) { background: linear-gradient(135deg, #a7aca8, #767f7c); }
.material-finish--zinc i:nth-child(3) { background: linear-gradient(135deg, #7b8380, #505958); }
.material-finish--zinc i:nth-child(4) { background: linear-gradient(135deg, #4c5352, #252b2c); }
.material-finish--aluminium i:nth-child(1) { background: linear-gradient(135deg, #bfc1bd, #858c89); }
.material-finish--aluminium i:nth-child(2) { background: linear-gradient(135deg, #6e7471, #363c3c); }
.material-finish--aluminium i:nth-child(3) { background: linear-gradient(135deg, #858075, #514d46); }
.material-finish--aluminium i:nth-child(4) { background: linear-gradient(135deg, #3f4744, #17201e); }
.material-finish--stainless i:nth-child(1) { background: linear-gradient(135deg, #e4e1d8, #b4b6b2); }
.material-finish--stainless i:nth-child(2) { background: repeating-linear-gradient(95deg, #a9aca8 0 2px, #c6c7c0 2px 5px); }
.material-finish--stainless i:nth-child(3) { background: linear-gradient(135deg, #858986, #525756); }
.material-finish--stainless i:nth-child(4) { background: repeating-linear-gradient(45deg, #535a59 0 3px, #717775 3px 6px); }

.material-fact-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 54px 0 0 16%; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.material-fact-grid article { min-height: 260px; padding: 27px 28px 28px 0; border-right: 1px solid var(--line); }
.material-fact-grid article + article { padding-left: 28px; }
.material-fact-grid article:last-child { border-right: 0; }
.material-fact-grid article > span { display: block; margin-bottom: 42px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.material-fact-grid strong { display: block; margin-bottom: 18px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 3vw, 44px); font-weight: 400; line-height: 1; }
.material-fact-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.62; }

.material-best-for { display: grid; grid-template-columns: 0.4fr 1.6fr; gap: 30px; margin: 44px 0 0 16%; padding: 24px 0; border-bottom: 1px solid var(--line); }
.material-best-for > span { font-size: 9px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.material-best-for > p { max-width: 900px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }

.material-decision-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 60px 0 0 16%; border: 1px solid var(--line); background: var(--line); }
.material-decision-grid > article { padding: 35px; background: #faf7f1; }
.material-detail:nth-child(even) .material-decision-grid > article { background: var(--paper); }
.material-decision-grid ul { margin: 45px 0 0; padding: 0; list-style: none; }
.material-decision-grid li { position: relative; padding: 18px 0 18px 28px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.58; }
.material-decision-grid li::before { position: absolute; top: 20px; left: 0; color: var(--copper); content: "↗"; }

.material-brand-row, .material-source-row { display: grid; grid-template-columns: 0.4fr 1.6fr; gap: 30px; margin: 36px 0 0 16%; }
.material-brand-row > span, .material-source-row > span { padding-top: 12px; font-size: 9px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.material-brand-row > div { display: flex; flex-wrap: wrap; gap: 8px; }
.material-brand-row strong { padding: 11px 14px; border: 1px solid var(--line); font-size: 11px; }
.material-needs-photo { margin: 54px 0 0 16%; }
.material-confirmation { margin-left: 16%; }
.material-source-row { padding-top: 26px; border-top: 1px solid var(--line); }
.material-source-row > div { display: flex; flex-direction: column; align-items: flex-start; }
.material-source-row a { padding: 9px 0; color: var(--muted); font-size: 11px; font-weight: 800; text-decoration: underline; text-decoration-color: rgba(23,19,17,0.28); text-underline-offset: 4px; }
.material-source-row a:hover { color: var(--copper); }
.material-source-row .material-detail-route { margin-top: 16px; padding: 14px 16px; border: 1px solid var(--ink); color: var(--ink); text-decoration: none; }
.material-source-row .material-detail-route:hover { background: var(--ink); color: var(--paper); }

.finish-library { background: #faf7f1; }
.finish-library-heading { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 3vw 8vw; align-items: end; }
.finish-library-heading > .section-label { grid-column: 1 / -1; }
.finish-library-heading > p:last-child { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.finish-library-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 66px; border: 1px solid var(--review-red); background: var(--review-red); }
.finish-library-grid article { min-height: 245px; padding: 28px; background: var(--review-red-soft); color: var(--review-red); }
.finish-library-grid article > span { font-size: 9px; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.finish-library-grid strong { display: block; margin: 54px 0 14px; font-family: Georgia, "Times New Roman", serif; font-size: 28px; font-weight: 400; }
.finish-library-grid p { max-width: 560px; margin: 0; font-size: 12px; line-height: 1.6; }

.materials-source-standard { display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; background: var(--wine); color: var(--paper); }
.materials-source-standard > div:last-child > p:first-child { margin: 0; color: rgba(243,239,231,0.65); font-size: 16px; line-height: 1.7; }
.materials-source-standard .needs-input-note { margin-top: 34px; }

.materials-final-cta { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 9vw; padding: clamp(86px, 10vw, 150px) 7vw; background: var(--copper); color: white; }
.materials-final-cta .section-label::before { background: white; }
.materials-final-cta > div:last-child { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; }
.materials-final-cta > div:last-child > p { max-width: 540px; margin: 0; color: rgba(255,255,255,0.78); font-size: 15px; line-height: 1.7; }
.materials-final-cta .button { margin-top: 32px; }

/* Individual material pages */
.material-profile { --material-accent: var(--copper); --material-dark: var(--wine); }
.material-profile--zinc { --material-accent: #667a75; --material-dark: #26322f; }
.material-profile--copper { --material-accent: #b45c35; --material-dark: #32150f; }
.material-profile--aluminium { --material-accent: #68716e; --material-dark: #242a28; }
.material-profile--stainless-steel { --material-accent: #747c79; --material-dark: #29302e; }

.material-profile-hero {
  display: grid;
  min-height: 720px;
  grid-template-columns: 58% 42%;
  grid-template-rows: 1fr auto;
  border-bottom: 1px solid var(--line);
  background: #faf7f1;
}

.material-profile-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(76px, 9vw, 138px) 6vw 84px 7vw;
}

.material-breadcrumb {
  display: flex;
  gap: 10px;
  margin-bottom: 54px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.material-breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.material-breadcrumb a:hover { color: var(--material-accent); }
.material-profile-copy .eyebrow::before { background: var(--material-accent); }

.material-profile-copy h1 {
  max-width: 920px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(64px, 7.2vw, 116px);
  font-weight: 400;
  letter-spacing: -0.065em;
  line-height: 0.88;
}

.material-profile-copy h1 em { color: var(--material-accent); font-weight: 400; }
.material-profile-intro { max-width: 760px; margin: 36px 0 0; color: var(--muted); font-size: clamp(16px, 1.35vw, 21px); line-height: 1.62; }
.material-profile-actions { display: flex; align-items: center; gap: 30px; margin-top: 38px; }
.material-profile-actions .button { text-align: center; }
.material-profile-actions .button--dark:hover { background: var(--material-accent); }

.material-profile-art {
  position: relative;
  display: flex;
  min-height: 720px;
  overflow: hidden;
  flex-direction: column;
  justify-content: flex-end;
  padding: 32px;
  background: var(--material-dark);
  color: white;
}

.material-profile-planes { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(4, 1fr); transform: scale(1.22) rotate(-8deg); }
.material-profile-planes i { position: relative; display: block; border-right: 1px solid rgba(255,255,255,0.35); box-shadow: inset 24px 0 40px rgba(0,0,0,0.15); }
.material-profile-planes i::before { position: absolute; inset: 0; background: linear-gradient(112deg, rgba(255,255,255,0.25), transparent 28% 72%, rgba(0,0,0,0.23)); content: ""; }
.material-profile-planes i span { position: absolute; top: 13%; left: 18%; color: rgba(255,255,255,0.7); font-size: 9px; font-style: normal; font-weight: 800; letter-spacing: 0.12em; }

.material-profile-art-caption {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.5);
}

.material-profile-art-caption span { font-size: 9px; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.material-profile-art-caption strong { max-width: 250px; font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 400; line-height: 1.08; text-align: right; }

.material-profile-screen-note {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: auto 1fr;
  gap: 26px;
  align-items: center;
  padding: 18px 7vw;
  border-top: 1px solid var(--line);
  background: var(--paper-deep);
}

.material-profile-screen-note span { color: var(--material-accent); font-size: 9px; font-weight: 900; letter-spacing: 0.13em; text-transform: uppercase; }
.material-profile-screen-note p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }

.material-profile-stats { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 7vw; background: var(--paper); }
.material-profile-stats article { min-height: 285px; padding: 34px 3vw 34px 0; border-right: 1px solid var(--line); }
.material-profile-stats article + article { padding-left: 3vw; }
.material-profile-stats article:last-child { border-right: 0; }
.material-profile-stats article > span { display: block; min-height: 38px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: 0.12em; line-height: 1.4; text-transform: uppercase; }
.material-profile-stats strong { display: block; margin: 34px 0 18px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(31px, 3.4vw, 52px); font-weight: 400; letter-spacing: -0.04em; line-height: 0.95; }
.material-profile-stats p { max-width: 460px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.62; }

.material-spec-section { background: #faf7f1; }
.material-spec-heading, .manufacturer-library-heading, .sample-consultation-heading {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 7vw;
  align-items: end;
}

.material-spec-heading h2, .manufacturer-library-heading h2, .sample-consultation-heading h2, .material-evidence-heading h2 {
  max-width: 1020px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 5.8vw, 90px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.96;
}

.material-spec-heading > p, .manufacturer-library-heading > p, .sample-consultation-heading > p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
.material-spec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 70px; border: 1px solid var(--line); background: var(--line); }
.material-spec-grid article { min-height: 410px; padding: 30px 34px; background: var(--paper); }
.material-spec-grid article > span { color: var(--material-accent); font-size: 10px; font-weight: 800; }
.material-spec-grid h3 { margin: 64px 0 24px; font-family: Georgia, "Times New Roman", serif; font-size: 34px; font-weight: 400; }
.material-spec-grid ul { margin: 0; padding: 0; list-style: none; }
.material-spec-grid li { position: relative; padding: 18px 0 18px 28px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.58; }
.material-spec-grid li::before { position: absolute; top: 20px; left: 0; color: var(--material-accent); content: "↗"; }

.manufacturer-library { background: var(--material-dark); color: var(--paper); scroll-margin-top: 86px; }
.manufacturer-library .section-label::before { background: var(--material-accent); }
.manufacturer-library-heading > p { color: rgba(243,239,231,0.62); }
.manufacturer-list { display: flex; flex-direction: column; gap: 18px; margin-top: 72px; }
.manufacturer-panel { padding: clamp(28px, 4vw, 58px); background: var(--paper); color: var(--ink); }
.manufacturer-panel > header { display: grid; grid-template-columns: 48px 1fr auto; gap: 20px; align-items: end; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.manufacturer-panel > header > span { align-self: start; color: var(--material-accent); font-size: 10px; font-weight: 800; }
.manufacturer-panel > header p { margin: 0 0 8px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.manufacturer-panel > header h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(38px, 4vw, 62px); font-weight: 400; letter-spacing: -0.04em; }
.manufacturer-panel > header a { padding-bottom: 6px; font-size: 11px; font-weight: 800; }
.manufacturer-panel > header a span { margin-left: 10px; }
.manufacturer-introduction { max-width: 900px; margin: 34px 0 48px 68px; color: var(--muted); font-size: 15px; line-height: 1.68; }

.manufacturer-finish-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.manufacturer-finish-card { min-width: 0; background: #faf7f1; }
.manufacturer-finish-card > i { position: relative; display: block; height: 145px; overflow: hidden; }
.manufacturer-finish-card > i::after { position: absolute; inset: 0; background: repeating-linear-gradient(95deg, transparent 0 24%, rgba(255,255,255,0.2) 24.2% 24.5%); content: ""; }
.manufacturer-finish-card > div { min-height: 112px; padding: 18px; }
.manufacturer-finish-card strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 18px; font-weight: 400; line-height: 1.15; }
.manufacturer-finish-card span { display: block; margin-top: 9px; color: var(--muted); font-size: 10px; line-height: 1.48; }
.manufacturer-selection-note { margin: 26px 0 0; padding: 18px 20px; border-left: 2px solid var(--material-accent); background: var(--paper-deep); color: var(--muted); font-size: 11px; line-height: 1.58; }
.manufacturer-selection-note strong { margin-right: 8px; color: var(--ink); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; }
.manufacturer-photo-brief { margin: 58px 0 0; }
.accreditation-note { margin-top: 22px; }

.sample-consultation { background: #faf7f1; scroll-margin-top: 86px; }
.sample-request-shell { margin-top: 72px; border: 1px solid var(--line); }
.sample-request-picker { padding: clamp(28px, 4vw, 54px); background: var(--paper); }
.sample-request-step { display: grid; grid-template-columns: 56px 1fr; gap: 22px; }
.sample-request-step > span { color: var(--material-accent); font-size: 10px; font-weight: 800; }
.sample-request-step h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 3.5vw, 54px); font-weight: 400; letter-spacing: -0.035em; }
.sample-request-step p:last-child { max-width: 780px; margin: 18px 0 0; color: var(--muted); font-size: 13px; line-height: 1.65; }

.sample-option-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 48px; }
.sample-option { position: relative; display: grid; min-height: 92px; grid-template-columns: 46px 1fr auto; gap: 13px; align-items: center; padding: 10px 12px 10px 10px; border: 1px solid var(--line); background: #faf7f1; cursor: pointer; transition: border-color 160ms ease, transform 160ms ease, background 160ms ease; }
.sample-option:hover { transform: translateY(-2px); border-color: var(--material-accent); }
.sample-option.is-selected { border-color: var(--material-accent); background: var(--paper-deep); }
.sample-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.sample-option > i { display: block; width: 46px; height: 56px; border: 1px solid rgba(23,19,17,0.12); }
.sample-option small { display: block; margin-bottom: 6px; color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.sample-option strong { display: block; font-size: 11px; line-height: 1.3; }
.sample-option b { color: var(--material-accent); font-size: 16px; font-weight: 400; }
.sample-selection-summary { display: flex; align-items: center; gap: 16px; margin-top: 25px; padding-top: 22px; border-top: 1px solid var(--line); }
.sample-selection-summary span { color: var(--material-accent); font-family: Georgia, "Times New Roman", serif; font-size: 31px; }
.sample-selection-summary p { margin: 0; color: var(--muted); font-size: 11px; }

.sample-request-form { padding: clamp(28px, 5vw, 68px); background: var(--material-dark); color: var(--paper); }
.sample-request-step--form .section-label::before { background: var(--material-accent); }
.sample-request-step--form p:last-child { color: rgba(243,239,231,0.65); }
.sample-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px 18px; margin-top: 52px; }
.sample-form-grid label { display: flex; flex-direction: column; gap: 10px; color: rgba(243,239,231,0.72); font-size: 9px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.sample-form-grid input, .sample-form-grid select, .sample-form-grid textarea { width: 100%; border: 1px solid rgba(255,255,255,0.28); border-radius: 0; outline: none; background: rgba(255,255,255,0.06); color: var(--paper); }
.sample-form-grid input, .sample-form-grid select { min-height: 52px; padding: 0 14px; }
.sample-form-grid textarea { padding: 15px; resize: vertical; }
.sample-form-grid input::placeholder, .sample-form-grid textarea::placeholder { color: rgba(243,239,231,0.38); }
.sample-form-grid input:focus, .sample-form-grid select:focus, .sample-form-grid textarea:focus { border-color: var(--material-accent); }
.sample-form-grid select option { color: var(--ink); }
.sample-form-wide { grid-column: 1 / -1; }
.sample-upload input { padding: 14px; }
.needs-inline-input { color: #ff7582; font-size: 9px; font-weight: 700; letter-spacing: 0; line-height: 1.45; text-transform: none; }
.sample-form-submit { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-top: 38px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.23); }
.sample-form-submit > p { max-width: 560px; margin: 0; color: rgba(243,239,231,0.62); font-size: 11px; line-height: 1.6; }
.sample-form-submit button { min-height: 54px; padding: 0 22px; border: 0; background: var(--paper); color: var(--ink); cursor: pointer; font-size: 12px; font-weight: 800; }
.sample-form-submit button:hover { background: var(--material-accent); color: white; }
.sample-form-submit button span { margin-left: 14px; }
.sample-form-connection { margin-top: 26px; }
.sample-form-demo-result { margin: 13px 0 0; padding: 12px 15px; border: 1px solid var(--review-red); color: #ff7b87; font-size: 11px; }

.material-evidence { background: var(--material-dark); color: var(--paper); }
.material-evidence-heading .section-label::before { background: var(--material-accent); }
.material-evidence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; margin-top: 70px; }
.material-source-list, .material-related-list { display: flex; flex-direction: column; }
.material-source-list > span, .material-related-list > span { margin-bottom: 18px; color: rgba(243,239,231,0.5); font-size: 9px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.material-source-list > a { padding: 17px 0; border-top: 1px solid rgba(255,255,255,0.2); font-size: 12px; font-weight: 800; }
.material-source-list > a:hover { color: var(--material-accent); }
.material-source-list .needs-input-note { margin-top: 26px; }
.material-profile-stat--needs-input > * { color: var(--review-red) !important; }
.material-related-list > a:not(.all-materials-link) { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,0.2); }
.material-related-list > a:not(.all-materials-link):hover strong { color: var(--material-accent); }
.material-related-list strong { font-family: Georgia, "Times New Roman", serif; font-size: 27px; font-weight: 400; }
.material-related-list p { max-width: 480px; margin: 7px 0 0; color: rgba(243,239,231,0.55); font-size: 11px; line-height: 1.48; }
.material-related-list b { color: var(--material-accent); font-size: 18px; font-weight: 400; }
.all-materials-link { width: fit-content; margin-top: 25px; font-size: 11px; font-weight: 800; }
.all-materials-link span { margin-left: 10px; }

/* Current finish charts on the material overview */
.finish-library-current { display: flex; flex-direction: column; gap: 18px; margin-top: 66px; }
.finish-chart-card { border: 1px solid var(--line); background: var(--paper); }
.finish-chart-card > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding: 28px 32px; border-bottom: 1px solid var(--line); }
.finish-chart-card > header span { display: block; margin-bottom: 9px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.finish-chart-card > header h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 3.5vw, 52px); font-weight: 400; letter-spacing: -0.04em; }
.finish-chart-card > header a { flex: 0 0 auto; padding-bottom: 5px; font-size: 10px; font-weight: 800; }
.finish-chart-card > header a span { display: inline; margin: 0 0 0 9px; color: inherit; font-size: inherit; letter-spacing: normal; }
.finish-chart-manufacturers > section { display: grid; grid-template-columns: 220px 1fr; gap: 28px; padding: 26px 32px; border-bottom: 1px solid var(--line); }
.finish-chart-maker strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-weight: 400; }
.finish-chart-maker span { display: block; margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.finish-chart-swatches { display: grid; grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)); gap: 12px 8px; }
.finish-chart-swatches > div { min-width: 0; }
.finish-chart-swatches i { position: relative; display: block; height: 58px; overflow: hidden; border: 1px solid rgba(23,19,17,0.12); }
.finish-chart-swatches i::after { position: absolute; inset: 0; background: linear-gradient(110deg, rgba(255,255,255,0.2), transparent 45%, rgba(0,0,0,0.08)); content: ""; }
.finish-chart-swatches span { display: block; margin-top: 7px; font-size: 8px; font-weight: 700; line-height: 1.3; }
.finish-chart-caveat { margin: 0; padding: 15px 32px; background: var(--paper-deep); color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }

/* Expertise page */
.expertise-hero { display: grid; min-height: 690px; grid-template-columns: 1.4fr 0.8fr; grid-template-rows: 1fr auto; border-bottom: 1px solid var(--line); background: #faf7f1; }
.expertise-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(90px, 10vw, 150px) 7vw 90px; border-right: 1px solid var(--line); }
.expertise-hero h1 { max-width: 980px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(62px, 7.2vw, 116px); font-weight: 400; letter-spacing: -0.064em; line-height: 0.88; }
.expertise-hero h1 em { color: var(--copper); font-weight: 400; }
.expertise-hero-copy > p:last-child { max-width: 720px; margin: 38px 0 0; color: var(--muted); font-size: clamp(16px, 1.3vw, 20px); line-height: 1.62; }

.expertise-index { display: flex; flex-direction: column; justify-content: flex-end; padding: 64px 4vw 66px; background: radial-gradient(circle at 80% 12%, rgba(207,107,61,0.34), transparent 28%), var(--wine); color: var(--paper); }
.expertise-index > p { margin: 0 0 24px; color: rgba(243,239,231,0.56); font-size: 9px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.expertise-index > a { display: grid; grid-template-columns: 34px 1fr auto; gap: 12px; align-items: center; padding: 17px 0; border-top: 1px solid rgba(255,255,255,0.22); }
.expertise-index > a:last-child { border-bottom: 1px solid rgba(255,255,255,0.22); }
.expertise-index > a > span { color: var(--copper-bright); font-size: 9px; font-weight: 800; }
.expertise-index strong { font-family: Georgia, "Times New Roman", serif; font-size: 20px; font-weight: 400; }
.expertise-index b { font-size: 15px; font-weight: 400; transition: transform 160ms ease; }
.expertise-index a:hover b { transform: translateY(4px); }
.expertise-hero-note { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.expertise-hero-note span { padding: 21px 3vw; border-right: 1px solid var(--line); color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: 0.04em; }
.expertise-hero-note span:last-child { border-right: 0; }

.expertise-identity { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: 6vw 9vw; background: var(--paper); }
.expertise-identity-heading h2, .expertise-capabilities-heading h2, .expertise-proof-heading h2, .expertise-process h2, .expertise-final-cta h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 5.8vw, 90px); font-weight: 400; letter-spacing: -0.055em; line-height: 0.96; }
.expertise-identity-lead { margin: 0 0 24px; font-size: clamp(19px, 2vw, 29px); line-height: 1.42; }
.expertise-identity-story > p:not(.expertise-identity-lead) { max-width: 720px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.68; }
.expertise-identity-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 44px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.expertise-identity-stats article { min-height: 148px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.expertise-identity-stats strong { display: block; margin-bottom: 28px; color: var(--copper); font-family: Georgia, "Times New Roman", serif; font-size: 34px; font-weight: 400; }
.expertise-identity-stats span { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: 0.08em; line-height: 1.45; text-transform: uppercase; }
.expertise-team-photo { grid-column: 1 / -1; margin: 4px 0 0; }
.expertise-identity-confirmation { grid-column: 1 / -1; margin: -36px 0 0; }

.expertise-capabilities { background: var(--wine); color: var(--paper); }
.expertise-capabilities-heading { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 8vw; align-items: end; }
.expertise-capabilities-heading > p { margin: 0; color: rgba(243,239,231,0.62); font-size: 15px; line-height: 1.68; }
.expertise-capability-list { margin-top: 72px; border-top: 1px solid rgba(255,255,255,0.22); }
.expertise-capability { display: grid; grid-template-columns: 0.28fr 1.72fr; gap: 5vw; padding: 70px 0; border-bottom: 1px solid rgba(255,255,255,0.22); scroll-margin-top: 86px; }
.expertise-capability-index > span { display: block; margin-bottom: 18px; color: var(--copper-bright); font-family: Georgia, "Times New Roman", serif; font-size: 42px; }
.expertise-capability-index > p { max-width: 150px; margin: 0; color: rgba(243,239,231,0.55); font-size: 9px; font-weight: 800; letter-spacing: 0.12em; line-height: 1.55; text-transform: uppercase; }
.expertise-capability-body h3 { max-width: 1050px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(40px, 5vw, 74px); font-weight: 400; letter-spacing: -0.05em; line-height: 0.98; }
.expertise-capability-lead { max-width: 900px; margin: 30px 0 48px; color: rgba(243,239,231,0.67); font-size: clamp(16px, 1.5vw, 22px); line-height: 1.58; }
.expertise-capability-details { display: grid; grid-template-columns: 1fr 0.85fr; gap: 1px; border: 1px solid rgba(255,255,255,0.22); background: rgba(255,255,255,0.22); }
.expertise-capability-details > section { padding: 28px; background: rgba(255,255,255,0.04); }
.expertise-capability-details > section > span, .expertise-capability-details article > span { color: var(--copper-bright); font-size: 8px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.expertise-capability-details ul { margin: 27px 0 0; padding: 0; list-style: none; }
.expertise-capability-details li { position: relative; padding: 14px 0 14px 24px; border-top: 1px solid rgba(255,255,255,0.18); color: rgba(243,239,231,0.67); font-size: 12px; line-height: 1.55; }
.expertise-capability-details li::before { position: absolute; top: 16px; left: 0; color: var(--copper-bright); content: "↗"; }
.expertise-capability-details article + article { margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.18); }
.expertise-capability-details article p { margin: 15px 0 0; color: rgba(243,239,231,0.67); font-size: 12px; line-height: 1.58; }

.expertise-proof { background: #faf7f1; }
.expertise-proof-heading { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 3vw 8vw; align-items: end; }
.expertise-proof-heading .section-label { grid-column: 1 / -1; }
.expertise-proof-heading > p:last-child { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.68; }
.expertise-proof-photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 64px; }
.expertise-proof-photo { margin: 0; border: 2px solid var(--review-red); background: var(--review-red-soft); color: var(--review-red); }
.expertise-proof-photo > div { position: relative; display: grid; min-height: 300px; place-items: center; border-bottom: 2px solid var(--review-red); background: linear-gradient(35deg, transparent calc(50% - 1px), var(--review-red) 50%, transparent calc(50% + 1px)), linear-gradient(-35deg, transparent calc(50% - 1px), var(--review-red) 50%, transparent calc(50% + 1px)); }
.expertise-proof-photo > div::before { position: absolute; inset: 15px; border: 1px solid var(--review-red); content: ""; }
.expertise-proof-photo > div span { position: relative; z-index: 1; padding: 9px 11px; background: var(--review-red-soft); font-size: 9px; font-weight: 900; letter-spacing: 0.13em; text-transform: uppercase; }
.expertise-proof-photo figcaption { min-height: 190px; padding: 25px; }
.expertise-proof-photo figcaption strong { font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 400; }
.expertise-proof-photo figcaption p { margin: 18px 0 0; font-size: 11px; line-height: 1.58; }

.expertise-process { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 9vw; background: var(--ink); color: var(--paper); }
.expertise-process > div > p:last-child { max-width: 620px; margin: 32px 0 0; color: rgba(243,239,231,0.62); font-size: 14px; line-height: 1.65; }
.expertise-process ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,0.22); }
.expertise-process li { display: grid; grid-template-columns: 44px 0.55fr 1.45fr; gap: 20px; padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,0.22); }
.expertise-process li > span { color: var(--copper-bright); font-size: 9px; font-weight: 800; }
.expertise-process li strong { font-family: Georgia, "Times New Roman", serif; font-size: 23px; font-weight: 400; }
.expertise-process li p { margin: 0; color: rgba(243,239,231,0.6); font-size: 12px; line-height: 1.55; }

.expertise-final-cta { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 9vw; padding: clamp(86px, 10vw, 150px) 7vw; background: var(--copper); color: white; }
.expertise-final-cta .section-label::before { background: white; }
.expertise-final-cta > div:last-child { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; }
.expertise-final-cta > div:last-child > p:first-child { max-width: 560px; margin: 0; color: rgba(255,255,255,0.76); font-size: 15px; line-height: 1.7; }
.expertise-final-cta .button { margin-top: 30px; }
.expertise-final-cta .needs-input-note { margin-top: 22px; background: white; }

/* Red-review corrections for the original homepage and project index */
.hero-art--needs-photo { border: 2px solid var(--review-red); background: var(--review-red-soft); color: var(--review-red); }
.hero-art--needs-photo::before { z-index: 0; background: linear-gradient(35deg, transparent calc(50% - 1px), var(--review-red) 50%, transparent calc(50% + 1px)), linear-gradient(-35deg, transparent calc(50% - 1px), var(--review-red) 50%, transparent calc(50% + 1px)); mix-blend-mode: normal; }
.hero-art--needs-photo::after { inset: 18px; z-index: 0; border: 1px solid var(--review-red); background: transparent; }
.hero-art--needs-photo .metal-plane { display: none; }
.hero-photo-replace { position: absolute; z-index: 2; top: 50%; left: 50%; padding: 11px 14px; background: var(--review-red-soft); font-size: 9px; font-weight: 900; letter-spacing: 0.14em; text-transform: uppercase; transform: translate(-50%, -50%); }
.hero-art--needs-photo .hero-spec { border-top-color: var(--review-red); color: var(--review-red); }
.hero-art--needs-photo .hero-spec strong { max-width: 290px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 700; line-height: 1.45; text-align: right; }

.project-card--needs-photo { border: 2px solid var(--review-red); background: var(--review-red-soft); color: var(--review-red); }
.project-card--needs-photo::before { background: linear-gradient(35deg, transparent calc(50% - 1px), var(--review-red) 50%, transparent calc(50% + 1px)), linear-gradient(-35deg, transparent calc(50% - 1px), var(--review-red) 50%, transparent calc(50% + 1px)); }
.project-card--needs-photo::after { inset: 15px; z-index: -1; border: 1px solid var(--review-red); background: transparent; }
.project-card--needs-photo .project-lines { background: var(--review-red); }
.project-photo-replace { position: absolute; top: 50%; left: 50%; padding: 9px 11px; background: var(--review-red-soft); font-size: 9px; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; transform: translate(-50%, -50%); }
.project-card--needs-photo .project-caption { position: relative; z-index: 2; margin: 0 -8px -8px; padding: 18px; border: 1px solid var(--review-red); background: var(--paper); color: var(--ink); }
.homepage-project-note { max-width: none; text-align: left; }
.testimonial--needs-review blockquote, .testimonial--needs-review cite { color: var(--review-red); }
.homepage-review-note { max-width: 920px; margin: 38px auto 0; text-align: left; }
.contact-form small.needs-inline-input { color: var(--review-red); }

.projects-concept-note--review { border: 1px solid var(--review-red); background: var(--review-red-soft); color: var(--review-red); }
.projects-concept-note--review p { color: var(--review-red); }
.project-index-card--needs-photo .project-index-visual { border: 2px solid var(--review-red); background: var(--review-red-soft); color: var(--review-red); }
.project-index-card--needs-photo .project-index-visual::before { background: linear-gradient(35deg, transparent calc(50% - 1px), var(--review-red) 50%, transparent calc(50% + 1px)), linear-gradient(-35deg, transparent calc(50% - 1px), var(--review-red) 50%, transparent calc(50% + 1px)); }
.project-index-card--needs-photo .project-index-visual::after { inset: 16px; z-index: -1; border: 1px solid var(--review-red); background: transparent; }
.project-index-card--needs-photo .project-index-seams { background: var(--review-red); }
.project-index-photo-label { position: absolute; top: 50%; left: 50%; padding: 10px 12px; background: var(--review-red-soft); font-size: 9px; letter-spacing: 0.13em; text-transform: uppercase; transform: translate(-50%, -50%); }
.project-index-copy > .project-placeholder-action { display: inline-flex; margin-top: 20px; color: var(--review-red); font-size: 10px; font-weight: 800; }

/* Dedicated enquiry page */
.contact-page-hero { display: grid; min-height: 690px; grid-template-columns: 1.42fr 0.78fr; grid-template-rows: 1fr auto; background: #faf7f1; }
.contact-page-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(90px, 10vw, 150px) 7vw 90px; border-right: 1px solid var(--line); }
.contact-page-hero h1 { max-width: 980px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(60px, 7.2vw, 116px); font-weight: 400; letter-spacing: -0.064em; line-height: 0.88; }
.contact-page-hero h1 em { color: var(--copper); font-weight: 400; }
.contact-page-hero-copy > p:last-child { max-width: 730px; margin: 38px 0 0; color: var(--muted); font-size: clamp(16px, 1.3vw, 20px); line-height: 1.62; }
.contact-page-direct { display: flex; flex-direction: column; justify-content: flex-end; padding: 60px 4vw 65px; background: radial-gradient(circle at 80% 12%, rgba(207,107,61,0.34), transparent 27%), var(--wine); color: var(--paper); }
.contact-page-direct > p:first-child { margin: 0 0 28px; color: rgba(243,239,231,0.56); font-size: 9px; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.contact-page-direct > a { padding: 18px 0; border-top: 1px solid rgba(255,255,255,0.24); font-family: Georgia, "Times New Roman", serif; font-size: clamp(21px, 2vw, 31px); }
.contact-page-direct > a:nth-of-type(2) { border-bottom: 1px solid rgba(255,255,255,0.24); }
.contact-page-direct > div { margin-top: 34px; }
.contact-page-direct > div > span { color: rgba(243,239,231,0.5); font-size: 8px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.contact-page-direct > div > p { margin: 12px 0 0; font-size: 11px; line-height: 1.55; }
.contact-page-direct .needs-input-note { background: white; }
.contact-page-hero-note { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-page-hero-note span { padding: 21px 3vw; border-right: 1px solid var(--line); color: var(--muted); font-size: 10px; font-weight: 800; }
.contact-page-hero-note span:last-child { border-right: 0; }

.contact-route-section { background: var(--paper); }
.contact-route-heading { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 8vw; align-items: end; }
.contact-route-heading h2, .contact-next-steps h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 5.8vw, 90px); font-weight: 400; letter-spacing: -0.055em; line-height: 0.96; }
.contact-route-heading > p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.68; }
.contact-route-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 64px; border: 1px solid var(--line); background: var(--line); }
.contact-route-grid article { min-height: 300px; padding: 28px; background: #faf7f1; }
.contact-route-grid article > span { color: var(--copper); font-size: 10px; font-weight: 800; }
.contact-route-grid h3 { margin: 64px 0 18px; font-family: Georgia, "Times New Roman", serif; font-size: 29px; font-weight: 400; line-height: 1.05; }
.contact-route-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }

.contact-enquiry-section { background: var(--paper-deep); }
.enquiry-form { padding: clamp(34px, 5vw, 72px); background: var(--wine); color: var(--paper); }
.enquiry-form-heading { display: grid; grid-template-columns: 58px 1fr; gap: 22px; }
.enquiry-form-heading > span { color: var(--copper-bright); font-size: 10px; font-weight: 800; }
.enquiry-form-heading .section-label::before { background: var(--copper-bright); }
.enquiry-form-heading h2 { max-width: 980px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5vw, 76px); font-weight: 400; letter-spacing: -0.05em; line-height: 0.98; }
.enquiry-form-heading > div > p:last-child { max-width: 760px; margin: 25px 0 0; color: rgba(243,239,231,0.62); font-size: 14px; line-height: 1.65; }
.enquiry-section { margin: 52px 0 0; padding: 34px 0 0; border: 0; border-top: 1px solid rgba(255,255,255,0.22); }
.enquiry-section legend { display: flex; gap: 20px; padding: 0 20px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 24px; }
.enquiry-section legend span { color: var(--copper-bright); font-family: Arial, Helvetica, sans-serif; font-size: 9px; font-weight: 800; }
.enquiry-section-intro { max-width: 730px; margin: 18px 0 28px; color: rgba(243,239,231,0.6); font-size: 12px; line-height: 1.58; }
.enquiry-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px 18px; margin-top: 30px; }
.enquiry-form label { display: flex; flex-direction: column; gap: 10px; color: rgba(243,239,231,0.72); font-size: 9px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.enquiry-form input, .enquiry-form select, .enquiry-form textarea { width: 100%; border: 1px solid rgba(255,255,255,0.27); border-radius: 0; outline: none; background: rgba(255,255,255,0.06); color: var(--paper); }
.enquiry-form input, .enquiry-form select { min-height: 52px; padding: 0 14px; }
.enquiry-form textarea { padding: 15px; resize: vertical; }
.enquiry-form input::placeholder, .enquiry-form textarea::placeholder { color: rgba(243,239,231,0.38); }
.enquiry-form select option { color: var(--ink); }
.enquiry-form input:focus, .enquiry-form select:focus, .enquiry-form textarea:focus { border-color: var(--copper-bright); }
.enquiry-wide-field { grid-column: 1 / -1; margin-top: 28px; }
.enquiry-upload input { padding: 14px; }
.enquiry-form .needs-inline-input { color: #ff7f8a; font-size: 9px; font-weight: 700; letter-spacing: 0; line-height: 1.45; text-transform: none; }
.enquiry-material-options { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.enquiry-material-options label { display: grid; min-height: 64px; grid-template-columns: 1fr auto; align-items: center; padding: 0 15px; border: 1px solid rgba(255,255,255,0.25); background: rgba(255,255,255,0.04); cursor: pointer; }
.enquiry-material-options label.is-selected { border-color: var(--copper-bright); background: rgba(207,107,61,0.16); }
.enquiry-material-options input { position: absolute; width: 1px; height: 1px; min-height: 0; opacity: 0; }
.enquiry-material-options b { color: var(--copper-bright); font-size: 17px; font-weight: 400; }
.enquiry-consent { display: grid !important; grid-template-columns: 22px 1fr; gap: 13px !important; margin-top: 38px; padding: 20px; border: 1px solid rgba(255,255,255,0.24); text-transform: none !important; }
.enquiry-consent > input { width: 18px; height: 18px; min-height: 0; margin: 2px 0 0; }
.enquiry-consent > span { font-size: 11px; font-weight: 400; letter-spacing: 0; line-height: 1.55; }
.enquiry-consent small { display: block; margin-top: 7px; }
.enquiry-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-top: 36px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.22); }
.enquiry-submit-row p { max-width: 610px; margin: 0; color: rgba(243,239,231,0.6); font-size: 11px; line-height: 1.58; }
.enquiry-submit-row button { flex: 0 0 auto; min-height: 54px; padding: 0 22px; border: 0; background: var(--paper); color: var(--ink); cursor: pointer; font-size: 12px; font-weight: 800; }
.enquiry-submit-row button span { margin-left: 13px; }
.enquiry-submit-row button:hover { background: var(--copper-bright); color: white; }
.enquiry-connection-note { margin-top: 26px; }
.enquiry-demo-result { margin: 14px 0 0; padding: 14px 16px; border: 1px solid var(--review-red); color: #ff7f8a; font-size: 11px; }

.contact-next-steps { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 9vw; background: #faf7f1; }
.contact-next-steps ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.contact-next-steps li { display: grid; grid-template-columns: 42px 0.55fr 1.45fr; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.contact-next-steps li span { color: var(--copper); font-size: 9px; font-weight: 800; }
.contact-next-steps li strong { font-family: Georgia, "Times New Roman", serif; font-size: 23px; font-weight: 400; }
.contact-next-steps li p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.56; }

/* Enquiry confirmation */
.confirmation-hero { display: grid; min-height: 720px; grid-template-columns: 1.4fr 0.6fr; background: #faf7f1; border-bottom: 1px solid var(--line); }
.confirmation-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(84px, 10vw, 150px) 7vw; }
.confirmation-mark { display: grid; width: 62px; height: 62px; margin-bottom: 34px; place-items: center; border: 1px solid var(--copper); border-radius: 50%; color: var(--copper); font-size: 25px; }
.confirmation-hero h1 { max-width: 960px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(58px, 7vw, 108px); font-weight: 400; letter-spacing: -0.06em; line-height: 0.9; }
.confirmation-hero h1 em { color: var(--copper); font-weight: 400; }
.confirmation-hero-copy > p:last-of-type { max-width: 760px; margin: 36px 0 0; color: var(--muted); font-size: clamp(16px, 1.25vw, 20px); line-height: 1.65; }
.confirmation-actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.confirmation-contact { display: flex; flex-direction: column; justify-content: flex-end; padding: 60px 4vw 66px; background: radial-gradient(circle at 74% 12%, rgba(207,107,61,0.35), transparent 29%), var(--wine); color: var(--paper); }
.confirmation-contact > p { margin: 0 0 26px; color: rgba(243,239,231,0.56); font-size: 9px; font-weight: 900; letter-spacing: 0.13em; text-transform: uppercase; }
.confirmation-contact > a { padding: 18px 0; border-top: 1px solid rgba(255,255,255,0.24); font-family: Georgia, "Times New Roman", serif; font-size: clamp(20px, 2vw, 29px); }
.confirmation-contact > a:last-of-type { border-bottom: 1px solid rgba(255,255,255,0.24); }
.confirmation-contact > span { margin-top: 26px; color: rgba(243,239,231,0.68); font-size: 10px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.confirmation-steps { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 9vw; background: var(--paper); }
.confirmation-steps h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 5.8vw, 90px); font-weight: 400; letter-spacing: -0.055em; line-height: 0.96; }
.confirmation-steps ol { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.confirmation-steps li { display: grid; grid-template-columns: 42px 0.58fr 1.42fr; gap: 18px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.confirmation-steps li span { color: var(--copper); font-size: 9px; font-weight: 800; }
.confirmation-steps li strong { font-family: Georgia, "Times New Roman", serif; font-size: 23px; font-weight: 400; }
.confirmation-steps li p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.58; }
.confirmation-preview-note { margin: 0; padding: 28px 7vw; border: 0; border-top: 2px solid var(--review-red); border-bottom: 2px solid var(--review-red); }

/* Technical resources */
.resources-hero { display: grid; min-height: 690px; grid-template-columns: 1.35fr 0.65fr; border-bottom: 1px solid var(--line); background: #faf7f1; }
.resources-hero > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(88px, 10vw, 150px) 7vw; }
.resources-hero h1 { max-width: 980px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(62px, 7.6vw, 122px); font-weight: 400; letter-spacing: -0.064em; line-height: 0.88; }
.resources-hero h1 em { color: var(--copper); font-weight: 400; }
.resources-hero > div > p:last-child { max-width: 760px; margin: 38px 0 0; color: var(--muted); font-size: clamp(16px, 1.3vw, 20px); line-height: 1.62; }
.resources-hero > aside { display: flex; flex-direction: column; justify-content: flex-end; padding: 60px 4vw 70px; background: radial-gradient(circle at 78% 12%, rgba(207,107,61,0.35), transparent 27%), var(--wine); color: var(--paper); }
.resources-hero > aside > span { color: var(--copper-bright); font-size: 9px; font-weight: 900; letter-spacing: 0.14em; text-transform: uppercase; }
.resources-hero > aside h2 { margin: 30px 0 24px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 2.8vw, 43px); font-weight: 400; line-height: 1.08; }
.resources-hero > aside p { margin: 0; color: rgba(243,239,231,0.7); font-size: 13px; line-height: 1.7; }
.resource-audience-section { background: var(--paper); }
.resource-section-heading { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 7vw; align-items: end; }
.resource-section-heading .section-label { grid-column: 1 / -1; }
.resource-section-heading h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 5.7vw, 88px); font-weight: 400; letter-spacing: -0.055em; line-height: 0.96; }
.resource-section-heading > p:last-child { margin: 0; color: rgba(243,239,231,0.64); font-size: 14px; line-height: 1.68; }
.resource-audience-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 62px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.resource-audience-grid article { min-height: 290px; padding: 27px; border-right: 1px solid var(--line); }
.resource-audience-grid article:last-child { border-right: 0; }
.resource-audience-grid span { color: var(--copper); font-size: 9px; font-weight: 800; }
.resource-audience-grid h3 { margin: 68px 0 18px; font-family: Georgia, "Times New Roman", serif; font-size: 29px; font-weight: 400; }
.resource-audience-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.62; }
.resource-library { background: var(--wine); color: var(--paper); }
.resource-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 68px; }
.resource-card { min-height: 430px; padding: 30px; }
.resource-card--needs-file { border: 2px solid var(--review-red); background: rgba(255,55,75,0.07); color: #ff7f8a; }
.resource-card--live { border: 1px solid rgba(243,239,231,0.2); background: rgba(255,255,255,0.035); color: var(--paper); }
.resource-card--live .resource-card-topline { color: var(--copper-bright); }
.resource-card-source-label { display: block; margin-top: 32px; color: rgba(243,239,231,0.52); font-size: 10px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.resource-card-links { display: grid; gap: 8px; margin-top: 14px; }
.resource-card-links a { display: block; padding: 13px 15px; border: 1px solid rgba(243,239,231,0.2); color: var(--paper); font-size: 12px; line-height: 1.35; transition: border-color 180ms ease, color 180ms ease, background 180ms ease; }
.resource-card-links a:hover { border-color: var(--copper-bright); background: rgba(207,107,61,0.12); color: white; }
.resource-card-topline { display: flex; justify-content: space-between; gap: 24px; font-size: 9px; font-weight: 900; letter-spacing: 0.13em; text-transform: uppercase; }
.resource-card h3 { max-width: 620px; margin: 72px 0 20px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(31px, 3vw, 48px); font-weight: 400; line-height: 1; }
.resource-card > p { max-width: 650px; margin: 0; font-size: 12px; line-height: 1.62; }
.resource-file-status { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 30px; padding: 15px 0; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; }
.resource-file-status strong { font-size: 11px; }
.resource-file-status span { font-size: 8px; font-weight: 900; letter-spacing: 0.12em; }
.resource-card-instruction { margin-top: 26px !important; padding: 16px; border: 1px solid currentColor; background: rgba(255,255,255,0.03); }
.resource-card-instruction strong { display: block; margin-bottom: 7px; font-size: 8px; letter-spacing: 0.12em; text-transform: uppercase; }
.resource-boundary { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 9vw; background: var(--copper); color: white; }
.resource-boundary h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 5.8vw, 88px); font-weight: 400; letter-spacing: -0.055em; line-height: 0.96; }
.resource-boundary > div:last-child { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; }
.resource-boundary > div:last-child > p { margin: 0; font-size: 15px; line-height: 1.68; }
.resource-boundary ul { margin: 28px 0 0; padding: 0; list-style: none; }
.resource-boundary li { position: relative; margin-top: 13px; padding-left: 22px; font-size: 12px; line-height: 1.55; }
.resource-boundary li::before { position: absolute; top: 7px; left: 0; width: 8px; height: 1px; background: white; content: ""; }
.resource-boundary .button { margin-top: 34px; }

/* Reusable project case-study page */
.case-project-hero { display: grid; min-height: 760px; grid-template-columns: 1.05fr 0.95fr; border-bottom: 1px solid var(--line); background: #faf7f1; }
.case-project-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(82px, 9vw, 135px) 6vw 82px 7vw; }
.case-project-copy h1 { max-width: 900px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(64px, 7.2vw, 116px); font-weight: 400; letter-spacing: -0.064em; line-height: 0.88; }
.case-project-summary { max-width: 730px; margin: 38px 0 0; font-size: clamp(16px, 1.4vw, 21px); line-height: 1.62; }
.case-project-hero-photo { display: grid; grid-template-rows: 1fr auto; margin: 0; border: 2px solid var(--review-red); background: var(--review-red-soft); color: var(--review-red); }
.case-project-hero-photo .needs-photo-placeholder { min-height: 610px; border-right: 0; border-bottom: 2px solid var(--review-red); }
.case-project-hero-photo figcaption { padding: 24px 28px; font-size: 11px; line-height: 1.55; }
.case-project-facts { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 7vw; background: var(--paper); }
.case-project-facts article { min-height: 154px; padding: 26px 24px 26px 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.case-project-facts article + article { padding-left: 24px; }
.case-project-facts article:nth-child(4n) { border-right: 0; }
.case-project-facts article > span { display: block; margin-bottom: 33px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.case-project-facts strong { font-size: 12px; line-height: 1.45; }

.case-project-brief { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 9vw; background: #faf7f1; }
.case-project-brief h2, .case-project-scope h2, .case-project-photo-heading h2, .case-project-next h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 5.8vw, 90px); font-weight: 400; letter-spacing: -0.055em; line-height: 0.96; }
.case-project-brief-lead { margin: 0; font-size: clamp(19px, 2vw, 29px); line-height: 1.45; }
.case-project-questions { margin-top: 45px; border-top: 1px solid var(--line); }
.case-project-questions article { display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.case-project-questions span { color: var(--copper); font-size: 9px; font-weight: 800; }
.case-project-questions p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.58; }

.case-project-scope { background: var(--wine); color: var(--paper); }
.case-project-scope-heading { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 8vw; align-items: end; }
.case-project-scope-heading > p { margin: 0; color: rgba(243,239,231,0.62); font-size: 14px; line-height: 1.68; }
.case-project-stage-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 68px; border: 1px solid rgba(255,255,255,0.2); background: rgba(255,255,255,0.2); }
.case-project-stage-list article { min-height: 330px; padding: 30px; background: rgba(255,255,255,0.04); }
.case-project-stage-list article > span { color: var(--copper-bright); font-size: 9px; font-weight: 800; }
.case-project-stage-list h3 { margin: 64px 0 22px; font-family: Georgia, "Times New Roman", serif; font-size: 31px; font-weight: 400; }
.case-project-stage-list p { margin: 0; font-size: 12px; line-height: 1.6; }

.case-project-photo-story { background: var(--paper); }
.case-project-photo-heading { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 3vw 8vw; align-items: end; }
.case-project-photo-heading .section-label { grid-column: 1 / -1; }
.case-project-photo-heading > p:last-child { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.67; }
.case-project-photo-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 64px; }
.case-project-photo { display: grid; grid-template-rows: 1fr auto; margin: 0; border: 2px solid var(--review-red); background: var(--review-red-soft); color: var(--review-red); }
.case-project-photo:first-child { grid-column: 1 / -1; }
.case-project-photo .needs-photo-placeholder { min-height: 360px; border-right: 0; border-bottom: 2px solid var(--review-red); }
.case-project-photo:first-child .needs-photo-placeholder { min-height: 500px; }
.case-project-photo figcaption { min-height: 150px; padding: 24px; }
.case-project-photo figcaption strong { font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 400; }
.case-project-photo figcaption p { margin: 17px 0 0; font-size: 11px; line-height: 1.55; }

.case-project-testimonial { background: var(--paper-deep); text-align: center; }
.case-project-testimonial .section-label::before { display: none; }
.case-project-testimonial blockquote { max-width: 1100px; margin: 0 auto 30px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(36px, 5vw, 72px); font-weight: 400; letter-spacing: -0.04em; line-height: 1.05; }
.case-project-testimonial cite { font-size: 10px; font-style: normal; font-weight: 800; letter-spacing: 0.1em; }
.case-project-testimonial .needs-input-note { max-width: 900px; margin: 38px auto 0; text-align: left; }
.case-project-next { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 9vw; padding: clamp(86px, 10vw, 150px) 7vw; background: var(--copper); color: white; }
.case-project-next .section-label::before { background: white; }
.case-project-next > div:last-child { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; }
.case-project-next > div:last-child > p { max-width: 550px; margin: 0; color: rgba(255,255,255,0.76); font-size: 15px; line-height: 1.68; }
.case-project-next .button { margin-top: 30px; }
.case-project-next .text-link { margin-top: 24px; }

@media (max-width: 1050px) {
  .site-header { grid-template-columns: 1fr auto; }
  .desktop-nav, .header-cta { display: none; }
  .mobile-menu { position: relative; display: block; justify-self: end; }
  .mobile-menu summary { cursor: pointer; font-size: 12px; font-weight: 800; list-style: none; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu nav { position: absolute; top: 38px; right: -2vw; display: flex; width: min(310px, 88vw); flex-direction: column; padding: 20px; background: var(--wine); color: white; box-shadow: 0 20px 50px rgba(0,0,0,0.22); }
  .mobile-menu nav a { padding: 13px 5px; border-bottom: 1px solid rgba(255,255,255,0.16); font-size: 13px; font-weight: 800; }
  .hero { grid-template-columns: 1fr; }
  .hero-art { min-height: 520px; }
  .hero-proof { grid-column: auto; }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-card { min-height: 360px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.2); }
  .project-grid { grid-template-columns: 1fr 1fr; }
  .project-card:first-child { grid-column: 1 / -1; }
  .materials-layout, .process-grid, .contact-section { grid-template-columns: 1fr; }
  .projects-hero { min-height: 560px; grid-template-columns: 1.25fr 0.75fr; }
  .projects-hero-main { padding-left: 5vw; padding-right: 5vw; }
  .case-study-standard { grid-template-columns: 1fr; }
  .case-study-standard-heading { position: static; }
  .projects-next-step { grid-template-columns: 1fr; gap: 50px; }
  .help-hero { grid-template-columns: 1.2fr 0.8fr; }
  .help-role { grid-template-columns: 0.34fr 1.66fr; gap: 4vw; }
  .help-route-brief { grid-template-columns: 1fr; }
  .needs-photo { grid-template-columns: 1fr 1fr; }
  .help-route-brief article, .help-route-brief article + article { min-height: 0; padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .help-route-brief article:last-child { border-bottom: 0; }
  .help-route-brief h3 { margin-bottom: 13px; }
  .help-comparison-heading, .help-final-cta { grid-template-columns: 1fr; }
  .help-final-cta { gap: 50px; }
  .materials-page-hero { grid-template-columns: 1.2fr 0.8fr; }
  .material-hero-swatch { min-height: 300px; }
  .warranty-principle { grid-template-columns: 1fr; }
  .material-snapshot-grid { grid-template-columns: repeat(2, 1fr); }
  .material-detail-heading { grid-template-columns: 0.25fr 1.75fr; }
  .material-finish, .material-fact-grid, .material-best-for, .material-decision-grid, .material-brand-row, .material-needs-photo, .material-confirmation, .material-source-row { margin-left: 0; }
  .material-fact-grid { grid-template-columns: 1fr; }
  .material-fact-grid article, .material-fact-grid article + article { min-height: 0; padding: 26px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .material-fact-grid article:last-child { border-bottom: 0; }
  .material-fact-grid article > span { margin-bottom: 15px; }
  .finish-library-heading, .materials-source-standard, .materials-final-cta { grid-template-columns: 1fr; }
  .materials-source-standard, .materials-final-cta { gap: 50px; }
  footer { grid-template-columns: 1fr; text-align: center; }
  footer .brand { justify-self: center; }
  footer > div { justify-content: center; }
}

@media (max-width: 700px) {
  .site-header { min-height: 72px; padding: 0 20px; }
  .brand-mark { width: 40px; transform: scale(0.86); }
  .brand-wordmark { font-size: 23px; }
  .hero { min-height: auto; }
  .hero-copy { padding: 76px 24px 66px; }
  .hero h1 { font-size: clamp(50px, 15vw, 72px); }
  .hero-intro { margin-top: 28px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 24px; }
  .hero-art { min-height: 420px; }
  .hero-spec { right: 22px; bottom: 22px; left: 22px; }
  .hero-spec strong { font-size: 20px; }
  .hero-proof { grid-template-columns: 1fr; }
  .hero-proof div { border-right: 0; border-bottom: 1px solid var(--line); }
  .section-pad { padding: 80px 24px; }
  .intro-grid, .section-heading { grid-template-columns: 1fr; gap: 34px; }
  .section-heading { margin-bottom: 44px; }
  .audience-card { padding: 24px 4px; }
  .project-grid { min-height: 0; grid-template-columns: 1fr; }
  .project-card, .project-card:first-child { min-height: 480px; grid-column: auto; }
  .project-caption { align-items: flex-start; flex-direction: column; }
  .image-note { text-align: left; }
  .materials-layout { gap: 64px; }
  .material-list article { grid-template-columns: 38px 1fr; }
  .material-list p { grid-column: 2; }
  .process-grid { gap: 54px; }
  .projects-hero { grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .projects-hero-main { padding: 80px 24px 68px; border-right: 0; }
  .projects-hero h1 { font-size: clamp(68px, 21vw, 105px); }
  .projects-hero-intro { padding: 60px 24px 30px; }
  .projects-concept-note { grid-column: auto; grid-template-columns: 1fr; padding: 22px 24px; }
  .project-gallery-heading { grid-template-columns: 1fr; gap: 28px; }
  .project-filter-bar { align-items: flex-start; flex-direction: column; }
  .project-filters { width: 100%; }
  .project-filters button { flex: 1 1 calc(50% - 6px); }
  .project-index-grid { grid-template-columns: 1fr; row-gap: 54px; }
  .project-index-card:nth-child(3n + 1) { grid-column: auto; }
  .project-index-card:nth-child(3n + 1) .project-index-visual,
  .project-index-visual { min-height: 440px; }
  .project-index-meta { align-items: flex-start; flex-direction: column; gap: 7px; }
  .case-study-field-list article { grid-template-columns: 38px 1fr; }
  .case-study-field-list p { grid-column: 2; }
  .projects-next-step { padding: 80px 24px; }
  .help-hero { min-height: 0; grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .review-key { align-items: flex-start; flex-direction: column; gap: 8px; padding: 15px 24px; }
  .review-key strong { margin-right: 0; }
  .help-hero-copy { padding: 80px 24px 68px; border-right: 0; }
  .help-hero h1 { font-size: clamp(65px, 20vw, 98px); }
  .help-hero-copy > p:last-child { margin-top: 30px; }
  .help-route-nav { padding: 58px 24px; }
  .help-hero-note { grid-column: auto; grid-template-columns: 1fr; }
  .help-hero-note span { padding: 17px 24px; border-right: 0; border-bottom: 1px solid var(--line); }
  .help-role { grid-template-columns: 1fr; gap: 42px; padding: 80px 24px; scroll-margin-top: 72px; }
  .help-role-index { position: static; display: flex; align-items: baseline; gap: 18px; }
  .help-role-index > span { margin: 0; font-size: 38px; }
  .help-role-index > p { max-width: none; }
  .help-role-lead { margin-bottom: 46px; }
  .needs-photo { grid-template-columns: 1fr; margin-bottom: 46px; }
  .needs-photo-placeholder { min-height: 260px; border-right: 0; border-bottom: 2px solid var(--review-red); }
  .needs-photo figcaption { padding: 26px; }
  .help-value-grid { grid-template-columns: 1fr; }
  .help-value-grid article { min-height: 215px; }
  .help-role-action { align-items: flex-start; flex-direction: column; }
  .help-comparison { padding-right: 0; padding-left: 24px; }
  .help-comparison-heading { padding-right: 24px; }
  .help-table-wrap { padding-right: 24px; }
  .help-final-cta { padding: 80px 24px; }
  .materials-page-hero { min-height: 0; grid-template-columns: 1fr; }
  .materials-page-hero-copy { padding: 80px 24px 68px; border-right: 0; }
  .materials-page-hero h1 { font-size: clamp(58px, 18vw, 90px); }
  .materials-page-hero-copy > p:last-child { margin-top: 30px; }
  .material-hero-swatch { min-height: 220px; padding: 20px; }
  .material-hero-swatch > span { top: 18px; left: 18px; }
  .warranty-principle { padding: 80px 24px; }
  .warranty-principle-grid article { grid-template-columns: 36px 1fr; }
  .warranty-principle-grid p { grid-column: 2; }
  .material-snapshot-heading { grid-template-columns: 1fr; gap: 30px; }
  .material-snapshot-grid { grid-template-columns: 1fr; margin-top: 48px; }
  .material-snapshot-grid > a { min-height: 310px; }
  .material-detail { padding: 80px 24px; scroll-margin-top: 72px; }
  .material-detail-heading { grid-template-columns: 1fr; gap: 40px; }
  .material-detail-number { position: static; display: flex; align-items: baseline; gap: 18px; }
  .material-detail-number > span { margin: 0; font-size: 38px; }
  .material-detail-number > p { max-width: none; }
  .material-finish { margin-top: 50px; }
  .material-finish > div { min-height: 190px; }
  .material-best-for { grid-template-columns: 1fr; gap: 13px; }
  .material-decision-grid { grid-template-columns: 1fr; }
  .material-decision-grid > article { padding: 26px; }
  .material-brand-row, .material-source-row { grid-template-columns: 1fr; gap: 12px; }
  .material-brand-row > span, .material-source-row > span { padding-top: 0; }
  .material-needs-photo { margin-top: 46px; }
  .finish-library { padding-right: 24px; padding-left: 24px; }
  .finish-library-heading { gap: 28px; }
  .finish-library-grid { grid-template-columns: 1fr; margin-top: 48px; }
  .finish-library-grid article { min-height: 220px; }
  .materials-source-standard, .materials-final-cta { padding: 80px 24px; }
  .contact-section { padding: 80px 24px; }
  .contact-form { padding: 26px 22px; }
  .form-row { grid-template-columns: 1fr; }
  footer { padding: 46px 24px; }
  footer > div { flex-wrap: wrap; }
}

@media (max-width: 1200px) {
  .manufacturer-finish-grid { grid-template-columns: repeat(3, 1fr); }
  .sample-option-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 1050px) {
  .material-profile-hero { grid-template-columns: 1fr; }
  .material-profile-copy { min-height: 650px; }
  .material-profile-art { min-height: 520px; }
  .material-profile-screen-note { grid-column: auto; }
  .material-profile-stats article { padding-right: 2.4vw; }
  .material-profile-stats article + article { padding-left: 2.4vw; }
  .material-spec-heading, .manufacturer-library-heading, .sample-consultation-heading { grid-template-columns: 1fr; gap: 34px; }
  .manufacturer-introduction { margin-left: 0; }
  .manufacturer-finish-grid { grid-template-columns: repeat(3, 1fr); }
  .sample-option-grid { grid-template-columns: repeat(2, 1fr); }
  .material-evidence-grid { gap: 5vw; }
}

@media (max-width: 700px) {
  .material-profile-copy { min-height: 0; padding: 76px 24px 68px; }
  .material-breadcrumb { margin-bottom: 45px; }
  .material-profile-copy h1 { font-size: clamp(58px, 17vw, 84px); }
  .material-profile-actions { align-items: flex-start; flex-direction: column; }
  .material-profile-art { min-height: 410px; padding: 24px; }
  .material-profile-planes { transform: scale(1.22) rotate(-5deg); }
  .material-profile-art-caption { align-items: flex-start; flex-direction: column; }
  .material-profile-art-caption strong { font-size: 21px; text-align: left; }
  .material-profile-screen-note { grid-template-columns: 1fr; gap: 7px; padding: 18px 24px; }
  .material-profile-stats { grid-template-columns: 1fr; padding: 0 24px; }
  .material-profile-stats article, .material-profile-stats article + article { min-height: 0; padding: 32px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .material-profile-stats article:last-child { border-bottom: 0; }
  .material-profile-stats article > span { min-height: 0; }
  .material-profile-stats strong { margin: 25px 0 14px; }
  .material-spec-grid { grid-template-columns: 1fr; margin-top: 48px; }
  .material-spec-grid article { min-height: 0; padding: 26px; }
  .material-spec-grid h3 { margin-top: 46px; }
  .manufacturer-library, .sample-consultation, .material-evidence { padding-right: 24px; padding-left: 24px; }
  .manufacturer-list, .sample-request-shell, .material-evidence-grid { margin-top: 50px; }
  .manufacturer-panel { padding: 24px; }
  .manufacturer-panel > header { grid-template-columns: 32px 1fr; align-items: start; }
  .manufacturer-panel > header a { grid-column: 2; }
  .manufacturer-introduction { margin: 26px 0 35px; }
  .manufacturer-finish-grid { grid-template-columns: repeat(2, 1fr); }
  .manufacturer-finish-card > i { height: 112px; }
  .manufacturer-finish-card > div { min-height: 106px; padding: 14px; }
  .manufacturer-finish-card strong { font-size: 16px; }
  .manufacturer-selection-note { padding: 15px; }
  .sample-request-picker, .sample-request-form { padding: 26px 20px; }
  .sample-request-step { grid-template-columns: 34px 1fr; gap: 12px; }
  .sample-request-step h3 { font-size: 34px; }
  .sample-option-grid { grid-template-columns: 1fr; margin-top: 38px; }
  .sample-form-grid { grid-template-columns: 1fr; }
  .sample-form-wide { grid-column: auto; }
  .sample-form-submit { align-items: flex-start; flex-direction: column; }
  .material-evidence-grid { grid-template-columns: 1fr; gap: 60px; }
}

@media (max-width: 1050px) {
  .finish-chart-manufacturers > section { grid-template-columns: 1fr; gap: 18px; }
  .expertise-hero { grid-template-columns: 1.2fr 0.8fr; }
  .expertise-identity { grid-template-columns: 1fr; }
  .expertise-team-photo, .expertise-identity-confirmation { grid-column: auto; }
  .expertise-identity-confirmation { margin-top: -36px; }
  .expertise-capabilities-heading, .expertise-proof-heading, .expertise-process, .expertise-final-cta { grid-template-columns: 1fr; }
  .expertise-capabilities-heading, .expertise-proof-heading, .expertise-process, .expertise-final-cta { gap: 48px; }
  .expertise-capability { grid-template-columns: 0.34fr 1.66fr; gap: 4vw; }
  .expertise-capability-details { grid-template-columns: 1fr; }
  .expertise-proof-photos { grid-template-columns: 1fr 1fr; }
  .expertise-proof-photo:last-child { grid-column: 1 / -1; }
  .contact-page-hero { grid-template-columns: 1.2fr 0.8fr; }
  .contact-route-heading, .contact-next-steps, .confirmation-steps, .resource-section-heading, .resource-boundary { grid-template-columns: 1fr; gap: 42px; }
  .enquiry-material-options { grid-template-columns: repeat(3, 1fr); }
  .confirmation-hero, .resources-hero { grid-template-columns: 1.2fr 0.8fr; }
  .resource-card-grid { grid-template-columns: 1fr; }
  .case-project-hero { grid-template-columns: 1fr; }
  .case-project-hero-photo .needs-photo-placeholder { min-height: 520px; }
  .case-project-facts { grid-template-columns: repeat(2, 1fr); }
  .case-project-facts article:nth-child(2n) { border-right: 0; }
  .case-project-brief, .case-project-scope-heading, .case-project-photo-heading, .case-project-next { grid-template-columns: 1fr; gap: 44px; }
}

@media (max-width: 700px) {
  .finish-library-current { margin-top: 48px; }
  .finish-chart-card > header { align-items: flex-start; flex-direction: column; padding: 24px; }
  .finish-chart-manufacturers > section { padding: 24px; }
  .finish-chart-swatches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finish-chart-caveat { padding: 14px 24px; line-height: 1.45; }
  .expertise-hero { min-height: 0; grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .expertise-hero-copy { padding: 80px 24px 68px; border-right: 0; }
  .expertise-hero h1 { font-size: clamp(58px, 18vw, 88px); }
  .expertise-hero-copy > p:last-child { margin-top: 30px; }
  .expertise-index { padding: 56px 24px; }
  .expertise-hero-note { grid-column: auto; grid-template-columns: 1fr; }
  .expertise-hero-note span { padding: 17px 24px; border-right: 0; border-bottom: 1px solid var(--line); }
  .expertise-identity { padding: 80px 24px; }
  .expertise-identity-stats { grid-template-columns: 1fr; }
  .expertise-identity-stats article { min-height: 0; }
  .expertise-identity-confirmation { margin-top: -24px; }
  .expertise-capabilities, .expertise-proof, .expertise-process { padding-right: 24px; padding-left: 24px; }
  .expertise-capability { grid-template-columns: 1fr; gap: 32px; padding: 58px 0; scroll-margin-top: 72px; }
  .expertise-capability-index { display: flex; align-items: baseline; gap: 18px; }
  .expertise-capability-index > span { margin: 0; font-size: 36px; }
  .expertise-capability-index > p { max-width: none; }
  .expertise-capability-details > section { padding: 23px; }
  .expertise-proof-photos { grid-template-columns: 1fr; margin-top: 48px; }
  .expertise-proof-photo:last-child { grid-column: auto; }
  .expertise-proof-photo > div { min-height: 250px; }
  .expertise-process li { grid-template-columns: 34px 1fr; }
  .expertise-process li p { grid-column: 2; }
  .expertise-final-cta { padding: 80px 24px; }
  .hero-art--needs-photo .hero-spec { align-items: flex-start; flex-direction: column; }
  .hero-art--needs-photo .hero-spec strong { text-align: left; }
  .project-photo-replace, .project-index-photo-label { width: max-content; max-width: 72%; text-align: center; }
  .contact-page-hero { min-height: 0; grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .contact-page-hero-copy { padding: 80px 24px 68px; border-right: 0; }
  .contact-page-hero h1 { font-size: clamp(58px, 18vw, 88px); }
  .contact-page-direct { padding: 56px 24px; }
  .contact-page-hero-note { grid-column: auto; grid-template-columns: 1fr; }
  .contact-page-hero-note span { padding: 17px 24px; border-right: 0; border-bottom: 1px solid var(--line); }
  .contact-route-grid { grid-template-columns: 1fr; margin-top: 46px; }
  .contact-route-grid article { min-height: 0; }
  .contact-enquiry-section, .contact-next-steps { padding-right: 24px; padding-left: 24px; }
  .enquiry-form { padding: 28px 20px; }
  .enquiry-form-heading { grid-template-columns: 34px 1fr; gap: 12px; }
  .enquiry-form-heading h2 { font-size: 38px; }
  .enquiry-grid { grid-template-columns: 1fr; }
  .enquiry-wide-field { grid-column: auto; }
  .enquiry-material-options { grid-template-columns: 1fr; }
  .enquiry-submit-row { align-items: flex-start; flex-direction: column; }
  .contact-next-steps li { grid-template-columns: 34px 1fr; }
  .contact-next-steps li p { grid-column: 2; }
  .confirmation-hero, .resources-hero { min-height: 0; grid-template-columns: 1fr; }
  .confirmation-hero-copy, .resources-hero > div { padding: 80px 24px 68px; }
  .confirmation-hero h1, .resources-hero h1 { font-size: clamp(56px, 18vw, 86px); }
  .confirmation-contact, .resources-hero > aside { padding: 56px 24px; }
  .confirmation-steps, .resource-audience-section, .resource-library, .resource-boundary { padding-right: 24px; padding-left: 24px; }
  .confirmation-steps li { grid-template-columns: 34px 1fr; }
  .confirmation-steps li p { grid-column: 2; }
  .confirmation-actions { align-items: flex-start; flex-direction: column; }
  .confirmation-preview-note { padding: 24px; }
  .resource-audience-grid { grid-template-columns: 1fr; }
  .resource-audience-grid article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .resource-audience-grid article:last-child { border-bottom: 0; }
  .resource-audience-grid h3 { margin-top: 42px; }
  .resource-card { min-height: 0; padding: 24px; }
  .resource-card h3 { margin-top: 48px; }
  .resource-file-status { align-items: flex-start; flex-direction: column; }
  .case-project-copy { padding: 74px 24px 64px; }
  .case-project-copy h1 { font-size: clamp(58px, 18vw, 88px); }
  .case-project-hero-photo .needs-photo-placeholder { min-height: 390px; }
  .case-project-facts { grid-template-columns: 1fr; padding: 0 24px; }
  .case-project-facts article, .case-project-facts article + article { min-height: 0; padding: 26px 0; border-right: 0; }
  .case-project-brief, .case-project-scope, .case-project-photo-story, .case-project-testimonial { padding-right: 24px; padding-left: 24px; }
  .case-project-stage-list, .case-project-photo-grid { grid-template-columns: 1fr; margin-top: 48px; }
  .case-project-stage-list article { min-height: 0; padding: 25px; }
  .case-project-stage-list h3 { margin-top: 48px; }
  .case-project-photo:first-child { grid-column: auto; }
  .case-project-photo .needs-photo-placeholder, .case-project-photo:first-child .needs-photo-placeholder { min-height: 300px; }
  .case-project-next { padding: 80px 24px; }
}

@media (max-width: 1050px) {
  .hero-art { min-height: 0; aspect-ratio: 1000 / 1050; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; }
}

/* Project explorer */
.materials-explorer-link {
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  color: var(--copper);
  font-size: 12px;
  font-weight: 800;
}

.materials-explorer-link:hover { color: var(--ink); }

.explorer-hero {
  display: grid;
  min-height: 650px;
  grid-template-columns: 1.35fr 0.65fr;
  border-bottom: 1px solid var(--line);
  background: #faf7f1;
}

.explorer-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(92px, 11vw, 165px) 7vw 96px;
  border-right: 1px solid var(--line);
}

.explorer-hero h1 {
  max-width: 990px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(66px, 7.7vw, 126px);
  font-weight: 400;
  letter-spacing: -0.065em;
  line-height: 0.87;
}

.explorer-hero h1 em { color: var(--copper); font-weight: 400; }

.explorer-hero-copy > p:not(.eyebrow) {
  max-width: 720px;
  margin: 40px 0 0;
  color: var(--muted);
  font-size: clamp(16px, 1.35vw, 20px);
  line-height: 1.62;
}

.explorer-hero-copy .button { margin-top: 36px; }

.explorer-hero-aside {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 72px 4vw 76px;
  background:
    radial-gradient(circle at 82% 9%, rgba(207,107,61,0.36), transparent 28%),
    var(--wine);
  color: var(--paper);
}

.explorer-hero-aside > p {
  max-width: 420px;
  margin: 0 0 42px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1.05;
}

.explorer-hero-aside ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.24); }
.explorer-hero-aside li { display: grid; grid-template-columns: 42px 1fr; gap: 12px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.24); font-size: 12px; font-weight: 800; }
.explorer-hero-aside li span { color: var(--copper-bright); font-size: 9px; letter-spacing: .1em; }
.explorer-hero-aside > small { max-width: 430px; margin-top: 28px; color: rgba(243,239,231,.62); font-size: 11px; line-height: 1.55; }

.project-explorer {
  scroll-margin-top: 86px;
  background: var(--ink);
  color: var(--paper);
}

.explorer-progress {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  align-items: end;
  gap: 6vw;
  padding: 62px 7vw 36px;
  border-bottom: 1px solid rgba(255,255,255,.18);
}

.explorer-progress .section-label { margin-bottom: 22px; }

.explorer-progress h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 4.5vw, 72px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .98;
}

.explorer-progress ol { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 0; list-style: none; }
.explorer-progress li { border-top: 1px solid rgba(255,255,255,.2); }
.explorer-progress li.is-current,
.explorer-progress li.is-complete { border-color: var(--copper-bright); }

.explorer-progress button {
  display: flex;
  width: 100%;
  min-height: 62px;
  align-items: flex-start;
  flex-direction: column;
  gap: 9px;
  padding: 12px 8px 0 0;
  border: 0;
  background: transparent;
  color: rgba(243,239,231,.38);
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-align: left;
  text-transform: uppercase;
}

.explorer-progress button:disabled { cursor: default; }
.explorer-progress li.is-current button { color: var(--paper); }
.explorer-progress li.is-complete button { color: rgba(243,239,231,.7); }
.explorer-progress button span { color: var(--copper-bright); font-size: 9px; }

.explorer-stage {
  min-height: 750px;
  padding: clamp(58px, 7vw, 100px) 7vw;
  background:
    linear-gradient(rgba(23,19,17,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,19,17,.035) 1px, transparent 1px),
    #faf7f1;
  background-size: 32px 32px;
  color: var(--ink);
}

.explorer-stage-inner { max-width: 1540px; margin: 0 auto; }
.explorer-stage-inner--narrow { max-width: 1320px; }

.explorer-stage-heading {
  display: grid;
  max-width: 1030px;
  grid-template-columns: 62px 1fr;
  gap: 20px;
  margin-bottom: 56px;
}

.explorer-stage-heading > span { padding-top: 4px; color: var(--copper); font-size: 11px; font-weight: 800; }
.explorer-stage-heading .section-label { margin-bottom: 20px; }

.explorer-stage-heading h3,
.explorer-result-controls h3,
.explorer-purpose h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 4.8vw, 72px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .98;
}

.explorer-stage-heading > div > p:last-child { max-width: 730px; margin: 22px 0 0; color: var(--muted); font-size: 14px; line-height: 1.65; }

.explorer-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }

.explorer-project-card,
.explorer-size-card,
.explorer-route-card,
.explorer-choice-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  background: rgba(243,239,231,.94);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.explorer-project-card:hover,
.explorer-size-card:hover,
.explorer-route-card:hover,
.explorer-choice-card:hover { border-color: var(--copper); transform: translateY(-3px); box-shadow: 0 20px 42px rgba(54,28,18,.09); }

.explorer-project-card:focus-visible,
.explorer-size-card:focus-visible,
.explorer-route-card:focus-visible,
.explorer-choice-card:focus-visible,
.explorer-chip-row button:focus-visible,
.explorer-finish-row button:focus-visible { outline: 3px solid var(--copper-bright); outline-offset: 2px; }

.explorer-project-card.is-selected,
.explorer-size-card.is-selected,
.explorer-route-card.is-selected,
.explorer-choice-card.is-selected { border-color: var(--copper); background: #fffaf2; box-shadow: inset 0 0 0 2px var(--copper); }

.explorer-project-card { min-height: 330px; padding: 22px; }
.explorer-card-number { position: absolute; top: 20px; left: 20px; z-index: 2; color: var(--copper); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.explorer-project-card .project-drawing { width: 100%; height: 185px; margin: 9px 0 2px; color: var(--ink); transition: transform 220ms ease; }
.explorer-project-card:hover .project-drawing { transform: scale(1.025); }
.explorer-card-copy { display: flex; max-width: calc(100% - 34px); flex-direction: column; gap: 9px; }
.explorer-card-copy strong { font-family: Georgia, "Times New Roman", serif; font-size: 27px; font-weight: 400; }
.explorer-card-copy small { max-width: 280px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.explorer-project-card > b { position: absolute; right: 21px; bottom: 22px; display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--copper); font-size: 12px; }

.explorer-size-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.explorer-size-card { min-height: 355px; padding: 20px; text-align: center; }
.explorer-size-card .project-drawing { width: 100%; height: 195px; color: var(--ink); }
.explorer-size-card strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 28px; font-weight: 400; }
.explorer-size-card small { display: block; min-height: 32px; margin-top: 8px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.explorer-size-card > span { display: inline-block; margin-top: 18px; font-size: 9px; font-weight: 900; letter-spacing: .08em; }

.explorer-route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.explorer-route-card { display: flex; min-height: 345px; flex-direction: column; padding: 28px; }
.explorer-route-card > i { display: grid; width: 62px; height: 62px; place-items: center; border: 1px solid var(--copper); border-radius: 50%; color: var(--copper); font-family: Georgia, "Times New Roman", serif; font-size: 26px; font-style: normal; }
.explorer-route-card strong { max-width: 300px; margin-top: 68px; font-family: Georgia, "Times New Roman", serif; font-size: 33px; font-weight: 400; line-height: 1.05; }
.explorer-route-card small { max-width: 330px; margin-top: 17px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.explorer-route-card > b { position: absolute; right: 28px; bottom: 28px; color: var(--copper); }

.explorer-choice-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.explorer-choice-grid--profiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.explorer-choice-card { display: flex; min-height: 310px; flex-direction: column; padding: 24px; }
.explorer-choice-card > i { display: block; width: 100%; height: 112px; border: 1px solid rgba(23,19,17,.1); }
.explorer-choice-card > strong { margin-top: 43px; font-family: Georgia, "Times New Roman", serif; font-size: 27px; font-weight: 400; line-height: 1.05; }
.explorer-choice-card > small { margin-top: 12px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.explorer-choice-card > b { position: absolute; right: 24px; bottom: 22px; color: var(--copper); }
.priority-number { color: var(--copper); font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.explorer-choice-card .priority-number + strong { margin-top: 96px; }

.profile-sample--standing-seam { background: repeating-linear-gradient(90deg, #727776 0 27px, #c2c4c1 27px 29px, #646967 29px 56px); }
.profile-sample--shingles { background: linear-gradient(45deg, transparent 47%, rgba(255,255,255,.42) 48% 52%, transparent 53%), linear-gradient(-45deg, transparent 47%, rgba(255,255,255,.42) 48% 52%, transparent 53%), #737876; background-size: 36px 26px; }
.profile-sample--flat-lock { background: linear-gradient(rgba(255,255,255,.42) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.42) 1px, transparent 1px), #737876; background-size: 58px 38px; }

.project-explorer .explorer-controls {
  display: grid;
  min-height: 102px;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  padding: 20px 7vw;
  border-top: 1px solid rgba(255,255,255,.18);
  background: var(--wine);
  color: var(--paper);
}

.explorer-controls button { width: fit-content; border: 0; background: transparent; color: var(--paper); cursor: pointer; font-size: 11px; font-weight: 800; }
.explorer-controls button:disabled { color: rgba(243,239,231,.26); cursor: default; }
.explorer-controls p { margin: 0; color: rgba(243,239,231,.55); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.explorer-controls .explorer-continue { justify-self: end; min-height: 48px; padding: 0 19px; background: var(--copper-bright); color: white; }
.explorer-controls .explorer-continue:disabled { background: rgba(255,255,255,.1); color: rgba(255,255,255,.3); }

.explorer-stage:has(.explorer-result) { padding: 0; }
.explorer-result { display: grid; min-height: 810px; grid-template-columns: 1.18fr .82fr; }
.explorer-result-visual { position: relative; display: flex; min-width: 0; align-items: center; justify-content: center; overflow: hidden; padding: 80px 5vw 100px; border-right: 1px solid var(--line); background: radial-gradient(circle at 50% 45%, #fffaf2 0, #e9e1d5 68%); }
.explorer-result-visual::before { position: absolute; inset: 0; background: linear-gradient(rgba(23,19,17,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(23,19,17,.045) 1px, transparent 1px); background-size: 38px 38px; content: ""; }
.explorer-result-visual .project-drawing { position: relative; z-index: 1; width: min(860px, 100%); height: auto; color: var(--ink); filter: drop-shadow(0 28px 24px rgba(45,31,25,.13)); }
.explorer-result-kicker { position: absolute; z-index: 2; top: 28px; right: 32px; left: 32px; display: flex; justify-content: space-between; padding-bottom: 13px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.explorer-result-caption { position: absolute; z-index: 2; right: 32px; bottom: 30px; left: 32px; display: flex; align-items: flex-end; justify-content: space-between; padding-top: 18px; border-top: 1px solid var(--line); }
.explorer-result-caption > div { display: flex; flex-direction: column; gap: 7px; }
.explorer-result-caption small { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.explorer-result-caption strong { font-family: Georgia, "Times New Roman", serif; font-size: 26px; font-weight: 400; }
.explorer-result-caption > span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }

.explorer-result-controls { padding: 64px 4vw 62px; background: #faf7f1; }
.explorer-result-controls h3 { font-size: clamp(40px, 4vw, 66px); }
.explorer-result-controls > p:not(.section-label) { max-width: 540px; margin: 22px 0 36px; color: var(--muted); font-size: 13px; line-height: 1.58; }
.explorer-result-controls fieldset { margin: 0; padding: 21px 0; border: 0; border-top: 1px solid var(--line); }
.explorer-result-controls legend { float: left; width: 112px; padding: 10px 15px 0 0; color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.explorer-result-controls fieldset::after { display: block; clear: both; content: ""; }
.explorer-chip-row { display: flex; flex-wrap: wrap; gap: 7px; }
.explorer-chip-row button { min-height: 37px; padding: 0 12px; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; font-size: 10px; font-weight: 800; }
.explorer-chip-row button:hover { border-color: var(--copper); }
.explorer-chip-row button.is-selected { border-color: var(--ink); background: var(--ink); color: var(--paper); }

.explorer-finish-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.explorer-finish-row button { position: relative; display: flex; min-width: 0; flex-direction: column; gap: 7px; padding: 6px; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; text-align: left; }
.explorer-finish-row button.is-selected { border-color: var(--copper); box-shadow: inset 0 0 0 1px var(--copper); }
.explorer-finish-row i { display: block; width: 100%; height: 36px; }
.explorer-finish-row span { overflow: hidden; padding: 1px 2px 3px; font-size: 9px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.explorer-screen-note { margin: 10px 0 0 112px; color: var(--muted); font-size: 9px; line-height: 1.45; }

.explorer-budget { margin-top: 8px; padding: 22px; border: 1px solid var(--line); background: var(--paper); }
.explorer-budget > span { display: block; color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.explorer-budget > strong { display: block; margin-top: 12px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(24px, 2.15vw, 36px); font-weight: 400; line-height: 1.08; }
.explorer-budget > p { margin: 15px 0 0; color: var(--muted); font-size: 10px; line-height: 1.52; }
.explorer-budget > small { display: block; margin-top: 14px; font-size: 9px; font-weight: 900; line-height: 1.45; }

.explorer-result-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 24px; margin-top: 26px; }
.explorer-result-actions .button { min-height: 49px; }
.explorer-result-actions .text-link { color: var(--copper); font-size: 11px; }
.explorer-reset { margin-left: auto; padding: 0; border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 10px; font-weight: 800; }

.explorer-purpose { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9vw; background: var(--paper-deep); }
.explorer-purpose h2 { max-width: 700px; }
.explorer-purpose-grid { border-top: 1px solid var(--line); }
.explorer-purpose-grid article { display: grid; grid-template-columns: 48px .8fr 1.2fr; gap: 18px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.explorer-purpose-grid span { color: var(--copper); font-size: 9px; font-weight: 900; }
.explorer-purpose-grid h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 400; }
.explorer-purpose-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }

/* Review navigation and setup notes */
.enquiry-form { scroll-margin-top: 86px; }
.form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.enquiry-form-message { margin: 26px 0 0; padding: 16px 18px; border: 1px solid rgba(255,255,255,0.3); font-size: 13px; line-height: 1.5; }
.enquiry-form-message--success { background: rgba(98,157,101,0.18); color: #d7f2d7; }
.enquiry-form-message--error { background: rgba(223,24,40,0.2); color: #ffd7da; }

.help-final-cta .needs-input-note--cta,
.enquiry-form .enquiry-connection-note,
.sample-request-form .sample-form-connection {
  border-color: white;
  background: var(--review-red);
  color: white;
}

.resource-section-heading .resource-library-launch-note {
  margin: 0;
  border-color: white;
  background: var(--review-red);
  color: white;
}

.explorer-guide-label {
  color: var(--copper);
  font-size: 14px;
  letter-spacing: 0.14em;
}

.explorer-purpose-grid .explorer-purpose-item--needs-input {
  margin: 10px 0;
  padding: 20px;
  border: 1px solid var(--review-red);
  background: var(--review-red-soft);
  color: var(--review-red);
}

.explorer-purpose-grid .explorer-purpose-item--needs-input span,
.explorer-purpose-grid .explorer-purpose-item--needs-input p {
  color: var(--review-red);
}

.explorer-purpose-item--needs-input p strong {
  display: block;
  margin-bottom: 6px;
  font-size: 9px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.explorer-purpose-grid .explorer-purpose-item--guidance {
  margin: 10px 0;
  padding: 20px;
  border: 1px solid var(--line);
  background: var(--paper-deep);
  color: var(--ink);
}
.explorer-purpose-grid .explorer-purpose-item--guidance > span { color: var(--copper); }
.explorer-purpose-grid .explorer-purpose-item--guidance p,
.explorer-purpose-grid .explorer-purpose-item--guidance small { color: var(--muted); }
.explorer-purpose-grid .explorer-purpose-item--guidance small { display: block; margin-top: 18px; font-size: 11px; line-height: 1.55; }

/* Desktop density pass: retain readable body copy while reducing oversized
   headings, tall sections and excess scrolling across the full site. */
@media (min-width: 1051px) {
  .site-header {
    min-height: 68px;
    grid-template-columns: minmax(160px, 1fr) auto minmax(160px, 1fr);
    padding-right: 3vw;
    padding-left: 3vw;
  }

  .desktop-nav {
    gap: clamp(11px, 1.35vw, 20px);
    font-size: 10.5px;
  }

  .header-cta {
    padding: 9px 12px;
    font-size: 10.5px;
  }

  .section-pad {
    padding: clamp(44px, 4.4vw, 70px) 4.8vw;
  }

  .hero {
    min-height: 470px;
  }

  .hero-art {
    min-height: 440px;
  }

  .projects-hero,
  .help-hero,
  .materials-page-hero,
  .expertise-hero,
  .contact-page-hero,
  .resources-hero,
  .explorer-hero {
    min-height: 450px;
  }

  .material-profile-hero,
  .material-profile-art,
  .confirmation-hero {
    min-height: 475px;
  }

  .case-project-hero {
    min-height: 500px;
  }

  .hero-copy,
  .projects-hero-main,
  .help-hero-copy,
  .materials-page-hero-copy,
  .expertise-hero-copy,
  .contact-page-hero-copy,
  .resources-hero > div,
  .explorer-hero-copy {
    padding-top: clamp(42px, 4.5vw, 68px);
    padding-right: 4.8vw;
    padding-bottom: 46px;
    padding-left: 4.8vw;
  }

  .material-profile-copy,
  .case-project-copy,
  .confirmation-hero-copy {
    padding-top: clamp(42px, 4.5vw, 68px);
    padding-right: 4.8vw;
    padding-bottom: 46px;
    padding-left: 4.8vw;
  }

  .hero h1 {
    font-size: clamp(43px, 4.35vw, 71px);
  }

  .projects-hero h1 {
    font-size: clamp(58px, 6.2vw, 100px);
  }

  .help-hero h1 {
    font-size: clamp(56px, 6vw, 96px);
  }

  .materials-page-hero h1,
  .material-profile-copy h1,
  .expertise-hero h1,
  .contact-page-hero h1,
  .resources-hero h1,
  .case-project-copy h1,
  .explorer-hero h1 {
    font-size: clamp(46px, 4.6vw, 74px);
  }

  .confirmation-hero h1 {
    font-size: clamp(44px, 4.35vw, 70px);
  }

  .intro h2,
  .section-heading h2,
  .materials-layout h2,
  .process-grid h2,
  .contact-copy h2,
  .enquiry-form-heading h2 {
    font-size: clamp(32px, 3.05vw, 48px);
  }

  .project-gallery-heading h2,
  .case-study-standard h2,
  .projects-next-step h2,
  .help-role-body h2,
  .help-comparison h2,
  .help-final-cta h2,
  .warranty-principle h2,
  .material-snapshot h2,
  .material-detail h2,
  .finish-library h2,
  .materials-source-standard h2,
  .materials-final-cta h2,
  .material-spec-heading h2,
  .manufacturer-library-heading h2,
  .sample-consultation-heading h2,
  .material-evidence-heading h2,
  .expertise-identity-heading h2,
  .expertise-capabilities-heading h2,
  .expertise-proof-heading h2,
  .expertise-process h2,
  .expertise-final-cta h2,
  .contact-route-heading h2,
  .contact-next-steps h2,
  .confirmation-steps h2,
  .resource-section-heading h2,
  .resource-boundary h2,
  .case-project-brief h2,
  .case-project-scope h2,
  .case-project-photo-heading h2,
  .case-project-next h2 {
    font-size: clamp(33px, 3.3vw, 52px);
  }

  .expertise-capability-body h3,
  .explorer-progress h2,
  .explorer-stage-heading h3,
  .explorer-result-controls h3,
  .explorer-purpose h2 {
    font-size: clamp(31px, 3.05vw, 46px);
  }

  .manufacturer-panel > header h3 {
    font-size: clamp(28px, 2.6vw, 39px);
  }

  .sample-request-step h3,
  .finish-chart-card > header h3,
  .project-index-copy h3,
  .resource-card h3 {
    font-size: clamp(24px, 2.1vw, 34px);
  }

  .contact-section,
  .projects-next-step,
  .help-role,
  .help-final-cta,
  .warranty-principle,
  .material-detail,
  .materials-final-cta,
  .expertise-final-cta,
  .case-project-next {
    padding: clamp(44px, 4.4vw, 70px) 4.8vw;
  }

  .section-heading {
    margin-bottom: 30px;
  }

  .audience-card {
    min-height: 270px;
  }

  .audience-card h3 {
    margin-top: 32px;
  }

  .project-grid {
    min-height: 410px;
  }

  .project-card {
    min-height: 375px;
  }

  .help-role-lead {
    margin-top: 24px;
    margin-bottom: 38px;
    font-size: clamp(16px, 1.4vw, 21px);
  }

  .needs-photo,
  .needs-photo-placeholder {
    min-height: 215px;
  }

  .help-route-brief article {
    min-height: 145px;
  }

  .help-value-grid article {
    min-height: 190px;
  }

  .help-value-grid h3 {
    margin-top: 34px;
  }

  .help-table-wrap,
  .material-snapshot-grid,
  .material-spec-grid,
  .manufacturer-list,
  .resource-card-grid,
  .case-project-stage-list {
    margin-top: 44px;
  }

  .material-snapshot-grid > a {
    min-height: 280px;
  }

  .material-profile-stats article {
    min-height: 215px;
  }

  .material-spec-grid article {
    min-height: 310px;
  }

  .contact-route-grid article {
    min-height: 220px;
  }

  .resource-card {
    min-height: 290px;
  }

  .case-project-hero-photo .needs-photo-placeholder {
    min-height: 410px;
  }

  .case-project-stage-list article {
    min-height: 230px;
  }

  .explorer-progress {
    padding: 32px 4.8vw 20px;
  }

  .explorer-stage {
    min-height: 500px;
    padding: clamp(32px, 4vw, 54px) 4.8vw;
  }

  .explorer-stage-heading {
    margin-bottom: 27px;
  }

  .explorer-project-card {
    min-height: 230px;
  }

  .explorer-size-card,
  .explorer-route-card {
    min-height: 240px;
  }

  .explorer-choice-card {
    min-height: 215px;
  }

  .explorer-result {
    min-height: 540px;
  }

  .enquiry-form,
  .project-explorer {
    scroll-margin-top: 68px;
  }

  .project-filter-bar {
    position: sticky;
    top: 68px;
    z-index: 24;
    margin: 32px -12px 18px;
    padding: 12px;
    background: rgba(250, 247, 241, 0.96);
    box-shadow: 0 12px 26px rgba(23, 19, 17, 0.08);
    backdrop-filter: blur(14px);
  }

  .project-index-grid {
    row-gap: 48px;
  }

  .project-index-visual {
    min-height: 390px;
  }

  .project-index-card:nth-child(3n + 1) .project-index-visual {
    min-height: 500px;
  }

  /* These three editorial routes need a denser scale than Expertise. */
  .projects-hero,
  .help-hero,
  .materials-page-hero {
    min-height: 375px;
  }

  .projects-hero-main,
  .help-hero-copy,
  .materials-page-hero-copy {
    padding: clamp(34px, 3.7vw, 54px) 4.5vw 38px;
  }

  .projects-hero h1,
  .help-hero h1,
  .materials-page-hero h1 {
    font-size: clamp(42px, 3.95vw, 64px);
    line-height: 0.9;
  }

  .projects-hero-intro {
    padding: 30px 3vw 36px;
  }

  .projects-hero-intro p {
    font-size: clamp(18px, 1.5vw, 25px);
  }

  .projects-hero-intro a {
    margin-top: 22px;
  }

  .projects-concept-note {
    grid-template-columns: 160px 1fr;
    padding: 16px 5.25vw;
  }

  .project-gallery-heading h2,
  .case-study-standard h2,
  .projects-next-step h2 {
    font-size: clamp(31px, 2.8vw, 45px);
  }

  .project-filter-bar {
    margin-top: 30px;
  }

  .project-index-grid {
    row-gap: 38px;
  }

  .project-index-visual {
    min-height: 250px;
  }

  .project-index-card:nth-child(3n + 1) .project-index-visual {
    min-height: 320px;
  }

  .project-index-copy h3 {
    font-size: clamp(25px, 2.2vw, 34px);
  }

  .help-hero-copy > p:last-child,
  .materials-page-hero-copy > p:last-child {
    margin-top: 26px;
    font-size: clamp(15px, 1.1vw, 18px);
  }

  .help-route-nav {
    padding: 22px 2.8vw 26px;
  }

  .help-route-prompt {
    margin-bottom: 14px;
  }

  .help-route-prompt > strong {
    font-size: clamp(25px, 2.25vw, 34px);
  }

  .help-route-nav > a {
    margin-top: 6px;
    padding: 12px 13px;
  }

  .help-route-nav strong {
    font-size: 18px;
  }

  .help-hero-note span {
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .help-role,
  .help-final-cta {
    gap: 4.5vw;
    padding: clamp(40px, 4.1vw, 64px) 4.8vw;
  }

  .help-role-body h2,
  .help-comparison h2,
  .help-final-cta h2 {
    font-size: clamp(32px, 2.9vw, 46px);
  }

  .help-role-lead {
    max-width: 760px;
    margin: 20px 0 32px;
    font-size: clamp(16px, 1.25vw, 19px);
  }

  .help-role .needs-photo,
  .help-role .needs-photo-placeholder {
    min-height: 195px;
  }

  .help-role .needs-photo {
    margin-bottom: 38px;
  }

  .help-role .needs-photo figcaption {
    padding: 24px;
  }

  .help-route-brief article {
    min-height: 120px;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .help-route-brief h3 {
    margin-bottom: 25px;
  }

  .help-value-grid {
    margin-top: 36px;
  }

  .help-value-grid article {
    min-height: 155px;
    padding: 22px;
  }

  .help-value-grid h3 {
    margin-top: 26px;
    font-size: 25px;
  }

  .help-table-wrap {
    margin-top: 36px;
  }

  .help-table-wrap th,
  .help-table-wrap td {
    padding: 18px;
  }

  .help-table-wrap td {
    font-size: 17px;
  }

  .material-hero-swatch {
    min-height: 185px;
    padding: 16px;
  }

  .material-hero-swatch strong {
    font-size: clamp(22px, 1.9vw, 30px);
  }

  .warranty-principle,
  .material-detail,
  .materials-final-cta {
    padding: clamp(40px, 4.1vw, 64px) 4.8vw;
  }

  .warranty-principle h2,
  .material-snapshot h2,
  .material-detail h2,
  .finish-library h2,
  .materials-source-standard h2,
  .materials-final-cta h2 {
    font-size: clamp(32px, 2.9vw, 46px);
  }

  .material-snapshot-grid {
    margin-top: 34px;
  }

  .material-snapshot-grid > a {
    min-height: 190px;
    padding: 16px;
  }

  .material-snapshot-grid h3 {
    margin: 38px 0 28px;
    font-size: 29px;
  }

  .material-detail-number > span {
    font-size: 40px;
  }

  .material-detail-lead {
    margin-top: 22px;
    font-size: clamp(16px, 1.35vw, 20px);
  }

  .material-finish {
    margin-top: 40px;
  }

  .material-finish > div {
    min-height: 180px;
  }

  .material-fact-grid {
    margin-top: 38px;
  }

  .material-fact-grid article {
    min-height: 205px;
    padding-top: 22px;
    padding-bottom: 22px;
  }

  .material-fact-grid article > span {
    margin-bottom: 25px;
  }

  .material-decision-grid {
    margin-top: 42px;
  }

  .material-decision-grid > article {
    padding: 26px;
  }

  .material-decision-grid ul {
    margin-top: 30px;
  }

  .finish-library-current {
    margin-top: 42px;
  }

  .finish-chart-card > header {
    padding: 22px 26px;
  }

  .finish-chart-manufacturers > section {
    grid-template-columns: 190px 1fr;
    padding: 20px 26px;
  }

  .finish-chart-swatches i {
    height: 48px;
  }

  .material-profile-hero,
  .material-profile-art {
    min-height: 425px;
  }

  .material-profile-copy {
    padding: clamp(34px, 3.7vw, 54px) 4.5vw 38px;
  }

  .material-breadcrumb {
    margin-bottom: 30px;
  }

  .material-profile-copy h1 {
    font-size: clamp(42px, 3.95vw, 64px);
  }

  .material-profile-intro {
    margin-top: 24px;
    font-size: clamp(15px, 1.15vw, 18px);
  }

  .material-profile-actions {
    margin-top: 28px;
  }

  .material-profile-stats article {
    min-height: 170px;
    padding-top: 23px;
    padding-bottom: 23px;
  }

  .material-profile-stats strong {
    margin: 23px 0 14px;
    font-size: clamp(28px, 2.7vw, 42px);
  }

  .material-spec-heading h2,
  .manufacturer-library-heading h2,
  .sample-consultation-heading h2,
  .material-evidence-heading h2 {
    font-size: clamp(33px, 3.05vw, 50px);
  }

  .material-spec-grid,
  .manufacturer-list,
  .sample-request-shell,
  .material-evidence-grid {
    margin-top: 42px;
  }

  .material-spec-grid article {
    min-height: 240px;
    padding: 23px 26px;
  }

  .material-spec-grid h3 {
    margin: 40px 0 18px;
    font-size: 30px;
  }

  .manufacturer-panel {
    padding: 30px;
  }

  .manufacturer-introduction {
    margin-top: 24px;
    margin-bottom: 34px;
  }

  .manufacturer-finish-card > i {
    height: 104px;
  }

  .manufacturer-finish-card > div {
    min-height: 94px;
    padding: 15px;
  }

  .explorer-hero h1 {
    font-size: clamp(42px, 4vw, 64px);
  }

  .explorer-progress h2 {
    font-size: clamp(30px, 2.8vw, 43px);
  }

  .explorer-stage-heading h3 {
    font-size: clamp(32px, 3vw, 46px);
  }

  .explorer-project-card {
    min-height: 210px;
  }

  .explorer-project-card .project-drawing {
    height: 128px;
  }

  .project-explorer .explorer-controls {
    position: sticky;
    top: 68px;
    z-index: 22;
    min-height: 74px;
    box-shadow: 0 14px 30px rgba(23, 19, 17, 0.18);
  }

  footer {
    min-height: 104px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

@media (max-width: 1120px) {
  .explorer-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .explorer-size-grid, .explorer-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .explorer-choice-grid--profiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .explorer-result { grid-template-columns: 1fr; }
  .explorer-result-visual { min-height: 630px; border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 1050px) {
  .explorer-hero { min-height: 0; grid-template-columns: 1fr; }
  .explorer-hero-copy { padding: 86px 7vw 76px; border-right: 0; }
  .explorer-hero-aside { min-height: 500px; padding-right: 7vw; padding-left: 7vw; }
  .explorer-progress { grid-template-columns: 1fr; gap: 42px; }
  .explorer-purpose { grid-template-columns: 1fr; gap: 58px; }
}

@media (max-width: 700px) {
  .explorer-hero-copy { padding: 78px 24px 68px; }
  .explorer-hero h1 { font-size: clamp(58px, 18vw, 88px); }
  .explorer-hero-copy > p:not(.eyebrow) { margin-top: 30px; }
  .explorer-hero-aside { min-height: 0; padding: 60px 24px; }
  .explorer-progress { padding: 54px 24px 30px; }
  .explorer-progress ol { overflow-x: auto; grid-template-columns: repeat(5, minmax(94px, 1fr)); padding-bottom: 8px; }
  .explorer-stage { min-height: 0; padding: 60px 24px; }
  .explorer-stage-heading { grid-template-columns: 34px 1fr; gap: 12px; margin-bottom: 42px; }
  .explorer-stage-heading h3 { font-size: 42px; }
  .explorer-project-grid,
  .explorer-size-grid,
  .explorer-route-grid,
  .explorer-choice-grid,
  .explorer-choice-grid--profiles { grid-template-columns: 1fr; }
  .explorer-project-card { min-height: 310px; }
  .explorer-size-card { min-height: 330px; }
  .explorer-route-card { min-height: 300px; }
  .explorer-route-card strong { margin-top: 48px; }
  .project-explorer .explorer-controls { grid-template-columns: 1fr 1fr; padding: 18px 24px; }
  .explorer-controls p { display: none; }
  .explorer-result-visual { min-height: 480px; padding: 76px 18px 96px; }
  .explorer-result-kicker { right: 20px; left: 20px; }
  .explorer-result-kicker span:last-child { display: none; }
  .explorer-result-caption { right: 20px; bottom: 22px; left: 20px; align-items: flex-start; flex-direction: column; gap: 12px; }
  .explorer-result-caption strong { font-size: 21px; }
  .explorer-result-controls { padding: 58px 24px; }
  .explorer-result-controls legend { float: none; display: block; width: auto; padding: 0 0 13px; }
  .explorer-screen-note { margin-left: 0; }
  .explorer-finish-row { grid-template-columns: 1fr; }
  .explorer-finish-row button { display: grid; grid-template-columns: 48px 1fr; align-items: center; }
  .explorer-finish-row i { height: 34px; }
  .explorer-result-actions { align-items: flex-start; flex-direction: column; }
  .explorer-reset { margin-left: 0; }
  .explorer-purpose { padding: 80px 24px; }
  .explorer-purpose-grid article { grid-template-columns: 34px 1fr; }
  .explorer-purpose-grid p { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .explorer-project-card,
  .explorer-size-card,
  .explorer-route-card,
  .explorer-choice-card,
  .explorer-project-card .project-drawing { transition: none; }
}

/* Homepage audience cards: make the full card clickable while retaining the existing CTA destination. */
.audience-card {
  position: relative;
  cursor: pointer;
}
.audience-card > a::after {
  position: absolute;
  inset: 0;
  content: "";
}
.audience-card > a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}


/* Homepage audience cards: native full-tile links. */
a.audience-card {
  color: inherit;
  text-decoration: none;
}
a.audience-card:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: -2px;
}
.audience-card-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.2);
  font-size: 12px;
  font-weight: 800;
}
.audience-card-link span {
  display: inline-block;
  margin-left: 12px;
}


/* Project Explorer / materials polish patch — 2026-09-07 */
/* Step 02 in the Project Explorer purpose section now uses the same line-based row treatment as 01 and 03. */
.explorer-purpose-grid article:not(.explorer-purpose-item--needs-input) {
  margin: 0;
}

/* Copper manufacturer references: two clear manufacturer tiles plus one Copperclad route. */
.material-source-row--copper {
  align-items: start;
}
.material-source-row--copper > div {
  width: 100%;
}
.copper-manufacturer-resources {
  display: block !important;
  width: 100%;
}
.copper-manufacturer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
}
.copper-manufacturer-tile {
  display: flex;
  min-height: 270px;
  flex-direction: column;
  padding: 28px;
  border: 1px solid var(--line);
  background: #faf7f1;
}
.copper-manufacturer-brand {
  display: flex;
  min-height: 78px;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.copper-manufacturer-brand small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.manufacturer-wordmark {
  display: inline-flex;
  width: max-content;
  align-items: center;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  line-height: 1;
}
.manufacturer-wordmark--kme {
  padding: 8px 11px 7px;
  background: #cf202f;
  color: #fff;
  font-size: 31px;
  letter-spacing: -.06em;
}
.manufacturer-wordmark--aurubis {
  gap: 9px;
  color: #1f3d61;
  font-size: 27px;
  letter-spacing: .02em;
}
.manufacturer-wordmark--aurubis i {
  position: relative;
  display: block;
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  border: 6px solid #ef7d23;
  border-right-color: #1f7ba9;
  border-radius: 50%;
  transform: rotate(-24deg);
}
.copper-manufacturer-tile > p {
  margin: 22px 0 26px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.62;
}
.copper-manufacturer-links {
  display: grid;
  gap: 0;
  margin-top: auto;
  border-top: 1px solid var(--line);
}
.material-source-row .copper-manufacturer-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: 11px;
  text-decoration: none;
}
.material-source-row .copper-manufacturer-links a:hover {
  color: var(--copper);
}
.copper-guide-route {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  margin-top: 12px !important;
  padding: 22px 24px !important;
  border: 1px solid var(--ink) !important;
  background: var(--ink);
  color: var(--paper) !important;
  text-decoration: none !important;
}
.copper-guide-route:hover {
  background: var(--copper) !important;
  border-color: var(--copper) !important;
  color: #fff !important;
}
.copper-guide-route span {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.copper-guide-route small {
  color: rgba(243,239,231,.7);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.copper-guide-route strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 1.15;
}
.copper-guide-route > b {
  font-size: 16px;
}

@media (max-width: 1050px) {
  .copper-manufacturer-grid {
    grid-template-columns: 1fr;
  }
  .copper-manufacturer-tile {
    min-height: 0;
  }
}
@media (max-width: 700px) {
  .copper-manufacturer-tile {
    padding: 22px;
  }
  .copper-guide-route {
    padding: 18px !important;
  }
  .copper-guide-route strong {
    font-size: 18px;
  }
}


/* Manufacturer reference cards — consistent across all materials */
.material-source-row--manufacturer-cards{align-items:flex-start}
.manufacturer-reference-resources{width:100%}
.manufacturer-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.manufacturer-reference-grid--evidence{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}
.manufacturer-reference-tile{border:1px solid rgba(255,255,255,.22);padding:24px;display:flex;flex-direction:column;min-height:245px;background:rgba(255,255,255,.035)}
.material-detail .manufacturer-reference-tile{border-color:rgba(18,15,13,.18);background:rgba(255,255,255,.22)}
.manufacturer-reference-brand{display:flex;flex-direction:column;gap:5px;margin-bottom:18px}
.manufacturer-reference-wordmark{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:clamp(26px,2.1vw,39px);line-height:.95;letter-spacing:-.045em;text-transform:none}
.manufacturer-reference-brand small{font-size:10px;line-height:1.35;letter-spacing:.13em;text-transform:uppercase;font-weight:700;opacity:.7}
.manufacturer-reference-tile>p{font-size:13px;line-height:1.55;max-width:58ch;margin:0 0 22px;opacity:.82}
.manufacturer-reference-links{display:grid;margin-top:auto;border-top:1px solid currentColor;border-color:rgba(255,255,255,.18)}
.material-detail .manufacturer-reference-links{border-color:rgba(18,15,13,.16)}
.manufacturer-reference-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:700;text-decoration:none;color:inherit}
.material-detail .manufacturer-reference-links a{border-color:rgba(18,15,13,.16)}
.manufacturer-reference-links a:hover span{text-decoration:underline;text-underline-offset:3px}
.manufacturer-reference-route{margin-top:14px;border:1px solid currentColor;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;text-decoration:none;color:inherit}
.manufacturer-reference-route span{display:flex;flex-direction:column;gap:4px}
.manufacturer-reference-route small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;opacity:.68}
.manufacturer-reference-route strong{font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400}
.manufacturer-reference-route:hover strong{text-decoration:underline;text-underline-offset:4px}
.material-source-list--manufacturer-cards>span{display:block;margin-bottom:0}
.material-evidence .manufacturer-reference-tile{min-height:230px}
.sample-upload-guidance{display:block;margin-top:8px;font-size:10px;line-height:1.45;letter-spacing:.01em;color:inherit;opacity:.72}
@media(max-width:900px){.manufacturer-reference-grid,.manufacturer-reference-grid--evidence{grid-template-columns:1fr}.manufacturer-reference-tile{min-height:0}}


/* Materials manufacturer logo/reference consistency */
.material-brand-row > .material-brand-logo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(155px,1fr));
  gap:12px;
  width:100%;
}
.material-brand-logo{
  min-height:78px;
  border:1px solid rgba(18,15,13,.17);
  background:rgba(255,255,255,.24);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px 20px;
  color:inherit;
  text-decoration:none;
  transition:transform .16s ease,background .16s ease,border-color .16s ease;
}
.material-brand-logo:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.48);
  border-color:rgba(18,15,13,.34);
}
.material-brand-logo .manufacturer-reference-wordmark{font-size:clamp(24px,2vw,36px)}

/* Brand-like wordmarks made from text so they remain crisp without external assets. */
.manufacturer-reference-wordmark--kme{
  display:inline-block;background:#d9232e;color:#fff;padding:7px 11px 6px;
  font-family:Arial Black,Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.06em;
}
.manufacturer-reference-wordmark--aurubis{
  color:#173f6b;font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:.015em;
}
.manufacturer-reference-wordmark--aurubis::before{
  content:"";display:inline-block;width:.72em;height:.72em;border:.18em solid #ef7d22;border-radius:50%;
  margin-right:.22em;vertical-align:-.04em;box-sizing:border-box;
}
.manufacturer-reference-wordmark--vmzinc{
  font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.055em;color:#282828;
  border-top:5px solid #d36b2d;padding-top:5px;
}
.manufacturer-reference-wordmark--rheinzink{
  font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:.055em;color:#253e57;
}
.manufacturer-reference-wordmark--elzinc{
  font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-.045em;color:#474747;
  border-bottom:4px solid #c96a2b;padding-bottom:3px;
}
.manufacturer-reference-wordmark--prefa{
  display:inline-block;background:#c9272c;color:#fff;padding:7px 12px 6px;
  font-family:Arial Black,Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.045em;
}
.manufacturer-reference-wordmark--uginox{
  font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:.01em;color:#323838;
  border-left:6px solid #779a87;padding-left:10px;
}
.manufacturer-reference-wordmark--roofinox{
  font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:.045em;color:#434948;
}
.manufacturer-reference-wordmark--rimex{
  font-family:Arial Black,Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:.02em;color:#242424;
  border-bottom:5px solid #b95b2f;padding-bottom:3px;
}

.material-detail .material-source-row--manufacturer-cards .manufacturer-reference-grid{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:16px;
}
.material-detail .material-source-row--manufacturer-cards .manufacturer-reference-tile{
  min-height:260px;
  padding:26px;
  border:1px solid rgba(18,15,13,.20);
  background:rgba(255,255,255,.30);
}
.material-detail .material-source-row--manufacturer-cards .manufacturer-reference-brand{
  min-height:66px;justify-content:flex-start;
}
.material-detail .material-source-row--manufacturer-cards .manufacturer-reference-links a{
  padding:13px 0;
}
@media(max-width:700px){
  .material-brand-row > .material-brand-logo-grid{grid-template-columns:1fr 1fr}
  .material-brand-logo{min-height:66px;padding:12px}
}
@media(max-width:440px){.material-brand-row > .material-brand-logo-grid{grid-template-columns:1fr}}


/* Manufacturer logo/card reliability patch — uses inline vector brand marks. */
.material-brand-logo-grid--svg{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(185px,1fr)) !important;
  gap:12px !important;
  width:100% !important;
}
.material-brand-logo--svg{
  min-height:88px !important;
  border:1px solid rgba(18,15,13,.18) !important;
  background:#faf7f1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px 16px !important;
  text-decoration:none !important;
}
.manufacturer-logo-svg{
  display:block;
  width:min(100%,250px);
  height:64px;
  overflow:visible;
}
.copper-manufacturer-brand .manufacturer-logo-svg{
  width:min(100%,250px);
  height:58px;
}
.manufacturer-card-grid--all{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
}
.manufacturer-reference-grid--logo-cards .manufacturer-reference-brand{
  min-height:82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.manufacturer-reference-grid--logo-cards .manufacturer-logo-svg{
  width:min(100%,230px);
  height:54px;
}
@media(max-width:700px){
  .material-brand-logo-grid--svg{grid-template-columns:1fr 1fr !important}
  .manufacturer-card-grid--all{grid-template-columns:1fr !important}
}
@media(max-width:440px){.material-brand-logo-grid--svg{grid-template-columns:1fr !important}}


/* Actual manufacturer logo assets — replace earlier hand-drawn approximations */
.manufacturer-logo-image{
  display:block;
  width:auto;
  height:auto;
  max-width:min(100%,250px);
  max-height:58px;
  object-fit:contain;
  object-position:left center;
}
.material-brand-logo .manufacturer-logo-image{
  max-width:min(100%,230px);
  max-height:54px;
  margin:auto;
  object-position:center;
}
.copper-manufacturer-brand .manufacturer-logo-image,
.manufacturer-reference-brand .manufacturer-logo-image{
  max-width:min(100%,240px);
  max-height:56px;
}
.manufacturer-reference-brand .manufacturer-logo-image{
  margin-bottom:6px;
}
/* Some supplied logo files have naturally taller canvases. Keep them visually balanced. */
.manufacturer-logo-image--uginox{
  max-height:72px;
  max-width:190px;
}
.material-brand-logo .manufacturer-logo-image--uginox{
  max-height:66px;
  max-width:170px;
}
.manufacturer-logo-image--rimex{
  max-height:64px;
}
.manufacturer-logo-image--prefa{
  max-height:62px;
}
.manufacturer-logo-image--vmzinc{
  max-height:58px;
}
@media(max-width:700px){
  .manufacturer-logo-image{max-width:min(100%,210px)}
  .material-brand-logo .manufacturer-logo-image{max-width:min(100%,190px)}
}

/* Project Explorer is retained as a private draft for later development.
   Hide every public navigation/link entry while keeping the page itself intact. */
a[href="/project-explorer"],
a[href="/project-explorer/"] {
  display: none !important;
}

/* Homepage selected-work photo pass — 07 Sep 2026
   Use the three approved source photographs exactly as supplied: no image cropping,
   resizing or retouching has been applied to the files in this patch. */
#work .project-card--needs-photo {
  border: 0 !important;
  padding: 0 !important;
  background-color: #17120f !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  color: transparent !important;
}
#work .project-card--needs-photo::before,
#work .project-card--needs-photo::after {
  display: none !important;
  content: none !important;
}
#work .project-card--needs-photo > * {
  display: none !important;
}
#work .project-card--ft {
  background-image: url('/assets/homepage-selected-work/selected-work-01-prefa-airbnb-cottage.jpg') !important;
}
#work .project-card--pier {
  background-image: url('/assets/homepage-selected-work/selected-work-02-prefa-anthra-extension.jpg') !important;
}
#work .project-card--residential {
  background-image: url('/assets/homepage-selected-work/selected-work-03-garden-office.jpg') !important;
}
