.hero {
  position:relative;
  padding-block:clamp(2.75rem, 7vw, 6rem) clamp(2.5rem, 6vw, 5rem);
}

.hero__grid {
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(2rem, 5vw, 4rem);
  min-width:0;
}

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

.hero__kicker {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:var(--s-2) var(--s-5);
  padding-bottom:var(--s-4);
  margin-bottom:clamp(1.5rem, 4vw, 3rem);
  border-bottom:var(--hairline-ink);
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  letter-spacing:var(--tracking-meta);
  text-transform:uppercase;
  color:var(--steel-ink);
}

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

.hero__title {
  font-family:var(--tohu-3a3);
  font-size:var(--step-hero);
  font-weight:500;
  line-height:1.02;
  letter-spacing:-0.03em;
  max-width:15ch;
  text-wrap:balance;
  overflow-wrap:break-word;
}

.hero__title .rotator { letter-spacing:-0.02em; }

.hero__body {
  display:grid;
  gap:var(--s-5);
  align-content:end;
}

.hero__lede {
  font-size:var(--tohu-543);
  line-height:1.5;
  color:var(--ink-soft);
  max-width:44ch;
}

.hero__actions {
  display:flex;
  flex-wrap:wrap;
  gap:var(--s-3);
}

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

.hero__figure { margin-top:clamp(2.5rem, 6vw, 4.5rem); }

.hero__figure .figure__frame { aspect-ratio:16 / 10; }

.hero__figure .figure__frame img { transform-origin:50% 40%; }

@media (min-width: 1000px) {
  .hero__grid {
    grid-template-columns:minmax(0, 8fr) minmax(0, 4fr);
    align-items:end;
  }

  .hero__figure {
    display:grid;
    grid-template-columns:minmax(0, 1fr) 15rem;
    gap:var(--s-6);
    align-items:end;
  }

  .hero__figure .figure__caption {
    grid-template-columns:1fr;
    margin-top:0;
    border-top:0;
    border-left:var(--hairline-ink);
    padding:0 0 0 1rem;
  }
}

@media (max-width: 479.98px) {
  .hero__actions .btn { flex:1 1 100%; }
}

.overview {
  display:grid;
  gap:clamp(2.5rem, 6vw, 4.5rem);
}

.overview__statement {
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-d72);
  line-height:1.2;
  letter-spacing:-0.015em;
  max-width:30ch;
}

.overview__statement em { color:var(--signal-text); }

.overview__cols {
  column-count:1;
  column-gap:clamp(2rem, 5vw, 4rem);
  column-rule:var(--hairline);
  color:var(--ink-soft);
}

.overview__cols p + p { margin-top:1em; }

.overview__cols p { break-inside:avoid-column; }

@media (min-width: 760px) {
  .overview__cols { column-count:2; }
}

.overview__split {
  display:grid;
  gap:clamp(2rem, 5vw, 4rem);
}

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

@media (min-width: 900px) {
  .overview__split { grid-template-columns:minmax(0, 7fr) minmax(0, 5fr); }
}

.refuse {
  position:relative;
  padding:clamp(1.5rem, 3vw, 2.25rem);
  background:var(--slate);
  color:var(--on-dark);
}

.refuse h3 {
  color:var(--on-dark);
  font-size:var(--tohu-24e);
  margin-bottom:var(--s-3);
}

.refuse p {
  color:var(--on-dark-soft);
  max-width:58ch;
}

.refuse p + p { margin-top:0.9em; }

.refuse .eyebrow {
  color:var(--signal-bright);
  margin-bottom:var(--s-3);
}

.refuse-list {
  margin:var(--s-4) 0 0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--rule-dark);
}

.refuse-list li {
  display:grid;
  grid-template-columns:2.25rem minmax(0, 1fr);
  gap:var(--s-3);
  padding-block:0.7rem;
  border-bottom:1px solid var(--rule-dark);

  color:var(--on-dark);
}

.refuse-list li::before {
  content:"\2014";
  font-family:var(--tohu-fae);
  color:var(--signal-bright);
}

.whatwedo {
  display:grid;
  gap:clamp(2.5rem, 6vw, 4rem);
}

.whatwedo__index-head {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:baseline;
  gap:var(--s-2) var(--s-4);
  margin-bottom:var(--s-4);
}

.whatwedo__index-head h3 { font-size:var(--tohu-24e); }

.proof {
  display:grid;
  gap:clamp(2.5rem, 6vw, 4.5rem);
}

.proof-cases {
  display:grid;
  gap:0;
}

.proof-case {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--s-4);
  padding-block:var(--s-6);
  border-top:var(--hairline-ink);
}

.proof-case > * { min-width:0; }

.proof-case__no {
  font-family:var(--tohu-fae);
  font-size:var(--step--1);
  color:var(--signal-text);
}

.proof-case__title {
  font-size:var(--tohu-d72);
  line-height:1.1;
}

.proof-case__client {
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--steel-ink);
  margin-top:0.4rem;
}

@media (min-width: 900px) {
  .proof-case {
    grid-template-columns:4rem minmax(0, 4fr) minmax(0, 8fr);
    gap:var(--s-6);
  }
}

.contact-panel {
  display:grid;
  gap:clamp(2rem, 5vw, 4rem);
}

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

@media (min-width: 900px) {
  .contact-panel { grid-template-columns:minmax(0, 4fr) minmax(0, 8fr); }
}

.contact-card {
  display:grid;
  gap:var(--s-5);
  align-content:start;
}

.contact-card__block {
  display:grid;
  gap:0.35rem;
  padding-top:var(--s-4);
  border-top:var(--hairline);
}

.contact-card__label {
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--steel-ink);
}

.contact-card__value {
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-24e);
  line-height:1.2;
  overflow-wrap:anywhere;
}

.contact-card__value a {
  text-decoration:none;
  box-shadow:inset 0 -1px 0 var(--rule);
  transition:color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}

.contact-card__value a:hover {
  color:var(--signal-text);
  box-shadow:inset 0 -2px 0 var(--signal);
}

.contact-card__value a:active {
  color:var(--ink);
  box-shadow:inset 0 -2px 0 var(--ink);
}

.contact-card__value a:focus-visible {
  outline:2px solid var(--signal);
  outline-offset:3px;
}

.form-sheet {
  padding:clamp(1.25rem, 3vw, 2.5rem);
  background:var(--paper);
  border:var(--hairline-ink);
  box-shadow:8px 8px 0 var(--mist);
}

@media (max-width: 479.98px) {
  .form-sheet {
    box-shadow:none;
    padding:1.1rem;
  }
}

.closing-band {

  background:var(--slate);

  color:var(--on-dark);
  padding-block:var(--section-pad);
  border-top:1px solid var(--slate);
}

.closing-band__inner {
  display:grid;
  gap:var(--s-6);
  align-items:end;
}

.closing-band__inner > * { min-width:0; }

.closing-band__title {
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-182);
  line-height:1.02;
  letter-spacing:-0.028em;
  color:var(--on-dark);
  max-width:16ch;
}

.closing-band__title em { color:var(--signal-bright); }

.closing-band__text {
  color:var(--on-dark-soft);
  max-width:42ch;
}

@media (min-width: 900px) {
  .closing-band__inner { grid-template-columns:minmax(0, 8fr) minmax(0, 4fr); }
}

.page-head { padding-block:clamp(2.5rem, 6vw, 5rem) clamp(2rem, 5vw, 4rem); }

.page-head__grid {
  display:grid;
  gap:clamp(1.5rem, 4vw, 3rem);
}

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

.page-head__title {
  font-size:var(--tohu-182);
  line-height:1.03;
  letter-spacing:-0.026em;
  max-width:18ch;
}

.page-head__title em { color:var(--signal-text); }

.page-head__lede {
  font-size:var(--tohu-543);
  line-height:1.5;
  color:var(--ink-soft);
  max-width:50ch;
}

.page-head__aside {
  display:grid;
  gap:var(--s-4);
  align-content:end;
  padding-top:var(--s-4);
  border-top:var(--hairline-ink);
}

.page-head .breadcrumb { margin-bottom:var(--s-4); }

@media (min-width: 900px) {
  .page-head__grid {
    grid-template-columns:minmax(0, 8fr) minmax(0, 4fr);
    align-items:end;
  }
}

.offer-list {
  display:grid;
  gap:0;
}

.offer {
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.5rem, 4vw, 3.5rem);
  padding-block:clamp(2.5rem, 6vw, 5rem);
  border-top:var(--hairline);
  scroll-margin-top:calc(var(--strip-h) + 4.5rem);
}

.offer:first-child { border-top:var(--hairline-ink); }

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

.offer__media .figure__frame { aspect-ratio:3 / 2; }

.offer__body {
  display:grid;
  gap:var(--s-4);
  align-content:start;
}

.offer__no {
  font-family:var(--tohu-fae);
  font-size:var(--step--1);
  color:var(--signal-text);
}

.offer__title {
  font-size:var(--tohu-69d);
  line-height:1.04;
}

.offer__price {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:0.25rem 0.75rem;
  padding-block:0.75rem;
  border-top:var(--hairline-ink);
  border-bottom:var(--hairline);
  font-family:var(--tohu-fae);
}

.offer__price strong {
  font-size:var(--tohu-543);
  font-weight:500;
  color:var(--ink);
}

.offer__price span {
  font-size:var(--step--2);
  color:var(--steel-ink);
}

.offer__facts {
  margin:0;
  padding:0;
  list-style:none;
}

.offer__facts li {
  display:grid;
  grid-template-columns:1.25rem minmax(0, 1fr);
  gap:0.6rem;
  padding-block:0.5rem;
  border-bottom:var(--hairline);
  font-size:var(--step--1);
}

.offer__facts .icon {
  color:var(--signal-text);
  margin-top:0.25rem;
}

@media (min-width: 900px) {
  .offer { grid-template-columns:minmax(0, 7fr) minmax(0, 5fr); }

  .offer--flip .offer__media { order:2; }

  .offer--flip { grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); }
}

.word-strip {
  padding-block:var(--s-4);
  border-top:var(--hairline);
  border-bottom:var(--hairline);
}

.facts-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  border-top:var(--hairline-ink);
  border-left:var(--hairline);
}

.facts-grid__item {
  display:grid;
  gap:var(--s-2);
  align-content:start;
  padding:var(--s-5);
  border-right:var(--hairline);
  border-bottom:var(--hairline);
  min-width:0;
}

.facts-grid__figure {
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-69d);
  line-height:1;
  letter-spacing:-0.025em;
}

.facts-grid__figure small {
  font-family:var(--tohu-fae);
  font-size:var(--step--1);
  letter-spacing:0;
  color:var(--steel-ink);
  margin-left:0.25rem;
}

.facts-grid__label {
  font-size:var(--step--1);
  color:var(--ink-soft);
}

.work-case {
  padding-block:clamp(3rem, 7vw, 6rem);
  border-top:var(--hairline-ink);
  scroll-margin-top:calc(var(--strip-h) + 4.5rem);
}

.work-case__head {
  display:grid;
  gap:var(--s-3) var(--s-6);
  margin-bottom:clamp(1.5rem, 4vw, 3rem);
}

.work-case__head > * { min-width:0; }

.work-case__no {
  font-family:var(--tohu-3a3);
  font-style:italic;
  font-size:var(--tohu-182);
  line-height:0.9;
  color:var(--signal-text);
}

.work-case__title {
  font-size:var(--tohu-69d);
  line-height:1.05;
  max-width:20ch;
}

.work-case__meta {
  display:flex;
  flex-wrap:wrap;
  gap:var(--s-2);
  margin-top:var(--s-3);
}

@media (min-width: 900px) {
  .work-case__head {
    grid-template-columns:6rem minmax(0, 1fr);
    align-items:start;
  }
}

.work-case__media .figure__frame { aspect-ratio:3 / 2; }

.work-case__body {
  display:grid;
  gap:clamp(1.5rem, 4vw, 3rem);
  margin-top:clamp(2rem, 5vw, 3.5rem);
}

.work-case__body > * { min-width:0; }

.work-case__col {
  display:grid;
  gap:var(--s-3);
  align-content:start;
  padding-top:var(--s-4);
  border-top:var(--hairline);
}

.work-case__col h3 {
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  font-weight:500;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--signal-text);
}

.work-case__col p { color:var(--ink-soft); }

@media (min-width: 900px) {
  .work-case__body { grid-template-columns:repeat(3, minmax(0, 1fr)); }
}

.timeline {
  margin:0;
  padding:0;
  list-style:none;
  border-top:var(--hairline-ink);
}

.timeline__item {
  display:grid;
  grid-template-columns:1fr;
  gap:var(--s-3) var(--s-6);
  padding-block:clamp(1.75rem, 4vw, 3rem);
  border-bottom:var(--hairline);
}

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

.timeline__no {
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-69d);
  line-height:1;
  color:var(--signal-text);
  font-style:italic;
}

.timeline__title {
  font-size:var(--tohu-d72);
  line-height:1.1;
}

.timeline__weeks {
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  margin-top:var(--s-2);
  font-family:var(--tohu-fae);
  font-size:var(--step--1);
  color:var(--steel-ink);
}

.timeline__weeks .icon { color:var(--signal-text); }

.timeline__text { color:var(--ink-soft); }

.timeline__text p + p,
.timeline__text ul { margin-top:0.8em; }

.timeline__bar {
  height:4px;
  margin-top:var(--s-3);
  background:var(--mist);
  position:relative;
}

.timeline__bar span {
  position:absolute;
  top:0;
  bottom:0;
  left:var(--start, 0%);
  width:var(--span, 25%);
  background:var(--signal);
}

@media (min-width: 900px) {
  .timeline__item { grid-template-columns:6rem minmax(0, 5fr) minmax(0, 7fr); }
}

.estimator {
  display:grid;
  gap:clamp(2rem, 5vw, 4rem);
  align-items:start;
}

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

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

.estimator__controls {
  display:grid;
  gap:0;
  border-top:var(--hairline-ink);
}

.est-row {
  display:grid;
  gap:var(--s-3);
  padding-block:var(--s-5);
  border-bottom:var(--hairline);
  min-width:0;
}

.est-row__head {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:baseline;
  gap:var(--s-2) var(--s-4);
}

.est-row__label {
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-24e);
  line-height:1.15;
}

.est-row__value {
  font-family:var(--tohu-fae);
  font-size:var(--tohu-543);
  color:var(--signal-text);
  font-variant-numeric:tabular-nums;
}

.est-row__hint {
  font-size:var(--step--1);
  color:var(--steel-ink);
}

.range {
  width:100%;
  min-height:44px;
  margin:0;
  background:transparent;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
}

.range::-webkit-slider-runnable-track {
  height:2px;
  background:var(--ink);
}

.range::-moz-range-track {
  height:2px;
  background:var(--ink);
}

.range::-moz-range-progress {
  height:2px;
  background:var(--signal);
}

.range::-webkit-slider-thumb {
  -webkit-appearance:none;
  width:22px;
  height:22px;
  margin-top:-10px;
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:0;
  transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}

.range::-moz-range-thumb {
  width:18px;
  height:18px;
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:0;
  transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}

.range:hover::-webkit-slider-thumb {
  border-color:var(--signal);
  box-shadow:0 0 0 5px var(--signal-wash);
}

.range:hover::-moz-range-thumb {
  border-color:var(--signal);
  box-shadow:0 0 0 5px var(--signal-wash);
}

.range:active::-webkit-slider-thumb {
  background:var(--signal);
  border-color:var(--ink);
}

.range:active::-moz-range-thumb {
  background:var(--signal);
  border-color:var(--ink);
}

.range:focus-visible {
  outline:2px solid var(--signal);
  outline-offset:4px;
}

.range__scale {
  display:flex;
  justify-content:space-between;
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  color:var(--steel-ink);
}

.estimator__output {
  position:sticky;
  top:calc(var(--strip-h) + 4.75rem);
  display:grid;
  gap:var(--s-4);
  padding:clamp(1.25rem, 3vw, 2rem);
  background:var(--slate);
  color:var(--on-dark);
  border-top:3px solid var(--signal);
}

@media (max-width: 999.98px) {
  .estimator__output { position:static; }
}

.estimator__label {
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  letter-spacing:var(--tracking-meta);
  text-transform:uppercase;
  color:var(--on-dark-soft);
}

.estimator__band {
  font-family:var(--tohu-fae);
  font-size:clamp(1.5rem, 1.1rem + 2.4vw, 2.6rem);
  font-weight:500;
  line-height:1.1;
  letter-spacing:-0.02em;
  color:var(--paper);
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}

.estimator__weeks {
  font-family:var(--tohu-fae);
  font-size:var(--step--1);
  color:var(--signal-bright);
}

.estimator__breakdown {
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--rule-dark);
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
}

.estimator__breakdown li {
  display:flex;
  justify-content:space-between;
  gap:var(--s-3);
  padding-block:0.55rem;
  border-bottom:1px solid var(--rule-dark);
  color:var(--on-dark-soft);
}

.estimator__breakdown li > * { min-width:0; }

.estimator__breakdown li span:last-child {
  flex:none;
  color:var(--paper);
  font-variant-numeric:tabular-nums;
}

.estimator__breakdown .is-empty { font-style:italic; }

.estimator__note {
  padding-left:var(--s-3);
  border-left:2px solid var(--signal-bright);
  font-size:var(--step--1);
  color:var(--on-dark);
}

.portrait-split {
  display:grid;
  gap:clamp(2rem, 5vw, 4rem);
  align-items:start;
}

.portrait-split > * { min-width:0; }

.portrait-split .figure__frame { aspect-ratio:4 / 5; }

@media (min-width: 900px) {
  .portrait-split { grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); }
}

.roles {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  margin:0;
  padding:0;
  list-style:none;
  border-top:var(--hairline-ink);
}

.roles__item {
  display:grid;
  gap:var(--s-2);
  align-content:start;
  padding:var(--s-5) var(--s-4) var(--s-5) 0;
  border-bottom:var(--hairline);
  min-width:0;
}

.roles__no {
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  color:var(--signal-text);
}

.roles__title {
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-24e);
  line-height:1.12;
}

.roles__text {
  font-size:var(--step--1);
  color:var(--ink-soft);
}

.wide-figure .figure__frame { aspect-ratio:16 / 9; }

@media (max-width: 559.98px) {
  .wide-figure .figure__frame { aspect-ratio:4 / 3; }
}

.contact-layout {
  display:grid;
  gap:clamp(2rem, 5vw, 4rem);
  align-items:start;
}

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

@media (min-width: 1000px) {
  .contact-layout { grid-template-columns:minmax(0, 8fr) minmax(0, 4fr); }

  .contact-layout__aside {
    position:sticky;
    top:calc(var(--strip-h) + 4.75rem);
  }
}

.address-block {
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-24e);
  line-height:1.25;
}

.faq { border-top:var(--hairline-ink); }

.faq__item { border-bottom:var(--hairline); }

.faq__q {
  display:grid;
  grid-template-columns:minmax(0, 1fr) 2.75rem;
  gap:var(--s-4);
  align-items:center;
  width:100%;
  min-height:56px;
  padding:1rem 0.25rem;
  background:transparent;
  border:0;
  text-align:left;
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-543);
  font-weight:500;
  line-height:1.3;
  color:var(--ink);
  cursor:pointer;
  list-style:none;
  transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

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

.faq__q::marker { content:""; }

.faq__icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  justify-self:end;
  width:2.25rem;
  height:2.25rem;
  border:var(--hairline-ink);
  transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-base) var(--ease-out);
}

.faq__icon .icon {
  width:1rem;
  height:1rem;
}

.faq__q:hover {
  background:var(--paper-deep);
  color:var(--signal-text);
}

.faq__q:hover .faq__icon {
  background:var(--ink);
  color:var(--paper);
}

.faq__q:active { background:var(--mist); }

.faq__q:focus-visible {
  outline:2px solid var(--signal);
  outline-offset:-2px;
}

.faq__item[open] .faq__icon,
.faq__q[aria-expanded="true"] .faq__icon {
  transform:rotate(45deg);
  border-color:var(--signal);
  color:var(--signal-text);
}

.faq__item[open] .faq__q:hover .faq__icon { color:var(--paper); }

.faq__item:not([open]) > .faq__a { display:none; }

.faq__a {
  padding:0 3.5rem 1.5rem 0.25rem;
  color:var(--ink-soft);
  max-width:var(--measure);
}

.faq__a p + p { margin-top:0.8em; }

@media (max-width: 479.98px) {
  .faq__a { padding-right:0.25rem; }
}

.mood-frame { margin-block:clamp(2rem, 5vw, 3.5rem); }

.mood-frame .figure__frame { aspect-ratio:21 / 8; }

@media (max-width: 639.98px) {
  .mood-frame .figure__frame { aspect-ratio:3 / 2; }
}

.glance {
  border:var(--hairline-ink);
  background:var(--paper);
  box-shadow:10px 10px 0 var(--mist);
}

.glance__head {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:baseline;
  gap:var(--s-2) var(--s-4);
  padding:var(--s-4) clamp(1rem, 3vw, 1.75rem);
  background:var(--slate);
  color:var(--on-dark);
}

.glance__title {
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-24e);
  color:var(--on-dark);
}

.glance__stamp {
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  color:var(--on-dark-soft);
}

.glance__list {
  margin:0;
  display:grid;
}

.glance__row {
  display:grid;
  grid-template-columns:minmax(0, 15rem) minmax(0, 1fr);
  gap:var(--s-2) var(--s-6);
  padding:1.1rem clamp(1rem, 3vw, 1.75rem);
  border-top:var(--hairline);
  align-items:baseline;
}

.glance__row:nth-child(even) { background:var(--paper-deep); }

.glance__row dt {
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-543);
  font-weight:500;
  line-height:1.25;
}

.glance__row dd {
  margin:0;
  min-width:0;
  color:var(--ink-soft);
}

.glance__row dd a { text-decoration-color:var(--signal); }

.glance__row dd .num { color:var(--ink); }

@media (max-width: 639.98px) {
  .glance { box-shadow:none; }

  .glance__row { grid-template-columns:1fr; }

  .glance__row dt { font-size:var(--tohu-be1); }
}

.glance-prose {
  max-width:var(--measure);
  margin-inline:auto;
  margin-top:clamp(3rem, 7vw, 5.5rem);
}

.glance-prose h2 {
  display:flex;
  gap:0.75rem;
  align-items:baseline;
}

.glance-prose h2 .num {
  font-size:var(--step--1);
  color:var(--signal-text);
  letter-spacing:0;
  flex:none;
}

.ledger-table {
  width:100%;
  border-top:2px solid var(--ink);
  font-size:var(--step--1);
}

.ledger-table caption {
  caption-side:top;
  text-align:left;
  padding-bottom:var(--s-3);
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  letter-spacing:var(--tracking-meta);
  text-transform:uppercase;
  color:var(--steel-ink);
}

.ledger-table thead th {
  padding:0.85rem 1rem 0.85rem 0;
  text-align:left;
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  font-weight:500;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--steel-ink);
  border-bottom:var(--hairline-ink);
}

.ledger-table tbody th,
.ledger-table td {
  padding:1.1rem 1rem 1.1rem 0;
  text-align:left;
  vertical-align:top;
  border-bottom:var(--hairline);
  line-height:1.55;
}

.ledger-table tbody th {
  width:26%;
  font-weight:400;
}

.ledger-table td:first-of-type { width:40%; }

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

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

.clause__no {
  display:block;
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  color:var(--signal-text);
  letter-spacing:0.06em;
  margin-bottom:0.3rem;
}

.clause__name {
  display:block;
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-543);
  font-weight:500;
  line-height:1.25;
  color:var(--ink);
  overflow-wrap:anywhere;
}

.clause__key {
  display:inline-block;
  margin-top:0.4rem;
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  background:var(--mist);
  padding:0.1rem 0.4rem;
  overflow-wrap:anywhere;
}

.ledger-table .why { color:var(--steel-ink); }

.ledger-section { padding-block:var(--s-3) 0; }

.ledger-section + .ledger-section { margin-top:clamp(2.5rem, 6vw, 4rem); }

.ledger-section__head {
  display:grid;
  gap:var(--s-2);
  margin-bottom:var(--s-5);
  max-width:48rem;
}

.ledger-section__head h2 { font-size:var(--tohu-d72); }

.ledger-aside {
  display:grid;
  gap:var(--s-5);
  margin-top:clamp(2.5rem, 6vw, 4rem);
}

@media (min-width: 900px) {
  .ledger-aside { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

.ledger-aside > * {
  min-width:0;
  padding-top:var(--s-4);
  border-top:var(--hairline-ink);
}

.ledger-aside h3 {
  font-size:var(--tohu-24e);
  margin-bottom:var(--s-3);
}

.ledger-aside p + p { margin-top:0.9em; }

@media (max-width: 767.98px) {
  .ledger-table,
  .ledger-table tbody,
  .ledger-table tr,
  .ledger-table th,
  .ledger-table td {
    display:block;
    width:auto;
  }

  .ledger-table thead {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
  }

  .ledger-table tbody tr {
    padding:var(--s-4) 0;
    border-bottom:var(--hairline-ink);
  }

  .ledger-table tbody th,
  .ledger-table td,
  .ledger-table td:first-of-type,
  .ledger-table tbody th {
    width:auto;
    padding:0.4rem 0;
    border:0;
  }

  .ledger-table td[data-label]::before {
    content:attr(data-label);
    display:block;
    margin-bottom:0.2rem;
    font-family:var(--tohu-fae);
    font-size:var(--step--2);
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--steel-ink);
  }

  .bose8e6 > .ledger-table,
  .bose8e6 > .ledger-table > tbody,
  .bose8e6 > .ledger-table tr,
  .bose8e6 > .ledger-table th,
  .bose8e6 > .ledger-table td {
    display:block;
    width:auto;
    min-width:0;
  }

  .ledger-table thead,
  .bose8e6 > .ledger-table > thead { display:none; }

  .ledger-table td + td {
    margin-top:0.4rem;
    padding-top:0.6rem;
    border-top:1px dashed var(--rule);
  }
}

.statute {
  border-top:2px solid var(--ink);
  padding-top:var(--s-5);
}

.statute__masthead {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:var(--s-2) var(--s-5);
  padding-bottom:var(--s-3);
  margin-bottom:var(--s-5);
  border-bottom:var(--hairline);
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--steel-ink);
}

.statute__body {
  column-count:1;
  column-gap:clamp(2rem, 4vw, 3.5rem);
  column-rule:1px solid var(--rule);
  font-size:1rem;
  line-height:1.58;
  text-align:left;
  hyphens:auto;
  -webkit-hyphens:auto;
}

@media (min-width: 900px) {
  .statute__body {
    column-count:2;
    text-align:justify;
  }
}

.statute__part {
  break-before:auto;
  margin-top:var(--s-6);
  margin-bottom:var(--s-3);
  padding-top:var(--s-3);
  border-top:var(--hairline-ink);
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-24e);
  line-height:1.15;
  break-after:avoid;
  text-align:left;
}

.statute__part:first-child { margin-top:0; }

.statute__part .num {
  display:block;
  font-size:var(--step--2);
  letter-spacing:0.1em;
  color:var(--signal-text);
  margin-bottom:0.2rem;
}

.statute__body p {
  margin:0;
  orphans:3;
  widows:3;
}

.statute__body p + p { margin-top:0.75em; }

.statute__body p + .statute__part { margin-top:var(--s-6); }

.runin {
  font-variant-caps:all-small-caps;
  font-weight:600;
  letter-spacing:0.07em;
  color:var(--ink);
  margin-right:0.35em;
}

.runin .num {
  font-variant-caps:normal;
  font-size:0.82em;
  font-weight:500;
  color:var(--signal-text);
  margin-right:0.35em;
  letter-spacing:0;
}

.statute__body ul,
.statute__body ol {
  margin:0.6em 0 0;
  padding-left:1.2em;
}

.statute__body li + li { margin-top:0.3em; }

.statute__body a {
  text-decoration-color:var(--signal);
  overflow-wrap:anywhere;
}

.statute__sign {
  margin-top:var(--s-6);
  padding-top:var(--s-4);
  border-top:var(--hairline);
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  color:var(--steel-ink);
}

.lost {
  display:grid;
  gap:var(--s-6);
  padding-block:clamp(4rem, 12vw, 9rem);
}

.lost__code {
  font-family:var(--tohu-fae);
  font-size:var(--step--1);
  letter-spacing:var(--tracking-meta);
  color:var(--steel-ink);
  text-transform:uppercase;
}

.lost__title {
  font-family:var(--tohu-3a3);
  font-size:var(--step-hero);
  line-height:1.02;
  letter-spacing:-0.03em;
  max-width:14ch;
}

.lost__links {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  border-top:var(--hairline-ink);
}

.lost__links a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--s-3);
  min-height:56px;
  padding:1rem 0.5rem;
  border-bottom:var(--hairline);
  font-family:var(--tohu-3a3);
  font-size:var(--tohu-543);
  text-decoration:none;
  color:var(--ink);
  transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.lost__links a:hover {
  background:var(--paper-deep);
  color:var(--signal-text);
}

.lost__links a:active {
  background:var(--mist);
  color:var(--ink);
}

.lost__links a:focus-visible {
  outline:2px solid var(--signal);
  outline-offset:-2px;
  box-shadow:none;
}

.thanks {
  display:grid;
  gap:var(--s-6);
  padding-block:clamp(4rem, 10vw, 8rem);
}

.thanks__ref {
  display:inline-grid;
  gap:0.3rem;
  justify-self:start;
  padding:var(--s-4) var(--s-5);
  border:var(--hairline-ink);
  border-left:3px solid var(--signal);
  background:var(--paper);
}

.thanks__ref-label {
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--steel-ink);
}

.thanks__ref-value {
  font-family:var(--tohu-fae);
  font-size:var(--tohu-d72);
  font-weight:500;
  color:var(--ink);
  overflow-wrap:anywhere;
}

.next-steps {
  margin:0;
  padding:0;
  list-style:none;
  border-top:var(--hairline-ink);
  max-width:48rem;
}

.next-steps li {
  display:grid;
  grid-template-columns:3rem minmax(0, 1fr);
  gap:var(--s-3);
  padding-block:var(--s-4);
  border-bottom:var(--hairline);
}

.next-steps__no {
  font-family:var(--tohu-fae);
  font-size:var(--step--1);
  color:#0b5a5d;
}

.section-head {
  display:grid;
  gap:var(--s-3);
  margin-bottom:clamp(2rem, 5vw, 3.5rem);
}

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

@media (min-width: 900px) {
  .section-head--split {
    grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
    align-items:end;
    gap:var(--s-6);
  }
}

.section-head h2 em { color:var(--signal-text); }

.pull {
  font-family:var(--tohu-3a3);
  font-style:italic;
  font-size:var(--tohu-d72);
  line-height:1.2;
  letter-spacing:-0.01em;
  max-width:28ch;
  padding-left:var(--s-5);
  border-left:2px solid var(--signal);
  text-indent:-0.4em;
}

.section--slate .pull {
  color:var(--on-dark);
  border-left-color:var(--signal-bright);
}

.budget {
  display:grid;
  gap:var(--s-2);
  margin-top:var(--s-4);
}

.budget__row {
  display:grid;
  grid-template-columns:minmax(0, 9rem) minmax(0, 1fr) auto;
  gap:var(--s-3);
  align-items:center;
  font-family:var(--tohu-fae);
  font-size:var(--step--2);
}

.budget__track {
  height:10px;
  background:var(--mist);
  position:relative;
  min-width:0;
}

.budget__fill {
  position:absolute;
  inset:0 auto 0 0;
  width:var(--w, 50%);
  background:var(--slate);
}

.budget__row--ours .budget__fill { background:var(--signal); }

@media (max-width: 479.98px) {
  .budget__row { grid-template-columns:minmax(0, 1fr) auto; }

  .budget__track {
    grid-column:1 / -1;
    order:3;
  }
}

@media print {
  .tabs__rail,
  .closing-band,
  .estimator__output .btn { display:none !important; }

  .statute__body { column-count:2; }
}


/* Privacy: summary-first at-a-glance panel, then one measure of prose */
.ataglance{margin:0 0 clamp(2rem,5vw,3.5rem);border:1px solid rgba(52,68,87,.28);border-top:4px solid #344457;background:rgba(52,68,87,.035);max-width:62rem}
.ataglance__table{width:100%;border-collapse:collapse;table-layout:fixed}
.ataglance__caption{caption-side:top;text-align:left;padding:1.1rem clamp(1rem,3vw,1.75rem);border-bottom:1px solid rgba(52,68,87,.28);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1.5rem}
.ataglance__title{font-family:"Bodoni Moda",Georgia,serif;font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:500;line-height:1.2;color:#344457}
.ataglance__stamp{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;opacity:.75}
.ataglance__table th,.ataglance__table td{padding:.85rem clamp(1rem,3vw,1.75rem);vertical-align:top;text-align:left;border-bottom:1px solid rgba(52,68,87,.16);overflow-wrap:anywhere}
.ataglance__table tr:last-child th,.ataglance__table tr:last-child td { border-bottom:0; }
.ataglance__table th{width:30%;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.78rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:#344457}
.ataglance__table td{font-size:1rem;line-height:1.55}
.ataglance-prose{max-width:42rem;margin-inline:auto}
.ataglance-prose section { scroll-margin-top:6rem; }
@media (max-width:640px){
  .ataglance__table,.ataglance__table tbody,.ataglance__table tr,.ataglance__table th,.ataglance__table td{display:block;width:100%}
  .ataglance__caption{display:flex;flex-direction:column}
  .ataglance__table th{padding-bottom:.2rem;border-bottom:0}
  .ataglance__table td { padding-top:0; }
}

/* Terms: dense two-column statute measure */
.statute__body--columns{column-count:1;column-gap:clamp(2rem,4vw,3.25rem);column-rule:1px solid rgba(52,68,87,.3);font-size:.98rem;line-height:1.55;text-align:left;hyphens:auto}
.statute__body--columns p{orphans:3;widows:3;margin:0 0 .85em}
.statute__body--columns section { break-inside:auto; }
.statute__body--columns .statute__part{column-span:all;break-after:avoid;margin:1.75rem 0 1rem;padding-top:.75rem;border-top:2px solid #344457}
.statute__body--columns .statute__part:first-child { margin-top:0; }
.statute__body--columns .runin{font-variant:small-caps;font-weight:600;letter-spacing:.03em;margin-right:.4em;color:#344457}
.statute__body--columns .runin .num{font-variant:normal;margin-right:.35em}
@media (min-width:900px){
  .statute__body--columns{column-count:2;text-align:justify}
}
@media (max-width:480px){
  .statute__body--columns{font-size:1rem;hyphens:manual}
}

/* ---- Terms: dense two-column statute measure ---- */
.statute__body--columns {
  column-count:2;
  columns:2;
  column-gap:clamp(2rem, 4vw, 3.5rem);
  column-rule:1px solid color-mix(in srgb, currentColor 28%, transparent);
  column-fill:balance;
  max-width:none;
  font-size:0.97rem;
  line-height:1.55;
  hyphens:auto;
  -webkit-hyphens:auto;
  text-align:justify;
  text-wrap:pretty;
}
.statute__body--columns > section,
.statute__body--columns > p { margin:0; }
.statute__body--columns p {
  margin:0 0 0.85em;
  orphans:3;
  widows:3;
  break-inside:avoid-column;
}
.statute__body--columns .statute__part {
  column-span:all;
  -webkit-column-span:all;
  margin:1.75rem 0 1rem;
  padding-top:0.75rem;
  border-top:2px solid currentColor;
  text-align:left;
  break-after:avoid;
}
.statute__body--columns .statute__part:first-child { margin-top:0; }
.statute__body--columns .runin {
  font-variant-caps:all-small-caps;
  font-weight:600;
  letter-spacing:0.04em;
  margin-right:0.45em;
}
.statute__body--columns .runin .num {
  margin-right:0.4em;
  font-variant-caps:normal;
  font-variant-numeric:tabular-nums;
}
.statute__body--columns a { overflow-wrap:anywhere; }
@media (max-width: 860px) {
  .statute__body--columns {
    column-count:1;
    columns:1;
    column-rule:none;
    text-align:left;
    hyphens:manual;
  }
}
@media (max-width: 400px) {
  .statute__body--columns { font-size:0.95rem; }
  .statute__masthead {
    flex-wrap:wrap;
    gap:0.25rem 1rem;
  }
}
