/* Current theme: scoped aliases, reading surfaces, film and chapter navigation.
 * Loaded last; selector specificity preserves the shared component cascade. */
/* Editorial provenance sits within each page's own opening composition. */
.pathway-edition .path-hero .content-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-rem-5) var(--space-rem-8);
  margin: var(--space-rem-8) 0 0;
  padding-block-start: var(--space-rem-5);
  border-block-start: 1px solid var(--color-nav-rule);
  max-width: 48ch;
  font-family: var(--font-sans);
}
.pathway-edition .content-meta > div {
  min-width: 0;
}
.pathway-edition .content-meta .content-meta-author {
  flex-basis: 100%;
}
.pathway-edition .content-meta dt {
  margin: 0 0 .35rem;
  color: var(--color-label-on-dark);
  font-size: .75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.pathway-edition .content-meta dd {
  margin: 0;
  color: var(--path-paper);
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.pathway-edition .content-meta a {
  text-decoration: underline;
  text-decoration-color: var(--color-nav-rule);
  text-underline-offset: .25em;
}
.pathway-edition .content-meta a:hover {
  text-decoration-color: currentColor;
}
@media (max-width: 380px) {
  .pathway-edition .content-meta > div {
    flex-basis: 100%;
  }
}
:root {
  --path-paper: var(--color-limestone);
  --path-ink: var(--color-warm-ink);
  --path-clay: var(--color-path-clay);
  --path-night: var(--color-aubergine);
  --path-sand: var(--color-sand);
}
body.pathway-edition {
  --agency-display: var(--font-editorial);
  --agency-body: var(--font-sans);
  --agency-ink: var(--path-ink);
  --new-ground: var(--path-paper);
  --new-ink: var(--path-ink);
  --new-paper: var(--path-paper);
  --new-paper-ink: var(--path-ink);
  --new-accent: var(--path-clay);
  --primary: var(--path-clay);
  --secondary: var(--color-copper);
  --agency-ground: var(--path-night);
  --agency-accent: var(--path-clay);
  --agency-paper: var(--path-paper);
  --agency-paper-ink: var(--path-ink);
  --line: #cbb5a7;
  --path-label: var(--color-label-on-paper);
  background: var(--path-paper);
  color: var(--path-ink);
}
body.pathway-edition :focus-visible {
  outline: 2px solid currentColor;
  outline-offset: var(--focus-offset);
}
.pathway-edition .path-hero {
  background: var(--path-night);
  color: var(--path-paper);
  padding: clamp(2.25rem, 6vw, 7rem) 0;
  min-height: 0;
}
.pathway-edition .path-hero > .shell {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  align-items: center;
  gap: clamp(var(--space-rem-5),5vw,5rem);
}
.pathway-edition .path-hero--home > .shell {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);
}
.pathway-edition .path-hero--home .path-media {
  order: -1;
}
.pathway-edition .path-hero h1 {
  font: 400 clamp(2.35rem,5vw,5.65rem)/.99 var(--font-editorial);
  letter-spacing: -.05em;
  max-width: 15ch;
  overflow-wrap: break-word;
  text-wrap: balance;
}
.pathway-edition .path-hero .hero-deck {
  max-width: 48ch;
}
.path-media {
  position: relative;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #251721;
  perspective: 950px;
  isolation: isolate;
}
.path-media :is(img,video) {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.path-media button {
  position: absolute;
  z-index: 1;
  inset: auto 1rem 1rem auto;
  color: var(--color-white);
  background: var(--color-warm-ink);
  border: 1px solid var(--color-white);
  padding: .65rem .95rem;
}
.path-media button[hidden] {
  display: none;
}
.pathway-edition main > .section {
  background: var(--path-paper);
  color: var(--path-ink);
}
.pathway-edition main > .section-alt {
  background: var(--path-sand);
}
.pathway-edition main :is(.section-intro,.editorial,.craft-scene) h2 {
  font-family: var(--font-editorial);
  font-weight: 400;
  letter-spacing: var(--tracking-heading);
}
.pathway-edition .craft-scene {
  background: var(--path-sand);
  color: var(--path-ink);
}
.pathway-edition .craft-scene :is(a,h2,p,span) {
  color: inherit;
}
.pathway-edition .craft-scene::before,.pathway-edition .craft-plate {
  display: none;
}
.pathway-edition .resource-grid {
  display: block;
  background: transparent;
  border: 0;
}
.pathway-edition main .resource-grid .resource-card {
  display: grid;
  grid-template-columns: minmax(5rem,.22fr) minmax(0,1fr);
  align-items: baseline;
  gap: var(--space-rem-2) var(--space-rem-6);
  padding: var(--space-rem-6) 0;
  min-height: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #a98b7b;
  color: var(--path-ink);
  box-shadow: none;
  transform: none;
}
.pathway-edition .resource-card :is(h3,p) {
  grid-column: 2;
  margin: 0;
  color: inherit;
}
.pathway-edition .resource-card h3 a {
  color: inherit;
}
.pathway-edition .resource-card .card-arrow {
  display: none;
}
.pathway-edition .bottom-cta {
  background: var(--path-night);
  color: var(--path-paper);
}
.pathway-edition .bottom-cta :is(h2,p) {
  color: inherit;
}
.pathway-edition .site-footer {
  background: var(--color-warm-ink);
  color: var(--path-paper);
}
.pathway-edition .site-footer a {
  color: inherit;
}
@media (prefers-reduced-motion: no-preference) {
  .path-media :is(img,video) {
    transform: translateY(calc(var(--path-progress, 0) * var(--path-travel, -5%))) scale(calc(1 + var(--path-progress, 0) * .16));
  }
  .path-arrival {
    animation: path-arrive .72s cubic-bezier(.2,.7,.25,1) both;
  }
  @keyframes path-arrive {
    from {
      opacity: .4;
      translate: 0 28px;
    }
    to {
      opacity: 1;
      translate: 0 0;
    }
  }
}
@media (max-width: 720px) {
  .pathway-edition .path-hero > .shell {
    grid-template-columns: minmax(0,1fr);
  }
  .pathway-edition .path-hero--home .path-media {
    order: 0;
  }
  .pathway-edition main .resource-grid .resource-card {
    display: block;
  }
  .pathway-edition .resource-card :is(h3,p) {
    margin-top: var(--space-rem-2);
  }
}
.pathway-edition #case-studies {
  background: var(--path-night);
  color: var(--path-paper);
}
.pathway-edition #case-studies :is(h2,h3,p,.eyebrow,.card-type,.resource-card) {
  color: inherit;
}
.pathway-edition #case-studies .resource-card {
  border-color: #ad8276;
}
.pathway-edition .path-case-cue {
  margin-block: var(--space-rem-2) var(--space-rem-4);
  color: var(--path-clay);
  font-weight: var(--weight-bold);
}
.pathway-edition :is(.crumb-band,.breadcrumbs) {
  background: var(--path-paper);
  color: var(--path-ink);
}
.pathway-edition .site-header :is(.site-logo,.wordmark) {
  font-family: var(--font-editorial);
}
.pathway-edition .craft-nav a::before {
  display: none;
}
.pathway-edition .path-hero .hero-text {
  text-align: start;
}
.pathway-edition .path-hero .hero-buttons {
  justify-content: start;
}
.pathway-edition .inner-runway .path-hero > .inner-grid {
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
}
@media (max-width: 760px) {
  .pathway-edition .inner-runway .path-hero > .inner-grid {
    grid-template-columns: minmax(0,1fr);
  }
}
body.pathway-edition :is(.nav-contact,.button--top,.button-primary,.button--primary,.toc-cta) {
  background: var(--path-clay) !important;
  border-color: var(--path-clay) !important;
  color: var(--color-white) !important;
}
body.pathway-edition :is(.nav-contact,.button--top,.button-primary,.button--primary,.toc-cta):hover {
  background: var(--color-clay-hover) !important;
  border-color: var(--color-clay-hover) !important;
}
body.pathway-edition .path-hero :is(.hero-text,.route-hero__copy,h1,p,.eyebrow,.case-overline,.inner-next,.button-quiet) {
  color: var(--path-paper) !important;
}
body.pathway-edition .path-hero .button-quiet {
  background: transparent !important;
  border-color: #c6a9a2 !important;
}
body.pathway-edition .path-hero .button-quiet:hover {
  background: #513340 !important;
}
body.pathway-edition .path-hero .eyebrow::before {
  background: var(--color-copper) !important;
  box-shadow: none !important;
}
@media (prefers-reduced-motion: no-preference) {
  .path-arrival-detail.path-arrival {
    animation-delay: 75ms;
  }
  .path-arrival:focus-within {
    animation: none;
  }
}
@media (max-width: 760px) {
  .path-media {
    --path-travel: -3%;
  }
}
/* A rear projection plane and four inner walls lead to a nearer oak frame. */
.path-stage {
  --depth: clamp(16px, 4vw, 56px);
  position: absolute;
  inset: 5%;
  transform-style: preserve-3d;
}
.path-screen {
  position: absolute;
  inset: 0;
  overflow: hidden;
  transform: translateZ(calc(-1 * var(--depth)));
  background: var(--color-film-screen);
}
.path-aperture {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  pointer-events: none;
}
.path-aperture::before {
  content: "";
  position: absolute;
  inset: -4px;
  border: 4px solid #a87358;
  box-shadow: 0 0 0 2px #382029;
}
.path-aperture i {
  position: absolute;
  display: block;
  background: linear-gradient(#694433, #31202a);
}
.path-aperture i:nth-child(1),
.path-aperture i:nth-child(2) {
  inset-inline: 0;
  height: var(--depth);
}
.path-aperture i:nth-child(1) {
  top: 0;
  transform-origin: top;
  transform: rotateX(-90deg);
}
.path-aperture i:nth-child(2) {
  bottom: 0;
  transform-origin: bottom;
  transform: rotateX(90deg);
}
.path-aperture i:nth-child(3),
.path-aperture i:nth-child(4) {
  inset-block: 0;
  width: var(--depth);
}
.path-aperture i:nth-child(3) {
  left: 0;
  transform-origin: left;
  transform: rotateY(90deg);
}
.path-aperture i:nth-child(4) {
  right: 0;
  transform-origin: right;
  transform: rotateY(-90deg);
}
@media (prefers-reduced-motion: no-preference) {
  .path-stage {
    transform: translateZ(calc(var(--path-progress, 0) * 72px))
      rotateY(calc(-8deg + var(--path-progress, 0) * 15deg))
      rotateX(calc(3deg - var(--path-progress, 0) * 6deg));
  }
  .path-aperture {
    transform: translateZ(calc(var(--path-progress, 0) * 12px));
  }
  .path-media .path-screen :is(img,video) {
    transform: scale(calc(1 + var(--path-progress, 0) * .14));
  }
}
@media (max-width: 760px) {
  .path-media {
    perspective: 780px;
  }
  .path-stage {
    --depth: 22px;
    inset: 7%;
  }
}
.path-media .path-playback {
  display: grid;
  place-items: center;
  inline-size: 44px;
  block-size: 44px;
  padding: 0;
  border: 1px solid var(--color-limestone);
  background: var(--color-warm-ink);
  color: var(--color-limestone);
}
.path-media .path-playback[hidden] {
  display: none;
}
.path-playback .path-icon-pause,
.path-playback[aria-label="Pause background"] .path-icon-play {
  display: none;
}
.path-playback[aria-label="Pause background"] .path-icon-pause {
  display: inline;
}
/* The homepage film uses its landscape composition. */
body.pathway-edition .site-header,
body.pathway-edition .site-header .mobile-menu {
  background: var(--path-night);
  color: var(--path-paper);
  border-color: #5f4450;
}
body.pathway-edition .site-header :is(a,button):not(.nav-contact),
body.pathway-edition .site-header .wordmark em {
  color: var(--path-paper);
}
body.pathway-edition .site-header .nav-toggle {
  background: #4a303d;
  border-color: var(--color-nav-rule);
}
body.pathway-edition .site-header .nav-toggle span {
  background: var(--path-paper);
}
body.pathway-edition .site-header .desktop-menu a:hover {
  color: var(--color-label-on-dark);
}
body.pathway-edition .site-header .mobile-menu {
  inset-block-start: 100%;
  max-block-size: calc(100dvh - 5rem);
  overflow-y: auto;
  overscroll-behavior: contain;
}
body.pathway-edition .site-header .mobile-menu > a {
  color: var(--path-paper) !important;
  border-color: var(--color-nav-rule);
}
body.pathway-edition .site-header .mobile-menu > a:hover,
body.pathway-edition .site-header .mobile-menu > a:focus-visible {
  color: var(--color-label-on-dark) !important;
}
body.pathway-edition .site-header .mobile-menu > .mobile-cta {
  background: var(--color-clay);
}
.pathway-edition .path-hero--home {
  padding: 0;
}
.pathway-edition .path-hero--home .path-media {
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: none;
}
.pathway-edition .path-hero--home .path-stage {
  inset: 0;
}
.pathway-edition .path-hero--home .path-aperture {
  display: none;
}
.pathway-edition .path-hero--home .path-screen {
  transform: none;
}
.pathway-edition .path-hero--home .path-media video {
  object-position: center;
}
.pathway-edition .path-hero--home .hero-text {
  width: min(100%, 1440px);
  margin-inline: auto;
  padding: var(--space-rem-10) clamp(var(--space-rem-5), 6vw, 6rem);
}
@media (min-width: 900px) {
  .pathway-edition .path-hero--home .hero-text {
    position: absolute;
    z-index: 2;
    inset: 50% 0 auto;
    translate: 0 -50%;
    pointer-events: none;
  }
  .pathway-edition .path-hero--home .hero-text a {
    pointer-events: auto;
  }
  .pathway-edition .path-hero--home .hero-text :is(h1,p) {
    max-width: min(43vw, 31rem);
  }
  .pathway-edition .path-hero--home .hero-text h1 {
    font-size: clamp(2.5rem, 4.5vw, 5rem);
  }
  .pathway-edition .path-hero--home .hero-buttons {
    max-width: 42vw;
  }
  .pathway-edition .path-hero--home .path-media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg,#21151ee8 0%,#21151ed1 32%,#21151e38 55%,transparent 72%);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .pathway-edition .path-hero--home .path-stage {
    transform: scale(calc(1 + var(--path-progress, 0) * .05));
  }
}
/* Homepage reading surfaces and chapter navigation. */
body.pathway-edition #explore .section-intro .eyebrow,
body.pathway-edition .section-alt .section-intro .eyebrow {
  color: var(--color-label-on-paper);
}
body.pathway-edition .craft-scene .craft-nav li {
  border: 0;
  background: var(--color-limestone);
}
body.pathway-edition .craft-scene .craft-nav a {
  padding-inline: var(--space-rem-4);
  min-height: 52px;
}
body.pathway-edition .craft-scene .craft-nav a:hover {
  background: #f2e5d7;
}
.home-guide-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 20rem);
  gap: clamp(var(--space-rem-8), 6vw, 7rem);
  align-items: start;
}
@media (max-width: 900px) {
  .home-guide-layout {
    grid-template-columns: minmax(0,1fr);
  }
}
/* Small labels need an ink color matched to their surrounding surface. */
body.pathway-edition :is(.path-hero, .bottom-cta, #case-studies, .section-dark) {
  --path-label: var(--color-label-on-dark);
}
body.pathway-edition :is(.eyebrow, .card-type, .case-overline, .craft-kicker) {
  color: var(--path-label);
}
/* Shared chapter index for the homepage, guides and case studies. */
.chapter-index {
  position: sticky;
  top: 105px;
  max-height: calc(100dvh - 125px);
  overflow: auto;
  padding: var(--space-rem-4);
  background: #eee0cf;
  color: var(--path-ink);
}
.chapter-index > .eyebrow {
  display: block;
  margin-bottom: var(--space-rem-label);
  color: var(--path-ink);
  font: 400 1.25rem/1.3 var(--font-editorial);
  letter-spacing: 0;
  text-transform: none;
}
.chapter-index nav {
  position: relative;
  display: grid;
  gap: 2px;
  padding-top: .55rem;
}
.chapter-index .path-chapters::before,
.chapter-index .path-chapters::after {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: #cdb49f;
}
.chapter-index .path-chapters::after {
  background: var(--path-clay);
  transform: scaleX(var(--chapter-progress, 0));
  transform-origin: left;
}
.chapter-index nav a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: .45rem .55rem;
  color: inherit;
  font-size: .875rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.chapter-index nav a:hover {
  background: #e1cbb6;
}
.chapter-index nav a[aria-current="location"] {
  background: var(--path-night);
  color: var(--path-paper);
}
.chapter-index a:focus-visible {
  outline-offset: -3px;
}
.chapter-index .toc-cta {
  display: flex;
  margin-top: var(--space-rem-4);
  padding: .65rem;
  gap: var(--space-rem-detail);
}
@media (max-width: 900px) {
  .chapter-index {
    position: static;
    max-height: none;
    overflow: visible;
    margin-bottom: var(--space-rem-6);
  }
  .home-guide-layout .chapter-index {
    grid-row: 1;
    margin-bottom: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .chapter-index .path-chapters::after {
    transform: none;
  }
}
