@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  src: url('../fonts/inter-latin-variable.woff2') format('woff2');
}

:root {
  --ink: #171716;
  --ink-soft: #222220;
  --ink-raised: #2b2a27;
  --paper: #f5f1e9;
  --paper-soft: #e7e0d5;
  --white: #fff;
  --muted: #bdb6ab;
  --line: rgba(255, 255, 255, 0.16);
  --line-dark: rgba(23, 23, 22, 0.16);
  --accent: #c43d31;
  --accent-hover: #a62e25;
  --accent-on-dark: #e66b5e;
  --success: #176a48;
  --danger: #a52727;
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
  --shell: min(1200px, calc(100vw - 40px));
  --header-height: 96px;
  --admin-bar-offset: 0px;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 12px);
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

body.nav-open {
  overflow: hidden;
}

body.admin-bar { --admin-bar-offset: 32px; }

img,
svg,
video {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

a {
  color: inherit;
  text-underline-offset: 0.18em;
  text-decoration-thickness: 0.08em;
}

a:hover {
  text-decoration-color: var(--accent);
}

button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
}

button,
select {
  cursor: pointer;
}

:focus-visible {
  box-shadow: 0 0 0 5px var(--ink);
  outline: 3px solid var(--white);
  outline-offset: 2px;
}

[hidden] {
  display: none !important;
}

.shell {
  margin-inline: auto;
  width: var(--shell);
}

.narrow {
  margin-inline: auto;
  max-width: 780px;
}

.skip-link {
  background: var(--white);
  color: var(--ink);
  left: 16px;
  padding: 10px 16px;
  position: fixed;
  top: -100px;
  z-index: 1000;
}

.skip-link:focus {
  top: 16px;
}

.eyebrow {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  margin: 0 0 14px;
  text-transform: uppercase;
}

.display,
h1,
h2,
h3 {
  font-family: var(--serif);
  font-weight: 400;
  line-height: 1.08;
  text-wrap: balance;
}

h1 {
  font-size: clamp(2.7rem, 7vw, 5.9rem);
  letter-spacing: -0.045em;
  margin: 0;
}

h2 {
  font-size: clamp(2rem, 4vw, 3.6rem);
  letter-spacing: -0.035em;
}

h3 {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}

p {
  text-wrap: pretty;
}

.lead {
  font-size: clamp(1.08rem, 2vw, 1.28rem);
  max-width: 65ch;
}

.button {
  align-items: center;
  appearance: none;
  background: var(--accent);
  border: 2px solid var(--accent);
  border-radius: 2px;
  color: var(--white);
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 800;
  gap: 10px;
  justify-content: center;
  letter-spacing: 0.08em;
  min-height: 48px;
  padding: 12px 20px;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.button:hover {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
  color: var(--white);
  transform: translateY(-1px);
}

.button--secondary {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.72);
}

.button--secondary:hover {
  background: var(--white);
  border-color: var(--white);
  color: var(--ink);
}

.button--dark {
  background: var(--ink);
  border-color: var(--ink);
}

.button--small {
  min-height: 42px;
  padding: 9px 15px;
}

.text-link {
  align-items: center;
  display: inline-flex;
  font-size: 0.83rem;
  font-weight: 800;
  gap: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.text-link::after {
  content: '\2192';
  transition: transform 180ms ease;
}

.text-link:hover::after {
  transform: translateX(4px);
}

.site-header {
  background: rgba(23, 23, 22, 0.96);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
  color: var(--white);
  position: sticky;
  top: var(--admin-bar-offset);
  z-index: 100;
}

.site-header__inner {
  align-items: center;
  display: flex;
  min-height: var(--header-height);
}

.brand {
  display: inline-flex;
  flex: 0 0 auto;
  text-decoration: none;
}

.brand img {
  height: auto;
  width: 220px;
}

.primary-nav {
  align-items: center;
  display: flex;
  gap: clamp(18px, 2.4vw, 32px);
  margin-left: auto;
}

.primary-nav .menu {
  align-items: center;
  display: flex;
  gap: clamp(16px, 1.8vw, 26px);
  list-style: none;
  margin: 0;
  padding: 0;
}

.primary-nav .menu a {
  color: #e9e5de;
  font-size: 0.91rem;
  text-decoration: none;
}

.primary-nav .current-menu-item > a,
.primary-nav .current_page_item > a,
.primary-nav .menu a:hover {
  color: var(--white);
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
}

.breadcrumbs {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.72rem;
  font-weight: 700;
  gap: 7px;
  letter-spacing: 0.05em;
  margin-bottom: 22px;
}

.breadcrumbs a { text-underline-offset: 4px; }
.breadcrumbs [aria-current='page'] { opacity: 0.68; }

.nav-toggle {
  align-items: center;
  background: transparent;
  border: 1px solid var(--line);
  color: var(--white);
  display: none;
  gap: 10px;
  margin-left: auto;
  min-height: 44px;
  padding: 8px 12px;
}

.nav-toggle__label {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.nav-toggle__icon,
.nav-toggle__icon::before,
.nav-toggle__icon::after {
  background: currentColor;
  display: block;
  height: 2px;
  position: relative;
  transition: transform 180ms ease;
  width: 22px;
}

.nav-toggle__icon::before,
.nav-toggle__icon::after {
  content: '';
  left: 0;
  position: absolute;
}

.nav-toggle__icon::before { top: -7px; }
.nav-toggle__icon::after { top: 7px; }

.nav-toggle[aria-expanded='true'] .nav-toggle__icon { background: transparent; }
.nav-toggle[aria-expanded='true'] .nav-toggle__icon::before { top: 0; transform: rotate(45deg); }
.nav-toggle[aria-expanded='true'] .nav-toggle__icon::after { top: 0; transform: rotate(-45deg); }

.hero {
  background-color: #090909;
  color: var(--white);
  min-height: min(760px, calc(100svh - 96px));
  overflow: hidden;
  position: relative;
}

.hero__media {
  inset: 0;
  position: absolute;
}

.hero__media::after {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.7) 42%, rgba(0, 0, 0, 0.16) 78%), linear-gradient(0deg, rgba(0, 0, 0, 0.42), transparent 46%);
  content: '';
  inset: 0;
  position: absolute;
}

.hero__media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.hero__inner {
  align-items: center;
  display: flex;
  min-height: inherit;
  padding-block: 100px;
  position: relative;
  z-index: 1;
}

.hero__content {
  max-width: 720px;
}

.hero h1 {
  max-width: 10ch;
}

.hero .lead {
  color: #ded9d1;
  margin: 26px 0 34px;
  max-width: 51ch;
}

.hero .eyebrow,
.page-hero .eyebrow,
.section--dark .eyebrow,
.section--raised .eyebrow,
.site-footer .eyebrow {
  color: var(--accent-on-dark);
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.fact-strip {
  background: var(--ink);
  border-top: 1px solid var(--line);
  color: var(--white);
}

.fact-strip__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.fact {
  border-right: 1px solid var(--line);
  padding: 28px 24px;
}

.fact:first-child { border-left: 1px solid var(--line); }
.fact strong { display: block; font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }
.fact span { color: var(--muted); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; }

.section {
  padding-block: clamp(72px, 10vw, 128px);
}

.section--dark {
  background: var(--ink);
  color: var(--white);
}

.section--raised {
  background: var(--ink-soft);
  color: var(--white);
}

.section--compact {
  padding-block: clamp(54px, 7vw, 86px);
}

.section-heading {
  align-items: end;
  display: flex;
  gap: 40px;
  justify-content: space-between;
  margin-bottom: clamp(34px, 6vw, 64px);
}

.section-heading h2 {
  margin: 0;
  max-width: 13ch;
}

.section-heading p:not(.eyebrow) {
  margin: 0;
  max-width: 55ch;
}

.split {
  align-items: center;
  display: grid;
  gap: clamp(36px, 7vw, 90px);
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
}

.split--reverse > :first-child { order: 2; }

.split__media {
  background: #393733;
  min-height: 480px;
  overflow: hidden;
}

.split__media img {
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  transition: transform 600ms ease;
  width: 100%;
}

.split__content h2 { margin: 0 0 24px; }
.split__content .lead { color: inherit; opacity: 0.82; }

.feature-grid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, 1fr);
  background: var(--line-dark);
}

.feature-card {
  background: var(--paper);
  color: var(--ink);
  min-height: 320px;
  padding: clamp(30px, 4vw, 48px);
}

.feature-card__number {
  color: var(--accent);
  display: block;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  margin-bottom: 60px;
}

.feature-card h3 { margin: 0 0 14px; }
.feature-card p { margin: 0; opacity: 0.72; }

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

.material-card {
  background: var(--white);
  box-shadow: 0 0 0 1px var(--line-dark);
  display: flex;
  flex-direction: column;
  min-width: 0;
  position: relative;
}

.section--dark .material-card,
.section--raised .material-card {
  background: var(--ink-raised);
  box-shadow: 0 0 0 1px var(--line);
}

.material-card__image {
  aspect-ratio: 16 / 10;
  background: #3a3834;
  display: block;
  overflow: hidden;
}

.material-card__image img {
  height: 100%;
  object-fit: cover;
  transition: transform 420ms ease;
  width: 100%;
}

.material-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}

.material-card__meta {
  color: var(--accent);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.section--dark .material-card__meta,
.section--raised .material-card__meta {
  color: var(--accent-on-dark);
}

.material-card h2,
.material-card h3 {
  font-size: 1.65rem;
  margin: 0 0 12px;
}

.material-card h2 a,
.material-card h3 a { text-decoration: none; }
.material-card h2 a::after,
.material-card h3 a::after,
.home-story h3 a::after,
.journal-card h2 a::after,
.journal-related h3 a::after {
  content: '';
  inset: 0;
  position: absolute;
  z-index: 1;
}
.material-card__description { font-size: 0.94rem; margin: 0 0 20px; opacity: 0.76; }

.material-card__specs {
  border-top: 1px solid var(--line-dark);
  display: grid;
  gap: 6px;
  margin: auto 0 20px;
  padding-top: 16px;
}

.section--dark .material-card__specs,
.section--raised .material-card__specs { border-color: var(--line); }
.material-card__specs div { display: flex; gap: 12px; justify-content: space-between; }
.material-card__specs dt { font-size: 0.76rem; font-weight: 800; text-transform: uppercase; }
.material-card__specs dd { font-size: 0.84rem; margin: 0; text-align: right; }

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  list-style: none;
  margin: 18px 0;
  padding: 0;
}

.tag-list li {
  border: 1px solid var(--line-dark);
  border-radius: 999px;
  font-size: 0.7rem;
  padding: 4px 9px;
}

.section--dark .tag-list li { border-color: var(--line); }

.page-hero {
  background: var(--ink);
  color: var(--white);
  padding-block: clamp(70px, 10vw, 126px);
}

.page-hero h1 { font-size: clamp(2.8rem, 6vw, 5rem); max-width: 14ch; }
.page-hero .lead { color: #d5d0c7; margin: 24px 0 0; }
.page-hero .button-row { margin-top: 30px; }

.page-hero--visual {
  align-items: center;
  display: grid;
  isolation: isolate;
  min-height: clamp(520px, 68svh, 710px);
  overflow: hidden;
  padding-block: 0;
  position: relative;
}

.page-hero__media {
  inset: 0;
  position: absolute;
  z-index: -2;
}

.page-hero__media::after {
  background: linear-gradient(90deg, rgba(9, 9, 9, 0.94) 0%, rgba(9, 9, 9, 0.76) 48%, rgba(9, 9, 9, 0.2) 82%), linear-gradient(0deg, rgba(9, 9, 9, 0.52), transparent 50%);
  content: '';
  inset: 0;
  position: absolute;
}

.page-hero__media img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.page-hero__content {
  padding-block: clamp(88px, 12vw, 150px);
  position: relative;
  z-index: 1;
}

.page-hero__content .lead {
  max-width: 54ch;
}

.proof-strip {
  background: var(--paper-soft);
  border-block: 1px solid var(--line-dark);
}

.proof-strip--dark {
  background: var(--ink-soft);
  border-color: var(--line);
  color: var(--white);
}

.proof-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.proof-item {
  min-width: 0;
  padding: 30px clamp(20px, 3vw, 34px);
}

.proof-item + .proof-item {
  border-left: 1px solid var(--line-dark);
}

.proof-strip--dark .proof-item + .proof-item {
  border-color: var(--line);
}

.proof-item strong {
  display: block;
  font-family: var(--serif);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 7px;
}

.proof-item span,
.proof-item p {
  display: block;
  font-size: 0.86rem;
  margin: 0;
  opacity: 0.76;
}

.process-grid,
.route-grid {
  background: transparent;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.process-step,
.route-card {
  background: var(--white);
  border: 1px solid var(--line-dark);
  min-width: 0;
  padding: clamp(26px, 4vw, 42px);
}

.section--dark .process-step,
.section--dark .route-card,
.section--raised .process-step,
.section--raised .route-card {
  background: var(--ink-raised);
  border-color: var(--line);
}

.process-step__number {
  color: var(--accent);
  display: block;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  margin-bottom: 36px;
  text-transform: uppercase;
}

.section--dark .process-step__number,
.section--raised .process-step__number {
  color: var(--accent-on-dark);
}

.process-step h3,
.route-card h3 {
  margin: 0 0 13px;
}

.process-step p,
.route-card p {
  margin: 0;
  opacity: 0.76;
}

.route-card .text-link {
  margin-top: 24px;
}

.checklist {
  display: grid;
  gap: 14px;
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
}

.checklist li {
  padding-left: 34px;
  position: relative;
}

.checklist li::before {
  align-items: center;
  background: var(--accent);
  border-radius: 50%;
  color: var(--white);
  content: '\2713';
  display: inline-flex;
  font-size: 0.7rem;
  font-weight: 800;
  height: 20px;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 0.2em;
  width: 20px;
}

.section--dark .checklist li::before,
.section--raised .checklist li::before {
  background: var(--accent-on-dark);
  color: var(--ink);
}

.filter-panel {
  background: var(--white);
  border: 1px solid var(--line-dark);
  margin: -46px auto 50px;
  padding: 24px;
  position: relative;
  z-index: 2;
}

.filters {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(150px, 1fr)) auto;
}

.filters label,
.form-grid label {
  display: flex;
  flex-direction: column;
  font-size: 0.78rem;
  font-weight: 800;
  gap: 6px;
  letter-spacing: 0.04em;
}

.filters input,
.filters select,
.form-grid input,
.form-grid select,
.form-grid textarea {
  background: var(--white);
  border: 1px solid #948d83;
  border-radius: 0;
  min-height: 48px;
  padding: 10px 12px;
  width: 100%;
}

.filters input:focus,
.filters select:focus,
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus {
  border-color: var(--ink);
  box-shadow: 0 0 0 3px rgba(196, 61, 49, 0.2);
}

.filters input:focus-visible,
.filters select:focus-visible,
.form-grid input:focus-visible,
.form-grid select:focus-visible,
.form-grid textarea:focus-visible {
  box-shadow: 0 0 0 5px var(--ink);
  outline: 3px solid var(--white);
  outline-offset: 2px;
}

.filters__actions { align-self: end; }
.filter-summary { align-items: center; display: flex; justify-content: space-between; margin-top: 18px; }
.filter-summary p { margin: 0; }
.filter-empty { border: 1px dashed var(--line-dark); grid-column: 1 / -1; padding: 60px 20px; text-align: center; }

.stone-sheet {
  display: grid;
  gap: clamp(34px, 7vw, 86px);
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
}

.stone-sheet__image {
  align-self: start;
  aspect-ratio: 16 / 11;
  background: #373530;
  overflow: hidden;
  position: sticky;
  top: calc(var(--admin-bar-offset) + var(--header-height) + 24px);
}

.stone-sheet__image img { height: 100%; object-fit: cover; width: 100%; }
.stone-sheet h1 { font-size: clamp(2.7rem, 5vw, 4.8rem); }
.stone-sheet__description { font-size: 1.15rem; }
.spec-list { border-block: 1px solid var(--line-dark); margin: 32px 0; }
.spec-list div { display: grid; gap: 16px; grid-template-columns: 120px 1fr; padding: 14px 0; }
.spec-list div + div { border-top: 1px solid var(--line-dark); }
.spec-list dt { font-size: 0.76rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.spec-list dd { margin: 0; }

.inquiry-form {
  background: var(--white);
  border: 1px solid var(--line-dark);
  color: var(--ink);
  padding: clamp(24px, 4vw, 44px);
}

.inquiry-form--sample {
  padding: clamp(24px, 5vw, 54px);
}

.form-section,
.inquiry-form__section {
  border: 0;
  margin: 0;
  padding: 0;
}

.form-section + .form-section,
.inquiry-form__section + .inquiry-form__section {
  border-top: 1px solid var(--line-dark);
  margin-top: clamp(32px, 5vw, 48px);
  padding-top: clamp(30px, 5vw, 46px);
}

.form-section legend,
.inquiry-form__section legend,
.form-section__heading {
  font-family: var(--serif);
  font-size: clamp(1.45rem, 3vw, 2rem);
  line-height: 1.15;
  margin-bottom: 22px;
  padding: 0;
  width: 100%;
}

.form-section__intro {
  margin: -10px 0 24px;
  max-width: 62ch;
  opacity: 0.74;
}

.form-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 24px;
}

.form-field--wide { grid-column: 1 / -1; }
.form-grid textarea { resize: vertical; }
.form-grid .checkbox { align-items: start; flex-direction: row; font-weight: 500; letter-spacing: 0; }
.form-grid .checkbox input { flex: 0 0 auto; height: 20px; min-height: 0; margin-top: 3px; width: 20px; }
.form-grid input[type='checkbox'],
.form-grid input[type='radio'] {
  accent-color: var(--accent);
  flex: 0 0 auto;
  height: 20px;
  min-height: 0;
  padding: 0;
  width: 20px;
}

.form-grid small,
.form-grid .field-help {
  color: #615c55;
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0;
}

.form-choice-group {
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin: 0;
  padding: 0;
}

.form-choice-group legend {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-bottom: 10px;
  padding: 0;
  width: 100%;
}

.form-grid .radio,
.form-choice-group .radio {
  align-items: center;
  flex-direction: row;
  font-weight: 500;
  gap: 9px;
  letter-spacing: 0;
}

.form-fieldset {
  border: 0;
  grid-column: 1 / -1;
  margin: 0;
  padding: 0;
}

.form-fieldset legend {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-bottom: 10px;
  padding: 0;
}

.radio-group,
.radio-options,
.choice-group {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.radio-group label,
.radio-options label,
.choice-group label {
  align-items: center;
  flex-direction: row;
  font-weight: 500;
  gap: 9px;
  letter-spacing: 0;
}

.field-help {
  color: #615c55;
  display: block;
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0;
}
.form-trap { height: 0; left: -9999px; overflow: hidden; position: absolute; width: 0; }

.form-required-note,
.form-assurance { color: #514c45; font-size: 0.9rem; }

.form-progress {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 28px 0 40px;
  padding: 0;
}

.no-js .form-progress { display: none; }
.has-js .form-step { display: none; }
.has-js .form-step.is-active { display: block; }

.form-progress li {
  border-top: 3px solid #c6beb3;
  color: #625c54;
  display: flex;
  flex-direction: column;
  font-size: 0.75rem;
  font-weight: 750;
  gap: 5px;
  padding-top: 10px;
}

.form-progress li[aria-current='step'] { border-color: var(--accent); color: var(--ink); }
.form-progress li.is-complete { border-color: var(--success); }
.form-progress li span { font-size: 0.68rem; letter-spacing: 0.08em; }

.form-step-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 28px;
}

.form-optional-details {
  background: #f3efe8;
  border: 1px solid var(--line-dark);
  margin: 4px 0 24px;
  padding: 18px 20px;
}

.form-optional-details summary { cursor: pointer; font-weight: 750; }
.form-optional-details[open] summary { margin-bottom: 22px; }
.form-optional-details .form-grid { margin-bottom: 0; }

.taxonomy-links {
  background: var(--white);
  border: 1px solid var(--line-dark);
  display: grid;
  gap: 18px;
  margin-top: -34px;
  padding: 24px clamp(20px, 4vw, 42px);
  position: relative;
  z-index: 2;
}

.taxonomy-links > div { align-items: baseline; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.taxonomy-links span { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; min-width: 92px; text-transform: uppercase; }
.taxonomy-links a { font-size: 0.85rem; font-weight: 650; }
.taxonomy-links a[aria-current='page'] { color: var(--accent); font-weight: 800; }
.taxonomy-links + .filter-panel { margin-top: 24px; }
.no-js .filters { display: none; }

.notice {
  border-left: 5px solid;
  margin-bottom: 20px;
  padding: 14px 18px;
}

.notice--success { background: #e7f4ed; border-color: var(--success); color: #0e4b32; }
.notice--error { background: #fae9e9; border-color: var(--danger); color: #711c1c; }

.document-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.document-card {
  background: var(--white);
  border: 1px solid var(--line-dark);
  color: var(--ink);
  display: flex;
  flex-direction: column;
  min-height: 230px;
  padding: 28px;
}

.document-card__type { color: var(--accent); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.document-card h2,
.document-card h3 { font-size: 1.65rem; margin: 32px 0 20px; }
.document-card a { margin-top: auto; }

.prose {
  font-size: 1.04rem;
}

.prose > * { max-width: 76ch; }
.prose > figure,
.prose > .wp-block-columns,
.prose > .wp-block-media-text { max-width: 100%; }
.prose > .article-cover { margin: 0 0 clamp(34px, 6vw, 64px); }
.article-cover img { aspect-ratio: 16 / 10; display: block; object-fit: cover; width: 100%; }
.prose h2 { font-size: clamp(1.8rem, 4vw, 2.7rem); margin: 2em 0 0.55em; }
.prose h3 { font-size: 1.55rem; margin: 1.8em 0 0.5em; }
.prose h4 { font-size: 1.08rem; margin: 1.5em 0 0.4em; }
.prose img { height: auto; max-width: 100%; }
.prose blockquote { border-left: 4px solid var(--accent); font-family: var(--serif); font-size: 1.35rem; margin: 2em 0; padding: 8px 0 8px 24px; }
.prose a { color: #8f291f; font-weight: 700; }
.post-meta { color: #6f6961; font-size: 0.84rem; letter-spacing: 0.06em; text-transform: uppercase; }
.page-hero .post-meta,
.section--dark .post-meta,
.section--raised .post-meta { color: var(--muted); }

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

.post-card { background: var(--white); border: 1px solid var(--line-dark); }
.post-card__image { aspect-ratio: 16 / 10; background: #d5cfc5; display: block; overflow: hidden; }
.post-card__image img { height: 100%; object-fit: cover; transition: transform 400ms ease; width: 100%; }
.post-card__body { padding: 24px; }
.post-card h2 { font-size: 1.65rem; margin: 10px 0 14px; }
.post-card h2 a { text-decoration: none; }

.callout {
  align-items: center;
  background: var(--accent);
  color: var(--white);
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr auto;
  padding: clamp(34px, 6vw, 70px);
}

.callout h2 { margin: 0 0 14px; }
.callout p { margin: 0; max-width: 58ch; }

.site-footer {
  background: #11110f;
  color: #d9d3ca;
  padding-top: 76px;
}

.site-footer__grid {
  display: grid;
  gap: clamp(36px, 8vw, 100px);
  grid-template-columns: 1.4fr 0.8fr 0.8fr;
  padding-bottom: 64px;
}

.site-footer__logo { margin-bottom: 20px; width: 220px; }
.site-footer h2 { color: var(--white); font-family: var(--sans); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.14em; margin: 0 0 18px; text-transform: uppercase; }
.site-footer p { max-width: 44ch; }
.site-footer .menu { list-style: none; margin: 0; padding: 0; }
.site-footer .menu li + li { margin-top: 7px; }
.site-footer a { color: inherit; }
.site-footer__bottom { align-items: center; border-top: 1px solid var(--line); display: flex; font-size: 0.8rem; justify-content: space-between; padding-block: 22px; }
.site-footer__bottom p { margin: 0; }

.pagination { margin-top: 50px; }
.empty-state { padding: 80px 0; text-align: center; }

@media (hover: hover) and (pointer: fine) {
  .split__media:hover img { transform: scale(1.025); }
  .material-card:hover .material-card__image img { transform: scale(1.035); }
  .post-card:hover img { transform: scale(1.03); }
}

@media (prefers-reduced-motion: no-preference) {
  .hero__media img,
  .page-hero--visual .page-hero__media img {
    animation: hero-settle 14s cubic-bezier(0.2, 0.7, 0.2, 1) both;
  }

  .hero__content > *,
  .page-hero__content > * {
    animation: hero-content-in 650ms cubic-bezier(0.2, 0.72, 0.25, 1) both;
  }

  .hero__content > :nth-child(2),
  .page-hero__content > :nth-child(2) { animation-delay: 100ms; }

  .hero__content > :nth-child(3),
  .page-hero__content > :nth-child(3) { animation-delay: 190ms; }

  .hero__content > :nth-child(4),
  .page-hero__content > :nth-child(4) { animation-delay: 280ms; }

  .has-js [data-reveal] {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 620ms ease, transform 620ms cubic-bezier(0.2, 0.72, 0.25, 1);
  }

  .has-js [data-reveal].is-revealed {
    opacity: 1;
    transform: none;
  }
}

@keyframes hero-settle {
  from { transform: scale(1.045); }
  to { transform: scale(1); }
}

@keyframes hero-content-in {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 1120px) {
  .has-js .primary-nav { display: none; }
  .has-js .nav-toggle { display: inline-flex; }
  .primary-nav.is-open {
    align-items: stretch;
    background: var(--ink);
    border-top: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    gap: 24px;
    inset: var(--header-height) 0 auto;
    max-height: calc(100svh - var(--header-height));
    overflow-y: auto;
    padding: 30px max(20px, calc((100vw - 1200px) / 2));
    position: absolute;
  }
  .primary-nav.is-open .menu { align-items: stretch; flex-direction: column; gap: 0; }
  .primary-nav.is-open .menu a { border-bottom: 1px solid var(--line); display: block; font-family: var(--serif); font-size: 1.5rem; padding: 13px 0; }
  .primary-nav__cta { align-self: start; }
  .no-js .site-header__inner { align-items: flex-start; flex-wrap: wrap; padding-block: 18px; }
  .no-js .primary-nav { align-items: flex-start; flex-basis: 100%; flex-direction: column; gap: 14px; margin: 16px 0 0; }
  .no-js .primary-nav .menu { align-items: flex-start; flex-wrap: wrap; row-gap: 10px; }
  .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filters__actions { align-self: auto; }
}

@media (max-width: 900px) {
  .fact-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .fact:nth-child(3) { border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
  .fact:nth-child(4) { border-top: 1px solid var(--line); }
  .split,
  .stone-sheet { grid-template-columns: 1fr; }
  .split--reverse > :first-child { order: initial; }
  .split__media { min-height: 380px; }
  .stone-sheet__image { position: static; }
  .feature-grid,
  .material-grid,
  .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .proof-item:nth-child(odd) { border-left: 0; }
  .proof-item:nth-child(n + 3) { border-top: 1px solid var(--line-dark); }
  .proof-strip--dark .proof-item:nth-child(n + 3) { border-top-color: var(--line); }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .site-footer__grid > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  :root { --header-height: 78px; --shell: min(100% - 28px, 1200px); }
  .brand img { width: 184px; }
  .primary-nav.is-open { inset-block-start: var(--header-height); max-height: calc(100svh - var(--header-height)); }
  .hero { min-height: 690px; }
  .hero__inner { padding-block: 76px; }
  .hero__media::after { background: linear-gradient(90deg, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.48)), linear-gradient(0deg, rgba(0, 0, 0, 0.64), transparent); }
  .page-hero--visual { min-height: 590px; }
  .page-hero__media::after { background: linear-gradient(90deg, rgba(9, 9, 9, 0.9), rgba(9, 9, 9, 0.5)), linear-gradient(0deg, rgba(9, 9, 9, 0.7), transparent 64%); }
  .fact { padding: 22px 16px; }
  .fact strong { font-size: 1.15rem; }
  .section-heading { align-items: start; flex-direction: column; gap: 18px; }
  .feature-grid,
  .material-grid,
  .post-grid,
  .document-grid,
  .process-grid,
  .route-grid,
  .filters,
  .form-grid,
  .callout,
  .site-footer__grid { grid-template-columns: 1fr; }
  .feature-card { min-height: 240px; }
  .feature-card__number { margin-bottom: 36px; }
  .filter-panel { margin-top: -28px; padding: 18px; }
  .filter-summary { align-items: flex-start; flex-direction: column; gap: 10px; }
  .form-field--wide,
  .site-footer__grid > :first-child { grid-column: auto; }
  .callout { align-items: start; }
  .site-footer__bottom { align-items: start; flex-direction: column; gap: 6px; }
  .stone-sheet__content .button-row .button { width: 100%; }
  .form-progress { font-size: 0.7rem; }
  .form-step-actions { align-items: stretch; flex-direction: column-reverse; }
  .form-step-actions .button { width: 100%; }
  .taxonomy-links { margin-top: -20px; }
}

@media (max-width: 782px) {
  body.admin-bar { --admin-bar-offset: 46px; }
}

@media (max-width: 420px) {
  .fact-strip__grid {
    border-inline: 1px solid var(--line);
    grid-template-columns: 1fr;
  }

  .fact-strip__grid .fact {
    border: 0;
  }

  .fact-strip__grid .fact + .fact {
    border-top: 1px solid var(--line);
  }

  .proof-grid { grid-template-columns: 1fr; }
  .proof-item,
  .proof-item:nth-child(odd),
  .proof-item:nth-child(n + 3) {
    border-left: 0;
    border-top: 1px solid var(--line-dark);
  }
  .proof-item:first-child { border-top: 0; }
  .proof-strip--dark .proof-item { border-top-color: var(--line); }
  .spec-list div { gap: 4px; grid-template-columns: 1fr; }
  .radio-group,
  .radio-options,
  .choice-group { align-items: flex-start; flex-direction: column; }
}

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

/* Editorial index ------------------------------------------------------- */
.editorial-index {
  background:
    linear-gradient(90deg, transparent 0, transparent calc(50% - 1px), rgba(23, 23, 22, 0.04) 50%, transparent calc(50% + 1px)),
    var(--paper);
}

.editorial-index__hero {
  background: var(--ink);
  color: var(--white);
  overflow: hidden;
  padding-block: clamp(76px, 11vw, 150px);
  position: relative;
}

.editorial-index__hero::after {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  content: '';
  height: min(52vw, 680px);
  position: absolute;
  right: max(-14vw, -220px);
  top: 50%;
  transform: translateY(-50%);
  width: min(52vw, 680px);
}

.editorial-index__heading {
  align-items: end;
  display: grid;
  gap: clamp(38px, 8vw, 110px);
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr);
  position: relative;
  z-index: 1;
}

.editorial-index__heading h1 {
  font-size: clamp(3.2rem, 7.5vw, 7rem);
  max-width: 12ch;
}

.editorial-index__heading .lead {
  color: #ddd7ce;
  margin: 0 0 0.6em;
}

.editorial-index__section { padding-top: clamp(52px, 8vw, 96px); }

.post-grid--editorial {
  align-items: stretch;
  display: grid;
  gap: clamp(22px, 3vw, 36px);
  grid-auto-flow: dense;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.post-grid--editorial .post-card {
  grid-column: span 4;
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.post-grid--editorial .post-card__image {
  aspect-ratio: 4 / 3;
  border: 0;
}

.post-card__meta {
  align-items: center;
  color: #625d56;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.68rem;
  font-weight: 800;
  gap: 8px 16px;
  justify-content: space-between;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.post-card__meta span { color: var(--accent); }
.post-card__excerpt { margin-bottom: 24px; }

.post-card--collage { grid-column: span 7 !important; }
.post-card--collage .post-card__image { aspect-ratio: 16 / 8.4; }
.post-card--collage .post-card__body { padding: clamp(26px, 4vw, 46px); }
.post-card--collage h2 { font-size: clamp(2rem, 4vw, 3.35rem); max-width: 15ch; }
.post-card--collage::after {
  background: var(--accent);
  content: '';
  height: 8px;
  left: 0;
  position: absolute;
  top: 0;
  width: 32%;
  z-index: 1;
}

.post-card--technical-split {
  background-color: #fbfaf7;
  background-image: linear-gradient(rgba(23, 23, 22, 0.055) 1px, transparent 1px);
  background-size: 100% 28px;
  border-top: 8px solid var(--ink);
  grid-column: span 5 !important;
}

.post-card--technical-split .post-card__image { aspect-ratio: 16 / 8.6; filter: saturate(0.65); }
.post-card--technical-split .post-card__body { background: rgba(255, 255, 255, 0.88); margin: -32px 18px 18px; padding: 26px; position: relative; }
.post-card--technical-split h2 { font-family: var(--sans); font-size: clamp(1.55rem, 2.7vw, 2.25rem); font-weight: 700; letter-spacing: -0.045em; }

.post-card--timeline {
  border: 0;
  border-left: 6px solid var(--accent);
  grid-column: span 4 !important;
}

.post-card--timeline .post-card__image { aspect-ratio: 1 / 1; }
.post-card--timeline .post-card__body { padding: 30px; }
.post-card--timeline h2 { font-size: clamp(1.65rem, 2.8vw, 2.3rem); }

.post-card--immersive-dark {
  background: var(--ink-soft);
  border: 0;
  color: var(--white);
  display: grid;
  grid-column: span 8 !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
}

.post-card--immersive-dark .post-card__image { aspect-ratio: auto; min-height: 440px; }
.post-card--immersive-dark .post-card__image img { filter: contrast(1.04) saturate(0.72); }
.post-card--immersive-dark .post-card__body { align-self: center; padding: clamp(30px, 5vw, 62px); }
.post-card--immersive-dark .post-card__meta { color: var(--muted); }
.post-card--immersive-dark .post-card__meta span { color: var(--accent-on-dark); }
.post-card--immersive-dark h2 { font-size: clamp(2rem, 4vw, 3.25rem); }
.post-card--immersive-dark .text-link { color: var(--white); }

.post-card--magazine {
  background: #ded6ca;
  border: 0;
  grid-column: span 4 !important;
}

.post-card--magazine .post-card__image { aspect-ratio: 4 / 5; margin: 16px 16px 0; }
.post-card--magazine .post-card__body { padding: 28px 32px 34px; }
.post-card--magazine h2 { font-size: clamp(1.8rem, 3.1vw, 2.55rem); }

/* Single editorial story ------------------------------------------------ */
.editorial-hero {
  background: var(--paper-soft);
  overflow: hidden;
  padding-block: clamp(56px, 8vw, 112px);
}

.editorial-hero__grid {
  align-items: center;
  display: grid;
  gap: clamp(42px, 8vw, 110px);
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
}

.editorial-hero__content { min-width: 0; position: relative; z-index: 1; }
.editorial-hero__content h1 { font-size: clamp(3rem, 6.4vw, 6.25rem); }
.editorial-hero__content .lead { margin-block: 28px; }

.editorial-hero__kicker {
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.17em;
  margin: 0 0 20px;
  text-transform: uppercase;
}

.editorial-hero__meta {
  align-items: center;
  color: #5f5a53;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.75rem;
  font-weight: 700;
  gap: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.editorial-hero__cover { margin: 0; position: relative; }
.editorial-hero__cover img { height: 100%; object-fit: cover; width: 100%; }

.editorial-body { padding-block: clamp(64px, 10vw, 132px); }

.editorial-body__grid {
  align-items: start;
  display: grid;
  gap: clamp(38px, 7vw, 92px);
  grid-template-columns: 150px minmax(0, 820px);
  justify-content: center;
}

.editorial-rail {
  border-top: 1px solid currentColor;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  padding-top: 18px;
  position: sticky;
  text-transform: uppercase;
  top: calc(var(--admin-bar-offset) + var(--header-height) + 28px);
}

.editorial-rail__mark {
  display: block;
  font-family: var(--serif);
  font-size: 3.5rem;
  letter-spacing: -0.05em;
  line-height: 1;
}

.editorial-rail p { color: #69635b; font-weight: 800; }
.editorial-rail a { font-weight: 800; }

.editorial-prose { font-size: clamp(1.02rem, 1.3vw, 1.1rem); min-width: 0; }
.editorial-prose > * { max-width: 72ch; }
.editorial-prose > .article-lede,
.editorial-prose > p:first-child {
  font-family: var(--serif);
  font-size: clamp(1.28rem, 2vw, 1.55rem);
  line-height: 1.52;
  margin-top: 0;
}

.article-kicker {
  color: var(--accent);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.17em;
  margin-bottom: 20px;
  text-transform: uppercase;
}

.editorial-prose > h2 { max-width: 20ch; }
.editorial-prose figure { margin-block: clamp(42px, 7vw, 76px); }
.editorial-prose figure img { width: 100%; }
.editorial-prose figcaption {
  border-top: 1px solid var(--line-dark);
  color: #645e56;
  font-size: 0.78rem;
  line-height: 1.45;
  margin-top: 12px;
  padding-top: 10px;
}

.editorial-image-break,
.editorial-image-break--wide,
.magazine-image-break { max-width: 100% !important; }

.editorial-image-break img,
.magazine-image-break img { max-height: 720px; object-fit: cover; }

.editorial-image-break--wide,
.magazine-image-break--full {
  left: 50%;
  max-width: none !important;
  position: relative;
  transform: translateX(-50%);
  width: min(1080px, calc(100vw - 40px));
}

.editorial-image-break--lead img { aspect-ratio: 16 / 8.5; }
.editorial-image-break--detail img { aspect-ratio: 5 / 3; }
.editorial-image-break--closing img { aspect-ratio: 16 / 7.5; }

.editorial-note,
.timeline-note,
.technical-checklist,
.immersive-checklist,
.magazine-pullquote {
  border: 1px solid var(--line-dark);
  margin-block: clamp(38px, 6vw, 64px);
  max-width: 100% !important;
  padding: clamp(26px, 5vw, 48px);
}

.editorial-note { background: #ece5da; border-left: 7px solid var(--accent); }
.editorial-note h3,
.timeline-note h3,
.technical-checklist h3 { margin-top: 0; }

.editorial-collage {
  display: grid;
  gap: clamp(10px, 2vw, 22px);
  max-width: 100% !important;
}

.editorial-collage--lead { grid-template-columns: 1.5fr 0.75fr; grid-template-rows: repeat(2, 1fr); }
.editorial-collage--lead > img:first-child { grid-row: 1 / 3; height: 100%; }
.editorial-collage--lead > img { height: 100%; object-fit: cover; width: 100%; }
.editorial-collage--pair { grid-template-columns: repeat(2, 1fr); }
.editorial-collage--pair figure { margin: 0; }
.editorial-collage--pair img { aspect-ratio: 4 / 3; object-fit: cover; }

.technical-split {
  align-items: center;
  border-block: 1px solid var(--line-dark);
  display: grid;
  gap: clamp(28px, 6vw, 64px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block: clamp(46px, 8vw, 88px);
  max-width: 100% !important;
  padding-block: clamp(30px, 5vw, 52px);
}

.technical-split > figure { margin: 0; }
.technical-split > figure img { aspect-ratio: 4 / 3; object-fit: cover; }
.technical-split--hero { border-top: 5px solid var(--ink); }
.technical-split--closing { background: #e5ded3; border: 0; padding: clamp(26px, 4vw, 42px); }
.technical-checklist { background: var(--ink); border: 0; color: var(--white); margin: 0; }
.technical-checklist li::marker { color: var(--accent-on-dark); }

.editorial-timeline {
  counter-reset: editorial-step;
  list-style: none;
  margin: clamp(58px, 9vw, 100px) 0;
  max-width: 100% !important;
  padding: 0;
}

.editorial-timeline > li {
  display: grid;
  gap: clamp(24px, 5vw, 60px);
  grid-template-columns: 90px minmax(0, 1fr);
  position: relative;
}

.editorial-timeline > li + li { padding-top: clamp(52px, 8vw, 86px); }
.editorial-timeline > li:not(:last-child)::after {
  background: var(--line-dark);
  content: '';
  left: 44px;
  position: absolute;
  top: 80px;
  bottom: -32px;
  width: 1px;
}

.timeline-marker {
  align-items: center;
  background: var(--accent);
  border-radius: 50%;
  color: var(--white);
  display: flex;
  font-size: 0.76rem;
  font-weight: 800;
  height: 90px;
  justify-content: center;
  letter-spacing: 0.1em;
  position: relative;
  width: 90px;
  z-index: 1;
}

.timeline-content h2 { margin-top: 0; }
.timeline-content figure { margin-block: 34px; }
.timeline-gallery { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); margin-block: 30px; }
.timeline-gallery img { aspect-ratio: 1 / 1; object-fit: cover; }
.timeline-note { background: var(--white); border-left: 6px solid var(--accent); }

.immersive-frame,
.immersive-chapter,
.immersive-quote,
.magazine-opener,
.magazine-columns,
.magazine-gallery,
.magazine-sidebar-layout,
.magazine-closing { max-width: 100% !important; }

.immersive-frame { margin-block: clamp(44px, 8vw, 92px); }
.immersive-frame img { max-height: 780px; object-fit: cover; width: 100%; }
.immersive-frame--hero img { aspect-ratio: 16 / 9; }
.immersive-frame--panorama img,
.immersive-frame--closing img { aspect-ratio: 16 / 7; }
.immersive-chapter { border-left: 1px solid var(--line); margin-block: clamp(58px, 10vw, 110px); padding-left: clamp(22px, 5vw, 56px); }
.immersive-chapter--split { align-items: center; border-left: 0; display: grid; gap: clamp(34px, 7vw, 78px); grid-template-columns: repeat(2, 1fr); padding-left: 0; }
.immersive-chapter--reverse > :first-child { order: 2; }
.immersive-chapter--split figure { margin: 0; }
.immersive-chapter--split img { min-height: 420px; object-fit: cover; }
.chapter-number { color: var(--accent-on-dark); display: block; font-family: var(--serif); font-size: 5rem; line-height: 1; }
.immersive-quote { border-block: 1px solid var(--line); font-family: var(--serif); font-size: clamp(1.8rem, 4vw, 3.35rem); line-height: 1.25; margin-block: clamp(58px, 10vw, 110px); padding-block: clamp(35px, 6vw, 64px); }
.immersive-checklist { background: var(--ink-raised); border-color: var(--line); }

.magazine-opener { display: grid; gap: clamp(30px, 6vw, 68px); grid-template-columns: minmax(0, 1.3fr) minmax(220px, 0.7fr); margin-block: 50px; }
.magazine-opener figure { margin: 0; }
.magazine-columns { column-count: 2; column-gap: clamp(38px, 6vw, 72px); margin-block: 48px; }
.magazine-columns > *:first-child { margin-top: 0; }
.magazine-columns h2,
.magazine-columns h3,
.magazine-image-break { break-inside: avoid; }
.magazine-gallery { display: grid; gap: 12px; grid-template-columns: 1.4fr 0.6fr; margin-block: 58px; }
.magazine-gallery figure { margin: 0; }
.magazine-gallery img { height: 100%; object-fit: cover; width: 100%; }
.magazine-sidebar-layout { display: grid; gap: clamp(30px, 6vw, 68px); grid-template-columns: minmax(0, 1fr) 260px; margin-block: 58px; }
.magazine-sidebar-layout > aside { background: #e7e0d5; border-top: 5px solid var(--accent); padding: 28px; }
.magazine-sidebar-layout > aside h3 { margin-top: 0; }
.magazine-pullquote { background: #ded6ca; border: 0; font-family: var(--serif); font-size: 1.55rem; margin: 0; }
.magazine-closing { border-top: 5px solid var(--accent); font-family: var(--serif); font-size: 1.35rem; margin-top: 72px; padding-top: 32px; }
.drop-cap::first-letter { color: var(--accent); float: left; font-family: var(--serif); font-size: 5.5rem; line-height: 0.78; padding: 0.08em 0.09em 0 0; }

/* Collage: layered and tactile. */
.editorial-post--collage .editorial-hero { background: #dcd3c7; }
.editorial-post--collage .editorial-hero__grid { grid-template-columns: minmax(0, 0.9fr) minmax(380px, 1.1fr); }
.editorial-post--collage .editorial-hero__cover { margin: 30px 22px 0 0; }
.editorial-post--collage .editorial-hero__cover::before {
  border: 1px solid rgba(23, 23, 22, 0.34);
  content: '';
  inset: -22px -22px 22px 22px;
  position: absolute;
}
.editorial-post--collage .editorial-hero__cover img { aspect-ratio: 5 / 4; position: relative; }

/* Technical split: precise, ruled, and diagrammatic. */
.editorial-post--technical-split .editorial-hero {
  background-color: #fbfaf7;
  background-image: linear-gradient(rgba(23, 23, 22, 0.06) 1px, transparent 1px);
  background-size: 100% 32px;
}
.editorial-post--technical-split .editorial-hero__grid { grid-template-columns: minmax(340px, 0.88fr) minmax(0, 1.12fr); }
.editorial-post--technical-split .editorial-hero__cover { order: -1; }
.editorial-post--technical-split .editorial-hero__cover img { aspect-ratio: 4 / 5; filter: saturate(0.68); }
.editorial-post--technical-split .editorial-hero__content h1 { font-family: var(--sans); font-size: clamp(2.8rem, 5.4vw, 5.4rem); font-weight: 700; }
.editorial-post--technical-split .editorial-prose { counter-reset: technical-section; }
.editorial-post--technical-split .editorial-prose > h2 { counter-increment: technical-section; font-family: var(--sans); font-weight: 700; }
.editorial-post--technical-split .editorial-prose > h2::before { color: var(--accent); content: '0' counter(technical-section) ' / '; font-size: 0.72rem; letter-spacing: 0.08em; }

/* Timeline: a visible sequence from sample to finished specification. */
.editorial-post--timeline .editorial-hero { background: #e8e1d6; border-bottom: 10px solid var(--accent); }
.editorial-post--timeline .editorial-hero__cover img { aspect-ratio: 4 / 3; }
.editorial-post--timeline .editorial-body__grid { grid-template-columns: 120px minmax(0, 860px); }

/* Immersive dark: a cinematic study of light and relief. */
.editorial-post--immersive-dark { background: #11110f; color: #eee9e1; }
.editorial-post--immersive-dark .editorial-hero { background: #090909; color: var(--white); min-height: 720px; }
.editorial-post--immersive-dark .editorial-hero__grid { min-height: 540px; }
.editorial-post--immersive-dark .editorial-hero__content h1 { font-size: clamp(3.4rem, 7.4vw, 7.4rem); }
.editorial-post--immersive-dark .editorial-hero__kicker { color: var(--accent-on-dark); }
.editorial-post--immersive-dark .editorial-hero__meta { color: var(--muted); }
.editorial-post--immersive-dark .editorial-hero__cover { box-shadow: 0 36px 100px rgba(0, 0, 0, 0.58); }
.editorial-post--immersive-dark .editorial-hero__cover img { aspect-ratio: 3 / 4; filter: contrast(1.08) saturate(0.72); }
.editorial-post--immersive-dark .editorial-body { background: #171716; }
.editorial-post--immersive-dark .editorial-rail { border-color: #8e8981; }
.editorial-post--immersive-dark .editorial-rail__mark { color: #f18a7f; }
.editorial-post--immersive-dark .editorial-rail p,
.editorial-post--immersive-dark .editorial-prose figcaption { color: #c9c3ba; }
.editorial-post--immersive-dark .editorial-prose a { color: var(--accent-on-dark); }
.editorial-post--immersive-dark .article-kicker { color: var(--accent-on-dark); }
.editorial-post--immersive-dark .editorial-prose blockquote { border-color: var(--accent-on-dark); }
.editorial-post--immersive-dark .editorial-prose figcaption { border-color: var(--line); }

/* Magazine: generous typography, columns, and image-led sidebars. */
.editorial-post--magazine .editorial-hero { background: #fff; border-bottom: 1px solid var(--line-dark); }
.editorial-post--magazine .editorial-hero__grid { align-items: end; grid-template-columns: minmax(0, 1.22fr) minmax(340px, 0.78fr); }
.editorial-post--magazine .editorial-hero__cover img { aspect-ratio: 4 / 5; }
.editorial-post--magazine .editorial-hero__content h1 { font-size: clamp(3.4rem, 7.3vw, 7.3rem); }
.editorial-post--magazine .editorial-body__grid { grid-template-columns: 175px minmax(0, 850px); }

@media (hover: hover) and (pointer: fine) {
  .post-grid--editorial .post-card:hover .post-card__image img { transform: scale(1.035); }
  .post-card--immersive-dark:hover .post-card__image img { transform: scale(1.025); }
}

@media (max-width: 980px) {
  .post-grid--editorial .post-card,
  .post-grid--editorial .post-card--collage,
  .post-grid--editorial .post-card--technical-split,
  .post-grid--editorial .post-card--timeline,
  .post-grid--editorial .post-card--magazine { grid-column: span 6 !important; }
  .post-grid--editorial .post-card--immersive-dark { grid-column: span 12 !important; }
  .editorial-hero__grid,
  .editorial-post--collage .editorial-hero__grid,
  .editorial-post--technical-split .editorial-hero__grid,
  .editorial-post--magazine .editorial-hero__grid { gap: 44px; grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr); }
  .editorial-body__grid,
  .editorial-post--timeline .editorial-body__grid,
  .editorial-post--magazine .editorial-body__grid { grid-template-columns: 110px minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .editorial-index__heading { align-items: start; grid-template-columns: 1fr; }
  .editorial-index__hero::after { height: 88vw; opacity: 0.55; right: -38vw; width: 88vw; }
  .post-grid--editorial { grid-template-columns: 1fr; }
  .post-grid--editorial .post-card,
  .post-grid--editorial .post-card--collage,
  .post-grid--editorial .post-card--technical-split,
  .post-grid--editorial .post-card--timeline,
  .post-grid--editorial .post-card--immersive-dark,
  .post-grid--editorial .post-card--magazine { grid-column: 1 !important; }
  .post-card--immersive-dark { display: block; }
  .post-card--immersive-dark .post-card__image { min-height: 360px; }
  .post-card--collage .post-card__image { aspect-ratio: 4 / 3; }
  .editorial-hero__grid,
  .editorial-post--collage .editorial-hero__grid,
  .editorial-post--technical-split .editorial-hero__grid,
  .editorial-post--magazine .editorial-hero__grid { grid-template-columns: 1fr; }
  .editorial-post--technical-split .editorial-hero__cover { order: initial; }
  .editorial-hero__cover img,
  .editorial-post--collage .editorial-hero__cover img,
  .editorial-post--technical-split .editorial-hero__cover img,
  .editorial-post--immersive-dark .editorial-hero__cover img,
  .editorial-post--magazine .editorial-hero__cover img { aspect-ratio: 4 / 3; max-height: 560px; }
  .editorial-post--collage .editorial-hero__cover { margin-right: 16px; }
  .editorial-body__grid,
  .editorial-post--timeline .editorial-body__grid,
  .editorial-post--magazine .editorial-body__grid { grid-template-columns: 1fr; }
  .editorial-rail { align-items: center; display: flex; gap: 18px; justify-content: space-between; position: static; }
  .editorial-rail__mark { font-size: 2.4rem; }
  .editorial-rail p { margin-right: auto; }
  .technical-split,
  .immersive-chapter,
  .magazine-opener,
  .magazine-sidebar-layout { grid-template-columns: 1fr; }
  .immersive-chapter--reverse > :first-child { order: initial; }
  .magazine-columns { column-count: 1; }
  .editorial-image-break--wide,
  .magazine-image-break--full { width: calc(100vw - 28px); }
}

@media (max-width: 520px) {
  .editorial-collage--lead,
  .editorial-collage--pair,
  .timeline-gallery,
  .magazine-gallery { grid-template-columns: 1fr; }
  .editorial-collage--lead { grid-template-rows: auto; }
  .editorial-collage--lead > img:first-child { grid-row: auto; }
  .editorial-timeline > li { gap: 20px; grid-template-columns: 54px minmax(0, 1fr); }
  .timeline-marker { height: 54px; width: 54px; }
  .editorial-timeline > li:not(:last-child)::after { left: 26px; top: 54px; }
  .timeline-content h2 { font-size: 1.8rem; }
  .editorial-rail { align-items: flex-start; flex-wrap: wrap; }
}

/* Expanded landing page ----------------------------------------------- */
.hero--home {
  min-height: min(840px, calc(100svh - 96px));
}

.hero--home .hero__media::after {
  background:
    linear-gradient(90deg, rgba(5, 5, 5, 0.96) 0%, rgba(5, 5, 5, 0.79) 38%, rgba(5, 5, 5, 0.25) 70%, rgba(5, 5, 5, 0.18) 100%),
    linear-gradient(0deg, rgba(5, 5, 5, 0.76) 0%, transparent 52%);
}

.hero--home .hero__media img { object-position: 52% center; }
.hero--home .hero__content { max-width: 760px; }
.hero--home h1 { max-width: 9ch; }

.hero__signature {
  border-left: 2px solid var(--accent-on-dark);
  margin-top: clamp(42px, 7vw, 74px);
  max-width: 560px;
  padding-left: 18px;
}

.hero__signature span {
  color: var(--accent-on-dark);
  display: block;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.hero__signature p {
  color: #e2ddd5;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  margin: 7px 0 0;
  text-transform: uppercase;
}

.home-intro-media {
  min-height: 640px;
  overflow: visible;
  position: relative;
}

.home-intro-media__material {
  height: 100%;
  object-fit: cover;
  width: 82%;
}

.home-intro-media__project {
  bottom: -44px;
  box-shadow: var(--shadow);
  height: 45%;
  margin: 0;
  overflow: hidden;
  position: absolute;
  right: -2px;
  width: 58%;
}

.home-intro-media__project::after {
  background: linear-gradient(0deg, rgba(8, 8, 7, 0.8), transparent 55%);
  content: '';
  inset: 0;
  position: absolute;
}

.home-intro-media__project img {
  height: 100%;
  min-height: 0;
  object-fit: cover;
  width: 100%;
}

.home-intro-media__project figcaption {
  bottom: 18px;
  color: var(--white);
  font-size: 0.7rem;
  font-weight: 800;
  left: 20px;
  letter-spacing: 0.11em;
  max-width: 25ch;
  position: absolute;
  text-transform: uppercase;
  z-index: 1;
}

.home-proof-visual {
  aspect-ratio: 16 / 7;
  margin: 0;
  overflow: hidden;
  position: relative;
}

.home-proof-visual::after {
  background: linear-gradient(0deg, rgba(9, 9, 9, 0.9), transparent 62%);
  content: '';
  inset: 0;
  position: absolute;
}

.home-proof-visual img {
  height: 100%;
  object-fit: cover;
  transition: transform 700ms ease;
  width: 100%;
}

.home-proof-visual figcaption {
  align-items: end;
  bottom: 0;
  color: var(--white);
  display: flex;
  gap: clamp(22px, 6vw, 80px);
  justify-content: space-between;
  left: 0;
  padding: clamp(24px, 4vw, 46px);
  position: absolute;
  right: 0;
  z-index: 1;
}

.home-proof-visual figcaption span {
  color: var(--accent-on-dark);
  flex: 0 0 auto;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.home-proof-visual figcaption strong {
  font-family: var(--serif);
  font-size: clamp(1.35rem, 3vw, 2.25rem);
  font-weight: 400;
  line-height: 1.12;
  max-width: 25ch;
}

.home-proof-visual + .feature-grid { margin-top: 1px; }

.home-audience-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-audience-card {
  background: var(--white);
  border: 1px solid var(--line-dark);
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  min-height: 430px;
  overflow: hidden;
}

.home-audience-card figure {
  background: #32312e;
  margin: 0;
  min-height: 100%;
  overflow: hidden;
}

.home-audience-card figure img {
  height: 100%;
  object-fit: cover;
  transition: transform 600ms ease;
  width: 100%;
}

.home-audience-card:nth-child(even) figure { order: 2; }

.home-audience-card__body {
  border-top: 5px solid var(--accent);
  display: flex;
  flex-direction: column;
  padding: clamp(26px, 3vw, 38px);
}

.home-audience-card__body > span,
.home-process-grid article > span {
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  margin-bottom: clamp(34px, 5vw, 62px);
}

.home-audience-card h3 { font-size: clamp(1.45rem, 2.1vw, 1.9rem); margin: 0 0 16px; }
.home-audience-card p { margin: 0 0 28px; opacity: 0.76; }
.home-audience-card .text-link { margin-top: auto; }

.home-panorama {
  align-items: end;
  background: var(--ink);
  color: var(--white);
  display: flex;
  min-height: clamp(620px, 72vw, 880px);
  overflow: hidden;
  position: relative;
}

.home-panorama::after {
  background:
    linear-gradient(90deg, rgba(9, 9, 8, 0.9) 0%, rgba(9, 9, 8, 0.38) 52%, rgba(9, 9, 8, 0.08) 80%),
    linear-gradient(0deg, rgba(9, 9, 8, 0.82) 0%, transparent 62%);
  content: '';
  inset: 0;
  position: absolute;
}

.home-panorama > img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  transition: transform 1.2s cubic-bezier(0.2, 0.72, 0.25, 1);
  width: 100%;
}

.home-panorama__content {
  padding-block: clamp(80px, 12vw, 150px);
  position: relative;
  z-index: 1;
}

.home-panorama__content .eyebrow { color: var(--accent-on-dark); }
.home-panorama__content h2 { font-size: clamp(3rem, 7vw, 6.4rem); margin: 0; max-width: 8ch; }
.home-panorama__content p:not(.eyebrow) { color: #e2ddd5; font-size: clamp(1.05rem, 2vw, 1.28rem); margin: 28px 0 0; max-width: 48ch; }

.home-application-layout {
  align-items: start;
  display: grid;
  gap: clamp(42px, 7vw, 88px);
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
}

.home-application-copy { position: sticky; top: calc(var(--admin-bar-offset) + var(--header-height) + 28px); }
.home-application-copy .button-row { align-items: center; margin-top: 34px; }

.home-application-gallery {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-application-gallery figure {
  background: #373530;
  margin: 0;
  overflow: hidden;
  position: relative;
}

.home-application-gallery__hero { grid-column: 1 / -1; }
.home-application-gallery img { aspect-ratio: 4 / 3; display: block; height: 100%; object-fit: cover; transition: transform 600ms ease; width: 100%; }
.home-application-gallery__hero img { aspect-ratio: 16 / 8; }
.home-application-gallery figcaption {
  background: rgba(15, 15, 14, 0.84);
  bottom: 0;
  color: var(--white);
  font-size: 0.68rem;
  font-weight: 800;
  left: 0;
  letter-spacing: 0.12em;
  padding: 11px 14px;
  position: absolute;
  text-transform: uppercase;
}

.home-process-grid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-process-grid article {
  background: var(--ink-raised);
  border: 1px solid var(--line);
  color: var(--white);
  min-height: 310px;
  padding: clamp(28px, 4vw, 44px);
}

.home-process-grid article > span { color: var(--accent-on-dark); display: block; }
.home-process-grid h3 { font-size: clamp(1.55rem, 2.4vw, 2.1rem); margin: 0 0 14px; }
.home-process-grid p { color: #d1cbc2; margin: 0; }
.home-process__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }

.home-resource-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block: 30px;
}

.home-resource-list span {
  border: 1px solid var(--line-dark);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 13px 15px;
  text-transform: uppercase;
}

.home-technical .button-row { align-items: center; }

.home-story-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-story {
  background: var(--ink-raised);
  border: 1px solid var(--line);
  color: var(--white);
  min-width: 0;
  position: relative;
}

.home-story__image { aspect-ratio: 16 / 10; display: block; overflow: hidden; }
.home-story__image img { height: 100%; object-fit: cover; transition: transform 500ms ease; width: 100%; }
.home-story > div { padding: clamp(24px, 3vw, 34px); }
.home-story h3 { font-size: clamp(1.55rem, 2.7vw, 2.15rem); margin: 10px 0 16px; }
.home-story h3 a { color: inherit; text-decoration: none; }
.home-story p:not(.post-meta) { color: #d1cbc2; }
.home-story .post-meta { color: var(--muted); }
.home-story .text-link { color: var(--white); }

.home-faq__layout {
  align-items: start;
  display: grid;
  gap: clamp(44px, 9vw, 120px);
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
}

.home-faq__layout h2 { max-width: 12ch; }
.home-faq__items { border-bottom: 1px solid var(--line-dark); }
.home-faq details { border-top: 1px solid var(--line-dark); }
.home-faq summary {
  cursor: pointer;
  font-family: var(--serif);
  font-size: clamp(1.2rem, 2.1vw, 1.55rem);
  list-style: none;
  padding: 24px 46px 24px 0;
  position: relative;
}

.home-faq summary::-webkit-details-marker { display: none; }
.home-faq summary::after { color: var(--accent); content: '+'; font-family: var(--sans); font-size: 1.55rem; position: absolute; right: 4px; top: 20px; }
.home-faq details[open] summary::after { content: '–'; }
.home-faq details p { margin: -4px 42px 26px 0; max-width: 64ch; }

.home-final-cta { background: var(--paper-soft); }

.home-final-cta__card {
  background: var(--ink);
  color: var(--white);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  overflow: hidden;
}

.home-final-cta__media { min-height: 560px; overflow: hidden; }
.home-final-cta__media img { height: 100%; object-fit: cover; transition: transform 700ms ease; width: 100%; }
.home-final-cta__content { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(38px, 6vw, 72px); }
.home-final-cta__content h2 { margin: 0 0 24px; }
.home-final-cta__content p:not(.eyebrow) { color: #d7d1c8; }
.home-final-cta__actions { align-items: flex-start; display: flex; flex-direction: column; gap: 16px; margin-top: 44px; }
.home-final-cta .text-link { color: var(--white); }

@media (hover: hover) and (pointer: fine) {
  .home-audience-card:hover figure img,
  .home-application-gallery figure:hover img,
  .home-story:hover .home-story__image img,
  .home-final-cta__card:hover .home-final-cta__media img,
  .home-proof-visual:hover img { transform: scale(1.035); }
}

@media (prefers-reduced-motion: no-preference) {
  .has-js .home-panorama > img { transform: scale(1.045); }
  .has-js .home-panorama.is-revealed > img { transform: scale(1); }
  .hero__content > :nth-child(5) { animation-delay: 360ms; }
}

@media (max-width: 1050px) {
  .home-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-application-layout { grid-template-columns: 1fr; }
  .home-application-copy { position: static; }
  .home-audience-card { grid-template-columns: 1fr; }
  .home-audience-card figure { aspect-ratio: 16 / 10; min-height: 0; }
  .home-audience-card:nth-child(even) figure { order: initial; }
  .home-final-cta__card { grid-template-columns: 1fr; }
  .home-final-cta__media { min-height: 440px; }
}

@media (max-width: 760px) {
  .hero--home { min-height: calc(100svh - 86px); }
  .hero--home .hero__media::after { background: linear-gradient(0deg, rgba(5, 5, 5, 0.94) 0%, rgba(5, 5, 5, 0.58) 65%, rgba(5, 5, 5, 0.28) 100%); }
  .hero--home .hero__media img { object-position: 58% center; }
  .hero__signature { margin-top: 42px; }
  .home-intro-media { margin-bottom: 38px; min-height: 520px; }
  .home-proof-visual { aspect-ratio: 4 / 3; }
  .home-proof-visual figcaption { align-items: flex-start; flex-direction: column; gap: 12px; }
  .home-audience-grid { grid-template-columns: 1fr; }
  .home-story-grid { grid-template-columns: 1fr; }
  .home-faq__layout { grid-template-columns: 1fr; }
  .home-story__image { aspect-ratio: 4 / 3; }
  .home-panorama { min-height: 720px; }
  .home-panorama::after { background: linear-gradient(0deg, rgba(9, 9, 8, 0.92) 0%, rgba(9, 9, 8, 0.45) 66%, rgba(9, 9, 8, 0.12) 100%); }
  .home-panorama > img { object-position: 60% center; }
}

@media (max-width: 560px) {
  .home-process-grid,
  .home-application-gallery,
  .home-resource-list { grid-template-columns: 1fr; }
  .home-application-gallery__hero { grid-column: auto; }
  .home-application-gallery__hero img { aspect-ratio: 4 / 3; }
  .home-audience-card,
  .home-process-grid article { min-height: 0; }
  .home-audience-card__body > span,
  .home-process-grid article > span { margin-bottom: 28px; }
  .home-featured-materials .material-card:nth-child(n + 4) { display: none; }
  .home-intro-media { min-height: 430px; }
  .home-intro-media__material { width: 88%; }
  .home-intro-media__project { bottom: -28px; height: 40%; width: 67%; }
  .home-final-cta__media { min-height: 320px; }
}

/* Journal archive and focused editorial system ------------------------- */
.journal-index { background: var(--paper); }

.journal-hero {
  align-items: end;
  background: var(--ink);
  color: var(--white);
  display: flex;
  min-height: clamp(560px, 68vw, 760px);
  overflow: hidden;
  position: relative;
}

.journal-hero::after {
  background:
    linear-gradient(90deg, rgba(7, 7, 7, 0.94) 0%, rgba(7, 7, 7, 0.76) 42%, rgba(7, 7, 7, 0.22) 76%),
    linear-gradient(0deg, rgba(7, 7, 7, 0.72), transparent 62%);
  content: '';
  inset: 0;
  position: absolute;
}

.journal-hero__media { inset: 0; position: absolute; }
.journal-hero__media img { height: 100%; object-fit: cover; object-position: 52% center; width: 100%; }
.journal-hero__inner { padding-block: clamp(72px, 10vw, 124px); position: relative; z-index: 1; }
.journal-hero__content { max-width: 820px; }
.journal-hero h1 { font-size: clamp(3.4rem, 7vw, 6.6rem); margin: 0; max-width: 10ch; }
.journal-hero .lead { color: #ded8cf; margin: 28px 0 0; max-width: 56ch; }
.journal-hero .eyebrow { color: var(--accent-on-dark); }

.journal-paths { background: var(--ink); border-top: 1px solid var(--line); color: var(--white); }
.journal-paths__inner { display: grid; grid-template-columns: 220px minmax(0, 1fr); }
.journal-paths__inner > p { align-items: center; color: var(--muted); display: flex; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.11em; margin: 0; padding: 24px 24px 24px 0; text-transform: uppercase; }
.journal-paths__links { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.journal-paths__links a { border-left: 1px solid var(--line); display: flex; flex-direction: column; font-family: var(--serif); font-size: 1.02rem; gap: 18px; justify-content: space-between; line-height: 1.15; min-height: 128px; padding: 23px 18px; text-decoration: none; transition: background-color 180ms ease; }
.journal-paths__links a span { color: var(--accent-on-dark); font-family: var(--sans); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; }

.journal-feed__heading { align-items: end; display: grid; gap: 40px; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.7fr); margin-bottom: clamp(42px, 7vw, 76px); }
.journal-feed__heading h2 { margin: 0; max-width: 12ch; }
.journal-feed__heading > p { margin: 0; }
.journal-feed__grid { display: grid; gap: clamp(24px, 3vw, 36px); grid-template-columns: repeat(2, minmax(0, 1fr)); }

.journal-card { background: var(--white); border: 1px solid var(--line-dark); display: flex; flex-direction: column; min-width: 0; overflow: hidden; position: relative; }
.journal-card__image { aspect-ratio: 16 / 10; background: #373530; display: block; overflow: hidden; }
.journal-card__image img { height: 100%; object-fit: cover; transition: transform 600ms ease; width: 100%; }
.journal-card__body { display: flex; flex: 1; flex-direction: column; padding: clamp(28px, 4vw, 44px); }
.journal-card__meta { color: #625d56; display: flex; font-size: 0.68rem; font-weight: 800; justify-content: space-between; letter-spacing: 0.12em; text-transform: uppercase; }
.journal-card__meta span:first-child { color: var(--accent); }
.journal-card__question { border-left: 3px solid var(--accent); font-family: var(--serif); font-size: 1.12rem; line-height: 1.4; margin: 30px 0 20px; padding-left: 16px; }
.journal-card h2 { font-size: clamp(1.9rem, 3.2vw, 2.85rem); margin: 0 0 18px; }
.journal-card h2 a { text-decoration: none; }
.journal-card__excerpt { color: #5d5851; margin: 0 0 30px; }
.journal-card .text-link { margin-top: auto; }

.journal-card--featured { background: var(--ink-soft); color: var(--white); display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1.16fr) minmax(360px, 0.84fr); min-height: 620px; }
.journal-card--featured .journal-card__image { aspect-ratio: auto; min-height: 100%; }
.journal-card--featured .journal-card__body { justify-content: center; padding: clamp(42px, 6vw, 74px); }
.journal-card--featured .journal-card__meta { color: var(--muted); }
.journal-card--featured .journal-card__meta span:first-child { color: var(--accent-on-dark); }
.journal-card--featured .journal-card__question { border-color: var(--accent-on-dark); }
.journal-card--featured h2 { font-size: clamp(2.4rem, 4vw, 3.6rem); }
.journal-card--featured .journal-card__excerpt { color: #d5cfc6; }
.journal-card--featured .text-link { color: var(--white); }

.journal-resources__heading { margin-bottom: clamp(38px, 6vw, 64px); }
.journal-resources__heading h2 { margin: 0; max-width: 13ch; }
.journal-resources__grid { display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.journal-resources__grid > a { background: var(--ink-raised); border: 1px solid var(--line); display: flex; flex-direction: column; min-height: 340px; padding: clamp(28px, 4vw, 44px); text-decoration: none; transition: background-color 180ms ease, transform 180ms ease; }
.journal-resources__grid span { color: var(--accent-on-dark); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.15em; margin-bottom: 56px; }
.journal-resources__grid h3 { color: var(--white); font-size: clamp(1.6rem, 2.7vw, 2.2rem); margin: 0 0 18px; }
.journal-resources__grid p { color: #d2ccc3; margin: 0 0 30px; }
.journal-resources__grid strong { color: var(--white); font-size: 0.72rem; letter-spacing: 0.09em; margin-top: auto; text-transform: uppercase; }

/* Focused single-guide improvements. */
.editorial-hero__back { display: inline-block; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.13em; margin-bottom: 42px; text-transform: uppercase; }
.editorial-hero__back::before { content: '\2190'; margin-right: 9px; }
.editorial-hero__content h1,
.editorial-post--collage .editorial-hero__content h1,
.editorial-post--timeline .editorial-hero__content h1,
.editorial-post--immersive-dark .editorial-hero__content h1,
.editorial-post--magazine .editorial-hero__content h1 { font-size: clamp(2.9rem, 5.6vw, 5.5rem); }
.editorial-post--technical-split .editorial-hero__content h1 { font-size: clamp(2.65rem, 5vw, 4.9rem); }
.editorial-hero__question { border-left: 4px solid var(--accent); margin: 34px 0; max-width: 58ch; padding-left: 18px; }
.editorial-post--immersive-dark .editorial-hero__question { border-color: var(--accent-on-dark); }
.editorial-hero__question span { color: var(--accent); display: block; font-size: 0.67rem; font-weight: 800; letter-spacing: 0.13em; margin-bottom: 7px; text-transform: uppercase; }
.editorial-post--immersive-dark .editorial-hero__question span { color: var(--accent-on-dark); }
.editorial-hero__question p { font-family: var(--serif); font-size: 1.15rem; margin: 0; }
.editorial-rail__mark { color: var(--accent); font-family: var(--sans); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.15em; }

.article-summary { background: var(--ink); color: var(--white); margin: 0 0 clamp(52px, 8vw, 86px); max-width: 100% !important; padding: clamp(28px, 5vw, 46px); }
.article-summary .article-kicker { color: var(--accent-on-dark); margin-top: 0; }
.article-summary ul { list-style: none; margin: 0; padding: 0; }
.article-summary li { border-top: 1px solid var(--line); padding: 15px 0 15px 28px; position: relative; }
.article-summary li::before { color: var(--accent-on-dark); content: '\2713'; font-weight: 800; left: 0; position: absolute; }
.editorial-post .editorial-image-break--wide,
.editorial-post .magazine-image-break--full { left: auto; max-width: 100% !important; transform: none; width: 100%; }
.article-decision-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block: clamp(38px, 6vw, 64px); max-width: 100% !important; }
.article-decision-grid article { background: var(--white); border: 1px solid var(--line-dark); padding: clamp(24px, 4vw, 38px); }
.article-decision-grid span { color: var(--accent); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.13em; }
.article-decision-grid h3 { margin: 34px 0 12px; }
.article-decision-grid p { margin: 0; }
.article-next-step { background: #e5ded3; border-top: 5px solid var(--accent); font-size: 1.05rem; margin-top: clamp(46px, 8vw, 88px); max-width: 100% !important; padding: clamp(26px, 5vw, 44px); }
.editorial-post--immersive-dark .article-next-step { background: var(--ink-raised); border-color: var(--accent-on-dark); }

.journal-related__heading { margin-bottom: clamp(38px, 6vw, 62px); }
.journal-related__heading h2 { margin: 0; max-width: 12ch; }
.journal-related__grid { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.journal-related article { background: var(--ink-raised); border: 1px solid var(--line); min-width: 0; position: relative; }
.journal-related__image { aspect-ratio: 16 / 10; display: block; overflow: hidden; }
.journal-related__image img { height: 100%; object-fit: cover; transition: transform 500ms ease; width: 100%; }
.journal-related article > div { padding: 26px; }
.journal-related article p { color: var(--accent-on-dark); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.11em; margin: 0; text-transform: uppercase; }
.journal-related h3 { font-size: clamp(1.45rem, 2.3vw, 1.95rem); margin: 15px 0 24px; }
.journal-related h3 a { color: var(--white); text-decoration: none; }
.journal-related .text-link { color: var(--white); }
.editorial-post__cta .button-row { align-items: center; justify-content: flex-end; }
.editorial-post__cta .text-link { color: var(--white); }

@media (hover: hover) and (pointer: fine) {
  .journal-card:hover .journal-card__image img,
  .journal-related article:hover .journal-related__image img { transform: scale(1.035); }
  .journal-paths__links a:hover { background: var(--ink-raised); }
  .journal-resources__grid > a:hover { background: #34322f; transform: translateY(-2px); }
}

@media (max-width: 1050px) {
  .journal-paths__inner { grid-template-columns: 1fr; }
  .journal-paths__inner > p { padding: 22px 0; }
  .journal-paths__links a:first-child { border-left: 0; }
  .journal-card--featured { grid-template-columns: 1fr; }
  .journal-card--featured .journal-card__image { aspect-ratio: 16 / 9; min-height: 0; }
}

@media (max-width: 800px) {
  .journal-hero { min-height: 640px; }
  .journal-hero::after { background: linear-gradient(0deg, rgba(7, 7, 7, 0.94) 0%, rgba(7, 7, 7, 0.48) 72%, rgba(7, 7, 7, 0.2) 100%); }
  .journal-hero__media img { object-position: 62% center; }
  .journal-paths__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journal-paths__links a { border-bottom: 1px solid var(--line); min-height: 110px; }
  .journal-feed__heading { align-items: start; grid-template-columns: 1fr; }
  .journal-feed__grid { grid-template-columns: 1fr; }
  .journal-card--featured { grid-column: 1; }
  .journal-resources__grid,
  .journal-related__grid { grid-template-columns: 1fr; }
  .journal-resources__grid > a { min-height: 280px; }
  .article-decision-grid { grid-template-columns: 1fr; }
  .editorial-post__cta .button-row { align-items: flex-start; justify-content: flex-start; }
}

@media (max-width: 520px) {
  .journal-hero h1 { font-size: clamp(3rem, 14vw, 4.35rem); }
  .journal-paths__links { grid-template-columns: 1fr; }
  .journal-paths__links a { border-left: 0; }
  .journal-card__body { padding: 26px; }
  .journal-card--featured h2 { font-size: 2.55rem; }
}

/* Expanded journal: seven reader-led story formats ------------------- */
.idea-atlas-hero,
.idea-atlas-heading,
.idea-atlas-grid,
.idea-atlas-focus,
.fireside-hero,
.fireside-intro,
.fireside-moods,
.fireside-pairing,
.fireside-caution,
.fireside-sample-test,
.room-check-opener,
.room-check-key,
.room-check-zone,
.room-check-review,
.room-check-finish,
.detail-story-intro,
.detail-story-grid,
.detail-story-pause,
.detail-story-balance,
.palette-story-opening,
.palette-story-moods,
.palette-story-rule,
.palette-story-sample,
.decision-path-hero,
.decision-path-section,
.decision-path-image-break,
.decision-path-choices,
.decision-path-checkpoint,
.focal-point-hero,
.focal-point-map,
.focal-point-image-break,
.focal-point-light,
.focal-point-surroundings,
.focal-point-stop { max-width: 100% !important; }

/* Idea atlas: an image-led room-by-room lookbook. */
.editorial-post--idea-atlas .editorial-hero { background: #d7c4aa; }
.editorial-post--idea-atlas .editorial-hero__grid { grid-template-columns: minmax(0, 0.88fr) minmax(390px, 1.12fr); }
.editorial-post--idea-atlas .editorial-hero__cover { box-shadow: 24px 24px 0 #b44a35; }
.editorial-post--idea-atlas .editorial-hero__cover img { aspect-ratio: 5 / 4; }
.idea-atlas-hero { display: grid; gap: 14px; grid-template-columns: 1.45fr 0.55fr; margin-block: clamp(44px, 8vw, 86px); }
.idea-atlas-hero figure { margin: 0; }
.idea-atlas-hero__main img { aspect-ratio: 4 / 3; height: 100%; object-fit: cover; }
.idea-atlas-hero__details { display: grid; gap: 14px; grid-template-rows: repeat(2, minmax(0, 1fr)); }
.idea-atlas-hero__details img { height: 100%; object-fit: cover; width: 100%; }
.idea-atlas-heading { align-items: end; border-bottom: 1px solid var(--line-dark); display: grid; gap: 24px; grid-template-columns: 120px minmax(0, 1fr) minmax(220px, 0.65fr); margin-block: 70px 30px; padding-bottom: 24px; }
.idea-atlas-heading > span { color: var(--accent); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.idea-atlas-heading h2,
.idea-atlas-heading p { margin: 0; }
.idea-atlas-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.idea-atlas-card { background: #eee7dc; border: 1px solid var(--line-dark); min-height: 260px; padding: clamp(25px, 4vw, 42px); }
.idea-atlas-card:nth-child(3n) { background: #d8d0c3; }
.idea-atlas-card--wide { background: var(--ink); color: var(--white); grid-column: 1 / -1; }
.idea-atlas-card > span { color: var(--accent); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.12em; }
.idea-atlas-card--wide > span { color: var(--accent-on-dark); }
.idea-atlas-card h3 { margin: 56px 0 12px; }
.idea-atlas-card p { margin-bottom: 0; }
.idea-atlas-focus { align-items: start; display: grid; gap: clamp(30px, 6vw, 64px); grid-template-columns: minmax(0, 1fr) 280px; margin-block: 68px; }
.idea-atlas-note { background: #e4d4c0; border-top: 6px solid var(--accent); padding: 28px; }

/* Fireside: warm, cinematic and mood-led. */
.editorial-post--fireside { background: #f1e8dc; }
.editorial-post--fireside .editorial-hero { background: #211d1a; color: var(--white); }
.editorial-post--fireside .editorial-hero__grid { grid-template-columns: minmax(0, 0.94fr) minmax(380px, 1.06fr); }
.editorial-post--fireside .editorial-hero__kicker,
.editorial-post--fireside .editorial-hero__question span { color: #ff9b77; }
.editorial-post--fireside .editorial-hero__question { border-color: #d75b3e; }
.editorial-post--fireside .editorial-hero__meta { color: #c8bdb3; }
.editorial-post--fireside .editorial-hero__cover img { aspect-ratio: 4 / 5; filter: saturate(0.82) contrast(1.04); }
.fireside-hero { margin-block: 0 clamp(56px, 9vw, 96px); }
.fireside-hero img { aspect-ratio: 16 / 8; object-fit: cover; width: 100%; }
.fireside-intro { border-left: 8px solid #ba4f35; margin-block: 64px; padding-left: clamp(24px, 5vw, 52px); }
.fireside-intro > span,
.fireside-caution > span { color: #a6412b; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.fireside-moods { display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fireside-mood { background: #efe7da; border: 1px solid #c7bbae; padding: 32px; }
.fireside-mood--warm { background: #b96b44; color: #141210; }
.fireside-mood--dark { background: #252220; color: #f7f1e9; }
.fireside-mood > span { font-size: 0.68rem; font-weight: 800; letter-spacing: 0.13em; }
.fireside-mood h3 { margin: 52px 0 14px; }
.fireside-pairing { align-items: center; display: grid; gap: clamp(34px, 7vw, 76px); grid-template-columns: 0.9fr 1.1fr; margin-block: 82px; }
.fireside-pairing figure { margin: 0; }
.fireside-pairing img { aspect-ratio: 4 / 5; object-fit: cover; }
.fireside-quote { border-left: 0; border-top: 1px solid #9e897a; font-family: var(--serif); font-size: 1.5rem; margin: 34px 0 0; padding: 28px 0 0; }
.fireside-caution { background: #2a2420; color: #fff8ef; margin-block: 70px; padding: clamp(30px, 6vw, 56px); }
.fireside-caution > span { color: #ff9b77; }
.fireside-sample-test { border-top: 1px solid #9e897a; padding-top: 42px; }
.fireside-sample-test__steps { display: grid; gap: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fireside-sample-test__steps p { background: #e2d5c5; margin: 0; padding: 25px; }

/* Room check: a clear, reassuring yes/review guide. */
.editorial-post--room-check .editorial-hero { background: #e3e9e3; border-bottom: 1px solid #99a69c; }
.editorial-post--room-check .editorial-hero__cover img { aspect-ratio: 5 / 4; }
.editorial-post--room-check .editorial-hero__content h1 { font-size: clamp(2.65rem, 5vw, 4.9rem); }
.room-check-opener { display: grid; gap: 16px; grid-template-columns: 1.15fr 0.85fr; margin-block: 0 58px; }
.room-check-opener figure { margin: 0; }
.room-check-opener img { aspect-ratio: 4 / 3; height: 100%; object-fit: cover; }
.room-check-key { background: #edf0eb; border: 1px solid #aab5ab; display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block: 48px 78px; padding: 24px; }
.room-check-key p { margin: 0; }
.room-check-key__dot { border-radius: 50%; display: inline-block; height: 11px; margin-right: 9px; width: 11px; }
.room-check-key__dot--easy { background: #44755b; }
.room-check-key__dot--review { background: #c34f36; }
.room-check-zone { border-top: 8px solid #44755b; margin-block: 72px; padding-top: 34px; }
.room-check-zone--bathroom { border-color: #6c798a; }
.room-check-zone > header { display: grid; gap: 18px; grid-template-columns: 130px minmax(0, 0.8fr) minmax(250px, 1.2fr); }
.room-check-zone > header > span { color: #44755b; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.room-check-zone > header h2,
.room-check-zone > header p { margin-top: 0; }
.room-check-cards { display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 38px; }
.room-check-cards article { background: #edf1ec; border: 1px solid #aab5ab; padding: 28px; }
.room-check-cards article > span { color: #44755b; font-size: 0.7rem; font-weight: 800; }
.room-check-card--review { background: #f0dfda !important; border-color: #c87967 !important; }
.room-check-path { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 36px; }
.room-check-path article { border-left: 6px solid #44755b; padding: 18px 25px; }
.room-check-path__ask { border-color: #c34f36 !important; }
.room-check-review { background: #27322c; color: var(--white); margin-block: 72px; padding: clamp(30px, 6vw, 54px); }
.room-check-review li { margin-block: 11px; }
.room-check-finish { background: #e3e9e3; padding: clamp(28px, 5vw, 48px); }

/* Detail story: small-object editorial with close-up cards. */
.editorial-post--detail-story .editorial-hero { background: #f5f0e9; border-bottom: 12px solid #bd4d36; }
.editorial-post--detail-story .editorial-hero__grid { grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr); }
.editorial-post--detail-story .editorial-hero__cover { border-radius: 50% 50% 0 0; overflow: hidden; }
.editorial-post--detail-story .editorial-hero__cover img { aspect-ratio: 4 / 5; }
.detail-story-opening img { aspect-ratio: 16 / 8; object-fit: cover; }
.detail-story-intro { display: grid; gap: 25px; grid-template-columns: 150px minmax(0, 1fr); margin-block: 72px; }
.detail-story-intro h2 { grid-column: 2; margin: 0; }
.detail-story-intro > p:not(.article-kicker) { grid-column: 2; margin-block: 0; }
.detail-story-intro .article-kicker { grid-row: 1 / span 3; }
.detail-story-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.detail-story-idea { background: #eee7de; border: 1px solid var(--line-dark); min-height: 300px; padding: 28px; }
.detail-story-idea:nth-child(even) { background: #dcd0c1; }
.detail-story-idea > span { color: var(--accent); font-size: 0.7rem; font-weight: 800; }
.detail-story-idea h3 { margin: 62px 0 12px; }
.detail-story-pause img { aspect-ratio: 16 / 9; object-fit: cover; }
.detail-story-balance { border-block: 1px solid var(--line-dark); display: grid; gap: 28px 54px; grid-template-columns: 0.7fr 1.3fr; margin-block: 72px; padding-block: 42px; }
.detail-story-balance h2 { grid-row: 1 / span 2; margin-top: 0; }
.detail-story-balance p { margin-block: 0; }
.detail-story-next-step { border-radius: 0 80px 0 0; }

/* Palette story: four material moods with alternating compositions. */
.editorial-post--palette-story .editorial-hero { background: #dfe2d6; }
.editorial-post--palette-story .editorial-hero__cover { border: 18px solid #f6f2ea; box-shadow: 18px 18px 0 #798b6c; }
.editorial-post--palette-story .editorial-hero__cover img { aspect-ratio: 4 / 5; }
.palette-story-opening { border-left: 1px solid var(--line-dark); margin-block: 30px 76px; padding-left: clamp(28px, 6vw, 62px); }
.palette-story-moods { display: grid; gap: 18px; }
.palette-story-card { align-items: stretch; display: grid; grid-template-columns: 0.9fr 1.1fr; min-height: 380px; }
.palette-story-card:nth-child(even) { grid-template-columns: 1.1fr 0.9fr; }
.palette-story-card:nth-child(even) figure { order: 2; }
.palette-story-card figure { margin: 0; }
.palette-story-card img { height: 100%; object-fit: cover; width: 100%; }
.palette-story-card > div { padding: clamp(30px, 6vw, 56px); }
.palette-story-card > div > span { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.palette-story-card--warm { background: #dbc5a7; }
.palette-story-card--graphic { background: #202321; color: #f8f4ed; }
.palette-story-card--quiet { background: #e7e4dd; }
.palette-story-card--bold { background: #29483c; color: #f6f1e7; }
.palette-story-rule { background: #f3eadf; }
.palette-story-sample { background: #dfe2d6; }

/* Decision path: numbered choices and a clear checkpoint. */
.editorial-post--decision-path .editorial-hero { background: linear-gradient(90deg, #f6f3ed 0 50%, #262725 50% 100%); }
.editorial-post--decision-path .editorial-hero__grid { gap: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.editorial-post--decision-path .editorial-hero__content { color: #f8f5ef; padding-left: clamp(42px, 6vw, 82px); }
.editorial-post--decision-path .editorial-hero__content .lead,
.editorial-post--decision-path .editorial-hero__meta { color: #d7d3cb; }
.editorial-post--decision-path .editorial-hero__kicker,
.editorial-post--decision-path .editorial-hero__question span { color: #ff9b77; }
.editorial-post--decision-path .editorial-hero__question { border-color: #ff9b77; }
.editorial-post--decision-path .editorial-hero__cover { order: -1; }
.editorial-post--decision-path .editorial-hero__cover img { aspect-ratio: 4 / 5; filter: saturate(0.65); }
.decision-path-hero { align-items: end; display: grid; gap: 1px; grid-template-columns: minmax(0, 1fr) 310px; margin-bottom: 76px; }
.decision-path-hero figure { margin: 0; }
.decision-path-hero img { aspect-ratio: 16 / 9; object-fit: cover; }
.decision-path-answer { background: var(--ink); color: var(--white); padding: 30px; }
.decision-path-answer > span { color: var(--accent-on-dark); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.decision-path-section { border-top: 1px solid var(--line-dark); display: grid; gap: clamp(30px, 6vw, 62px); grid-template-columns: 110px minmax(0, 1fr); padding-block: 52px; }
.decision-path-section--reverse { background: #ebe6dc; padding-inline: clamp(25px, 5vw, 48px); }
.decision-path-number { color: var(--accent); font-family: var(--serif); font-size: 4.5rem; line-height: 1; }
.decision-path-section h2 { margin-top: 0; }
.decision-path-image-break { margin-block: 20px 72px; }
.decision-path-image-break img { aspect-ratio: 16 / 7; object-fit: cover; width: 100%; }
.decision-path-choices { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.decision-path-choices article { border: 1px solid var(--line-dark); padding: clamp(28px, 5vw, 46px); }
.decision-path-choices article > span { color: var(--accent); font-size: 0.7rem; font-weight: 800; }
.decision-path-checkpoint { background: #20211f; color: var(--white); margin-block: 70px; padding: clamp(30px, 6vw, 56px); }
.decision-path-checkpoint li { border-top: 1px solid var(--line); padding-block: 16px; }
.decision-path-next { border-top-color: #20211f; }

/* Focal point: large architectural frames and a deliberate stop. */
.editorial-post--focal-point { background: #f0eee8; }
.editorial-post--focal-point .editorial-hero { background: #292c28; color: var(--white); }
.editorial-post--focal-point .editorial-hero__grid { grid-template-columns: minmax(0, 0.82fr) minmax(430px, 1.18fr); }
.editorial-post--focal-point .editorial-hero__cover img { aspect-ratio: 16 / 11; }
.editorial-post--focal-point .editorial-hero__meta { color: #c5cbc2; }
.editorial-post--focal-point .editorial-hero__question { border-color: #ef7659; }
.editorial-post--focal-point .editorial-hero__kicker,
.editorial-post--focal-point .editorial-hero__question span { color: #ff9b77; }
.focal-point-hero { display: grid; gap: 1px; grid-template-columns: minmax(0, 1.45fr) minmax(240px, 0.55fr); margin-bottom: 74px; }
.focal-point-hero figure { margin: 0; }
.focal-point-hero img { height: 100%; object-fit: cover; width: 100%; }
.focal-point-hero aside { background: #dde0d8; padding: clamp(28px, 5vw, 46px); }
.focal-point-hero aside > span,
.focal-point-label,
.focal-point-stop > span { color: var(--accent); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.focal-point-map { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.focal-point-map article { background: #f7f5f0; border: 1px solid var(--line-dark); padding: clamp(28px, 5vw, 48px); }
.focal-point-map article > span { color: var(--accent); font-size: 0.7rem; font-weight: 800; }
.focal-point-image-break { margin-block: 76px; }
.focal-point-image-break img { aspect-ratio: 16 / 8; object-fit: cover; width: 100%; }
.focal-point-light { align-items: center; background: #252825; color: var(--white); display: grid; gap: clamp(34px, 6vw, 64px); grid-template-columns: 1fr 0.8fr; margin-block: 72px; padding: clamp(32px, 6vw, 56px); }
.focal-point-light .focal-point-label { color: #ff9b77; }
.focal-point-light figure { margin: 0; }
.focal-point-light img { aspect-ratio: 4 / 5; object-fit: cover; }
.focal-point-surroundings { border-top: 8px solid var(--accent); padding-top: 36px; }
.focal-point-pairings { display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 32px; }
.focal-point-pairings article { background: #e4e0d7; border: 1px solid var(--line-dark); padding: 27px; }
.focal-point-stop { background: #a63c2a; color: var(--white); margin-block: 72px; padding: clamp(30px, 6vw, 56px); }
.focal-point-stop > span { color: #ffe0d6; }

/* Give the larger archive some visual rhythm without hiding stories. */
.journal-paths__links { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.journal-card--layout-collage:not(.journal-card--featured) {
  background: #e8ded0;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.16fr) minmax(320px, 0.84fr);
}
.journal-card--layout-collage:not(.journal-card--featured) .journal-card__image { aspect-ratio: auto; min-height: 500px; }
.journal-card--layout-collage:not(.journal-card--featured) .journal-card__body { justify-content: center; }
.journal-card--layout-collage:not(.journal-card--featured) h2 { font-size: clamp(2.35rem, 4vw, 3.55rem); }

.journal-card--layout-timeline:not(.journal-card--featured) { border: 0; border-left: 7px solid var(--accent); }
.journal-card--layout-timeline:not(.journal-card--featured) .journal-card__image { aspect-ratio: 1 / 1; }

.journal-card--layout-technical-split:not(.journal-card--featured) {
  background-color: #fbfaf7;
  background-image: linear-gradient(rgba(23, 23, 22, 0.055) 1px, transparent 1px);
  background-size: 100% 28px;
  border-top: 8px solid var(--ink);
}
.journal-card--layout-technical-split:not(.journal-card--featured) .journal-card__body { background: rgba(255, 255, 255, 0.9); margin: -28px 18px 18px; position: relative; }
.journal-card--layout-technical-split:not(.journal-card--featured) h2 { font-family: var(--sans); font-weight: 700; letter-spacing: -0.035em; }

.journal-card--layout-immersive-dark { background: var(--ink-soft); border-color: var(--line); color: var(--white); }
.journal-card--layout-immersive-dark .journal-card__meta { color: #c9c3ba; }
.journal-card--layout-immersive-dark .journal-card__meta span:first-child { color: #f18a7f; }
.journal-card--layout-immersive-dark .journal-card__question { border-color: #f18a7f; }
.journal-card--layout-immersive-dark .journal-card__excerpt { color: #d5cfc6; }
.journal-card--layout-immersive-dark .text-link { color: var(--white); }

.journal-card--layout-magazine:not(.journal-card--featured) { background: #ded6ca; border: 0; }
.journal-card--layout-magazine:not(.journal-card--featured) .journal-card__image { aspect-ratio: 4 / 5; margin: 18px 18px 0; }
.journal-card--layout-magazine:not(.journal-card--featured) h2 { font-size: clamp(2rem, 3.4vw, 3rem); }

.journal-card--layout-idea-atlas:not(.journal-card--featured) { background: #d7c4aa; border-top: 8px solid #a93f2d; }
.journal-card--layout-idea-atlas:not(.journal-card--featured) .journal-card__image { aspect-ratio: 5 / 4; }
.journal-card--layout-fireside { background: #2a2420; color: #fff8ef; }
.journal-card--layout-fireside .journal-card__excerpt,
.journal-card--layout-fireside .journal-card__meta { color: #cfc3b8; }
.journal-card--layout-fireside .journal-card__meta span:first-child { color: #ff9b77; }
.journal-card--layout-fireside .journal-card__question { border-color: #ff9b77; }
.journal-card--layout-fireside .text-link { color: var(--white); }
.journal-card--layout-room-check:not(.journal-card--featured) { background: #e4eae4; }
.journal-card--layout-palette-story:not(.journal-card--featured) { background: #dfe2d6; }
.journal-card--layout-decision-path { border: 3px solid var(--ink); }
.journal-card--layout-detail-story .journal-card__image,
.journal-card--layout-focal-point .journal-card__image { aspect-ratio: 5 / 4; }

@media (max-width: 1050px) {
  .journal-paths__links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
  .journal-paths__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journal-card--layout-collage:not(.journal-card--featured) { grid-template-columns: 1fr; }
  .journal-card--layout-collage:not(.journal-card--featured) .journal-card__image { aspect-ratio: 16 / 10; min-height: 0; }
  .editorial-post--idea-atlas .editorial-hero__grid,
  .editorial-post--fireside .editorial-hero__grid,
  .editorial-post--detail-story .editorial-hero__grid,
  .editorial-post--decision-path .editorial-hero__grid,
  .editorial-post--focal-point .editorial-hero__grid,
  .idea-atlas-hero,
  .idea-atlas-heading,
  .idea-atlas-focus,
  .fireside-pairing,
  .room-check-opener,
  .room-check-zone > header,
  .detail-story-intro,
  .detail-story-balance,
  .palette-story-card,
  .palette-story-card:nth-child(even),
  .decision-path-hero,
  .focal-point-hero,
  .focal-point-light { grid-template-columns: 1fr; }
  .editorial-post--decision-path .editorial-hero { background: #f6f3ed; }
  .editorial-post--decision-path .editorial-hero__grid { gap: 44px; }
  .editorial-post--decision-path .editorial-hero__content { color: var(--ink); padding-left: 0; }
  .editorial-post--decision-path .editorial-hero__content .lead { color: var(--ink); }
  .editorial-post--decision-path .editorial-hero__meta { color: #5f5a53; }
  .editorial-post--decision-path .editorial-hero__kicker,
  .editorial-post--decision-path .editorial-hero__question span { color: var(--accent); }
  .editorial-post--decision-path .editorial-hero__question { border-color: var(--accent); }
  .editorial-post--decision-path .editorial-hero__cover { order: initial; }
  .idea-atlas-heading > span,
  .idea-atlas-heading h2,
  .idea-atlas-heading p,
  .detail-story-intro .article-kicker,
  .detail-story-intro h2,
  .detail-story-intro > p:not(.article-kicker),
  .detail-story-balance h2 { grid-column: 1; grid-row: auto; }
  .idea-atlas-hero__details { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 1fr; }
  .idea-atlas-grid,
  .fireside-sample-test__steps,
  .room-check-key,
  .room-check-path,
  .decision-path-choices,
  .focal-point-map { grid-template-columns: 1fr; }
  .idea-atlas-card--wide { grid-column: 1; }
  .fireside-moods,
  .room-check-cards,
  .detail-story-grid,
  .focal-point-pairings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .palette-story-card:nth-child(even) figure { order: initial; }
}

@media (max-width: 520px) {
  .journal-paths__links,
  .fireside-moods,
  .room-check-cards,
  .detail-story-grid,
  .focal-point-pairings { grid-template-columns: 1fr; }
  .idea-atlas-hero__details { grid-template-columns: 1fr; }
  .decision-path-section { grid-template-columns: 1fr; }
  .decision-path-number { font-size: 3.4rem; }
}
