/* Scoped editorial addition to the existing Factory V2 system. */
.wade-page { background: #19120f; color: #f7f3eb; }
.wade-page main { overflow: clip; }
.wade-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: max(780px, 100svh); overflow: hidden; }
.wade-hero-media { position: absolute; inset: 0; z-index: -3; }
.wade-hero-media img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 24%; }
.wade-hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg,#19120f 0%,rgba(25,18,15,.96) 26%,rgba(25,18,15,.65) 45%,transparent 76%),linear-gradient(0deg,rgba(25,18,15,.76),transparent 55%); }
.wade-hero-content { padding-block: 10rem 7rem; }
.wade-hero-content .eyebrow { color: #ddbb83; }
.wade-hero h1 { max-width: 780px; margin: 0; font-size: clamp(4rem,8.6vw,9.5rem); line-height: .88; letter-spacing: -.065em; text-transform: uppercase; text-wrap: balance; }
.wade-services { max-width: 540px; margin: 2.4rem 0; font-size: clamp(.85rem,1.2vw,1.1rem); line-height: 1.8; color: #e0d7ca; }
.wade-chapter-nav { border-block: 1px solid #ffffff26; padding-block: 1.6rem; }
.wade-chapter-nav > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.1rem 2rem; }
.wade-chapter-nav a { display: flex; gap: .8rem; padding: .4rem 0; font-size: .8rem; line-height: 1.5; color: #e0d7ca; }
.wade-chapter-nav a span { color: #ddbb83; }
.wade-page a:focus-visible, .project-wade a:focus-visible { outline: 3px solid var(--orange); outline-offset: 5px; }
.wade-chapter { padding-block: clamp(4rem,8vw,8rem); scroll-margin-top: 90px; }
.wade-light { background: #f6f3ed; color: #211b16; }
.wade-dark { background: #19120f; color: #f7f3eb; }
.wade-chapter-grid { display: grid; grid-template-columns: 46px minmax(0,.95fr) minmax(0,1fr); gap: clamp(1.5rem,4.5vw,5rem); align-items: start; }
.wade-number { font-size: .75rem; letter-spacing: .16em; padding-top: .7rem; color: #98734c; }
.wade-chapter h2 { margin: 0; max-width: 650px; font-size: clamp(2.6rem,4.3vw,5.5rem); line-height: .98; letter-spacing: -.055em; text-transform: uppercase; overflow-wrap: break-word; text-wrap: balance; }
.wade-prose { min-width: 0; }
.wade-prose p { margin: 0 0 1.3rem; font-size: clamp(1rem,1.25vw,1.15rem); line-height: 1.75; }
.wade-prose p:first-child { font-size: clamp(1.15rem,1.65vw,1.5rem); line-height: 1.6; }
.wade-light .wade-prose { color: #51483f; }
.wade-dark .wade-prose { color: #d7cfc5; }
.wade-media-wrap { width: 100%; margin-top: clamp(2.5rem,5vw,5rem); }
.wade-editorial-image { margin: 0; background: #e8e0d5; overflow: hidden; }
.wade-editorial-image img { display: block; width: 100%; height: auto; }
.wade-media-wrap > .wade-editorial-image { width: 100%; max-width: none; }
.wade-image-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(.5rem,1vw,1rem); }
.wade-image-pair figure { align-self: start; }
.wade-image-pair figure:nth-child(2) { margin-top: 0; }
.wade-metrics { list-style: none; padding: 0; margin: 2rem 0; }
.wade-metrics li { padding-block: 1.4rem; border-top: 1px solid #ffffff30; font-size: 1rem; line-height: 1.6; }
.wade-metrics strong { font-weight: 500; }
.wade-metric-value { display: block; margin-bottom: .5rem; color: #ddbb83; font-size: clamp(3.6rem,6vw,6.2rem); line-height: 1; letter-spacing: -.06em; }
.wade-prose .wade-result-attribution { font-size: .8rem; color: #bbaa96; }
.wade-next { background: #0b0908; }
.wade-next h2 { margin: 1rem 0 2rem; font-size: clamp(3rem,6vw,6rem); letter-spacing: -.055em; line-height: 1; }
.wade-next .text-link { margin-left: 2rem; }
/* Only these two major projects leave the secondary archive grid. */
.project-featured-bleed {
  width: 100%;
  min-height: clamp(660px, 58vw, 860px);
  margin: 0;
  padding-block: clamp(3rem, 5vw, 5rem);
  border-inline: 0;
  align-items: flex-end;
}
.project-featured-bleed .project-media { inset: 0; }
.project-featured-bleed .project-copy { padding-block: 0; }
.project-featured-bleed .project-copy h3 { max-width: 1000px; font-size: clamp(3.8rem, 8vw, 8rem); }
.project-featured-bleed .project-overlay {
  background: linear-gradient(90deg, rgba(5,5,5,.65), rgba(5,5,5,.24) 48%, rgba(5,5,5,.04) 85%),
    linear-gradient(0deg, rgba(5,5,5,.84), rgba(5,5,5,.22) 44%, transparent 78%);
}
.project-futr.project-featured-bleed .project-media img { object-position: 64% center; }
.project-wade.project-featured-bleed .project-media img { object-position: 50% 22%; }
@media (max-width: 1000px) {
  .wade-chapter-grid { grid-template-columns: 36px minmax(0,1fr); }
  .wade-prose { grid-column: 2; }
  .wade-hero h1 { max-width: 620px; }
}
@media (max-width: 760px) {
  .wade-hero { min-height: 900px; align-items: flex-end; }
  .wade-hero-media { inset: 0; }
  .wade-hero-media img { object-position: 50% 15%; }
  .wade-hero-shade { background: linear-gradient(0deg,#19120f 12%,rgba(25,18,15,.9) 30%,rgba(25,18,15,.2) 60%,transparent); }
  .wade-hero-content { padding-block: 27rem 3.5rem; }
  .wade-hero h1 { font-size: clamp(3.2rem,14vw,5.7rem); }
  .wade-services { margin-block: 1.5rem; }
  .wade-chapter-nav > div { grid-template-columns: 1fr 1fr; gap: .7rem 1rem; }
  .wade-chapter-nav a { font-size: .72rem; }
  .wade-chapter-grid { grid-template-columns: 1fr; gap: 1.3rem; }
  .wade-prose { grid-column: 1; }
  .wade-chapter h2 { font-size: clamp(2.5rem,10.5vw,4.2rem); }
  .wade-number { padding: 0; }
  .wade-image-pair { grid-template-columns: 1fr; gap: 1rem; }
  .wade-image-pair figure:nth-child(2) { margin-top: 0; }
  .wade-next .text-link { display: table; margin: 1.5rem 0 0; }
  .project-featured-bleed { min-height: 640px; padding-block: 3rem; }
  .project-featured-bleed .project-copy h3 { font-size: clamp(3rem, 12vw, 5.5rem); }
  .project-futr.project-featured-bleed .project-media img { object-position: 70% center; }
  .project-wade.project-featured-bleed .project-media img { object-position: 50% 18%; }
}
@media (prefers-reduced-motion: reduce) {
  .wade-page { scroll-behavior: auto; }
  .project-featured-bleed .project-media img { transition: none; transform: none !important; }
}
