.section-head {
  display: grid;
  gap: var(--space-s);
  margin-bottom: var(--space-xl);
  max-width: 62rem;
}

.section-head > * { min-width: 0; }

.section-head__label { color: var(--muted); }
.block--forest .section-head__label,
.block--bark .section-head__label,
.block--moss .section-head__label,
.block--pine .section-head__label { color: var(--amber-soft); }

.section-head__intro {
  font-size: var(--fs-lead);
  line-height: 1.45;
  max-width: 54ch;
  color: var(--muted);
}

.section-head--split {
  max-width: none;
}

@media (min-width: 900px) {
  .section-head--split {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: end;
    column-gap: clamp(2rem, 5vw, 6rem);
  }
  .section-head--split .section-head__label { grid-column: 1 / -1; }
}

.statement {
  position: relative;
  padding-block: clamp(56px, 9vw, 150px) var(--section);
  background: var(--cream);
  color: var(--bark);
  overflow: hidden;
}

.statement__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl);
}

.statement__grid > * { min-width: 0; }

@media (min-width: 1100px) {
  .statement__grid {
    grid-template-columns: minmax(0, 8.5fr) minmax(0, 3.5fr);
    align-items: end;
    column-gap: clamp(2rem, 4vw, 5rem);
  }
}

.statement__label {
  margin-bottom: var(--space-l);
  color: var(--muted);
}

.statement__title {
  font-size: var(--fs-h1);
  line-height: var(--lh-tight);
  max-width: 13ch;
  hanging-punctuation: first last;
}

.statement__title em {
  font-style: normal;
  position: relative;
  white-space: normal;
  background-image: linear-gradient(var(--amber), var(--amber));
  background-repeat: no-repeat;
  background-size: 100% .12em;
  background-position: 0 92%;
}

.statement__lead {
  margin-top: var(--space-l);
  font-size: var(--fs-lead);
  line-height: 1.45;
  max-width: 46ch;
}

.statement__actions {
  margin-top: var(--space-l);
}

.statement__aside {
  border-top: var(--rule-thick) solid var(--bark);
  padding-top: var(--space-m);
}

.statement__aside-head {
  color: var(--muted);
  margin-bottom: var(--space-s);
}

.standards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}

.standards li {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: .3rem .65rem;
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono-lg);
  font-weight: 500;
  letter-spacing: .03em;
  border: 1px solid var(--bark);
  border-radius: var(--radius);
  max-width: 100%;
  overflow-wrap: anywhere;
}

.statement__aside p {
  margin-top: var(--space-s);
  font-size: var(--fs-small);
  color: var(--muted);
}

.page-head {
  position: relative;
  padding-block: clamp(40px, 6vw, 96px) var(--section-half);
  background: var(--cream);
  color: var(--bark);
  border-bottom: var(--rule-thick) solid var(--bark);
}

.page-head__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl);
}

.page-head__grid > * { min-width: 0; }

@media (min-width: 960px) {
  .page-head--media .page-head__grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    align-items: end;
    column-gap: clamp(2rem, 5vw, 5.5rem);
  }
}

.page-head .crumbs {
  margin-bottom: var(--space-l);
  color: var(--muted);
}

.page-head__label {
  margin-bottom: var(--space-s);
  color: var(--muted);
}

.page-head__title {
  max-width: 15ch;
}

.page-head__lead {
  margin-top: var(--space-m);
  font-size: var(--fs-lead);
  line-height: 1.45;
  max-width: 50ch;
}

.page-head__meta {
  margin-top: var(--space-l);
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.page-head__media .frame {
  aspect-ratio: 3 / 2;
}

.page-head__media .caption {
  display: flex;
  gap: .6rem;
}

.page-head__media .caption::before {
  content: "";
  flex: none;
  width: 1.5rem;
  height: 2px;
  margin-top: .55em;
  background: var(--amber);
}

.pin {
  position: relative;
  background: var(--forest);
  color: var(--cream);
  --ink: var(--cream);
  --muted: var(--muted-on-dark);
  --rule-light: var(--rule-dark);
  --rule-mid: var(--rule-dark-strong);
  border-top: var(--rule-thick) solid var(--bark);
}

.pin__progress {
  position: sticky;
  top: 0;
  z-index: 3;
  height: 4px;
  background: rgba(243, 236, 221, .12);
  overflow: hidden;
}

.pin__bar {
  display: block;
  height: 100%;
  width: 100%;
  background: var(--amber);
  transform-origin: 0 50%;
  transform: scaleX(var(--pin-progress, 1));
}

.pin__stage {
  position: relative;
  display: block;
}

.pin__head {
  padding-top: var(--section-half);
}

.pin__head .label { color: var(--amber-soft); }

.pin__rail {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem 1.25rem;
  list-style: none;
  margin: var(--space-s) 0 0;
  padding: 0;
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  color: var(--muted-on-dark);
}

.pin__rail li {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  transition: color var(--dur-base) var(--ease-out);
}

.pin__rail li::before {
  content: "";
  width: 1.1rem;
  height: 2px;
  background: currentColor;
  opacity: .5;
  transition: width var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out);
}

.pin__rail li.is-active { color: var(--cream); }
.pin__rail li.is-active::before { width: 2.25rem; background: var(--amber); opacity: 1; }

.pin__steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.pin__step {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-m) clamp(2rem, 5vw, 6rem);
  padding-block: var(--section-half);
  border-top: 1px solid var(--rule-dark);
  min-width: 0;
}

.pin__step:first-child { border-top: 0; }

.pin__step > * { min-width: 0; }

@media (min-width: 900px) {
  .pin__step {
    grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
    align-items: center;
  }
}

.pin__num {
  font-family: var(--gijo-710);
  font-weight: 700;
  font-size: var(--fs-mega);
  line-height: .8;
  letter-spacing: var(--track-tight);
  color: transparent;
  -webkit-text-stroke: 2px var(--amber-soft);
  font-variant-numeric: lining-nums;
}

.pin__body > * + * { margin-top: var(--space-s); }

.pin__kicker {
  color: var(--amber-soft);
}

.pin__title {
  font-size: var(--fs-h2);
  line-height: 1.02;
  max-width: 18ch;
}

.pin__text {
  font-size: var(--fs-lead);
  line-height: 1.45;
  color: var(--oat);
  max-width: 50ch;
}

.pin__links {
  list-style: none;
  margin: 0;
  padding: var(--space-s) 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.pin__links a {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: var(--tap);
  max-width: 100%;
  padding: .55rem 1rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--cream);
  text-decoration: none;
  border: 2px solid var(--rule-dark-strong);
  border-radius: var(--radius);
  transition: background-color var(--dur-quick) var(--ease-out), border-color var(--dur-quick) var(--ease-out), color var(--dur-quick) var(--ease-out), transform var(--dur-quick) var(--ease-out);
}

.pin__links a .icon { width: 1rem; height: 1rem; color: var(--amber-soft); }
.pin__links a:hover { background: var(--pine); border-color: var(--amber); transform: translateY(-1px); }
.pin__links a:active { background: var(--bark); transform: translateY(1px); }
.pin__links a:focus-visible { outline: 3px solid var(--amber); outline-offset: 2px; }

.pin__snaps {
  display: none;
}

.pin.is-live {
  height: calc(var(--pin-steps, 4) * 100vh);
}

.pin.is-live .pin__progress {
  top: var(--header-h-condensed);
}

.pin.is-live .pin__stage {
  position: sticky;
  top: calc(var(--header-h-condensed) + 4px);
  height: calc(100vh - var(--header-h-condensed) - 4px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.pin.is-live .pin__steps {
  flex: 1 1 auto;
  align-items: center;
}

.pin.is-live .pin__step {
  grid-area: 1 / 1;
  border-top: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur-slow) var(--ease-in-out), visibility 0s linear var(--dur-slow);
}

.pin.is-live .pin__step.is-active {
  opacity: 1;
  visibility: visible;
  transition: opacity var(--dur-slow) var(--ease-in-out), visibility 0s linear 0s;
}

.pin.is-live .pin__snaps {
  display: block;
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.pin__snap {
  display: block;
  height: 100vh;
  scroll-snap-align: start;
}

html:has(.pin.is-live) {
  scroll-snap-type: y proximity;
}

@media (max-height: 560px) {
  .pin.is-live { height: auto; }
  .pin.is-live .pin__stage { position: relative; top: 0; height: auto; overflow: visible; }
  .pin.is-live .pin__step { grid-area: auto; opacity: 1; visibility: visible; }
  .pin.is-live .pin__snaps { display: none; }
}

.offers .section-head { margin-bottom: var(--space-l); }

.offers__foot {
  margin-top: var(--space-l);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-s) var(--space-l);
}

.offers__foot p {
  font-size: var(--fs-small);
  color: var(--muted);
}

.proof__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl) clamp(2rem, 5vw, 6rem);
}

.proof__grid > * { min-width: 0; }

@media (min-width: 1000px) {
  .proof__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: start;
  }
}

.proof__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: proof;
  border-top: var(--rule-thin) solid var(--cream);
}

.proof__steps li {
  counter-increment: proof;
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: .25rem var(--space-s);
  padding: var(--space-m) 0;
  border-bottom: 1px solid var(--rule-dark);
}

.proof__steps li::before {
  content: counter(proof, decimal-leading-zero);
  grid-row: 1 / span 2;
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono-lg);
  font-weight: 500;
  color: var(--amber-soft);
  padding-top: .3rem;
}

.proof__step-title {
  font-family: var(--gijo-710);
  font-weight: 700;
  font-size: var(--fs-h4);
  line-height: 1.2;
}

.proof__step-text {
  color: var(--oat);
  max-width: 54ch;
}

.proof__media .frame { aspect-ratio: 3 / 2; }

.proof__table {
  margin-top: var(--space-xl);
}

.proof__strip {
  margin-top: var(--space-xl);
  color: var(--cream);
}

.lead-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-small);
}

.lead-table caption {
  caption-side: top;
  text-align: left;
  padding-bottom: var(--space-s);
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  color: var(--muted);
}

.lead-table th,
.lead-table td {
  padding: .75rem .75rem .75rem 0;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--rule-mid);
}

.lead-table thead th {
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  font-weight: 500;
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  border-bottom: var(--rule-thin) solid var(--ink);
}

.lead-table td:last-child {
  font-family: var(--gijo-d16);
  font-size: .875rem;
  white-space: nowrap;
  text-align: right;
  padding-right: 0;
}

.lead-table thead th:last-child { text-align: right; }

@media (max-width: 420px) {
  .lead-table td:last-child { white-space: normal; }
}

.contact-block__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl) clamp(2rem, 5vw, 6rem);
}

.contact-block__grid > * { min-width: 0; }

@media (min-width: 1000px) {
  .contact-block__grid {
    grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
    align-items: start;
  }
  .contact-block__aside {
    position: sticky;
    top: calc(var(--header-h) + var(--space-l));
  }
}

.contact-block__address {
  font-family: var(--gijo-710);
  font-weight: 700;
  font-size: var(--fs-h3);
  line-height: 1.15;
  font-style: normal;
  margin-block: var(--space-m);
}

.contact-block__aside .contact-lines { margin-top: var(--space-m); }

.contact-block__plain {
  margin-top: var(--space-m);
  font-size: var(--fs-small);
  color: var(--muted);
}

.form-panel {
  padding: clamp(1.25rem, 3vw, 2.5rem);
  background: var(--cream);
  color: var(--bark);
  --ink: var(--bark);
  --muted: #5B4E44;
  --rule-light: rgba(46, 37, 32, .18);
  --rule-mid: rgba(46, 37, 32, .36);
  border-top: var(--rule-thick) solid var(--amber);
}

.form-panel__head {
  margin-bottom: var(--space-l);
}

.form-panel__head h2,
.form-panel__head h3 {
  font-size: var(--fs-h3);
  max-width: 26ch;
}

.form-panel__head p {
  margin-top: .5rem;
  color: var(--muted);
  font-size: var(--fs-small);
}

.form-panel .field__error { background: none; padding: 0; color: var(--error); }

.filter-bar {
  position: sticky;
  top: var(--header-h-condensed);
  z-index: 5;
  background: var(--oat);
  border-bottom: var(--rule-thin) solid var(--bark);
}

.filter-bar__row {
  display: flex;
  align-items: center;
  gap: var(--space-s);
  padding-block: .6rem;
}

.filter-bar__label {
  flex: none;
  color: var(--muted);
}

.filter-bar .chips {
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: thin;
  padding-block: 3px;
  min-width: 0;
}

.filter-bar .chip { flex: none; white-space: nowrap; }

@media (max-width: 600px) {
  .filter-bar__label { display: none; }
}

.cat-group {
  padding-block: var(--space-2xl);
  border-top: var(--rule-thick) solid var(--bark);
  scroll-margin-top: calc(var(--header-h) + 72px);
}

.cat-group:first-of-type { border-top: 0; }

.cat-group[hidden] { display: none; }

.cat-group__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-s);
  margin-bottom: var(--space-l);
}

.cat-group__head > * { min-width: 0; }

@media (min-width: 900px) {
  .cat-group__head {
    grid-template-columns: 6rem minmax(0, 1fr) auto;
    align-items: end;
    column-gap: var(--space-l);
  }
}

.cat-group__num {
  font-family: var(--gijo-710);
  font-weight: 700;
  font-size: clamp(2.5rem, 1.6rem + 3vw, 4.5rem);
  line-height: .85;
  color: var(--amber-ink);
}

.cat-group__title { font-size: var(--fs-h2); }

.cat-group__intro {
  margin-top: .5rem;
  color: var(--muted);
}

.cat-items {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: var(--rule-thin) solid var(--ink);
}

.cat-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-m);
  padding: var(--space-m) 0;
  border-bottom: 1px solid var(--rule-mid);
}

.cat-item > * { min-width: 0; }

@media (min-width: 760px) {
  .cat-item {
    grid-template-columns: 9rem minmax(0, 1fr);
    align-items: start;
  }
}

@media (min-width: 1100px) {
  .cat-item {
    grid-template-columns: 10rem minmax(0, 1.4fr) minmax(0, 1fr) auto;
    align-items: center;
  }
}

.cat-item__media .frame { aspect-ratio: 1 / 1; max-width: 10rem; }

.cat-item__name {
  font-family: var(--gijo-710);
  font-weight: 700;
  font-size: var(--fs-h3);
  line-height: 1.1;
}

.cat-item__detail {
  margin-top: .35rem;
  color: var(--muted);
  font-size: var(--fs-small);
  max-width: 52ch;
}

.cat-item__facts {
  display: grid;
  gap: .35rem;
  margin: 0;
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  letter-spacing: .04em;
}

.cat-item__facts div {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  gap: .5rem;
}

.cat-item__facts dt {
  text-transform: uppercase;
  letter-spacing: var(--track-mono);
  color: var(--muted);
}

.cat-item__facts dd { margin: 0; }

.cat-item__go { justify-self: start; }

@media (min-width: 760px) and (max-width: 1099.98px) {
  .cat-item__facts, .cat-item__go { grid-column: 2; }
}

.item-anchor { scroll-margin-top: calc(var(--header-h) + 24px); }

.item__lead-time {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
}

.item__lead-time .icon { width: 1rem; height: 1rem; color: var(--amber-ink); }

.item__warn {
  padding-left: var(--space-s);
  border-left: 4px solid var(--amber);
  font-family: var(--gijo-710);
  font-weight: 500;
  font-size: var(--fs-h4);
  line-height: 1.35;
  max-width: 44ch;
}

.calc {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl) clamp(2rem, 4vw, 5rem);
}

.calc > * { min-width: 0; }

@media (min-width: 1000px) {
  .calc {
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    align-items: start;
  }
  .calc__out {
    position: sticky;
    top: calc(var(--header-h) + var(--space-m));
  }
}

.calc__inputs {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-m);
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

@media (min-width: 620px) {
  .calc__inputs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calc__field--full { grid-column: 1 / -1; }
}

.calc__field {
  display: grid;
  gap: .4rem;
  min-width: 0;
}

.calc__field-row {
  display: flex;
  align-items: center;
  gap: .6rem;
}

.calc__field-row .field__input {
  flex: 0 0 7.5rem;
  width: 7.5rem;
  font-family: var(--gijo-d16);
  font-size: 1rem;
  text-align: right;
}

.calc__unit {
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  color: var(--muted);
}

.calc__range {
  width: 100%;
  min-height: var(--tap);
  margin: 0;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

.calc__range::-webkit-slider-runnable-track {
  height: 6px;
  background: var(--bark);
  border-radius: var(--radius);
}

.calc__range::-moz-range-track {
  height: 6px;
  background: var(--bark);
  border-radius: var(--radius);
}

.calc__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 26px;
  height: 26px;
  margin-top: -10px;
  background: var(--cream-bright);
  border: 3px solid var(--bark);
  border-radius: var(--radius);
  transition: background-color var(--dur-quick) var(--ease-out), border-color var(--dur-quick) var(--ease-out), transform var(--dur-quick) var(--ease-out);
}

.calc__range::-moz-range-thumb {
  width: 22px;
  height: 22px;
  background: var(--cream-bright);
  border: 3px solid var(--bark);
  border-radius: var(--radius);
  transition: background-color var(--dur-quick) var(--ease-out), border-color var(--dur-quick) var(--ease-out);
}

.calc__range:hover::-webkit-slider-thumb { background: var(--amber-soft); border-color: var(--amber-deep); }
.calc__range:hover::-moz-range-thumb { background: var(--amber-soft); border-color: var(--amber-deep); }
.calc__range:active::-webkit-slider-thumb { background: var(--amber); transform: scale(1.1); }
.calc__range:active::-moz-range-thumb { background: var(--amber); }
.calc__range:focus-visible { outline: none; }
.calc__range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 3px var(--amber); }
.calc__range:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 3px var(--amber); }

.unit-toggle {
  display: inline-flex;
  border: 2px solid var(--bark);
  border-radius: var(--radius);
  overflow: hidden;
}

.unit-toggle button {
  min-height: var(--tap);
  min-width: 4rem;
  padding: .4rem 1rem;
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono-lg);
  font-weight: 500;
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  color: var(--bark);
  background: transparent;
  transition: background-color var(--dur-quick) var(--ease-out), color var(--dur-quick) var(--ease-out);
}

.unit-toggle button + button { border-left: 2px solid var(--bark); }
.unit-toggle button:hover { background: var(--oat); }
.unit-toggle button:active { background: var(--oat-deep); }
.unit-toggle button:focus-visible { outline: 3px solid var(--amber); outline-offset: -4px; }
.unit-toggle button[aria-pressed="true"] { background: var(--bark); color: var(--cream); }

.calc__out {
  background: var(--forest);
  color: var(--cream);
  --ink: var(--cream);
  --muted: var(--muted-on-dark);
  --rule-mid: var(--rule-dark-strong);
  --rule-light: var(--rule-dark);
  border-top: var(--rule-thick) solid var(--amber);
  padding: clamp(1.25rem, 3vw, 2.25rem);
}

.calc__out-label { color: var(--amber-soft); }

.calc__figure {
  margin-top: var(--space-s);
  font-family: var(--gijo-710);
  font-weight: 700;
  font-size: clamp(2.75rem, 1.6rem + 5vw, 5.5rem);
  line-height: .9;
  letter-spacing: var(--track-tight);
  font-variant-numeric: tabular-nums lining-nums;
  overflow-wrap: anywhere;
}

.calc__figure small {
  font-family: var(--gijo-d16);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  color: var(--oat);
}

.calc__readouts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: var(--space-l) 0 0;
  border-top: 1px solid var(--rule-dark-strong);
}

.calc__readouts div {
  padding: .8rem .5rem .8rem 0;
  border-bottom: 1px solid var(--rule-dark);
  min-width: 0;
}

.calc__readouts dt {
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  color: var(--muted-on-dark);
}

.calc__readouts dd {
  margin: .2rem 0 0;
  font-family: var(--gijo-d16);
  font-size: 1.25rem;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.loadbar {
  position: relative;
  margin-top: var(--space-l);
  height: 22px;
  background: rgba(243, 236, 221, .12);
  border: 1px solid var(--rule-dark-strong);
  border-radius: var(--radius);
  overflow: hidden;
}

.loadbar__fill {
  display: block;
  height: 100%;
  width: var(--load, 0%);
  max-width: 100%;
  background: var(--oat);
  transition: width var(--dur-slow) var(--ease-out), background-color var(--dur-base) var(--ease-out);
}

.loadbar[data-band="ok"] .loadbar__fill { background: #9DB36A; }
.loadbar[data-band="watch"] .loadbar__fill { background: var(--amber); }
.loadbar[data-band="over"] .loadbar__fill { background: #D9573E; }

.loadbar__marks {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(90deg, transparent calc(70% - 1px), var(--cream) calc(70% - 1px), var(--cream) 70%, transparent 70%), linear-gradient(90deg, transparent calc(90% - 1px), var(--cream) calc(90% - 1px), var(--cream) 90%, transparent 90%);
  opacity: .6;
}

.loadbar__scale {
  display: flex;
  justify-content: space-between;
  margin-top: .35rem;
  font-family: var(--gijo-d16);
  font-size: .7rem;
  letter-spacing: .05em;
  color: var(--muted-on-dark);
}

.calc__reason {
  margin-top: var(--space-m);
  padding-left: var(--space-s);
  border-left: 4px solid var(--amber);
  font-size: var(--fs-small);
  line-height: 1.5;
}

.calc__disclaimer {
  margin-top: var(--space-m);
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  letter-spacing: .03em;
  color: var(--muted-on-dark);
}

.formula {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: var(--rule-thin) solid var(--ink);
}

.formula li {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .25rem;
  padding: var(--space-s) 0;
  border-bottom: 1px solid var(--rule-mid);
}

@media (min-width: 760px) {
  .formula li { grid-template-columns: minmax(0, 14rem) minmax(0, 1fr); gap: var(--space-m); align-items: baseline; }
}

.formula__name {
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  color: var(--muted);
}

.formula__expr {
  font-family: var(--gijo-d16);
  font-size: clamp(1rem, .95rem + .3vw, 1.2rem);
  overflow-wrap: anywhere;
}

.legal-head {
  padding-block: clamp(40px, 6vw, 96px) var(--section-half);
  background: var(--cream);
  color: var(--bark);
}

.legal-head__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-l);
}

.legal-head__grid > * { min-width: 0; }

@media (min-width: 960px) {
  .legal-head__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); align-items: end; column-gap: clamp(2rem, 5vw, 5rem); }
}

.legal-head .crumbs { margin-bottom: var(--space-m); color: var(--muted); }

.legal-head__title { max-width: 14ch; }

.legal-head__lead {
  margin-top: var(--space-m);
  font-size: var(--fs-lead);
  line-height: 1.45;
  max-width: 52ch;
}

.legal-head__meta {
  margin-top: var(--space-m);
  color: var(--muted);
}

.legal-head__media .frame { aspect-ratio: 3 / 2; }

.jump {
  position: sticky;
  top: var(--header-h-condensed);
  z-index: 6;
  background: var(--forest);
  color: var(--cream);
  border-top: var(--rule-thick) solid var(--bark);
  border-bottom: 2px solid var(--pine);
}

.jump__row {
  display: flex;
  align-items: center;
  gap: var(--space-s);
  min-width: 0;
}

.jump__label {
  flex: none;
  color: var(--amber-soft);
}

.jump__list {
  display: flex;
  flex-wrap: nowrap;
  gap: .4rem;
  list-style: none;
  margin: 0;
  padding: .55rem 0;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  min-width: 0;
  flex: 1 1 auto;
  -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent);
  mask-image: linear-gradient(90deg, #000 88%, transparent);
}

.jump__list::-webkit-scrollbar { display: none; }

.jump__list li { flex: none; scroll-snap-align: start; }

.jump__chip {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: var(--tap);
  padding: .45rem .9rem;
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  font-weight: 500;
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--cream);
  text-decoration: none;
  border: 2px solid var(--rule-dark-strong);
  border-radius: var(--radius);
  transition: background-color var(--dur-quick) var(--ease-out), border-color var(--dur-quick) var(--ease-out), color var(--dur-quick) var(--ease-out);
}

.jump__chip-num { color: var(--amber-soft); }

.jump__chip:hover { background: var(--pine); border-color: var(--amber); }
.jump__chip:active { background: var(--bark); }
.jump__chip:focus-visible { outline: 3px solid var(--amber); outline-offset: -2px; }

.jump__chip[aria-current="true"],
.jump__chip.is-active {
  background: var(--cream);
  color: var(--pine);
  border-color: var(--cream);
}

.jump__chip[aria-current="true"] .jump__chip-num,
.jump__chip.is-active .jump__chip-num { color: var(--amber-ink); }

@media (max-width: 600px) {
  .jump__label { display: none; }
}

.ruled {
  background: var(--cream);
}

.ruled__section {
  padding-block: clamp(56px, 8vw, 128px);
  border-top: var(--rule-thick) solid var(--bark);
  scroll-margin-top: calc(var(--header-h-condensed) + 72px);
}

.ruled__section:first-child { border-top: 0; }

.ruled__section:nth-child(even) {
  background: var(--oat);
}

.ruled__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-l);
}

.ruled__inner > * { min-width: 0; }

@media (min-width: 1000px) {
  .ruled__inner {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: clamp(2rem, 5vw, 6rem);
  }
}

.ruled__num {
  display: block;
  margin-bottom: var(--space-s);
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono-lg);
  letter-spacing: var(--track-mono);
  color: var(--amber-ink);
}

.ruled__title {
  font-size: var(--fs-h2);
  max-width: 16ch;
}

.standfirst {
  margin-top: var(--space-m);
  font-family: var(--gijo-710);
  font-weight: 500;
  font-size: var(--fs-h4);
  line-height: 1.35;
  max-width: 34ch;
  padding-left: var(--space-s);
  border-left: 4px solid var(--amber);
  hanging-punctuation: first;
}

.ruled__body .table-wrap { margin-top: var(--space-m); }

.ledger-wrap {
  border-top: var(--rule-thick) solid var(--bark);
}

.ledger {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-small);
}

.ledger caption {
  caption-side: top;
  text-align: left;
  padding: var(--space-m) 0;
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  color: var(--muted);
}

.ledger thead th {
  padding: .9rem 1.25rem .9rem 0;
  text-align: left;
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  font-weight: 500;
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  background: var(--bark);
  color: var(--cream);
}

.ledger thead th:first-child { padding-left: 1rem; }

.ledger tbody th,
.ledger tbody td {
  padding: 1.1rem 1.25rem 1.1rem 0;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--rule-mid);
  line-height: 1.5;
}

.ledger tbody th {
  padding-left: 1rem;
  width: 24%;
  font-family: var(--gijo-710);
  font-weight: 700;
  font-size: var(--fs-h4);
  line-height: 1.2;
}

.ledger tbody tr:nth-child(even) { background: var(--oat); }

.ledger tbody tr {
  transition: background-color var(--dur-quick) var(--ease-out);
}

.ledger tbody tr:hover { background: var(--oat-deep); }

.ledger__key {
  display: inline-block;
  margin-top: .35rem;
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  font-weight: 500;
  letter-spacing: .03em;
  padding: .15rem .4rem;
  background: var(--cream-bright);
  border: 1px solid var(--rule-mid);
  border-radius: var(--radius);
  overflow-wrap: anywhere;
}

.ledger__why {
  color: var(--muted);
}

.ledger__status {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
}

.ledger__status::before {
  content: "";
  width: .6rem;
  height: .6rem;
  border-radius: 50%;
  background: var(--moss);
}

.ledger__status--consent::before { background: var(--amber); }

@media (max-width: 760px) {
  .ledger,
  .ledger tbody,
  .ledger tr,
  .ledger th,
  .ledger td { display: block; width: 100%; }

  .ledger thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }

  .ledger caption { display: block; }

  .ledger tbody tr {
    padding: var(--space-m) var(--space-s);
    border-bottom: var(--rule-thin) solid var(--bark);
  }

  .ledger tbody th,
  .ledger tbody td {
    padding: 0;
    border: 0;
  }

  .ledger tbody th { width: 100%; margin-bottom: var(--space-s); }

  .ledger tbody td + td { margin-top: var(--space-s); }

  .ledger tbody td[data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: .2rem;
    font-family: var(--gijo-d16);
    font-size: .72rem;
    font-weight: 500;
    letter-spacing: var(--track-mono);
    text-transform: uppercase;
    color: var(--muted);
  }
}

.ledger-notes {
  margin-top: var(--space-2xl);
}

.consent-controls {
  display: grid;
  gap: var(--space-m);
  padding: clamp(1.25rem, 3vw, 2.25rem);
  background: var(--forest);
  color: var(--cream);
  --ink: var(--cream);
  --rule-light: var(--rule-dark);
  --rule-mid: var(--rule-dark-strong);
  border-left: var(--rule-thick) solid var(--amber);
}

.consent-controls__state {
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono-lg);
  letter-spacing: .04em;
  color: var(--amber-soft);
}

.disclosures__tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s);
  padding-block: var(--space-m);
  border-bottom: var(--rule-thick) solid var(--bark);
}

.disclosures__count { color: var(--muted); }

.disclosures {
  counter-reset: disclosure;
}

.disclosure {
  counter-increment: disclosure;
  border-bottom: var(--rule-thin) solid var(--bark);
  scroll-margin-top: calc(var(--header-h-condensed) + 16px);
}

.disclosure__summary {
  position: relative;
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr) auto;
  gap: var(--space-s);
  align-items: start;
  min-height: 64px;
  padding: var(--space-m) 0;
  cursor: pointer;
  list-style: none;
  transition: background-color var(--dur-quick) var(--ease-out), padding-left var(--dur-base) var(--ease-out);
}

.disclosure__summary::-webkit-details-marker { display: none; }
.disclosure__summary::marker { content: ""; }

.disclosure__summary::before {
  content: counter(disclosure, decimal-leading-zero);
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono-lg);
  font-weight: 500;
  color: var(--amber-ink);
  padding-top: .35rem;
}

.disclosure__q {
  min-width: 0;
}

.disclosure__title {
  display: block;
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: .3rem;
}

.disclosure__sentence {
  display: block;
  font-family: var(--gijo-710);
  font-weight: 700;
  font-size: var(--fs-h3);
  line-height: 1.15;
  max-width: 38ch;
}

.disclosure__icon {
  display: inline-grid;
  place-items: center;
  width: var(--tap);
  height: var(--tap);
  border: 2px solid var(--bark);
  border-radius: var(--radius);
  transition: background-color var(--dur-quick) var(--ease-out), color var(--dur-quick) var(--ease-out), transform var(--dur-base) var(--ease-out);
}

.disclosure__icon .icon { width: 1.1rem; height: 1.1rem; }

.disclosure[open] > .disclosure__summary .disclosure__icon {
  transform: rotate(180deg);
  background: var(--bark);
  color: var(--cream);
}

.disclosure__summary:hover { background: var(--oat); padding-left: .5rem; }
.disclosure__summary:hover .disclosure__icon { border-color: var(--amber-deep); }
.disclosure__summary:active { background: var(--oat-deep); }
.disclosure__summary:focus-visible { outline: 3px solid var(--amber); outline-offset: -3px; }

.disclosure__body {
  padding: 0 0 var(--space-xl) calc(3.25rem + var(--space-s));
}

.disclosure__body > * + * { margin-top: var(--space-s); }

.disclosure__body ul { padding-left: 1.2em; }
.disclosure__body li + li { margin-top: .35rem; }
.disclosure__body li::marker { color: var(--amber-ink); }

@media (max-width: 560px) {
  .disclosure__summary { grid-template-columns: minmax(0, 1fr) auto; }
  .disclosure__summary::before { grid-column: 1 / -1; padding-top: 0; }
  .disclosure__body { padding-left: 0; }
}

.disclosure:target > .disclosure__summary {
  background: var(--oat);
  box-shadow: inset 6px 0 0 var(--amber);
}

.faq {
  border-top: var(--rule-thin) solid var(--ink);
}

.faq__item {
  border-bottom: 1px solid var(--rule-mid);
}

.faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
  width: 100%;
  min-height: 64px;
  padding: var(--space-s) 0;
  font-family: var(--gijo-710);
  font-weight: 700;
  font-size: var(--fs-h4);
  line-height: 1.25;
  text-align: left;
  color: inherit;
  cursor: pointer;
  list-style: none;
  transition: color var(--dur-quick) var(--ease-out), background-color var(--dur-quick) var(--ease-out);
}

.faq__q::-webkit-details-marker { display: none; }
.faq__q::marker { content: ""; }

.faq__q > span { min-width: 0; }

.faq__q .icon {
  width: 1.5rem;
  height: 1.5rem;
  flex: none;
  color: var(--amber-ink);
  transition: transform var(--dur-base) var(--ease-out);
}

.block--forest .faq__q .icon,
.block--bark .faq__q .icon,
.block--moss .faq__q .icon,
.block--pine .faq__q .icon { color: var(--amber-soft); }

.faq__item[open] .faq__q .icon,
.faq__q[aria-expanded="true"] .icon { transform: rotate(45deg); }

.faq__q:hover { color: var(--amber-ink); background: var(--rule-light); }
.block--forest .faq__q:hover,
.block--bark .faq__q:hover,
.block--moss .faq__q:hover,
.block--pine .faq__q:hover { color: var(--amber-soft); }
.faq__q:active { background: var(--rule-mid); }
.faq__q:focus-visible { outline: 3px solid var(--amber); outline-offset: 2px; }

.faq__a {
  padding: 0 0 var(--space-m);
  max-width: var(--measure);
}

.faq__a > * + * { margin-top: var(--space-xs); }

.contact-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl) clamp(2rem, 5vw, 6rem);
}

.contact-page__grid > * { min-width: 0; }

@media (min-width: 1000px) {
  .contact-page__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; }
}

.addr {
  font-style: normal;
  font-family: var(--gijo-710);
  font-weight: 700;
  font-size: clamp(1.75rem, 1.1rem + 2.8vw, 3.25rem);
  line-height: 1.02;
  letter-spacing: var(--track-display);
}

.addr__line { display: block; }

.addr__plain {
  margin-top: var(--space-s);
}

.contact-facts {
  margin-top: var(--space-l);
  display: grid;
  gap: 0;
  border-top: var(--rule-thin) solid var(--ink);
}

.contact-facts > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .25rem;
  padding: var(--space-s) 0;
  border-bottom: 1px solid var(--rule-mid);
}

@media (min-width: 520px) {
  .contact-facts > div { grid-template-columns: 8rem minmax(0, 1fr); gap: var(--space-s); align-items: baseline; }
}

.contact-facts dt {
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono);
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  color: var(--muted);
}

.contact-facts dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }

.contact-facts a {
  display: inline-flex;
  align-items: center;
  min-height: var(--tap);
  font-weight: 600;
  text-decoration-color: var(--amber);
  transition: color var(--dur-quick) var(--ease-out), text-decoration-color var(--dur-quick) var(--ease-out);
}

.contact-facts a:hover { color: var(--forest); text-decoration-color: currentColor; }
.contact-facts a:active { color: var(--amber-ink); }
.contact-facts a:focus-visible { outline: 3px solid var(--amber); outline-offset: 2px; }

.nf {
  min-height: calc(100vh - var(--header-h));
  display: grid;
  align-items: center;
  padding-block: var(--section-half);
  background: var(--cream);
}

.nf__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-l);
}

.nf__grid > * { min-width: 0; }

@media (min-width: 900px) {
  .nf__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: end; column-gap: clamp(2rem, 5vw, 6rem); }
}

.nf__code {
  font-family: var(--gijo-710);
  font-weight: 700;
  font-size: clamp(6rem, 2rem + 20vw, 18rem);
  line-height: .78;
  letter-spacing: -.04em;
  color: var(--forest);
  border-bottom: var(--rule-thick) solid var(--amber);
  padding-bottom: .1em;
  font-variant-numeric: lining-nums;
}

.nf__title { max-width: 14ch; }

.nf__text {
  margin-top: var(--space-m);
  font-size: var(--fs-lead);
  line-height: 1.45;
}

.nf__routes {
  margin-top: var(--space-l);
}

.thanks__steps {
  list-style: none;
  margin: var(--space-xl) 0 0;
  padding: 0;
  counter-reset: thanks;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  border-top: var(--rule-thin) solid var(--ink);
}

@media (min-width: 900px) {
  .thanks__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .thanks__steps li + li { border-left: 1px solid var(--rule-mid); padding-left: var(--space-m); }
}

.thanks__steps li {
  counter-increment: thanks;
  padding: var(--space-m) var(--space-m) var(--space-m) 0;
  border-bottom: 1px solid var(--rule-mid);
  min-width: 0;
}

.thanks__steps li::before {
  content: counter(thanks, decimal-leading-zero);
  display: block;
  margin-bottom: var(--space-xs);
  font-family: var(--gijo-d16);
  font-size: var(--fs-mono-lg);
  color: var(--amber-ink);
}

.block--forest .thanks__steps li::before,
.block--pine .thanks__steps li::before { color: var(--amber-soft); }

.thanks__steps strong {
  display: block;
  font-family: var(--gijo-710);
  font-weight: 700;
  font-size: var(--fs-h4);
  margin-bottom: .35rem;
}

.pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-l);
}

.pair > * { min-width: 0; }

@media (min-width: 760px) {
  .pair { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; }
  .pair > :nth-child(2) { margin-bottom: var(--space-2xl); }
}

.decode {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  margin-top: var(--space-m);
  font-family: var(--gijo-d16);
}

.decode__part {
  display: grid;
  gap: .3rem;
  min-width: 4.5rem;
  flex: 1 1 4.5rem;
  padding: .7rem .7rem .8rem;
  background: var(--oat);
  border-top: 4px solid var(--bark);
}

.decode__part:nth-child(odd) { border-top-color: var(--amber); }

.decode__code {
  font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem);
  font-weight: 500;
  line-height: 1;
}

.decode__means {
  font-family: var(--gijo-bf8);
  font-size: .875rem;
  line-height: 1.35;
  color: var(--muted);
}

@media print {
  .jump, .filter-bar, .disclosures__tools, .pin__progress { display: none !important; }
  .disclosure > :not(summary) { display: block !important; }
  .disclosure__icon { display: none; }
  .pin.is-live { height: auto; }
  .pin.is-live .pin__stage { position: static; height: auto; }
  .pin.is-live .pin__step { grid-area: auto; opacity: 1; visibility: visible; }
  .duotone { min-height: 0; }
  .ledger tbody tr:nth-child(even) { background: none; }
}

@media (prefers-reduced-motion: reduce) {
  html:has(.pin.is-live) { scroll-snap-type: none; }
  .pin.is-live { height: auto !important; }
  .pin.is-live .pin__stage { position: static !important; height: auto !important; overflow: visible; display: block; }
  .pin.is-live .pin__step { grid-area: auto; visibility: visible; border-top: 1px solid var(--rule-dark); }
  .pin.is-live .pin__snaps { display: none; }
  .pin__bar { transform: none; }
  .loadbar__fill { transition: none; }
}
