.field-photo-band {
  position: relative;
  min-height: clamp(420px, 56vw, 680px);
  display: grid;
  align-items: end;
  padding-block: clamp(60px, 9vw, 108px);
  overflow: hidden;
  isolation: isolate;
  background-color: var(--forest);
  background-position: center;
  background-size: cover;
}

.field-photo-band::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(to bottom, var(--dark) 0%, rgba(20, 16, 18, 0.22) 12%, rgba(20, 16, 18, 0.48) 62%, var(--dark) 100%),
    linear-gradient(90deg, rgba(20, 16, 18, 0.64), transparent 70%);
}

.field-photo-copy {
  max-width: 710px;
}

.field-photo-copy .section-label {
  margin-bottom: 14px;
}

.field-photo-copy h2 {
  margin-bottom: 18px;
  font-family: var(--editorial, Georgia, "Times New Roman", serif);
  font-size: clamp(38px, 6vw, 72px);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.035em;
}

.field-photo-copy p {
  max-width: 620px;
  margin: 0;
  color: rgba(229, 220, 200, 0.86);
  font-size: clamp(16px, 1.8vw, 20px);
}

.field-photo-copy .field-photo-credit {
  margin-top: 24px;
  color: rgba(229, 220, 200, 0.62);
  font: 400 10px/1.5 "Courier Prime", monospace;
}

.field-photo-credit a { text-underline-offset: 3px; }

.photo-lithophane {
  background-image: url("material-process-texture.svg");
  background-position: center 48%;
}

.photo-tortoise {
  background-image: url("species-gopher-tortoise-768.webp");
  background-position: center 40%;
}

.photo-jaguar {
  background-image: url("species-bengal-tiger-768.webp");
  background-position: center 40%;
}

.photo-canopy {
  background-image: url("habitat-tropical-canopy-768.webp");
  background-position: center 46%;
}

.photo-mossy-trail {
  background-image: url("habitat-mossy-trail-768.webp");
  background-position: center 52%;
}

.photo-jungle-stream {
  background-image: url("habitat-jungle-stream-768.webp");
  background-position: center 44%;
}

.photo-tropical-canopy {
  background-image: url("habitat-tropical-canopy-768.webp");
  background-position: center 46%;
}

.photo-rainforest-interior {
  background-image: url("habitat-rainforest-interior-768.webp");
  background-position: center 50%;
}

.soft-canopy {
  background: transparent;
}

.soft-forest-floor {
  background-image:
    linear-gradient(110deg, rgba(26, 21, 24, 0.95), rgba(30, 52, 42, 0.84)),
    url("habitat-mossy-trail-768.webp");
  background-position: center 52%;
  background-size: cover;
}

.notice::before {
  content: "A careful boundary";
}

.welcome-copy {
  max-width: 680px;
}

.welcome-copy strong {
  color: var(--cream);
}

.proof-metrics dt,
.gate-number {
  font-variant-numeric: tabular-nums;
}

h1,
h2,
h3 {
  text-wrap: balance;
}

p,
li {
  text-wrap: pretty;
}

.journey-nav {
  position: relative;
  z-index: 3;
  background: var(--dark);
  border: 0;
  box-shadow: inset 0 -1px var(--line);
}

.journey-nav .inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-block: 0;
}

.journey-nav a {
  min-height: 86px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 18px clamp(18px, 3vw, 34px);
  color: var(--cream);
  border-right: 1px solid var(--line);
  text-decoration: none;
}

.journey-nav a:last-child { border-right: 0; }
.journey-nav a:hover { background: rgba(229, 220, 200, 0.055); }
.journey-nav small { color: var(--amber); font: 700 10px/1 "Courier Prime", monospace; }
.journey-nav strong,
.journey-nav span { display: block; }
.journey-nav strong { font-size: 15px; }
.journey-nav span { margin-top: 3px; color: var(--cream-muted); font-size: 14px; }

.species-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
  margin-top: clamp(42px, 7vw, 72px);
}

.species-card {
  position: relative;
  min-height: 380px;
  grid-column: span 4;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--forest);
  outline: 1px solid rgba(255, 255, 255, 0.1);
  outline-offset: -1px;
}

.species-card.featured { grid-column: span 8; min-height: 540px; }
.species-card.wide { grid-column: span 6; }

.species-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms cubic-bezier(0.2, 0, 0, 1);
}

.species-card:hover img { transform: scale(1.025); }

.species-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(18, 15, 17, 0.96), rgba(18, 15, 17, 0.15) 72%);
}

.species-card-copy {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: clamp(24px, 4vw, 42px);
}

.species-card-copy .stage { margin-bottom: 12px; }
.species-card-copy h3 { margin: 0 0 6px; font-size: clamp(28px, 3.5vw, 48px); }
.species-card-copy em { color: var(--cream-muted); font: 400 12px/1.4 "Courier Prime", monospace; }
.species-card-copy p { max-width: 580px; margin: 14px 0 0; color: var(--cream-copy); }
.species-card-copy .text-link { margin-top: 18px; }

.current-offer {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
  min-height: 620px;
  background: var(--dark);
  border-block: 1px solid var(--line);
}

.current-offer-media { min-height: 520px; overflow: hidden; }
.current-offer-media img { width: 100%; height: 100%; object-fit: cover; outline: 1px solid rgba(255, 255, 255, 0.1); outline-offset: -1px; }
.current-offer-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 7vw, 86px); }
.current-offer-copy h2 { margin-bottom: 20px; font-family: var(--editorial, Georgia, serif); font-size: clamp(42px, 5.5vw, 72px); font-style: italic; font-weight: 400; }
.current-offer-copy > p:not(.stage) { margin: 0; color: var(--cream-copy); }

.shop-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 46px;
  background: var(--line);
  border: 1px solid var(--line);
}

.shop-item { min-width: 0; display: flex; flex-direction: column; background: var(--darker); }
.shop-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; outline: 1px solid rgba(255, 255, 255, 0.1); outline-offset: -1px; }
.shop-item-body { flex: 1; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; }
.shop-item h3 { margin-bottom: 8px; font-size: 23px; }
.shop-item p { margin: 0; color: var(--cream-muted); font-size: 14px; }
.shop-item .text-link { margin-top: auto; padding-top: 18px; }

.follow-builds { border-top: 1px solid var(--line); }
.build-flow { display: grid; grid-template-columns: minmax(150px, 0.3fr) minmax(0, 0.7fr); gap: clamp(34px, 8vw, 110px); padding-block: clamp(62px, 8vw, 98px); border-bottom: 1px solid var(--line); }
.build-flow h3 { margin-bottom: 14px; font-size: clamp(34px, 5vw, 60px); }
.build-flow p { margin: 0; color: var(--cream-copy); }

.feedback-question {
  max-width: 68ch;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--line-strong);
}

.feedback-question .stage {
  margin-bottom: 8px;
}

.feedback-question p:last-child {
  color: var(--cream);
  font-family: var(--editorial);
  font-size: clamp(19px, 2.2vw, 27px);
  font-style: italic;
  line-height: 1.25;
}

.home-feedback-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(42px, 6vw, 72px);
  overflow: hidden;
  background: var(--line-strong);
  border-block: 1px solid var(--line-strong);
}

.home-feedback-card {
  display: flex;
  min-height: 440px;
  flex-direction: column;
  padding: clamp(32px, 4.2vw, 58px);
  background: var(--dark);
}

.home-feedback-card:nth-child(2) {
  background: linear-gradient(145deg, rgba(111, 175, 130, 0.055), transparent 58%), var(--dark);
}

.home-feedback-card h3 {
  margin: 16px 0 14px;
  font-family: var(--editorial);
  font-size: clamp(34px, 4vw, 54px);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.home-feedback-card > p:not(.stage) {
  max-width: 50ch;
  margin: 0;
  color: var(--cream-copy);
  text-wrap: pretty;
}

.home-feedback-card .feedback-question {
  width: 100%;
  margin-top: auto;
  padding-top: 28px;
}

.home-feedback-card .btn-row {
  margin-top: 24px;
}

.home-feedback-card .text-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

.home-feedback-more {
  margin-top: 30px;
}

@media (max-width: 780px) {
  .home-feedback-grid { grid-template-columns: 1fr; }
  .home-feedback-card { min-height: 0; padding: 34px 24px 38px; }
  .home-feedback-card .feedback-question { margin-top: 32px; }
}

.community-preview {
  background-image:
    linear-gradient(to bottom, var(--dark) 0%, transparent 14%, transparent 86%, var(--dark) 100%),
    linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%),
    url("habitat-rainforest-interior-768.webp");
  background-position: center 38%;
  background-size: cover;
}

.home-community-preview {
  margin-top: -1px;
  background-image:
    linear-gradient(to bottom, var(--dark) 0%, rgba(26, 21, 24, 0.9) 10%, transparent 25%, transparent 72%, var(--dark) 100%),
    linear-gradient(98deg, rgba(18, 15, 17, 0.98) 0%, rgba(18, 15, 17, 0.9) 48%, rgba(18, 15, 17, 0.68) 76%, rgba(18, 15, 17, 0.44) 100%),
    url("habitat-tropical-canopy-768.webp");
  background-position: center, center, center 40%;
}

.home-community-preview .cross-route {
  padding-block: clamp(66px, 8vw, 94px);
}

.home-community-preview .cross-route > div:last-child {
  max-width: 54ch;
  padding: clamp(20px, 3vw, 30px) clamp(22px, 4vw, 42px);
  background: linear-gradient(100deg, rgba(18, 15, 17, 0.88), rgba(18, 15, 17, 0.66) 68%, rgba(18, 15, 17, 0.18) 100%);
}

.home-community-preview .cross-route > div:last-child p {
  color: var(--cream);
}

.animal-community-preview {
  background-image: linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%), url("habitat-jungle-stream-768.webp");
}

.shop-community-preview {
  background-image: linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%), url("habitat-mossy-trail-768.webp");
}

.trade-community-preview {
  background-image: linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%), url("habitat-tropical-canopy-768.webp");
}

.inquiry-community-preview {
  background-image: linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%), url("habitat-rainforest-interior-768.webp");
}

.cross-route {
  display: grid;
  grid-template-columns: minmax(0, 0.68fr) minmax(280px, 0.32fr);
  gap: clamp(30px, 7vw, 84px);
  align-items: end;
  padding-block: clamp(64px, 9vw, 112px);
}

.cross-route h2 { margin: 0; font-size: clamp(40px, 6vw, 72px); }
.cross-route p { margin: 0 0 22px; color: var(--cream-copy); }

.care-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 42px; background: var(--line); border: 1px solid var(--line); }
.care-path { min-width: 0; padding: clamp(28px, 4vw, 44px); background: rgba(18, 15, 17, 0.92); }
.care-path h3 { margin-bottom: 12px; font-size: 26px; }
.care-path p { margin: 0; color: var(--cream-copy); }

.media-credit {
  margin-top: 1.25rem;
  font-family: "Courier Prime", monospace;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.photo-credits {
  padding-block: clamp(2.5rem, 5vw, 4.5rem);
  background: var(--dark);
}

.photo-credits details {
  border-block: 1px solid var(--line);
}

.photo-credits summary {
  padding: 1.35rem 0;
  color: var(--cream);
  font-family: "Courier Prime", monospace;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.credit-list {
  max-width: 72ch;
  padding: 0 0 1.5rem;
  color: var(--cream-muted);
}

.credit-list p { margin: 0.65rem 0; }

.species-gallery.species-dossier-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(28px, 5vw, 52px);
  margin-top: clamp(42px, 7vw, 76px);
  background: none;
  border: 0;
}

.species-dossier {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(300px, 0.42fr) minmax(0, 0.58fr);
  overflow: hidden;
  background: rgba(18, 15, 17, 0.96);
  border: 1px solid var(--line);
}

.species-dossier:nth-child(even) {
  grid-template-columns: minmax(0, 0.58fr) minmax(300px, 0.42fr);
}

.species-dossier:nth-child(even) .species-dossier-media { order: 2; }

.species-dossier-media {
  position: relative;
  min-width: 0;
  min-height: clamp(400px, 40vw, 540px);
  margin: 0;
  overflow: hidden;
  background: var(--forest);
}

.species-dossier-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.species-dossier:nth-child(3) .species-dossier-media img { object-position: center 34%; }
.species-dossier:nth-child(5) .species-dossier-media img { object-position: center 45%; }

.species-dossier-media figcaption {
  position: absolute;
  right: 12px;
  bottom: 12px;
  left: 12px;
  padding: 9px 11px;
  background: rgba(12, 11, 10, 0.82);
  color: rgba(244, 234, 212, 0.86);
  font-family: "Courier Prime", monospace;
  font-size: 0.67rem;
  letter-spacing: 0.04em;
}

.species-dossier-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(30px, 5vw, 68px);
}

.species-dossier-copy h3 {
  margin: 0.25rem 0 0.5rem;
  font-family: var(--editorial, Georgia, serif);
  font-size: clamp(38px, 5vw, 66px);
  font-style: italic;
  font-weight: 400;
  line-height: 0.98;
}

.species-dossier-copy > p:not(.stage):not(.scientific-name) {
  max-width: 58ch;
  margin: 1rem 0 0;
  color: var(--cream-copy);
}

.scientific-name {
  margin: 0;
  color: var(--green);
}

.scientific-name strong {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.species-details {
  margin-top: 1.5rem;
  border-top: 1px solid var(--line);
}

.species-details summary {
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--amber);
  font-weight: 700;
  cursor: pointer;
}

.species-details summary::before {
  content: "+";
  color: var(--green);
  font-family: "Courier Prime", monospace;
  font-size: 1.25rem;
}

.species-details[open] summary::before { content: "−"; }

.species-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 0.5rem;
  background: var(--line);
  border: 1px solid var(--line);
}

.species-facts section {
  min-width: 0;
  padding: 18px;
  background: rgba(12, 17, 14, 0.98);
}

.species-facts h4 {
  margin: 0 0 0.55rem;
  color: var(--green);
  font-family: "Courier Prime", monospace;
  font-size: 0.7rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.species-facts p {
  margin: 0;
  color: var(--cream-copy);
  font-size: 0.9rem;
}

.species-product {
  display: grid;
  grid-template-columns: minmax(150px, 0.34fr) minmax(0, 0.66fr);
  gap: 22px;
  align-items: center;
  margin-top: 1rem;
  padding: 16px;
  background: rgba(39, 27, 12, 0.78);
  border: 1px solid rgba(198, 123, 22, 0.55);
}

.species-product img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  outline: 1px solid rgba(255, 255, 255, 0.08);
  outline-offset: -1px;
}

.species-product h4 {
  margin: 0.2rem 0 0.45rem;
  color: var(--cream);
  font-size: clamp(22px, 3vw, 30px);
}

.species-product p { margin: 0 0 0.85rem; color: var(--cream-copy); }
.species-product .stage { margin: 0; color: var(--amber); }
.species-product .btn { width: fit-content; }

.specimen-title {
  color: var(--cream);
  font-size: clamp(34px, 5vw, 58px);
}

@media (max-width: 900px) {
  .journey-nav .inner,
  .current-offer,
  .cross-route {
    grid-template-columns: 1fr;
  }

  .journey-nav a { border-right: 0; border-bottom: 1px solid var(--line); }
  .journey-nav a:last-child { border-bottom: 0; }
  .species-card,
  .species-card.featured,
  .species-card.wide { grid-column: span 6; min-height: 420px; }
  .shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .care-paths { grid-template-columns: 1fr; }

  .species-dossier,
  .species-dossier:nth-child(even) {
    grid-template-columns: 1fr;
  }

  .species-dossier:nth-child(even) .species-dossier-media { order: 0; }
  .species-dossier-media { min-height: 360px; }
}

@media (max-width: 640px) {
  .field-photo-band {
    min-height: 460px;
    padding-block: 58px;
    background-position-x: 58%;
  }

  .photo-lithophane {
    background-position-x: 44%;
  }

  .photo-tortoise {
    background-position-x: 42%;
  }

  .field-photo-copy h2 {
    font-size: clamp(38px, 12vw, 54px);
  }

  .species-gallery { grid-template-columns: 1fr; }
  .species-card,
  .species-card.featured,
  .species-card.wide { grid-column: auto; min-height: 430px; }
  .shop-grid { grid-template-columns: 1fr; }
  .build-flow { grid-template-columns: 1fr; gap: 20px; }
  .current-offer-media { min-height: 420px; }
  .current-offer-copy { padding: 38px 24px 46px; }

  .species-dossier-media { min-height: 300px; }
  .species-dossier-copy { padding: 28px 22px 34px; }
  .species-facts { grid-template-columns: 1fr; }
  .species-product { grid-template-columns: 1fr; }
  .species-product img { max-height: 230px; }
}

/* --------------------------------------------------------------------------
   Originality pass: field annotations, route signatures, and editorial rhythm
   -------------------------------------------------------------------------- */

.section-label {
  display: block;
}

.access-tags {
  gap: 9px 18px;
  align-items: center;
}

.access-tag {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1.5;
}

.access-tag::before {
  content: "";
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  background: currentColor;
  transform: rotate(45deg);
}

.access-tag.is-paid::before { border-radius: 50%; transform: none; }
.access-tag.is-prototype::before { background: transparent; border: 1px solid currentColor; }

.page-hero {
  --route-signature: "FIELD ENTRY / TEVAZIRUS";
}

.page-hero::after {
  content: var(--route-signature);
  position: absolute;
  z-index: 0;
  right: clamp(22px, 4vw, 70px);
  bottom: clamp(34px, 6vw, 82px);
  color: rgba(229, 220, 200, 0.34);
  font: 700 10px/1 "Courier Prime", monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  pointer-events: none;
}

.page-hero.learning { --route-signature: "FIELD DOSSIER / 01"; }
.page-hero.portfolio { --route-signature: "OBJECTS IN PROGRESS / 02"; }
.page-hero.trade { --route-signature: "CANOPY EXCHANGE / 03"; }
.page-hero.field-notes { --route-signature: "HUMAN REVIEW / FIELD NOTES"; }
.page-hero.ideas { --route-signature: "OPEN NOTE / PRIVATE FIRST"; }
.page-hero.marker { --route-signature: "SPECIMEN STUDY / 03"; }
.page-hero.pot { --route-signature: "BENCH RECORD / 04"; }

.page-hero.learning h1,
.page-hero.field-notes h1,
.page-hero.ideas h1 {
  max-width: 980px;
  font-family: var(--editorial);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 0.96;
}

.page-hero.portfolio h1,
.page-hero.marker h1,
.page-hero.pot h1 {
  letter-spacing: -0.055em;
}

.page-hero .status-line {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
  width: fit-content;
  max-width: 920px;
  padding-block: 14px;
  background: transparent;
}

.page-hero .status-line span {
  padding: 0 20px;
  border-right: 1px solid var(--line-strong);
}

.page-hero .status-line span:first-child { padding-left: 0; }
.page-hero .status-line span:last-child { padding-right: 0; border-right: 0; }

.journey-home .inner,
.journey-learning .inner,
.journey-shop .inner,
.journey-notes .inner {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.journey-community .inner {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.journey-home a:first-child,
.journey-learning a:first-child,
.journey-community a:first-child,
.journey-notes a:nth-child(2) {
  grid-column: span 2;
}

.journey-shop a:nth-child(2) {
  grid-column: span 2;
}

.journey-home a:first-child,
.journey-learning a:first-child,
.journey-shop a:nth-child(2),
.journey-community a:first-child,
.journey-notes a:nth-child(2) {
  background: linear-gradient(112deg, rgba(111, 175, 130, 0.09), rgba(198, 123, 22, 0.035));
}

.journey-home a:first-child strong,
.journey-learning a:first-child strong,
.journey-shop a:nth-child(2) strong,
.journey-community a:first-child strong,
.journey-notes a:nth-child(2) strong {
  font-family: var(--editorial);
  font-size: clamp(22px, 2.2vw, 31px);
  font-style: italic;
  font-weight: 400;
  line-height: 1;
}

.split-intro-reverse > :first-child {
  grid-column: 2;
  grid-row: 1;
}

.split-intro-reverse > .prose {
  grid-column: 1;
  grid-row: 1;
}

.direction-lab {
  background:
    radial-gradient(circle at 12% 18%, rgba(111, 175, 130, 0.08), transparent 28%),
    linear-gradient(180deg, var(--darker), var(--dark));
}

.direction-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.34fr) minmax(0, 0.66fr);
  gap: clamp(50px, 9vw, 140px);
  align-items: start;
}

.direction-intro {
  position: sticky;
  top: calc(var(--header-height, 72px) + 34px);
}

.direction-intro h2 {
  max-width: 10ch;
  margin-bottom: 24px;
  font-family: var(--editorial);
  font-size: clamp(44px, 6vw, 78px);
  font-style: italic;
  font-weight: 400;
  line-height: 0.98;
}

.direction-intro > p:not(.section-label) {
  max-width: 48ch;
  color: var(--cream-copy);
}

.direction-caveat {
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 14px;
}

.direction-groups {
  display: grid;
  gap: clamp(42px, 7vw, 84px);
}

.direction-index {
  margin: 5px 0 0;
  color: var(--amber);
  font-family: "Courier Prime", monospace;
  font-size: 12px;
  letter-spacing: 0.14em;
}

.direction-question {
  max-width: 62ch;
  margin: 18px 0 0;
  color: var(--cream);
  font-family: var(--editorial);
  font-size: 18px;
  font-style: italic;
  line-height: 1.35;
}

.direction-trunk {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(220px, 0.62fr);
  gap: clamp(28px, 5vw, 74px);
  padding: clamp(30px, 5vw, 58px);
  background: linear-gradient(120deg, rgba(111, 175, 130, 0.13), rgba(111, 175, 130, 0.025));
  border-top: 2px solid var(--green);
  border-bottom: 1px solid var(--line-strong);
}

.direction-trunk h3 {
  max-width: 16ch;
  margin: 8px 0 18px;
  font-family: var(--editorial);
  font-size: clamp(38px, 5vw, 62px);
  font-style: italic;
  font-weight: 400;
}

.direction-trunk > div > p:not(.stage),
.direction-trunk aside > p { margin-top: 0; color: var(--cream-copy); }

.direction-trunk aside {
  align-self: end;
  padding-left: clamp(20px, 3vw, 38px);
  border-left: 1px solid var(--line-strong);
}

.direction-studies > header,
.direction-explorations > header {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 20px;
  margin-bottom: 24px;
}

.direction-studies h3,
.direction-explorations h3 {
  max-width: 17ch;
  margin: 4px 0 0;
  font-size: clamp(30px, 4vw, 46px);
}

.direction-study-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 32px);
}

.direction-study-pair article {
  min-width: 0;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid var(--line-strong);
  background: rgba(18, 15, 17, 0.72);
}

.direction-study-pair h4,
.direction-explorations h4 {
  margin: 6px 0 12px;
  color: var(--cream);
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.05;
}

.direction-study-pair article > p:not(.stage) { color: var(--cream-copy); }

.direction-study-pair blockquote {
  margin: 26px 0 22px;
  padding-left: 18px;
  color: var(--cream);
  border-left: 2px solid var(--amber);
  font-family: var(--editorial);
  font-size: 18px;
  font-style: italic;
}

.direction-explorations ol {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-strong);
}

.direction-explorations li {
  display: grid;
  grid-template-columns: minmax(200px, 0.85fr) minmax(0, 1fr) minmax(100px, 0.28fr);
  gap: clamp(20px, 4vw, 52px);
  align-items: start;
  padding-block: 26px;
  border-bottom: 1px solid var(--line);
}

.direction-explorations li p { margin: 0; color: var(--cream-copy); }
.direction-explorations li .text-link { justify-self: end; text-align: right; }

.inquiry-boundary {
  padding-block: 20px;
  background: var(--dark);
}

.inquiry-privacy-note { border-block: 1px solid var(--line); }

.inquiry-privacy-note summary {
  min-height: 56px;
  display: flex;
  align-items: center;
  padding-block: 12px;
  color: var(--cream);
  font-weight: 700;
  list-style: none;
  cursor: pointer;
}

.inquiry-privacy-note summary::-webkit-details-marker { display: none; }
.inquiry-privacy-note summary::before { content: "+"; margin-right: 14px; color: var(--amber); }
.inquiry-privacy-note[open] summary::before { content: "−"; }
.inquiry-privacy-note > div { max-width: 72ch; padding: 0 0 22px 28px; color: var(--cream-copy); }

.review-method,
.receipt-band {
  padding-block: clamp(56px, 9vw, 104px);
  background: var(--dark);
}

.review-method-layout,
.receipt-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.42fr) minmax(0, 0.58fr);
  gap: clamp(40px, 8vw, 120px);
  align-items: start;
}

.review-method h2,
.receipt-layout h2 { max-width: 12ch; margin: 0; font-size: clamp(38px, 5vw, 64px); }

.review-method-layout > div:last-child,
.receipt-layout > div:last-child { max-width: 58ch; color: var(--cream-copy); }

.review-method-boundary { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line-strong); }
.receipt-hero [data-receipt-confirmed][hidden],
.receipt-hero [data-receipt-direct][hidden] { display: none; }

.community-rollcall {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  gap: clamp(44px, 9vw, 130px);
  align-items: start;
}

.community-rollcall > header h2 {
  max-width: 11ch;
  margin: 0;
  font-family: var(--editorial);
  font-size: clamp(46px, 7vw, 82px);
  font-style: italic;
  font-weight: 400;
}

.community-rollcall-intro {
  max-width: 58ch;
  margin: 0 0 32px;
  color: var(--cream-copy);
}

.community-voices {
  margin: 0;
  border-top: 1px solid var(--line-strong);
}

.community-voices > div {
  display: grid;
  grid-template-columns: minmax(120px, 0.3fr) minmax(0, 0.7fr);
  gap: 24px;
  padding-block: 24px;
  border-bottom: 1px solid var(--line);
}

.community-voices dt {
  color: var(--amber);
  font-family: "Courier Prime", monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.community-voices dd { margin: 0; color: var(--cream-copy); }
.community-voices dd strong { display: block; margin-bottom: 6px; color: var(--cream); font-size: 21px; }

.community-invitation {
  padding-block: clamp(64px, 10vw, 118px);
  background: linear-gradient(110deg, var(--dark), rgba(78, 4, 22, 0.2));
}

.community-invitation-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(230px, 0.3fr);
  gap: clamp(48px, 9vw, 140px);
  align-items: end;
}

.community-invitation h2 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(44px, 7vw, 78px);
}

.community-invitation aside { max-width: 48ch; color: var(--cream-copy); }

.direction-feedback-fields {
  margin: 10px 0 26px;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid var(--line-strong);
  background: rgba(111, 175, 130, 0.045);
}

.direction-feedback-fields[hidden] {
  display: none;
}

.direction-feedback-fields legend {
  padding-inline: 10px;
  color: var(--amber);
  font-family: "Courier Prime", monospace;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Object-led Shop: varied image scale instead of an equal catalogue grid. */
.shop-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 56px) clamp(18px, 3vw, 38px);
  align-items: start;
  background: transparent;
  border: 0;
}

.shop-item {
  background: transparent;
  border-top: 1px solid var(--line-strong);
}

.shop-item:nth-child(1),
.shop-item:nth-child(4) { grid-column: span 5; }
.shop-item:nth-child(2),
.shop-item:nth-child(3) { grid-column: span 7; }
.shop-item img { aspect-ratio: 16 / 10; filter: saturate(0.9) contrast(1.04); }
.shop-item-tall img { aspect-ratio: 4 / 5; }
.shop-item-body { padding: 24px 0 0; }
.shop-item h3 { font-family: var(--editorial); font-size: clamp(30px, 4vw, 48px); font-style: italic; font-weight: 400; }
.shop-item p { color: var(--cream-copy); font-size: 15px; }
.shop-item p strong { color: var(--cream); font-size: 17px; }

.shop-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: clamp(54px, 8vw, 88px);
  border-block: 1px solid var(--line-strong);
}

.shop-facts p {
  min-width: 0;
  margin: 0;
  padding: 24px clamp(18px, 3vw, 34px);
  border-right: 1px solid var(--line);
}

.shop-facts p:first-child { padding-left: 0; }
.shop-facts p:last-child { padding-right: 0; border-right: 0; }
.shop-facts strong,
.shop-facts span { display: block; }
.shop-facts strong { margin-bottom: 7px; color: var(--amber); font: 700 11px/1.2 "Courier Prime", monospace; letter-spacing: 0.12em; text-transform: uppercase; }
.shop-facts span { color: var(--cream-copy); font-size: 14px; }
.shop-facts a { color: var(--cream); text-underline-offset: 3px; }

/* Bench and marker routes read as artifacts, not system diagrams. */
.artifact-ledger {
  margin: clamp(42px, 6vw, 72px) 0 0;
  border-top: 1px solid var(--line-strong);
}

.artifact-ledger > div {
  display: grid;
  grid-template-columns: minmax(230px, 0.38fr) minmax(0, 0.62fr);
  gap: clamp(24px, 6vw, 90px);
  padding-block: clamp(24px, 4vw, 38px);
  border-bottom: 1px solid var(--line);
}

.artifact-ledger dt { color: var(--cream); font-family: var(--editorial); font-size: clamp(23px, 3vw, 34px); font-style: italic; }
.artifact-ledger dd { margin: 0; color: var(--cream-copy); }

.bench-question {
  max-width: 920px;
  margin: clamp(48px, 8vw, 92px) auto 0;
  padding: 0;
  color: var(--cream);
  border: 0;
  font-family: var(--editorial);
  font-size: clamp(32px, 5vw, 62px);
  font-style: italic;
  line-height: 1.12;
}

.bench-question p { margin: 0; }

.marker-reading-order {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0 clamp(22px, 4vw, 58px);
  margin-top: clamp(52px, 8vw, 92px);
  border-top: 1px solid var(--line-strong);
}

.marker-reading-order p {
  grid-column: 1 / 8;
  display: grid;
  grid-template-columns: minmax(120px, 0.28fr) minmax(190px, 0.42fr) minmax(0, 0.3fr);
  gap: 18px;
  margin: 0;
  padding-block: 24px;
  color: var(--cream-copy);
  border-bottom: 1px solid var(--line);
}

.marker-reading-order p span,
.marker-reading-order aside > span { color: var(--amber); font: 700 10px/1.4 "Courier Prime", monospace; letter-spacing: 0.12em; text-transform: uppercase; }
.marker-reading-order p strong,
.marker-reading-order aside strong { color: var(--cream); font-family: var(--editorial); font-size: 22px; font-style: italic; font-weight: 400; }
.marker-reading-order aside { grid-column: 9 / 13; grid-row: 1 / span 3; align-self: center; padding: clamp(26px, 4vw, 44px); background: rgba(111, 175, 130, 0.08); border-left: 2px solid var(--green); }
.marker-reading-order aside > * { display: block; }
.marker-reading-order aside strong { margin: 12px 0; font-size: clamp(27px, 3vw, 40px); }

/* Earlier directions stay available without owning the mobile scroll. */
.direction-explorations { border-block: 1px solid var(--line-strong); }
.direction-explorations summary { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 20px; align-items: center; padding-block: 24px; cursor: pointer; }
.direction-explorations summary::marker { color: var(--amber); }
.direction-explorations summary small,
.direction-explorations summary strong { display: block; }
.direction-explorations summary small { margin-bottom: 4px; color: var(--cream-muted); font: 700 10px/1.3 "Courier Prime", monospace; letter-spacing: 0.12em; text-transform: uppercase; }
.direction-explorations summary strong { color: var(--cream); font-size: clamp(22px, 3vw, 32px); }
.direction-explorations[open] summary { border-bottom: 1px solid var(--line); }

.field-note-aftercare {
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 0.58fr);
  gap: clamp(44px, 9vw, 130px);
  align-items: start;
}

.field-note-aftercare h2 { font-family: var(--editorial); font-size: clamp(40px, 6vw, 70px); font-style: italic; font-weight: 400; }
.field-note-aftercare > div > p:last-child { color: var(--cream-copy); }
.field-note-aftercare ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-strong); }
.field-note-aftercare li { display: grid; grid-template-columns: minmax(120px, 0.3fr) minmax(0, 0.7fr); gap: 24px; padding-block: 24px; border-bottom: 1px solid var(--line); }
.field-note-aftercare li strong { color: var(--cream); }
.field-note-aftercare li span { color: var(--cream-copy); }

/* A credited starting artifact keeps Pot Maker grounded without
   pretending the reference photograph is Tevazirus build proof. */
.pot-origin .inner {
  display: grid;
  grid-template-columns: minmax(0, 0.52fr) minmax(300px, 0.48fr);
  gap: clamp(42px, 8vw, 110px);
  align-items: center;
}
.pot-origin-copy h2 {
  font-family: var(--editorial);
  font-size: clamp(42px, 6vw, 72px);
  font-style: italic;
  font-weight: 400;
}
.pot-reference { margin: 0; }
.pot-reference img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  filter: saturate(0.84) contrast(1.04);
}
.pot-reference figcaption {
  max-width: 58ch;
  margin-top: 14px;
  color: var(--cream-muted);
  font-size: 14px;
  line-height: 1.55;
}
.pot-reference figcaption strong { color: var(--cream-copy); }

/* About and Privacy are trust routes, not another project-template reuse. */
.page-hero.about {
  --route-signature: "COLLECTIVE / CUMMING, GEORGIA";
  background-image:
    linear-gradient(100deg, rgba(18, 15, 17, 0.94) 12%, rgba(18, 15, 17, 0.5) 72%, rgba(18, 15, 17, 0.82)),
    url("habitat-mossy-trail-768.webp");
  background-position: center 54%;
  background-size: cover;
}

.page-hero.privacy {
  --route-signature: "PLAIN LANGUAGE / DIRECT PATH";
  background:
    linear-gradient(112deg, rgba(30, 52, 42, 0.56), transparent 58%),
    radial-gradient(circle at 78% 30%, rgba(198, 123, 22, 0.12), transparent 28%),
    var(--darker);
}

.page-hero.about h1,
.page-hero.privacy h1 {
  max-width: 980px;
  font-family: var(--editorial);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.about-manifesto .inner {
  display: grid;
  grid-template-columns: minmax(260px, 0.38fr) minmax(0, 0.62fr);
  gap: clamp(46px, 10vw, 150px);
  align-items: start;
}

.about-manifesto h2,
.about-contact h2,
.privacy-layout h2,
.privacy-choices h2,
.contact-block h2 {
  font-family: var(--editorial);
  font-size: clamp(42px, 6vw, 76px);
  font-style: italic;
  font-weight: 400;
}

.about-manifesto blockquote {
  margin: 0;
  padding: 0;
  color: var(--cream);
  border: 0;
  font-family: var(--editorial);
  font-size: clamp(34px, 5vw, 66px);
  font-style: italic;
  line-height: 1.12;
}

.about-manifesto blockquote p { margin: 0; }
.about-routes { margin: clamp(46px, 7vw, 82px) 0 0; border-top: 1px solid var(--line-strong); }
.about-routes > div { display: grid; grid-template-columns: 100px minmax(0, 1fr) minmax(150px, 0.28fr); gap: clamp(20px, 5vw, 70px); align-items: start; padding-block: 28px; border-bottom: 1px solid var(--line); }
.about-routes dt { color: var(--amber); font: 700 11px/1.4 "Courier Prime", monospace; letter-spacing: 0.12em; text-transform: uppercase; }
.about-routes dd { margin: 0; }
.about-routes dd strong,
.about-routes dd span { display: block; }
.about-routes dd strong { color: var(--cream); font-size: 23px; }
.about-routes dd span { margin-top: 6px; color: var(--cream-copy); }
.about-route-action { justify-self: end; }
.about-routes a { color: var(--cream); font-weight: 700; text-underline-offset: 5px; }

.about-contact .inner,
.contact-block .inner,
.privacy-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.4fr) minmax(0, 0.6fr);
  gap: clamp(46px, 9vw, 130px);
  align-items: start;
}

.about-contact .inner > div:last-child,
.contact-block .inner > div:last-child,
.privacy-layout > div:first-child > p:last-child { color: var(--cream-copy); }
.about-contact h2,
.contact-block h2 { font-size: clamp(38px, 4.4vw, 58px); }
.privacy-ledger { border-top: 1px solid var(--line-strong); }
.privacy-ledger section { padding-block: clamp(24px, 4vw, 38px); border-bottom: 1px solid var(--line); }
.privacy-ledger h3 { margin-bottom: 10px; color: var(--cream); font-family: var(--editorial); font-size: clamp(25px, 3vw, 36px); font-style: italic; font-weight: 400; }
.privacy-ledger p { margin: 0; color: var(--cream-copy); }
.privacy-choices .inner { display: grid; grid-template-columns: minmax(260px, 0.38fr) minmax(0, 0.62fr); gap: clamp(46px, 10vw, 150px); }
.privacy-choices ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-strong); }
.privacy-choices li { display: grid; grid-template-columns: minmax(150px, 0.34fr) minmax(0, 0.66fr); gap: 24px; padding-block: 22px; border-bottom: 1px solid var(--line); }
.privacy-choices li strong { color: var(--cream); }
.privacy-choices li span { color: var(--cream-copy); }
.contact-block { background: linear-gradient(120deg, rgba(111, 175, 130, 0.1), transparent 54%); }
.contact-email {
  display: inline-block;
  max-width: 100%;
  color: var(--cream);
  font-family: var(--editorial);
  font-size: clamp(22px, 2.6vw, 36px);
  font-style: italic;
  overflow-wrap: anywhere;
  text-underline-offset: 6px;
}

/* Wide-screen density pass: preserve the compact mobile stack while making
   desktop whitespace follow the content instead of fixed layout shells. */
@media (min-width: 1024px) {
  /* Three animals belong to one composed row. The earlier 8 / 4 / 4 spans
     stranded eight empty columns beneath the first row. */
  .species-gallery:not(.species-dossier-list) .species-card.featured {
    grid-column: span 6;
  }

  .species-gallery:not(.species-dossier-list) .species-card:not(.featured) {
    grid-column: span 3;
  }

  .species-gallery:not(.species-dossier-list) .species-card:not(.featured) h3 {
    font-size: clamp(27px, 2.6vw, 38px);
  }

  /* Keep the catalogue asymmetric, but do not let portrait crops force a
     blank shelf beneath the wider product beside them. */
  .shop-item-tall img {
    aspect-ratio: 5 / 4;
  }

  /* Project records use tighter editorial pacing on wide screens. Their
     mobile layouts retain the original section rhythm below 1024px. */
  .page-hero.marker,
  .page-hero.pot {
    min-height: 58svh;
    padding-block: clamp(96px, 10vw, 140px) clamp(56px, 6vw, 78px);
  }

  .page-hero.marker ~ .section,
  .page-hero.pot ~ .section {
    padding-block: clamp(66px, 6vw, 88px);
  }

  .page-hero.marker ~ .section .split-intro,
  .page-hero.pot ~ .section .split-intro {
    align-items: center;
  }

  .page-hero.marker ~ .section .marker-reading-order {
    margin-top: clamp(38px, 4vw, 58px);
  }

  .page-hero.pot ~ .section .artifact-ledger {
    margin-top: clamp(30px, 4vw, 48px);
  }

  .page-hero.pot ~ .section .bench-question {
    margin-top: clamp(34px, 4.5vw, 56px);
  }

  .page-hero.pot ~ .section .truth-line {
    margin-top: clamp(34px, 4.5vw, 56px);
  }
}

@media (min-width: 901px) {
  .care-paths {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    background: transparent;
    border: 0;
  }

  .care-path {
    border: 1px solid var(--line);
  }

  .care-path:first-child {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(160px, 0.3fr) minmax(0, 0.7fr);
    column-gap: clamp(28px, 5vw, 72px);
    align-items: start;
    border-color: rgba(111, 175, 130, 0.38);
  }

  .care-path:first-child .stage {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 5px 0 0;
  }

  .care-path:first-child h3,
  .care-path:first-child p:not(.stage) {
    grid-column: 2;
  }

  .review-path {
    display: block;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--line-strong);
  }

  .review-path article {
    display: grid;
    grid-template-columns: minmax(120px, 0.2fr) minmax(220px, 0.34fr) minmax(0, 0.46fr);
    gap: clamp(22px, 4vw, 58px);
    align-items: start;
    padding: 24px 0;
    background: transparent;
    border-bottom: 1px solid var(--line);
  }

  .review-path article:nth-child(even) {
    padding-left: clamp(28px, 5vw, 74px);
  }

  .review-path .stage,
  .review-path h3,
  .review-path p {
    margin-top: 0;
  }
}

@media (max-width: 900px) {
  .pot-origin .inner { grid-template-columns: 1fr; }

  .journey-home .inner,
  .journey-learning .inner,
  .journey-shop .inner,
  .journey-community .inner,
  .journey-notes .inner {
    grid-template-columns: 1fr;
  }

  .journey-home a:first-child,
  .journey-learning a:first-child,
  .journey-shop a:nth-child(2),
  .journey-community a:first-child,
  .journey-notes a:nth-child(2) {
    grid-column: auto;
  }

  .split-intro-reverse > :first-child,
  .split-intro-reverse > .prose {
    grid-column: auto;
    grid-row: auto;
  }

  .direction-layout {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .direction-intro {
    position: static;
  }

  .direction-intro h2 {
    max-width: 14ch;
  }

  .direction-trunk,
  .direction-study-pair,
  .review-method-layout,
  .receipt-layout,
  .community-rollcall,
  .community-invitation-layout { grid-template-columns: 1fr; }

  .direction-trunk aside {
    padding: 20px 0 0;
    border-top: 1px solid var(--line-strong);
    border-left: 0;
  }

  .direction-explorations li {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .direction-explorations li .text-link { justify-self: start; text-align: left; }

  .page-hero::after {
    right: 16px;
    bottom: 28px;
    opacity: 0.78;
  }

  .shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-item:nth-child(n) { grid-column: auto; }
  .shop-facts,
  .field-note-aftercare { grid-template-columns: 1fr; }
  .shop-facts p { padding-inline: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .shop-facts p:last-child { border-bottom: 0; }
  .marker-reading-order { grid-template-columns: 1fr; }
  .marker-reading-order p,
  .marker-reading-order aside { grid-column: 1; grid-row: auto; }
  .marker-reading-order aside { margin-top: 26px; }
  .about-manifesto .inner,
  .about-contact .inner,
  .contact-block .inner,
  .privacy-layout,
  .privacy-choices .inner { grid-template-columns: 1fr; }
  .about-routes > div { grid-template-columns: 90px minmax(0, 1fr); }
  .about-route-action { grid-column: 2; justify-self: start; }
}

@media (max-width: 640px) {
  .page-hero::after { display: none; }

  .page-hero.learning h1,
  .page-hero.field-notes h1,
  .page-hero.ideas h1 {
    font-size: clamp(42px, 13vw, 60px);
  }

  .page-hero .status-line span {
    width: 100%;
    padding: 0;
    border-right: 0;
  }

  .direction-studies > header,
  .direction-explorations > header { grid-template-columns: 1fr; }

  .direction-trunk,
  .direction-study-pair article { padding: 24px 20px; }

  .direction-intro h2 {
    font-size: clamp(40px, 12vw, 56px);
  }

  .shop-grid { grid-template-columns: 1fr; gap: 46px; }
  .shop-item img,
  .shop-item-tall img { aspect-ratio: 4 / 3; max-height: 430px; }
  .shop-item-body { padding-top: 20px; }
  .shop-item p { font-size: 15px; }
  .artifact-ledger > div,
  .marker-reading-order p,
  .field-note-aftercare li { grid-template-columns: 1fr; gap: 9px; }
  .bench-question { font-size: clamp(31px, 10vw, 46px); }
  .direction-explorations summary { grid-template-columns: 1fr; gap: 8px; }
  .about-routes > div,
  .privacy-choices li { grid-template-columns: 1fr; gap: 10px; }
  .about-route-action { grid-column: auto; }
  .page-hero.about h1,
  .page-hero.privacy h1 { font-size: clamp(42px, 13vw, 60px); }

}

@media print {
  .species-details > * { display: block !important; }
  .species-details summary { display: none !important; }
  .species-product { break-inside: avoid; }
}


/* ==========================================================================
   Responsive background upgrades  (appended 2026-08-14)
   This file loads AFTER styles.css, so the equivalent block there was being
   overridden. Every rule below only raises the image resolution.
   Revert: delete this block or restore warm-retrofit.css.pre-images.bak
   ========================================================================== */

@media (min-width: 800px) {
  .photo-tortoise { background-image: url("species-gopher-tortoise-1280.webp"); }
}

@media (min-width: 800px) {
  .photo-canopy { background-image: url("habitat-tropical-canopy-1280.webp"); }
}
@media (min-width: 1400px) {
  .photo-canopy { background-image: url("habitat-tropical-canopy-1600.webp"); }
}

@media (min-width: 800px) {
  .photo-mossy-trail { background-image: url("habitat-mossy-trail-1280.webp"); }
}
@media (min-width: 1400px) {
  .photo-mossy-trail { background-image: url("habitat-mossy-trail-1600.webp"); }
}

@media (min-width: 800px) {
  .photo-jungle-stream { background-image: url("habitat-jungle-stream-1280.webp"); }
}
@media (min-width: 1400px) {
  .photo-jungle-stream { background-image: url("habitat-jungle-stream-1600.webp"); }
}

@media (min-width: 800px) {
  .photo-tropical-canopy { background-image: url("habitat-tropical-canopy-1280.webp"); }
}
@media (min-width: 1400px) {
  .photo-tropical-canopy { background-image: url("habitat-tropical-canopy-1600.webp"); }
}

@media (min-width: 800px) {
  .photo-rainforest-interior { background-image: url("habitat-rainforest-interior-1280.webp"); }
}
@media (min-width: 1400px) {
  .photo-rainforest-interior { background-image: url("habitat-rainforest-interior-1600.webp"); }
}

@media (min-width: 800px) {
  .soft-forest-floor { background-image:
    linear-gradient(110deg, rgba(26, 21, 24, 0.95), rgba(30, 52, 42, 0.84)),
    url("habitat-mossy-trail-1280.webp"); }
}
@media (min-width: 1400px) {
  .soft-forest-floor { background-image:
    linear-gradient(110deg, rgba(26, 21, 24, 0.95), rgba(30, 52, 42, 0.84)),
    url("habitat-mossy-trail-1600.webp"); }
}

@media (min-width: 800px) {
  .community-preview { background-image:
    linear-gradient(to bottom, var(--dark) 0%, transparent 14%, transparent 86%, var(--dark) 100%),
    linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%),
    url("habitat-rainforest-interior-1280.webp"); }
}
@media (min-width: 1400px) {
  .community-preview { background-image:
    linear-gradient(to bottom, var(--dark) 0%, transparent 14%, transparent 86%, var(--dark) 100%),
    linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%),
    url("habitat-rainforest-interior-1600.webp"); }
}

@media (min-width: 800px) {
  .home-community-preview { background-image:
    linear-gradient(to bottom, var(--dark) 0%, rgba(26, 21, 24, 0.9) 10%, transparent 25%, transparent 72%, var(--dark) 100%),
    linear-gradient(98deg, rgba(18, 15, 17, 0.98) 0%, rgba(18, 15, 17, 0.9) 48%, rgba(18, 15, 17, 0.68) 76%, rgba(18, 15, 17, 0.44) 100%),
    url("habitat-tropical-canopy-1280.webp"); }
}
@media (min-width: 1400px) {
  .home-community-preview { background-image:
    linear-gradient(to bottom, var(--dark) 0%, rgba(26, 21, 24, 0.9) 10%, transparent 25%, transparent 72%, var(--dark) 100%),
    linear-gradient(98deg, rgba(18, 15, 17, 0.98) 0%, rgba(18, 15, 17, 0.9) 48%, rgba(18, 15, 17, 0.68) 76%, rgba(18, 15, 17, 0.44) 100%),
    url("habitat-tropical-canopy-1600.webp"); }
}

@media (min-width: 800px) {
  .animal-community-preview { background-image: linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%), url("habitat-jungle-stream-1280.webp"); }
}
@media (min-width: 1400px) {
  .animal-community-preview { background-image: linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%), url("habitat-jungle-stream-1600.webp"); }
}

@media (min-width: 800px) {
  .shop-community-preview { background-image: linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%), url("habitat-mossy-trail-1280.webp"); }
}
@media (min-width: 1400px) {
  .shop-community-preview { background-image: linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%), url("habitat-mossy-trail-1600.webp"); }
}

@media (min-width: 800px) {
  .trade-community-preview { background-image: linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%), url("habitat-tropical-canopy-1280.webp"); }
}
@media (min-width: 1400px) {
  .trade-community-preview { background-image: linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%), url("habitat-tropical-canopy-1600.webp"); }
}

@media (min-width: 800px) {
  .inquiry-community-preview { background-image: linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%), url("habitat-rainforest-interior-1280.webp"); }
}
@media (min-width: 1400px) {
  .inquiry-community-preview { background-image: linear-gradient(100deg, rgba(26, 21, 24, 0.97) 0%, rgba(26, 21, 24, 0.78) 54%, rgba(26, 21, 24, 0.42) 100%), url("habitat-rainforest-interior-1600.webp"); }
}

@media (min-width: 800px) {
  .page-hero.about { background-image:
    linear-gradient(100deg, rgba(18, 15, 17, 0.94) 12%, rgba(18, 15, 17, 0.5) 72%, rgba(18, 15, 17, 0.82)),
    url("habitat-mossy-trail-1280.webp"); }
}
@media (min-width: 1400px) {
  .page-hero.about { background-image:
    linear-gradient(100deg, rgba(18, 15, 17, 0.94) 12%, rgba(18, 15, 17, 0.5) 72%, rgba(18, 15, 17, 0.82)),
    url("habitat-mossy-trail-1600.webp"); }
}

/* about hero composite - nature + animal, public-domain/CC0 sources only */
.page-hero.about { background-image:
  linear-gradient(180deg, rgba(18,15,17,.58), rgba(18,15,17,.86)),
  url("about-hero-blend-768.webp"); background-size: cover; background-position: center; }
@media (min-width: 800px) { .page-hero.about { background-image:
  linear-gradient(180deg, rgba(18,15,17,.58), rgba(18,15,17,.86)),
  url("about-hero-blend-1280.webp"); } }
@media (min-width: 1400px) { .page-hero.about { background-image:
  linear-gradient(180deg, rgba(18,15,17,.58), rgba(18,15,17,.86)),
  url("about-hero-blend-1600.webp"); } }

/* .photo-lithophane was the generated SVG texture; use the real product photo */
.photo-lithophane { background-image: url("products/red-panda-768.webp"); }
@media (min-width: 800px) { .photo-lithophane { background-image: url("products/red-panda.jpg"); } }

/* privacy hero - Quinault forest (public domain) + barred owl (CC0 1.0), quieted */
.page-hero.privacy { background-image:
  linear-gradient(180deg, rgba(18,15,17,.62), rgba(18,15,17,.88)),
  url("privacy-hero-blend-768.webp"); background-size: cover; background-position: center; }
@media (min-width: 800px) { .page-hero.privacy { background-image:
  linear-gradient(180deg, rgba(18,15,17,.62), rgba(18,15,17,.88)),
  url("privacy-hero-blend-1280.webp"); } }
@media (min-width: 1400px) { .page-hero.privacy { background-image:
  linear-gradient(180deg, rgba(18,15,17,.62), rgba(18,15,17,.88)),
  url("privacy-hero-blend-1600.webp"); } }


/* photo credits band - attribution required by CC BY / CC BY-SA */
.photo-credits-band { padding-block: 34px 44px; border-top: 1px solid var(--line, #2a2320); }
.photo-credit-list { list-style: none; margin: 10px 0 0; padding: 0;
  display: grid; gap: 7px; font-size: .82rem; line-height: 1.55; opacity: .72; }
.photo-credit-list cite { font-style: normal; font-weight: 600; }
.photo-credit-list a { color: inherit; text-underline-offset: 2px; }
.photo-credit-list a:hover { opacity: 1; }
.visually-hidden-heading { position: absolute; width: 1px; height: 1px; margin: -1px;
  padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }


/* credit links: give the inline targets real height on touch screens.
   WCAG 2.5.8 exempts inline links, but 17px tall is still a poor target. */
.photo-credit-list li { padding-block: 3px; }
.photo-credit-list a { display: inline-block; padding: 6px 2px; }
@media (max-width: 700px) {
  .photo-credit-list { font-size: .88rem; gap: 12px; }
  .photo-credit-list a { padding: 9px 4px; }
}
/* brand lockup was 38px tall; 44 is the touch minimum */
@media (max-width: 700px) { .site-header .brand { min-height: 44px; align-items: center; } }


/* sole link in a media credit line - safe to give it a real target box */
.media-credit a { display: inline-block; padding: 7px 2px; }
@media (max-width: 700px) { .media-credit { font-size: .82rem; } .media-credit a { padding: 9px 2px; } }


/* build-flow: the label column was minmax(150px,.3fr) with a gap up to 110px and
   default stretch alignment, so a one-line label held ~290px wide x 348px tall of
   empty space. Narrow it into a label rail, halve the gap, stop the stretch. */
@media (min-width: 860px) {
  .build-flow {
    grid-template-columns: minmax(120px, 0.2fr) minmax(0, 0.8fr);
    gap: clamp(28px, 3.5vw, 56px);
    align-items: start;
  }
}


/* --------------------------------------------------------------------------
   Canopy Method block - type scale  (2026-08-14)
   The manifesto was set at 76px/64px display italic. That worked for the old
   two-sentence statement but gave the longer methodology 19 characters per
   line and a 1075px-tall paragraph. Comfortable measure is 45-75 chars.
   The heading stays a display element; the body becomes readable prose.
   -------------------------------------------------------------------------- */
.about-manifesto .inner { gap: clamp(28px, 4vw, 64px); align-items: start; }

.about-manifesto h2 {
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.12;
  letter-spacing: -0.01em;
  text-wrap: balance;
}
.about-manifesto p:not(.section-label) {
  font-size: clamp(17px, 1.45vw, 20px);
  line-height: 1.62;
  max-width: 62ch;
  font-style: normal;      /* 249 chars of italic is hard work to read */
  opacity: .92;
}
@media (max-width: 860px) {
  .about-manifesto h2 { font-size: clamp(26px, 6vw, 34px); }
}


/* brand lockup: desktop computed to 8px while the mobile rule sets 10px, so the
   small screen was rendering it LARGER than the large one. Levelled at 10px. */
.brand-sub { font-size: 10px; }

/* measure: some prose ran to 85 characters per line. 45-75 is the comfortable
   band, so cap the running text without touching display headings or lists. */
/* 33em ~= 72 real characters in Space Grotesk. NOT 72ch - the `ch` unit is the
   width of the "0" glyph, which is wider than average lowercase, so 72ch was
   letting body copy run to ~98 characters. */
main p, main li { max-width: 33em; }
/* components that intentionally set their own measure keep it */
.photo-credit-list p, .access-tags p, .status-line p, .btn-row p,
.section-label, .stage, .media-credit { max-width: none; }


/* .notice blocks set max-width:900px, which at 16px runs ~120 characters per
   line. These are the boundary and disclaimer notices, the text a reader most
   needs to get through, so they get the same measure as body copy. */
.notice p, .notice li { max-width: 33em; }


/* bengal tiger source replaced 2026-08-14 (1050px -> 3840px, CC0), so these
   selectors finally have larger rungs to serve.
   .slide-c keeps its radial gradient - background-image is a single property and
   naming only the url() here would silently drop the overlay. */
@media (min-width: 800px) {
  .page-hero.learning { background-image: url("species-bengal-tiger-1280.webp"); }
  .photo-jaguar       { background-image: url("species-bengal-tiger-1280.webp"); }
  .slide-c { background-image:
    radial-gradient(ellipse 70% 70% at 60% 50%, rgba(45,18,20,.83), rgba(21,13,16,.28) 70%),
    url("species-bengal-tiger-1280.webp"); }
}
@media (min-width: 1400px) {
  .page-hero.learning { background-image: url("species-bengal-tiger-1920.webp"); }
  .photo-jaguar       { background-image: url("species-bengal-tiger-1920.webp"); }
  .slide-c { background-image:
    radial-gradient(ellipse 70% 70% at 60% 50%, rgba(45,18,20,.83), rgba(21,13,16,.28) 70%),
    url("species-bengal-tiger-1920.webp"); }
}

/* Keep Home's opening red panda sharp on wide and ultrawide screens. */
@media (min-width: 1400px) {
  .slide-a { background-image:
    radial-gradient(ellipse 80% 60% at 30% 50%, rgba(30,52,42,.88), rgba(15,21,18,.36) 70%),
    url("species-red-panda-1920.webp"); }
}
@media (min-width: 2000px) {
  .slide-a { background-image:
    radial-gradient(ellipse 80% 60% at 30% 50%, rgba(30,52,42,.88), rgba(15,21,18,.36) 70%),
    url("species-red-panda-2560.webp"); }
}

/* Shop hero: show owned product photographs as objects, not an upscaled backdrop. */
.page-hero.portfolio.shop-hero {
  min-height: 0;
  align-items: stretch;
  padding-block: 0;
  background-color: var(--darker);
  background-image: none;
}

.page-hero.portfolio.shop-hero::before {
  background:
    radial-gradient(circle at 76% 35%, rgba(198, 123, 22, 0.13), transparent 27%),
    radial-gradient(circle at 18% 72%, rgba(111, 175, 130, 0.08), transparent 32%),
    linear-gradient(135deg, rgba(26, 21, 24, 0.99), rgba(18, 15, 17, 0.92));
}

.shop-hero-layout {
  display: grid;
  min-height: clamp(690px, 76svh, 860px);
  grid-template-columns: minmax(0, 0.92fr) minmax(480px, 1.08fr);
  gap: clamp(48px, 7vw, 108px);
  align-items: center;
  padding-block: clamp(120px, 12vw, 176px) clamp(70px, 8vw, 110px);
}

.shop-hero .page-hero-copy {
  max-width: 660px;
}

.shop-hero .page-hero-copy h1 {
  max-width: 660px;
  font-size: clamp(56px, 5.2vw, 88px);
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}

.shop-hero .page-hero-copy .btn-row {
  margin-top: 34px;
}

.shop-hero-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: clamp(14px, 1.8vw, 26px);
  align-items: end;
}

.shop-hero-photo {
  min-width: 0;
  margin: 0;
}

.shop-hero-photo-primary { transform: translateY(-24px); }
.shop-hero-photo-secondary { transform: translateY(28px); }

.shop-hero-photo img {
  width: 100%;
  height: clamp(360px, 34vw, 560px);
  object-fit: cover;
  outline: 1px solid rgba(255, 255, 255, 0.1);
  outline-offset: -1px;
}

.shop-hero-photo figcaption {
  margin-top: 12px;
  color: var(--cream-muted);
  font: 700 10px/1.5 "Courier Prime", monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .shop-hero-layout {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 46px;
    padding-block: 124px 78px;
  }
  .shop-hero .page-hero-copy { max-width: 720px; }
  .shop-hero-gallery { width: min(100%, 650px); }
  .shop-hero-photo-primary,
  .shop-hero-photo-secondary { transform: none; }
}

@media (max-width: 600px) {
  .shop-hero-layout { gap: 34px; padding-block: 108px 58px; }
  .shop-hero .page-hero-copy h1 { font-size: clamp(44px, 14vw, 62px); }
  .shop-hero-gallery { gap: 10px; }
  .shop-hero-photo img { height: clamp(250px, 82vw, 360px); }
  .shop-hero-photo figcaption { font-size: 8px; }
}

/* About: one current Tevazirus object and a personal note, without another backdrop. */
.founder-note {
  background:
    linear-gradient(120deg, rgba(111, 175, 130, 0.05), transparent 48%),
    var(--darker);
}

.founder-note-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: clamp(48px, 8vw, 120px);
  align-items: center;
}

.founder-note-media {
  min-width: 0;
  margin: 0;
}

.founder-note-media img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  outline: 1px solid rgba(255, 255, 255, 0.11);
  outline-offset: -1px;
}

.founder-note-media figcaption {
  max-width: none;
  margin-top: 12px;
  color: var(--cream-muted);
  font: 700 10px/1.55 "Courier Prime", monospace;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.founder-note-copy {
  max-width: 660px;
}

.founder-note-copy h2 {
  margin: 16px 0 24px;
  font-family: var(--editorial);
  font-size: clamp(44px, 5.2vw, 72px);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.founder-note-lede {
  color: var(--cream);
  font-family: var(--editorial);
  font-size: clamp(24px, 2.7vw, 36px);
  font-style: italic;
  line-height: 1.35;
  text-wrap: pretty;
}

.founder-note-copy > p:not(.section-label, .founder-note-lede, .founder-note-signature) {
  margin-top: 24px;
  color: var(--cream-copy);
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.75;
}

.founder-note-signature {
  display: flex;
  gap: 14px;
  align-items: baseline;
  margin-top: 34px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  color: var(--cream);
  font-family: var(--editorial);
  font-size: 24px;
  font-style: italic;
}

.founder-note-signature span {
  color: var(--cream-muted);
  font: 700 10px/1.5 "Courier Prime", monospace;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

@media (max-width: 860px) {
  .founder-note-grid { grid-template-columns: 1fr; gap: 46px; }
  .founder-note-media { width: min(100%, 620px); }
  .founder-note-copy { max-width: 680px; }
}

@media (max-width: 520px) {
  .founder-note-signature { align-items: flex-start; flex-direction: column; gap: 5px; }
}
