@font-face {
  font-family: "F37 Moon";
  src: url("/assets/fonts/F37Moon-Regular.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "F37 Moon";
  src: url("/assets/fonts/F37Moon-Bold.otf") format("opentype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --paper: #f4f2ec;
  --paper-2: #ece9e1;
  --ink: #111111;
  --muted: #6b6b66;
  --rule: rgba(17, 17, 17, 0.18);
  --dark: #101010;
  --light: #f7f5ef;

  --font-sans: "F37 Moon", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;

  /* Shared supporting copy scale, matched to the homepage closing text. */
  --type-body: clamp(1.05rem, 1.45vw, 1.4rem);

  --step--1: clamp(0.72rem, 0.68rem + 0.18vw, 0.84rem);
  --step-0: clamp(0.95rem, 0.88rem + 0.26vw, 1.12rem);
  --step-1: clamp(1.22rem, 1.02rem + 0.7vw, 1.68rem);
  --step-2: clamp(1.65rem, 1.26rem + 1.35vw, 2.55rem);
  --step-3: clamp(2.35rem, 1.64rem + 2.55vw, 4.25rem);
  --step-4: clamp(3.35rem, 2rem + 4.8vw, 7.5rem);
  --step-5: clamp(4.8rem, 2.5rem + 8.5vw, 11.5rem);

  --space-1: 0.375rem;
  --space-2: 0.75rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 4.5rem;
  --space-8: 6rem;
  --space-9: 9rem;
  --space-10: 12rem;

  --page-pad: clamp(1rem, 2.5vw, 2.5rem);
  --grid-gap: clamp(0.8rem, 1.4vw, 1.5rem);
  --content-max: 1600px;
  --text-max: 760px;

  --ease: cubic-bezier(.2,.7,.2,1);
  --fast: 180ms;
  --medium: 420ms;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: var(--type-body);
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, video { display: block; width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
::selection { background: var(--ink); color: var(--paper); }

h1,h2,h3,p,figure,blockquote,ul,ol { margin: 0; }
ul,ol { padding: 0; list-style: none; }

h1,h2,h3 { font-weight: 500; letter-spacing: -0.045em; line-height: 0.95; }
p { max-width: var(--text-max); }

:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.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;
}

.skip-link {
  position: fixed;
  top: var(--space-3);
  left: var(--space-3);
  z-index: 999;
  padding: .7rem 1rem;
  background: var(--ink);
  color: var(--paper);
  transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0); }

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

.site-shell { max-width: var(--content-max); margin: 0 auto; padding-inline: var(--page-pad); }
.grid-12 { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: var(--grid-gap); }
.grid-6 { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: var(--grid-gap); }
.section { padding-block: var(--space-9); }
.section-tight { padding-block: var(--space-7); }
.rule-top { border-top: 1px solid var(--rule); }
.rule-bottom { border-bottom: 1px solid var(--rule); }

@media (max-width: 900px) {
  .grid-12 { grid-template-columns: repeat(8, minmax(0,1fr)); }
  .grid-6 { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .section { padding-block: var(--space-8); }
}

@media (max-width: 640px) {
  .grid-12, .grid-6 { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .section { padding-block: var(--space-7); }
  .section-tight { padding-block: var(--space-6); }
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: color-mix(in srgb, var(--paper) 92%, transparent);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid transparent;
}
.site-header.is-scrolled { border-bottom-color: var(--rule); }
.header-inner {
  min-height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
}
.wordmark { font-size: var(--step--1); font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.nav-list { display: flex; gap: clamp(1rem,2vw,2rem); align-items: center; }
.nav-link { font-family: var(--font-mono); font-size: var(--step--1); text-transform: uppercase; letter-spacing: .04em; }
.nav-link:hover { text-decoration: underline; text-underline-offset: .25rem; }
.menu-toggle { display: none; background: none; border: 0; padding: .5rem 0; font-family: var(--font-mono); text-transform: uppercase; font-size: var(--step--1); letter-spacing: .04em; }

.eyebrow {
  font-family: var(--font-mono);
  font-size: var(--step--1);
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
}
.meta-row { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; font-family: var(--font-mono); font-size: var(--step--1); text-transform: uppercase; letter-spacing: .03em; }
.meta-row span { white-space: nowrap; }

.text-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: var(--step--1);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.text-link::after { content: "↗"; transition: transform var(--fast) var(--ease); }
.text-link:hover::after { transform: translate(.2rem,-.2rem); }

.project-media {
  position: relative;
  overflow: hidden;
  min-height: 320px;
  background: #d9d6cf;
}
.project-media img { height: 100%; object-fit: cover; transition: transform var(--medium) var(--ease); }
a:hover .project-media img { transform: scale(1.015); }

.placeholder-visual {
  position: relative;
  width: 100%;
  min-height: inherit;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--paper-2);
}
.placeholder-visual::before,
.placeholder-visual::after {
  content: "";
  position: absolute;
  inset: 0;
}
.placeholder-visual::before {
  background:
    linear-gradient(120deg, rgba(255,255,255,.35), transparent 40%),
    repeating-linear-gradient(90deg, transparent 0 11.5%, rgba(17,17,17,.06) 11.5% 11.6%);
}
.placeholder-visual::after {
  inset: auto 1rem 1rem 1rem;
  height: 1px;
  background: rgba(17,17,17,.25);
}
.placeholder-visual[data-tone="dark"] { background: #242424; color: #efeee8; }
.placeholder-visual[data-tone="dark"]::before {
  background: linear-gradient(135deg, rgba(255,255,255,.06), transparent 38%), repeating-linear-gradient(90deg, transparent 0 11.5%, rgba(255,255,255,.08) 11.5% 11.6%);
}
.placeholder-label {
  position: absolute;
  left: 1rem;
  top: 1rem;
  z-index: 2;
  font-family: var(--font-mono);
  font-size: var(--step--1);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.placeholder-title {
  position: absolute;
  z-index: 2;
  right: 1rem;
  bottom: 1.3rem;
  max-width: 70%;
  text-align: right;
  font-size: clamp(1.8rem, 5vw, 5.5rem);
  line-height: .9;
  letter-spacing: -.055em;
  font-weight: 500;
}

.site-footer { padding-block: var(--space-5); border-top: 1px solid var(--rule); }
.footer-grid { display: grid; grid-template-columns: 1fr auto; gap: var(--space-5); align-items: end; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; justify-content: flex-end; }
.footer-copy { font-family: var(--font-mono); font-size: var(--step--1); text-transform: uppercase; letter-spacing: .03em; color: var(--muted); }

@media (max-width: 640px) {
  .menu-toggle { display: block; }
  .site-nav {
    display: none;
    position: absolute;
    top: 66px;
    left: 0;
    right: 0;
    background: var(--paper);
    border-bottom: 1px solid var(--rule);
    padding: 1rem var(--page-pad) 1.5rem;
  }
  .site-nav.is-open { display: block; }
  .nav-list { display: grid; gap: .9rem; }
  .nav-link { font-size: var(--step-1); }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-nav { justify-content: flex-start; }
}

.nav-link[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: .25rem;
}

/* HOME */
.hero { min-height: calc(100svh - 66px); display: flex; align-items: stretch; padding-bottom: var(--space-5); }
.hero-grid { width: 100%; align-content: space-between; padding-top: var(--space-6); }
.hero-kicker { grid-column: 1 / 7; font-size: var(--step--1); text-transform: uppercase; letter-spacing: .04em; }
.hero-title { grid-column: 1 / 12; font-size: var(--step-5); text-transform: uppercase; }
.hero-copy { grid-column: 8 / 13; align-self: end; font-size: var(--type-body); line-height: 1.4; letter-spacing: -.025em; }
.hero-proof { grid-column: 1 / 8; align-self: end; padding-top: var(--space-7); font-family: var(--font-mono); font-size: var(--step--1); text-transform: uppercase; letter-spacing: .03em; color: var(--muted); }
.hero-arrow { grid-column: 12 / 13; align-self: end; justify-self: end; font-size: var(--step-2); }

.thesis { padding-block: var(--space-10); }
.thesis-intro { grid-column: 1 / 5; }
.aperture { grid-column: 3 / 13; display: grid; gap: .15em; font-size: var(--step-4); line-height: .92; letter-spacing: -.055em; }
.aperture span:nth-child(2) { padding-left: 9%; }
.aperture span:nth-child(3) { padding-left: 20%; }
.aperture span:nth-child(4) { padding-left: 33%; }
.aperture span:nth-child(5) { padding-left: 48%; }

.work-index { padding-bottom: var(--space-9); }
.work-heading { display: flex; justify-content: space-between; gap: var(--space-4); align-items: end; margin-bottom: var(--space-5); }
.work-heading h2 { font-size: var(--step-3); }
.project-feature { display: block; margin-bottom: var(--space-9); }
.project-feature .project-media { aspect-ratio: 16/8.5; }
.project-caption { display: grid; grid-template-columns: 1fr 1fr; gap: var(--grid-gap); padding-top: var(--space-3); }
.project-name { font-size: var(--step--1); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .04em; }
.project-statement { font-size: var(--step-2); line-height: 1; letter-spacing: -.04em; }
.project-link { align-self: end; justify-self: end; }

.work-pair { display: grid; grid-template-columns: 5fr 7fr; gap: var(--grid-gap); margin-bottom: var(--space-9); align-items: end; }
.work-pair .project-card:first-child { margin-bottom: 12vw; }
.project-card .project-media { aspect-ratio: 4/5; }
.project-card.wide .project-media { aspect-ratio: 5/4; }
.project-card .project-caption { grid-template-columns: 1fr; }
.project-card .project-statement { max-width: 18ch; }

.aperture-break { background: var(--dark); color: var(--light); padding-block: var(--space-10); }
.aperture-lines { display: grid; gap: var(--space-6); }
.aperture-line { font-size: var(--step-4); text-transform: uppercase; line-height: .9; letter-spacing: -.055em; }
.aperture-line.muted { color: #8b8b86; }
.aperture-final { margin-top: var(--space-6); max-width: 18ch; font-size: var(--step-2); line-height: 1.05; }

.current-intro { grid-column: 1 / 5; }
.current-grid { grid-column: 5 / 13; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gap); }
.current-item { border-top: 1px solid var(--rule); padding-top: var(--space-3); min-height: 260px; display: flex; flex-direction: column; justify-content: space-between; }
.current-item h3 { font-size: var(--step-2); }
.current-item p { font-size: var(--type-body); color: var(--muted); max-width: 30ch; }

.about-preview { padding-bottom: var(--space-10); }
.about-portrait { grid-column: 1 / 6; }
.about-copy { grid-column: 7 / 13; display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-6); }
.about-copy h2 { font-size: var(--step-3); max-width: 12ch; }
.about-copy p { font-size: var(--type-body); line-height: 1.4; letter-spacing: -.02em; }

.contact-section { min-height: 72svh; display: flex; align-items: end; padding-bottom: var(--space-6); border-top: 1px solid var(--rule); }
.contact-title { font-size: var(--step-5); text-transform: uppercase; max-width: 8ch; }
.contact-meta { margin-top: var(--space-5); display: flex; gap: 1rem 2rem; flex-wrap: wrap; }

/* PROJECT PAGE */
.project-hero { padding-top: var(--space-6); padding-bottom: var(--space-7); }
.project-hero .eyebrow { grid-column: 1 / 4; }
.project-hero h1 { grid-column: 1 / 11; font-size: var(--step-5); text-transform: uppercase; margin-top: var(--space-4); }
.project-hero .project-deck { grid-column: 8 / 13; margin-top: var(--space-6); font-size: var(--type-body); line-height: 1.4; letter-spacing: -.025em; }
.project-hero .meta-row { grid-column: 1 / 13; margin-top: var(--space-7); border-top: 1px solid var(--rule); padding-top: var(--space-3); }
.project-hero-media { margin-bottom: var(--space-8); }
.project-hero-media .placeholder-visual { aspect-ratio: 16/8.7; }

.case-section { padding-block: var(--space-8); border-top: 1px solid var(--rule); }
.case-number { grid-column: 1 / 3; }
.case-heading { grid-column: 3 / 7; font-size: var(--step-2); }
.case-copy { grid-column: 8 / 13; font-size: var(--type-body); line-height: 1.4; letter-spacing: -.02em; }
.case-copy p + p { margin-top: 1em; }

.decision-list { grid-column: 3 / 13; display: grid; gap: 0; margin-top: var(--space-6); }
.decision { display: grid; grid-template-columns: 1fr 5fr; gap: var(--grid-gap); border-top: 1px solid var(--rule); padding-block: var(--space-4); }
.decision:last-child { border-bottom: 1px solid var(--rule); }
.decision-num { font-family: var(--font-mono); font-size: var(--step--1); }
.decision h3 { font-size: var(--step-2); max-width: 18ch; }
.decision p { margin-top: var(--space-2); color: var(--muted); max-width: 48ch; }

.case-gallery { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--grid-gap); padding-block: var(--space-8); }
.gallery-a { grid-column: 1 / 9; }
.gallery-b { grid-column: 9 / 13; align-self: end; }
.gallery-c { grid-column: 4 / 13; margin-top: var(--space-6); }
.gallery-b .placeholder-visual { aspect-ratio: 3/4; }
.gallery-c .placeholder-visual { aspect-ratio: 16/9; }

.next-project { display: block; padding-block: var(--space-8); border-top: 1px solid var(--rule); }
.next-project .eyebrow { margin-bottom: var(--space-3); }
.next-project h2 { font-size: var(--step-4); text-transform: uppercase; max-width: 12ch; }
.next-project .placeholder-visual { margin-top: var(--space-5); aspect-ratio: 16/7; }
.next-project-media { margin: var(--space-5) 0 0; aspect-ratio: 16/7; overflow: hidden; background: #ddd9d0; }
.next-project-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.next-project:hover .next-project-media img { transform:scale(1.012); }

/* SIMPLE CONTENT PAGES */
.page-hero { padding-block: var(--space-8) var(--space-7); }
.page-hero h1 { font-size: var(--step-5); text-transform: uppercase; grid-column: 1 / 13; }
.page-deck { grid-column: 7 / 13; margin-top: var(--space-6); font-size: var(--type-body); line-height: 1.4; letter-spacing: -.02em; }
.content-section { padding-block: var(--space-7); border-top: 1px solid var(--rule); }
.content-label { grid-column: 1 / 4; }
.content-main { grid-column: 5 / 13; }
.content-main h2 { font-size: var(--step-3); max-width: 14ch; }
.content-main p { margin-top: var(--space-4); font-size: var(--type-body); line-height: 1.4; }
.content-main .meta-row { margin-top: var(--space-5); }

@media (max-width: 900px) {
  .hero-title { grid-column: 1 / 9; }
  .hero-copy { grid-column: 5 / 9; }
  .hero-proof { grid-column: 1 / 7; }
  .hero-arrow { grid-column: 8 / 9; }
  .aperture { grid-column: 2 / 9; }
  .current-grid { grid-column: 1 / 9; margin-top: var(--space-6); }
  .about-portrait { grid-column: 1 / 4; }
  .about-copy { grid-column: 5 / 9; }
  .project-hero h1 { grid-column: 1 / 9; }
  .project-hero .project-deck { grid-column: 5 / 9; }
  .project-hero .meta-row { grid-column: 1 / 9; }
  .case-number { grid-column: 1 / 2; }
  .case-heading { grid-column: 2 / 5; }
  .case-copy { grid-column: 5 / 9; }
  .decision-list { grid-column: 2 / 9; }
  .case-gallery { grid-template-columns: repeat(8, 1fr); }
  .gallery-a { grid-column: 1 / 7; }
  .gallery-b { grid-column: 7 / 9; }
  .gallery-c { grid-column: 3 / 9; }
  .page-hero h1 { grid-column: 1 / 9; }
  .page-deck { grid-column: 5 / 9; }
  .content-label { grid-column: 1 / 3; }
  .content-main { grid-column: 3 / 9; }
}

@media (max-width: 640px) {
  .hero { min-height: calc(100svh - 66px); }
  .hero-grid { padding-top: var(--space-4); }
  .hero-kicker { grid-column: 1 / 5; }
  .hero-title { grid-column: 1 / 5; font-size: clamp(3.2rem, 18vw, 6rem); }
  .hero-copy { grid-column: 1 / 5; margin-top: var(--space-5); font-size: var(--type-body); }
  .hero-proof { grid-column: 1 / 4; padding-top: var(--space-6); }
  .hero-arrow { grid-column: 4 / 5; }
  .thesis { padding-block: var(--space-8); }
  .thesis-intro { grid-column: 1 / 5; }
  .aperture { grid-column: 1 / 5; margin-top: var(--space-6); font-size: clamp(2.8rem, 15vw, 5rem); }
  .aperture span:nth-child(2) { padding-left: 4%; }
  .aperture span:nth-child(3) { padding-left: 8%; }
  .aperture span:nth-child(4) { padding-left: 12%; }
  .aperture span:nth-child(5) { padding-left: 16%; }
  .project-caption { grid-template-columns: 1fr; }
  .project-link { justify-self: start; }
  .work-pair { grid-template-columns: 1fr; gap: var(--space-7); }
  .work-pair .project-card:first-child { margin-bottom: 0; }
  .project-card .project-media { aspect-ratio: 4/3; }
  .current-intro { grid-column: 1 / 5; }
  .current-grid { grid-column: 1 / 5; grid-template-columns: 1fr; }
  .current-item { min-height: 190px; }
  .about-portrait { grid-column: 1 / 5; }
  .about-copy { grid-column: 1 / 5; margin-top: var(--space-5); }
  .contact-title { font-size: clamp(3.5rem, 20vw, 7rem); }

  .project-hero .eyebrow { grid-column: 1 / 5; }
  .project-hero h1 { grid-column: 1 / 5; font-size: clamp(3.5rem, 17vw, 6rem); }
  .project-hero .project-deck { grid-column: 1 / 5; margin-top: var(--space-5); }
  .project-hero .meta-row { grid-column: 1 / 5; }
  .case-number { grid-column: 1 / 2; }
  .case-heading { grid-column: 2 / 5; }
  .case-copy { grid-column: 1 / 5; margin-top: var(--space-5); }
  .decision-list { grid-column: 1 / 5; }
  .decision { grid-template-columns: 2.5rem 1fr; }
  .case-gallery { grid-template-columns: repeat(4, 1fr); }
  .gallery-a, .gallery-b, .gallery-c { grid-column: 1 / 5; margin-top: 0; }
  .gallery-b { margin-top: var(--space-4); }
  .gallery-c { margin-top: var(--space-4); }
  .gallery-b .placeholder-visual { aspect-ratio: 4/3; }
  .page-hero h1 { grid-column: 1 / 5; font-size: clamp(3.5rem, 17vw, 6rem); }
  .page-deck { grid-column: 1 / 5; }
  .content-label { grid-column: 1 / 5; }
  .content-main { grid-column: 1 / 5; margin-top: var(--space-5); }
}

/* V2 — COMPLETE PAGE SCAFFOLD */
.thesis-sentence { margin-top: 1rem; max-width: 28ch; }
.work-heading { padding-top: 1rem; }
.project-feature-secondary { margin-top: calc(var(--space-8) * -0.15); }
.compact-pair { grid-template-columns: 7fr 5fr; }
.compact-pair .project-card:first-child { margin-bottom: 0; }
.compact-pair .project-card:last-child { margin-top: 8vw; }
.inverse-eyebrow { color: #8b8b86; margin-bottom: 3rem; }
.current-title { font-size: var(--step-3); margin-top: 1rem; max-width: 10ch; }
.current-item p { margin-top: .75rem; }
.current-more { grid-column: 1 / -1; margin-top: var(--space-3); justify-self: start; }
.about-link { margin-top: var(--space-4); }
.contact-inner { width: 100%; }

/* WORK INDEX */
.work-page-hero .page-kicker,
.about-hero .page-kicker,
.current-page-hero .page-kicker,
.contact-page-hero .page-kicker { grid-column: 1 / 4; margin-bottom: var(--space-3); }
.work-list { border-top: 1px solid var(--rule); }
.work-row {
  display: grid;
  grid-template-columns: minmax(3rem,1fr) 5fr 3fr auto;
  gap: var(--grid-gap);
  align-items: start;
  padding-block: var(--space-5);
  border-bottom: 1px solid var(--rule);
}
.work-row h2 { font-size: var(--step-3); text-transform: uppercase; }
.work-row-main p { margin-top: .5rem; font-size: var(--type-body); line-height: 1.4; max-width: 30ch; }
.work-row-meta { display: grid; gap: .4rem; padding-top: .25rem; font-family: var(--font-mono); font-size: var(--step--1); text-transform: uppercase; color: var(--muted); }
.work-row-arrow { font-size: var(--step-2); line-height: .8; transition: transform var(--fast) var(--ease); }
.work-row:hover .work-row-arrow { transform: translate(.25rem,-.25rem); }
.work-note { margin-top: var(--space-7); }

/* CASE STUDY NAV + ASSET MAP */
.chapter-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1.15rem;
  padding-block: var(--space-3);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  font-family: var(--font-mono);
  font-size: var(--step--1);
  text-transform: uppercase;
  letter-spacing: .03em;
}
.chapter-nav a { color: var(--muted); }
.chapter-nav a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: .25rem; }
.case-work { padding-bottom: var(--space-9); }
.work-section-head { padding-bottom: var(--space-6); }
.work-intro { color: var(--muted); }
.asset-grid {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: var(--grid-gap);
  align-items: end;
}
.asset-card { margin: 0; }
.asset-card .placeholder-visual { min-height: 0; }
.asset-card figcaption { padding-top: .65rem; font-family: var(--font-mono); font-size: var(--step--1); text-transform: uppercase; letter-spacing: .03em; color: var(--muted); }
.asset-1 { grid-column: 1 / 10; }
.asset-1 .placeholder-visual { aspect-ratio: 16/9; }
.asset-2 { grid-column: 10 / 13; margin-bottom: 7vw; }
.asset-2 .placeholder-visual { aspect-ratio: 3/4; }
.asset-3 { grid-column: 1 / 6; margin-top: var(--space-6); }
.asset-3 .placeholder-visual { aspect-ratio: 4/5; }
.asset-4 { grid-column: 6 / 13; margin-top: var(--space-6); }
.asset-4 .placeholder-visual { aspect-ratio: 5/3; }
.asset-5 { grid-column: 3 / 11; margin-top: var(--space-8); }
.asset-5 .placeholder-visual { aspect-ratio: 16/8; }
.scaffold-note { margin-top: var(--space-5); padding-top: var(--space-3); border-top: 1px solid var(--rule); }
.scaffold-note p { margin-top: .65rem; font-size: var(--type-body); color: var(--muted); }
.reflection { font-size: var(--type-body)!important; line-height: 1.4; letter-spacing: -.035em; }

/* ABOUT */
.about-lead-media { padding-bottom: var(--space-8); }
.about-lead-media .placeholder-visual { min-height: 0; }
.career-index { border-top: 1px solid var(--rule); }
.career-index li { display: grid; grid-template-columns: 1fr 1fr; gap: var(--grid-gap); padding-block: 1rem; border-bottom: 1px solid var(--rule); }
.career-index li span:first-child { font-size: var(--type-body); }
.career-index li span:last-child { font-family: var(--font-mono); font-size: var(--step--1); text-transform: uppercase; color: var(--muted); align-self: center; }
.principle-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--grid-gap); margin-top: var(--space-6); }
.principle-grid article { min-height: 250px; border-top: 1px solid var(--rule); padding-top: var(--space-3); display: flex; flex-direction: column; }
.principle-grid h3 { margin-top: auto; font-size: var(--step-2); }
.principle-grid p { margin-top: var(--space-2); font-size: var(--type-body); color: var(--muted); }
.inline-actions { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: var(--space-5); }

/* CURRENT */
.current-stack { border-top: 1px solid var(--rule); }
.current-large { display: grid; grid-template-columns: 5fr 7fr; gap: var(--grid-gap); padding-block: var(--space-7); border-bottom: 1px solid var(--rule); }
.current-large h2 { margin-top: var(--space-3); font-size: var(--step-3); max-width: 12ch; }
.current-large > div:last-child { font-size: var(--type-body); line-height: 1.4; letter-spacing: -.02em; }
.current-purpose { margin-top: var(--space-4); font-size: var(--type-body); color: var(--muted); max-width: 52ch; }
.availability-list { display: grid; margin-top: var(--space-5); border-top: 1px solid var(--rule); }
.availability-list span { padding-block: 1rem; border-bottom: 1px solid var(--rule); font-size: var(--type-body); }

/* CONTACT */
.contact-options { border-top: 1px solid var(--rule); }
.contact-option { display: grid; grid-template-columns: 3fr 9fr; gap: var(--grid-gap); padding-block: var(--space-6); border-bottom: 1px solid var(--rule); }
.contact-option h2 { font-size: var(--step-3); max-width: 14ch; }
.contact-option p { margin-top: var(--space-3); font-size: var(--type-body); color: var(--muted); max-width: 38ch; }
.contact-signoff { padding-block: var(--space-10) var(--space-6); }
.contact-signoff-line { margin-top: var(--space-3); font-size: var(--step-4); line-height: .9; letter-spacing: -.055em; text-transform: uppercase; max-width: 12ch; }

/* 404 */
.error-page { min-height: calc(100svh - 66px); padding-block: var(--space-8); display: flex; flex-direction: column; justify-content: flex-end; }
.error-page h1 { margin-top: var(--space-2); font-size: var(--step-5); text-transform: uppercase; }
.error-page > p:not(.eyebrow) { margin-top: var(--space-4); font-size: var(--type-body); }

@media (max-width: 900px) {
  .work-row { grid-template-columns: 1fr 4fr 3fr auto; }
  .asset-grid { grid-template-columns: repeat(8,minmax(0,1fr)); }
  .asset-1 { grid-column: 1 / 7; }
  .asset-2 { grid-column: 7 / 9; }
  .asset-3 { grid-column: 1 / 4; }
  .asset-4 { grid-column: 4 / 9; }
  .asset-5 { grid-column: 2 / 8; }
  .principle-grid { grid-template-columns: 1fr; }
  .principle-grid article { min-height: 180px; }
}

@media (max-width: 640px) {
  .compact-pair { grid-template-columns: 1fr; }
  .compact-pair .project-card:last-child { margin-top: 0; }
  .project-feature-secondary { margin-top: 0; }
  .work-heading { align-items: flex-start; flex-direction: column; }
  .work-row { grid-template-columns: 2.5rem 1fr auto; padding-block: var(--space-4); }
  .work-row-main { grid-column: 2 / 3; }
  .work-row-meta { grid-column: 2 / 3; margin-top: .75rem; }
  .work-row-arrow { grid-column: 3 / 4; grid-row: 1 / 3; }
  .work-row h2 { font-size: var(--step-2); }
  .work-row-main p { font-size: var(--type-body); }
  .chapter-nav { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 1rem; -webkit-overflow-scrolling: touch; }
  .chapter-nav a { white-space: nowrap; }
  .asset-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .asset-1,.asset-2,.asset-3,.asset-4,.asset-5 { grid-column: 1 / 5; margin: var(--space-4) 0 0; }
  .asset-2 .placeholder-visual,.asset-3 .placeholder-visual { aspect-ratio: 4/3; }
  .asset-5 .placeholder-visual { aspect-ratio: 16/9; }
  .career-index li { grid-template-columns: 1fr; gap: .4rem; }
  .current-large { grid-template-columns: 1fr; gap: var(--space-5); }
  .contact-option { grid-template-columns: 1fr; gap: var(--space-4); }
  .contact-signoff { padding-top: var(--space-8); }
}


/* V4 — REAL RIVIAN + TERRASCOUT ASSET EDIT */
.project-media-photo picture,
.project-media-photo img { width: 100%; height: 100%; }
.project-media-photo img { object-fit: cover; }
.project-hero-photo { margin-bottom: var(--space-8); }
.project-hero-photo picture { display: block; aspect-ratio: 16/8.7; overflow: hidden; background: #d9d6cf; }
.project-hero-photo img { width: 100%; height: 100%; object-fit: cover; }
.image-caption {
  padding-top: .65rem;
  font-family: var(--font-mono);
  font-size: var(--step--1);
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--muted);
}
.rivian-work { overflow: clip; }
.work-chapter { padding-top: var(--space-9); }
.work-chapter:first-of-type { padding-top: var(--space-6); }
.work-chapter-head {
  display: grid;
  grid-template-columns: 3fr 9fr;
  gap: var(--grid-gap);
  align-items: end;
  margin-bottom: var(--space-5);
  padding-top: var(--space-3);
  border-top: 1px solid var(--rule);
}
.work-chapter-head h3 {
  font-size: var(--step-3);
  line-height: .96;
  max-width: 15ch;
}
.editorial-photo { margin: 0; }
.editorial-photo picture { display: block; overflow: hidden; background: #ddd9d0; }
.editorial-photo img { display: block; width: 100%; height: auto; }
.editorial-photo-wide picture { width: 100%; }
.identity-pair {
  display: grid;
  grid-template-columns: 4fr 8fr;
  gap: var(--grid-gap);
  align-items: end;
}
.identity-badge { width: 100%; }
.identity-badge picture { aspect-ratio: 1/1; }
.identity-badge img { height: 100%; object-fit: cover; }
.identity-wordmark { padding-bottom: 8vw; }
.identity-wordmark picture { aspect-ratio: 2048/882; background: #fff; }
.identity-wordmark img { height: 100%; object-fit: cover; }
.launch-pair,
.company-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--grid-gap);
  margin-top: var(--space-6);
  align-items: start;
}
.launch-pair figure:first-child { margin-top: 8vw; }
.company-pair figure:last-child { margin-top: 8vw; }
.company-chapter { padding-bottom: var(--space-4); }

@media (max-width: 640px) {
  .project-hero-photo picture { aspect-ratio: 4/3; }
  .project-hero-photo img { object-position: 61% 55% !important; }
  .work-chapter { padding-top: var(--space-8); }
  .work-chapter-head { grid-template-columns: 1fr; gap: var(--space-3); }
  .work-chapter-head h3 { font-size: var(--step-2); }
  .identity-pair,
  .launch-pair,
  .company-pair { grid-template-columns: 1fr; gap: var(--space-6); }
  .identity-wordmark { padding-bottom: 0; }
  .launch-pair figure:first-child,
  .company-pair figure:last-child { margin-top: 0; }
}

.review-route[hidden]{display:none!important}.review-route{min-height:60vh}.review-route:focus{outline:none}.review-badge{position:fixed;right:var(--page-pad);bottom:1rem;z-index:80;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);pointer-events:none}@media(max-width:640px){.review-badge{display:none}}
/* V7 Nike */
.nike-home-media{background:#fff}.nike-home-media img{width:100%;height:100%;object-fit:contain;padding:4%}.nike-hero-photo{margin-bottom:var(--space-8)}.nike-hero-photo img{display:block;width:100%;height:auto;object-fit:contain;background:#f7f7f5;padding:2.5%}.nike-work{overflow:clip}.nike-process-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap);align-items:start;margin-top:var(--space-6)}.nike-process-pair figure:nth-child(2){margin-top:6vw}.nike-triptych{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:var(--grid-gap);align-items:start;margin-top:var(--space-6)}.nike-triptych figure:nth-child(2){margin-top:5vw}.nike-triptych figure:nth-child(3){margin-top:10vw}.nike-white-canvas img{object-fit:contain;background:#fff}@media(max-width:640px){.nike-process-pair,.nike-triptych{grid-template-columns:1fr;gap:var(--space-6)}.nike-process-pair figure:nth-child(2),.nike-triptych figure:nth-child(2),.nike-triptych figure:nth-child(3){margin-top:0}}

/* V10 — Lightship */
.lightship-hero picture{aspect-ratio:16/9.4}.lightship-hero img{object-position:center 52%}.lightship-home-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 54%}.lightship-road-pair figure:first-child{margin-top:8vw}.lightship-interior-pair figure:last-child{margin-top:8vw}@media(max-width:640px){.lightship-hero picture{aspect-ratio:4/3}.lightship-hero img{object-position:center 50%!important}.lightship-road-pair figure:first-child,.lightship-interior-pair figure:last-child{margin-top:0}}


/* V21 — Lightship film playback fallback for local standalone review. */
.rivian-product-process{display:grid;gap:var(--space-6);margin-bottom:var(--space-8)}
.rivian-process-pair{display:grid;grid-template-columns:7fr 5fr;gap:var(--grid-gap);align-items:start}
.rivian-process-pair figure:last-child{margin-top:7vw}
.rivian-process-review{margin-top:var(--space-2)}
.rivian-process-clay{width:84%;margin-left:auto;margin-top:var(--space-2)}
.rivian-process-context{width:62%;margin-top:var(--space-2)}
.rivian-interior-concept{margin-top:var(--space-3)}
.rivian-interior-pair{display:grid;grid-template-columns:7fr 5fr;gap:var(--grid-gap);align-items:start;margin-top:var(--space-2)}
.rivian-interior-pair figure:last-child{margin-top:7vw}
@media(max-width:900px){.rivian-process-clay{width:92%}}
@media(max-width:640px){
  .rivian-product-process{gap:var(--space-5);margin-bottom:var(--space-7)}
  .rivian-process-pair{grid-template-columns:1fr;gap:var(--space-5)}
  .rivian-process-pair figure:last-child{margin-top:0}
  .rivian-process-clay{width:100%;margin-left:0}
  .rivian-process-context{width:100%}
  .rivian-interior-pair{grid-template-columns:1fr;gap:var(--space-5)}
  .rivian-interior-pair figure:last-child{margin-top:0}
}


/* V20 — click-to-play Lightship films */
.film-player img{display:block;width:100%;height:100%;object-fit:cover;}
.film-player iframe{display:block;width:100%;height:100%;border:0;}
.film-play{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:flex-end;justify-content:space-between;padding:clamp(1rem,2vw,2rem);text-align:left;}
.film-play::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 38%);pointer-events:none;}
.film-play span{position:relative;z-index:1;font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.04em;}
.film-play .film-play-icon{display:inline-flex;align-items:center;gap:.65rem;}
.film-play .film-play-icon::before{content:"▶";font-size:.9em;}
.local-review .film-play .film-play-icon::before{content:"↗";}

.film-block{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--rule);}
.film-block + .film-block{margin-top:var(--space-7);}
.film-player{position:relative;aspect-ratio:16/9;overflow:hidden;background:#111;border:1px solid var(--rule);}
.film-copy{display:grid;grid-template-columns:3fr 9fr;gap:var(--grid-gap);padding-top:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--rule);}
.film-copy h4{margin:0;font-size:var(--step-2);line-height:1;letter-spacing:-.04em;font-weight:500;}
.film-copy p{margin:0;font-size:var(--type-body);line-height:1.4;color:var(--muted);max-width:62ch;}
.film-copy p+p{margin-top:.8em;}
.lightship-detail-gallery{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--rule);}
.lightship-detail-head{display:grid;grid-template-columns:3fr 9fr;gap:var(--grid-gap);align-items:start;margin-bottom:var(--space-5);}
.lightship-detail-head h4{margin:0;font-size:var(--step-2);line-height:1;letter-spacing:-.04em;font-weight:500;}
.lightship-detail-head p{margin:0;font-size:var(--type-body);line-height:1.4;color:var(--muted);max-width:62ch;}
.lightship-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap);align-items:start;}
.lightship-detail-column figure + figure{margin-top:var(--space-6);}
.detail-card figcaption{padding-top:.85rem;color:var(--muted);}
.detail-card-title{display:block;font-family:var(--font-sans);font-size:var(--step-0);line-height:1.15;letter-spacing:-.02em;color:var(--text);text-transform:none;margin-bottom:.35rem;}
.detail-card-copy{display:block;font-family:var(--font-mono);font-size:var(--step--1);line-height:1.5;letter-spacing:0;text-transform:none;color:var(--muted);}
@media(max-width:640px){.film-copy,.lightship-detail-head{grid-template-columns:1fr;gap:var(--space-3);}.film-block{margin-top:var(--space-6);}.film-play{padding:1rem;}.lightship-detail-columns{grid-template-columns:1fr;gap:var(--space-6);}.lightship-detail-column figure + figure{margin-top:var(--space-6);}}


.caption-detail{display:block;margin-top:.45rem;font-family:var(--font-sans);font-size:var(--type-body);line-height:1.4;letter-spacing:-.02em;text-transform:none;color:var(--muted);max-width:42ch;}
@media(max-width:640px){.caption-detail{max-width:none;}}

/* V25 — preserve older sketch/source material at a more honest editorial scale. */
.sketch-sheet { width: min(74%, 1160px); margin-left: auto; margin-right: auto; }
.sketch-sheet img { width: 100%; height: auto; }
@media (max-width: 900px) { .sketch-sheet { width: 86%; } }
@media (max-width: 640px) { .sketch-sheet { width: 100%; } }

/* V26 — Jeep / Dodge image and presentation refinement. */
#jeep-work.jeep-work { overflow: clip; }
#jeep-work .jeep-archive-sheet {
  width: min(66%, 980px);
  margin-left: auto;
  margin-right: auto;
}
#jeep-work .jeep-archive-sheet img {
  display:block;
  width:100%;
  height:auto;
  background:#fff;
  box-shadow:0 0 0 1px rgba(17,17,17,.10);
}
#jeep-work .jeep-archive-sheet .image-caption {
  max-width: 52ch;
}
#jeep-work .jeep-production-pair figure {
  min-width:0;
}
#jeep-work .jeep-production-pair figure img {
  width:100%;
  aspect-ratio:3 / 2;
  object-fit:cover;
  background:#ddd9d0;
}
#jeep-work .jeep-production-pair figure:first-child img { object-position:center 50%; }
#jeep-work .jeep-production-pair figure:last-child img { object-position:center 52%; }
#jeep-work .jeep-production-wide img {
  display:block;
  width:100%;
  height:auto;
}
.jeep-hero-media {
  overflow:hidden;
  background:#ddd9d0;
}
.jeep-hero-media img {
  display:block;
  width:100%;
  height:auto;
}
@media (max-width:900px){
  #jeep-work .jeep-archive-sheet { width:78%; }
}
@media (max-width:640px){
  #jeep-work .jeep-archive-sheet { width:100%; }
  #jeep-work .jeep-production-pair figure img { aspect-ratio:auto; object-fit:contain; }
}

/* V28 — Terrascout final curation / development-to-market closeout. */
#terrascout-work .terrascout-origin-pair img,
#terrascout-work .terrascout-system-pair img,
#terrascout-work .terrascout-tech-pair img,
#terrascout-work .terrascout-development-pair img { background:#f7f7f4; }
#terrascout-work .terrascout-tech-pair img { box-shadow:0 0 0 1px rgba(17,17,17,.08); }
#terrascout-work .terrascout-origin-pair figure:first-child { align-self:end; }
#terrascout-work .sketch-sheet { margin-top:var(--space-7); }
#terrascout-work .sketch-sheet img { box-shadow:0 0 0 1px rgba(17,17,17,.08); }
#terrascout-work .terrascout-system-pair { align-items:center; }
@media(max-width:640px){
  #terrascout-work .sketch-sheet { margin-top:var(--space-6); }
}


/* V28 — Terrascout final curation. */
#terrascout-work .terrascout-concept-pair {
  grid-template-columns: 5fr 4fr;
  align-items:start;
  margin-top:var(--space-6);
}
#terrascout-work .terrascout-concept-pair figure { min-width:0; }
#terrascout-work .terrascout-concept-pair figure:first-child { width:min(78%,560px); justify-self:end; margin-top:0; }
#terrascout-work .terrascout-concept-pair figure:last-child { width:min(72%,440px); justify-self:start; margin-top:7vw; }
#terrascout-work .terrascout-concept-pair img {
  display:block; width:100%; height:auto; background:#f7f7f4;
  box-shadow:0 0 0 1px rgba(17,17,17,.08);
}
#terrascout-work .terrascout-footwear-range { margin-top:var(--space-7); }
#terrascout-work .terrascout-footwear-range img { display:block; width:100%; height:auto; }
#terrascout-work .terrascout-gear-pair figure { min-width:0; }
#terrascout-work .terrascout-gear-pair figure img { display:block; width:100%; height:auto; }
@media(max-width:900px){
  #terrascout-work .terrascout-concept-pair figure:first-child { width:88%; }
  #terrascout-work .terrascout-concept-pair figure:last-child { width:82%; }
}
@media(max-width:640px){
  #terrascout-work .terrascout-concept-pair { grid-template-columns:1fr; gap:var(--space-6); }
  #terrascout-work .terrascout-concept-pair figure:first-child,
  #terrascout-work .terrascout-concept-pair figure:last-child { width:100%; margin-top:0; justify-self:stretch; }
}


/* V29 — Lightship genesis + SXSW 2023 launch refinement. */
#lightship-work .lightship-genesis .sketch-sheet{margin-top:var(--space-7);}
#lightship-work .lightship-genesis .sketch-sheet img{background:#fff;box-shadow:0 0 0 1px rgba(17,17,17,.08);}
#lightship-work .lightship-genesis .lost-intro{margin-bottom:var(--space-2);}
@media(max-width:640px){#lightship-work .lightship-genesis .sketch-sheet{margin-top:var(--space-6);}}


/* V30 — Lightship Genesis interior-development edit. */
#lightship-work .lightship-genesis-interior{
  margin-top:var(--space-9);
  padding-top:var(--space-4);
  border-top:1px solid var(--rule);
}
#lightship-work .lightship-genesis-interior-head{
  display:grid;
  grid-template-columns:3fr 9fr;
  gap:var(--grid-gap);
  align-items:end;
  margin-bottom:var(--space-6);
}
#lightship-work .lightship-genesis-interior-head h4{
  margin:0;
  font-size:var(--step-2);
  line-height:1;
  letter-spacing:-.04em;
  font-weight:500;
  max-width:18ch;
}
#lightship-work .lightship-genesis-interior-head p{
  margin:0;
  color:var(--muted);
  max-width:58ch;
}
#lightship-work .lightship-genesis-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--grid-gap);
  align-items:start;
}
#lightship-work .lightship-genesis-grid figure{min-width:0;margin:0;}
#lightship-work .lightship-genesis-grid img{display:block;width:100%;height:auto;background:#f7f7f4;}
#lightship-work .lightship-genesis-grid .lg-layout{grid-column:1/8;}
#lightship-work .lightship-genesis-grid .lg-mood{grid-column:9/13;margin-top:7vw;}
#lightship-work .lightship-genesis-grid .lg-prototype{grid-column:2/8;margin-top:var(--space-8);}
#lightship-work .lightship-genesis-grid .lg-market{grid-column:9/13;margin-top:11vw;}
#lightship-work .lightship-genesis-grid .lg-sequence{grid-column:1/10;margin-top:var(--space-8);}
#lightship-work .lightship-genesis-grid .lg-sequence img{box-shadow:0 0 0 1px rgba(17,17,17,.08);}
#lightship-work .lightship-genesis-grid .lg-render{grid-column:8/13;margin-top:10vw;}
#lightship-work .lightship-genesis-grid .lg-bed{grid-column:2/8;margin-top:var(--space-8);}
#lightship-work .lightship-genesis-grid .lg-goals{grid-column:9/13;margin-top:12vw;}
#lightship-work .lightship-genesis-grid .lg-v1a{grid-column:3/10;margin-top:var(--space-8);}
#lightship-work .lightship-genesis-grid figcaption{max-width:56ch;}
@media(max-width:900px){
  #lightship-work .lightship-genesis-grid .lg-layout{grid-column:1/7;}
  #lightship-work .lightship-genesis-grid .lg-mood{grid-column:7/13;}
  #lightship-work .lightship-genesis-grid .lg-prototype{grid-column:1/8;}
  #lightship-work .lightship-genesis-grid .lg-market{grid-column:8/13;}
  #lightship-work .lightship-genesis-grid .lg-sequence{grid-column:1/13;}
  #lightship-work .lightship-genesis-grid .lg-render{grid-column:7/13;}
  #lightship-work .lightship-genesis-grid .lg-bed{grid-column:1/8;}
  #lightship-work .lightship-genesis-grid .lg-goals{grid-column:8/13;}
  #lightship-work .lightship-genesis-grid .lg-v1a{grid-column:2/12;}
}
@media(max-width:640px){
  #lightship-work .lightship-genesis-interior{margin-top:var(--space-8);}
  #lightship-work .lightship-genesis-interior-head{grid-template-columns:1fr;gap:var(--space-3);}
  #lightship-work .lightship-genesis-grid{grid-template-columns:1fr;gap:var(--space-6);}
  #lightship-work .lightship-genesis-grid .lg-layout,
  #lightship-work .lightship-genesis-grid .lg-mood,
  #lightship-work .lightship-genesis-grid .lg-prototype,
  #lightship-work .lightship-genesis-grid .lg-market,
  #lightship-work .lightship-genesis-grid .lg-sequence,
  #lightship-work .lightship-genesis-grid .lg-render,
  #lightship-work .lightship-genesis-grid .lg-bed,
  #lightship-work .lightship-genesis-grid .lg-goals,
  #lightship-work .lightship-genesis-grid .lg-v1a{grid-column:1;margin-top:0;}
}


/* V33 — Willco cohesion pass. */
#willco-design-work .willco-client + .willco-client{padding-top:var(--space-10);}
#willco-design-work .willco-tnf-package{width:min(92%,1420px);margin-left:auto;margin-right:auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(14px,1.4vw,24px);align-items:start;}
#willco-design-work .willco-tnf-package figure{min-width:0;background:#fff;padding:clamp(12px,1.1vw,18px);box-shadow:0 0 0 1px rgba(17,17,17,.08);}
#willco-design-work .willco-tnf-package img{display:block;width:100%;height:auto;background:#fff;}
#willco-design-work .willco-tnf-lead{grid-column:1 / span 6;grid-row:1;margin-top:3.8vw;}
#willco-design-work .willco-tnf-back{grid-column:8 / span 4;grid-row:1;}
#willco-design-work .willco-tnf-front{grid-column:2 / span 5;grid-row:2;margin-top:.8vw;}
#willco-design-work .willco-tnf-lowrear{grid-column:8 / span 4;grid-row:2;margin-top:3.2vw;}
#willco-design-work .willco-pair{display:grid;grid-template-columns:7fr 5fr;gap:var(--grid-gap);align-items:start;margin-top:var(--space-6);}
#willco-design-work .willco-pair figure{min-width:0;}
#willco-design-work .willco-pair figure:last-child{margin-top:7vw;}
#willco-design-work .willco-media img{display:block;width:100%;height:auto;}
#willco-design-work .willco-logo-refine{margin-top:var(--space-8);}
#willco-design-work .willco-logo-refine img{display:block;width:100%;height:auto;background:#fff;box-shadow:0 0 0 1px rgba(17,17,17,.08);}
#willco-design-work .willco-bike-pair{width:min(96%,1560px);margin:var(--space-8) auto 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,1.8vw,30px);align-items:start;}
#willco-design-work .willco-bike-pair figure{min-width:0;background:#d8d8d8;padding:clamp(10px,1vw,16px);margin-top:0;}
#willco-design-work .willco-bike-pair figure:first-child{grid-column:1 / span 6;margin-top:3.5vw;}
#willco-design-work .willco-bike-pair figure:last-child{grid-column:6 / span 7;}
#willco-design-work .willco-bike-pair img{display:block;width:104%;max-width:none;height:auto;margin-left:-2%;}
@media(max-width:900px){
  #willco-design-work .willco-tnf-package{width:96%;grid-template-columns:repeat(6,minmax(0,1fr));}
  #willco-design-work .willco-tnf-lead{grid-column:1 / span 4;grid-row:1;margin-top:2.5vw;}
  #willco-design-work .willco-tnf-back{grid-column:5 / span 2;grid-row:1;}
  #willco-design-work .willco-tnf-front{grid-column:1 / span 4;grid-row:2;margin-top:0;}
  #willco-design-work .willco-tnf-lowrear{grid-column:4 / span 3;grid-row:2;margin-top:1.8vw;}
  #willco-design-work .willco-bike-pair{grid-template-columns:repeat(6,minmax(0,1fr));}
  #willco-design-work .willco-bike-pair figure:first-child{grid-column:1 / span 3;margin-top:2vw;}
  #willco-design-work .willco-bike-pair figure:last-child{grid-column:3 / span 4;}
}
@media(max-width:640px){
  #willco-design-work .willco-client + .willco-client{padding-top:var(--space-8);}
  #willco-design-work .willco-tnf-package{width:100%;grid-template-columns:1fr;gap:var(--space-5);}
  #willco-design-work .willco-tnf-lead,#willco-design-work .willco-tnf-back,#willco-design-work .willco-tnf-front,#willco-design-work .willco-tnf-lowrear{grid-column:1;grid-row:auto;margin-top:0;}
  #willco-design-work .willco-pair,#willco-design-work .willco-bike-pair{grid-template-columns:1fr;gap:var(--space-6);margin-top:var(--space-6);}
  #willco-design-work .willco-pair figure:first-child,#willco-design-work .willco-pair figure:last-child,#willco-design-work .willco-bike-pair figure:first-child,#willco-design-work .willco-bike-pair figure:last-child{grid-column:1;margin-top:0;}
  #willco-design-work .willco-bike-pair img{width:100%;margin-left:0;}
  #willco-design-work .willco-logo-refine{margin-top:var(--space-6);}
}

/* V34 — expand Willco with additional Serial 1 and UBCO work while keeping the section cohesive. */
#willco-design-work .willco-story-pair{width:min(96%,1560px);margin:var(--space-8) auto 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,1.8vw,30px);align-items:start;}
#willco-design-work .willco-story-pair .willco-media{min-width:0;}
#willco-design-work .willco-story-pair .willco-media img{display:block;width:100%;height:auto;box-shadow:0 0 0 1px rgba(17,17,17,.08);}
#willco-design-work .willco-story-pair .willco-story-sheet{grid-column:1 / span 6;}
#willco-design-work .willco-story-pair .willco-story-sheet img{background:#fff;}
#willco-design-work .willco-story-pair .willco-story-mural{grid-column:7 / span 6;margin-top:4vw;}
#willco-design-work .willco-story-pair .willco-story-mural img{background:#f3f1ec;}
#willco-design-work .willco-poster-pair{width:min(96%,1560px);margin:var(--space-7) auto 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,1.8vw,30px);align-items:start;}
#willco-design-work .willco-poster-pair .willco-media{min-width:0;}
#willco-design-work .willco-poster-pair .willco-media img{display:block;width:100%;height:auto;box-shadow:0 0 0 1px rgba(17,17,17,.08);background:#efefef;}
#willco-design-work .willco-poster-pair .willco-story-billboard{grid-column:1 / span 5;margin-top:3.2vw;}
#willco-design-work .willco-poster-pair .willco-story-poster{grid-column:6 / span 7;}
#willco-design-work .willco-marque-sheet{width:min(86%,1380px);margin:var(--space-7) auto 0;}
#willco-design-work .willco-marque-sheet img{display:block;width:100%;height:auto;background:#fff;box-shadow:0 0 0 1px rgba(17,17,17,.08);}
#willco-design-work .ubco-pair{width:min(96%,1560px);margin:var(--space-8) auto 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,1.8vw,30px);align-items:start;}
#willco-design-work .ubco-pair .willco-media{min-width:0;}
#willco-design-work .ubco-pair .willco-media img{display:block;width:100%;height:auto;box-shadow:0 0 0 1px rgba(17,17,17,.08);background:#d9ddd1;}
#willco-design-work .ubco-pair .ubco-sheet{grid-column:1 / span 7;}
#willco-design-work .ubco-pair .ubco-stack{grid-column:9 / span 4;display:grid;gap:clamp(18px,1.8vw,26px);}
#willco-design-work .ubco-pair .ubco-stack figure{margin:0;}
@media (max-width: 900px){
  #willco-design-work .willco-story-pair,
  #willco-design-work .willco-poster-pair,
  #willco-design-work .ubco-pair{grid-template-columns:1fr;}
  #willco-design-work .willco-story-pair .willco-story-sheet,
  #willco-design-work .willco-story-pair .willco-story-mural,
  #willco-design-work .willco-poster-pair .willco-story-billboard,
  #willco-design-work .willco-poster-pair .willco-story-poster,
  #willco-design-work .ubco-pair .ubco-sheet,
  #willco-design-work .ubco-pair .ubco-stack{grid-column:auto;margin-top:0;}
  #willco-design-work .willco-story-pair .willco-story-mural,
  #willco-design-work .willco-poster-pair .willco-story-billboard{margin-top:0;}
  #willco-design-work .willco-marque-sheet{width:100%;}
}

/* V36 — Serial 1 campaign pair + brand-first sequencing. */
#willco-design-work .willco-serial-campaign{width:min(94%,1500px);margin:var(--space-9) auto 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,1.8vw,30px);align-items:start;}
#willco-design-work .willco-serial-campaign figure{margin:0;min-width:0;}
#willco-design-work .willco-serial-campaign img{display:block;width:100%;height:auto;box-shadow:0 0 0 1px rgba(17,17,17,.08);background:#121212;}
#willco-design-work .willco-serial-campaign .campaign-a{grid-column:1 / span 6;}
#willco-design-work .willco-serial-campaign .campaign-b{grid-column:7 / span 6;margin-top:5vw;}
@media (max-width: 900px){#willco-design-work .willco-serial-campaign{grid-template-columns:1fr;gap:var(--space-6);}#willco-design-work .willco-serial-campaign .campaign-a,#willco-design-work .willco-serial-campaign .campaign-b{grid-column:auto;margin-top:0;}}


/* V37 — evidence, scale, social proof. Swiss/modern proof system. */
.home-outcomes{position:relative;min-height:145vh;padding-top:var(--space-7);padding-bottom:var(--space-8);}
.home-outcomes .outcomes-pin{position:sticky;top:12vh;min-height:72vh;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);align-content:start;}
.outcomes-head{grid-column:1/13;display:grid;grid-template-columns:3fr 9fr;gap:var(--grid-gap);border-top:1px solid var(--rule);padding-top:var(--space-3);margin-bottom:clamp(2.5rem,6vw,6rem);}
.outcomes-head .eyebrow{align-self:start;}
.outcomes-head-copy{max-width:48ch;font-size:var(--type-body);line-height:1.4;color:var(--muted);}
.outcomes-grid{grid-column:1/13;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);align-items:end;}
.outcome-item{display:block;color:inherit;text-decoration:none;border-top:1px solid var(--rule);padding-top:.8rem;will-change:transform;transform:translate3d(0,0,0);}
.outcome-item:nth-child(1){grid-column:1/span 4;}
.outcome-item:nth-child(2){grid-column:5/span 8;}
.outcome-item:nth-child(3){grid-column:1/span 7;margin-top:clamp(2rem,5vw,5rem);}
.outcome-item:nth-child(4){grid-column:9/span 4;margin-top:clamp(2rem,5vw,5rem);}
.outcome-number{display:block;font-size:clamp(3.7rem,8.7vw,9.2rem);line-height:.78;letter-spacing:-.075em;font-weight:520;white-space:nowrap;}
.outcome-item:nth-child(2) .outcome-number{font-size:clamp(3.2rem,7.7vw,8.4rem);}
.outcome-label{display:grid;grid-template-columns:auto 1fr;gap:.75rem;margin-top:1rem;font-family:var(--font-mono);font-size:var(--step--1);line-height:1.25;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);}
.outcome-label b{font-weight:500;color:var(--fg);}
.outcomes-foot{grid-column:1/13;margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--rule);display:grid;grid-template-columns:3fr 9fr;gap:var(--grid-gap);font-size:var(--step--1);line-height:1.4;color:var(--muted);}
.outcomes-foot p{grid-column:4/11;max-width:65ch;}

.case-proof-section{padding-top:var(--space-9);padding-bottom:var(--space-9);}
.proof-head{display:grid;grid-template-columns:3fr 9fr;gap:var(--grid-gap);align-items:end;border-top:1px solid var(--rule);padding-top:var(--space-3);margin-bottom:var(--space-6);}
.proof-head h2{font-size:var(--step-4);line-height:.9;letter-spacing:-.05em;max-width:13ch;}
.proof-head .case-number{align-self:start;}
.proof-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);align-items:start;margin-bottom:var(--space-8);}
.proof-stat{border-top:1px solid var(--rule);padding-top:.8rem;min-height:13rem;}
.proof-stat:nth-child(1){grid-column:1/span 3;}
.proof-stat:nth-child(2){grid-column:4/span 3;margin-top:3.2vw;}
.proof-stat:nth-child(3){grid-column:7/span 3;}
.proof-stat:nth-child(4){grid-column:10/span 3;margin-top:6.4vw;}
.proof-metric{display:block;font-size:clamp(2.9rem,5.6vw,6.4rem);line-height:.82;letter-spacing:-.065em;font-weight:520;}
.proof-metric.compact{font-size:clamp(2.25rem,4.5vw,5.2rem);}
.proof-kicker{display:block;margin-top:1rem;font-family:var(--font-mono);font-size:var(--step--1);line-height:1.2;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);}
.proof-desc{margin-top:.45rem;font-size:var(--type-body);line-height:1.4;max-width:22ch;}
.proof-social{display:grid;grid-template-columns:5fr 7fr;gap:var(--grid-gap);align-items:start;border-top:1px solid var(--rule);padding-top:var(--space-5);margin-top:var(--space-4);}
.proof-quote{grid-column:1/7;margin:0;font-size:clamp(2.4rem,5vw,5.6rem);line-height:.93;letter-spacing:-.05em;max-width:12ch;}
.proof-quote-source{grid-column:8/13;align-self:end;padding-bottom:.5rem;font-family:var(--font-mono);font-size:var(--step--1);line-height:1.35;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);}
.proof-truth{margin-top:var(--space-7);display:grid;grid-template-columns:3fr 9fr;gap:var(--grid-gap);padding-top:var(--space-3);border-top:1px solid var(--rule);}
.proof-truth .eyebrow{align-self:start;}
.proof-truth-copy{grid-column:4/11;font-size:var(--type-body);line-height:1.4;letter-spacing:-.035em;max-width:28ch;}
.proof-truth-copy p+p{margin-top:1rem;font-size:var(--type-body);line-height:1.4;letter-spacing:-.01em;color:var(--muted);max-width:52ch;}
.proof-sources{margin-top:var(--space-6);padding-top:.85rem;border-top:1px solid var(--rule);display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;font-family:var(--font-mono);font-size:10px;line-height:1.3;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);}
.proof-source-label{color:var(--fg);}
.proof-source-link{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;}
.proof-source-link:hover{color:var(--fg);}
.proof-source-sep{opacity:.5;}

.case-section .scar-lead{font-size:var(--type-body);line-height:1.4;letter-spacing:-.035em;margin-bottom:1.4rem;max-width:28ch;}
.case-section .scar-note{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:.65rem;}

@media(max-width:900px){
  .home-outcomes{min-height:auto;padding-block:var(--space-8);}
  .home-outcomes .outcomes-pin{position:relative;top:auto;min-height:0;}
  .outcome-item{transform:none!important;}
  .outcome-item:nth-child(1),.outcome-item:nth-child(2),.outcome-item:nth-child(3),.outcome-item:nth-child(4){grid-column:span 6;margin-top:var(--space-5);}
  .proof-stat:nth-child(1),.proof-stat:nth-child(2),.proof-stat:nth-child(3),.proof-stat:nth-child(4){grid-column:span 6;margin-top:0;min-height:10rem;}
}
@media(max-width:640px){
  .outcomes-head,.outcomes-foot,.proof-head,.proof-truth{grid-template-columns:1fr;gap:var(--space-3);}
  .outcomes-grid{grid-template-columns:1fr;}
  .outcome-item:nth-child(1),.outcome-item:nth-child(2),.outcome-item:nth-child(3),.outcome-item:nth-child(4){grid-column:1;margin-top:var(--space-5);}
  .outcome-number,.outcome-item:nth-child(2) .outcome-number{font-size:clamp(3.5rem,18vw,6rem);}
  .outcomes-foot p{grid-column:1;}
  .proof-grid{grid-template-columns:1fr 1fr;gap:var(--space-6) var(--grid-gap);}
  .proof-stat:nth-child(1),.proof-stat:nth-child(2),.proof-stat:nth-child(3),.proof-stat:nth-child(4){grid-column:auto;min-height:0;}
  .proof-social{grid-template-columns:1fr;gap:var(--space-5);}
  .proof-quote,.proof-quote-source{grid-column:1;}
  .proof-truth-copy{grid-column:1;}
}
@media(prefers-reduced-motion:reduce){.outcome-item{transform:none!important;}}


/* V41 — typographic choreography. One persistent name, fixed nav, center-triggered definitions, balanced proof field. */
.header-inner{position:relative;}
.site-header.home-route{border-bottom-color:transparent!important;}
.site-header.home-route .wordmark{visibility:hidden;pointer-events:none;}
@media(min-width:641px){
  .site-header.home-route .header-inner{justify-content:flex-end;}
  .site-header.home-route .site-nav{position:absolute;right:0;top:50%;transform:translateY(-50%);margin:0;}
}

.home-opening{position:relative;overflow:visible;}
.opening-hero{position:relative;min-height:108vh;}
.opening-hero-inner{position:relative;min-height:100svh;padding-top:clamp(1.5rem,4vh,3.5rem);}
.opening-kicker{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);will-change:transform,opacity;}
.opening-name-stage{height:calc(100svh - 66px);pointer-events:none;}
.opening-name{position:fixed;left:0;top:0;z-index:58;margin:0;font-size:clamp(5.4rem,12.25vw,14.1rem);line-height:.82;letter-spacing:-.058em;font-weight:500;text-transform:uppercase;text-align:left;white-space:nowrap;transform-origin:0 0;will-change:transform;pointer-events:none;backface-visibility:hidden;}
.opening-proposition{position:absolute;right:0;bottom:clamp(3.5rem,10vh,8rem);width:min(34rem,42%);font-size:var(--type-body);line-height:1.4;letter-spacing:-.025em;will-change:transform,opacity;}

/* Thesis deliberately overlaps the hero: the new thought arrives before the first one has fully left. */
.opening-thesis-v39{min-height:104vh;display:flex;align-items:flex-start;margin-top:-34vh;padding-top:clamp(30vh,34vh,38vh);padding-bottom:clamp(8rem,14vh,12rem);}
.opening-thesis-v39 p{font-size:clamp(4rem,8.15vw,9.8rem);line-height:.86;letter-spacing:-.062em;max-width:12.25ch;margin:0;}
.opening-thesis-v39 .thesis-line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em;}
.opening-thesis-v39 .thesis-line>span{display:block;will-change:transform,opacity;}

.opening-arc{padding-block:clamp(5rem,9vh,8rem) clamp(13rem,24vh,20rem);}
.opening-arc-list{display:grid;gap:clamp(13rem,31vh,26rem);}
.arc-item{display:grid;grid-template-columns:minmax(0,6.9fr) minmax(25rem,5.1fr);gap:clamp(2.5rem,5vw,7rem);align-items:center;min-height:42vh;will-change:opacity;}
.arc-word{font-size:clamp(4.7rem,9.35vw,11.1rem);line-height:.8;letter-spacing:-.064em;font-weight:500;text-transform:uppercase;white-space:nowrap;transform-origin:left center;will-change:transform,opacity;}
.arc-copy{font-size:clamp(.78rem,.68rem + .18vw,1rem);line-height:1;letter-spacing:-.012em;color:var(--muted);max-width:none;white-space:nowrap;opacity:0;will-change:transform,opacity;}
.arc-item:nth-child(1){padding-left:0;}
.arc-item:nth-child(2){padding-left:5vw;}
.arc-item:nth-child(3){padding-left:15vw;}
.arc-item:nth-child(4){padding-left:5vw;}
.arc-item:nth-child(5){padding-left:0;}

.opening-proof{position:relative;min-height:188vh;padding-bottom:clamp(8rem,16vh,14rem);}
.opening-proof-pin{position:sticky;top:66px;height:calc(100svh - 66px);display:flex;align-items:center;}
.opening-proof-grid{width:100%;height:min(74vh,820px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;column-gap:clamp(7rem,12vw,14rem);row-gap:clamp(6rem,12vh,10rem);align-content:space-between;align-items:start;}
.proof-tile{color:inherit;text-decoration:none;min-width:0;opacity:0;will-change:transform,opacity;}
.proof-number{display:block;font-size:clamp(7.8rem,14.2vw,17.4rem);line-height:.68;letter-spacing:-.073em;font-weight:520;white-space:nowrap;font-variant-numeric:tabular-nums lining-nums;transform-origin:left bottom;}
.proof-label{display:flex;align-items:baseline;gap:.72em;margin-top:clamp(1.1rem,2vh,1.65rem);font-family:var(--font-mono);font-size:clamp(.62rem,.56rem + .12vw,.76rem);line-height:1;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;will-change:transform,opacity;}
.proof-label b{display:inline;color:var(--ink);font-weight:600;margin:0;}
.proof-label b::after{content:'';}
.proof-tile:hover .proof-number,.proof-tile:focus-visible .proof-number{transform:translate3d(0,-.025em,0);}
.proof-tile:hover .proof-label,.proof-tile:focus-visible .proof-label{transform:translateX(.3rem);color:var(--fg);}
.proof-number,.proof-label{transition:transform 320ms var(--ease),color 220ms ease;}

.opening-work-heading{padding-top:var(--space-5);border-top:0;margin-bottom:var(--space-5);}

@media(max-width:1100px){
  .arc-item{grid-template-columns:minmax(0,6.2fr) minmax(20rem,5.8fr);gap:2rem;}
  .arc-copy{font-size:.78rem;}
  .opening-proof-grid{column-gap:clamp(3rem,7vw,6rem);}
  .proof-number{font-size:clamp(6.5rem,13.6vw,12rem);}
  .proof-label{font-size:.6rem;gap:.55em;}
}
@media(max-width:900px){
  .opening-name{font-size:clamp(4.7rem,12vw,9rem);}
  .opening-proposition{width:min(30rem,48%);}
  .opening-thesis-v39 p{font-size:clamp(3.7rem,10vw,7.5rem);}
  .arc-item{grid-template-columns:minmax(0,5.9fr) minmax(17rem,6.1fr);gap:1.5rem;}
  .arc-word{font-size:clamp(4rem,10vw,8rem);}
  .arc-copy{font-size:.7rem;}
  .proof-number{font-size:clamp(6rem,13vw,10rem);}
}
@media(max-width:640px){
  .site-header.home-route .wordmark{visibility:hidden;}
  .opening-hero{min-height:126vh;}
  .opening-hero-inner{padding-top:var(--space-4);}
  .opening-name{font-size:clamp(3.35rem,15vw,5.75rem);letter-spacing:-.055em;}
  .opening-proposition{left:0;right:auto;bottom:var(--space-7);width:92%;max-width:22ch;}
  .opening-thesis-v39{min-height:84vh;margin-top:-24vh;padding-top:30vh;padding-bottom:var(--space-9);}
  .opening-thesis-v39 p{font-size:clamp(3rem,13.5vw,5.15rem);max-width:10.5ch;}
  .opening-arc{padding-block:var(--space-9) var(--space-10);}
  .opening-arc-list{gap:clamp(9rem,24vh,14rem);}
  .arc-item{display:block;padding-left:0!important;min-height:30vh;}
  .arc-word{font-size:clamp(3.4rem,15.5vw,5.7rem);white-space:normal;}
  .arc-copy{margin-top:var(--space-3);margin-left:0;font-size:.72rem;max-width:92vw;white-space:normal;}
  .opening-proof{min-height:176vh;}
  .opening-proof-pin{top:66px;height:calc(100svh - 66px);}
  .opening-proof-grid{height:72vh;column-gap:var(--grid-gap);row-gap:4rem;}
  .proof-number{font-size:clamp(4rem,17vw,6rem);}
  .proof-label{display:block;font-size:8px;white-space:normal;line-height:1.25;}
  .proof-label b{display:block;margin-bottom:.2rem;}
}
@media(prefers-reduced-motion:reduce){
  .site-header.home-route .wordmark{visibility:visible;}
  .opening-name{position:relative;left:auto;top:auto;transform:none!important;display:block;margin-top:clamp(8rem,20vh,15rem);}
  .opening-name-stage{height:auto;}
  .opening-kicker,.opening-proposition,.opening-thesis-v39 .thesis-line>span,.arc-item,.arc-word,.arc-copy,.proof-tile,.proof-label{opacity:1!important;transform:none!important;}
  .opening-proof{min-height:auto;padding-block:var(--space-9);}
  .opening-proof-pin{position:relative;top:auto;height:auto;}
}

/* V42 — accumulating story arc. Five scales resolve into one visible stack before proof. */
.opening-arc{position:relative;height:275svh;padding:0!important;margin:0;}
.opening-arc-list{position:sticky;top:66px;height:calc(100svh - 66px);display:block!important;overflow:hidden;gap:0!important;}
.opening-arc .arc-item{position:absolute;inset:0;width:100%;height:100%;padding-left:0!important;display:grid;grid-template-columns:minmax(0,6.35fr) minmax(23rem,5.65fr);gap:clamp(2.25rem,4.5vw,6rem);align-items:center;min-height:0;opacity:0;pointer-events:none;will-change:transform,opacity;}
.opening-arc .arc-word{font-size:clamp(4.35rem,7.55vw,9rem);line-height:.78;letter-spacing:-.062em;font-weight:500;text-transform:uppercase;white-space:nowrap;transform-origin:left center;will-change:transform,opacity;}
.opening-arc .arc-copy{font-size:clamp(.76rem,.68rem + .16vw,.96rem);line-height:1;letter-spacing:-.01em;color:var(--muted);white-space:nowrap;max-width:none;opacity:0;will-change:transform,opacity;}
@media(max-width:1100px){
  .opening-arc .arc-item{grid-template-columns:minmax(0,6fr) minmax(19rem,6fr);gap:2rem;}
  .opening-arc .arc-word{font-size:clamp(4rem,8.2vw,7.2rem);}
  .opening-arc .arc-copy{font-size:.72rem;}
}
@media(max-width:760px){
  .opening-arc{height:255svh;}
  .opening-arc-list{top:62px;height:calc(100svh - 62px);}
  .opening-arc .arc-item{grid-template-columns:minmax(0,5.2fr) minmax(0,6.8fr);gap:1rem;}
  .opening-arc .arc-word{font-size:clamp(2.9rem,12vw,5rem);white-space:nowrap;}
  .opening-arc .arc-copy{font-size:clamp(.58rem,1.8vw,.7rem);line-height:1.08;white-space:normal;max-width:32ch;}
}
@media(max-width:520px){
  .opening-arc{height:245svh;}
  .opening-arc .arc-item{grid-template-columns:1fr;align-content:center;gap:.45rem;}
  .opening-arc .arc-word{font-size:clamp(2.75rem,13.5vw,4.25rem);}
  .opening-arc .arc-copy{font-size:.62rem;max-width:40ch;}
}
@media(prefers-reduced-motion:reduce){
  .opening-arc{height:auto!important;padding-block:var(--space-9)!important;}
  .opening-arc-list{position:relative!important;top:auto!important;height:auto!important;display:grid!important;gap:var(--space-5)!important;overflow:visible!important;}
  .opening-arc .arc-item{position:relative!important;inset:auto!important;height:auto!important;display:grid!important;grid-template-columns:5fr 7fr!important;gap:var(--grid-gap)!important;opacity:1!important;transform:none!important;}
  .opening-arc .arc-word,.opening-arc .arc-copy{opacity:1!important;transform:none!important;}
}


/* V43 — disciplined accumulating arc: direct-to-stack motion, persistent descriptors, shared opening inset. */
:root{--opening-pad:clamp(2rem,4vw,4rem);}

/* One inset language across the entire opening. */
@media(min-width:641px){
  .site-header.home-route .header-inner{max-width:none;width:100%;padding-inline:var(--opening-pad)!important;}
  .site-header.home-route .site-nav{right:var(--opening-pad)!important;}
}
.opening-hero-inner,
.opening-thesis-v39 .site-shell,
.opening-arc-list,
.opening-proof-grid{max-width:none!important;padding-inline:var(--opening-pad)!important;}

/* Give the thesis real leading. Reveal through opacity/translation, never by clipping glyphs. */
.opening-thesis-v39{min-height:96vh;margin-top:-30vh;padding-top:clamp(27vh,31vh,34vh);padding-bottom:clamp(7rem,12vh,10rem);}
.opening-thesis-v39 p{font-size:clamp(3.9rem,7.45vw,8.9rem);line-height:.94;letter-spacing:-.056em;max-width:11.8ch;margin:0;}
.opening-thesis-v39 .thesis-line{display:block;overflow:visible!important;padding:0!important;margin:0!important;}
.opening-thesis-v39 .thesis-line>span{display:block;will-change:transform,opacity;}

/* The arc is one accumulating composition, not five center-stage cards. */
.opening-arc{height:220svh!important;}
.opening-arc-list{top:66px;height:calc(100svh - 66px);overflow:hidden;}
.opening-arc .arc-item{
  position:absolute;inset:0;width:100%;height:100%;
  display:flex!important;align-items:center;gap:clamp(1.75rem,3vw,4rem);
  padding-left:0!important;opacity:0;pointer-events:none;
  transform:none;will-change:transform,opacity;
}
.opening-arc .arc-word{
  flex:0 0 auto;
  font-size:clamp(4rem,6.6vw,7.9rem);
  line-height:.82;letter-spacing:-.058em;font-weight:500;
  white-space:nowrap;transform-origin:left center;
}
.opening-arc .arc-copy{
  flex:0 1 auto;
  margin:0;
  font-size:clamp(.72rem,.66rem + .13vw,.88rem);
  line-height:1.05;letter-spacing:-.008em;
  color:var(--muted);white-space:nowrap;max-width:none;
  opacity:0;will-change:transform,opacity;
}

/* Proof uses the same outer edge as header and arc. */
.opening-proof-grid{width:100%;}

@media(max-width:1100px){
  :root{--opening-pad:clamp(1.75rem,3.4vw,3rem);}
  .opening-arc .arc-word{font-size:clamp(3.7rem,7vw,6.5rem);}
  .opening-arc .arc-copy{font-size:.7rem;}
}
@media(max-width:760px){
  :root{--opening-pad:clamp(1.25rem,5vw,2rem);}
  .opening-thesis-v39{margin-top:-20vh;padding-top:26vh;}
  .opening-thesis-v39 p{font-size:clamp(3rem,12vw,5.2rem);line-height:.96;max-width:10.5ch;}
  .opening-arc{height:210svh!important;}
  .opening-arc-list{top:62px;height:calc(100svh - 62px);}
  .opening-arc .arc-item{display:grid!important;grid-template-columns:1fr;align-content:center;gap:.35rem;}
  .opening-arc .arc-word{font-size:clamp(2.8rem,11.8vw,4.8rem);}
  .opening-arc .arc-copy{font-size:clamp(.58rem,1.65vw,.68rem);white-space:normal;max-width:44ch;}
}
@media(prefers-reduced-motion:reduce){
  .opening-arc{height:auto!important;padding-block:var(--space-9)!important;}
  .opening-arc-list{position:relative!important;top:auto!important;height:auto!important;display:grid!important;gap:var(--space-5)!important;overflow:visible!important;}
  .opening-arc .arc-item{position:relative!important;inset:auto!important;height:auto!important;display:grid!important;grid-template-columns:5fr 7fr!important;gap:var(--grid-gap)!important;opacity:1!important;transform:none!important;}
  .opening-arc .arc-word,.opening-arc .arc-copy{opacity:1!important;transform:none!important;}
}


/* V44 — final spacing correction: true outer inset + longer resolved stack hold. */
.opening-thesis-v39 .site-shell{width:100%!important;}
.opening-thesis-v39 p{margin-left:clamp(7rem,12vw,12rem);}
.opening-arc{height:230svh!important;}
.opening-arc .arc-item{inset:0 var(--opening-pad)!important;width:auto!important;}
@media(max-width:760px){
  .opening-thesis-v39 p{margin-left:0;}
  .opening-arc{height:215svh!important;}
  .opening-arc .arc-item{inset:0 var(--opening-pad)!important;}
}

/* V45 — diagonal story arc: edge-entry → settle → persistent descriptor. */
.opening-arc{height:195svh!important;}
.opening-arc-list{padding-inline:0!important;}
.opening-arc .arc-item{
  position:absolute!important;inset:auto!important;left:0!important;top:0!important;
  width:max-content!important;height:auto!important;display:block!important;
  opacity:0;pointer-events:none;padding:0!important;margin:0!important;
  will-change:transform,opacity;
}
.opening-arc .arc-word{
  display:block;margin:0!important;line-height:.8!important;
  font-size:clamp(4rem,6.6vw,7.9rem)!important;
  white-space:nowrap!important;
}
.opening-arc .arc-copy{
  display:block;margin:.62rem 0 0 0!important;padding:0!important;
  width:max-content;max-width:none!important;white-space:nowrap!important;
  font-size:clamp(.7rem,.64rem + .12vw,.86rem)!important;line-height:1!important;
  text-align:left!important;color:var(--muted);opacity:0;
  will-change:transform,opacity;
}
@media(max-width:1100px){
  .opening-arc .arc-word{font-size:clamp(3.55rem,7vw,6.2rem)!important;}
  .opening-arc .arc-copy{font-size:.68rem!important;}
}
@media(max-width:760px){
  .opening-arc{height:auto!important;padding-block:var(--space-9)!important;}
  .opening-arc-list{position:relative!important;top:auto!important;height:auto!important;overflow:visible!important;padding-inline:var(--opening-pad)!important;display:grid!important;gap:var(--space-6)!important;}
  .opening-arc .arc-item{position:relative!important;left:auto!important;top:auto!important;width:auto!important;opacity:1!important;transform:none!important;}
  .opening-arc .arc-word{font-size:clamp(2.8rem,12vw,4.6rem)!important;}
  .opening-arc .arc-copy{margin-top:.45rem!important;white-space:normal!important;width:auto!important;max-width:42ch!important;opacity:1!important;transform:none!important;}
}
@media(prefers-reduced-motion:reduce){
  .opening-arc .arc-item,.opening-arc .arc-word,.opening-arc .arc-copy{opacity:1!important;transform:none!important;}
}



/* V46 — horizontal motion language + company-name reveals. */
.opening-arc{height:215svh!important;}
.opening-proof{min-height:205vh!important;}
.opening-arc,.opening-proof,#home-work{overflow-x:clip;}

/* Proof is spatially stable; motion happens only on x. */
.proof-tile{transform:none;}

/* The Selected Work section now carries the same typographic authority as the opening. */
#home-work{padding-top:clamp(5rem,10vh,9rem);}
#home-work .opening-work-heading{margin-bottom:clamp(5rem,10vh,8rem);}
#home-work .project-feature,
#home-work .project-card{overflow:visible;}
#home-work .home-project-title{
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 clamp(1.6rem,3.3vh,2.8rem) 0;
  font-size:clamp(3.8rem,6.55vw,7.85rem);
  line-height:.82;
  letter-spacing:-.058em;
  font-weight:500;
  text-transform:uppercase;
  color:var(--ink);
  white-space:nowrap;
  opacity:0;
  will-change:transform,opacity;
}
#home-work .project-feature .home-project-title{
  font-size:clamp(4.8rem,8.4vw,10.1rem);
}
#home-work .home-project-title.is-right{
  margin-left:auto;
  text-align:right;
}
#home-work .project-name{display:none;}
#home-work .project-caption{padding-top:clamp(1.3rem,2.5vh,2rem);}
#home-work .work-pair{
  grid-template-columns:1fr 1fr;
  column-gap:clamp(3rem,5.5vw,7rem);
  row-gap:0;
  align-items:start;
}
#home-work .work-pair .project-card:first-child{margin-bottom:8vw;}
#home-work .project-card .home-project-title{
  font-size:clamp(3.15rem,4.5vw,5.55rem);
}
#home-work .compact-pair{margin-top:clamp(2rem,5vh,4rem);}

@media(max-width:1100px){
  #home-work .work-pair{column-gap:clamp(2rem,4vw,4rem);}
  #home-work .project-card .home-project-title{font-size:clamp(2.65rem,4.35vw,4.7rem);}
}
@media(max-width:760px){
  .opening-arc{height:210svh!important;}
  .opening-proof{min-height:190vh!important;}
  #home-work{padding-top:var(--space-8);}
  #home-work .opening-work-heading{margin-bottom:var(--space-7);}
  #home-work .work-pair{grid-template-columns:1fr;gap:var(--space-8);}
  #home-work .work-pair .project-card:first-child{margin-bottom:0;}
  #home-work .home-project-title,
  #home-work .project-feature .home-project-title,
  #home-work .project-card .home-project-title{
    width:auto;max-width:none;margin-left:0!important;text-align:left!important;
    font-size:clamp(3rem,13vw,5rem);white-space:normal;
  }
}
@media(prefers-reduced-motion:reduce){
  #home-work .home-project-title{opacity:1!important;transform:none!important;}
}



/* V48 — Willco intervention framing + TNF full-line editorial edit. */
.current-grid.current-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));}
#willco-design-work .willco-client-intro{
  display:grid;grid-template-columns:3fr 9fr;gap:var(--grid-gap);
  margin:var(--space-5) 0 var(--space-7);padding-top:var(--space-3);border-top:1px solid var(--rule);
}
#willco-design-work .willco-client-intro .eyebrow{grid-column:1/4;}
#willco-design-work .willco-client-intro-copy{grid-column:4/11;font-size:var(--type-body);line-height:1.4;letter-spacing:-.02em;max-width:46ch;}
#willco-design-work .willco-client-intro-copy p+p{margin-top:1em;color:var(--muted);font-size:var(--type-body);line-height:1.4;letter-spacing:-.01em;}
#willco-design-work .tnf-season-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap);margin:0 0 var(--space-8);
}
#willco-design-work .tnf-season-strip article{min-height:150px;border-top:1px solid var(--rule);padding-top:.75rem;display:flex;flex-direction:column;justify-content:space-between;}
#willco-design-work .tnf-season-strip b{font-size:var(--step-2);font-weight:500;letter-spacing:-.04em;line-height:1;}
#willco-design-work .tnf-season-strip span{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);}
#willco-design-work .tnf-subchapter{margin-top:var(--space-9);}
#willco-design-work .tnf-subchapter:first-of-type{margin-top:var(--space-7);}
#willco-design-work .tnf-subchapter-head{
  display:grid;grid-template-columns:3fr 9fr;gap:var(--grid-gap);align-items:end;
  border-top:1px solid var(--rule);padding-top:var(--space-3);margin-bottom:var(--space-6);
}
#willco-design-work .tnf-subchapter-head h4{font-size:var(--step-2);font-weight:500;letter-spacing:-.04em;line-height:1;max-width:18ch;}
#willco-design-work .tnf-subchapter-head p{grid-column:4/11;color:var(--muted);font-size:var(--type-body);line-height:1.4;max-width:56ch;}
#willco-design-work .tnf-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);align-items:start;}
#willco-design-work .tnf-figure{min-width:0;margin:0;}
#willco-design-work .tnf-figure img{display:block;width:100%;height:auto;background:#fff;box-shadow:0 0 0 1px rgba(17,17,17,.07);}
#willco-design-work .tnf-figure figcaption{padding-top:.75rem;}
#willco-design-work .tnf-a{grid-column:1/8;}
#willco-design-work .tnf-b{grid-column:8/13;margin-top:6vw;}
#willco-design-work .tnf-full{grid-column:1/13;}
#willco-design-work .tnf-centered{grid-column:2/12;}
#willco-design-work .tnf-narrow{grid-column:3/11;}
#willco-design-work .tnf-left8{grid-column:1/9;}
#willco-design-work .tnf-right4{grid-column:9/13;margin-top:7vw;}
#willco-design-work .tnf-half-a{grid-column:1/7;}
#willco-design-work .tnf-half-b{grid-column:7/13;margin-top:4vw;}
#willco-design-work .tnf-gap-top{margin-top:var(--space-7);}
#willco-design-work .willco-boundary{
  display:grid;grid-template-columns:3fr 9fr;gap:var(--grid-gap);margin-top:var(--space-8);padding-top:var(--space-3);border-top:1px solid var(--rule);
}
#willco-design-work .willco-boundary-copy{grid-column:4/11;font-size:var(--type-body);line-height:1.4;letter-spacing:-.02em;max-width:46ch;}
#willco-design-work .willco-boundary-copy p+p{margin-top:1em;font-size:var(--type-body);line-height:1.4;letter-spacing:-.01em;color:var(--muted);}
@media(max-width:900px){
  #willco-design-work .tnf-season-strip{grid-template-columns:repeat(2,1fr);}
  #willco-design-work .tnf-a{grid-column:1/8;}
  #willco-design-work .tnf-b{grid-column:8/13;}
}
@media(max-width:640px){
  .current-grid.current-grid-two{grid-template-columns:1fr;}
  #willco-design-work .willco-client-intro,#willco-design-work .tnf-subchapter-head,#willco-design-work .willco-boundary{grid-template-columns:1fr;gap:var(--space-3);}
  #willco-design-work .willco-client-intro .eyebrow,#willco-design-work .willco-client-intro-copy,#willco-design-work .tnf-subchapter-head p,#willco-design-work .willco-boundary-copy{grid-column:1;}
  #willco-design-work .tnf-season-strip{grid-template-columns:1fr 1fr;gap:var(--space-5) var(--grid-gap);}
  #willco-design-work .tnf-season-strip article{min-height:115px;}
  #willco-design-work .tnf-grid{grid-template-columns:1fr;gap:var(--space-6);}
  #willco-design-work .tnf-a,#willco-design-work .tnf-b,#willco-design-work .tnf-full,#willco-design-work .tnf-centered,#willco-design-work .tnf-narrow,#willco-design-work .tnf-left8,#willco-design-work .tnf-right4,#willco-design-work .tnf-half-a,#willco-design-work .tnf-half-b{grid-column:1;margin-top:0;}
  #willco-design-work .tnf-gap-top{margin-top:0;}
}

/* V48 final QA — remove review scaffolding and add compact TNF context. */
.about-preview.no-portrait .about-copy{grid-column:5/12;}
#willco-design-work .tnf-context-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap);margin:0 0 var(--space-9);}
#willco-design-work .tnf-context-card{border-top:1px solid var(--rule);padding-top:.8rem;min-height:230px;display:flex;flex-direction:column;justify-content:space-between;}
#willco-design-work .tnf-context-card .tnf-context-metric{display:block;font-size:clamp(2.6rem,4.8vw,5.6rem);line-height:.82;letter-spacing:-.06em;font-weight:520;}
#willco-design-work .tnf-context-card h5{margin:.8rem 0 0;font-size:var(--step-1);font-weight:500;letter-spacing:-.03em;line-height:1.05;}
#willco-design-work .tnf-context-card p{margin-top:.65rem;color:var(--muted);font-size:var(--type-body);line-height:1.4;max-width:32ch;}
#willco-design-work .tnf-context-card a{margin-top:1rem;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;text-decoration:underline;text-underline-offset:.2rem;color:var(--muted);}
#willco-design-work .tnf-context-boundary{display:grid;grid-template-columns:3fr 9fr;gap:var(--grid-gap);margin-top:calc(var(--space-7)*-0.35);margin-bottom:var(--space-9);padding-top:var(--space-3);border-top:1px solid var(--rule);}
#willco-design-work .tnf-context-boundary p:last-child{grid-column:4/11;font-size:var(--type-body);line-height:1.4;color:var(--muted);max-width:62ch;}
@media(max-width:760px){.about-preview.no-portrait .about-copy{grid-column:1/5;margin-top:0;}#willco-design-work .tnf-context-grid{grid-template-columns:1fr;}#willco-design-work .tnf-context-card{min-height:0;padding-bottom:var(--space-5);}#willco-design-work .tnf-context-boundary{grid-template-columns:1fr;gap:var(--space-3);}#willco-design-work .tnf-context-boundary p:last-child{grid-column:1;}}

/* V49 — TNF performance chronology + full-line category edit. */
#willco-design-work .tnf-phase-head{
  display:grid;grid-template-columns:3fr 9fr;gap:var(--grid-gap);align-items:start;
  margin:var(--space-8) 0 var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--rule);
}
#willco-design-work .tnf-phase-head .eyebrow{grid-column:1/4;}
#willco-design-work .tnf-phase-head p{
  grid-column:4/11;margin:0;color:var(--muted);font-size:var(--type-body);line-height:1.4;max-width:58ch;
}
#willco-design-work .tnf-sheet-left{grid-column:1/10;}
#willco-design-work .tnf-sheet-right{grid-column:4/13;margin-top:var(--space-7);}
#willco-design-work .tnf-sheet-center{grid-column:2/12;margin-top:var(--space-7);}
#willco-design-work .tnf-performance-products .tnf-half-b{margin-top:5vw;}
#willco-design-work .tnf-performance-products .tnf-narrow{margin-top:var(--space-8);}
#willco-design-work .tnf-lifestyle .tnf-half-b,
#willco-design-work .tnf-boots .tnf-half-b,
#willco-design-work .tnf-sandals .tnf-half-b{margin-top:5vw;}
@media(max-width:640px){
  #willco-design-work .tnf-phase-head{grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-7);}
  #willco-design-work .tnf-phase-head .eyebrow,
  #willco-design-work .tnf-phase-head p{grid-column:1;}
  #willco-design-work .tnf-sheet-left,
  #willco-design-work .tnf-sheet-right,
  #willco-design-work .tnf-sheet-center{grid-column:1;margin-top:0;}
  #willco-design-work .tnf-performance-products .tnf-half-b,
  #willco-design-work .tnf-performance-products .tnf-narrow,
  #willco-design-work .tnf-lifestyle .tnf-half-b,
  #willco-design-work .tnf-boots .tnf-half-b,
  #willco-design-work .tnf-sandals .tnf-half-b{margin-top:0;}
}



/* V51 — TNF performance strategy now precedes creative direction and architecture. */
#willco-design-work .tnf-strategy-head{margin-top:var(--space-6);}
#willco-design-work .tnf-strategy-grid{align-items:start;overflow:visible;}
#willco-design-work .tnf-strategy-grid .tnf-figure img{background:#111;}
#willco-design-work .tnf-strategy-grid .tnf-figure figcaption{max-width:52ch;}
#willco-design-work .tnf-strategy-vision{grid-column:1/10;}
#willco-design-work .tnf-strategy-objective{grid-column:4/13;margin-top:var(--space-8);}
#willco-design-work .tnf-strategy-pillars{grid-column:1/13;margin-top:var(--space-8);}
#willco-design-work .tnf-strategy-innovation{grid-column:1/10;margin-top:var(--space-8);}
#willco-design-work .tnf-strategy-insight{grid-column:4/13;margin-top:var(--space-8);}
#willco-design-work .tnf-strategy-testing{grid-column:1/13;margin-top:var(--space-8);}
#willco-design-work .tnf-strategy-quote{grid-column:2/11;margin-top:var(--space-8);}
@media(max-width:900px){
  #willco-design-work .tnf-strategy-vision{grid-column:1/9;}
  #willco-design-work .tnf-strategy-objective{grid-column:2/9;}
  #willco-design-work .tnf-strategy-pillars{grid-column:1/9;}
  #willco-design-work .tnf-strategy-innovation{grid-column:1/8;}
  #willco-design-work .tnf-strategy-insight{grid-column:2/9;}
  #willco-design-work .tnf-strategy-testing{grid-column:1/9;}
  #willco-design-work .tnf-strategy-quote{grid-column:1/8;}
}
@media(max-width:640px){
  #willco-design-work .tnf-strategy-vision,
  #willco-design-work .tnf-strategy-objective,
  #willco-design-work .tnf-strategy-pillars,
  #willco-design-work .tnf-strategy-innovation,
  #willco-design-work .tnf-strategy-insight,
  #willco-design-work .tnf-strategy-testing,
  #willco-design-work .tnf-strategy-quote{grid-column:1;margin-top:var(--space-6);}
  #willco-design-work .tnf-strategy-vision{margin-top:0;}
}


/* V53 — Willco editorial authority pass. Preserve source assets; remove visible redundancy. */
.v53-editorial-cut{display:none!important;}
#willco-design-work .tnf-context-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
#willco-design-work .tnf-strategy-objective{grid-column:1/9;margin-top:0;}
#willco-design-work .tnf-strategy-pillars{grid-column:5/13;margin-top:var(--space-8);}
#willco-design-work .tnf-strategy-testing{grid-column:2/12;margin-top:var(--space-8);}
@media(max-width:760px){#willco-design-work .tnf-context-grid{grid-template-columns:1fr;}}
@media(max-width:640px){
  #willco-design-work .tnf-strategy-objective,
  #willco-design-work .tnf-strategy-pillars,
  #willco-design-work .tnf-strategy-testing{grid-column:1;margin-top:var(--space-6);}
  #willco-design-work .tnf-strategy-objective{margin-top:0;}
}


/* V54 — Serial 1 restrike: restore character evidence, keep the edit disciplined, close on synthesis. */
.v54-editorial-archive{display:none!important;}
#willco-design-work .serial-strategy-return,
#willco-design-work .serial-character-return,
#willco-design-work .serial-expression-return{
  width:min(96%,1560px);
  margin:var(--space-8) auto 0;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(18px,1.8vw,30px);
  align-items:start;
}
#willco-design-work .serial-strategy-return figure,
#willco-design-work .serial-character-return figure,
#willco-design-work .serial-expression-return figure{margin:0;min-width:0;}
#willco-design-work .serial-strategy-return img,
#willco-design-work .serial-character-return img,
#willco-design-work .serial-expression-return img{
  display:block;width:100%;height:auto;
  box-shadow:0 0 0 1px rgba(17,17,17,.08);
}
#willco-design-work .serial-strategy-return .serial-strategy-question{grid-column:1 / span 7;}
#willco-design-work .serial-strategy-return .serial-strategy-decision{grid-column:8 / span 5;margin-top:6vw;}
#willco-design-work .serial-strategy-return .serial-strategy-decision img{background:#fff;}
#willco-design-work .serial-character-note{
  width:min(96%,1560px);margin:clamp(5rem,9vh,8rem) auto 0;
  padding-top:var(--space-3);border-top:1px solid var(--rule);
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);
}
#willco-design-work .serial-character-note .eyebrow{grid-column:1 / span 3;}
#willco-design-work .serial-character-note-copy{grid-column:4 / span 7;max-width:58ch;}
#willco-design-work .serial-character-note-copy p{font-size:var(--type-body);line-height:1.4;letter-spacing:-.02em;}
#willco-design-work .serial-character-note-copy p+p{margin-top:1em;font-size:var(--type-body);line-height:1.4;letter-spacing:-.01em;color:var(--muted);}
#willco-design-work .serial-character-return{margin-top:var(--space-6);}
#willco-design-work .serial-character-return .serial-character-contrast{grid-column:1 / span 7;}
#willco-design-work .serial-character-return .serial-character-limit{grid-column:8 / span 5;margin-top:7vw;}
#willco-design-work .serial-expression-return{margin-top:clamp(5rem,10vh,9rem);}
#willco-design-work .serial-expression-return .serial-expression-mural{grid-column:1 / span 7;}
#willco-design-work .serial-expression-return .serial-expression-billboard{grid-column:8 / span 5;margin-top:5vw;}
#willco-design-work .serial-campaign-close{
  width:min(98%,1660px);margin:clamp(6rem,12vh,11rem) auto 0;
}
#willco-design-work .serial-campaign-close img{
  display:block;width:100%;height:auto;background:#111;
  box-shadow:0 0 0 1px rgba(17,17,17,.08);
}
#willco-design-work .serial-campaign-close .image-caption{max-width:none;}
@media(max-width:900px){
  #willco-design-work .serial-strategy-return,
  #willco-design-work .serial-character-return,
  #willco-design-work .serial-expression-return{grid-template-columns:repeat(8,minmax(0,1fr));}
  #willco-design-work .serial-strategy-return .serial-strategy-question{grid-column:1 / span 5;}
  #willco-design-work .serial-strategy-return .serial-strategy-decision{grid-column:5 / span 4;margin-top:7vw;}
  #willco-design-work .serial-character-return .serial-character-contrast{grid-column:1 / span 5;}
  #willco-design-work .serial-character-return .serial-character-limit{grid-column:5 / span 4;margin-top:8vw;}
  #willco-design-work .serial-expression-return .serial-expression-mural{grid-column:1 / span 5;}
  #willco-design-work .serial-expression-return .serial-expression-billboard{grid-column:5 / span 4;margin-top:6vw;}
  #willco-design-work .serial-character-note .eyebrow{grid-column:1 / span 3;}
  #willco-design-work .serial-character-note-copy{grid-column:4 / span 8;}
}
@media(max-width:640px){
  #willco-design-work .serial-strategy-return,
  #willco-design-work .serial-character-return,
  #willco-design-work .serial-expression-return{width:100%;grid-template-columns:1fr;gap:var(--space-6);}
  #willco-design-work .serial-strategy-return .serial-strategy-question,
  #willco-design-work .serial-strategy-return .serial-strategy-decision,
  #willco-design-work .serial-character-return .serial-character-contrast,
  #willco-design-work .serial-character-return .serial-character-limit,
  #willco-design-work .serial-expression-return .serial-expression-mural,
  #willco-design-work .serial-expression-return .serial-expression-billboard{grid-column:1;margin-top:0;}
  #willco-design-work .serial-character-note{width:100%;grid-template-columns:1fr;gap:var(--space-3);}
  #willco-design-work .serial-character-note .eyebrow,
  #willco-design-work .serial-character-note-copy{grid-column:1;}
  #willco-design-work .serial-campaign-close{width:100%;margin-top:var(--space-8);}
}

/* Shared production rules. The imported case-study design remains in base.css. */
:root { --fg: var(--ink); --volt:#ceff00; --type-lead:clamp(2.2rem,4.4vw,4.8rem); }
html { scroll-padding-top: 88px; }
main:focus { outline: none; }
img, picture { max-width: 100%; }
picture { display: block; }
.grid-12 > *, .grid-6 > *, .proof-grid > *, .proof-social > *, .work-row > * { min-width: 0; }
.meta-row span { white-space: normal; overflow-wrap: anywhere; }
.proof-head .case-number { grid-column: 1; }
.proof-head h2 { grid-column: 2; }
.proof-social { grid-template-columns: repeat(12,minmax(0,1fr)); }
.proof-quote-source { min-width: 0; }
.proof-metric.compact { font-size: clamp(1.7rem,2.8vw,3rem); line-height: 1.05; }
.proof-sources a { overflow-wrap: anywhere; }
.work-page-hero { grid-template-columns:repeat(2,minmax(0,1fr)); }
.work-page-hero h1 { grid-column:1; grid-row:1; }
.work-page-hero .page-deck { grid-column:2; grid-row:1; align-self:center; margin-top:0; }
.review-route[data-route="work"] #home-work { padding-top:0; }
#home-work :is(.project-card,.project-feature,.project-caption>div) { min-width:0; }
@media(max-width:640px) {
  .work-page-hero { grid-template-columns:minmax(0,1fr); }
  .work-page-hero :is(h1,.page-deck) { grid-column:1; grid-row:auto; }
  .work-page-hero .page-deck { margin-top:var(--space-3); }
}
/* The lead sentence stays in place while its letters darken in reading order. */
.home-experience .opening-thesis-v39 { margin-top:0; padding-top:clamp(3rem,8vh,7rem); }
.opening-thesis-v39 .thesis-line > span { opacity:1; transform:none; will-change:auto; }
.thesis-word { white-space:nowrap; }
.no-motion .thesis-letter { color:var(--ink)!important; }
/* Mirror the outer margins across the outcomes, including short values like 54. */
.opening-proof-grid { column-gap:clamp(3rem,8vw,10rem); }
.proof-number { width:max-content; padding-right:.073em; }
.proof-label { flex-wrap:wrap; row-gap:.35em; white-space:normal; line-height:1.35; }
.proof-tile:nth-child(even) { text-align:right; }
.proof-tile:nth-child(even) .proof-number { margin-left:auto; transform-origin:right bottom; }
.proof-tile:nth-child(even) .proof-label { justify-content:flex-end; }
.contact-direct { grid-column:1 / -1; margin-top:var(--space-6); padding-top:var(--space-5); border-top:1px solid var(--rule); }
.contact-email { font-size:clamp(1.5rem,4vw,3.5rem); text-decoration:underline; text-underline-offset:.15em; overflow-wrap:anywhere; }
.contact-direct p { margin-top:1rem; }
.not-found-title { max-width:15ch; font-size:clamp(3rem,8vw,7rem); margin-top:2rem; }
.chapter-nav { scroll-margin-top:88px; max-width:100%; }
.chapter-nav a { padding-block:.4rem; }
.project-media { min-width:0; width:100%; }
.menu-toggle { min-height:44px; }

/* Readable static composition for phones, reduced motion, and disabled JavaScript. */
.no-motion .opening-hero { min-height:0; }
.no-motion .opening-hero-inner { min-height:calc(100svh - 66px); display:grid; grid-template-rows:minmax(min-content,1fr) auto minmax(min-content,1fr); align-items:center; gap:clamp(1.5rem,4svh,3rem); padding-block:0; }
.no-motion .opening-name-stage { height:auto; }
.no-motion:not(.landing-motion) .opening-name { position:static!important; transform:none!important; margin:0; visibility:visible!important; font-size:clamp(2rem,11.7vw,10rem); }
.no-motion .opening-proposition { position:static!important; width:100%; max-width:32ch; opacity:1!important; transform:none!important; }
.no-motion .opening-kicker, .no-motion .thesis-line > span { opacity:1!important; transform:none!important; }
.no-motion .opening-thesis-v39 { min-height:0!important; margin:0!important; padding:4rem 0!important; }
.no-motion .opening-thesis-v39 p { margin-left:0; font-size:clamp(2.4rem,6vw,5.5rem); line-height:1; max-width:18ch; }
.no-motion .opening-arc { height:auto!important; min-height:0!important; padding:3rem 0!important; }
.no-motion .opening-arc-list { position:static!important; height:auto!important; display:grid!important; gap:2rem!important; overflow:visible!important; padding-inline:var(--opening-pad)!important; }
.no-motion .opening-arc .arc-item { position:static!important; inset:auto!important; height:auto!important; min-height:0!important; width:100%!important; display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; gap:1.5rem!important; padding:0!important; margin:0!important; opacity:1!important; transform:none!important; align-items:center; }
.no-motion .opening-arc .arc-word { font-size:clamp(2.2rem,6vw,5.2rem)!important; line-height:.95!important; white-space:normal!important; }
.no-motion .opening-arc .arc-copy { width:auto!important; max-width:36ch!important; white-space:normal!important; opacity:1!important; transform:none!important; font-size:var(--type-body)!important; line-height:1.4!important; margin:0!important; }
.no-motion .opening-proof { min-height:0!important; padding-block:3rem!important; }
.no-motion .opening-proof-pin { position:static!important; height:auto!important; }
.no-motion .opening-proof-grid { height:auto!important; gap:3rem 1.5rem!important; }
.no-motion .proof-tile, .no-motion .proof-label, .no-motion [data-project-reveal] { opacity:1!important; transform:none!important; }
.no-motion .proof-number { font-size:clamp(2.8rem,10vw,8rem); }
.no-motion .proof-label { display:block; white-space:normal; font-size:11px; line-height:1.35; }
.no-motion .proof-label b { display:block; margin-bottom:.25rem; }
.no-motion #home-work { padding-top:3rem; }
.no-motion #home-work .opening-work-heading { margin-bottom:3rem; }

/* A stable capsule holds every word; the reel keeps its full-width framing. */
.home-hero { --hero-title-size:clamp(1rem,calc((100vw - 2*var(--opening-pad))/11.7),14.1rem); --hero-title-height:calc(var(--hero-title-size)*1.5); --hero-title-center:max(50svh,calc(82px + var(--hero-title-height)/2)); position:relative; min-height:92svh; padding-top:calc(var(--hero-title-center) + var(--hero-title-height)/2 + clamp(32px,4vw,64px)); padding-bottom:clamp(40px,5vw,80px); margin-top:-66px; background:var(--paper); color:var(--ink); }
.home-hero-title { position:absolute; top:var(--hero-title-center); left:50%; translate:-50% -50%; width:max-content; max-width:calc(100% - 2*var(--opening-pad)); margin:0; font-size:var(--hero-title-size); white-space:nowrap; font-weight:500; line-height:.9; letter-spacing:-.058em; text-align:center; }
.hero-title-line { display:flex; align-items:center; gap:.25em; }
.hero-title-prefix { text-transform:none; }
.hero-word-window { display:inline-grid; text-align:center; perspective:5em; overflow:hidden; padding:.22em .45em; border-radius:999px; background:var(--volt); color:var(--ink); line-height:1.06; letter-spacing:-.045em; }
/* Preserve the existing capsule width when shortening its rotating word set. */
.hero-word-window::before,.hero-word-window::after { grid-area:1 / 1; visibility:hidden; pointer-events:none; }
.hero-word-window::before { content:"STRATEGY"; }
.hero-word-window::after { content:"DIRECTION"; }
.hero-word { grid-area:1 / 1; opacity:0; transform-origin:50% 50%; backface-visibility:hidden; text-transform:uppercase; }
.hero-word:first-child { opacity:1; }
@media(prefers-reduced-motion:no-preference) {
 /* Three words, 1.1 seconds each, including a 220 ms handoff. */
 .home-hero-title.is-flipping .hero-word { animation:hero-word-flip 3.3s cubic-bezier(.65,0,.35,1) infinite; animation-play-state:paused; }
 .home-hero-title.is-flipping .hero-word:nth-child(2) { animation-delay:-2.2s; }
 .home-hero-title.is-flipping .hero-word:nth-child(3) { animation-delay:-1.1s; }
 .home-hero-title.is-flipping.is-playing .hero-word { animation-play-state:running; }
}
@keyframes hero-word-flip {
 0%,26.6667% { opacity:1; transform:translateY(0) rotateX(0); }
 33.3333%,93.3332% { opacity:0; transform:translateY(-.8em) rotateX(80deg); }
 93.3333% { opacity:0; transform:translateY(.8em) rotateX(-80deg); }
 100% { opacity:1; transform:translateY(0) rotateX(0); }
}
/* Keep the introduction in normal flow so longer copy can extend the opening. */
.landing-copy { position:relative; margin:0 var(--opening-pad) 0 auto; width:34ch; max-width:calc(100% - 2*var(--opening-pad)); font-size:var(--type-body); line-height:1.4; letter-spacing:-.025em; text-align:left; color:var(--landing-copy-color,var(--ink)); }
.landing-identity { margin-bottom:16px; font-size:14px; line-height:1.4; color:var(--muted); }
.home-reel { position:relative; aspect-ratio:16 / 9; }
.home-reel-frame { position:relative; width:100%; height:100%; overflow:hidden; background:var(--ink); }
.landing-video { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.site-header.is-over-dark { color:var(--paper); }
.site-header.is-over-dark :is(.nav-link,.wordmark,.menu-toggle):focus-visible { outline-color:var(--paper); }
/* Prototype moment cards inherit the homepage's continuous white-to-black canvas. */
.moments-transition .home-lead { background:var(--moment-background,var(--paper)); }
.moments-transition .moments-section { background:transparent; color:var(--moment-foreground,var(--ink)); }
.moments-section { --moment-pad:clamp(20px,4vw,64px); background:var(--ink); color:var(--paper); }
.moments-intro { max-width:none; padding:clamp(5rem,12vh,9rem) var(--moment-pad) clamp(3rem,7vh,6rem); }
.moments-intro h2 { max-width:19ch; margin:0; font-size:var(--type-lead); line-height:1.04; letter-spacing:-.045em; }
.moments-intro p { margin-top:1rem; max-width:36ch; font-size:var(--type-body); line-height:1.4; color:var(--moment-muted,#c3c0b8); }
.moment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:0 var(--moment-pad) clamp(4rem,8vh,7rem); scroll-margin-top:88px; }
.moment-card { display:block; min-width:0; container-type:inline-size; color:inherit; text-decoration:none; }
.moment-card:focus-visible { outline:2px solid currentColor; outline-offset:8px; }
.moment-card-heading { border-top:1px solid color-mix(in srgb,currentColor 28%,transparent); padding:17px 0 20px; }
.moment-card-title { display:flex; align-items:center; justify-content:space-between; gap:.35em; width:100%; min-height:2.25em; padding:.55em .7em; border-radius:999px; background:var(--ink); color:var(--paper); font-size:clamp(1rem,7.4cqi,2.5rem); font-weight:500; transition:background-color 220ms var(--ease),color 180ms var(--ease); }
.moment-card h3 { margin:0; font:inherit; line-height:1.08; letter-spacing:-.045em; white-space:nowrap; }
.card-heading-arrow { flex-shrink:0; font-size:1em; line-height:1; transition:transform .25s; }
.moment-card:is(:focus-visible,:active) .moment-card-title { background:var(--volt); color:var(--ink); }
.moment-card:is(:focus-visible,:active) .card-heading-arrow { transform:translate(3px,-3px); }
@media(hover:hover) and (pointer:fine) {
 .moment-card:hover .moment-card-title { background:var(--volt); color:var(--ink); }
 .moment-card:hover .card-heading-arrow { transform:translate(3px,-3px); }
}
.moment-card-image { position:relative; overflow:hidden; background:#252525; aspect-ratio:1.23; }
.moment-card-image>img { display:block; height:100%; width:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.75,.2,1); }
.moment-card-lightship .moment-card-image>img { object-position:39% center; }
.moment-card-north-face .moment-card-image>img { object-position:53% center; }
.moment-card-rivian .moment-card-image>img { object-position:65% center; }
.moment-card:is(:hover,:focus-visible) .moment-card-image>img { transform:scale(1.035); }
.moment-card-caption { display:flex; align-items:baseline; gap:12px; padding:15px 0 0; line-height:1.45; }
.moment-card-caption .moment-card-number { flex-shrink:0; font-family:var(--font-mono); font-size:10px; color:var(--moment-muted,#c3c0b8); }
.moment-card-caption>[id] { display:flex; flex-wrap:wrap; align-items:baseline; gap:0 .45em; font-size:clamp(12px,.9vw,14px); color:var(--moment-muted,#c3c0b8); }
.moment-card-brand { color:var(--moment-foreground,var(--paper)); white-space:nowrap; }
@media(max-width:1050px) {
 .moment-grid { gap:18px; }
}
@media(max-width:700px) {
 .home-hero { --hero-title-size:clamp(2rem,calc((100vw - 2*var(--opening-pad))/6.6),6rem); --hero-title-height:calc(var(--hero-title-size)*2.65); }
 .hero-title-line { flex-direction:column; gap:.25em; }
 .moment-grid { grid-template-columns:1fr; gap:34px; max-width:660px; margin-inline:auto; }
 .moment-card-heading { padding:15px 0 17px; }
 .moment-card-image { aspect-ratio:1.48; }
 .moment-card-caption { padding-top:12px; }
}
@media(prefers-reduced-motion:reduce) { .moment-card-image>img,.card-heading-arrow,.moment-card-title { transition:none; } }
#home-work .opening-work-heading { align-items:center; gap:1.5rem; flex-wrap:wrap; }
#home-work .opening-work-heading h2 { font-size:clamp(1.25rem,2vw,1.8rem); line-height:1.15; }
.project-context { font-family:var(--font-mono); font-size:.75rem; color:var(--muted); margin-top:1rem; }
.project-statement { font-size:var(--type-body); line-height:1.4; }
.opening-arc .arc-copy { font-size:var(--type-body)!important; line-height:1.4!important; white-space:normal!important; max-width:var(--arc-copy-width,calc(100vw - 2*var(--opening-pad)))!important; }
/* The lower homepage moves from a point of view to a partnership to an invitation. */
.home-lower-shell { padding-inline:clamp(20px,4vw,64px); color:var(--ink); background:var(--paper); }
.home-manifesto { --manifesto-type:var(--type-lead); display:flex; flex-direction:column; gap:clamp(48px,7vw,112px); padding-block:clamp(80px,10vw,160px); }
.manifesto-statement { max-width:1800px; margin-inline:auto; font-size:clamp(2rem,4.4vw,5.3rem); font-weight:400; line-height:1.14; letter-spacing:-.045em; text-wrap:pretty; }
.manifesto-statement a { color:var(--volt); background:var(--ink); padding:0 .12em .035em; border-radius:.08em; box-decoration-break:clone; -webkit-box-decoration-break:clone; text-decoration:none; }
.manifesto-statement a:hover { text-decoration:underline; text-decoration-thickness:.035em; text-underline-offset:.07em; }
.manifesto-statement a:focus-visible { outline:2px solid var(--ink); outline-offset:5px; }
.home-action { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; flex-shrink:0; width:fit-content; min-height:52px; padding:14px 22px; border-radius:999px; background:var(--volt); color:var(--ink); font-size:16px; line-height:1.25; }
.home-manifesto .home-action { align-self:center; font-size:var(--manifesto-type); font-weight:400; line-height:1; letter-spacing:-.047em; gap:clamp(20px,3vw,48px); padding:clamp(20px,2.5vw,40px) clamp(28px,3vw,48px); white-space:nowrap; }
.home-manifesto .home-action span { flex-shrink:0; }
.home-action span,.home-studio-link span { transition:transform 180ms var(--ease); }
.home-action:hover span,.home-studio-link:hover span { transform:translate(3px,-3px); }
.home-action:focus-visible,.home-studio-link:focus-visible { outline:2px solid var(--ink); outline-offset:5px; }
.home-partnership:focus { outline:none; }
.home-partnership { display:grid; grid-template-columns:1.1fr 1fr; gap:48px 8vw; padding-block:clamp(96px,10vw,176px); border-top:1px solid var(--rule); }
.home-partnership h2 { font-size:var(--type-lead); font-weight:500; line-height:1.04; letter-spacing:-.045em; }
.home-engagement { max-width:40ch; }
.partnership-copy { font-size:var(--type-body); line-height:1.4; letter-spacing:-.025em; }
.home-studio { margin-top:clamp(40px,4vw,64px); padding-top:28px; border-top:1px solid var(--rule); }
.home-studio p { max-width:32ch; font-size:var(--type-body); line-height:1.4; color:var(--muted); }
.home-studio-link { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:44px; margin-top:14px; font-size:clamp(1.5rem,2.5vw,2.2rem); letter-spacing:-.03em; }
.home-closing { display:flex; flex-direction:column; align-items:center; gap:clamp(32px,4vw,64px); padding-block:clamp(96px,12vw,192px); text-align:center; }
body[data-page="home"] .site-footer { border-top:0; }
.home-closing h2 { font-size:clamp(2.5rem,6.8vw,7rem); font-weight:400; line-height:1.04; letter-spacing:-.045em; }
.home-closing .home-action { font-size:var(--type-body); }
.site-footer-quiet { border-top:0; }
.site-footer-quiet .footer-grid { display:block; }
@media(max-width:800px) {
 .home-partnership { grid-template-columns:1fr; }
 .home-engagement { max-width:42ch; }
}
@media(prefers-reduced-motion:reduce) { .home-action span,.home-studio-link span { transition:none; } }
@media(max-width:640px) {
  :root { --type-lead:clamp(1.875rem,8.3vw,2rem); --type-body:1rem; }
  .landing-copy { font-size:var(--type-body); }
  .manifesto-statement { font-size:clamp(1.625rem,7.4vw,2.5rem); line-height:1.17; }
  .home-manifesto .home-action { padding:20px 16px; gap:12px; }
}

@media(max-width:900px) {
  .project-hero h1 { font-size:clamp(3rem,11.5vw,6rem); }
  .proof-head { grid-template-columns:1fr; gap:1rem; }
  .proof-head .case-number, .proof-head h2 { grid-column:1; }
  .proof-head h2 { max-width:20ch; }
}
@media(max-width:640px) {
  .project-hero h1 { font-size:clamp(2rem,11.5vw,4rem); overflow-wrap:break-word; }
  .next-project h2 { font-size:clamp(2.1rem,10.5vw,4rem); overflow-wrap:break-word; }
  .header-inner { flex-wrap:wrap; }
  .site-nav { position:static; display:block; width:100%; }
  .nav-list { flex-wrap:wrap; gap:.5rem 1.5rem; padding-block:.5rem 1rem; }
  .menu-toggle { display:none; }
  .js .menu-toggle { display:block; }
  .js .site-nav { display:none; position:absolute; top:100%; left:0; right:0; width:100%; padding:1rem var(--page-pad); background:var(--paper); border-bottom:1px solid var(--rule); }
  .js .site-nav.is-open { display:block; }
  .js .site-nav .nav-list { display:grid; gap:0; padding:0; }
  .js .site-nav .nav-link { display:block; padding:.85rem 0; }
  .proof-social { grid-template-columns:1fr; }
  .proof-quote, .proof-quote-source { grid-column:1; }
  .proof-quote { font-size:clamp(2rem,9vw,3rem); }
  .proof-metric { font-size:clamp(2rem,8vw,3rem); }
  .proof-metric.compact { font-size:clamp(1.5rem,6vw,2rem); }
  .no-motion .opening-arc .arc-item { grid-template-columns:1fr!important; gap:.5rem!important; }
  .no-motion .opening-arc .arc-copy { font-size:var(--type-body)!important; }
  .chapter-nav { flex-wrap:wrap; overflow-x:visible; }
}
@media(max-width:380px) {
  .proof-grid { grid-template-columns:1fr; }
  .proof-stat:nth-child(n) { grid-column:1; min-height:0; margin-top:0; }
}

/* One continuous glass surface; slim lobes sit inside generous hit areas. */
.site-header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;pointer-events:none;transition:transform 240ms var(--ease),opacity 180ms ease}
.site-header .header-inner{width:100%;max-width:none;min-height:66px;justify-content:flex-end;gap:16px}
:is(.site-header,.site-footer){--capsule-height:32px;--capsule-glass:rgba(222,220,211,.32);--capsule-blur:blur(28px) saturate(1.15)}
.case-chapter-bar>:is(a,span){border:0;border-radius:999px;background:rgba(222,220,211,.62);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:none}
.site-header :is(.wordmark,.nav-link,.menu-toggle){position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:0;border-radius:999px;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:auto;text-decoration:none}
.site-header :is(.wordmark,.nav-link,.menu-toggle)::before{content:"";position:absolute;inset:50% 0 auto;height:var(--capsule-height);transform:translateY(-50%);border-radius:999px;z-index:-1;pointer-events:none;transition:background 160ms ease}
.site-header :is(.wordmark,.menu-toggle)::before{background:var(--capsule-glass);backdrop-filter:var(--capsule-blur);-webkit-backdrop-filter:var(--capsule-blur)}
.site-header :is(.wordmark,.nav-link,.menu-toggle):hover,.site-header .nav-link[aria-current=page]{text-decoration:underline;text-underline-offset:.22em;text-decoration-thickness:1px}
.site-header .nav-link:is([aria-current=page],:active,:focus-visible),.site-header .menu-toggle[aria-expanded=true]{color:var(--ink)}
.site-header .nav-link:is([aria-current=page],:active,:focus-visible)::before,.site-header .menu-toggle[aria-expanded=true]::before{background:var(--volt)}
@media(hover:hover) and (pointer:fine){
 .site-header .nav-link:hover{color:var(--ink)}
 .site-header .nav-link:hover::before{background:var(--volt)}
}
.site-header :is(.nav-link,.menu-toggle){font-size:13px;line-height:1;letter-spacing:.015em}
.site-header :is(.wordmark,.nav-link,.menu-toggle):focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.site-header .wordmark{position:absolute;left:50%;top:11px;transform:translateX(-50%);white-space:nowrap;font-size:14px;font-weight:500;line-height:.82;letter-spacing:-.058em;visibility:visible}
.site-header .site-nav{margin-left:auto}
.site-header .nav-list{position:relative;isolation:isolate;gap:4px}
.site-header .nav-list::before{content:"";position:absolute;inset:6px 0;border-radius:999px;background:var(--capsule-glass);backdrop-filter:var(--capsule-blur);-webkit-backdrop-filter:var(--capsule-blur);pointer-events:none;z-index:-1}
.site-header .nav-list[data-connected]::before{inset:0;border-radius:0;clip-path:var(--nav-silhouette)}
/* Footer navigation shares the header's connected capsule form and hit areas. */
.site-footer .footer-nav{position:relative;isolation:isolate;display:flex;flex-wrap:nowrap;gap:4px;width:max-content;max-width:100%;padding:0;list-style:none}
.site-footer .footer-nav::before{content:"";position:absolute;inset:6px 0;border-radius:999px;background:var(--capsule-glass);backdrop-filter:var(--capsule-blur);-webkit-backdrop-filter:var(--capsule-blur);pointer-events:none;z-index:-1}
.site-footer .footer-nav[data-connected]::before{inset:0;border-radius:0;clip-path:var(--nav-silhouette)}
.site-footer .footer-nav .nav-link{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--ink);font-size:13px;line-height:1;letter-spacing:.015em;text-decoration:none}
.site-footer .footer-nav .nav-link::before{content:"";position:absolute;inset:50% 0 auto;height:var(--capsule-height);transform:translateY(-50%);border-radius:999px;z-index:-1;pointer-events:none;transition:background 160ms ease}
.site-footer .footer-nav .nav-link:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.site-footer .footer-nav .nav-link:focus-visible::before{background:var(--volt)}
@media(hover:hover) and (pointer:fine){.site-footer .footer-nav .nav-link:hover::before{background:var(--volt)}}
.site-header .menu-toggle{display:none}
.header-is-hidden .site-header{transform:translateY(calc(-100% - 12px));opacity:0;pointer-events:none}
.header-is-hidden .site-header :is(.wordmark,.nav-link,.menu-toggle){pointer-events:none}
/* Return paths use the same accent across project chapters and moment stories. */
.case-chapter-bar .case-return,.case-chapter-end [data-case-return],.moment-story .moment-back{padding:10px 16px;border:0;border-radius:999px;background:var(--volt);color:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none}
:is(.case-chapter-bar .case-return,.case-chapter-end [data-case-return],.moment-story .moment-back):focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:900px){
 .site-header .header-inner{flex-wrap:wrap;padding-top:66px}
 .site-header .site-nav{position:static;display:block;width:100%}
 .site-header .nav-list{justify-content:center;flex-wrap:wrap;gap:4px;padding:0}
 .site-header .menu-toggle{display:none;margin-left:auto}
 .js .site-header .header-inner{padding-top:0}
 .js .site-header .menu-toggle{display:inline-flex}
 .js .site-header .site-nav{display:none;position:absolute;top:calc(100% + 8px);left:auto;right:var(--page-pad);width:max-content;margin:0;padding:0;background:transparent;border:0}
 .js .site-header .site-nav.is-open{display:block}
 .js .site-header .site-nav .nav-list{display:grid;justify-items:end;gap:0;padding:0}
 .js .site-header .site-nav .nav-link{display:inline-flex;min-width:112px;padding:0 14px}
}

@media(max-width:900px) { .moments-intro { padding-bottom:2rem; } }

/* Lead headlines share the Selected moments scale throughout the site. */
.page-hero h1,
.project-hero h1,
.content-main h2,
.current-large h2,
.contact-option h2,
.next-project h2 {
 font-size:var(--type-lead);
 line-height:1.04;
 letter-spacing:-.045em;
}

/* A project is another control within the main site's capsule navigation. */
.site-header .header-project{position:absolute;left:var(--page-pad);top:11px;pointer-events:auto}
.site-header .project-toggle,.site-header .project-label{gap:14px;font-family:var(--font-mono);font-size:13px;letter-spacing:.015em;text-transform:uppercase}
.site-header :is(.project-toggle,.project-label)::before{background:var(--capsule-glass);backdrop-filter:var(--capsule-blur);-webkit-backdrop-filter:var(--capsule-blur)}
.site-header .project-toggle[aria-expanded=true]::before{background:var(--volt)}
.site-header .project-toggle[aria-expanded=true]{color:var(--ink)}
.site-header .project-menu{position:absolute;top:calc(100% + 8px);left:0;right:auto;width:max-content;min-width:220px;max-width:calc(100vw - 2*var(--page-pad));max-height:calc(100dvh - 100px);overflow:auto;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;pointer-events:auto;color:var(--ink)}
.site-header .project-menu[hidden]{display:none}
.site-header .project-menu .nav-list{display:grid;grid-template-columns:minmax(0,1fr);gap:0;justify-content:stretch;justify-items:stretch}
.site-header .project-menu .nav-link{width:100%;justify-content:flex-start;white-space:normal;line-height:1.3;min-height:44px;font-size:13px;background:transparent}
.site-header .project-menu .nav-link[aria-current=location]{color:var(--ink)}
.site-header .project-menu .nav-link[aria-current=location]::before{background:var(--volt)}
.site-header .header-menu-icon{font-size:19px;line-height:.8;transition:transform .18s}
.site-header [aria-expanded=true] .header-menu-icon{transform:rotate(45deg)}
.header-is-hidden .site-header .header-project{pointer-events:none}
/* Willco's other projects emerge horizontally from behind its own capsule. */
.site-header [data-willco-menu]{pointer-events:none}
.site-header .willco-switcher{display:flex;flex-wrap:nowrap;width:max-content;gap:4px;clip-path:inset(-4px calc(100% - var(--willco-width,80px)) -4px -4px);transition:clip-path 520ms cubic-bezier(.22,1,.36,1)}
.site-header .willco-switcher>li{position:relative;flex:none}
.site-header .willco-origin{z-index:4}
.site-header .willco-switcher::before{opacity:0;transition:opacity 220ms ease}
.site-header .willco-project{z-index:1;opacity:0;visibility:hidden;transform:translateX(calc(-1 * var(--reveal-from,300px)));transition:transform 420ms cubic-bezier(.22,1,.36,1),opacity 160ms ease,visibility 0s 420ms}
.site-header .willco-project .nav-link{white-space:nowrap;pointer-events:none}
.site-header [data-willco-menu][data-open] .willco-switcher{clip-path:inset(-4px -4px -4px -4px)}
.site-header [data-willco-menu][data-open] .willco-switcher::before{opacity:1}
.site-header [data-willco-menu][data-open] .willco-project{opacity:1;visibility:visible;transform:translateX(0);transition-duration:520ms,240ms,0s;transition-delay:calc(var(--reveal-order) * 45ms)}
.site-header [data-willco-menu][data-open] .willco-project .nav-link{pointer-events:auto}
@media(max-width:380px){.site-header .willco-switcher .nav-link{font-size:11px;padding-inline:9px}}
@media(max-width:900px){
 .site-header[data-project-header] .header-inner{min-height:110px;align-items:flex-start}
 .site-header[data-project-header] .menu-toggle{margin-top:11px}
 .site-header[data-project-header] .header-project{top:60px}
 .site-header .project-menu{max-height:calc(100dvh - 125px)}
 html:has([data-project-header]){scroll-padding-top:122px}
}
@media(prefers-reduced-motion:reduce){.site-header,.site-header .header-menu-icon{transition:none}}
