@font-face {
  font-family: "Spec";
  src: url("/assets/fonts/spec-regular.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Spec";
  src: url("/assets/fonts/spec-light-italic.woff2") format("woff2");
  font-display: swap;
  font-style: italic;
  font-weight: 300;
}

@font-face {
  font-family: "Spec";
  src: url("/assets/fonts/spec-bold.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}

:root {
  --ink: #171812;
  --ink-soft: #33362d;
  --muted: #67685f;
  --paper: #e9e2d5;
  --paper-2: #ded4c3;
  --paper-light: #f1ede5;
  --forest: #123d3b;
  --rust: #c24b2c;
  --rust-deep: #94351f;
  --tide: #9bb8c4;
  --line: color-mix(in oklab, var(--ink) 18%, transparent);
  --line-light: color-mix(in oklab, var(--paper) 26%, transparent);
  --font-display: "Spec", Georgia, serif;
  --font-body: "Arial Narrow", "Aptos Narrow", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "Courier New", Courier, monospace;
  --page: min(100% - 40px, 1440px);
  --read: 65ch;
  --section: clamp(88px, 10vw, 156px);
  --ease: cubic-bezier(.2, .8, .2, 1);
  --decisive: cubic-bezier(.7, 0, .3, 1);
  --header: 88px;
}

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

html {
  scroll-behavior: smooth;
  overflow-x: clip;
  background: var(--paper);
}

body {
  margin: 0;
  width: 100%;
  max-width: 100%;
  min-width: 320px;
  overflow-x: hidden;
  overflow-x: clip;
  background:
    linear-gradient(color-mix(in oklab, var(--paper) 96%, transparent), color-mix(in oklab, var(--paper) 96%, transparent)),
    repeating-linear-gradient(93deg, transparent 0 6px, color-mix(in oklab, var(--ink) 2%, transparent) 6px 7px);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: clamp(1rem, .94rem + .16vw, 1.125rem);
  line-height: 1.55;
  font-feature-settings: "kern" 1, "liga" 1;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body::before {
  position: fixed;
  z-index: 9999;
  inset: 0;
  border: 7px solid var(--ink);
  content: "";
  pointer-events: none;
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { color: inherit; font: inherit; }
button { cursor: pointer; }
address { font-style: normal; }
p, li, blockquote { hanging-punctuation: first last; }
p { margin: 0; max-width: var(--read); text-wrap: pretty; widows: 3; orphans: 3; }
h1, h2, h3 { margin: 0; font-family: var(--font-display); font-weight: 400; text-wrap: balance; }
h1 { font-size: clamp(3.6rem, 8.6vw, 9.75rem); line-height: .82; letter-spacing: -.052em; }
h2 { font-size: clamp(2.75rem, 5.9vw, 6.75rem); line-height: .9; letter-spacing: -.04em; }
h3 { font-size: clamp(1.5rem, 2.2vw, 2.4rem); line-height: 1; letter-spacing: -.025em; }
svg { width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-linecap: square; stroke-linejoin: miter; stroke-width: 1.5; }

*:focus-visible {
  outline: 2px solid var(--rust);
  outline-offset: 4px;
}

::selection { background: var(--rust); color: var(--paper-light); }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 12px 18px;
  background: var(--tide);
  color: var(--ink);
  transform: translateY(-160%);
  transition: transform 180ms var(--ease);
}

.skip-link:focus { transform: translateY(0); }
.header-marker { position: absolute; top: 0; width: 1px; height: 1px; }

.site-header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  height: var(--header);
  display: grid;
  grid-template-columns: minmax(160px, .8fr) 1fr auto;
  align-items: center;
  gap: 32px;
  padding: 0 clamp(18px, 3vw, 48px);
  border: 0;
  background: linear-gradient(180deg, rgba(7, 9, 7, .72) 0%, rgba(7, 9, 7, .36) 68%, transparent 100%);
  color: var(--paper-light);
  mix-blend-mode: normal;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .72);
  transition: height 300ms var(--ease), background 360ms var(--ease), backdrop-filter 360ms var(--ease);
}

.site-header.is-scrolled { height: 72px; background: linear-gradient(180deg, rgba(9, 12, 9, .82) 0%, rgba(9, 12, 9, .56) 54%, rgba(9, 12, 9, .2) 82%, transparent 100%); backdrop-filter: blur(9px) saturate(.86); -webkit-backdrop-filter: blur(9px) saturate(.86); }
.brand { width: 132px; }
.brand img { width: 100%; height: auto; filter: invert(1) grayscale(1) brightness(2); }
.desktop-nav { display: flex; justify-content: center; gap: clamp(18px, 2.4vw, 44px); }
.desktop-nav a, .language-link, .header-cta, .menu-toggle {
  position: relative;
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.desktop-nav a { padding: 18px 0; }
@media (min-width: 1101px) {
  .desktop-nav a, .language-link, .header-cta { font-size: .8rem; letter-spacing: .125em; }
}
.desktop-nav a::after {
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 300ms var(--decisive);
}

.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after, .desktop-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.header-actions { display: flex; align-items: center; gap: 22px; }
.language-link { min-width: 44px; min-height: 44px; display: grid; place-items: center; border: 1px solid var(--line-light); }
.header-cta { min-height: 44px; display: inline-flex; align-items: center; gap: 10px; color: inherit; }
.header-cta svg { transition: transform 220ms var(--ease); }
.header-cta:hover svg { transform: translateX(4px); }
.menu-toggle { display: none; align-items: center; gap: 8px; min-height: 44px; border: 0; background: transparent; color: inherit; }

.mobile-menu {
  position: fixed;
  z-index: 90;
  inset: 7px;
  padding: calc(var(--header) + 50px) 24px 32px;
  background: var(--ink);
  color: var(--paper-light);
  overflow-y: auto;
}

.mobile-menu nav { display: grid; }
.mobile-menu nav a { display: grid; grid-template-columns: 52px 1fr; align-items: baseline; padding: 13px 0; border-bottom: 1px solid var(--line-light); font-family: var(--font-display); font-size: clamp(2.4rem, 10vw, 4rem); line-height: .95; }
.mobile-menu nav span { font-family: var(--font-mono); font-size: .65rem; letter-spacing: .12em; }
.mobile-menu-meta { display: flex; flex-wrap: wrap; gap: 16px 32px; margin-top: 36px; font-family: var(--font-mono); font-size: .72rem; text-transform: uppercase; }
.menu-open { overflow: hidden; }

.section { width: var(--page); margin-inline: auto; padding-block: var(--section); }
.section + .section { border-top: 1px solid var(--line); }
.dark-section { color: var(--paper-light); background: var(--ink); }
.eyebrow {
  font-family: var(--font-mono);
  font-size: .68rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.lede { font-family: var(--font-display); font-size: clamp(1.6rem, 2.7vw, 3.25rem); line-height: 1.12; letter-spacing: -.02em; }
.text-link, .button-link {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  gap: 16px;
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.text-link span { border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.text-link svg, .button-link svg { transition: transform 250ms var(--ease); }
.text-link:hover svg, .button-link:hover svg { transform: translateX(6px); }
.button-link { padding: 0 20px; border: 1px solid currentColor; }
.button-link:hover, .button-link:focus-visible { background: var(--ink); color: var(--paper-light); }
.button-link.light:hover, .button-link.light:focus-visible { background: var(--paper-light); color: var(--ink); }
.light { color: var(--paper-light); }

.motion-ready .reveal { opacity: 0; transform: translate3d(0, 32px, 0); transition: opacity 760ms var(--ease) var(--reveal-delay, 0ms), transform 760ms var(--ease) var(--reveal-delay, 0ms); will-change: opacity, transform; }
.motion-ready .reveal.is-in { opacity: 1; transform: translate3d(0, 0, 0); will-change: auto; }
/* Page choreography: cover transition, header cascade and first-view construction. */
.page-transition {
  position: fixed;
  z-index: 10000;
  inset: 0;
  background: var(--ink);
  opacity: 0;
  pointer-events: none;
  animation: page-cover-reveal 640ms var(--ease) both;
}
body.is-leaving .page-transition {
  opacity: 1;
  pointer-events: auto;
  animation: none;
  transition: opacity 380ms var(--decisive);
}

.page-motion .site-header {
  animation: header-shell-in 660ms var(--decisive) 40ms both;
}
.page-motion .site-header > .brand,
.page-motion .site-header .desktop-nav > *,
.page-motion .site-header .header-actions > * {
  animation: header-item-in 480ms var(--ease) both;
}
.page-motion .site-header > .brand { animation-delay: 170ms; }
.page-motion .site-header .desktop-nav > :nth-child(1) { animation-delay: 220ms; }
.page-motion .site-header .desktop-nav > :nth-child(2) { animation-delay: 270ms; }
.page-motion .site-header .desktop-nav > :nth-child(3) { animation-delay: 320ms; }
.page-motion .site-header .desktop-nav > :nth-child(4) { animation-delay: 370ms; }
.page-motion .site-header .header-actions > :nth-child(1) { animation-delay: 400ms; }
.page-motion .site-header .header-actions > :nth-child(2) { animation-delay: 450ms; }
.page-motion .site-header .header-actions > :nth-child(3) { animation-delay: 450ms; }

.mobile-menu:not([hidden]) {
  animation: mobile-menu-in 460ms var(--decisive) both;
}
.mobile-menu:not([hidden]) nav a,
.mobile-menu:not([hidden]) .mobile-menu-meta > a {
  animation: mobile-menu-item-in 500ms var(--ease) both;
}
.mobile-menu:not([hidden]) nav a:nth-child(1) { animation-delay: 70ms; }
.mobile-menu:not([hidden]) nav a:nth-child(2) { animation-delay: 120ms; }
.mobile-menu:not([hidden]) nav a:nth-child(3) { animation-delay: 170ms; }
.mobile-menu:not([hidden]) nav a:nth-child(4) { animation-delay: 220ms; }
.mobile-menu:not([hidden]) nav a:nth-child(5) { animation-delay: 270ms; }
.mobile-menu:not([hidden]) .mobile-menu-meta > a:nth-child(1) { animation-delay: 310ms; }
.mobile-menu:not([hidden]) .mobile-menu-meta > a:nth-child(2) { animation-delay: 350ms; }

.page-motion .hero-media,
.page-motion .board-index-photo > figure,
.page-motion .product-visual,
.page-motion .product-hero-media,
.page-motion .article-hero,
.page-motion .contact-page > figure {
  animation: page-media-in 760ms var(--ease) 90ms both;
}
.page-motion .hero-kicker,
.page-motion .page-hero > div > .eyebrow,
.page-motion .product-copy > .eyebrow,
.page-motion .article-header > .eyebrow,
.page-motion .contact-main > .eyebrow,
.page-motion .legal-page header > .eyebrow,
.page-motion .not-found > .eyebrow {
  animation: page-item-in 560ms var(--ease) 180ms both;
}
.page-motion .hero-grid > h1,
.page-motion .page-hero > div > h1,
.page-motion .product-copy > h1,
.page-motion .article-header > h1,
.page-motion .contact-main > h1,
.page-motion .legal-page header > h1,
.page-motion .not-found > h1 {
  animation: page-title-in 680ms var(--ease) 230ms both;
}
.page-motion .hero-bottom > p,
.page-motion .page-hero > p,
.page-motion .product-copy > .product-lede,
.page-motion .product-copy > .lede,
.page-motion .article-header > .lede,
.page-motion .contact-main > p:not(.eyebrow),
.page-motion .legal-page header > p:last-child,
.page-motion .not-found > p:not(.eyebrow) {
  animation: page-item-in 620ms var(--ease) 320ms both;
}
.page-motion .hero-bottom > div,
.page-motion .product-copy > .button-link,
.page-motion .product-specs,
.page-motion .contact-details,
.page-motion .not-found > .button-link {
  animation: page-item-in 620ms var(--ease) 400ms both;
}
.page-motion .hero-signature { animation: page-fade-in 540ms var(--ease) 450ms both; }
.page-motion .intent-strip { animation: page-item-in 580ms var(--ease) 520ms both; }

@keyframes page-cover-reveal {
  from { opacity: 1; }
  to { opacity: 0; }
}
@keyframes header-shell-in {
  from { opacity: 0; transform: translate3d(0, -115%, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes header-item-in {
  from { opacity: 0; transform: translate3d(0, -12px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes mobile-menu-in {
  from { opacity: 0; transform: translate3d(0, -22px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes mobile-menu-item-in {
  from { opacity: 0; transform: translate3d(0, -14px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes page-item-in {
  from { opacity: 0; transform: translate3d(0, 20px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes page-title-in {
  from { opacity: 0; transform: translate3d(0, 30px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes page-media-in {
  from { opacity: .18; transform: scale(1.025); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes page-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.home-hero {
  position: relative;
  min-height: min(900px, 92svh);
  overflow: hidden;
}

.hero-media { position: absolute; inset: 0; }
.hero-media::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(16, 18, 14, .82) 0%, rgba(16, 18, 14, .38) 58%, rgba(16, 18, 14, .22) 100%), linear-gradient(0deg, rgba(16, 18, 14, .76) 0%, transparent 58%); content: ""; }
.hero-media :is(img, video) { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 45%; filter: brightness(.8) saturate(.82) contrast(1.06); }
.hero-grid {
  position: relative;
  z-index: 2;
  width: var(--page);
  min-height: min(900px, 92svh);
  margin: 0 auto;
  padding: calc(var(--header) + clamp(78px, 11vh, 130px)) 0 48px;
  display: grid;
  grid-template-columns: 1.65fr .7fr;
  grid-template-rows: auto 1fr auto;
  column-gap: 48px;
}

.hero-kicker { grid-column: 1 / -1; align-self: start; font-family: var(--font-mono); font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; }
.hero-kicker span { color: var(--tide); margin: 0 12px; }
.hero-grid h1 { max-width: 12ch; align-self: end; font-size: clamp(3.4rem, 6vw, 6.5rem); line-height: .88; letter-spacing: -.045em; }
.hero-bottom { grid-column: 1; display: grid; grid-template-columns: minmax(220px, .7fr) 1fr; align-items: end; gap: 36px; padding-top: 38px; border-top: 1px solid var(--line-light); }
.hero-bottom > p { font-family: var(--font-display); font-size: clamp(1.2rem, 1.6vw, 1.65rem); line-height: 1.25; }
.hero-bottom > div { display: flex; align-items: center; gap: 26px; }
.hero-commercial-cues { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 8px; padding-top: 18px; border-top: 1px solid var(--line-light); list-style: none; }
.hero-commercial-cues li { min-width: 0; display: grid; gap: 5px; padding-right: 18px; }
.hero-commercial-cues li + li { padding-left: 18px; border-left: 1px solid var(--line-light); }
.hero-commercial-cues span { color: color-mix(in oklab, var(--paper-light) 62%, transparent); font-family: var(--font-mono); font-size: .54rem; letter-spacing: .12em; text-transform: uppercase; }
.hero-commercial-cues strong { font-family: var(--font-display); font-size: clamp(.95rem, 1.2vw, 1.25rem); font-weight: 400; line-height: 1.1; }
.hero-signature { grid-column: 2; grid-row: 2 / 4; align-self: end; justify-self: end; padding-right: 22px; border-right: 1px solid var(--tide); font-family: var(--font-display); font-size: clamp(1.5rem, 2.4vw, 3rem); line-height: .95; text-align: right; text-transform: uppercase; transform: rotate(-2deg); }

.intent-strip {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 24px;
  padding: 16px 24px;
  overflow: hidden;
  background: var(--tide);
  color: var(--ink);
  font-family: var(--font-display);
  font-size: clamp(1rem, 1.8vw, 1.55rem);
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.intent-strip span { color: var(--rust); font-size: .7em; }
.decision-section, .product-story { display: grid; grid-template-columns: minmax(180px, .52fr) 1.65fr; gap: clamp(52px, 8vw, 136px); }
.section-rail { display: flex; flex-direction: column; justify-content: space-between; gap: 48px; }
.rail-note { max-width: 18ch; color: var(--muted); font-family: var(--font-display); font-size: 1.45rem; line-height: 1.2; }
.decision-copy h2 { max-width: 12ch; }
.decision-copy > .lede { max-width: 30ch; margin-top: clamp(36px, 5vw, 72px); }
.decision-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: clamp(50px, 7vw, 92px) 0 40px; border-block: 1px solid var(--line); }
.decision-steps article { padding: 32px 24px 36px 0; }
.decision-steps article + article { padding-left: 24px; border-left: 1px solid var(--line); }
.decision-steps span, .board-index { font-family: var(--font-mono); font-size: .65rem; letter-spacing: .15em; }
.decision-steps h3 { margin: 34px 0 14px; }
.decision-steps p { color: var(--muted); font-size: .95rem; }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-bottom: clamp(52px, 7vw, 96px); }
.section-heading h2 { margin-top: 22px; }
.board-selection { width: 100%; padding-inline: max(20px, calc((100vw - 1440px) / 2)); background: var(--paper-light); }
.board-rows { display: grid; gap: 8px; }
.board-row { position: relative; min-height: clamp(270px, 21vw, 340px); overflow: hidden; isolation: isolate; background: var(--ink); }
.board-row[hidden] { display: none; }
.board-row::after { position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg, rgba(8, 11, 9, .91) 0%, rgba(8, 11, 9, .7) 46%, rgba(8, 11, 9, .42) 100%), linear-gradient(0deg, rgba(8, 11, 9, .74) 0%, transparent 70%); content: ""; pointer-events: none; }
.board-row-media { position: absolute; z-index: 0; inset: 0; margin: 0; overflow: hidden; }
.board-row-media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--board-photo-position, center); filter: saturate(.72) contrast(1.08); transition: transform 700ms var(--ease), filter 400ms var(--ease); }
.board-row-link { position: relative; z-index: 1; min-height: inherit; display: grid; grid-template-columns: 56px minmax(170px, .7fr) minmax(260px, 1.2fr) minmax(150px, .55fr) 48px; align-items: center; gap: clamp(18px, 3vw, 48px); padding: clamp(26px, 3vw, 44px) clamp(18px, 3vw, 46px); color: var(--paper-light); transition: background-color 240ms var(--ease), color 240ms var(--ease); }
.board-row-link:hover, .board-row-link:focus-visible { background: color-mix(in oklab, var(--forest) 18%, transparent); color: var(--paper-light); }
.board-row:hover .board-row-media img, .board-row:focus-within .board-row-media img { transform: scale(1.025); filter: saturate(.86) contrast(1.08); }
.board-row-name p { margin-bottom: 6px; font-family: var(--font-mono); font-size: .64rem; letter-spacing: .13em; text-transform: uppercase; }
.board-row-name h3 { font-size: clamp(2.3rem, 4.3vw, 5.4rem); transition: transform 420ms var(--ease); }
.board-row-message { min-width: 0; display: grid; align-content: center; gap: 12px; }
.board-row-cutout-frame { position: relative; width: min(100%, 360px); height: 76px; display: block; overflow: visible; }
.board-row-cutout-frame img { position: absolute; top: 50%; left: 50%; width: auto; max-width: none; height: clamp(240px, 18vw, 320px); object-fit: contain; filter: drop-shadow(0 13px 12px rgba(0, 0, 0, .2)); transform: translate(-50%, -50%) rotate(90deg); transform-origin: center; transition: transform 560ms var(--ease), filter 420ms var(--ease); }
.board-row-copy { max-width: 46ch; color: color-mix(in oklab, var(--paper-light) 88%, transparent); font-family: var(--font-display); font-size: clamp(1.05rem, 1.3vw, 1.4rem); line-height: 1.3; }
.board-row:hover .board-row-name h3, .board-row:focus-within .board-row-name h3 { transform: translateX(6px); }
.board-row:hover .board-row-cutout-frame img, .board-row:focus-within .board-row-cutout-frame img { filter: drop-shadow(0 18px 15px rgba(0, 0, 0, .24)); transform: translate(-50%, -50%) rotate(90deg) scale(1.035); }
.board-row-meta { display: grid; gap: 6px; color: color-mix(in oklab, var(--paper-light) 66%, transparent); font-family: var(--font-mono); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.board-row-link:hover .board-row-meta, .board-row-link:focus-visible .board-row-meta { color: var(--paper-light); }
.board-row-arrow { justify-self: end; }
.board-row-arrow svg { font-size: 1.6rem; transition: transform 300ms var(--ease); }
.board-row-link:hover .board-row-arrow svg { transform: translateX(8px); }

.interlude { position: relative; min-height: min(840px, 88svh); display: grid; place-items: center; overflow: hidden; }
.interlude::after { position: absolute; inset: 0; background: rgba(14, 17, 13, .42); content: ""; }
.interlude-image { position: absolute; inset: 0; margin: 0; }
.interlude-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; filter: saturate(.72) contrast(1.05); }
.interlude blockquote { position: relative; z-index: 2; width: min(90%, 1050px); margin: 0; text-align: center; }
.interlude blockquote p { max-width: none; font-family: var(--font-display); font-size: clamp(3.2rem, 7vw, 8.5rem); line-height: .86; letter-spacing: -.04em; }
.interlude blockquote footer { margin-top: 34px; font-family: var(--font-mono); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; }
.page-number { position: absolute; z-index: 2; right: 32px; bottom: 28px; font-family: var(--font-mono); font-size: .62rem; letter-spacing: .14em; }

.heritage-teaser { display: grid; grid-template-columns: 1fr 1.2fr .7fr; grid-template-rows: auto auto; gap: clamp(28px, 4vw, 64px); align-items: end; }
.heritage-title { grid-column: 1 / 3; }
.heritage-title h2 { margin-top: 26px; }
.heritage-media { grid-column: 1 / 3; }
.heritage-media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; filter: saturate(.78); }
.heritage-copy { grid-column: 3; grid-row: 2; display: grid; gap: 36px; align-self: stretch; align-content: end; }
.heritage-copy p { font-family: var(--font-display); font-size: clamp(1.18rem, 1.5vw, 1.55rem); line-height: 1.35; }

.proof-section { display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: auto auto; gap: clamp(36px, 6vw, 88px); }
.proof-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: saturate(.78) contrast(1.04); }
.proof-copy { align-self: center; }
.proof-copy h2 { margin: 28px 0 46px; font-size: clamp(2.65rem, 4.7vw, 5.4rem); }
.proof-copy ul { list-style: none; margin: 0 0 38px; padding: 0; border-top: 1px solid var(--line); }
.proof-copy li { position: relative; padding: 17px 0 17px 28px; border-bottom: 1px solid var(--line); font-family: var(--font-display); font-size: 1.25rem; }
.proof-copy li::before { position: absolute; left: 2px; color: var(--rust); content: "◆"; font-size: .55rem; }
.proof-badges { grid-column: 2; width: min(100%, 440px); max-height: 120px; object-fit: contain; object-position: left center; mix-blend-mode: multiply; }

.faq-section { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(50px, 8vw, 132px); }
.faq-section header h2 { margin-top: 24px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; min-height: 88px; display: grid; grid-template-columns: 58px 1fr 30px; align-items: center; list-style: none; cursor: pointer; font-family: var(--font-display); font-size: clamp(1.25rem, 1.8vw, 1.8rem); }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { font-family: var(--font-mono); font-size: .62rem; letter-spacing: .14em; }
.faq-list summary::after { content: "+"; justify-self: end; font-family: var(--font-mono); font-size: 1.1rem; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details > div { padding: 0 42px 30px 58px; color: var(--muted); }
.faq-section.compact { padding-top: calc(var(--section) * .75); }

.home-family-section { padding-bottom: clamp(80px, 9vw, 132px); }
.home-family-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: clamp(48px, 9vw, 140px);
  align-items: end;
  margin-bottom: clamp(56px, 7vw, 96px);
}
.home-family-heading h2 { max-width: 11ch; margin-top: 26px; }
.home-family-heading > div:last-child { display: grid; gap: 30px; padding-bottom: 8px; }
.home-family-heading > div:last-child > p { max-width: 34ch; font-family: var(--font-display); font-size: clamp(1.2rem, 1.65vw, 1.65rem); line-height: 1.32; }
.home-family-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block: 1px solid var(--line);
}
.home-family-card { min-width: 0; background: color-mix(in oklab, var(--paper-light) 58%, var(--paper)); }
.home-family-card:nth-child(2) { background: color-mix(in oklab, var(--paper-2) 70%, var(--paper-light)); }
.home-family-card:nth-child(3) { background: color-mix(in oklab, var(--tide) 14%, var(--paper-light)); }
.home-family-card + .home-family-card { border-left: 1px solid var(--line); }
.home-family-card > a { height: 100%; display: grid; grid-template-rows: minmax(520px, 47vw) auto; }
.home-family-media { position: relative; min-height: 0; display: grid; place-items: center; overflow: hidden; }
.home-family-media::after {
  position: absolute;
  right: 12%;
  bottom: 6%;
  left: 12%;
  height: 12%;
  border-radius: 50%;
  background: color-mix(in oklab, var(--ink) 13%, transparent);
  filter: blur(26px);
  content: "";
  transform: scaleX(.62);
}
.home-family-media img {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  padding: clamp(30px, 3vw, 48px) clamp(18px, 2vw, 34px);
  object-fit: contain;
  filter: drop-shadow(0 18px 18px color-mix(in oklab, var(--ink) 16%, transparent));
  transition: transform 520ms var(--ease), filter 360ms var(--ease);
}
.home-family-index {
  position: absolute;
  z-index: 2;
  top: 24px;
  left: 24px;
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .18em;
}
.home-family-copy { min-height: 300px; padding: clamp(26px, 3vw, 42px); border-top: 1px solid var(--line); }
.home-family-copy h3 { margin: 22px 0 20px; font-size: clamp(3rem, 5vw, 5.8rem); line-height: .84; }
.home-family-copy > p:not(.eyebrow) { max-width: 31ch; color: var(--muted); }
.home-family-copy > span {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  gap: 18px;
  margin-top: 30px;
  border-bottom: 1px solid currentColor;
  font-family: var(--font-mono);
  font-size: .6rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.home-family-card > a:hover .home-family-media img,
.home-family-card > a:focus-visible .home-family-media img { transform: translate3d(0, -10px, 0) scale(1.012); filter: drop-shadow(0 26px 24px color-mix(in oklab, var(--ink) 20%, transparent)); }
.home-family-card > a:focus-visible { outline-offset: -5px; }

.home-model-story {
  position: relative;
  min-height: min(780px, 84svh);
  display: grid;
  overflow: hidden;
  isolation: isolate;
}
.home-model-story::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 11, 8, .84) 0%, rgba(7, 11, 8, .48) 48%, rgba(7, 11, 8, .08) 78%), linear-gradient(0deg, rgba(7, 11, 8, .66) 0%, transparent 58%);
  content: "";
}
.home-model-story > figure { position: absolute; z-index: -2; inset: 0; margin: 0; }
.home-model-story > figure > img { width: 100%; height: 100%; object-fit: cover; object-position: 56% center; filter: saturate(.82) contrast(1.04); transition: transform 1200ms var(--ease); }
.home-model-story-copy {
  position: relative;
  z-index: 1;
  width: var(--page);
  margin: auto auto 0;
  padding-block: clamp(90px, 11vw, 150px) clamp(72px, 9vw, 120px);
  align-self: end;
}
.home-model-story-copy h2 { max-width: 10ch; margin: 28px 0 34px; font-size: clamp(3.8rem, 7vw, 8rem); }
.home-model-story-copy > p:not(.eyebrow) { max-width: 38ch; font-family: var(--font-display); font-size: clamp(1.25rem, 1.8vw, 1.8rem); line-height: 1.34; }
.home-model-story-copy > div { display: flex; flex-wrap: wrap; align-items: center; gap: 26px; margin-top: 38px; }
.home-model-story-note { position: absolute; right: clamp(24px, 4vw, 60px); bottom: 28px; font-family: var(--font-mono); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; }
.home-model-story:hover > figure > img { transform: scale(1.012); }

.home-heritage-brief {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr);
  gap: clamp(56px, 10vw, 156px);
  padding-block: clamp(76px, 8vw, 116px);
}
.home-heritage-brief h2 { max-width: 11ch; margin-top: 26px; font-size: clamp(3.5rem, 6.5vw, 7.4rem); }
.home-heritage-brief > div:last-child { display: grid; align-content: end; gap: 26px; padding-bottom: 8px; }
.home-heritage-brief .lede { font-family: var(--font-display); font-size: clamp(1.35rem, 2vw, 2rem); line-height: 1.26; }
.home-heritage-brief > div:last-child > p:not(.lede) { color: var(--muted); }

.heritage-portraits { width: var(--page); }
.heritage-portraits-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .55fr);
  gap: clamp(50px, 9vw, 140px);
  align-items: end;
  margin-bottom: clamp(52px, 7vw, 88px);
}
.heritage-portraits-heading h2 { margin-top: 26px; }
.heritage-portraits-heading > p { max-width: 34ch; padding-bottom: 8px; font-family: var(--font-display); font-size: clamp(1.2rem, 1.7vw, 1.7rem); line-height: 1.34; }
.heritage-shaper-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); background: var(--line); gap: 1px; }
.heritage-shaper-card { min-width: 0; background: var(--paper-light); }
.heritage-shaper-card figure { position: relative; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; background: linear-gradient(150deg, var(--paper-2), color-mix(in oklab, var(--tide) 16%, var(--paper-light))); }
.heritage-shaper-card figure img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; filter: saturate(.88) contrast(1.02); }
.heritage-shaper-card figcaption { position: absolute; right: 18px; bottom: 16px; left: 18px; font-family: var(--font-mono); font-size: .58rem; letter-spacing: .11em; text-transform: uppercase; }
.heritage-shaper-card > div { min-height: 330px; padding: clamp(28px, 4vw, 52px); border-top: 1px solid var(--line); }
.heritage-shaper-card h3 { margin: 26px 0 28px; font-size: clamp(3rem, 5vw, 5.8rem); }
.heritage-shaper-card > div > p:last-child { max-width: 48ch; color: var(--muted); }
.heritage-source-link { margin-top: 34px; }
.page-hero {
  min-height: 700px;
  padding: calc(var(--header) + clamp(90px, 11vw, 170px)) max(20px, calc((100vw - 1440px) / 2)) clamp(70px, 8vw, 120px);
  display: grid;
  grid-template-columns: 1.5fr .62fr;
  align-items: end;
  gap: 60px;
  border-bottom: 1px solid var(--line);
}

.page-hero h1 { margin-top: 28px; font-size: clamp(4.2rem, 9vw, 10rem); }
.page-hero > p { padding-bottom: 12px; font-family: var(--font-display); font-size: clamp(1.25rem, 1.8vw, 1.85rem); line-height: 1.35; }
.board-index-hero { background: var(--paper-2); }
.board-finder { display: grid; gap: clamp(54px, 7vw, 100px); background: var(--paper-light); }
.board-finder-heading { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(280px, .52fr); gap: clamp(48px, 9vw, 150px); align-items: end; }
.board-finder-heading h2 { max-width: 11ch; margin-top: 24px; font-size: clamp(3.4rem, 6vw, 7rem); line-height: .88; }
.board-finder-heading > p { max-width: 42ch; color: var(--muted); }
.board-finder-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ink); border-left: 1px solid var(--line); }
.board-finder-form fieldset { min-width: 0; margin: 0; padding: clamp(24px, 3vw, 40px); border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.board-finder-form legend { width: 100%; display: flex; gap: 14px; align-items: center; padding: 0 0 28px; font-family: var(--font-display); font-size: clamp(1.3rem, 1.7vw, 1.75rem); }
.board-finder-form legend span { color: var(--rust-deep); font-family: var(--font-mono); font-size: .6rem; letter-spacing: .12em; }
.board-finder-options { display: grid; gap: 8px; }
.board-finder-options label { position: relative; cursor: pointer; }
.board-finder-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.board-finder-options label > span { min-height: 46px; display: flex; align-items: center; padding: 10px 13px; border: 1px solid var(--line); font-family: var(--font-mono); font-size: .62rem; letter-spacing: .07em; line-height: 1.35; text-transform: uppercase; transition: color 180ms var(--ease), background-color 180ms var(--ease), border-color 180ms var(--ease); }
.board-finder-options input:checked + span { color: var(--paper-light); background: var(--ink); border-color: var(--ink); }
.board-finder-options input:focus-visible + span { outline: 3px solid var(--rust); outline-offset: 3px; }
.board-finder-submit { grid-column: 1 / -1; justify-self: start; margin-top: 28px; }
.board-finder-results { display: grid; gap: 34px; padding-top: clamp(54px, 7vw, 90px); border-top: 1px solid var(--ink); }
.board-finder-results[hidden] { display: none; }
.board-finder-results > header { display: grid; grid-template-columns: .6fr 1.4fr; gap: 30px; align-items: end; }
.board-finder-results > header h3 { max-width: 16ch; font-family: var(--font-display); font-size: clamp(2.5rem, 4.5vw, 5rem); font-weight: 400; line-height: .92; }
.board-finder-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.board-finder-result-grid[data-count="1"] { grid-template-columns: minmax(0, 1fr); max-width: min(100%, 680px); }
.board-finder-result-grid[data-count="0"] { display: none; }
.board-finder-no-match { max-width: 66ch; margin: 0; padding: 22px 24px; border-left: 2px solid var(--tide); background: color-mix(in oklab, var(--paper-light) 72%, transparent); color: var(--muted); }
.board-finder-no-match[hidden] { display: none; }
.board-finder-result { min-width: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.board-finder-result > a { min-height: 470px; display: grid; grid-template-rows: auto 1fr auto auto; gap: 30px; padding: clamp(24px, 3vw, 42px); transition: color 220ms var(--ease), background-color 220ms var(--ease); }
.board-finder-result > a:hover { color: var(--paper-light); background: var(--ink); }
.board-finder-result > a:focus-visible { position: relative; z-index: 1; outline: 3px solid var(--rust); outline-offset: -3px; }
.board-finder-number { font-family: var(--font-mono); font-size: .62rem; letter-spacing: .14em; }
.board-finder-result h3 { margin-top: 18px; font-size: clamp(3.2rem, 5vw, 5.6rem); line-height: .82; }
.board-finder-result div > p:last-child { max-width: 35ch; margin-top: 24px; color: var(--muted); }
.board-finder-result > a:hover div > p:last-child { color: color-mix(in oklab, var(--paper-light) 70%, transparent); }
.board-finder-result dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 1px solid currentColor; }
.board-finder-result dl > div { min-width: 0; padding-top: 16px; }
.board-finder-result dl > div + div { padding-left: 16px; border-left: 1px solid currentColor; }
.board-finder-result dt { color: var(--muted); font-family: var(--font-mono); font-size: .52rem; letter-spacing: .11em; text-transform: uppercase; }
.board-finder-result dd { margin: 9px 0 0; font-size: .82rem; overflow-wrap: anywhere; }
.board-finder-link { display: flex; justify-content: space-between; gap: 18px; align-items: center; font-family: var(--font-mono); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.board-finder-link svg { width: 20px; }
.board-finder-next { display: flex; justify-content: space-between; gap: 40px; align-items: center; }
.board-finder-next p { max-width: 60ch; color: var(--muted); font-size: .86rem; }
.filter-bar { position: sticky; z-index: 20; top: 68px; min-height: 88px; display: grid; grid-template-columns: 140px 1fr; align-items: center; gap: 24px; padding: 16px max(20px, calc((100vw - 1440px) / 2)); border-bottom: 1px solid var(--line); background: color-mix(in oklab, var(--paper-light) 94%, transparent); backdrop-filter: blur(12px); }
.filter-bar > p { font-family: var(--font-mono); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; }
.filter-bar > div { display: flex; gap: 8px; overflow-x: auto; padding: 4px; }
.filter-bar button { flex: 0 0 auto; min-height: 42px; padding: 0 15px; border: 1px solid var(--line); background: transparent; font-family: var(--font-mono); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.filter-bar button.is-active, .filter-bar button:hover { background: var(--ink); color: var(--paper-light); }
.board-catalogue { padding: 8px max(20px, calc((100vw - 1440px) / 2)); background: var(--ink); }
.filter-empty { padding: 60px 0; font-family: var(--font-display); font-size: 2rem; }
.compare-guide { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(60px, 9vw, 140px); }
.compare-guide h2 { margin-top: 28px; font-size: clamp(2.6rem, 4.6vw, 5.2rem); }
.compare-table { border-top: 1px solid var(--line); align-self: end; }
.compare-table [role="row"] { display: grid; grid-template-columns: .7fr 1.3fr .8fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.compare-table [role="cell"]:first-child { font-family: var(--font-display); font-size: 1.35rem; }
.compare-table [role="cell"]:last-child { font-family: var(--font-mono); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }

.product-page { padding-top: 7px; }
.product-hero { min-height: 850px; padding: calc(var(--header) + 70px) max(20px, calc((100vw - 1440px) / 2)) 50px; display: grid; grid-template-columns: .95fr 1.15fr; grid-template-rows: 1fr auto; gap: 28px 72px; background: var(--paper-2); }
.product-copy { align-self: center; }
.product-copy h1 { margin: 32px 0; font-size: clamp(5.2rem, 11vw, 13rem); }
.product-lede { max-width: 25ch; margin-bottom: 42px; font-family: var(--font-display); font-size: clamp(1.6rem, 2.5vw, 3rem); line-height: 1.12; }
.product-visual { grid-column: 2; grid-row: 1 / 3; margin: 0; overflow: hidden; background: var(--paper-light); }
.product-visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) contrast(1.02); }
.product-visual.product-cutout img { object-fit: contain; padding: 6%; }
.product-specs { display: grid; grid-template-columns: repeat(3, 1fr); align-self: end; border-block: 1px solid var(--line); }
.product-specs div { padding: 18px 18px 18px 0; }
.product-specs div + div { padding-left: 18px; border-left: 1px solid var(--line); }
.product-specs span, .product-specs strong { display: block; }
.product-specs span { margin-bottom: 8px; font-family: var(--font-mono); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
.product-specs strong { font-family: var(--font-display); font-size: 1.05rem; font-weight: 400; }
.product-story h2 { max-width: 15ch; font-size: clamp(2.7rem, 5vw, 5.8rem); }
.product-story > div:last-child > p { margin-top: 28px; font-size: 1.1rem; }
.product-story aside { margin-top: 54px; padding: 28px 0; border-block: 1px solid var(--line); }
.product-story aside p:last-child { max-width: 35ch; margin-top: 14px; font-family: var(--font-display); font-size: 1.8rem; line-height: 1.25; }
.product-story .section-rail-board { display: grid; grid-template-rows: auto minmax(680px, 1fr) auto; gap: 32px; }
.product-story-board { display: grid; place-items: center; margin: 0; }
.product-story-board img {
  width: min(100%, 310px);
  height: auto;
  max-height: 980px;
  object-fit: contain;
  filter: drop-shadow(0 18px 16px color-mix(in oklab, var(--ink) 13%, transparent));
}
.product-story.brand-watermark::after { opacity: .022; }
.product-gallery { display: grid; grid-template-columns: 1.25fr .75fr; grid-auto-rows: minmax(320px, 48vw); gap: 0; padding: 0; background: var(--ink); }
.product-gallery figure { margin: 0; overflow: hidden; background: var(--paper-2); }
.product-gallery figure:first-child { grid-row: span 2; }
.product-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--ease); }
.product-gallery figure:hover img { transform: scale(1.025); }
.product-sizing { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: clamp(50px, 8vw, 130px); }
.product-sizing h2 { max-width: 14ch; margin-top: 24px; font-size: clamp(2.8rem, 5.2vw, 6rem); }
.product-sizing > div:last-child { display: grid; gap: 32px; }
.related-shapes { width: 100%; padding-inline: max(20px, calc((100vw - 1440px) / 2)); background: var(--paper-light); }

.custom-hero { background: var(--forest); }
.custom-process { padding: 0 max(20px, calc((100vw - 1440px) / 2)); background: var(--tide); }
.custom-process ol { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; }
.custom-process li { min-height: 230px; display: grid; grid-template-columns: 40px 1fr; gap: 20px; padding: 42px 30px 42px 0; }
.custom-process li + li { padding-left: 30px; border-left: 1px solid color-mix(in oklab, var(--ink) 24%, transparent); }
.custom-process li > span { font-family: var(--font-mono); font-size: .65rem; }
.custom-process h2 { margin-bottom: 18px; font-size: 2.2rem; }
.custom-process p { font-size: .95rem; }
.configurator-section { width: 100%; padding-inline: max(20px, calc((100vw - 1440px) / 2)); background: var(--paper-light); }
.configurator-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(40px, 8vw, 130px); align-items: end; padding-bottom: clamp(48px, 6vw, 86px); border-bottom: 1px solid var(--ink); }
.configurator-heading h2 { max-width: 12ch; margin-top: 24px; font-size: clamp(3.2rem, 6vw, 7rem); line-height: .88; }
.configurator-heading > p { max-width: 48ch; color: var(--muted); }
.configurator-shell { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .6fr); gap: clamp(46px, 7vw, 110px); align-items: start; }
.configurator-form { min-width: 0; }
.config-step { margin: 0; padding: clamp(48px, 6vw, 82px) 0; border: 0; border-bottom: 1px solid var(--line); }
.config-step legend { width: 100%; margin-bottom: 34px; font-family: var(--font-display); font-size: clamp(2rem, 3vw, 3.5rem); line-height: 1; }
.config-step legend span { margin-right: 22px; font-family: var(--font-mono); font-size: .62rem; letter-spacing: .12em; vertical-align: middle; }
.config-model-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.config-model-card { min-height: 126px; display: grid; grid-template-columns: auto 34px 1fr; gap: 12px; align-items: start; padding: 20px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); cursor: pointer; transition: background-color 180ms var(--ease), color 180ms var(--ease); }
.config-model-card input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--rust); }
.config-model-card:has(input:checked) { background: var(--ink); color: var(--paper-light); }
.config-model-card:has(input:focus-visible) { outline: 3px solid var(--rust); outline-offset: -3px; }
.config-model-number { font-family: var(--font-mono); font-size: .58rem; letter-spacing: .1em; }
.config-model-card strong { display: block; font-family: var(--font-display); font-size: 1.55rem; font-weight: 400; line-height: 1; }
.config-model-card small { display: block; margin-top: 9px; color: color-mix(in oklab, currentColor 68%, transparent); font-family: var(--font-mono); font-size: .55rem; letter-spacing: .08em; line-height: 1.45; text-transform: uppercase; }
.config-help { max-width: 62ch; margin-top: 22px; color: var(--muted); font-size: .8rem; }
.config-length-control { display: grid; grid-template-columns: 54px minmax(0, 1fr) 54px; gap: 22px; align-items: center; }
.config-length-control button { width: 54px; height: 54px; border: 1px solid var(--ink); background: transparent; font-size: 1.5rem; cursor: pointer; transition: background-color 180ms var(--ease), color 180ms var(--ease); }
.config-length-control button:hover, .config-length-control button:focus-visible { background: var(--ink); color: var(--paper-light); }
.config-length-control > div { display: grid; grid-template-columns: auto 1fr; gap: 14px 28px; align-items: end; }
.config-length-control output { font-family: var(--font-display); font-size: clamp(4rem, 8vw, 8rem); line-height: .72; }
.config-length-control input[type="range"] { grid-column: 2; width: 100%; accent-color: var(--rust); cursor: pointer; }
.config-length-control p { grid-column: 1 / -1; color: var(--muted); font-family: var(--font-mono); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.config-length-control p strong { color: var(--ink); font-weight: 400; }
.config-length-control button:disabled { opacity: .28; cursor: not-allowed; pointer-events: none; }
.config-length-control input[type="range"]:disabled { opacity: .55; cursor: default; }
.config-length-control input[type="range"]:focus-visible,
.config-option-field select:focus-visible { outline: 2px solid var(--rust); outline-offset: 4px; }
.config-length-guidance { max-width: 66ch; margin-top: 22px; padding-left: 18px; border-left: 2px solid var(--rust); color: var(--muted); font-size: .8rem; }
.config-option-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 34px; }
.config-option-field { display: grid; gap: 10px; }
.config-option-field label { display: flex; justify-content: space-between; gap: 20px; font-family: var(--font-mono); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.config-option-field label small { color: var(--rust-deep); font-size: inherit; }
.config-option-field select { width: 100%; min-height: 58px; padding: 0 38px 0 0; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; background: transparent; font-family: var(--font-display); font-size: 1.35rem; }
.config-extra-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.config-extra { min-height: 106px; display: grid; grid-template-columns: 22px 1fr; gap: 14px; padding: 22px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); cursor: pointer; }
.config-extra:has(input:checked) { background: color-mix(in oklab, var(--rust) 10%, var(--paper-light)); }
.config-extra:has(input:focus-visible) { outline: 3px solid var(--rust); outline-offset: -3px; }
.config-extra input { width: 18px; height: 18px; accent-color: var(--rust); }
.config-extra strong { display: block; font-family: var(--font-display); font-size: 1.2rem; font-weight: 400; }
.config-extra small { display: block; margin-top: 8px; color: var(--rust-deep); font-family: var(--font-mono); font-size: .58rem; }
.config-extra small span { display: block; }
.config-extra.is-disabled { cursor: not-allowed; color: color-mix(in oklab, var(--ink) 46%, transparent); background: color-mix(in oklab, var(--ink) 4%, var(--paper-light)); }
.config-extra.is-disabled input { opacity: .35; }
.config-extra [data-extra-state] { color: var(--rust-deep); font-style: normal; letter-spacing: .04em; line-height: 1.35; }
.config-price-card { position: sticky; top: 96px; margin-top: clamp(48px, 6vw, 82px); padding: clamp(28px, 3vw, 44px); background: var(--ink); color: var(--paper-light); }
.config-total { display: block; margin: 22px 0 8px; font-family: var(--font-display); font-size: clamp(4rem, 6vw, 7rem); line-height: .8; letter-spacing: -.04em; }
.config-price-meta { padding-bottom: 28px; border-bottom: 1px solid var(--line-light); color: color-mix(in oklab, var(--paper-light) 66%, transparent); font-family: var(--font-mono); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.config-summary { margin: 0; }
.config-summary > div { display: grid; grid-template-columns: .8fr 1.2fr; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--line-light); }
.config-summary dt, .config-option-summary > p { color: color-mix(in oklab, var(--paper-light) 62%, transparent); font-family: var(--font-mono); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.config-summary dd { margin: 0; text-align: right; }
.config-option-summary { padding: 24px 0; }
.config-option-summary ul { display: grid; gap: 12px; margin-top: 14px; padding: 0; list-style: none; }
.config-option-summary li { display: flex; justify-content: space-between; gap: 18px; font-size: .78rem; }
.config-option-summary li strong { flex: 0 0 auto; font-weight: 400; }
.config-quote-note { margin-bottom: 20px; padding: 16px; border: 1px solid var(--rust); color: var(--paper-light); font-size: .75rem; }
.config-continue { width: 100%; min-height: 56px; justify-content: space-between; padding-inline: 16px; color: var(--paper-light); }
.config-continue:hover, .config-continue:focus-visible { background: var(--paper-light); color: var(--ink); }
.config-disclaimer { margin-top: 20px; color: color-mix(in oklab, var(--paper-light) 58%, transparent); font-size: .7rem; line-height: 1.55; }
.custom-form-section { display: grid; grid-template-columns: .62fr 1.38fr; gap: clamp(55px, 9vw, 140px); align-items: start; }
.form-intro { position: sticky; top: 110px; }
.form-intro h2 { max-width: 12ch; margin: 28px 0; font-size: clamp(2.8rem, 5vw, 5.6rem); }
.form-intro > p:not(.eyebrow) { color: var(--muted); }
.form-contact { margin-top: 36px; }
.form-contact a { color: var(--ink); font-family: var(--font-display); font-size: 1.6rem; }
.custom-form { display: grid; gap: 56px; }
.custom-form fieldset { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin: 0; padding: 0; border: 0; }
.custom-form legend { grid-column: 1 / -1; width: 100%; margin-bottom: 12px; padding-bottom: 18px; border-bottom: 1px solid var(--line); font-family: var(--font-display); font-size: 2rem; }
.custom-form legend span { margin-right: 24px; font-family: var(--font-mono); font-size: .65rem; }
.field { display: grid; align-content: start; gap: 9px; }
.field.full { grid-column: 1 / -1; }
.field label { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
.field input, .field select, .field textarea { width: 100%; min-height: 54px; padding: 13px 0; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; background: transparent; }
.field textarea { resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: color-mix(in oklab, var(--ink) 44%, transparent); }
.field input:focus, .field select:focus, .field textarea:focus { border-bottom-color: var(--rust); outline: 0; }
.consent { display: grid; grid-template-columns: 24px 1fr; gap: 14px; align-items: start; font-size: .82rem; }
.consent input { width: 20px; height: 20px; accent-color: var(--rust); }
.consent a { border-bottom: 1px solid currentColor; }
.submit-button { min-height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; border: 1px solid var(--ink); background: var(--ink); color: var(--paper-light); font-family: var(--font-mono); font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; }
.submit-button:hover { background: var(--rust); }
.form-note { margin-top: -42px; color: var(--muted); font-size: .78rem; }
.form-status { min-height: 1.5em; color: var(--rust-deep); }

.heritage-full { width: calc(100% - 14px); margin: 0 7px; }
.heritage-full img { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; filter: saturate(.78) contrast(1.05); }
.heritage-full figcaption { width: var(--page); margin: 14px auto 0; font-family: var(--font-mono); font-size: .65rem; letter-spacing: .14em; text-transform: uppercase; }
.heritage-full.narrow { width: var(--page); margin-inline: auto; }
.heritage-full.narrow img { aspect-ratio: 3 / 2; }
.heritage-chapter { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px, 9vw, 150px); }
.heritage-chapter h2 { max-width: 12ch; margin-top: 28px; font-size: clamp(3rem, 5.4vw, 6rem); }
.heritage-chapter > div:last-child { padding-top: 38px; }
.heritage-chapter .lede { margin-bottom: 32px; }
.heritage-chapter.reverse > div:first-child { grid-column: 2; }
.heritage-chapter.reverse > div:last-child { grid-column: 1; grid-row: 1; }
.heritage-split { display: grid; grid-template-columns: 1.25fr .75fr; min-height: 680px; background: var(--forest); color: var(--paper-light); }
.heritage-split figure { margin: 0; overflow: hidden; }
.heritage-split img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); }
.heritage-split blockquote { align-self: center; margin: 0; padding: clamp(45px, 7vw, 110px); }
.heritage-split blockquote p { font-family: var(--font-display); font-size: clamp(2.3rem, 4vw, 4.6rem); line-height: 1; letter-spacing: -.03em; }

.journal-grid { width: var(--page); margin: 0 auto; padding-bottom: var(--section); display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(30px, 5vw, 72px); }
.journal-card a { display: block; }
.journal-card figure { margin: 0 0 26px; overflow: hidden; }
.journal-card figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: saturate(.76); transition: transform 700ms var(--ease); }
.journal-card.featured figure img { aspect-ratio: 3 / 2; }
.journal-card a:hover figure img { transform: scale(1.025); }
.journal-card h2 { max-width: 14ch; margin: 18px 0; font-size: clamp(2.2rem, 4vw, 5rem); }
.journal-card:not(.featured) h2 { font-size: clamp(2rem, 3vw, 3.4rem); }
.journal-card > a > div > p:not(.eyebrow) { color: var(--muted); }
.journal-card span { display: inline-flex; align-items: center; gap: 12px; margin-top: 24px; font-family: var(--font-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
.journal-card span svg { width: 18px; }
.journal-cta { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.journal-cta h2 { max-width: 14ch; margin-top: 26px; font-size: clamp(3rem, 5vw, 5.8rem); }

.article-header { width: min(100% - 40px, 1120px); margin: 0 auto; padding: calc(var(--header) + clamp(90px, 10vw, 160px)) 0 clamp(70px, 8vw, 110px); }
.article-header h1 { max-width: 12ch; margin: 32px 0 50px; font-size: clamp(4rem, 8vw, 9.5rem); }
.article-byline { display: flex; flex-wrap: wrap; gap: 9px 22px; margin-top: 34px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--font-mono); font-size: .58rem; letter-spacing: .09em; text-transform: uppercase; }
.article-byline span + span { position: relative; padding-left: 22px; }
.article-byline span + span::before { position: absolute; left: 0; content: "·"; }
.article-header .lede { max-width: 33ch; }
.article-hero { width: calc(100% - 14px); margin: 0 7px; }
.article-hero img { width: 100%; max-height: 860px; object-fit: cover; filter: saturate(.8); }
.article-layout { width: min(100% - 40px, 1180px); margin: 0 auto; padding: var(--section) 0; display: grid; grid-template-columns: 250px 1fr; gap: clamp(60px, 10vw, 150px); }
.article-layout > aside { position: sticky; top: 110px; align-self: start; }
.article-layout aside nav { display: grid; margin-top: 24px; border-top: 1px solid var(--line); }
.article-layout aside a { display: grid; grid-template-columns: 32px 1fr; gap: 10px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: .78rem; line-height: 1.3; }
.article-layout aside a span { font-family: var(--font-mono); font-size: .58rem; }
.article-body { max-width: 730px; }
.article-body section { scroll-margin-top: 110px; padding-bottom: 72px; }
.article-body h2 { margin-bottom: 28px; font-size: clamp(2.5rem, 4vw, 4.6rem); }
.article-body p { font-size: 1.1rem; }
.article-body section p + p { margin-top: 1.2em; }
.article-body section a { color: color-mix(in oklab, var(--rust) 84%, var(--ink)); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.article-body section a:hover { text-decoration-thickness: 2px; }
.article-conclusion { padding: 38px; border: 1px solid var(--line); background: var(--paper-2); }
.article-conclusion p { margin-bottom: 22px; font-family: var(--font-display); font-size: 1.65rem; line-height: 1.3; }

.contact-page { min-height: 100svh; padding: calc(var(--header) + 100px) max(20px, calc((100vw - 1440px) / 2)) var(--section); display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(50px, 8vw, 120px); background: var(--paper-2); }
.contact-main h1 { max-width: 9ch; margin: 32px 0 44px; font-size: clamp(4rem, 8vw, 9rem); }
.contact-main > p:not(.eyebrow) { max-width: 42ch; margin-bottom: 34px; font-family: var(--font-display); font-size: 1.5rem; }
.contact-details { align-self: end; border-top: 1px solid var(--line); }
.contact-details > div { padding: 26px 0; border-bottom: 1px solid var(--line); }
.contact-details a, .contact-details address { display: block; margin-top: 12px; font-family: var(--font-display); font-size: clamp(1.25rem, 2vw, 2rem); }
.contact-details p:last-child { margin-top: 10px; color: var(--muted); font-size: .78rem; }
.contact-page figure { grid-column: 1 / -1; margin: 60px 0 0; }
.contact-page figure img { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; }

.legal-page { width: min(100% - 40px, 1080px); margin: 0 auto; padding: calc(var(--header) + 100px) 0 var(--section); }
.legal-page header { padding-bottom: 70px; border-bottom: 1px solid var(--line); }
.legal-page h1 { max-width: 10ch; margin: 30px 0; font-size: clamp(4rem, 8vw, 8rem); }
.legal-page header > p:last-child { color: var(--muted); font-size: .8rem; }
.legal-page > div { max-width: 760px; margin-left: auto; }
.legal-page section { padding: 55px 0; border-bottom: 1px solid var(--line); }
.legal-page h2 { margin-bottom: 24px; font-size: clamp(2rem, 3.4vw, 3.6rem); }
.not-found { min-height: 100svh; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: calc(var(--header) + 50px) max(20px, calc((100vw - 1440px) / 2)); background: var(--forest); color: var(--paper-light); }
.not-found h1 { max-width: 9ch; margin: 32px 0; }
.not-found > p:not(.eyebrow) { margin-bottom: 34px; font-family: var(--font-display); font-size: 1.5rem; }

.site-footer { position: relative; overflow: clip; isolation: isolate; padding: var(--section) max(20px, calc((100vw - 1440px) / 2)) 28px; background: var(--ink); color: var(--paper-light); }
.site-footer::before { position: absolute; z-index: 2; top: 0; right: 7%; width: clamp(80px, 10vw, 150px); height: 18px; background: var(--rust); content: ""; transform: skewX(-35deg); }
.site-footer::after { position: absolute; z-index: 0; top: clamp(90px, 11vw, 160px); left: 50%; width: clamp(820px, 118vw, 1900px); aspect-ratio: 2.15; background: var(--paper-light); content: ""; opacity: .03; pointer-events: none; transform: translateX(-50%) rotate(-2.5deg); -webkit-mask: url("/assets/images/logo.png") center / contain no-repeat; mask: url("/assets/images/logo.png") center / contain no-repeat; }
.site-footer > * { position: relative; z-index: 1; }
.footer-lead { padding-bottom: clamp(60px, 8vw, 110px); }
.footer-title { max-width: 11ch; display: flex; align-items: end; gap: 28px; margin-top: 26px; font-family: var(--font-display); font-size: clamp(3.5rem, 8vw, 9rem); line-height: .86; letter-spacing: -.045em; }
.footer-title svg { flex: 0 0 auto; color: var(--tide); font-size: .5em; transition: transform 300ms var(--ease); }
.footer-title:hover svg { transform: translateX(10px); }
.footer-grid { display: grid; grid-template-columns: 1.2fr .9fr .7fr .55fr; gap: clamp(30px, 5vw, 80px); padding: 54px 0; border-block: 1px solid var(--line-light); }
.footer-grid > div { display: grid; align-content: start; gap: 12px; }
.footer-logo { width: 160px; height: auto; margin: 0; }
.footer-grid p, .footer-grid address, .footer-grid a { max-width: 30ch; font-size: .85rem; }
.footer-label { margin-bottom: 8px; color: var(--tide); font-family: var(--font-mono); font-size: .62rem !important; letter-spacing: .14em; text-transform: uppercase; }
.footer-bottom { display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; padding-top: 24px; color: color-mix(in oklab, var(--paper-light) 63%, transparent); font-family: var(--font-mono); font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; }
.footer-bottom nav { display: flex; gap: 18px; }
.footer-bottom button { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-transform: inherit; }
.footer-bottom p:last-child { justify-self: end; text-align: right; }

.cookie-banner { position: fixed; z-index: 300; right: 20px; bottom: 20px; width: min(calc(100% - 40px), 520px); padding: 22px; border: 1px solid var(--line-light); background: var(--ink); color: var(--paper-light); box-shadow: 0 24px 50px rgba(0, 0, 0, .28); }
.cookie-banner p { font-size: .83rem; }
.cookie-banner div { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.cookie-banner button { min-height: 42px; padding: 0 13px; border: 1px solid var(--line-light); background: transparent; color: inherit; font-family: var(--font-mono); font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; }
.cookie-banner button:last-child { background: var(--tide); color: var(--ink); }

.brand-watermark {
  position: relative;
  overflow: clip;
  isolation: isolate;
}
.brand-watermark::after {
  position: absolute;
  z-index: 0;
  right: clamp(-100px, -5vw, -30px);
  bottom: clamp(-30px, -2vw, -10px);
  width: clamp(300px, 38vw, 680px);
  aspect-ratio: 2.15;
  background: currentColor;
  content: "";
  opacity: .035;
  pointer-events: none;
  -webkit-mask: url("/assets/images/logo.png") center / contain no-repeat;
  mask: url("/assets/images/logo.png") center / contain no-repeat;
}
.brand-watermark > * { position: relative; z-index: 1; }
.product-story.brand-watermark {
  overflow: clip;
}
.product-story.brand-watermark::after {
  right: auto;
  left: 50%;
  bottom: auto;
  top: 10%;
  width: clamp(1100px, 138vw, 2600px);
  max-width: none;
  transform: translateX(-50%) rotate(-4deg);
  opacity: .026;
}
.article-header.brand-watermark::after { right: -2vw; bottom: 8%; opacity: .045; }
.journal-hero.brand-watermark::after { bottom: 8%; }

.article-sources {
  margin: 0 0 72px;
  padding: clamp(30px, 5vw, 54px);
  border: 1px solid var(--line);
  background: var(--paper-2);
}
.article-sources h2 { max-width: 12ch; margin: 20px 0 30px; font-size: clamp(2rem, 3.4vw, 3.5rem); }
.article-sources ol { list-style: none; counter-reset: sources; }
.article-sources li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; padding: 16px 0; border-top: 1px solid var(--line); counter-increment: sources; }
.article-sources a { font-family: var(--font-display); font-size: 1.08rem; text-decoration: none !important; }
.article-sources a::before { content: "0" counter(sources) " · "; font-family: var(--font-mono); font-size: .58rem; }
.article-sources span { align-self: center; color: var(--muted); font-family: var(--font-mono); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }

.footer-brand-lockup { width: 160px; display: grid; justify-items: center; gap: 7px; margin-bottom: 18px; }
.footer-brand-lockup > span { width: 100%; color: color-mix(in oklab, var(--paper-light) 40%, transparent); font-family: var(--font-display); font-size: .9rem; line-height: 1; text-align: center; }
.footer-brand-lockup a { width: 100%; min-height: 34px; display: grid; place-items: center; }
.footer-shapers-logo { width: 88px; height: auto; }
.footer-certifications { display: flex; align-items: center; gap: 14px; margin-top: 12px; }
.footer-certifications img { width: 58px; height: 58px; object-fit: contain; filter: invert(1) grayscale(1) brightness(2); opacity: .92; }

@media (max-width: 1100px) {
  :root { --header: 74px; }
  .desktop-nav, .header-cta { display: none; }
  .site-header { grid-template-columns: 1fr auto; }
  .menu-toggle { display: flex; }
  .hero-grid { grid-template-columns: 1fr .35fr; }
  .hero-bottom { grid-template-columns: 1fr; }
  .hero-bottom > div { flex-wrap: wrap; }
  .board-row-link { grid-template-columns: 45px minmax(150px, .7fr) minmax(230px, 1fr) minmax(120px, .55fr) 34px; }
  .heritage-teaser { grid-template-columns: 1fr 1fr; }
  .heritage-title, .heritage-media { grid-column: 1; }
  .heritage-title { grid-column: 1 / -1; }
  .heritage-copy { grid-column: 2; grid-row: 2; }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-grid > div:last-child { display: none; }
}

@media (max-width: 800px) {
  :root { --page: min(100% - 34px, 1440px); --section: 84px; }
  body::before { border-width: 5px; }
  .site-header { inset: 5px 5px auto; width: auto; max-width: calc(100% - 10px); min-width: 0; padding: 0 16px; }
  .site-header > *, .header-actions { min-width: 0; }
  .brand { width: 105px; max-width: 100%; }
  .header-actions { justify-self: end; gap: 8px; }
  .language-link { border: 0; }
  .home-hero, .hero-grid { min-height: 810px; }
  .hero-media :is(img, video) { object-position: 57% 50%; }
  .hero-grid { grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; padding-top: calc(var(--header) + 78px); }
  .hero-grid h1 { max-width: 10ch; font-size: clamp(3.15rem, 13vw, 5rem); }
  .hero-bottom { grid-column: 1; }
  .hero-signature { display: none; }
  .hero-bottom > div { align-items: flex-start; flex-direction: column; gap: 10px; }
  .intent-strip { justify-content: flex-start; }
  .intent-strip p:nth-of-type(n+4), .intent-strip span:nth-of-type(n+4) { display: none; }
  .decision-section, .product-story, .faq-section, .custom-form-section, .heritage-chapter, .compare-guide, .product-sizing { grid-template-columns: 1fr; }
  .section-rail { display: grid; grid-template-columns: 1fr 1fr; }
  .rail-note { justify-self: end; }
  .decision-steps { grid-template-columns: 1fr; }
  .decision-steps article, .decision-steps article + article { padding: 24px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .decision-steps article:last-child { border-bottom: 0; }
  .decision-steps h3 { margin-top: 18px; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .board-row { min-height: clamp(270px, 72vw, 340px); }
  .board-row::after { background: linear-gradient(0deg, rgba(8, 11, 9, .94) 0%, rgba(8, 11, 9, .58) 64%, rgba(8, 11, 9, .28) 100%); }
  .board-row-link { min-height: inherit; grid-template-columns: 34px 1fr 28px; align-content: end; gap: 12px; padding: 26px 20px; }
  .board-row-name { grid-column: 2; }
  .board-row-name h3 { font-size: clamp(3.2rem, 14vw, 5.4rem); }
  .board-row-message { grid-column: 2; gap: 8px; }
  .board-row-cutout-frame { width: min(100%, 270px); height: 58px; }
  .board-row-cutout-frame img { height: 235px; }
  .board-row-copy { font-size: 1rem; }
  .board-row-meta { display: none; }
  .board-row-arrow { grid-column: 3; grid-row: 1 / 3; }
  .interlude { min-height: 680px; }
  .interlude blockquote { text-align: left; }
  .heritage-teaser { grid-template-columns: 1fr; }
  .heritage-title, .heritage-media, .heritage-copy { grid-column: 1; grid-row: auto; }
  .heritage-media img { aspect-ratio: 4 / 5; }
  .proof-section { grid-template-columns: 1fr; }
  .proof-badges { grid-column: 1; }
  .faq-section header { margin-bottom: 24px; }
  .page-hero { min-height: 620px; grid-template-columns: 1fr; gap: 40px; }
  .page-hero h1 { font-size: clamp(3.8rem, 17vw, 7rem); }
  .filter-bar { top: 68px; grid-template-columns: 1fr; gap: 6px; padding-block: 10px; }
  .filter-bar > p { display: none; }
  .compare-table [role="row"] { grid-template-columns: .8fr 1.2fr; }
  .compare-table [role="cell"]:last-child { grid-column: 2; }
  .product-hero { min-height: 0; grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 34px; }
  .product-copy { padding-top: 30px; }
  .product-copy h1 { font-size: clamp(5rem, 22vw, 9rem); }
  .product-visual { grid-column: 1; grid-row: 2; min-height: 540px; }
  .product-specs { grid-row: 3; }
  .product-story .section-rail-board { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 34px; }
  .product-story-board { grid-column: 1 / -1; grid-row: 2; }
  .product-story-board img { width: min(62vw, 270px); max-height: 860px; }
  .product-gallery { grid-template-columns: 1fr; grid-auto-rows: 520px; }
  .product-gallery figure:first-child { grid-row: auto; }
  .custom-process ol { grid-template-columns: 1fr; }
  .custom-process li { min-height: 0; padding: 30px 0; }
  .custom-process li + li { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .form-intro { position: static; }
  .heritage-full img, .heritage-full.narrow img { aspect-ratio: 4 / 5; }
  .heritage-chapter.reverse > div:first-child, .heritage-chapter.reverse > div:last-child { grid-column: 1; grid-row: auto; }
  .heritage-chapter > div:last-child { padding-top: 0; }
  .heritage-split { grid-template-columns: 1fr; }
  .heritage-split figure { min-height: 520px; }
  .journal-grid { grid-template-columns: 1fr; }
  .journal-card figure img, .journal-card.featured figure img { aspect-ratio: 3 / 2; }
  .journal-cta { align-items: flex-start; flex-direction: column; }
  .article-layout { grid-template-columns: 1fr; }
  .article-layout > aside { position: static; }
  .contact-page { grid-template-columns: 1fr; }
  .contact-page figure { margin-top: 20px; }
  .contact-page figure img { aspect-ratio: 4 / 5; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:nth-child(3) { display: none; }
  .footer-bottom { grid-template-columns: 1fr; }
  .footer-bottom nav { flex-wrap: wrap; }
  .footer-bottom p:last-child { justify-self: start; text-align: left; }
}

@media (max-width: 540px) {
  h1 { font-size: 3.8rem; }
  .page-hero { padding-inline: 18px; }
  .hero-grid { width: calc(100% - 34px); }
  .hero-bottom { gap: 22px; }
  .section-rail { grid-template-columns: 1fr; }
  .rail-note { justify-self: start; }
  .product-story .section-rail-board { grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .product-story .rail-note { grid-row: 3; }
  .product-story-board { grid-column: 1; }
  .product-story-board img { width: min(68vw, 245px); }
  .product-specs { grid-template-columns: 1fr; }
  .product-specs div, .product-specs div + div { padding: 14px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .product-specs div:last-child { border-bottom: 0; }
  .product-gallery { grid-auto-rows: 420px; }
  .custom-form fieldset { grid-template-columns: 1fr; }
  .field.full { grid-column: 1; }
  .journal-card figure img, .journal-card.featured figure img { aspect-ratio: 4 / 5; }
  .article-header { width: calc(100% - 34px); }
  .article-header h1 { font-size: 3.7rem; }
  .article-hero { width: calc(100% - 10px); margin-inline: 5px; }
  .article-hero img { aspect-ratio: 4 / 5; }
  .article-layout { width: calc(100% - 34px); }
  .article-conclusion { padding: 26px; }
  .article-sources { padding: 24px; }
  .article-sources li { grid-template-columns: 1fr; gap: 5px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:nth-child(2) { padding-top: 28px; border-top: 1px solid var(--line-light); }
  .cookie-banner { right: 12px; bottom: 12px; width: calc(100% - 24px); }
}

@media (hover: hover) and (pointer: fine) {
  .product-gallery figure { cursor: zoom-in; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .motion-ready .reveal { opacity: 1; transform: none; }
  .page-transition { display: none !important; }
  .page-motion .site-header,
  .page-motion .site-header > .brand,
  .page-motion .site-header .desktop-nav > *,
  .page-motion .site-header .header-actions > *,
  .page-motion main * { animation: none !important; }
}

@media print {
  body::before, .page-transition, .site-header, .mobile-menu, .cookie-banner, .site-footer, .filter-bar { display: none !important; }
  body { background: #fff; color: #111; }
  main { padding-top: 0; }
  a { text-decoration: underline; }
  .reveal { opacity: 1; transform: none; }
  .page-transition { display: none !important; }
  .page-motion .site-header,
  .page-motion .site-header > .brand,
  .page-motion .site-header .desktop-nav > *,
  .page-motion .site-header .header-actions > *,
  .page-motion main * { animation: none !important; }
}

.photo-selection { width: 100%; padding-inline: 7px; }
.photo-selection .section-heading { width: var(--page); margin-inline: auto; }
.photo-board-stack { display: grid; gap: 8px; }
.photo-board-card { position: relative; min-width: 0; overflow: hidden; background: var(--ink); }
.photo-board-card > a { position: relative; min-height: min(78svh, 880px); display: grid; align-items: end; overflow: hidden; color: var(--paper-light); isolation: isolate; }
.photo-board-card figure,
.photo-board-card figure::after { position: absolute; inset: 0; margin: 0; }
.photo-board-card figure::after { content: ""; display: block; background: linear-gradient(180deg, rgba(8, 12, 10, .08) 15%, rgba(8, 12, 10, .22) 50%, rgba(8, 12, 10, .88) 100%); }
.photo-board-card img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.04); transition: transform 900ms var(--ease), filter 900ms var(--ease); }
.photo-board-overlay { position: relative; z-index: 2; width: min(760px, calc(100% - 64px)); padding: clamp(40px, 7vw, 110px); }
.photo-board-overlay h3 { margin: 18px 0 20px; font-size: clamp(5.5rem, 12vw, 13rem); line-height: .78; letter-spacing: -.055em; }
.photo-board-overlay > p:not(.eyebrow) { max-width: 37ch; font-family: var(--font-display); font-size: clamp(1.4rem, 2vw, 2.2rem); line-height: 1.2; }
.photo-board-overlay > span { min-height: 54px; display: inline-flex; align-items: center; gap: 24px; margin-top: 34px; border-bottom: 1px solid currentColor; font-family: var(--font-mono); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.photo-board-overlay svg { width: 32px; }
.photo-board-meta { position: absolute; z-index: 2; right: clamp(28px, 5vw, 72px); top: clamp(28px, 5vw, 72px); display: grid; gap: 9px; justify-items: end; font-family: var(--font-mono); font-size: .64rem; letter-spacing: .11em; text-transform: uppercase; }
.photo-board-card a:hover img { transform: scale(1.025); filter: saturate(.92) contrast(1.06); }
.photo-board-card a:focus-visible { outline: 3px solid var(--tide); outline-offset: -7px; }

.photo-story-panel { position: relative; min-height: min(84svh, 900px); margin: 7px; display: grid; align-items: end; overflow: hidden; color: var(--paper-light); isolation: isolate; background: var(--ink); }
.photo-story-panel figure { position: absolute; inset: 0; z-index: -2; margin: 0; }
.photo-story-panel figure::after { content: ""; position: absolute; inset: 0; display: block; background: linear-gradient(90deg, rgba(6, 10, 8, .86) 0%, rgba(6, 10, 8, .38) 52%, rgba(6, 10, 8, .08) 100%); }
.photo-story-panel img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.74) contrast(1.06); }
.product-photo-statement img { object-position: var(--story-position, 50% 50%); }
.photo-story-copy { width: var(--page); margin-inline: auto; padding-block: clamp(70px, 10vw, 150px); }
.photo-story-copy h2 { max-width: 11ch; margin: 24px 0 28px; font-size: clamp(4rem, 8vw, 9rem); line-height: .84; }
.photo-story-copy > p:not(.eyebrow) { max-width: 34ch; font-family: var(--font-display); font-size: clamp(1.25rem, 1.8vw, 1.8rem); line-height: 1.3; }
.photo-story-copy .text-link { margin-top: 30px; }

.board-index-photo { position: relative; min-height: min(92svh, 920px); overflow: hidden; color: var(--paper-light); isolation: isolate; border-bottom: 0; background: var(--ink); }
.board-index-photo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(5, 9, 7, .32), rgba(5, 9, 7, .82)); }
.board-index-photo > figure { position: absolute; inset: 0; z-index: -2; margin: 0; }
.board-index-photo > figure img { width: 100%; height: 100%; object-fit: cover; object-position: 56% 50%; filter: saturate(.72) contrast(1.08); }
.board-index-photo > div,
.board-index-photo > p { position: relative; z-index: 1; }
.board-index-photo > p { max-width: 37ch; }

.product-page { width: 100%; max-width: 100%; min-width: 0; overflow: clip; padding-top: 0; }
.product-hero.product-hero-photo { position: relative; width: 100%; max-width: 100%; min-width: 0; min-height: 100svh; padding: calc(var(--header) + 80px) max(28px, calc((100vw - 1440px) / 2)) 46px; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 1fr auto; gap: 34px; overflow: hidden; color: var(--paper-light); isolation: isolate; background: var(--ink); }
.product-hero-photo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(6, 10, 8, .86) 0%, rgba(6, 10, 8, .47) 50%, rgba(6, 10, 8, .12) 100%), linear-gradient(180deg, transparent 54%, rgba(6, 10, 8, .72) 100%); }
.product-hero-media { position: absolute; inset: 0; z-index: -2; margin: 0; overflow: hidden; }
.product-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.76) contrast(1.08); }
.product-hero-b52 .product-hero-media img { object-position: 57% 50%; }
.product-hero-b54 .product-hero-media img { object-position: 60% 50%; }
.product-hero-thrive .product-hero-media img { object-position: 44% 50%; }
.product-hero-photo .product-copy { z-index: 1; width: 100%; max-width: min(860px, 72vw); min-width: 0; align-self: end; padding-bottom: clamp(24px, 5vh, 70px); }
.product-hero-photo .product-copy h1 { margin: 24px 0 28px; font-size: clamp(7rem, 15vw, 15rem); line-height: .74; color: inherit; }
.product-hero-photo .product-lede { max-width: 31ch; margin-bottom: 36px; font-size: clamp(1.45rem, 2.4vw, 2.8rem); }
.product-hero-photo .product-specs { position: relative; z-index: 1; width: 100%; min-width: 0; grid-row: 2; grid-template-columns: repeat(3, minmax(0, 1fr)); border-color: rgba(247, 244, 234, .34); }
.product-hero-photo .product-specs > div { min-width: 0; }
.product-hero-photo .product-specs div + div { border-color: rgba(247, 244, 234, .34); }
.product-hero-photo .product-specs strong { overflow-wrap: anywhere; color: inherit; }
.product-photo-statement { min-height: min(80svh, 840px); }
.product-photo-statement .photo-story-copy h2 { max-width: 9ch; }

.size-chart-section {
  width: 100%;
  grid-template-columns: .8fr 1.2fr;
  align-items: start;
  gap: clamp(60px, 8vw, 130px);
  padding-inline: max(0px, calc((100% - var(--page)) / 2));
  background: color-mix(in oklab, var(--paper-light) 72%, var(--paper));
}
.size-chart-section > * { min-width: 0; }
.size-chart-intro { position: sticky; top: 112px; }
.size-chart-intro h2 { max-width: 11ch; margin: 24px 0 30px; font-size: clamp(3rem, 5.2vw, 6.2rem); line-height: .9; }
.size-chart-intro > p:last-child { max-width: 46ch; color: var(--muted); }
.size-chart-block { width: 100%; min-width: 0; max-width: 100%; display: grid; gap: 28px; }
.size-table-scroll { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; contain: inline-size paint; border-top: 1px solid var(--ink); scrollbar-width: thin; scrollbar-color: var(--rust) var(--paper-2); }
.size-table-scroll:focus-visible { outline: 3px solid var(--rust); outline-offset: 4px; }
.size-table { width: 100%; min-width: 640px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.size-table caption { padding: 18px 0 14px; color: var(--muted); font-family: var(--font-mono); font-size: .62rem; letter-spacing: .12em; text-align: left; text-transform: uppercase; }
.size-table thead th { padding: 15px 18px 15px 0; border-block: 1px solid var(--line); color: var(--muted); font-family: var(--font-mono); font-size: .62rem; font-weight: 400; letter-spacing: .12em; text-align: left; text-transform: uppercase; }
.size-table tbody th,
.size-table tbody td { padding: 20px 18px 20px 0; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; }
.size-table tbody th { font-family: var(--font-display); font-size: clamp(1.65rem, 2.2vw, 2.35rem); font-weight: 400; line-height: 1; }
.size-table tbody td { font-family: var(--font-mono); font-size: .74rem; letter-spacing: .05em; }
.size-table tbody tr { transition: background-color 180ms ease, color 180ms ease; }
.size-table tbody tr:hover { background: var(--ink); color: var(--paper-light); }
.size-table tbody tr:hover > * { padding-left: 12px; }
.size-custom { color: var(--rust-deep); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.size-chart-note { max-width: 62ch; color: var(--muted); font-size: .84rem; }
.size-chart-block .button-link { justify-self: start; }

@media (max-width: 800px) {
  .photo-selection { padding-inline: 5px; }
  .photo-board-card > a { min-height: 680px; }
  .photo-board-overlay { width: 100%; padding: 34px 24px 42px; }
  .photo-board-overlay h3 { font-size: clamp(5.2rem, 25vw, 8rem); }
  .photo-board-overlay > p:not(.eyebrow) { max-width: 26ch; font-size: 1.35rem; }
  .photo-board-meta { right: 24px; top: 26px; align-items: end; }
  .photo-board-meta span:last-child { display: none; }
  .photo-story-panel { min-height: 720px; margin: 5px; }
  .photo-story-panel figure::after { background: linear-gradient(180deg, rgba(6, 10, 8, .12) 20%, rgba(6, 10, 8, .88) 100%); }
  .photo-story-copy { padding: 54px 22px; }
  .photo-story-copy h2 { font-size: clamp(4rem, 17vw, 7rem); }
  .board-index-photo { min-height: 760px; }
  .board-index-photo > p { align-self: end; }
  .product-hero.product-hero-photo { min-height: 850px; padding: calc(var(--header) + 70px) 22px 26px; grid-template-rows: 1fr auto; }
  .product-hero-photo::after { background: linear-gradient(180deg, rgba(6, 10, 8, .15) 22%, rgba(6, 10, 8, .92) 78%); }
  .product-hero-photo .product-copy { max-width: 100%; padding: 0; align-self: end; }
  .product-hero-photo .product-copy h1 { font-size: clamp(5.8rem, 29vw, 9rem); }
  .product-hero-photo .product-lede { max-width: 25ch; font-size: 1.35rem; }
  .product-hero-photo .product-specs { grid-template-columns: minmax(0, 1.3fr) minmax(0, .75fr) minmax(0, .95fr); }
  .product-hero-photo .product-specs div { padding: 14px 8px 14px 0; }
  .product-hero-photo .product-specs div + div { padding-left: 10px; }
  .product-hero-photo .product-specs strong { font-size: .86rem; }
  .product-hero-photo .product-specs span { font-size: .52rem; }
  .size-chart-section { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .size-chart-intro { position: static; }
  .size-chart-intro h2 { font-size: clamp(3.4rem, 15vw, 5.4rem); }
  .size-table-scroll { margin-right: 0; padding-right: 0; }
}

@media (max-width: 540px) {
  .photo-board-card > a { min-height: 620px; }
  .photo-board-overlay > span { font-size: .57rem; }
  .photo-story-panel { min-height: 650px; }
  .board-index-photo { min-height: 700px; }
  .product-hero.product-hero-photo { min-height: 800px; }
  .product-hero-photo .button-link { min-height: 50px; padding-inline: 16px; font-size: .58rem; }
  .product-hero-photo .product-specs { grid-template-columns: 1fr; }
  .product-hero-photo .product-specs div,
  .product-hero-photo .product-specs div + div { padding: 12px 0; border-left: 0; border-bottom: 1px solid rgba(247, 244, 234, .34); }
  .product-hero-photo .product-specs div:last-child { border-bottom: 0; }
  .product-hero-photo .product-specs strong { font-size: .74rem; }
  .site-footer::after { top: 126px; width: clamp(680px, 190vw, 900px); opacity: .065; }
}

@media (prefers-reduced-motion: reduce) {
  .photo-board-card img,
  .size-table tbody tr { transition: none; }
  .photo-board-card a:hover img { transform: none; }
}
@media (max-width: 900px) {
  .configurator-heading,
  .configurator-shell { grid-template-columns: 1fr; }
  .configurator-heading { align-items: start; }
  .configurator-heading > p { max-width: 62ch; }
  .config-price-card { position: static; margin-top: 0; }
  .config-model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .config-option-grid { grid-template-columns: 1fr; }
  .config-extra-grid { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  .configurator-section { padding-inline: 17px; }
  .configurator-heading h2 { font-size: clamp(3rem, 15vw, 4.8rem); }
  .config-model-grid { grid-template-columns: 1fr; }
  .config-model-card { min-height: 104px; }
  .config-length-control { grid-template-columns: 46px minmax(0, 1fr) 46px; gap: 10px; }
  .config-length-control button { width: 46px; height: 46px; }
  .config-length-control > div { grid-template-columns: 1fr; gap: 18px; }
  .config-length-control output { font-size: clamp(3.8rem, 22vw, 6.2rem); }
  .config-length-control input[type="range"] { grid-column: 1; }
  .config-total { font-size: clamp(3.8rem, 20vw, 5.8rem); }
}
.shop-stock-section { padding: clamp(76px, 9vw, 150px) max(20px, calc((100vw - 1440px) / 2)); overflow: hidden; color: var(--paper-light); background: var(--ink); }
.shop-stock-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .55fr); gap: clamp(44px, 9vw, 150px); align-items: end; padding-bottom: clamp(46px, 6vw, 84px); border-bottom: 1px solid rgba(247, 244, 234, .28); }
.shop-stock-heading h2 { max-width: 10ch; margin-top: 24px; font-size: clamp(4rem, 7vw, 8.5rem); line-height: .82; letter-spacing: -.045em; }
.shop-stock-heading > p { max-width: 42ch; color: rgba(247, 244, 234, .68); }
.shop-stock-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 7px; gap: 7px; }
.shop-stock-card { min-width: 0; display: grid; grid-template-rows: auto 1fr; color: inherit; background: #20221e; transition: background-color 300ms ease, transform 500ms var(--ease); }
.shop-stock-card figure { position: relative; aspect-ratio: 4 / 5; margin: 0; overflow: hidden; background: #e9e7df; }
.shop-stock-card figure::after { content: ""; position: absolute; inset: auto 10% 3% 10%; height: 8%; border-radius: 50%; background: rgba(20, 23, 19, .12); filter: blur(14px); }
.shop-stock-card figure > span { position: absolute; z-index: 2; top: 16px; left: 16px; padding: 8px 10px; color: var(--paper-light); background: var(--rust-deep); font-family: var(--font-mono); font-size: .56rem; letter-spacing: .12em; text-transform: uppercase; }
.shop-stock-card img { position: relative; z-index: 1; width: 100%; height: 100%; padding: clamp(22px, 3vw, 48px); object-fit: contain; transition: transform 700ms var(--ease); }
.shop-stock-card-copy { display: grid; align-content: space-between; gap: 34px; min-height: 250px; padding: clamp(24px, 2.8vw, 38px); }
.shop-stock-card-copy h3 { margin-top: 18px; font-family: var(--font-display); font-size: clamp(1.65rem, 2.1vw, 2.55rem); font-weight: 400; line-height: 1.04; }
.shop-stock-card-copy > div { display: flex; justify-content: space-between; gap: 18px; align-items: end; padding-top: 20px; border-top: 1px solid rgba(247, 244, 234, .18); }
.shop-stock-card-copy strong { font-family: var(--font-display); font-size: clamp(1.5rem, 2vw, 2.1rem); font-weight: 400; }
.shop-stock-card-copy > div span { max-width: 14ch; font-family: var(--font-mono); font-size: .57rem; letter-spacing: .09em; line-height: 1.4; text-align: right; text-transform: uppercase; }
.shop-stock-card:hover { background: #282b25; transform: translateY(-5px); }
.shop-stock-card:hover img { transform: scale(1.035) rotate(.35deg); }
.shop-stock-card:focus-visible { outline: 3px solid var(--tide); outline-offset: -3px; }
.shop-stock-footer { display: flex; justify-content: space-between; gap: 30px; align-items: center; margin-top: 36px; padding-top: 24px; border-top: 1px solid rgba(247, 244, 234, .28); }
.shop-stock-footer > p { color: rgba(247, 244, 234, .6); font-size: .8rem; }
.shop-stock-footer .text-link { color: inherit; }
.shop-stock-unavailable { grid-column: 1 / -1; padding: 70px 0; color: rgba(247, 244, 234, .68); font-family: var(--font-display); font-size: clamp(1.5rem, 2.5vw, 2.6rem); }
.shop-stock-skeleton { min-height: 560px; pointer-events: none; }
.shop-stock-skeleton > div { aspect-ratio: 4 / 5; background: linear-gradient(110deg, #262923 25%, #30332c 38%, #262923 52%); background-size: 250% 100%; animation: stock-loading 1.6s ease-in-out infinite; }
.shop-stock-skeleton > span { width: 72%; height: 18px; margin: 30px 28px 0; background: rgba(247, 244, 234, .08); }
.shop-stock-skeleton > span:last-child { width: 42%; margin-top: 12px; }
@keyframes stock-loading { to { background-position-x: -250%; } }

@media (max-width: 800px) {
  .shop-stock-heading { grid-template-columns: 1fr; gap: 32px; }
  .shop-stock-heading h2 { font-size: clamp(4rem, 14vw, 7rem); }
  .shop-stock-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 540px) {
  .shop-stock-section { padding-inline: 17px; }
  .shop-stock-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(82vw, 1fr); margin-right: -17px; padding-right: 17px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .shop-stock-card { scroll-snap-align: start; }
  .shop-stock-card-copy { min-height: 220px; }
  .shop-stock-footer { align-items: flex-start; flex-direction: column; }
}
/* Product page: larger two-view board study, verified specs and conversion */
.product-story { grid-template-columns: minmax(340px, .82fr) minmax(0, 1.45fr); gap: clamp(40px, 6vw, 96px); }
.product-story .section-rail-board { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(760px, 1fr) auto; gap: 28px; }
.product-board-slider { width: min(100%, 430px); min-width: 0; display: grid; grid-template-rows: auto auto; gap: 20px; justify-self: center; align-self: start; }
.product-board-stage { position: relative; width: 100%; height: clamp(760px, 78svh, 1120px); min-height: 0; }
.product-board-slide { position: absolute; inset: 0; margin: 0; display: grid; place-items: center; opacity: 0; visibility: hidden; transform: translate3d(20px, 0, 0); transition: opacity 320ms var(--ease), transform 380ms var(--ease), visibility 0s linear 380ms; }
.product-board-slide.is-active { opacity: 1; visibility: visible; transform: translate3d(0, 0, 0); transition-delay: 0s; }
.product-board-slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 22px 19px color-mix(in oklab, var(--ink) 16%, transparent)); }
.product-board-slide-photo { overflow: hidden; background: color-mix(in oklab, var(--paper-light) 74%, #e8eaf1); }
.product-board-slide-photo img { object-fit: cover; object-position: 50% 50%; filter: saturate(.82) contrast(1.02); transform: scale(1.035); }
.product-board-switch { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--line); }
.product-board-switch button { min-height: 48px; border: 0; background: transparent; color: var(--muted); font-family: var(--font-mono); font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; cursor: pointer; transition: background-color 180ms var(--ease), color 180ms var(--ease); }
.product-board-switch button + button { border-left: 1px solid var(--line); }
.product-board-switch button[aria-pressed="true"] { background: var(--ink); color: var(--paper-light); }
.product-board-switch button:focus-visible { position: relative; z-index: 1; outline: 3px solid var(--rust); outline-offset: 3px; }
.product-deep-copy { max-width: 62ch; margin-top: 34px; padding-left: 24px; border-left: 2px solid var(--rust); color: var(--muted); font-size: 1.02rem; }
.product-tech-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 42px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.product-tech-grid > div { min-height: 126px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-tech-grid dt { color: var(--muted); font-family: var(--font-mono); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; }
.product-tech-grid dd { margin: 24px 0 0; font-family: var(--font-display); font-size: clamp(1.25rem, 1.7vw, 1.8rem); line-height: 1.12; }
.product-primary-action { display: flex; flex-wrap: wrap; align-items: end; gap: 26px 42px; }
.product-primary-action > div { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.product-starting-price { display: grid; gap: 3px; min-width: 190px; }
.product-starting-price span,
.product-starting-price small { font-family: var(--font-mono); font-size: .57rem; font-weight: 400; letter-spacing: .11em; line-height: 1.4; text-transform: uppercase; }
.product-starting-price span { color: color-mix(in oklab, var(--paper-light) 72%, transparent); }
.product-starting-price strong { font-family: var(--font-display); font-size: clamp(2rem, 3vw, 3.4rem); font-weight: 400; line-height: 1; }
.product-starting-price small { max-width: 24ch; color: color-mix(in oklab, var(--paper-light) 58%, transparent); }
.product-primary-action .text-link { color: inherit; }
.product-gallery figure { position: relative; }
.product-gallery .studio-board-view { background: var(--ink); }
.product-gallery .studio-board-view img { padding: 0; object-fit: cover; object-position: center; filter: saturate(.86) contrast(1.02); }
.product-gallery figcaption { position: absolute; z-index: 2; left: 18px; bottom: 16px; padding: 8px 10px; color: var(--paper-light); background: color-mix(in oklab, var(--ink) 82%, transparent); font-family: var(--font-mono); font-size: .56rem; letter-spacing: .11em; text-transform: uppercase; }
/* Complete studio gallery and accessible full-screen lightbox */
.product-gallery-shell {
  padding-top: clamp(72px, 9vw, 138px);
  color: var(--paper-light);
  background: var(--ink);
}
.product-gallery-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  align-items: end;
  gap: clamp(36px, 8vw, 132px);
  padding: 0 max(20px, calc((100vw - 1440px) / 2)) clamp(54px, 7vw, 96px);
}
.product-gallery-heading h2 {
  max-width: 12ch;
  margin-top: 24px;
  color: inherit;
  font-size: clamp(3rem, 5.6vw, 6.4rem);
  line-height: .9;
}
.product-gallery-heading > p {
  max-width: 47ch;
  color: color-mix(in oklab, var(--paper-light) 68%, transparent);
}
.product-gallery {
  --masonry-gap: clamp(8px, .75vw, 14px);
  --masonry-row: 8px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: dense;
  grid-auto-rows: var(--masonry-row);
  gap: var(--masonry-gap);
  padding: var(--masonry-gap);
  background: var(--ink);
}
.product-gallery figure,
.product-gallery figure:first-child {
  position: relative;
  grid-row: auto;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--paper-2);
}
.product-gallery figure.is-featured,
.product-gallery figure.is-landscape {
  grid-column: span 2;
}
.gallery-open {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  color: var(--paper-light);
  background: transparent;
  cursor: zoom-in;
}
.product-gallery .gallery-open img {
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: cover;
  object-position: center;
  filter: saturate(.86) contrast(1.02);
  transition: transform 380ms var(--ease), filter 380ms var(--ease);
}
.gallery-open::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, transparent 58%, color-mix(in oklab, var(--ink) 34%, transparent));
  opacity: .45;
  transition: opacity 220ms var(--ease);
}
.gallery-open:hover img,
.gallery-open:focus-visible img {
  transform: scale(1.018);
  filter: saturate(.94) contrast(1.02);
}
.gallery-open:hover::after,
.gallery-open:focus-visible::after { opacity: .72; }
.gallery-open:focus-visible {
  z-index: 3;
  outline: 3px solid var(--rust);
  outline-offset: -6px;
}

.product-gallery figcaption {
  pointer-events: none;
}
html.lightbox-open { overflow: hidden; }
.gallery-lightbox {
  width: 100vw;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  color: var(--paper-light);
  background: color-mix(in oklab, var(--ink) 96%, transparent);
}
.gallery-lightbox[open] {
  display: block;
  animation: gallery-fade-in 260ms var(--ease) both;
}
.gallery-lightbox::backdrop {
  background: color-mix(in oklab, var(--ink) 84%, transparent);
  backdrop-filter: blur(12px);
}
.gallery-lightbox-shell {
  position: relative;
  width: 100%;
  height: 100%;
}
.gallery-lightbox header {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px clamp(18px, 3vw, 48px);
  border-bottom: 1px solid color-mix(in oklab, var(--paper-light) 20%, transparent);
}
.gallery-lightbox header button {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in oklab, var(--paper-light) 32%, transparent);
  color: inherit;
  background: transparent;
  cursor: pointer;
  transition: color 180ms var(--ease), background-color 180ms var(--ease);
}
.gallery-lightbox header button:hover,
.gallery-lightbox header button:focus-visible {
  color: var(--ink);
  background: var(--paper-light);
}
.gallery-lightbox header button:focus-visible,
.gallery-lightbox-nav:focus-visible {
  outline: 3px solid var(--rust);
  outline-offset: 3px;
}
.gallery-lightbox header svg { width: 20px; height: 20px; }
.gallery-lightbox-stage {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  padding: 96px clamp(78px, 9vw, 150px) 82px;
  cursor: zoom-out;
}
.gallery-lightbox-stage figure {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  margin: 0;
  pointer-events: none;
}
.gallery-lightbox-stage img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(100dvh - 178px);
  object-fit: contain;
  box-shadow: 0 28px 80px color-mix(in oklab, #000 46%, transparent);
}
.gallery-lightbox-stage figcaption {
  position: absolute;
  left: clamp(18px, 3vw, 48px);
  bottom: 24px;
  color: color-mix(in oklab, var(--paper-light) 78%, transparent);
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.gallery-lightbox-nav {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid color-mix(in oklab, var(--paper-light) 32%, transparent);
  color: inherit;
  background: color-mix(in oklab, var(--ink) 64%, transparent);
  font-family: var(--font-body);
  font-size: 1.4rem;
  cursor: pointer;
  transform: translate3d(0, -50%, 0);
  transition: color 180ms var(--ease), background-color 180ms var(--ease), transform 180ms var(--ease);
}
.gallery-lightbox-nav:hover { color: var(--ink); background: var(--paper-light); }
.gallery-lightbox-nav.is-previous { left: clamp(18px, 3vw, 48px); }
.gallery-lightbox-nav.is-next { right: clamp(18px, 3vw, 48px); }
.gallery-lightbox footer {
  position: absolute;
  z-index: 3;
  right: clamp(18px, 3vw, 48px);
  bottom: 22px;
  display: flex;
  align-items: center;
  gap: 24px;
  color: color-mix(in oklab, var(--paper-light) 68%, transparent);
  font-family: var(--font-mono);
  font-size: .58rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.gallery-lightbox footer span { color: var(--paper-light); }
@keyframes gallery-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (max-width: 1180px) {
  .product-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
  .product-gallery-heading { grid-template-columns: 1fr; }
  .product-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-lightbox-stage { padding: 86px 18px 100px; }
  .gallery-lightbox-stage img { max-height: calc(100dvh - 186px); }
  .gallery-lightbox-nav { top: auto; bottom: 28px; width: 48px; height: 48px; transform: none; }
  .gallery-lightbox-nav.is-previous { left: 18px; }
  .gallery-lightbox-nav.is-next { right: 18px; }
  .gallery-lightbox footer { right: 78px; bottom: 35px; left: 78px; justify-content: center; }
  .gallery-lightbox footer p { display: none; }
  .gallery-lightbox-stage figcaption { bottom: 88px; }
}

@media (max-width: 540px) {
  .product-gallery-heading { padding-inline: 18px; }
  .product-gallery-heading h2 { font-size: clamp(2.8rem, 14vw, 4.6rem); }

  .product-gallery figcaption { left: 10px; bottom: 10px; max-width: calc(100% - 20px); }
}
.config-super-custom { min-height: 74px; margin-top: 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 18px; align-items: center; padding: 16px 18px; border: 1px solid rgba(247, 244, 234, .32); color: inherit; font-family: var(--font-display); font-size: 1.22rem; line-height: 1.1; transition: background-color 220ms var(--ease), color 220ms var(--ease); }
.config-super-custom span { grid-column: 1; color: rgba(247, 244, 234, .58); font-family: var(--font-mono); font-size: .53rem; letter-spacing: .08em; line-height: 1.45; text-transform: uppercase; }
.config-super-custom svg { grid-column: 2; grid-row: 1 / 3; width: 24px; }
.config-super-custom:hover,
.config-super-custom:focus-visible { background: var(--paper-light); color: var(--ink); }
.config-super-custom:hover span,
.config-super-custom:focus-visible span { color: var(--muted); }
.config-super-custom:focus-visible { outline: 3px solid var(--tide); outline-offset: 3px; }
.super-custom-panel { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(48px, 9vw, 150px); align-items: end; padding: clamp(76px, 9vw, 145px) max(20px, calc((100vw - 1440px) / 2)); color: var(--paper-light); background: var(--forest); border-top: 1px solid rgba(247, 244, 234, .2); }
.super-custom-panel h2 { max-width: 11ch; margin-top: 24px; font-size: clamp(3.4rem, 6.4vw, 7.4rem); line-height: .86; }
.super-custom-panel > div:last-child { display: grid; gap: 34px; justify-items: start; }
.super-custom-panel > div:last-child p { max-width: 47ch; color: color-mix(in oklab, var(--paper-light) 74%, transparent); font-family: var(--font-display); font-size: clamp(1.2rem, 1.7vw, 1.65rem); line-height: 1.35; }

@media (max-width: 800px) {
  .product-story { grid-template-columns: 1fr; }
  .product-story .section-rail-board { grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .product-board-slider { width: min(100%, 440px); justify-self: center; }
  .product-board-stage { height: clamp(760px, 78svh, 1120px); min-height: 0; }
  .product-tech-grid { grid-template-columns: 1fr 1fr; }
  .product-primary-action { align-items: start; flex-direction: column; }
  .super-custom-panel { grid-template-columns: 1fr; gap: 42px; }
}

@media (max-width: 540px) {
  .product-board-slider { width: min(94vw, 390px); }
  .product-board-stage { height: clamp(620px, 78svh, 760px); min-height: 0; }
  .product-tech-grid { grid-template-columns: 1fr; }
  .product-tech-grid > div { min-height: 106px; }
  .product-gallery .studio-board-view img { padding: 0; }
  .product-gallery figcaption { left: 12px; bottom: 12px; }
  .super-custom-panel { padding-inline: 18px; }
}

@media (max-width: 800px) {
  .home-family-heading,
  .home-heritage-brief,
  .heritage-portraits-heading { grid-template-columns: 1fr; gap: 34px; }
  .home-family-heading h2 { max-width: 9ch; }
  .home-family-grid {
    width: calc(100vw - 5px);
    margin-left: calc((var(--page) - 100vw) / 2);
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: min(82vw, 390px);
    gap: 1px;
    padding: 0 18px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
    background: var(--line);
  }
  .home-family-card { scroll-snap-align: center; }
  .home-family-card + .home-family-card { border-left: 0; }
  .home-family-card > a { grid-template-rows: min(62svh, 570px) auto; }
  .home-family-copy { min-height: 280px; }
  .home-family-copy h3 { font-size: clamp(3.6rem, 16vw, 5.5rem); }
  .home-model-story { min-height: 760px; }
  .home-model-story::after { background: linear-gradient(0deg, rgba(7, 11, 8, .92) 0%, rgba(7, 11, 8, .52) 58%, rgba(7, 11, 8, .08) 100%); }
  .home-model-story > figure > img { object-position: 62% center; }
  .home-model-story-copy { padding-bottom: 86px; }
  .home-model-story-copy h2 { max-width: 8ch; font-size: clamp(3.8rem, 16vw, 6.2rem); }
  .home-model-story-copy > p:not(.eyebrow) { max-width: 29ch; font-size: 1.22rem; }
  .home-model-story-note { display: none; }
  .home-heritage-brief { gap: 42px; }
  .home-heritage-brief > div:last-child { padding: 0; }
  .heritage-shaper-grid { grid-template-columns: 1fr; }
  .heritage-shaper-card figure { aspect-ratio: 5 / 4; }
  .heritage-shaper-card > div { min-height: 0; }
}

@media (max-width: 540px) {
  .home-family-section { width: calc(100% - 34px); }
  .home-family-grid { grid-auto-columns: min(86vw, 360px); }
  .home-family-card > a { grid-template-rows: min(66svh, 540px) auto; }
  .home-family-media img { padding-block: 24px; }
  .home-model-story { min-height: 720px; }
  .home-model-story-copy > div { align-items: flex-start; flex-direction: column; gap: 12px; }
  .home-heritage-brief h2 { font-size: clamp(3.35rem, 15vw, 5.3rem); }
  .heritage-portraits { width: calc(100% - 34px); }
  .heritage-portraits-heading h2 { font-size: clamp(3.4rem, 15vw, 5.2rem); }
  .heritage-shaper-card figure { aspect-ratio: 1 / 1; }
  .heritage-shaper-card h3 { font-size: clamp(3.5rem, 16vw, 5.2rem); }
}
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }
.size-table thead th:last-child,
.size-table .size-cart-cell { width: 64px; padding-right: 0; text-align: right; }
.size-table tbody tr:hover .size-cart-cell { padding-left: 0; }
.size-cart-link { width: 48px; height: 48px; display: inline-grid; place-items: center; color: inherit; border: 1px solid var(--line); transition: color 180ms var(--ease), background-color 180ms var(--ease), border-color 180ms var(--ease), transform 180ms var(--ease); }
.size-cart-link svg { width: 20px; height: 20px; }
.size-cart-link:hover { color: var(--paper-light); background: var(--rust); border-color: var(--rust); transform: translate3d(-2px, 0, 0); }
.size-cart-link:focus-visible { outline: 3px solid var(--rust); outline-offset: 3px; }
.config-selected-dimensions { margin: 18px 0 0; padding: 13px 14px; color: var(--paper-light); border: 1px solid color-mix(in oklab, var(--paper-light) 28%, transparent); font-family: var(--font-mono); font-size: .61rem; letter-spacing: .08em; line-height: 1.55; text-transform: uppercase; }
@media (min-width: 801px) and (max-height: 780px) {
  .hero-grid { padding-top: calc(var(--header) + 38px); padding-bottom: 20px; }
  .hero-grid h1 { font-size: clamp(3.2rem, 5.35vw, 5.8rem); }
  .hero-bottom { gap: 28px; padding-top: 24px; }
  .hero-commercial-cues { padding-top: 12px; }
}

@media (max-width: 800px) {
  .hero-commercial-cues { margin-top: 0; padding-top: 14px; }
  .hero-commercial-cues li { padding-right: 8px; }
  .hero-commercial-cues li + li { padding-left: 8px; }
  .hero-commercial-cues span { font-size: .46rem; letter-spacing: .07em; }
  .hero-commercial-cues strong { font-size: .88rem; }
  .board-finder-heading,
  .board-finder-form,
  .board-finder-results > header,
  .board-finder-result-grid { grid-template-columns: 1fr; }
  .board-finder-heading { gap: 28px; }
  .board-finder-form { border-top-color: var(--ink); }
  .board-finder-form fieldset { padding-inline: 20px; }
  .board-finder-result > a { min-height: 0; }
  .board-finder-next { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 540px) {
  .home-hero, .hero-grid { min-height: 860px; }
  .article-byline { align-items: flex-start; flex-direction: column; }
  .article-byline span + span { padding-left: 0; }
  .article-byline span + span::before { display: none; }
}

.viewport-debug { position: fixed; z-index: 2147483647; right: 6px; bottom: 6px; left: 6px; max-height: 46svh; margin: 0; padding: 12px 14px; overflow: auto; border: 1px solid #d6ff63; background: rgba(5, 8, 6, .94); color: #d6ff63; font: 600 11px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: 0; white-space: pre-wrap; overflow-wrap: anywhere; pointer-events: none; box-shadow: 0 12px 34px rgba(0, 0, 0, .38); }
/* Android Chrome can expose a visual viewport wider than the inherited page shell.
   Product pages bind directly to the dynamic viewport so the hero never leaves a paper gutter. */
@media (max-width: 800px) {
  body { min-width: 0; }
  body::before {
    display: none;
  }
  .page-transition {
    inset: 0 auto auto 0;
    width: 100dvw;
    height: 100dvh;
  }
  .site-header {
    inset: 5px auto auto 5px;
    width: calc(100dvw - 10px);
    max-width: calc(100dvw - 10px);
  }
  .mobile-menu {
    inset: 7px auto auto 7px;
    width: calc(100dvw - 14px);
    height: calc(100dvh - 14px);
  }
  .cookie-banner {
    right: auto;
    left: 20px;
    width: min(calc(100dvw - 40px), 520px);
  }
  .viewport-debug {
    right: auto;
    width: calc(100dvw - 12px);
  }
  .product-page,
  .product-hero.product-hero-photo {
    width: 100vw;
    width: 100dvw;
    min-width: 100vw;
    min-width: 100dvw;
    max-width: 100vw;
    max-width: 100dvw;
    margin-inline: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .product-board-slide { transition: none; transform: none; }
  .gallery-lightbox[open] { animation: none; }
  .gallery-open img,
  .gallery-open::after { transition: none; }
}
/* v1.5.8 ? editorial calibration */
:root {
  --radius: 2px;
}

h1,
h2,
h3,
.hero-grid h1,
.interlude blockquote p,
.home-family-copy h3,
.board-finder-heading h2,
.board-finder-results > header h3,
.board-finder-result h3,
.configurator-heading h2,
.footer-title,
.photo-board-overlay h3,
.photo-story-copy h2,
.product-hero-photo .product-copy h1,
.size-chart-intro h2,
.shop-stock-heading h2,
.product-gallery-heading h2,
.super-custom-panel h2 {
  line-height: 1;
}

.brand {
  width: 156px;
  padding: 10px 12px;
  margin-left: -12px;
}

.button-link,
.language-link,
.filter-bar button,
.finder-choice label,
.board-row,
.journal-card figure,
.home-family-card,
.studio-board-view,
.size-table-scroll,
.config-extra,
.config-price-card,
.cookie-banner {
  border-radius: var(--radius);
}

.hero-kicker {
  color: color-mix(in oklab, var(--paper-light) 94%, transparent);
  font-size: clamp(.72rem, .67rem + .12vw, .8rem);
  font-weight: 600;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .72);
}

.hero-grid h1 {
  max-width: 10ch;
  letter-spacing: -.04em;
}

.hero-commercial-cues li {
  grid-template-columns: 24px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 3px;
}

.hero-commercial-cues li > svg {
  grid-row: 1 / 3;
  align-self: center;
  width: 20px;
  height: 20px;
  color: var(--tide);
}

.hero-commercial-cues span,
.hero-commercial-cues strong {
  grid-column: 2;
}

.hero-commercial-cues span {
  color: color-mix(in oklab, var(--paper-light) 84%, transparent);
  font-size: .64rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-shadow: 0 1px 10px rgba(0, 0, 0, .65);
}

.hero-signature {
  position: absolute;
  right: clamp(30px, 4.5vw, 72px);
  bottom: clamp(34px, 4.5vw, 68px);
  grid-column: auto;
  grid-row: auto;
  padding: 12px 16px;
  border: 1px solid color-mix(in oklab, var(--tide) 72%, transparent);
  border-radius: var(--radius);
  background: color-mix(in oklab, var(--ink) 45%, transparent);
  line-height: 1;
  transform: rotate(-8deg);
  transform-origin: 100% 100%;
}

.page-hero {
  min-height: clamp(560px, 72svh, 700px);
}

.page-hero h1 {
  max-width: 11ch;
  line-height: 1;
}

.board-rows {
  gap: 10px;
}

.board-row {
  overflow: hidden;
}

.board-row-link {
  grid-template-columns: 48px minmax(180px, .68fr) minmax(300px, 1.15fr) minmax(170px, .55fr) 40px;
  gap: clamp(20px, 2.4vw, 38px);
}

.board-row-name,
.board-row-message,
.board-row-meta {
  min-width: 0;
}

.board-row-name p {
  color: color-mix(in oklab, var(--paper-light) 88%, transparent);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1.35;
  text-shadow: 0 1px 10px rgba(0, 0, 0, .62);
}

.board-row-meta {
  color: color-mix(in oklab, var(--paper-light) 82%, transparent);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.35;
}

.board-row-meta span {
  display: flex;
  align-items: center;
  gap: 8px;
}

.board-row-meta svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  color: var(--tide);
}

.journal-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(24px, 3vw, 48px);
  row-gap: clamp(54px, 7vw, 96px);
}

.journal-card {
  min-width: 0;
  padding-bottom: clamp(28px, 4vw, 48px);
  border-bottom: 1px solid var(--line);
}

.journal-card.featured,
.journal-card:last-child {
  grid-column: 1 / -1;
}

.journal-card.featured > a,
.journal-card:last-child > a {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  gap: clamp(32px, 5vw, 72px);
}

.journal-card.featured figure,
.journal-card:last-child figure {
  margin: 0;
}

.journal-card figure img {
  aspect-ratio: 3 / 2;
}

.journal-card.featured h2,
.journal-card:last-child h2 {
  font-size: clamp(2.6rem, 4vw, 5rem);
}

@media (max-width: 1100px) {
  .board-row-link {
    grid-template-columns: 42px minmax(160px, .72fr) minmax(240px, 1fr) minmax(145px, .55fr) 34px;
    gap: 18px;
  }
}

@media (max-width: 800px) {
  .brand {
    width: 125px;
    max-width: 100%;
    padding: 8px 10px;
    margin-left: -10px;
  }

  .hero-commercial-cues span {
    font-size: .56rem;
    letter-spacing: .1em;
  }

  .hero-commercial-cues strong {
    font-size: .92rem;
  }

  .page-hero {
    min-height: 560px;
  }

  .journal-card.featured,
  .journal-card:last-child {
    grid-column: auto;
  }

  .journal-card.featured > a,
  .journal-card:last-child > a {
    display: block;
  }

  .journal-card.featured figure,
  .journal-card:last-child figure {
    margin-bottom: 26px;
  }

  .journal-card.featured h2,
  .journal-card:last-child h2 {
    font-size: clamp(2.2rem, 11vw, 4rem);
  }
}

@media (max-width: 540px) {
  .journal-card figure img,
  .journal-card.featured figure img {
    aspect-ratio: 3 / 2;
  }
}


/* v1.5.8 ? compact mobile page titles */
@media (max-width: 540px) {
  .page-hero h1 {
    max-width: 100%;
    font-size: clamp(3.15rem, 14.5vw, 4.5rem);
    letter-spacing: -.04em;
  }
}

/* v1.5.9 — editorial photography */
.home-heritage-photo {
  position: relative;
  isolation: isolate;
  min-height: min(72svh, 760px);
  overflow: hidden;
  padding-inline: clamp(34px, 6vw, 92px);
  color: var(--paper-light);
  border-radius: var(--radius);
}
.home-heritage-photo::before,
.home-heritage-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
}
.home-heritage-photo::before {
  background: var(--heritage-photo) center 43% / cover no-repeat;
  transform: scale(1.015);
  transition: transform 1100ms var(--ease);
}
.home-heritage-photo::after {
  z-index: -1;
  background: linear-gradient(90deg, rgba(5, 9, 7, .88), rgba(5, 9, 7, .54) 58%, rgba(5, 9, 7, .24));
}
.home-heritage-photo:hover::before { transform: scale(1.035); }
.home-heritage-photo > div:last-child > p:not(.lede) { color: color-mix(in oklab, var(--paper-light) 74%, transparent); }
.home-heritage-photo .text-link { color: var(--paper-light); }
.home-heritage-photo .text-link::after { background: var(--paper-light); }

.custom-process li {
  grid-template-rows: auto auto;
  align-content: start;
  overflow: hidden;
}
.custom-process figure {
  grid-column: 1 / -1;
  position: relative;
  aspect-ratio: 4 / 3;
  margin: 0 0 22px;
  overflow: hidden;
  border-radius: var(--radius);
  background: color-mix(in oklab, var(--ink) 8%, var(--tide));
}
.custom-process figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.8) contrast(1.04);
  transition: transform 800ms var(--ease), filter 500ms var(--ease);
}
.custom-process li:nth-child(1) figure img { object-position: 50% 70%; }
.custom-process li:nth-child(2) figure img { object-position: 54% 52%; }
.custom-process li:nth-child(3) figure img { object-position: 50% 47%; }
.custom-process li:hover figure img { transform: scale(1.025); filter: saturate(.94) contrast(1.02); }

.super-custom-panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--ink);
}
.super-custom-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(5, 9, 7, .92), rgba(5, 9, 7, .72) 62%, rgba(5, 9, 7, .5));
}
.super-custom-visual {
  position: absolute;
  inset: 0;
  z-index: -2;
  margin: 0;
}
.super-custom-visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.74) contrast(1.08); }

.heritage-craft-grid {
  width: calc(100% - 14px);
  min-height: min(86svh, 900px);
  margin: 7px;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  grid-template-rows: repeat(2, minmax(280px, 1fr));
  gap: 7px;
}
.heritage-craft-grid figure {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--paper-2);
}
.heritage-craft-grid .heritage-craft-primary { grid-row: 1 / -1; }
.heritage-craft-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.72) contrast(1.06);
  transition: transform 900ms var(--ease), filter 500ms var(--ease);
}
.heritage-craft-grid .heritage-craft-primary img { object-position: 48% 50%; }
.heritage-craft-grid figure:nth-child(2) img { object-position: 50% 58%; }
.heritage-craft-grid figure:nth-child(3) img { object-position: 50% 50%; }
.heritage-craft-grid figure:hover img { transform: scale(1.025); filter: saturate(.88) contrast(1.04); }
.heritage-craft-grid figcaption {
  position: absolute;
  right: 18px;
  bottom: 16px;
  left: 18px;
  color: var(--paper-light);
  font-family: var(--font-mono);
  font-size: .6rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-shadow: 0 1px 18px rgba(0, 0, 0, .72);
}
.contact-page figure img[src*="shaping-tools-monochrome"] { object-position: center 52%; filter: contrast(1.04); }
.journal-card img[src*="fish-tail-detail"],
.article-hero img[src*="fish-tail-detail"] { object-position: center 64%; }
.journal-card img[src*="shaping-rail-monochrome"],
.article-hero img[src*="shaping-rail-monochrome"] { object-position: center 58%; }
.journal-card img[src*="boards-monochrome"],
.article-hero img[src*="boards-monochrome"] { object-position: center 42%; }

@media (max-width: 800px) {
  .home-heritage-photo {
    min-height: 720px;
    padding: 70px 28px;
    align-content: end;
  }
  .home-heritage-photo::before { background-position: 50% 40%; }
  .home-heritage-photo::after { background: linear-gradient(180deg, rgba(5, 9, 7, .22), rgba(5, 9, 7, .9) 64%); }
  .custom-process figure { aspect-ratio: 16 / 10; margin-bottom: 20px; }
  .heritage-craft-grid {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }
  .heritage-craft-grid .heritage-craft-primary { grid-row: auto; }
  .heritage-craft-grid figure { aspect-ratio: 4 / 3; }
  .heritage-craft-grid figure:nth-child(2) { aspect-ratio: 4 / 5; }
  .super-custom-panel::after { background: linear-gradient(180deg, rgba(5, 9, 7, .78), rgba(5, 9, 7, .94)); }
}

@media (prefers-reduced-motion: reduce) {
  .home-heritage-photo::before,
  .custom-process figure img,
  .heritage-craft-grid img { transition: none; }
}

/* Shape family navigation and catalogue grouping — v1.6.1 */
.desktop-nav-group {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
}

.desktop-nav-primary {
  padding-right: 22px !important;
}

.desktop-nav-submenu-toggle {
  position: absolute;
  z-index: 2;
  right: -8px;
  width: 30px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.desktop-nav-submenu-toggle svg {
  width: 13px;
  height: 13px;
  transition: transform 220ms var(--ease);
}

.desktop-nav-group.is-open .desktop-nav-submenu-toggle svg {
  transform: rotate(180deg);
}

.desktop-shape-submenu {
  position: absolute;
  top: calc(100% - 4px);
  left: 50%;
  width: 230px;
  display: grid;
  padding: 8px;
  border: 1px solid rgba(247, 244, 234, .28);
  color: var(--paper-light);
  background: color-mix(in oklab, var(--ink) 91%, transparent);
  backdrop-filter: blur(14px) saturate(.82);
  -webkit-backdrop-filter: blur(14px) saturate(.82);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-50%, -8px, 0);
  transition: opacity 180ms var(--ease), transform 220ms var(--ease);
}

.desktop-nav-group.is-open .desktop-shape-submenu {
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(-50%, 0, 0);
}

.desktop-nav .desktop-shape-submenu a {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  border-bottom: 1px solid rgba(247, 244, 234, .16);
  font-size: .7rem;
}

.desktop-nav .desktop-shape-submenu a:last-child {
  border-bottom: 0;
}

.desktop-nav .desktop-shape-submenu a::after {
  bottom: 4px;
}

.desktop-shape-submenu a span {
  color: var(--tide);
  font-size: .9rem;
  transition: transform 180ms var(--ease);
}

.desktop-shape-submenu a:hover span,
.desktop-shape-submenu a:focus-visible span {
  transform: translate3d(3px, 3px, 0);
}

.mobile-nav-group {
  display: grid;
  border-bottom: 1px solid var(--line-light);
}

.mobile-menu nav .mobile-nav-primary {
  border-bottom: 0;
}

.mobile-shape-submenu {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  padding: 0 0 18px 52px;
}

.mobile-menu nav .mobile-shape-submenu a {
  min-width: 0;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 8px 10px;
  border: 1px solid rgba(247, 244, 234, .22);
  font-family: var(--font-mono);
  font-size: .58rem;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.mobile-shape-submenu a > span {
  color: var(--tide);
  font-size: .7rem;
}

.board-catalogue {
  padding-top: clamp(44px, 7vw, 92px);
  padding-bottom: clamp(44px, 7vw, 92px);
}

.board-family-group {
  scroll-margin-top: 160px;
}

.board-family-group + .board-family-group {
  margin-top: clamp(70px, 9vw, 130px);
  padding-top: clamp(48px, 6vw, 84px);
  border-top: 1px solid rgba(247, 244, 234, .22);
}

.board-family-group[hidden] {
  display: none;
}

.board-family-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
  align-items: end;
  gap: clamp(38px, 8vw, 130px);
  padding: 0 clamp(8px, 1vw, 16px) clamp(34px, 5vw, 66px);
  color: var(--paper-light);
}

.board-family-heading h2 {
  margin-top: 16px;
  font-size: clamp(4rem, 8vw, 9rem);
  line-height: .86;
}

.board-family-heading > p {
  max-width: 44ch;
  color: color-mix(in oklab, var(--paper-light) 72%, transparent);
  font-size: .95rem;
}

@media (max-width: 800px) {
  .mobile-shape-submenu {
    grid-template-columns: 1fr;
    padding-left: 52px;
  }

  .mobile-menu nav .mobile-shape-submenu a {
    font-size: .62rem;
  }

  .board-catalogue {
    padding-inline: 7px;
  }

  .board-family-group {
    scroll-margin-top: 136px;
  }

  .board-family-heading {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-inline: 14px;
  }

  .board-family-heading h2 {
    font-size: clamp(3.6rem, 19vw, 6rem);
  }
}
