.page-head {
  position: relative;
  padding-block: var(--section-tight) var(--space-xl);
  border-bottom: var(--rule-major) solid var(--ink);
}
.page-head__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-m) var(--gutter); align-items: end; }
.page-head__inner > * { min-width: 0; }
.page-head .crumbs { margin-bottom: var(--space-2xs); }
.page-head h1 { font-size: var(--step-hero); max-width: 14ch; }
.page-head__deck { font-size: var(--gide-863); line-height: 1.5; color: var(--brown); max-width: 46ch; }
.page-head__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px var(--space-m);
  padding-top: var(--space-s);
  border-top: 1px solid var(--rule);
  font-family: var(--gide-7c8);
  font-size: var(--step--2);
  letter-spacing: var(--track-mono);
  text-transform: uppercase;
  color: var(--muted);
}
.page-head__meta strong { color: var(--oxblood); font-weight: 500; }
.page-head__figure { margin-top: var(--space-l); }
.page-head__figure .media { aspect-ratio: 21 / 9; }
@media (max-width: 599px) { .page-head__figure .media { aspect-ratio: 4 / 3; } }
@media (min-width: 960px) {
  .page-head__inner { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
  .page-head__aside { border-left: 1px solid var(--rule); padding-left: var(--gutter); }
}

.section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-s) var(--gutter);
  align-items: end;
  padding-bottom: var(--space-m);
  margin-bottom: var(--space-l);
  border-bottom: 1px solid var(--ink);
}
.section-head > * { min-width: 0; }
.section-head h2 { max-width: 18ch; }
.section-head__note { color: var(--brown); max-width: 46ch; font-size: var(--gide-115); }
@media (min-width: 900px) {
  .section-head { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .section-head__note { justify-self: end; }
}
.section-head--dark { border-bottom-color: rgba(242, 232, 213, 0.4); }
.section-head--dark .section-head__note { color: var(--on-dark-muted); }

.front {
  padding-block: var(--space-m) var(--section-tight);
}
.front__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  border-bottom: var(--rule-major) solid var(--ink);
}
.front__grid > * { min-width: 0; padding-block: var(--space-m); }
.front__grid > * + * { border-top: 1px solid var(--rule); }
.front__lead .tile__media { aspect-ratio: 3 / 2; }
.front__lead h1 {
  margin-top: var(--space-m);
  font-size: var(--step-hero);
  line-height: 0.88;
  letter-spacing: var(--track-hero);
  text-transform: uppercase;
  color: var(--oxblood);
  max-width: 11ch;
  text-wrap: balance;
}
.front__lead h1 .h1-ink { color: var(--ink); }
.front__deck {
  margin-top: var(--space-m);
  padding-top: var(--space-s);
  border-top: 1px solid var(--ink);
  font-size: var(--gide-863);
  line-height: 1.5;
  max-width: 50ch;
  color: var(--brown);
}
.front__deck::first-letter {
  float: left;
  font-family: var(--gide-440);
  font-weight: 900;
  font-size: 3.6em;
  line-height: 0.8;
  padding: 0.06em 0.1em 0 0;
  color: var(--oxblood);
}
.front__actions { margin-top: var(--space-m); }
.front__second .tile__media { aspect-ratio: 16 / 10; }
.front__second .tile__title { font-size: var(--gide-bbc); text-transform: uppercase; }
.front__second .tile__kicker { margin-bottom: 2px; }
.front__stat {
  display: flex;
  align-items: baseline;
  gap: 0.4em;
  padding-top: var(--space-2xs);
  border-top: 1px dashed var(--rule);
  font-family: var(--gide-7c8);
  font-size: var(--step--1);
  color: var(--muted);
}
.front__stat b { font-family: var(--gide-440); font-size: var(--gide-bbc); font-weight: 900; color: var(--oxblood); line-height: 1; }
.front__rail .rail__item { grid-template-columns: minmax(0, 1fr); }
.front__rail .rail__foot { padding-top: var(--space-s); }

@media (min-width: 700px) and (max-width: 1099px) {
  .front__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 0; }
  .front__lead { grid-column: 1 / -1; }
  .front__second { padding-inline: 0 var(--gutter); }
  .front__second + .front__second { border-left: 1px solid var(--rule); padding-inline: var(--gutter) 0; border-top: 1px solid var(--rule); }
  .front__rail { grid-column: 1 / -1; }
}
@media (min-width: 1100px) {
  .front__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: auto auto;
    column-gap: 0;
  }
  .front__grid > * + * { border-top: 0; }
  .front__lead { grid-column: 1 / span 5; grid-row: 1 / span 2; padding-right: var(--gutter); }
  .front__rail { grid-column: 6 / span 2; grid-row: 1 / span 2; padding-inline: var(--gutter); border-left: 1px solid var(--rule); border-right: 1px solid var(--rule); }
  .front__second { grid-column: 8 / span 5; padding-left: var(--gutter); }
  .front__second + .front__second { border-top: 1px solid var(--rule); }
  .front__lead h1 { font-size: clamp(3.6rem, 6.4vw, 7.6rem); }
}
@media (min-width: 1400px) {
  .front__lead { grid-column: 1 / span 6; }
  .front__rail { grid-column: 7 / span 2; }
  .front__second { grid-column: 9 / span 4; }
}

.home-ledger { padding-block: var(--section); }
.home-ledger .cat-ledger__row { cursor: pointer; }
.home-ledger__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-s); padding-top: var(--space-m); }

.est-strip {
  position: relative;
  background-color: var(--oxblood);
  color: var(--cream);
  padding-block: var(--section);
  border-block: var(--rule-major) solid var(--ink);
  overflow: hidden;
}
.est-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 31px, rgba(242, 232, 213, 0.09) 31px, rgba(242, 232, 213, 0.09) 32px);
  pointer-events: none;
}
.est-strip__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-l) var(--gutter); align-items: end; }
.est-strip__inner > * { min-width: 0; }
.est-strip .kicker { color: var(--gold-hi); }
.est-strip__figure {
  font-family: var(--gide-440);
  font-weight: 900;
  font-size: clamp(2.4rem, 9vw, 8.5rem);
  line-height: 0.86;
  letter-spacing: var(--track-hero);
  text-transform: uppercase;
  color: var(--cream);
  text-wrap: balance;
}
.est-strip__figure .price { font-family: var(--gide-440); font-weight: 900; color: var(--gold-hi); letter-spacing: var(--track-hero); }
.est-strip__figure small { display: block; font-size: 0.4em; color: var(--on-dark-muted); letter-spacing: 0; margin-top: 0.2em; }
.est-strip__text { font-size: var(--gide-115); line-height: 1.6; color: var(--cream); max-width: 44ch; }
.est-strip__text + * { margin-top: var(--space-m); }
.est-strip__fine { font-family: var(--gide-7c8); font-size: var(--step--2); letter-spacing: var(--track-mono); color: var(--on-dark-muted); margin-top: var(--space-s); }
@media (min-width: 960px) {
  .est-strip__inner { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
  .est-strip__side { border-left: 1px solid rgba(242, 232, 213, 0.3); padding-left: var(--gutter); }
}

.rules { padding-block: var(--section); }
.rules__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl) 0; border-top: var(--rule-major) solid var(--ink); }
.rules__grid > * { min-width: 0; padding-top: var(--space-m); }
.rules__col h2 { font-size: var(--gide-d43); text-transform: uppercase; margin-bottom: var(--space-m); }
.rules__col--refuse h2 { color: var(--oxblood); }
@media (min-width: 900px) {
  .rules__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .rules__col--refuse { border-left: 1px solid var(--rule); padding-left: var(--gutter); }
  .rules__col:first-child { padding-right: var(--gutter); }
}
.steps { counter-reset: step; display: grid; }
.steps > li {
  counter-increment: step;
  position: relative;
  display: grid;
  grid-template-columns: 3.4rem minmax(0, 1fr);
  gap: 0 var(--space-s);
  padding-block: var(--space-s);
  border-bottom: 1px solid var(--rule);
  min-width: 0;
}
.steps > li::before {
  content: counter(step, decimal-leading-zero);
  font-family: var(--gide-440);
  font-weight: 900;
  font-size: var(--gide-bbc);
  line-height: 0.9;
  color: var(--oxblood);
  border-right: 1px solid var(--rule);
}
.steps__title { font-family: var(--gide-440); font-size: var(--gide-f91); font-weight: 800; line-height: 1; text-transform: uppercase; }
.steps__text { margin-top: 6px; font-size: var(--step--1); color: var(--brown); line-height: 1.55; }
.steps > li > * { grid-column: 2; }
.steps > li::before { grid-column: 1; grid-row: 1 / span 3; }

.refusals { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid var(--ink); }
.refusals > li { padding: var(--space-m) 0; border-bottom: 1px solid var(--rule); min-width: 0; }
.refusals__no {
  display: block;
  font-family: var(--gide-440);
  font-size: var(--gide-bbc);
  font-weight: 900;
  line-height: 0.95;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: line-through;
  text-decoration-color: var(--oxblood);
  text-decoration-thickness: 0.09em;
}
.refusals__why { margin-top: var(--space-2xs); color: var(--brown); max-width: 52ch; }
@media (min-width: 640px) {
  .refusals { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--gutter); }
  .refusals > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

.tank-feature { position: relative; background: var(--brown); color: var(--on-dark); padding-block: 0 var(--section); }
.tank-feature__media { position: relative; aspect-ratio: 21 / 9; overflow: hidden; border-bottom: var(--rule-major) solid var(--gold); }
.tank-feature__media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 699px) { .tank-feature__media { aspect-ratio: 4 / 3; } }
.tank-feature__body { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-l) var(--gutter); padding-top: var(--section-tight); }
.tank-feature__body > * { min-width: 0; }
.tank-feature .pullquote { color: var(--cream); border-color: var(--gold); font-size: clamp(1.9rem, 1rem + 4.2vw, 5rem); text-wrap: balance; }
.tank-feature__notes { color: var(--on-dark-muted); font-size: var(--gide-115); }
.tank-feature__notes p + p { margin-top: var(--space-s); }
.tank-feature__notes strong { color: var(--cream); }
@media (min-width: 960px) {
  .tank-feature__body { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); align-items: start; }
  .tank-feature__notes { border-left: 1px solid rgba(205, 187, 152, 0.3); padding-left: var(--gutter); }
}

.contact-block { padding-block: var(--section); }
.contact-block__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl) var(--gutter); border-top: var(--rule-major) solid var(--ink); padding-top: var(--space-l); }
.contact-block__grid > * { min-width: 0; }
@media (min-width: 960px) {
  .contact-block__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .contact-block__form { border-left: 1px solid var(--rule); padding-left: var(--gutter); }
}
.contact-facts { display: grid; gap: 0; border-top: 1px solid var(--ink); font-style: normal; }
.contact-facts__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2px;
  padding-block: var(--space-s);
  border-bottom: 1px solid var(--rule);
}
.contact-facts__label { font-family: var(--gide-7c8); font-size: var(--step--2); letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--muted); }
.contact-facts__value { font-family: var(--gide-440); font-size: var(--gide-f91); font-weight: 800; line-height: 1.1; color: var(--ink); overflow-wrap: anywhere; }
.contact-facts__value a { display: inline-flex; align-items: center; min-height: var(--tap); color: var(--oxblood); text-decoration: none; background-image: linear-gradient(var(--gold), var(--gold)); background-repeat: no-repeat; background-size: 0% 2px; background-position: 0 90%; transition: background-size var(--dur-base) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.contact-facts__value a:hover { background-size: 100% 2px; color: var(--oxblood-deep); }
.contact-facts__value a:active { color: var(--ink); }
.contact-facts__value a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.contact-facts__small { font-family: var(--gide-aaa); font-size: var(--step--1); font-weight: 400; color: var(--brown); }
@media (min-width: 560px) {
  .contact-facts__row { grid-template-columns: 8rem minmax(0, 1fr); gap: var(--gutter); align-items: baseline; }
}
.photo-guide { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-m); margin-top: var(--space-l); }
.photo-guide > * { min-width: 0; }
.photo-guide__list { counter-reset: pg; }
.photo-guide__list li { counter-increment: pg; display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); gap: var(--space-xs); padding-block: 10px; border-bottom: 1px solid var(--rule); font-size: var(--step--1); }
.photo-guide__list li::before { content: counter(pg); font-family: var(--gide-7c8); color: var(--gold); font-weight: 500; }
@media (min-width: 760px) { .photo-guide { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; } }

.cat-intro { padding-block: var(--section-tight); }
.cat-grid { display: grid; grid-template-columns: minmax(0, 1fr); border-top: var(--rule-major) solid var(--ink); }
.cat-grid > * { min-width: 0; }
.cat-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s); padding-block: var(--space-l); border-bottom: 1px solid var(--rule); }
.cat-card__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--cream-2); }
.cat-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease-out); }
.cat-card:hover .cat-card__media img { transform: scale(1.02); }
.cat-card__num { font-family: var(--gide-7c8); font-size: var(--step--1); color: var(--oxblood); }
.cat-card__title { font-size: var(--gide-bbc); text-transform: uppercase; line-height: 0.95; }
.cat-card__title a { color: var(--ink); text-decoration: none; transition: color var(--dur-fast) var(--ease-out); }
.cat-card__title a:hover { color: var(--oxblood); }
.cat-card__title a:active { color: var(--ink); }
.cat-card__title a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.cat-card__facts { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px var(--space-s); font-size: var(--step--1); border-top: 1px solid var(--rule); padding-top: var(--space-2xs); }
.cat-card__facts dt { font-family: var(--gide-7c8); font-size: var(--step--2); letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--muted); padding-top: 0.2em; }
.cat-card__facts dd { margin: 0; min-width: 0; }
.cat-card__facts .mono { color: var(--oxblood); }
@media (min-width: 760px) {
  .cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cat-card:nth-child(odd) { padding-right: var(--gutter); }
  .cat-card:nth-child(even) { padding-left: var(--gutter); border-left: 1px solid var(--rule); }
}
@media (min-width: 1200px) {
  .cat-card { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--gutter); align-items: start; }
}

.measure-guide { background: var(--paper); border-block: var(--rule-major) solid var(--ink); padding-block: var(--section); }
.measure-guide__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl) var(--gutter); }
.measure-guide__grid > * { min-width: 0; }
@media (min-width: 960px) { .measure-guide__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.measure-list { display: grid; border-top: 1px solid var(--ink); }
.measure-list > li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px var(--gutter); padding-block: var(--space-m); border-bottom: 1px solid var(--rule); }
.measure-list__part { font-family: var(--gide-440); font-size: var(--gide-f91); font-weight: 800; text-transform: uppercase; line-height: 1; color: var(--oxblood); }
.measure-list__how { font-size: var(--gide-115); }
.measure-list__how .mono { color: var(--oxblood); }
@media (min-width: 640px) { .measure-list > li { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); } }

.item-list { padding-bottom: var(--section-tight); }
.item__spec { margin-top: var(--space-s); }
.item__detail { font-size: var(--gide-115); color: var(--brown); }
.ref-table { padding-block: var(--section-tight); }
.ref-table__wrap { border-bottom: var(--rule-major) solid var(--ink); }
.cat-form { background: var(--paper); border-top: var(--rule-major) solid var(--ink); padding-block: var(--section); }
.cat-form__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl) var(--gutter); }
.cat-form__grid > * { min-width: 0; }
@media (min-width: 960px) { .cat-form__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); } }
.related { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--space-m); }

.estimator { padding-block: var(--section-tight) var(--section); }
.estimator__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; border: 2px solid var(--ink); background: var(--paper); box-shadow: 8px 8px 0 var(--ink); }
.estimator__grid > * { min-width: 0; }
.estimator__form { padding: clamp(18px, 3vw, 36px); display: grid; gap: var(--space-m); }
.estimator__form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.estimator__form legend { padding: 0; margin-bottom: var(--space-2xs); font-family: var(--gide-7c8); font-size: var(--step--2); font-weight: 500; letter-spacing: var(--track-caps); text-transform: uppercase; }
.estimator__options { display: flex; flex-wrap: wrap; gap: 6px; }
.estimator__options label { position: relative; display: inline-flex; min-width: 0; max-width: 100%; }
.estimator__options input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.estimator__options span {
  display: inline-flex;
  align-items: center;
  min-height: var(--tap);
  padding: 8px 14px;
  border: 1px solid var(--ink);
  background: var(--cream);
  font-family: var(--gide-7c8);
  font-size: var(--step--1);
  line-height: 1.3;
  overflow-wrap: anywhere;
  transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.estimator__options label:hover span { background: var(--paper); box-shadow: 3px 3px 0 var(--ink); }
.estimator__options label:active span { background: var(--cream-2); box-shadow: none; }
.estimator__options input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 3px; }
.estimator__options input:checked + span { background: var(--oxblood); border-color: var(--oxblood); color: var(--cream); }
.estimator__result {
  position: relative;
  padding: clamp(18px, 3vw, 36px);
  background: var(--brown);
  color: var(--cream);
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 31px, rgba(242, 232, 213, 0.07) 31px, rgba(242, 232, 213, 0.07) 32px);
}
.estimator__label { font-family: var(--gide-7c8); font-size: var(--step--2); letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--gold-hi); }
.estimator__unit {
  font-family: var(--gide-440);
  font-weight: 900;
  font-size: clamp(2.2rem, 1.2rem + 5vw, 5.4rem);
  line-height: 0.9;
  letter-spacing: var(--track-hero);
  color: var(--cream);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.estimator__total { font-family: var(--gide-7c8); font-size: var(--gide-863); color: var(--gold-hi); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.estimator__break { font-size: var(--step--1); color: var(--on-dark-muted); border-top: 1px solid rgba(242, 232, 213, 0.25); padding-top: var(--space-2xs); }
.estimator__error { color: #F4B9A8; font-weight: 600; font-size: var(--step--1); }
.estimator__result .not-quote { background: rgba(242, 232, 213, 0.08); color: var(--cream); }
@media (min-width: 900px) {
  .estimator__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .estimator__result { border-left: 2px solid var(--ink); }
}
.method { padding-block: var(--section-tight); }
.method__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-l) var(--gutter); }
@media (min-width: 900px) { .method__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .method__grid > * + * { border-left: 1px solid var(--rule); padding-left: var(--gutter); } }

.timeline { display: grid; border-top: var(--rule-major) solid var(--ink); counter-reset: tl; }
.timeline > li { counter-increment: tl; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-s) var(--gutter); padding-block: var(--space-l); border-bottom: 1px solid var(--rule); min-width: 0; }
.timeline__num { font-family: var(--gide-440); font-weight: 900; font-size: clamp(3rem, 2rem + 5vw, 6.5rem); line-height: 0.8; color: var(--oxblood); letter-spacing: var(--track-hero); }
.timeline__title { font-size: var(--gide-bbc); text-transform: uppercase; }
.timeline__body { max-width: var(--measure); }
.timeline__body p + p { margin-top: var(--space-s); }
@media (min-width: 760px) { .timeline > li { grid-template-columns: 9rem minmax(0, 1fr); } .timeline__num { border-right: 1px solid var(--rule); } }

.team { display: grid; grid-template-columns: minmax(0, 1fr); border-top: var(--rule-major) solid var(--ink); }
.team > li { padding: var(--space-m) 0; border-bottom: 1px solid var(--rule); min-width: 0; }
.team__count { font-family: var(--gide-440); font-weight: 900; font-size: var(--gide-681); line-height: 0.85; color: var(--oxblood); }
.team__role { font-family: var(--gide-440); font-weight: 800; font-size: var(--gide-f91); text-transform: uppercase; margin-top: var(--space-2xs); }
.team__text { font-size: var(--step--1); color: var(--brown); margin-top: 6px; }
@media (min-width: 640px) { .team { grid-template-columns: repeat(2, minmax(0, 1fr)); } .team > li:nth-child(even) { border-left: 1px solid var(--rule); padding-left: var(--gutter); } .team > li:nth-child(odd) { padding-right: var(--gutter); } }
@media (min-width: 1040px) {
  .team { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .team > li { padding-inline: var(--gutter); border-left: 1px solid var(--rule); }
  .team > li:nth-child(4n + 1) { border-left: 0; padding-left: 0; }
}
.photo-pair { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--gutter); }
.photo-pair > * { min-width: 0; }
@media (min-width: 760px) { .photo-pair { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; } }

.faq { padding-block: var(--section-tight); }
.faq__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-l) var(--gutter); }
.faq__grid > * { min-width: 0; }
@media (min-width: 960px) { .faq__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); } }
.accordion__panel p + p { margin-top: var(--space-s); }

.legal-hero {
  padding-block: var(--section) var(--space-xl);
  border-bottom: var(--rule-major) solid var(--ink);
}
.legal-hero h1 { font-size: var(--step-hero); text-transform: uppercase; max-width: 12ch; }
.legal-hero__meta { margin-top: var(--space-m); display: flex; flex-wrap: wrap; gap: 6px var(--space-l); font-family: var(--gide-7c8); font-size: var(--step--2); letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--muted); }
.legal-hero__lede { margin-top: var(--space-m); font-size: var(--gide-863); max-width: 54ch; color: var(--brown); }
.legal-hero__figure { margin-top: var(--space-l); }
.legal-hero__figure .media { aspect-ratio: 16 / 6; }
@media (max-width: 599px) { .legal-hero__figure .media { aspect-ratio: 3 / 2; } }

.legal-tabs { padding-block: var(--space-xl) var(--section); }
.legal-tabs__list { position: sticky; top: 0; z-index: 5; background: var(--cream); overflow-x: auto; scrollbar-width: thin; }
.legal-tabs__list .tabs__tab { flex: none; }
.legal-tabs__tab-num { font-family: var(--gide-7c8); font-size: 0.72rem; color: var(--oxblood); letter-spacing: var(--track-mono); }
.tabs__tab[aria-selected="true"] .legal-tabs__tab-num { color: var(--gold-hi); }
.legal-tabs__panel {
  padding: clamp(20px, 4vw, 56px) 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-l) var(--gutter);
}
.legal-tabs__panel > * { min-width: 0; }
.legal-tabs__panel:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.legal-tabs__panel-title { font-size: var(--gide-d43); text-transform: uppercase; color: var(--oxblood); }
.legal-tabs__panel-body { max-width: var(--measure); }
.legal-tabs__panel-body > * + * { margin-top: 1em; }
.legal-tabs__panel-body h3 { font-size: var(--gide-f91); margin-top: 1.6em; }
.legal-tabs__panel-body ul { padding-left: 1.2em; }
.legal-tabs__panel-body li + li { margin-top: 0.35em; }
.legal-tabs__panel-body li::marker { color: var(--oxblood); }
.legal-tabs__acc {
  display: none;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s);
  min-height: 56px;
  padding: 14px 4px;
  border-bottom: 1px solid var(--rule);
  text-align: left;
  font-family: var(--gide-440);
  font-size: var(--gide-f91);
  font-weight: 800;
  line-height: 1.05;
  text-transform: uppercase;
  color: var(--ink);
  transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.legal-tabs__acc > span { min-width: 0; }
.legal-tabs__acc .icon { width: 26px; height: 26px; padding: 4px; border: 1px solid var(--ink); flex: none; transition: transform var(--dur-base) var(--ease-out), background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.legal-tabs__acc:hover { background: var(--paper); color: var(--oxblood); }
.legal-tabs__acc:hover .icon { background: var(--oxblood); color: var(--cream); border-color: var(--oxblood); }
.legal-tabs__acc:active { background: var(--cream-2); }
.legal-tabs__acc:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
.legal-tabs__acc[aria-expanded="true"] { color: var(--oxblood); }
.legal-tabs__acc[aria-expanded="true"] .icon { transform: rotate(180deg); }
.js .legal-tabs__panel[hidden] { display: none; }
@media (min-width: 960px) {
  .legal-tabs__panel { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; }
  .legal-tabs__panel-title { position: sticky; top: 5rem; }
}
@media (max-width: 767px) {
  .legal-tabs__list { display: none; }
  .legal-tabs { border-top: var(--rule-major) solid var(--ink); padding-top: 0; }
  .js .legal-tabs__acc { display: flex; }
  .js .legal-tabs__panel .legal-tabs__panel-title { display: none; }
  .legal-tabs__panel { padding: var(--space-s) 4px var(--space-l); border-bottom: 1px solid var(--rule); }
  .legal-tabs__list + .legal-tabs__panel,
  .legal-tabs__panel:first-of-type { border-top: 0; }
}

.qa { padding-block: var(--space-xl) var(--section); }
.qa__block {
  padding-block: clamp(40px, 7vw, 104px);
  border-top: 1px solid var(--rule);
}
.qa__block:first-child { border-top: var(--rule-major) solid var(--ink); }
.qa__q {
  font-family: var(--gide-440);
  font-weight: 900;
  font-size: clamp(2.2rem, 1rem + 5.4vw, 6.4rem);
  line-height: 0.9;
  letter-spacing: var(--track-hero);
  text-transform: uppercase;
  color: var(--ink);
  max-width: 16ch;
  text-wrap: balance;
}
.qa__q em { font-style: normal; color: var(--oxblood); }
.qa__a {
  margin-top: var(--space-l);
  max-width: 62ch;
  margin-left: auto;
  margin-right: 0;
  font-size: clamp(1.06rem, 1rem + 0.3vw, 1.22rem);
  line-height: 1.65;
}
.qa__a > * + * { margin-top: 1em; }
.qa__a ul { padding-left: 1.2em; }
.qa__a li + li { margin-top: 0.4em; }
.qa__a li::marker { color: var(--oxblood); }
.qa__a code { color: var(--oxblood); background: var(--paper); padding: 0.05em 0.35em; border: 1px solid var(--rule); overflow-wrap: anywhere; }
@media (max-width: 1099px) { .qa__a { margin-left: 0; } }

.numbered { padding-block: var(--section) calc(var(--section) * 1.2); }
.numbered__list { counter-reset: clause; max-width: 1080px; margin-inline: auto; }
.numbered__clause {
  counter-increment: clause;
  position: relative;
  padding: clamp(40px, 6vw, 96px) 0 clamp(40px, 6vw, 96px) clamp(0px, 16vw, 240px);
  border-top: 1px solid var(--rule);
}
.numbered__clause:first-child { border-top: var(--rule-major) solid var(--ink); }
.numbered__clause::before {
  content: counter(clause, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: clamp(28px, 4.4vw, 72px);
  width: clamp(0px, 15vw, 220px);
  font-family: var(--gide-440);
  font-weight: 900;
  font-size: clamp(4rem, 1rem + 11vw, 13rem);
  line-height: 0.78;
  letter-spacing: -0.04em;
  color: var(--oxblood);
  border-bottom: 1px solid var(--gold);
  padding-bottom: 0.08em;
}
.numbered__title { font-size: var(--gide-bbc); text-transform: uppercase; max-width: 22ch; }
.numbered__body { margin-top: var(--space-m); max-width: var(--measure-wide); font-size: clamp(1.04rem, 1rem + 0.25vw, 1.18rem); line-height: 1.7; }
.numbered__body > * + * { margin-top: 1em; }
.numbered__body ul { padding-left: 1.2em; }
.numbered__body li + li { margin-top: 0.4em; }
.numbered__body li::marker { color: var(--oxblood); }
@media (max-width: 759px) {
  .numbered__clause { padding-left: 0; padding-top: var(--space-l); }
  .numbered__clause::before {
    position: static;
    display: block;
    width: auto;
    margin-bottom: var(--space-s);
    font-size: clamp(3.6rem, 22vw, 6rem);
    border-bottom: 0;
  }
}
@media (min-width: 1440px) {
  .numbered__list { max-width: 1180px; }
  .numbered__clause::before { left: -40px; }
}

.legal-table { margin-block: var(--space-m); }
.legal-table .data-table td,
.legal-table .data-table th { font-size: var(--step--1); }
.legal-table .data-table code { color: var(--oxblood); white-space: nowrap; }
.legal-table + .legal-table { margin-top: var(--space-l); }
.signal-list { display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--ink); }
.signal-list > li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px var(--space-s); padding-block: 12px; border-bottom: 1px solid var(--rule); }
.signal-list code { font-family: var(--gide-7c8); color: var(--oxblood); font-size: var(--step--1); }
@media (min-width: 640px) { .signal-list > li { grid-template-columns: 13rem minmax(0, 1fr); } }

.dsar-form { margin-top: var(--space-l); padding: clamp(18px, 3vw, 36px); background: var(--paper); border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); }

.contact-page { padding-block: var(--section-tight) var(--section); }
.contact-page__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl) var(--gutter); }
.contact-page__grid > * { min-width: 0; }
.contact-page__form { background: var(--paper); border: 2px solid var(--ink); padding: clamp(18px, 3vw, 40px); box-shadow: 8px 8px 0 var(--ink); }
@media (min-width: 1000px) { .contact-page__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.map-link { margin-top: var(--space-2xs); }

.notfound { padding-block: var(--section); }
.notfound__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl) var(--gutter); border-top: var(--rule-major) solid var(--ink); padding-top: var(--space-l); }
.notfound__grid > * { min-width: 0; }
.notfound__code {
  margin-top: var(--space-s);
  font-family: var(--gide-440);
  font-weight: 900;
  font-size: clamp(5rem, 30vw, 20rem);
  line-height: 0.78;
  letter-spacing: -0.05em;
  color: var(--oxblood);
}
.notfound h1 { font-size: var(--gide-681); text-transform: uppercase; color: var(--ink); margin-top: var(--space-s); }
.notfound__text { margin-top: var(--space-m); max-width: 46ch; font-size: var(--gide-863); color: var(--brown); }
.notfound__links { display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--ink); }
.notfound__links a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); min-height: 52px; padding: 10px 4px; border-bottom: 1px solid var(--rule); font-family: var(--gide-440); font-size: var(--gide-f91); font-weight: 800; text-transform: uppercase; color: var(--ink); text-decoration: none; transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out); }
.notfound__links a .icon { color: var(--gold); flex: none; }
.notfound__links a:hover { background: var(--paper); color: var(--oxblood); box-shadow: inset 4px 0 0 var(--oxblood); }
.notfound__links a:active { background: var(--cream-2); }
.notfound__links a:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
@media (min-width: 900px) {
  .notfound__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .notfound__side { border-left: 1px solid var(--rule); padding-left: var(--gutter); }
}
@media (min-width: 560px) and (max-width: 899px) { .notfound__links { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--gutter); } }

.thanks { padding-block: var(--section); }
.thanks h1 { font-size: var(--step-hero); text-transform: uppercase; max-width: 10ch; }
.thanks__next { margin-top: var(--space-xl); }
.thanks__figure { margin-top: var(--space-xl); }

.draw-rule { transform-origin: left center; }
.ledger-section { position: relative; }
.ledger-section > .ledger-rule:first-child { margin-bottom: var(--space-l); }

@media (max-width: 359px) {
  .front__lead h1,
  .page-head h1,
  .legal-hero h1,
  .thanks h1 { font-size: 2.45rem; }
  .qa__q { font-size: 2rem; }
  .est-strip__figure { font-size: 2.2rem; }
}


/* ==== Terms: numbered spread — oversized numerals hanging into the left margin ==== */
.numbered--spread {
  padding-block: clamp(3rem, 8vw, 7rem);
}
.numbered--spread .spread__list {
  list-style: none;
  counter-reset: none;
  margin: 0 auto;
  padding: 0 0 0 clamp(6.5rem, 16vw, 13rem);
  max-width: calc(46rem + clamp(6.5rem, 16vw, 13rem));
}
.numbered--spread .numbered__clause {
  position: relative;
  display: block;
  margin: 0;
  padding: 0 0 clamp(3.5rem, 8vw, 6.5rem);
  border: 0;
  grid-template-columns: none;
}
.numbered--spread .numbered__clause::before,
.numbered--spread .numbered__clause::after,
.numbered--spread .numbered__clause::marker {
  content: none;
}
.numbered--spread .numbered__clause + .numbered__clause {
  padding-top: clamp(1.5rem, 3vw, 2.25rem);
  border-top: 1px solid rgba(46, 28, 21, 0.14);
}
.numbered--spread .numbered__title {
  position: static;
  margin: 0 0 1.1rem;
  font-family: "Big Shoulders Display", "Arial Narrow", sans-serif;
  font-weight: 800;
  font-size: clamp(1.6rem, 2.6vw, 2.25rem);
  line-height: 1.05;
  letter-spacing: 0.005em;
  text-transform: uppercase;
  color: var(--ink, #2E1C15);
}
.numbered--spread .spread__num {
  position: absolute;
  left: calc(-1 * clamp(6.5rem, 16vw, 13rem));
  top: clamp(0.25rem, 1vw, 0.75rem);
  width: clamp(5.5rem, 14vw, 11.5rem);
  font-family: "Big Shoulders Display", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: clamp(4.5rem, 11vw, 9.5rem);
  line-height: 0.8;
  letter-spacing: -0.02em;
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: var(--accent, #B4532A);
  opacity: 0.9;
}
.numbered--spread .numbered__clause + .numbered__clause .spread__num {
  top: calc(clamp(1.5rem, 3vw, 2.25rem) + clamp(0.25rem, 1vw, 0.75rem));
}
.numbered--spread .spread__num::after {
  content: ".";
  color: var(--ink, #2E1C15);
  opacity: 0.35;
}
.numbered--spread .spread__text {
  display: block;
}
.numbered--spread .numbered__body {
  max-width: 46rem;
  font-size: clamp(1.02rem, 1.3vw, 1.14rem);
  line-height: 1.72;
}
.numbered--spread .numbered__body p,
.numbered--spread .numbered__body ul {
  margin: 0 0 1.1em;
}
.numbered--spread .numbered__body ul {
  padding-left: 1.2em;
}
.numbered--spread .numbered__body li + li {
  margin-top: 0.4em;
}
.numbered--spread .numbered__body a {
  overflow-wrap: anywhere;
}

@media (max-width: 640px) {
  .numbered--spread .spread__list {
    padding-left: 0;
    max-width: none;
  }
  .numbered--spread .spread__num,
  .numbered--spread .numbered__clause + .numbered__clause .spread__num {
    position: static;
    display: block;
    width: auto;
    margin-bottom: 0.35rem;
    font-size: clamp(3.5rem, 18vw, 4.75rem);
    text-align: left;
  }
  .numbered--spread .numbered__title {
    font-size: clamp(1.4rem, 6.5vw, 1.75rem);
  }
  .numbered--spread .numbered__body {
    font-size: 1rem;
  }
}


/* ==========================================================================
   Terms: numbered-spread architecture. Oversized numerals hang into the
   left margin at display size beside one wide measure of text.
   No index, no side column.
   ========================================================================== */
.numbered--spread {
  padding-block: clamp(48px, 8vw, 128px);
}
.numbered--spread .shell {
  max-width: 1180px;
}
.numbered--spread .spread__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.numbered--spread .numbered__clause {
  display: grid;
  grid-template-columns: clamp(120px, 16vw, 220px) minmax(0, 68ch);
  column-gap: clamp(24px, 4vw, 56px);
  align-items: start;
  padding-block: clamp(40px, 6vw, 88px);
  border-top: 1px solid rgba(46, 28, 21, 0.18);
  scroll-margin-top: 96px;
}
.numbered--spread .numbered__clause:first-child {
  border-top: 0;
  padding-top: 0;
}
.numbered--spread .numbered__title {
  display: contents;
}
.numbered--spread .spread__num {
  grid-column: 1;
  grid-row: 1 / span 2;
  display: block;
  font-family: "Big Shoulders Display", "Arial Narrow", sans-serif;
  font-weight: 900;
  font-size: clamp(88px, 13vw, 200px);
  line-height: 0.8;
  letter-spacing: -0.02em;
  text-align: right;
  color: #2E1C15;
  font-variant-numeric: tabular-nums;
}
.numbered--spread .spread__text {
  grid-column: 2;
  grid-row: 1;
  display: block;
  font-family: "Big Shoulders Display", "Arial Narrow", sans-serif;
  font-weight: 800;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  color: #2E1C15;
  margin: 0 0 clamp(16px, 2vw, 28px);
  padding-top: 0.2em;
}
.numbered--spread .numbered__body {
  grid-column: 2;
  grid-row: 2;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(17px, 1.25vw, 19px);
  line-height: 1.7;
  max-width: 68ch;
  min-width: 0;
}
.numbered--spread .numbered__body p {
  margin: 0 0 1em;
}
.numbered--spread .numbered__body ul {
  margin: 0 0 1.2em;
  padding-left: 1.25em;
}
.numbered--spread .numbered__body li {
  margin-bottom: 0.45em;
}
.numbered--spread .numbered__body a {
  overflow-wrap: anywhere;
}
.numbered--spread .btn-row {
  margin-top: 1.5em;
}

@media (max-width: 820px) {
  .numbered--spread .numbered__clause {
    grid-template-columns: minmax(0, 1fr);
    padding-block: 40px;
  }
  .numbered--spread .spread__num {
    grid-column: 1;
    grid-row: auto;
    text-align: left;
    font-size: clamp(72px, 22vw, 120px);
    margin-bottom: 8px;
  }
  .numbered--spread .spread__text,
  .numbered--spread .numbered__body {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 380px) {
  .numbered--spread .spread__num {
    font-size: 64px;
  }
  .numbered--spread .spread__text {
    font-size: 24px;
  }
  .numbered--spread .numbered__body {
    font-size: 16px;
  }
}

.m-word { margin: 0 !important; padding: 0 !important; overflow: visible !important; }
.m-word__in { transform: none !important; opacity: 1 !important; }
.kicker { position: relative; z-index: 1; }
