/*
 * Elevation architectural interaction layer
 * Focus Well · Site Plan Trace · Material Assembly · Field Cascade · Panel Rise
 * Baseline content remains complete without JavaScript.
 */

:root {
  --architectural-copper: #bd7045;
  --architectural-copper-bright: #dc9367;
  --architectural-ink: #f4eee5;
  --architectural-ground: #050403;
  --architectural-ease: cubic-bezier(.2, .72, .18, 1);
}

/* Attraction Field — quiet copper cells gather around the reader's position.
   They are decorative, pointer-transparent, and fully static when motion is
   reduced. The effect is a lure, never a reading requirement. */
[data-attraction-field] { position: relative; isolation: isolate; overflow: clip; }
.attraction-field {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: 1;
  contain: layout paint;
}
html.js-motion .attraction-field { opacity: 0; transition: opacity 1.4s var(--architectural-ease); }
html.js-motion .is-attraction-awake > .attraction-field { opacity: 1; }
.attraction-field::before {
  position: absolute;
  inset: 8% 5%;
  content: "";
  background: radial-gradient(ellipse at 68% 42%, rgba(193, 112, 67, .12), transparent 58%);
  filter: blur(24px);
}
.attraction-cell {
  position: absolute;
  width: clamp(150px, 20vw, 360px);
  aspect-ratio: 1;
  border: 1px solid rgba(226, 155, 107, .17);
  border-radius: 50%;
  box-shadow: inset 0 0 70px rgba(180, 91, 44, .035), 0 0 46px rgba(180, 91, 44, .035);
  transform: none;
  opacity: .5;
}
html.js-motion .attraction-cell { transform: translate3d(var(--cell-x, 0), var(--cell-y, 0), 0) scale(.72); opacity: 0; transition: transform 1.3s var(--architectural-ease), opacity 1.4s var(--architectural-ease); }
html.js-motion .is-attraction-awake .attraction-cell { transform: translate3d(var(--cell-x, 0), var(--cell-y, 0), 0) scale(1); opacity: .9; }
.attraction-cell:nth-child(1) { top: -8%; left: 7%; width: clamp(110px, 14vw, 250px); transition-delay: 80ms; }
.attraction-cell:nth-child(2) { top: 18%; right: -7%; transition-delay: 170ms; }
.attraction-cell:nth-child(3) { bottom: -16%; left: 34%; width: clamp(180px, 28vw, 470px); transition-delay: 250ms; }
.attraction-cell:nth-child(4) { top: 46%; left: -9%; width: clamp(100px, 12vw, 210px); transition-delay: 330ms; }
.attraction-cell:nth-child(5) { bottom: 8%; right: 18%; width: clamp(80px, 9vw, 160px); transition-delay: 410ms; }
.practice-grid,
.interior-hero-grid { position: relative; z-index: 1; }
.interior-hero .attraction-field { z-index: 0; mix-blend-mode: screen; }
.interior-hero .attraction-cell { border-color: rgba(236, 171, 124, .2); }

/* Header restraint and focused-stage state */
.header-actions { margin-left: auto; }
.header-project { min-width: 164px; }
.site-header {
  --header-gradient-opacity: 1;
  --header-glass-opacity: 0;
  isolation: isolate;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  transition: border-color .5s ease, box-shadow .5s ease;
}
.site-header::before,
.site-header::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";
  pointer-events: none;
  transition: opacity .58s var(--architectural-ease);
  will-change: opacity;
}
.site-header::before {
  background: linear-gradient(180deg, rgba(5, 4, 3, .82), rgba(5, 4, 3, 0));
  opacity: var(--header-gradient-opacity);
}
.site-header::after {
  background: rgba(5, 4, 3, .94);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  opacity: var(--header-glass-opacity);
}
.site-header .header-inner { position: relative; z-index: 1; }
.site-header.is-scrolled { --header-gradient-opacity: 0; --header-glass-opacity: 1; }
.site-header.is-open { --header-gradient-opacity: 0 !important; --header-glass-opacity: 1 !important; }
.site-header.is-over-focus-well:not(.is-open),
.site-header.is-over-founder:not(.is-open),
.site-header.is-over-process:not(.is-open) {
  --header-gradient-opacity: 0;
  --header-glass-opacity: 0;
}

/* Interior openings no longer carry a decorative route index. */
.interior-hero-grid { grid-template-columns: minmax(0, 1fr) !important; }
.interior-hero-copy { max-width: min(900px, 78vw); }
.interior-rail { display: none !important; }

/* Practice on Paper — image-led process ledger after the hero. */
.practice-section {
  position: relative;
  overflow: clip;
  padding: clamp(92px, 11vw, 180px) 0;
  background:
    linear-gradient(90deg, rgba(189, 112, 69, .08) 1px, transparent 1px) 7vw 0 / 18vw 100%,
    var(--architectural-ground);
}
.practice-grid {
  display: grid;
  grid-template-columns: minmax(340px, .9fr) minmax(0, 1.15fr);
  gap: clamp(54px, 8vw, 132px);
  align-items: start;
}
.practice-visual {
  position: sticky;
  top: clamp(104px, 13vh, 148px);
  min-height: min(72vh, 780px);
  margin: 0;
  overflow: hidden;
  background: #16110e;
  box-shadow: 0 44px 100px rgba(0, 0, 0, .34);
}
.practice-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(5, 4, 3, .75));
  pointer-events: none;
}
.practice-visual img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; filter: saturate(.76) contrast(1.08); }
.practice-visual figcaption {
  position: absolute;
  z-index: 2;
  inset: auto 24px 22px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: #e7ddd1;
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.practice-copy { min-width: 0; }
.practice-intro { max-width: 760px; padding: clamp(12px, 2vw, 28px) 0 clamp(46px, 6vw, 86px); }
.practice-intro h2 {
  max-width: 13ch;
  margin: 12px 0 26px;
  color: var(--architectural-ink);
  font-family: var(--display-font, "Cinzel", serif);
  font-size: clamp(2.55rem, 4.8vw, 5.4rem);
  font-weight: 470;
  line-height: .98;
  letter-spacing: -.045em;
}
.practice-intro .answer-capsule { max-width: 66ch; }
.practice-ledger {
  border-top: 1px solid rgba(220, 147, 103, .42);
  border-inline: 1px solid rgba(244, 238, 229, .08);
}
.practice-step {
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 72px;
  gap: clamp(18px, 2.2vw, 34px);
  align-items: center;
  align-content: center;
  box-sizing: border-box;
  padding: clamp(38px, 4.5vw, 64px) clamp(24px, 3vw, 46px);
  border-bottom: 1px solid rgba(244, 238, 229, .14);
  color: var(--architectural-ink);
  transition: background-color .4s ease, box-shadow .4s ease;
  outline: none;
}
.practice-step::before {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: 0;
  height: 2px;
  background: var(--architectural-copper-bright);
  transition: width .65s var(--architectural-ease);
}
.practice-step.is-active { background: rgba(244, 238, 229, .035); }
.practice-step.is-active::before { width: clamp(72px, 15vw, 184px); }
.practice-step:focus-visible { box-shadow: inset 0 0 0 2px var(--architectural-copper-bright); }
.practice-step > span,
.practice-step > em { align-self: center; color: var(--architectural-copper-bright); font-size: .73rem; font-style: normal; line-height: 1; letter-spacing: .16em; text-transform: uppercase; }
.practice-step > em { justify-self: end; }
.practice-step strong { display: block; margin-bottom: 12px; font-family: var(--display-font, "Cinzel", serif); font-size: clamp(1.35rem, 2vw, 2.05rem); font-weight: 480; }
.practice-step p { max-width: 52ch; margin: 0; color: #c8bdb1; line-height: 1.72; }

/* Focus Well — full-bleed, viewport-weighted service discovery. */
.focus-well { position: relative; padding: clamp(80px, 10vw, 150px) 0 0; background: #050403; }
.focus-well__intro { position: relative; z-index: 2; padding-bottom: clamp(52px, 7vw, 96px); }
.focus-well .section-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(310px, .7fr);
  gap: clamp(40px, 8vw, 140px);
  align-items: end;
  text-align: left;
}
.focus-well .section-intro > div,
.focus-well .section-intro .answer-capsule { margin: 0; max-width: none; }
.focus-well .section-intro h2 { max-width: 14ch; margin-inline: 0; }
.focus-well .direction-browser { width: 100%; max-width: none; }
.focus-well .direction-browser__frame { min-height: max(760px, 100svh); }
.focus-well .direction-browser__stage { min-height: max(760px, 100svh); }
.focus-well .direction-slide,
.focus-well .direction-slide__link,
.focus-well .direction-slide img { min-height: max(760px, 100svh); }
.focus-well .direction-slide__copy { left: max(var(--page-pad), calc((100vw - 1500px) / 2)); bottom: clamp(104px, 14vh, 170px); }
.focus-well .direction-browser__controls {
  position: absolute;
  z-index: 14;
  left: 0;
  right: 0;
  bottom: 24px;
  max-width: none;
  pointer-events: none;
}
.focus-well .direction-browser__controls > * { pointer-events: auto; }
html.js-motion .focus-well__cursor {
  position: fixed;
  z-index: 80;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 80px;
  height: 80px;
  padding: 0 10px;
  border: 1px solid rgba(244, 238, 229, .62);
  border-radius: 50%;
  background: rgba(5, 4, 3, .16);
  color: #fff8f0;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(-50%, -50%, 0) scale(.78);
  transition: opacity .2s ease, transform .35s var(--architectural-ease);
  backdrop-filter: blur(6px);
}
html.js-motion .focus-well__cursor span { display:block; }
html.js-motion .focus-well__cursor.is-visible { opacity: 1; transform: translate3d(-50%, -50%, 0) scale(1); }
html.js-motion .focus-well__cursor.is-next { border-color: var(--architectural-copper-bright); }
html.js-motion .focus-well__cursor::before,
html.js-motion .focus-well__cursor::after {
  position: absolute;
  right: 12px;
  left: 12px;
  height: 1px;
  background: rgba(255,248,239,.72);
  content: "";
  transform: scaleX(0);
}
html.js-motion .focus-well__cursor::before { top: 22px; transform-origin: left; }
html.js-motion .focus-well__cursor::after { bottom: 22px; transform-origin: right; }
html.js-motion .focus-well__cursor.is-shuttering::before,
html.js-motion .focus-well__cursor.is-shuttering::after { animation: cursor-shutter .46s var(--architectural-ease); }
@keyframes cursor-shutter { 0% { transform:scaleX(0); } 45% { transform:scaleX(1); } 100% { transform:scaleX(0); } }
@media (hover: hover) and (pointer: fine) {
  html.js-motion .focus-well .direction-browser__stage,
  html.js-motion .focus-well .direction-browser__stage *,
  html.js-motion .focus-well .direction-browser__rail,
  html.js-motion .focus-well .direction-browser__rail * { cursor: none; }
}

/* Site Plan Trace — a legible outdoor plan, not an ornamental squiggle. */
.site-plan-trace { isolation: isolate; min-height: clamp(780px, 105svh, 1120px); }
.site-plan-trace__drawing { inset: 0; width: 100%; height: 100%; opacity: .82; }
.site-plan-trace__grid { opacity: .12; }
.site-plan-trace__grid path { fill: none; stroke: #d7aa89; stroke-width: 1; vector-effect: non-scaling-stroke; }
.site-plan-trace__lines path {
  fill: none;
  stroke: var(--architectural-copper-bright);
  stroke-width: 1.5;
  stroke-dasharray: 1;
  stroke-dashoffset: calc(1 - var(--route-progress, 0));
  vector-effect: non-scaling-stroke;
  transition: stroke-dashoffset .08s linear;
}
.site-plan-trace__labels { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.site-plan-trace__labels span {
  position: absolute;
  left: var(--plan-x);
  top: var(--plan-y);
  padding: 7px 10px;
  background: rgba(5, 4, 3, .96);
  color: #f1e4d8;
  font-size: .7rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.site-plan-trace__marks { opacity: var(--route-progress, 0); fill: #050403; stroke: #e3a77c; stroke-width: 2; }
.site-plan-trace .one-plan-grid { position: relative; z-index: 3; grid-template-columns: minmax(0, .88fr) minmax(360px, .72fr); gap: clamp(72px, 11vw, 170px); align-items: center; }
.site-plan-trace .one-plan-copy h2 {
  max-width: 12ch;
  font-size: clamp(2.85rem, 3.8vw, 4.75rem);
  line-height: .98;
}
.site-plan-trace .one-plan-copy {
  position: relative;
  padding: 28px 36px 34px 0;
  background: linear-gradient(90deg, #050403 0%, rgba(5, 4, 3, .96) 78%, rgba(5, 4, 3, 0) 100%);
}
.site-plan-trace .one-plan-copy p:not(.eyebrow) { color: #c9beb2; }
.site-plan-trace .one-plan-copy .text-link,
.site-plan-trace .one-plan-copy .text-link span { color: #f4eee5; border-color: rgba(244, 238, 229, .42); }
.route-home .founder-quote-mark { color: rgba(221, 164, 121, .64) !important; }
.plan-context { position: relative; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; box-shadow: 0 44px 120px rgba(0, 0, 0, .48); }
.plan-context img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.68) contrast(1.08); }
.plan-context::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(5,4,3,.82)); }
.plan-context figcaption { position: absolute; z-index: 2; inset: auto 22px 20px; display: flex; justify-content: space-between; gap: 12px; color: #eee4da; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }

/* Material Assembly — each piece arrives from center and finds its place. */
.material-assembly { overflow: clip; }
.material-assembly__stage { position: relative; isolation: isolate; }
.material-assembly__item { border: 0 !important; box-shadow: none !important; }
.material-assembly__item img { border-radius: 0 !important; }
.js-motion .material-assembly__item {
  opacity: .2;
  transform: translate3d(var(--assembly-x, 0), var(--assembly-y, 70px), 0) scale(.84);
  transition: opacity .75s ease, transform 1.05s var(--architectural-ease);
  transition-delay: calc(var(--material-index, 0) * 150ms);
}
.js-motion .material-assembly.is-assembled .material-assembly__item { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.material-assembly__item:nth-child(1) { --assembly-x: 24vw; --material-index: 0; }
.material-assembly__item:nth-child(2) { --assembly-x: 0; --material-index: 1; }
.material-assembly__item:nth-child(3) { --assembly-x: -24vw; --material-index: 2; }
.material-assembly .cedar-detail { grid-template-columns: minmax(0, 760px); }
.material-assembly .cedar-detail > div { border: 0; border-top: 1px solid rgba(220,147,103,.42); padding-inline: 0; }
.js-motion .material-assembly.is-scroll-assembling .material-assembly__item { transition: none; will-change: transform, opacity; }

/* Route-family choreography. It changes arrival, not reading order. */
.js-motion .panel-rise__item,
.js-motion .field-cascade__item { transition-delay: calc(var(--architectural-index, 0) * 85ms); }
.js-motion .panel-rise__item:not(.is-visible) { transform: translate3d(0, 88px, 0) scale(.985); }
.js-motion .field-cascade__item:not(.is-visible) { transform: translate3d(0, calc(-72px - var(--architectural-index, 0) * 12px), 0) rotate(calc((var(--architectural-index, 0) - 2) * .35deg)); }
.js-motion .panel-rise__item.is-visible,
.js-motion .field-cascade__item.is-visible { transform: none; }

@media (max-width: 900px) {
  .practice-grid { grid-template-columns: 1fr; gap: 52px; }
  .practice-visual { position: relative; top: auto; min-height: 62svh; }
  .focus-well .section-intro { grid-template-columns: 1fr; }
  .focus-well .direction-browser__frame,
  .focus-well .direction-browser__stage,
  .focus-well .direction-slide,
  .focus-well .direction-slide__link,
  .focus-well .direction-slide img { min-height: 82svh; }
  .site-plan-trace .one-plan-grid { grid-template-columns: 1fr; gap: 54px; }
  .plan-context { max-width: 620px; justify-self: end; }
}

@media (max-width: 760px) {
  /* Mobile Chromium can widen its layout viewport by 3px when the indexed
     cascade initializes. Inline-size containment keeps the route field tied
     to the real visual viewport without clipping any painted content. */
  body.route-work { contain: inline-size; }
  .header-project { min-width: 0; }
  .practice-section { padding: 78px 0; background-size: 40vw 100%; }
  .practice-visual { min-height: 52svh; }
  .practice-step { grid-template-columns: 38px minmax(0, 1fr); gap: 16px; }
  .practice-step > em { display: none; }
  .practice-step.is-active { padding-left: 8px; }
  .practice-intro h2 { font-size: clamp(2.35rem, 11.5vw, 4rem); }
  .focus-well { padding-top: 76px; }
  .focus-well .direction-browser__controls { bottom: 14px; }
  .focus-well .direction-slide__copy { left: var(--page-pad); right: var(--page-pad); bottom: 148px; }
  .site-plan-trace { min-height: 940px; }
  .site-plan-trace__drawing { opacity: .58; transform: scale(1.45); transform-origin: 50% 45%; }
  .plan-context { width: 88%; aspect-ratio: 4 / 3; }
  .material-assembly__stage { display: grid; grid-template-columns: 1fr; gap: 14px; padding-inline: var(--page-pad); }
  .material-assembly__item { min-height: 58svh; }
  .js-motion .material-assembly__item { --assembly-x: 0 !important; --assembly-y: 38px; }
}

@media (hover: none), (pointer: coarse) { html.js-motion .focus-well__cursor { display: none; } }

@media (prefers-reduced-motion: reduce) {
  .attraction-field { opacity: 1; transition: none; }
  .attraction-cell { opacity: .5; transform: none; transition: none; }
  .site-plan-trace__lines path { stroke-dashoffset: 0; transition: none; }
  .site-plan-trace__labels,
  .site-plan-trace__marks { opacity: .72; transition: none; }
  .js-motion .material-assembly__item,
  .js-motion .panel-rise__item,
  .js-motion .field-cascade__item { opacity: 1; transform: none; transition: none; }
}

/* --------------------------------------------------------------------------
   Operator-directed architectural sequences
   These rules replace the earlier ornamental motion with five page-specific
   stories: Practice Scrub, Scope Contract, Project Gravity, Blueprint Pair,
   and Field Cascade. Content and navigation remain complete without JS.
   -------------------------------------------------------------------------- */

/* Practice Scrub — fixed geometry on the right; horizontal image handoffs on
   the left. Active emphasis never changes the row's available line measure. */
.practice-section {
  padding: 0;
  background: #15110e;
}

.practice-grid {
  min-height: 230svh;
  padding-block: clamp(92px, 10vw, 150px) 12svh;
}

.practice-visual {
  height: calc(100svh - 150px);
  min-height: 610px;
  max-height: 900px;
  box-shadow: 0 48px 130px rgba(0, 0, 0, .38);
}

.practice-visual::after {
  z-index: 5;
  background: linear-gradient(180deg, rgba(5,4,3,.03) 42%, rgba(5,4,3,.78));
}

.practice-visual__frame {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0;
  opacity: 1;
  clip-path: inset(0);
}

html.js-motion .practice-visual__frame {
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  transition: clip-path .9s var(--architectural-ease), opacity .12s linear .72s;
}

html.js-motion .practice-ledger[data-ledger-direction="reverse"] ~ * .practice-visual__frame,
html.js-motion .practice-visual.is-reverse .practice-visual__frame { clip-path: inset(0 0 0 100%); }

.practice-visual__frame.is-active {
  z-index: 3;
  opacity: 1;
  clip-path: inset(0);
  transition: clip-path .9s var(--architectural-ease), opacity .08s linear;
}

.practice-visual.is-reverse .practice-visual__frame.is-active { clip-path: inset(0); }

.practice-visual__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.82) contrast(1.06) brightness(.96);
  transform: translate3d(7%, 0, 0) scale(1.08);
  transition: transform 1.05s var(--architectural-ease);
}

.practice-visual.is-reverse .practice-visual__frame img { transform: translate3d(-7%, 0, 0) scale(1.08); }
.practice-visual__frame.is-active img { transform: translate3d(0, 0, 0) scale(1); }
.practice-visual.is-reverse .practice-visual__frame.is-active img { transform: translate3d(0, 0, 0) scale(1); }

.practice-visual__frame:nth-child(2) img { object-position: 62% 50%; }
.practice-visual__frame:nth-child(3) img { object-position: 58% 52%; }
.practice-visual__frame:nth-child(4) img { object-position: 48% 54%; }

.practice-visual__caption {
  position: absolute;
  z-index: 7;
  inset: auto 24px 22px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: #f2e8dc;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.practice-copy { padding-bottom: 20svh; }
.practice-intro { min-height: 62svh; display: flex; flex-direction: column; justify-content: center; }
.practice-step { min-height: 36svh; }
.practice-step > div { min-width: 0; align-self: center; }
.practice-step.is-active > div { transform: none; }
.practice-step strong, .practice-step p { inline-size: 100%; }

/* Whole Property — White Tail's exact Services/Rooms/Rendered/Built motion
   grammar, expressed in Elevation's Whiskey Cedar type and color system. */
.focus-well { padding-top: 0; border: 0; }
.scope-reveal {
  position: relative;
  min-height: 100svh;
  overflow: clip;
  background: #050403;
  isolation: isolate;
}
html.js-motion .scope-reveal { height: 300svh; }
.scope-reveal__scene {
  position: relative;
  height: 100svh;
  min-height: 620px;
  overflow: clip;
  background: #050403;
}
html.js-motion .scope-reveal__scene { position: sticky; top: 0; }
.scope-reveal__image {
  position: absolute;
  inset: 0;
  transform: scale(var(--scope-scale,1));
  transform-origin: center;
  will-change: transform;
}
.scope-reveal__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 56% 55%;
  filter: saturate(.8) contrast(1.04) brightness(.9);
}
.scope-reveal__veil {
  position: absolute;
  inset: 0;
  background: rgba(5,4,3,var(--scope-veil,.18));
  pointer-events: none;
}
.scope-reveal__label {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  place-items: center;
  margin: 0;
  color: #fff8ef;
  font-family: var(--display);
  font-size: clamp(3.2rem,7.2vw,7.6rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: .98;
  pointer-events: none;
}
.scope-reveal__label span {
  display: block;
  opacity: var(--scope-label-o,1);
  transform: translate3d(0,var(--scope-label-y,0),0);
  will-change: transform,opacity;
}
.scope-reveal__words {
  position: absolute;
  z-index: 3;
  inset: 0;
  color: rgba(255,248,239,.9);
  font-family: var(--display);
  font-size: clamp(3.8rem,10.4vw,10.8rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: .8;
  pointer-events: none;
}
.scope-word { position: absolute; display: block; white-space: nowrap; }
.scope-word--imagine { top: max(132px,15vh); left: 50%; transform: translateX(-50%); }
.scope-word--resolve { top: 41vh; left: var(--page-pad); }
.scope-word--build { right: var(--page-pad); bottom: 7vh; }
html.js-motion .scope-word.is-split > span {
  display: inline-block;
  opacity: var(--cp,0);
  transform: translate3d(calc((1 - var(--cp,0)) * 32px),0,0);
  will-change: transform,opacity;
}
.scope-reveal__instruction {
  position: absolute;
  z-index: 4;
  left: var(--page-pad);
  bottom: 28px;
  color: rgba(255,248,239,.68);
  font-family: var(--body);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
  opacity: var(--scope-instruction-o,1);
}

/* Project Gravity — the project stage owns the viewport while native vertical
   scroll and horizontal trackpad movement advance the six project states. */
.focus-well__track { position: relative; height: 600svh; background: #050403; }
.focus-well .direction-browser {
  position: sticky;
  top: 0;
  height: 100svh;
  border: 0;
  background: #050403;
  overflow: clip;
}
.focus-well .direction-browser__frame,
.focus-well .direction-browser__stage,
.focus-well .direction-slide,
.focus-well .direction-slide__link,
.focus-well .direction-slide img { height: 100svh; min-height: 100svh; }

.focus-well .direction-slide { border: 0; }
.focus-well .direction-slide img { transform: none !important; animation: none !important; }
.focus-well .direction-browser__rail img { transform: none !important; }
.focus-well .direction-browser__rail.is-refreshing img { animation: direction-rail-fade .5s var(--architectural-ease) both; }
@keyframes direction-rail-fade { from { opacity: .28; } to { opacity: 1; } }

.focus-well .direction-browser__controls {
  position: absolute !important;
  z-index: 20;
  right: clamp(18px, 2.2vw, 38px);
  bottom: clamp(18px, 3vh, 34px);
  left: clamp(18px, 2.2vw, 38px);
  display: grid !important;
  width: auto;
  min-height: 68px !important;
  padding: 8px 10px;
  grid-template-columns: 52px max-content minmax(180px,1fr) 52px !important;
  border: 1px solid rgba(255,248,239,.24) !important;
  background: rgba(5,4,3,.56);
  backdrop-filter: blur(18px);
}
.focus-well .direction-browser__controls::before { top: -1px; left: 0; }
.focus-well .direction-slide__copy { bottom: clamp(112px, 15vh, 160px); }
.focus-well .direction-browser__rail-copy { bottom:124px; }

.site-header.is-over-focus-well,
.site-header.is-over-founder,
.site-header.is-over-process {
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Blueprint Scrub — the question, outdoor plan, and built condition share one
   pinned viewport. The plan completes while the visitor is actually here. */
.site-plan-trace {
  min-height: 238svh;
  padding: 0;
  overflow: clip;
  background: #d5c8b8 !important;
  color: #17100b !important;
}
.one-plan-shell {
  position: sticky;
  top: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(280px,.64fr) minmax(0,1.36fr);
  gap: clamp(36px,5.2vw,82px);
  align-items: center;
  min-height: 100svh;
  padding-block: clamp(94px,12vh,126px) clamp(34px,5vh,64px);
}
.site-plan-trace .one-plan-copy {
  position: relative;
  top: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(16px,2.3vh,24px);
  min-width: 0;
  padding: 0;
  background: none;
}
.site-plan-trace .one-plan-copy .eyebrow { margin: 0; color: #714329; }
.site-plan-trace .one-plan-copy h2 {
  max-width: 10.5ch;
  margin: 0;
  color: #17100b;
  font-size: clamp(2.75rem,4.4vw,5.45rem);
  line-height: .92;
}
.site-plan-trace .one-plan-copy p:not(.eyebrow) {
  max-width: 46ch;
  margin: 0;
  color: rgba(23,16,11,.76);
  font-size: clamp(.96rem,1.12vw,1.08rem);
  line-height: 1.62;
}
.site-plan-trace .one-plan-copy .text-link {
  margin-top: 2px;
  color: #17100b;
  border-color: rgba(23,16,11,.38);
}
.site-plan-trace .one-plan-copy .text-link span { color: inherit; }

.site-plan-trace__stage {
  display: grid;
  grid-template-columns: minmax(0,1.16fr) minmax(190px,.54fr);
  gap: 1px;
  min-width: 0;
  min-height: min(70svh,760px);
  max-height: 760px;
  background: rgba(23,16,11,.28);
  box-shadow: 0 34px 90px rgba(56,42,31,.22);
}
.site-plan-trace__blueprint,
.plan-context {
  position: relative;
  min-width: 0;
  min-height: inherit;
  margin: 0;
  overflow: hidden;
  background: #14100d;
}
.site-plan-trace__blueprint { display: grid; place-items: center; }
.site-plan-trace__drawing {
  position: relative;
  inset: auto;
  width: 100%;
  height: auto;
  max-height: 100%;
  padding: clamp(20px,3.2vw,48px);
  opacity: 1;
}
.site-plan-trace__grid path { stroke: rgba(225,193,167,.32); }
.site-plan-trace__lines path { stroke: #db8e5d; stroke-width: 2; stroke-dashoffset: 0; }
html.route-motion-ready .site-plan-trace__lines path { stroke-dashoffset: calc(1 - var(--route-progress, 0)); }
.site-plan-trace__marks { opacity: 1; fill: #14100d; stroke: #f2b78f; }
html.route-motion-ready .site-plan-trace__marks { opacity: var(--route-progress, 0); }
.site-plan-trace__labels { opacity: 1; }
html.route-motion-ready .site-plan-trace__labels { opacity: var(--route-progress, 0); }
.site-plan-trace__labels span {
  padding: 5px 7px;
  border: 1px solid rgba(242,183,143,.28);
  background: rgba(20,16,13,.86);
  font-size: .56rem;
  letter-spacing: .13em;
}
.site-plan-trace__blueprint figcaption,
.plan-context figcaption {
  position: absolute;
  z-index: 3;
  inset: auto 20px 18px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: #f5e9dd;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.plan-context { aspect-ratio: auto; box-shadow: none; clip-path: none; }
.plan-context img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  clip-path: none;
  transform: none;
  filter: saturate(.82) contrast(1.04) brightness(.96);
}
html.route-motion-ready .plan-context img {
  clip-path: inset(calc((1 - var(--context-progress, 0)) * 100%) 0 0 0);
  transform: scale(calc(1.045 - var(--context-progress, 0) * .045));
  will-change: clip-path, transform;
}
.plan-context figcaption { opacity: 1; }
html.route-motion-ready .plan-context figcaption { opacity: var(--context-progress, 0); }
.plan-context::after { background: linear-gradient(180deg, transparent 58%, rgba(5,4,3,.7)); }

/* Material Cascade — copy and practical meaning remain visible while each
   image leaves the center of the visual field and settles into place. */
.material-assembly {
  position: relative;
  padding-block: clamp(110px,13vw,180px);
  overflow: clip;
  background: #090705 !important;
}
html.js-motion .material-assembly { min-height: 246svh; padding-block: 0; }
.material-assembly__scene {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(390px,.82fr) minmax(0,1.18fr);
  grid-template-rows: minmax(0,1fr) auto;
  column-gap: clamp(38px,4.6vw,70px);
  min-height: 760px;
  padding-block: clamp(88px,10.5vh,108px) clamp(24px,3.5vh,38px);
}
html.js-motion .material-assembly__scene { position: sticky; top: 0; min-height: 100svh; }
.material-assembly .cedar-head {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  max-width: none;
  margin: 0;
  text-align: left;
}
.material-assembly .cedar-head h2 {
  max-width: 100%;
  margin: 10px 0 0;
  font-size: clamp(2.55rem,3.8vw,4.7rem);
  line-height: .94;
}
.material-assembly .cedar-head > p:last-child {
  max-width: 48ch;
  margin: 18px 0 0;
  font-size: clamp(.92rem,1vw,1rem);
  line-height: 1.54;
}
.material-assembly .material-assembly__stage {
  position: relative;
  isolation: isolate;
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(0,.76fr) minmax(0,.86fr);
  gap: 10px;
  width: 100%;
  height: min(68svh,720px);
  min-height: 510px;
  margin: 0;
  padding: 0;
  overflow: visible;
}
.material-assembly .material-assembly__item,
.material-assembly .material-assembly__item:nth-child(2),
.material-assembly .material-assembly__item:nth-child(3) {
  min-width: 0;
  min-height: 0;
  height: 100%;
  margin: 0;
  align-self: stretch;
}
.material-assembly .material-assembly__item:nth-child(2) { height: 77%; align-self: end; }
.material-assembly .material-assembly__item:nth-child(3) { height: 88%; align-self: center; }
.material-assembly .material-assembly__item img { height: calc(100% - 38px); }
.material-assembly .cedar-detail {
  grid-column: 1;
  grid-row: 2;
  display: block;
  align-self: start;
  margin: 20px 0 0;
  padding: 0;
  border-top: 1px solid rgba(220,147,103,.42);
  background: none;
}
.material-assembly .cedar-detail > div {
  padding: 16px 0 0;
  background: transparent;
}
.material-assembly .cedar-detail p {
  max-width: 40ch;
  margin: 10px 0 0;
  font-family: var(--body);
  font-size: clamp(.94rem,1.18vw,1.08rem);
  letter-spacing: 0;
  line-height: 1.58;
}

/* From Idea to Complete — the heading and all three moments share one pinned
   viewport; the columns dissolve into clarity one at a time. */
.process-reveal {
  position: relative;
  padding-block: clamp(110px,13vw,180px);
  overflow: clip;
  isolation: isolate;
  background: #17110e !important;
}
html.js-motion .process-reveal { min-height: 238svh; padding-block: 0; }
.process-reveal__backdrop { position: absolute; z-index: -2; inset: 0; }
.process-reveal__backdrop img {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100svh;
  object-fit: cover;
  filter: saturate(.68) contrast(1.08) brightness(.72);
}
.process-reveal__backdrop::after { position: absolute; inset: 0; content:""; background: linear-gradient(180deg, rgba(5,4,3,.38), rgba(5,4,3,.78) 58%, rgba(5,4,3,.94)); }
.process-reveal__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-rows: auto 1fr;
  align-content: center;
  min-height: 760px;
  padding-block: clamp(96px,11vh,118px) clamp(26px,4vh,42px);
}
html.js-motion .process-reveal__inner { position: sticky; top: 0; min-height: 100svh; }
.process-reveal .process-intro {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}
.process-reveal .process-intro h2 {
  max-width: 14ch;
  margin: 10px auto 0;
  color: #fff8ef;
  font-size: clamp(2.8rem,5vw,6rem);
  line-height: .92;
}
.process-reveal .process-intro :where(.answer-capsule, .process-intro__summary) { max-width: 62ch; margin: 18px auto 0; color: #ddd0c3; }
.process-columns {
  align-self: end;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  min-height: 260px;
  margin: clamp(28px,4.5vh,48px) 0 0;
  padding: 0;
  border-top: 1px solid rgba(255,248,239,.34);
  list-style: none;
}
.process-columns li {
  min-height: 0;
  padding: clamp(24px,2.8vw,40px);
  border-right: 1px solid rgba(255,248,239,.22);
  color: #fff8ef;
  opacity: 1;
  transform: none;
  filter: none;
}
html.js-motion .process-columns li {
  transform: translateY(calc((1 - var(--column-progress, 0)) * 28px));
  opacity: calc(.72 + var(--column-progress, 0) * .28);
  filter: blur(calc((1 - var(--column-progress, 0)) * 2px));
}
.process-columns li:last-child { border-right:0; }
.process-columns span { color:#e29868; font-size:.76rem; letter-spacing:.16em; }
.process-columns h3 { margin: clamp(30px,4vh,42px) 0 14px; font-family:var(--display); font-size:clamp(1.65rem,2.5vw,3rem); font-weight:480; line-height:1; }
.process-columns p { margin:0; color:#d3c6ba; line-height:1.62; }

/* Founder Convergence — two complementary fields move toward one shared
   direction. The images describe the work, not the people; the verified names
   and roles remain the explicit subject. */
.route-home .founder-convergence {
  --founder-progress: 1;
  --founder-media-progress: 1;
  min-height: 100svh;
  padding: 0;
  overflow: clip;
  border: 0;
  background: #050403;
  color: #fff8ef;
}

html.js-motion .route-home .founder-convergence { min-height: 210svh; }

.founder-convergence__scene {
  position: relative;
  min-height: 100svh;
  overflow: clip;
  background: #050403;
}

html.js-motion .founder-convergence__scene {
  position: sticky;
  top: 0;
  height: 100svh;
}

.founder-convergence__media,
.founder-convergence__veil,
.founder-convergence__names,
.founder-convergence__content { position: absolute; inset: 0; }

.founder-convergence__media { z-index: 1; }
.founder-convergence__media figure {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 58%;
  margin: 0;
  overflow: clip;
  will-change: transform;
}
.founder-convergence__media figure:first-child {
  left: 0;
  clip-path: polygon(0 0, 96% 0, 86% 100%, 0 100%);
  transform: translate3d(calc((1 - var(--founder-media-progress)) * -16vw),0,0) scale(calc(1.1 - var(--founder-media-progress) * .1));
}
.founder-convergence__media figure:last-child {
  right: 0;
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
  transform: translate3d(calc((1 - var(--founder-media-progress)) * 16vw),0,0) scale(calc(1.1 - var(--founder-media-progress) * .1));
}
.founder-convergence__media img { width:100%; height:100%; object-fit:cover; filter:saturate(.7) contrast(1.12) brightness(.66); }
.founder-convergence__media figure:first-child img { object-position:42% center; }
.founder-convergence__media figure:last-child img { object-position:58% center; }

.founder-convergence__veil {
  z-index: 2;
  background: linear-gradient(180deg,rgba(5,4,3,.28),rgba(5,4,3,.18) 38%,rgba(5,4,3,.94)),linear-gradient(90deg,rgba(5,4,3,.52),transparent 42%,rgba(5,4,3,.38));
}

.founder-convergence__names {
  z-index: 3;
  top: 23svh;
  right: var(--page-pad);
  bottom: auto;
  left: var(--page-pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(255,248,239,.92);
  font-family: var(--display);
  font-size: clamp(5rem,13vw,13.5rem);
  font-weight: 470;
  letter-spacing: -.08em;
  line-height: .76;
  text-transform: uppercase;
  pointer-events: none;
}
.founder-convergence__names span:first-child { transform: translateX(calc((1 - var(--founder-progress)) * -13vw)); }
.founder-convergence__names span:last-child { transform: translateX(calc((1 - var(--founder-progress)) * 13vw)); }
.founder-convergence__names i {
  color: #e59b6c;
  font-size: .34em;
  font-style: normal;
  opacity: clamp(.18, var(--founder-progress), 1);
  transform: rotate(calc((1 - var(--founder-progress)) * 45deg));
}

.founder-convergence__content {
  z-index: 4;
  top: auto;
  display: grid;
  grid-template-columns: minmax(0,.92fr) minmax(440px,.74fr);
  gap: clamp(52px,9vw,150px);
  align-items: end;
  padding-bottom: clamp(48px,7vh,84px);
}
.founder-convergence__intro { max-width: 680px; }
.founder-convergence__intro .eyebrow { color:#e59b6c; }
.founder-convergence__intro h2 {
  margin: 18px 0 20px;
  color:#fff8ef;
  font-family:var(--display);
  font-size:clamp(2.6rem,5.3vw,6rem);
  font-weight:460;
  letter-spacing:-.055em;
  line-height:.9;
  text-transform:uppercase;
}
.founder-convergence__intro > p:not(.eyebrow) { max-width:58ch; margin:0; color:#d9cdc2; line-height:1.7; }
.founder-convergence__intro .text-link { margin-top:24px; border-color:rgba(255,248,239,.44); color:#fff8ef; }
.founder-convergence__roles { border-top:1px solid rgba(255,248,239,.3); }
.founder-convergence__roles p { display:grid; grid-template-columns:1fr auto; gap:8px 24px; margin:0; padding:22px 0; border-bottom:1px solid rgba(255,248,239,.22); }
.founder-convergence__roles span { color:#e59b6c; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; }
.founder-convergence__roles strong { color:#fff8ef; font-family:var(--display); font-size:clamp(1rem,1.45vw,1.35rem); font-weight:500; }
.founder-convergence__roles small { grid-column:1 / -1; color:#c9bcb1; font-size:.82rem; line-height:1.5; }

/* Outdoor scope — White Tail's Services 05 motion grammar translated into
   Elevation's dark material system. The full scene pins; each image rises from
   the bottom as a horizontal slice while its corresponding row arrives. */
.service-ledger {
  position:relative;
  padding:0;
  overflow:visible;
  border-bottom:1px solid rgba(255,248,239,.16);
  background:#0d0a08;
  color:#fff8ef;
}
html.js-motion .home-service-ledger { height:320svh; }
.service-ledger__sticky { padding:clamp(92px,11vh,124px) var(--page-pad) clamp(44px,6vh,68px); }
html.js-motion .home-service-ledger .service-ledger__sticky {
  position:sticky;
  top:0;
  height:100svh;
  min-height:700px;
  overflow:clip;
}
.home-service-ledger__head {
  min-height:clamp(94px,13vh,122px);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:end;
  margin:0;
  padding-bottom:clamp(20px,2.8vh,32px);
  border-bottom:1px solid rgba(255,248,239,.22);
}
.home-service-ledger__head,
.home-service-ledger__head > *,
.home-service-ledger__head > div { min-width:0; }
.home-service-ledger__head .eyebrow { margin:0 0 8px; color:#e59b6c; }
.home-service-ledger__head h2 {
  margin:0;
  color:#fff8ef;
  font-family:var(--display);
  font-size:clamp(2.35rem,4.2vw,4.5rem);
  font-weight:460;
  letter-spacing:-.055em;
  line-height:.9;
  text-transform:uppercase;
}
.home-service-ledger__number {
  align-self:end;
  padding-bottom:5px;
  color:#e59b6c;
  font-family:var(--display);
  font-size:clamp(.9rem,1.2vw,1.18rem);
  letter-spacing:.12em;
}
.service-ledger__grid {
  height:calc(100% - clamp(94px,13vh,122px));
  display:grid;
  grid-template-columns:minmax(320px,.94fr) minmax(0,1.06fr);
  min-width:0;
}
.service-ledger__visuals {
  position:relative;
  min-width:0;
  overflow:clip;
  border-right:1px solid rgba(255,248,239,.22);
}
.service-ledger__image {
  --service-p:1;
  position:absolute;
  inset:clamp(18px,2vw,30px) clamp(22px,3vw,46px) clamp(18px,2vw,30px) 0;
  margin:0;
  overflow:clip;
  background:#1b1511;
  clip-path:inset(calc((1 - var(--service-p)) * 100%) 0 0 0);
  will-change:clip-path;
}
.service-ledger__image img {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.78) contrast(1.08) brightness(.88);
  transform:scale(calc(1.035 + (1 - var(--service-p)) * .035));
  will-change:transform;
}
.service-ledger__image:nth-child(4) img { object-position:64% center; }
.service-ledger__image:nth-child(5) img { object-position:center 58%; }
.service-ledger__rows { display:grid; grid-template-rows:repeat(6,minmax(44px,1fr)); min-width:0; }
.service-ledger__row {
  --service-p:1;
  position:relative;
  min-width:0;
  display:grid;
  grid-template-columns:clamp(38px,4vw,62px) minmax(0,1fr) 28px;
  align-items:center;
  gap:clamp(10px,1.5vw,22px);
  padding:8px clamp(6px,1vw,16px) 8px clamp(16px,2vw,30px);
  color:#fff8ef;
  text-decoration:none;
  opacity:var(--service-p);
  transform:translate3d(0,calc((1 - var(--service-p)) * 100%),0);
  will-change:opacity,transform;
}
.service-ledger__row::after {
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  content:"";
  background:rgba(255,248,239,.32);
  transform:scaleX(var(--service-p));
  transform-origin:left;
}
.service-ledger__row > span { color:#e59b6c; font-family:var(--display); font-size:clamp(.84rem,1.2vw,1.08rem); letter-spacing:.08em; }
.service-ledger__row > div { min-width:0; display:grid; grid-template-columns:minmax(130px,1.1fr) minmax(150px,.9fr); gap:clamp(12px,2vw,28px); align-items:center; }
.service-ledger__row h2 { margin:0; color:#fff8ef; font-family:var(--display); font-size:clamp(1rem,1.5vw,1.45rem); font-weight:470; letter-spacing:-.02em; line-height:1.05; text-transform:uppercase; }
.service-ledger__row p { justify-self:end; max-width:25ch; margin:0; color:#bfb3a8; font-size:clamp(.76rem,.9vw,.88rem); line-height:1.35; text-align:right; }
.service-ledger__row em { color:#e59b6c; font-family:var(--display); font-size:1.08rem; font-style:normal; opacity:.46; transition:opacity .3s ease,transform .3s ease; }
.service-ledger__row:hover em,
.service-ledger__row:focus-visible em { opacity:1; transform:translate(3px,-3px); }

/* Work Cascade — the six real destination links begin as one precise strip at
   the hero edge, lift together, then release into an asymmetric editorial
   field. The DOM never duplicates or reorders a card. */
.route-work .work-cascade-section {
  --cascade-lift: clamp(30px,4vh,46px);
  position: relative;
  z-index: 4;
  overflow: visible;
  background: #050403;
  isolation: isolate;
}
@media (min-width: 761px) {
  .route-work .interior-hero {
    --route-hero-min: 100svh;
    --route-hero-grid-min: calc(100svh - var(--route-nav-clearance,88px));
  }
}
.route-work .work-cascade-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: clamp(76px,8vw,120px) 12px;
  padding: clamp(96px,10vw,142px) var(--page-pad) clamp(116px,12vw,178px);
  overflow: visible;
  border: 0;
  background: #050403;
  isolation: isolate;
}
.route-work .work-cascade-card {
  position: relative;
  display: block;
  min-width: 0;
  color: #fff8ef;
  text-decoration: none;
  transform-origin: top left;
  will-change: transform;
  transition: transform 2.05s cubic-bezier(.16,.76,.12,1);
  transition-delay: calc(var(--work-index) * 125ms);
}
.route-work .work-cascade-section.is-measuring .work-cascade-card,
.route-work .work-cascade-section.is-positioning .work-cascade-card { transition: none !important; }
.route-work .work-cascade-card:nth-child(1) { grid-column: 1 / span 5; }
.route-work .work-cascade-card:nth-child(2) { grid-column: 7 / span 5; }
.route-work .work-cascade-card:nth-child(3) { grid-column: 1 / span 3; }
.route-work .work-cascade-card:nth-child(4) { grid-column: 4 / span 5; }
.route-work .work-cascade-card:nth-child(5) { grid-column: 10 / span 3; }
.route-work .work-cascade-card:nth-child(6) { grid-column: 3 / span 8; }
.route-work .work-cascade-card > img {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: saturate(.82) contrast(1.04) brightness(.9);
  transform: scale(1.001);
  transition: transform .72s var(--architectural-ease), filter .72s ease;
}
.route-work .work-cascade-card:nth-child(1) > img { aspect-ratio: 1.18 / 1; object-position: 62% 50%; }
.route-work .work-cascade-card:nth-child(2) > img { aspect-ratio: .88 / 1; object-position: 67% 50%; }
.route-work .work-cascade-card:nth-child(3) > img { aspect-ratio: .78 / 1; object-position: 50% 50%; }
.route-work .work-cascade-card:nth-child(4) > img { aspect-ratio: 1.32 / 1; object-position: 72% 50%; }
.route-work .work-cascade-card:nth-child(5) > img { aspect-ratio: .82 / 1; object-position: 42% 50%; }
.route-work .work-cascade-card:nth-child(6) > img { aspect-ratio: 1.72 / 1; object-position: 64% 50%; }
.route-work .work-cascade-card .tile-copy {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 5px 16px;
  padding: 15px 0 0;
  border-top: 1px solid rgba(255,248,239,.28);
  opacity: 1;
  transition: opacity .48s ease calc(var(--work-index) * 125ms + 980ms);
}
.route-work .work-cascade-card .tile-copy .eyebrow {
  grid-column: 1;
  grid-row: 1 / span 3;
  margin: 2px 0 0;
  color: #dc9367;
}
.route-work .work-cascade-card .tile-copy h2 {
  grid-column: 2;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(1.28rem,2vw,2.05rem);
  font-weight: 470;
  letter-spacing: -.035em;
  line-height: 1;
  text-transform: uppercase;
}
.route-work .work-cascade-card .tile-copy > p:not(.eyebrow) {
  grid-column: 2;
  max-width: 46ch;
  margin: 7px 0 0;
  color: #bfb3a8;
  font-size: clamp(.8rem,.9vw,.92rem);
  line-height: 1.5;
}
.route-work .work-cascade-card .tile-copy .text-link {
  grid-column: 2;
  justify-self: start;
  margin-top: 8px;
  font-size: .72rem;
}
html.js-motion .route-work .work-cascade-section:not(.is-released) .work-cascade-card {
  z-index: calc(20 - var(--work-index));
  transform: translate3d(var(--work-line-x,0),var(--work-line-y,0),0) scale(var(--work-line-sx,1),var(--work-line-sy,1));
}
html.js-motion .route-work .work-cascade-section:not(.is-released) .work-cascade-card .tile-copy { opacity: 0; }
html.js-motion .route-work .work-cascade-section.is-lifting .work-cascade-card {
  transform: translate3d(var(--work-line-x,0),calc(var(--work-line-y,0px) - var(--cascade-lift)),0) scale(var(--work-line-sx,1),var(--work-line-sy,1));
  transition-duration: .34s;
  transition-delay: calc(var(--work-index) * 14ms);
  transition-timing-function: cubic-bezier(.18,.88,.28,1);
}
html.js-motion .route-work .work-cascade-section.is-returning .work-cascade-card {
  transition-duration: 1.28s;
  transition-delay: calc(var(--work-return-index) * 76ms);
  transition-timing-function: var(--architectural-ease);
}
html.js-motion .route-work .work-cascade-section.is-returning .work-cascade-card .tile-copy { transition: opacity .22s ease; }
@media (hover:hover) {
  .route-work .work-cascade-card:hover > img { filter: saturate(.92) contrast(1.04) brightness(.98); transform: scale(1.035); }
  .route-work .work-cascade-card:hover .tile-copy h2 { color: #dc9367; }
}
.route-work .work-cascade-card:focus-visible { outline: 2px solid #dc9367; outline-offset: 6px; }

@media (max-width: 760px) {
  .route-work .work-cascade-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 62px 9px;
    padding: 72px var(--page-pad) 112px;
  }
  .route-work .work-cascade-card:nth-child(n) { grid-column: auto; }
  .route-work .work-cascade-card:nth-child(3),
  .route-work .work-cascade-card:nth-child(4) { margin-top: 38px; }
  .route-work .work-cascade-card:nth-child(5),
  .route-work .work-cascade-card:nth-child(6) { margin-top: 52px; }
  .route-work .work-cascade-card .tile-copy { display: block; padding-top: 10px; }
  .route-work .work-cascade-card .tile-copy .eyebrow { margin-bottom: 6px; }
  .route-work .work-cascade-card .tile-copy h2 { font-size: clamp(.94rem,4vw,1.22rem); line-height: 1.08; }
  .route-work .work-cascade-card .tile-copy > p:not(.eyebrow) { font-size: .76rem; line-height: 1.4; }
  .route-work .work-cascade-card .tile-copy .text-link { min-height: 48px; align-items: center; }
  html.js-motion .route-work .work-cascade-card { transform: none !important; transition: none !important; }
  html.js-motion .route-work .work-cascade-card .tile-copy { opacity: 1 !important; transition: none !important; }
}

@media (max-width: 520px) {
  .route-work .work-cascade-grid { grid-template-columns: 1fr; gap: 68px; }
  .route-work .work-cascade-card:nth-child(n) { margin-top: 0; }
  .route-work .work-cascade-card:nth-child(n) > img { aspect-ratio: 1.18 / 1; }
}

/* About contracts image and names into one field instead of another framed
   split. Process becomes the same three-column vocabulary used on Home. */
.route-about [data-founder-stage] { position:relative; display:block; min-height:120svh; overflow:clip; background:#080605; }
.founder-kinetic-names { position:absolute; z-index:4; top:12%; right:3%; left:3%; display:flex; justify-content:space-between; align-items:center; color:rgba(255,248,239,.88); font-family:var(--display); font-size:clamp(4rem,12vw,13rem); letter-spacing:-.07em; line-height:.8; text-transform:uppercase; pointer-events:none; transform:scale(var(--founder-type-scale,1.12)); }
.founder-kinetic-names i { color:#dc9367; font-size:.42em; font-style:normal; }
.route-about [data-founder-stage] .media-visual { width:100%; min-height:100svh; }
.route-about [data-founder-stage] .media-visual img { transform:scale(var(--founder-image-scale,1.13)); transform-origin:center; }
.route-about [data-founder-stage] .media-copy { position:absolute; z-index:5; right:var(--page-pad); bottom:8svh; width:min(560px,42vw); padding:clamp(26px,4vw,54px); background:rgba(5,4,3,.76); backdrop-filter:blur(16px); }

.route-how-we-work [data-process-panels] { position:relative; padding-block:clamp(110px,14vw,190px); background:linear-gradient(180deg,rgba(5,4,3,.36),rgba(5,4,3,.91)),url('/assets/images/process-pavers.webp') center/cover fixed; }
.route-how-we-work [data-process-panels] .chapter-grid { display:block; }
.route-how-we-work [data-process-panels] .chapter-heading { max-width:880px; }
.route-how-we-work [data-process-panels] .decision-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:clamp(80px,11vw,150px); border-top:1px solid rgba(255,248,239,.3); }
.route-how-we-work [data-process-panels] .decision-item { display:block; min-height:360px; padding:clamp(30px,4vw,58px); border-right:1px solid rgba(255,248,239,.22); }

/* Every substantive interior family gets one quiet horizontal field reveal;
   the surrounding composition remains route-specific. */
html.architectural-media-ready .interior-page .media-chapter:not([data-founder-stage]) .media-visual {
  clip-path: inset(0 calc((1 - var(--media-progress, 0)) * 100%) 0 0);
  will-change: clip-path;
}
.route-family-city .media-chapter { --media-direction: reverse; }
html.architectural-media-ready .route-family-city .media-chapter .media-visual {
  clip-path: inset(0 0 0 calc((1 - var(--media-progress, 0)) * 100%));
}

@media (max-width: 900px) {
  .practice-grid { min-height:0; }
  .practice-copy { padding-bottom:0; }
  .practice-intro,.practice-step { min-height:0; }
  .practice-step { padding:34px 22px !important; }
  .scope-reveal__words { font-size:clamp(3.1rem,16.5vw,6rem); }
  .scope-word--imagine { top:17vh; }
  .scope-word--resolve { top:44vh; }
  .scope-word--build { bottom:17vh; }
  .focus-well__track { height:auto; }
  .focus-well .direction-browser { position:relative; height:auto; }
  .focus-well .direction-browser__frame,
  .focus-well .direction-browser__stage,
  .focus-well .direction-slide,
  .focus-well .direction-slide__link,
  .focus-well .direction-slide img { height:82svh; min-height:82svh; }
  .site-plan-trace { min-height:0; padding-block:clamp(86px,12vw,124px); }
  .one-plan-shell { position:relative; top:auto; display:block; min-height:0; padding-block:0; }
  .site-plan-trace .one-plan-copy { width:100%; min-width:0; }
  .site-plan-trace .one-plan-copy > * { min-width:0; max-width:100%; }
  .site-plan-trace .one-plan-copy h2 { max-width:12ch; }
  .site-plan-trace__stage { grid-template-columns:1fr; min-height:0; max-height:none; margin-top:clamp(48px,8vw,76px); }
  .site-plan-trace__blueprint,.plan-context { min-height:min(64svh,620px); }
  .site-plan-trace__lines path { stroke-dashoffset:0; }
  .site-plan-trace__marks { opacity:1; }
  .plan-context img { clip-path:none; transform:none; }
  .plan-context figcaption { opacity:1; }
  html.js-motion .material-assembly,
  html.js-motion .process-reveal { min-height:0; padding-block:clamp(86px,12vw,124px); }
  html.js-motion .material-assembly__scene,
  html.js-motion .process-reveal__inner { position:relative; top:auto; min-height:0; }
  .material-assembly__scene { display:block; min-height:0; padding-block:0; }
  .material-assembly .cedar-head { max-width:720px; }
  .material-assembly .material-assembly__stage {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    height:min(58svh,560px);
    min-height:440px;
    margin-top:52px;
  }
  .material-assembly .material-assembly__item,
  .material-assembly .material-assembly__item:nth-child(2),
  .material-assembly .material-assembly__item:nth-child(3) { height:100%; align-self:stretch; opacity:1 !important; transform:none !important; }
  .material-assembly .cedar-detail { margin-top:34px; }
  .process-reveal__inner { display:block; min-height:0; padding-block:0; }
  .process-reveal .process-intro { text-align:left; margin:0; }
  .process-reveal .process-intro h2,
  .process-reveal .process-intro :where(.answer-capsule, .process-intro__summary) { margin-left:0; margin-right:0; }
  .process-columns { grid-template-columns:1fr; }
  html.js-motion .process-columns li,
  .process-columns li { min-height:0; border-right:0; border-bottom:1px solid rgba(255,248,239,.22); opacity:1; transform:none; filter:none; }
  .process-columns h3 { margin-top:42px; }
  html.js-motion .route-home .founder-convergence { min-height:0; }
  html.js-motion .founder-convergence__scene,
  .founder-convergence__scene { position:relative; top:auto; height:auto; min-height:0; }
  .founder-convergence__media { height:74svh; min-height:560px; bottom:auto; }
  .founder-convergence__media figure:first-child,
  .founder-convergence__media figure:last-child { transform:none; }
  .founder-convergence__names { top:18svh; font-size:clamp(4rem,15vw,8rem); }
  .founder-convergence__names span:first-child,
  .founder-convergence__names span:last-child { transform:none; }
  .founder-convergence__names i { opacity:1; transform:none; }
  .founder-convergence__content { position:relative; inset:auto; display:block; padding-top:calc(74svh + 64px); padding-bottom:90px; }
  .founder-convergence__roles { margin-top:48px; }
  .home-service-ledger__head { grid-template-columns:1fr; }
  .home-service-ledger__head .eyebrow { grid-column:auto; }
  .service-ledger__grid { grid-template-columns:1fr; }
  .home-service-ledger .service-ledger__visuals { position:sticky; top:72px; z-index:2; height:54svh; min-height:430px; }
  .home-service-ledger .service-ledger__row { min-height:32svh; background:#0d0a08; }
  .route-about [data-founder-stage] .media-copy { position:relative; right:auto; bottom:auto; width:auto; }
  .route-how-we-work [data-process-panels] .decision-list { grid-template-columns:1fr; }
  .route-how-we-work [data-process-panels] .decision-item { min-height:0; border-right:0; }
}

@media (max-width:760px) {
  .practice-section { padding:70px 0; }
  .practice-visual { height:62svh; min-height:440px; }
  .practice-step.is-active > div { transform:none; }
  .scope-reveal__label { font-size:clamp(2.7rem,11vw,4.2rem); text-align:center; }
  .focus-well .direction-browser__controls { grid-template-columns:48px minmax(0,1fr) 48px !important; min-height:112px !important; }
  .focus-well .direction-browser__dashes { grid-column:1 / -1; grid-row:2; justify-content:center; }
  .focus-well .direction-browser__status { grid-column:2; grid-row:1; justify-self:center; }
  .focus-well .direction-browser__arrow:first-child { grid-column:1; grid-row:1; }
  .focus-well .direction-browser__arrow:last-child { grid-column:3; grid-row:1; }
  .focus-well .direction-slide__copy { bottom:164px; }
  .site-plan-trace { padding-block:76px; }
  .site-plan-trace .one-plan-copy h2 { max-width:11ch; font-size:clamp(2.65rem,12.2vw,4.25rem); }
  .site-plan-trace__stage { margin-top:42px; }
  .site-plan-trace__blueprint,.plan-context { min-height:min(54svh,500px); }
  .site-plan-trace__drawing { transform:none; padding:18px; opacity:1; }
  .material-assembly .material-assembly__stage {
    display:flex;
    height:auto;
    min-height:0;
    gap:12px;
    padding-bottom:10px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
  }
  .material-assembly .material-assembly__item,
  .material-assembly .material-assembly__item:nth-child(2),
  .material-assembly .material-assembly__item:nth-child(3) {
    flex:0 0 82vw;
    min-width:82vw;
    height:min(58svh,510px);
    min-height:420px;
    scroll-snap-align:start;
  }
  .process-reveal .process-intro h2 { font-size:clamp(2.7rem,12vw,4.5rem); }
  .founder-convergence__media { height:68svh; min-height:500px; }
  .founder-convergence__names { top:17svh; font-size:clamp(3.1rem,16vw,5.4rem); }
  .founder-convergence__content { padding-top:calc(68svh + 52px); }
  .founder-convergence__intro h2 { font-size:clamp(2.55rem,12vw,4.35rem); }
  .founder-convergence__roles p { grid-template-columns:1fr; }
  .founder-convergence__roles strong { font-size:1.2rem; }
  .home-service-ledger__head h2 { font-size:clamp(2.7rem,12vw,4.5rem); }
  .home-service-ledger__head h2 .heading-tail { white-space:normal; }
  .service-ledger__visuals { height:56svh; min-height:440px; }
  .service-ledger__row { grid-template-columns:38px minmax(0,1fr) 34px; }
  .service-ledger__row h2 { min-width:0; max-width:100%; font-size:clamp(2rem,10.25vw,3.4rem); overflow-wrap:normal; }
  .service-ledger__row h2 .heading-tail { white-space:normal; }
  .founder-kinetic-names { top:8%; font-size:clamp(3.4rem,19vw,6rem); }
}

@media (max-width:430px) {
  .service-ledger__row { grid-template-columns:30px minmax(0,1fr) 24px; gap:12px; }
  .service-ledger__row h2 { font-size:clamp(1.8rem,9vw,2.42rem); }
}

@media (max-width:900px) and (min-width:761px) {
  .home-service-ledger__head { grid-template-columns:minmax(0,1fr) auto; }
  .service-ledger__grid { grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr); }
  .home-service-ledger .service-ledger__visuals { position:relative; top:auto; z-index:auto; height:auto; min-height:0; }
  .home-service-ledger .service-ledger__row { min-height:0; background:transparent; }
  .service-ledger__row { grid-template-columns:36px minmax(0,1fr) 22px; gap:10px; padding-left:14px; }
  .service-ledger__row > div { grid-template-columns:minmax(110px,1fr) minmax(115px,.8fr); gap:10px; }
  .service-ledger__row h2 { font-size:clamp(.94rem,1.85vw,1.2rem); }
  .service-ledger__row p { font-size:.73rem; }
}

@media (max-width:760px) {
  html.js-motion .home-service-ledger { height:auto; }
  .service-ledger__sticky,
  html.js-motion .home-service-ledger .service-ledger__sticky {
    position:relative;
    top:auto;
    height:auto;
    min-height:0;
    overflow:visible;
    padding:78px var(--page-pad) 92px;
  }
  .home-service-ledger__head {
    min-height:96px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:20px;
    margin:0;
    padding-bottom:22px;
  }
  .home-service-ledger__head h2 { font-size:clamp(2.35rem,11vw,4rem); }
  .service-ledger__grid { height:auto; display:block; }
  .home-service-ledger .service-ledger__visuals,
  .service-ledger__visuals {
    position:relative;
    top:auto;
    z-index:auto;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    height:clamp(178px,50vw,224px);
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(255,248,239,.22);
  }
  .service-ledger__image {
    position:relative;
    inset:auto;
    min-width:0;
    clip-path:none;
  }
  .service-ledger__image img { transform:none; }
  .service-ledger__rows { display:block; }
  .home-service-ledger .service-ledger__row,
  .service-ledger__row {
    min-height:96px;
    grid-template-columns:34px minmax(0,1fr) 24px;
    grid-template-rows:auto auto;
    gap:4px 10px;
    padding:16px 4px 16px 8px;
    background:transparent;
    opacity:1;
    transform:none;
  }
  .service-ledger__row > span { grid-row:1 / span 2; }
  .service-ledger__row > div { display:block; }
  .service-ledger__row h2 { font-size:clamp(1rem,4.9vw,1.28rem); }
  .service-ledger__row p { max-width:none; margin-top:6px; font-size:.84rem; text-align:left; }
  .service-ledger__row em { grid-column:3; grid-row:1 / span 2; align-self:center; }
  .service-ledger__row::after { transform:scaleX(1); }
}

@media (prefers-reduced-motion:reduce) {
  .practice-visual__frame { transition:none; }
  html.js-motion .scope-reveal,
  html.js-motion .route-home .founder-convergence { min-height:100svh; }
  html.js-motion .scope-reveal { height:auto; }
  html.js-motion .scope-reveal__scene,
  html.js-motion .founder-convergence__scene { position:relative; top:auto; height:auto; }
  .scope-reveal__scene { min-height:100svh; }
  .scope-reveal__image { transform:scale(.76) !important; }
  .scope-reveal__label span { opacity:1 !important; transform:none !important; }
  html.js-motion .scope-word.is-split > span { opacity:.9 !important; transform:none !important; }
  .founder-convergence__media figure:first-child,
  .founder-convergence__media figure:last-child,
  .founder-convergence__names span,
  .founder-convergence__names i { transform:none; }
  .founder-convergence__names i { opacity:1; }
  .focus-well__track { height:auto; }
  .focus-well .direction-browser { position:relative; }
  .plan-context { clip-path:none; }
  html.js-motion .material-assembly,
  html.js-motion .process-reveal { min-height:0; padding-block:clamp(100px,12vw,150px); }
  html.js-motion .material-assembly__scene,
  html.js-motion .process-reveal__inner { position:relative; top:auto; min-height:0; }
  .process-columns li { transform:none; opacity:1; filter:none; }
  html.js-motion .home-service-ledger { height:auto; }
  html.js-motion .home-service-ledger .service-ledger__sticky { position:relative; top:auto; height:auto; min-height:700px; }
  .service-ledger__image { transition:none; }
  .route-work [data-work-cascade] > * { transform:none !important; opacity:1 !important; }
  html.architectural-media-ready .interior-page .media-chapter .media-visual { clip-path:none; }
}

/* --------------------------------------------------------------------------
   The Practice, on Paper — direct White Tail ledger port
   The proportions, five-row sticky scrub, image masks, row/rule choreography,
   and responsive collapse intentionally match the source section. Elevation's
   own imagery, process language, and copper focus treatment remain intact.
   -------------------------------------------------------------------------- */
.practice-ledger {
  --practice-bg:#17110d;
  --practice-surface:#261a14;
  --practice-ink:#f4e9de;
  --practice-soft:#b9a28f;
  --practice-hairline:rgba(244,233,222,.18);
  position:relative;
  margin:0 clamp(0px,0vw,0px) clamp(96px,10vw,150px);
  border:0;
  border-bottom:1px solid var(--practice-hairline);
  background:var(--practice-bg);
  color:var(--practice-ink);
}
.practice-ledger__sticky {
  padding:clamp(68px,8vh,98px) var(--page-pad) clamp(96px,12vh,128px);
}
html.js-motion .practice-ledger { height:270svh; }
html.js-motion .practice-ledger__sticky {
  position:sticky;
  top:0;
  height:100svh;
  min-height:620px;
  overflow:clip;
}
.practice-ledger__head {
  height:clamp(126px,19vh,178px);
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto 1fr;
  align-content:start;
  column-gap:24px;
}
.practice-ledger__eyebrow {
  grid-column:1;
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 14px;
  border:1px solid var(--practice-hairline);
  color:var(--practice-soft);
  font-family:var(--body),sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
}
.practice-ledger__dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#dc9367;
}
.practice-ledger__head h2 {
  align-self:end;
  margin:0;
  color:var(--practice-ink);
  font-family:var(--display);
  font-size:clamp(2.1rem,4.15vw,4.55rem);
  font-weight:500;
  line-height:.98;
  letter-spacing:0;
  text-wrap:balance;
}
.practice-ledger__num {
  grid-column:2;
  grid-row:1 / span 2;
  align-self:end;
  padding-bottom:4px;
  color:var(--practice-ink);
  font-family:var(--body),sans-serif;
  font-size:12px;
  letter-spacing:.14em;
}
.practice-ledger__grid {
  height:calc(100% - clamp(126px,19vh,178px));
  min-height:0;
  display:grid;
  grid-template-columns:minmax(300px,.96fr) minmax(0,1.04fr);
  overflow:hidden;
  border-top:1px solid var(--practice-hairline);
}
.practice-ledger__visuals,
.practice-ledger__rows {
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:repeat(5,minmax(0,1fr));
  overflow:hidden;
}
.practice-ledger__visuals {
  padding-right:clamp(20px,3vw,50px);
  border-right:1px solid var(--practice-hairline);
}
.practice-thumb {
  position:relative;
  width:clamp(240px,34vw,520px);
  max-width:calc(100% - clamp(16px,2vw,30px));
  height:calc(100% - 14px);
  min-height:0;
  margin:7px 0;
  overflow:hidden;
  background:var(--practice-surface);
}
.practice-thumb:nth-child(even) { justify-self:end; }
.practice-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.86);
  transform:scale(1.035);
}
.practice-thumb:nth-child(1) img { object-position:50% 52%; }
.practice-thumb:nth-child(2) img { object-position:58% 50%; }
.practice-thumb:nth-child(3) img { object-position:56% 52%; }
.practice-thumb:nth-child(4) img { object-position:48% 56%; }
.practice-thumb:nth-child(5) img { object-position:64% 54%; }
.practice-thumb span {
  position:absolute;
  inset:0;
  background:var(--practice-bg);
  transform:translate3d(calc(var(--p,1) * 102%),0,0);
  will-change:transform;
}
.practice-row {
  --p:1;
  position:relative;
  display:block;
  min-height:44px;
  overflow:hidden;
  color:var(--practice-ink);
  text-decoration:none;
}
.practice-row__rule {
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:var(--practice-ink);
  transform:scaleX(var(--p));
  transform-origin:left;
  will-change:transform;
}
.practice-row__border {
  position:absolute;
  left:clamp(58px,7vw,108px);
  top:12%;
  bottom:12%;
  width:1px;
  background:var(--practice-ink);
  transform:scaleY(var(--p));
  transform-origin:center;
  will-change:transform;
}
.practice-row__clip {
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:clamp(58px,7vw,108px) minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(14px,2.4vw,36px);
  padding-left:clamp(16px,2vw,30px);
  transform:translate3d(0,calc((1 - var(--p)) * 105%),0);
  will-change:transform;
}
.practice-row__clip b {
  font-family:var(--body),sans-serif;
  font-size:clamp(1rem,2vw,1.8rem);
  font-weight:400;
  letter-spacing:-.03em;
}
.practice-row__clip > span {
  min-width:0;
  display:grid;
  gap:3px;
}
.practice-row__clip strong {
  color:var(--practice-ink);
  font-family:var(--display);
  font-size:clamp(1.02rem,1.58vw,1.58rem);
  font-weight:500;
  line-height:1.04;
  letter-spacing:0;
}
.practice-row__clip small {
  color:var(--practice-soft);
  font-family:var(--body),sans-serif;
  font-size:10px;
  letter-spacing:.08em;
  line-height:1.25;
  text-transform:uppercase;
}
.practice-row__clip i {
  padding-right:clamp(14px,2vw,28px);
  color:var(--practice-ink);
  font-family:var(--body),sans-serif;
  font-size:1.25rem;
  font-style:normal;
  opacity:.42;
  transition:opacity 250ms ease,transform 250ms var(--architectural-ease);
}
.practice-row:hover .practice-row__clip i,
.practice-row:focus-visible .practice-row__clip i {
  opacity:1;
  transform:translate(3px,-3px);
}
.practice-row:focus-visible {
  z-index:2;
  outline:2px solid #dc9367;
  outline-offset:-3px;
}

/* White Tail's light register continues through the fixed header while this
   sticky field owns the viewport. */
.site-header.is-over-practice {
  --header-gradient-opacity:0;
  --header-glass-opacity:1;
  color:var(--practice-ink,#f4e9de);
  background:transparent !important;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.site-header.is-over-practice .desktop-nav > a,
.site-header.is-over-practice .desktop-nav > .has-dropdown > a { color:rgba(244,233,222,.78); }
.site-header.is-over-practice .header-project {
  border-color:rgba(244,233,222,.42);
  color:#f4e9de;
}
.site-header.is-over-practice .menu-toggle { color:#f4e9de; }
.site-header.is-over-practice .menu-toggle span { background:#f4e9de; }

@media (min-width:761px) and (max-width:1100px) {
  .practice-ledger__grid { grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr); }
  .practice-thumb { width:min(94%,400px); }
}

@media (max-width:760px) {
  .practice-ledger {
    margin-bottom:clamp(68px,18vw,92px);
  }
  .practice-ledger__sticky {
    min-height:580px;
    padding-top:72px;
    padding-bottom:clamp(68px,9vh,86px);
  }
  html.js-motion .practice-ledger { height:285svh; }
  html.js-motion .practice-ledger__sticky { min-height:580px; }
  .practice-ledger__head { height:114px; }
  .practice-ledger__head h2 { font-size:clamp(1.65rem,6.2vw,2.15rem); }
  .practice-ledger__grid {
    height:calc(100% - 114px);
    grid-template-columns:minmax(86px,28vw) minmax(0,1fr);
  }
  .practice-ledger__visuals { padding-right:8px; }
  .practice-thumb {
    width:calc(100% - 8px);
    max-width:112px;
    height:calc(100% - 10px);
    margin:5px 0;
  }
  .practice-row__border { left:38px; }
  .practice-row__clip {
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:9px;
    padding-left:8px;
  }
  .practice-row__clip b { font-size:.78rem; }
  .practice-row__clip strong { font-size:clamp(.76rem,2.95vw,.92rem); line-height:1.08; }
  .practice-row__clip small { display:none; }
  .practice-row__clip i { padding-right:6px; font-size:.9rem; }
}

@media (max-width:360px) {
  .practice-ledger__grid { grid-template-columns:86px minmax(0,1fr); }
}

@media (prefers-reduced-motion:reduce) {
  html.js-motion .practice-ledger { height:auto; }
  html.js-motion .practice-ledger__sticky {
    position:relative;
    top:auto;
    height:auto;
    min-height:760px;
    overflow:visible;
  }
  .practice-row,.practice-thumb { --p:1 !important; }
  .practice-thumb span { transform:translate3d(102%,0,0) !important; }
}
