/* Homepage editorial layer: static cut lines, one project spotlight, no scroll-painted effects. */
.site-header .nav-project {
  gap: 7px;
  color: #f5f7f3;
}
.nav-project-prefix {
  padding: 3px 5px 2px;
  border: 1px solid #ff536380;
  color: #ff8b95;
  font: 400 8px/1 var(--mono);
  letter-spacing: .06em;
}
.site-header .nav-project::after { background: #ff5363; }
.mobile-project { display: none; }
.header-context {
  position: absolute;
  right: var(--gutter);
  top: 100%;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  background: #111718f2;
  border: 1px solid #ffffff26;
  border-top: 0;
  font-size: 9px;
  line-height: 1.2;
  letter-spacing: .05em;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity .18s ease, transform .18s ease;
}
.header-context::before {
  content: "";
  width: 4px;
  height: 4px;
  background: var(--signal);
}
.header-context-kind { color: #f1f2ef; }
.header-context-text { color: #aeb8b5; }
.site-header.has-context .header-context { opacity: 1; transform: none; }
.site-header[data-context="lifeline"] .header-context::before { background: #97ad36; }

.manifesto { position: relative; }
.manifesto::after {
  content: "";
  position: absolute;
  right: var(--gutter);
  bottom: 0;
  width: min(38vw, 540px);
  height: 1px;
  background: linear-gradient(90deg, transparent, #ff53636b);
  pointer-events: none;
}
.obsolete { position: relative; }
.obsolete::before,
.obsolete::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 32px;
  background: #dedfda;
  pointer-events: none;
}
.obsolete::before {
  top: -31px;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
}
.obsolete::after {
  bottom: -31px;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  z-index: 1;
}
.process { padding-top: 115px; }
.process-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: 0;
  margin-top: 8px;
}
.process-grid li,
.process-grid li + li,
.process-grid li:nth-child(4) {
  min-height: 218px;
  padding: 28px 28px 20px 0;
  border-left: 0;
  border-top: 1px solid var(--line);
}
.process-grid li:nth-child(3n + 2),
.process-grid li:nth-child(3n + 3) {
  padding-left: 28px;
  border-left: 1px solid var(--line);
}
.process-grid li:nth-child(-n + 3) { border-top: 0; }
.process-grid .step-number { color: #d2d8d4; font-size: 48px; }
.process-grid h3 { margin: 18px 0 10px; }
.applications { position: relative; }
.applications::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 38px;
  background: #e3e8df;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
}

.lifeline-story {
  position: relative;
  background: #e3e8df;
  color: #19201b;
  padding: 110px 0 130px;
  isolation: isolate;
}
.lifeline-story::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(ellipse 52% 100% at 85% 40%, #c5d4a46b, transparent 74%);
  pointer-events: none;
}
.lifeline-story-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  align-items: center;
  gap: clamp(38px, 6vw, 110px);
}
.lifeline-story-kicker {
  color: #526044;
  font-size: 10px;
  letter-spacing: .09em;
  margin-bottom: 19px;
}
.lifeline-story-mark {
  width: clamp(170px, 23vw, 290px);
  height: auto;
  max-height: 80px;
  object-fit: contain;
  object-position: left center;
  margin-bottom: 42px;
}
.lifeline-story h2 {
  font-size: clamp(60px, 6.2vw, 112px);
  line-height: .91;
  max-width: 850px;
  margin-bottom: 30px;
}
.lifeline-story .lead {
  font-size: clamp(22px, 2vw, 32px);
  line-height: 1.2;
  max-width: 500px;
  margin-bottom: 24px;
  color: #253128;
}
.lifeline-story-copy > p:not(.lifeline-story-kicker):not(.lead) {
  max-width: 580px;
  font-size: 18px;
  line-height: 1.55;
  color: #475047;
}
.lifeline-story .text-link {
  margin-top: 35px;
  border-color: #677461;
  color: #1e2d20;
}
.lifeline-story-visual {
  position: relative;
  align-self: stretch;
  min-height: 560px;
  background: #c9d0c4;
  border: 1px solid #b5c1b0;
  overflow: hidden;
  box-shadow: 24px 28px 0 #b9c9ab70;
}
.lifeline-story-visual::before {
  content: "";
  position: absolute;
  inset: 14px;
  z-index: 1;
  border: 1px solid #f4f8e747;
  pointer-events: none;
}
.lifeline-story-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lifeline-story-visual figcaption {
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 2;
  padding: 7px 9px;
  background: #17201ce6;
  color: #e6f0dc;
  font-size: 9px;
}
.culture { position: relative; }
.culture-image { height: min(66vw, 700px); min-height: 450px; }
.culture-copy { padding-block: 72px 132px; }
.culture-text > div { max-width: 620px; }

.responsibility {
  position: relative;
  padding: 115px 0 120px;
  background: #171c1c;
  border-top: 1px solid #374543;
  overflow: visible;
}
.responsibility::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -34px;
  height: 34px;
  background: #171c1c;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
  pointer-events: none;
}
.responsibility::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), #d9ede507 calc(25% - 1px), #d9ede507 25%);
  pointer-events: none;
}
.responsibility-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: clamp(40px, 8vw, 140px);
}
.responsibility-heading .mono {
  color: #a7b6a5;
  font-size: 10px;
  letter-spacing: .06em;
  margin-bottom: 38px;
}
.responsibility h2 {
  font-size: clamp(64px, 7.5vw, 130px);
  line-height: .88;
  max-width: 900px;
}
.responsibility-copy { padding-top: 48px; max-width: 550px; }
.responsibility-copy .lead { font-size: 29px; line-height: 1.17; margin-bottom: 30px; }
.responsibility-copy p:not(.lead) { color: #b4c0ba; margin-bottom: 19px; }
.responsibility-copy .text-link { margin-top: 32px; }
.journal { padding-top: 110px; }
.journal-grid { grid-template-columns: 1.18fr .91fr .91fr; gap: 22px; }
.journal-card:first-child .journal-visual { aspect-ratio: 1.25; }
.journal-card:not(:first-child) .journal-visual { aspect-ratio: 1.52; }

@media (max-width: 1279px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: grid; }
  .mobile-project {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-height: 44px;
    padding: 0 11px;
    border: 1px solid #ff53637d;
    color: #f4f5f0;
    font: 700 11px/1 var(--display);
    letter-spacing: .08em;
  }
  .mobile-project:hover,
  .mobile-project:focus-visible { background: #f2203529; }
  .mobile-project span:first-child { color: #ff9ca4; font: 400 7px/1 var(--mono); letter-spacing: .08em; }
}
@media (max-width: 1023px) {
  .process { padding-top: 112px; }
  .lifeline-story { padding-block: 92px 105px; }
  .lifeline-story-inner { gap: 32px; }
  .lifeline-story h2 { font-size: clamp(56px, 6.4vw, 74px); }
  .lifeline-story-visual { min-height: 490px; }
  .responsibility-inner { gap: 45px; }
  .responsibility h2 { font-size: clamp(56px, 7vw, 82px); }
  .journal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .site-header .brand .original-wordmark { width: 140px; }
  .site-header .brand .original-emblem { width: 50px; }
  .header-context { right: var(--gutter); font-size: 8px; max-width: calc(100vw - 2 * var(--gutter)); }
  .obsolete::before,
  .obsolete::after { height: 22px; }
  .obsolete::before { top: -21px; }
  .obsolete::after { bottom: -21px; }
  .process { padding-top: 92px; }
  .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-grid li,
  .process-grid li + li,
  .process-grid li:nth-child(4) {
    min-height: 180px;
    padding: 23px 16px 18px 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }
  .process-grid li:nth-child(even),
  .process-grid li:nth-child(3n + 2),
  .process-grid li:nth-child(3n + 3) {
    padding-left: 16px;
    padding-right: 0;
    border-left: 1px solid var(--line);
  }
  .process-grid li:nth-child(odd) { padding-left: 0; border-left: 0; }
  .process-grid li:nth-child(-n + 2) { border-top: 0; }
  .process-grid li:nth-child(3) { border-top: 1px solid var(--line); }
  .process-grid .step-number { font-size: 39px; }
  .process-grid h3 { font-size: 23px; }
  .applications::after { height: 23px; }
  .lifeline-story { padding: 70px 0 90px; }
  .lifeline-story-inner { display: flex; flex-direction: column; align-items: stretch; gap: 45px; }
  .lifeline-story-mark { width: 200px; margin-bottom: 28px; }
  .lifeline-story h2 { font-size: clamp(54px, 12vw, 84px); }
  .lifeline-story .lead { font-size: 25px; }
  .lifeline-story-copy > p:not(.lifeline-story-kicker):not(.lead) { font-size: 17px; }
  .lifeline-story-visual { min-height: 0; height: min(113vw, 560px); margin-right: 18px; box-shadow: 18px 18px 0 #b9c9ab70; }
  .responsibility { padding: 78px 0 85px; }
  .responsibility::before { top: -23px; height: 23px; }
  .responsibility-inner { display: block; }
  .responsibility-heading .mono { margin-bottom: 26px; }
  .responsibility h2 { font-size: clamp(58px, 11vw, 85px); }
  .responsibility-copy { padding-top: 38px; }
  .responsibility-copy .lead { font-size: 25px; }
  .culture-image { height: 80vw; min-height: 360px; }
  .culture-copy { padding-block: 65px 96px; }
  .journal { padding-top: 86px; }
  .journal-grid { grid-template-columns: 1fr; gap: 37px; }
  .journal-card:first-child .journal-visual,
  .journal-card:not(:first-child) .journal-visual { aspect-ratio: 1.6; }
}
@media (max-width: 389px) {
  .site-header .brand .original-wordmark { width: 118px; }
  .site-header .brand .original-emblem { width: 45px; }
  .mobile-project { padding-inline: 7px; font-size: 10px; }
  .header-actions { gap: 3px; }
  .lifeline-story h2 { font-size: 49px; }
  .responsibility h2 { font-size: 49px; }
}
@media (prefers-reduced-motion: reduce) {
  .header-context { transition: none; }
}
