/* ==========================================================================
   Avodah Traffic — page sections
   Home masthead + interior pages. Shared chrome lives in styles.css.
   ========================================================================== */

/* ---------- home: masthead hero ---------- */

.masthead {
  background: var(--aubergine);
  padding: 64px var(--pad-x) 72px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}
.masthead__photo, .masthead__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.masthead__photo { object-fit: cover; object-position: center right; }
.masthead__scrim { background: linear-gradient(90deg, rgba(45, 27, 34, 0.97) 0%, rgba(45, 27, 34, 0.88) 44%, rgba(45, 27, 34, 0.34) 100%); }
.masthead > :not(.masthead__photo, .masthead__scrim) { position: relative; z-index: 1; }
.masthead__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 72px;
}
.masthead__title {
  font-size: clamp(56px, 7vw, 100px);
  line-height: 1.06;
  letter-spacing: -0.02em;
  color: var(--travertine);
  margin-bottom: 64px;
}
.masthead__rule { height: 1px; background: var(--hairline-light); }
.masthead__deck {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 72px;
  padding-top: 32px;
}
.masthead__meta {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 280px;
  flex-shrink: 0;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ivory-70);
}
.masthead__body {
  font-size: 17px;
  line-height: 1.6;
  color: var(--ivory-85);
  max-width: 560px;
}
.masthead__deck .btn-stack { flex-shrink: 0; }
.attorney-band__actions { display: flex; flex-wrap: wrap; gap: 28px; align-items: center; }

@media (max-width: 1150px) and (min-width: 901px) {
  .masthead__meta { width: 180px; }
  .masthead__deck { gap: 48px; }
}

/* ---------- quick start strip ---------- */

.quick-strip { background: var(--travertine); padding: 60px var(--pad-x) 76px; }
.quick-strip__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0 36px;
}
.quick-strip__meta img { width: 24px; }
.quick-strip__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 64px;
  margin-bottom: 40px;
}
.quick-strip__head h2 { font-size: 34px; line-height: 1.18; }
.quick-strip__head p {
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink-60);
  max-width: 400px;
  text-align: right;
}
.quick-strip__facts { display: flex; align-items: center; }
.fact {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1 1 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 22px;
}
.fact + .fact { border-left: 1px solid var(--hairline-dark); padding-left: 32px; }

/* ---------- compact first-step review ---------- */

.quick-review {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
  gap: 88px;
  padding: 110px var(--pad-x);
  background: #ebe3d9;
}
.quick-review__intro .eyebrow { margin-bottom: 22px; }
.quick-review__intro h2 { font-size: 46px; line-height: 1.14; margin-bottom: 24px; }
.quick-review__intro p { max-width: 560px; color: var(--ink-60); font-size: 17px; line-height: 1.58; }
.quick-review__form {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 36px;
  border: 1px solid var(--hairline-mid);
  background: var(--travertine);
}
.quick-review__form > label, .quick-review__row label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.quick-review__form input[type="text"], .quick-review__form input[type="tel"] {
  min-width: 0;
  border: 0;
  border-bottom: 1px solid var(--hairline-mid);
  background: transparent;
  padding: 10px 0 11px;
  color: var(--aubergine);
  font: 16px var(--font-sans);
}
.quick-review__row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.quick-review__consent { flex-direction: row !important; align-items: flex-start; text-transform: none !important; letter-spacing: 0 !important; }
.quick-review__consent input { margin-top: 3px; accent-color: var(--aubergine); }
.quick-review__consent span, .preview-form-notice { color: var(--ink-60); font-size: 13px; line-height: 1.5; }
.quick-review__form .btn { align-self: flex-start; margin-top: 4px; }

/* ---------- choose the charge ---------- */

.charges { background: var(--travertine); padding: 130px var(--pad-x); }
.charges__head { max-width: 720px; margin-bottom: 64px; }
.charges__head .eyebrow { margin-bottom: 20px; }
.charges__head h2 { font-size: 48px; line-height: 1.13; }
.charges__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.charge-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid var(--hairline-mid);
  padding: 28px 26px 26px;
  transition: border-color 0.35s var(--ease-out);
}
.charge-card:hover { border-color: var(--aubergine); }
.charge-card__tag {
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--signal);
  border: 1px solid rgba(203, 78, 49, 0.55);
  padding: 6px 10px;
  margin-bottom: 26px;
}
.charge-card h3 { font-size: 26px; line-height: 1.23; margin-bottom: 14px; }
.charge-card p { font-size: 15px; line-height: 1.53; color: var(--ink-60); flex-grow: 1; margin-bottom: 30px; }
.charge-card .btn { width: 100%; justify-content: space-between; }

/* ---------- three details band ---------- */

.details-band {
  background: var(--cypress);
  padding: 110px var(--pad-x) 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.details-band__crest { width: 54px; }
.details-band h2 {
  font-size: 52px;
  line-height: 1.15;
  color: var(--travertine);
  text-align: center;
  max-width: 820px;
  margin: 34px 0 76px;
}
.details-band__row { display: flex; width: 100%; max-width: 1200px; }
.detail { flex: 1 1 0; display: flex; flex-direction: column; }
.detail:first-child { padding-right: 44px; }
.detail:nth-child(2) { padding: 0 22px; }
.detail:last-child { padding-left: 44px; }
.detail .knot-line { height: 10px; }
.detail h3 { font-size: 44px; line-height: 1.14; color: var(--travertine); margin: 30px 0 16px; }
.detail p { font-size: 16px; line-height: 1.56; color: var(--ivory-85); }

/* ---------- consequence + audience chips ---------- */

.consequence { background: var(--travertine); padding: 130px var(--pad-x); display: flex; gap: 88px; align-items: flex-start; }
.consequence__intro { width: 560px; flex-shrink: 0; }
.consequence__intro .eyebrow { margin-bottom: 22px; }
.consequence__intro h2 { font-size: 48px; line-height: 1.13; margin-bottom: 26px; }
.consequence__intro p { font-size: 17px; line-height: 1.53; color: var(--ink-60); }
.consequence__chips { display: flex; flex-wrap: wrap; gap: 14px; align-content: flex-start; padding-top: 76px; }
.chip {
  font-size: 14px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: 1px solid rgba(45, 27, 34, 0.4);
  padding: 14px 22px;
  transition: background-color 0.3s var(--ease-out), color 0.3s var(--ease-out);
}
.chip:hover { background: var(--aubergine); color: var(--travertine); }

/* ---------- process (home) — signal band, stair-step cascade ---------- */

/* ---------- statewide coverage ---------- */

.coverage { display: grid; grid-template-columns: 1fr 1fr; background: var(--travertine); }
.coverage__visual {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  background: var(--aubergine);
  color: var(--travertine);
}
.coverage__visual img { width: 100%; height: 100%; object-fit: cover; }
.coverage__photo-label {
  position: absolute;
  left: 28px;
  bottom: 26px;
  padding: 10px 12px;
  background: rgba(45, 27, 34, .88);
  color: var(--travertine);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.coverage__copy { padding: 100px 7vw; display: flex; flex-direction: column; justify-content: center; }
.coverage__copy .eyebrow { margin-bottom: 22px; }
.coverage__copy h2 { font-size: 46px; line-height: 1.14; margin-bottom: 26px; }
.coverage__copy > p { color: var(--ink-60); font-size: 17px; line-height: 1.58; margin-bottom: 38px; }
.coverage__offices { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; padding-top: 26px; border-top: 1px solid var(--hairline-dark); }
.coverage__offices span { display: block; margin-bottom: 10px; color: var(--signal); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.coverage__offices address { font-style: normal; font-size: 14px; line-height: 1.55; }

.process { background: var(--signal); padding: 100px var(--pad-x) 110px; }
.process__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  margin-bottom: 60px;
}
.process__head .eyebrow { margin-bottom: 20px; }
.process__head h2 { font-size: 48px; line-height: 1.13; color: var(--travertine); }
.process__row { display: flex; gap: 40px; }
.pstep {
  flex: 1 1 0;
  border-top: 1px solid rgba(243, 238, 231, 0.35);
  padding-top: 22px;
}
.pstep:nth-child(2) { padding-top: 66px; }
.pstep:nth-child(3) { padding-top: 110px; }
.pstep:nth-child(4) { padding-top: 154px; }
.pstep__num {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 54px;
  line-height: 1;
  color: var(--travertine);
  display: block;
  margin-bottom: 22px;
}
.pstep h3 { font-size: 25px; line-height: 1.2; color: var(--travertine); margin-bottom: 12px; }
.pstep p { font-size: 15px; line-height: 1.53; color: var(--ivory-85); }

/* ---------- attorney band (home) ---------- */

.attorney-band { display: flex; align-items: stretch; background: var(--aubergine); }
.attorney-band__photo { position: relative; width: 560px; flex-shrink: 0; overflow: hidden; }
.attorney-band__photo img { width: 100%; height: 100%; object-fit: cover; }
.attorney-band__profile {
  flex-grow: 1;
  padding: 110px 96px 110px 88px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.attorney-band__profile .eyebrow { margin-bottom: 26px; }
.attorney-band__profile h2 { font-size: 46px; line-height: 1.17; color: var(--travertine); margin-bottom: 26px; }
.attorney-band__profile > p { font-size: 17px; line-height: 1.6; color: var(--ivory-85); margin-bottom: 38px; }
.cred-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 44px; }
.cred-row span {
  font-size: 12.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ivory-70);
}
.cred-row i {
  width: 5px;
  height: 5px;
  background: rgba(243, 238, 231, 0.5);
  transform: rotate(45deg);
}

/* ---------- insights teasers (home) ---------- */

.insights { background: var(--travertine); padding: 120px var(--pad-x) 110px; }
.insights__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  margin-bottom: 52px;
}
.insights__head .eyebrow { margin-bottom: 20px; }
.insights__head h2 { font-size: 48px; line-height: 1.13; }
.insights__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; border-top: 1px solid var(--hairline-dark); }
.teaser { padding-top: 26px; }
.teaser__tag {
  display: block;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--signal);
  margin-bottom: 16px;
}
.teaser h3 { font-size: 24px; line-height: 1.29; margin-bottom: 14px; }
.teaser p { font-size: 15px; line-height: 1.53; color: var(--ink-60); }

/* ==========================================================================
   Closing CTA variants — one per page
   ========================================================================== */

/* home + serious: cypress two-column with phone block */
.cta-cypress { display: flex; align-items: stretch; background: var(--cypress); }
.cta-cypress__body {
  flex-grow: 1;
  padding: 104px 96px 96px var(--pad-x);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.cta-cypress__body .eyebrow { margin-bottom: 30px; }
.cta-cypress__body h2 { font-size: 54px; line-height: 1.12; color: var(--travertine); max-width: 680px; margin-bottom: 24px; }
.cta-cypress__body p { font-size: 17px; line-height: 1.53; color: var(--ivory-85); max-width: 620px; margin-bottom: 44px; }
.cta-cypress__divider { width: 1px; background: rgba(243, 238, 231, 0.35); flex-shrink: 0; }
.cta-cypress__phone {
  width: 400px;
  flex-shrink: 0;
  padding: 48px 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.cta-cypress__phone img { width: 46px; margin-bottom: 24px; }
.cta-cypress__phone .eyebrow { font-size: 12px; letter-spacing: 0.2em; margin-bottom: 18px; }
.cta-cypress__phone small {
  display: block;
  margin-top: 20px;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ivory-70);
}

/* dui: aubergine + photo split */
.cta-split { display: flex; align-items: stretch; }
.cta-split__body {
  flex-grow: 1;
  background: var(--aubergine);
  padding: 104px 88px 104px var(--pad-x);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.cta-split__body .eyebrow { margin-bottom: 26px; }
.cta-split__body h2 { font-size: 50px; line-height: 1.14; color: var(--travertine); max-width: 640px; margin-bottom: 24px; }
.cta-split__body p { font-size: 16.5px; line-height: 1.57; color: var(--ivory-85); max-width: 560px; margin-bottom: 44px; }
.cta-split__photo { position: relative; width: 520px; flex-shrink: 0; overflow: hidden; }
.cta-split__photo img { width: 100%; height: 100%; object-fit: cover; }

/* reckless: full-bleed signal orange */
.cta-orange { background: var(--signal); padding: 104px var(--pad-x) 96px; }
.cta-orange .eyebrow { margin-bottom: 30px; }
.cta-orange__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 96px;
}
.cta-orange h2 { font-size: 54px; line-height: 1.13; color: var(--travertine); max-width: 800px; margin-bottom: 24px; }
.cta-orange p { font-size: 16.5px; line-height: 1.57; color: var(--ivory-85); max-width: 640px; }

/* speeding: aubergine call-first */
.cta-call { display: flex; align-items: center; gap: 96px; background: var(--aubergine); padding: 104px var(--pad-x); }
.cta-call__main { flex-grow: 1; display: flex; flex-direction: column; align-items: flex-start; }
.cta-call__main .eyebrow { margin-bottom: 26px; }
.cta-call__main h2 { font-size: 48px; line-height: 1.15; color: var(--travertine); max-width: 660px; margin-bottom: 24px; }
.cta-call__main p { font-size: 16.5px; line-height: 1.57; color: var(--ivory-85); max-width: 560px; margin-bottom: 40px; }
.cta-call__rail {
  width: 460px;
  flex-shrink: 0;
  border-left: 1px solid var(--hairline-light);
  padding-left: 64px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.cta-call__rail .eyebrow { font-size: 12px; letter-spacing: 0.2em; }
.cta-call__number {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 42px;
  line-height: 1.2;
  color: var(--travertine);
  white-space: nowrap;
}
.cta-call__rail small { font-size: 13px; line-height: 1.54; color: var(--ivory-70); max-width: 320px; }

/* what happens next: travertine document CTA */
.cta-document { background: var(--travertine); padding: 96px var(--pad-x) 110px; }
.cta-document__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0 48px;
}
.cta-document__meta img { width: 24px; }
.cta-document__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 96px;
}
.cta-document h2 { font-size: 54px; line-height: 1.13; max-width: 700px; margin-bottom: 22px; }
.cta-document p { font-size: 16.5px; line-height: 1.57; color: var(--ink-60); max-width: 620px; }

/* mark: inset orange panel */
.cta-inset { background: var(--travertine); padding: 72px 64px; }
.cta-inset__panel {
  background: var(--signal);
  padding: 96px 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.cta-inset__panel img { width: 50px; margin-bottom: 28px; }
.cta-inset__panel h2 { font-size: 50px; line-height: 1.14; color: var(--travertine); max-width: 760px; margin-bottom: 22px; }
.cta-inset__panel p { font-size: 16.5px; line-height: 1.57; color: var(--ivory-85); max-width: 620px; margin-bottom: 40px; }

/* insights: slim hairline row */
.cta-slim { background: var(--travertine); padding: 0 var(--pad-x) 110px; }
.cta-slim__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 96px;
  border-top: 1px solid var(--hairline-mid);
  border-bottom: 1px solid var(--hairline-mid);
  padding: 44px 0;
}
.cta-slim__row .eyebrow { font-size: 12px; letter-spacing: 0.18em; margin-bottom: 12px; }
.cta-slim h3 { font-size: 32px; line-height: 1.25; max-width: 760px; }

/* ==========================================================================
   Interior page sections
   ========================================================================== */

/* ---------- shared interior hero bits ---------- */

.hero-int { display: flex; flex-direction: column; }
.hero-int--aubergine { background: var(--aubergine); }
.hero-int--cypress { background: var(--cypress); }
.hero-int h1 { letter-spacing: -0.02em; color: var(--travertine); }

/* dui: statute rail hero */
.hero-dui { display: flex; gap: 80px; background: var(--aubergine); padding: 88px var(--pad-x); }
.hero-dui__main { flex-grow: 1; display: flex; flex-direction: column; align-items: flex-start; }
.hero-dui__main .eyebrow { margin-bottom: 30px; }
.hero-dui__main h1 { font-size: 64px; line-height: 1.13; letter-spacing: -0.02em; color: var(--travertine); max-width: 780px; margin-bottom: 30px; }
.hero-dui__main > p { font-size: 17px; line-height: 1.6; color: var(--ivory-85); max-width: 620px; margin-bottom: 48px; }
.statute-rail {
  width: 300px;
  flex-shrink: 0;
  border-left: 1px solid var(--hairline-light);
  padding-left: 44px;
  padding-top: 6px;
  display: flex;
  flex-direction: column;
}
.statute-rail__tag {
  align-self: flex-start;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--travertine);
  border: 1px solid rgba(243, 238, 231, 0.6);
  padding: 7px 12px;
}
.statute-rail__label {
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ivory-70);
  margin: 34px 0 16px;
}
.statute-rail li {
  list-style: none;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 20px;
  color: var(--travertine);
  border-top: 1px solid rgba(243, 238, 231, 0.22);
  padding: 14px 0;
}

/* reckless: staggered hero + statute baseline */
.hero-reckless { background: var(--cypress); padding: 88px var(--pad-x) 0; display: flex; flex-direction: column; }
.hero-reckless__cols { display: flex; gap: 96px; align-items: flex-end; padding-bottom: 72px; }
.hero-reckless__left { flex-grow: 1; }
.hero-reckless__left .eyebrow { margin-bottom: 30px; }
.hero-reckless__left h1 { font-size: 68px; line-height: 1.12; letter-spacing: -0.02em; color: var(--travertine); max-width: 700px; }
.hero-reckless__right { width: 420px; flex-shrink: 0; display: flex; flex-direction: column; gap: 40px; align-items: flex-start; }
.hero-reckless__right p { font-size: 16.5px; line-height: 1.57; color: var(--ivory-85); }
.statute-baseline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--hairline-light);
  padding: 22px 0 26px;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ivory-70);
}

/* speeding: travertine document hero */
.hero-doc { background: var(--travertine); padding: 72px var(--pad-x) 88px; }
.hero-doc__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0 64px;
}
.hero-doc__tag {
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border: 1px solid rgba(45, 27, 34, 0.4);
  padding: 7px 12px;
}
.hero-doc__cols { display: flex; gap: 96px; align-items: flex-end; }
.hero-doc h1 { font-size: 66px; line-height: 1.12; letter-spacing: -0.02em; max-width: 760px; flex-grow: 1; }
.hero-doc__right { width: 420px; flex-shrink: 0; display: flex; flex-direction: column; gap: 36px; align-items: flex-start; }
.hero-doc__right p { font-size: 16.5px; line-height: 1.57; color: var(--ink-60); }

/* serious: aubergine hero, H1 left / body right */
.hero-serious { background: var(--aubergine); padding: 88px var(--pad-x) 80px; }
.hero-serious .eyebrow { margin-bottom: 40px; }
.hero-serious__cols { display: flex; gap: 96px; align-items: flex-start; }
.hero-serious__left { flex-grow: 1; display: flex; flex-direction: column; gap: 44px; align-items: flex-start; }
.hero-serious h1 { font-size: 68px; line-height: 1.12; letter-spacing: -0.02em; color: var(--travertine); max-width: 720px; }
.hero-serious__cols > p { width: 420px; flex-shrink: 0; font-size: 16.5px; line-height: 1.57; color: var(--ivory-85); padding-top: 10px; }

/* what happens next: hero + progress strip */
.hero-whn { background: var(--aubergine); padding: 88px var(--pad-x) 0; }
.hero-whn__cols { display: flex; justify-content: space-between; align-items: flex-start; gap: 96px; padding-bottom: 80px; }
.hero-whn__left .eyebrow { margin-bottom: 30px; }
.hero-whn h1 { font-size: 72px; line-height: 1.11; letter-spacing: -0.02em; color: var(--travertine); max-width: 720px; }
.hero-whn__right { width: 420px; flex-shrink: 0; display: flex; flex-direction: column; gap: 36px; align-items: flex-start; padding-top: 10px; }
.hero-whn__right p { font-size: 16.5px; line-height: 1.57; color: var(--ivory-85); }
.progress-strip {
  display: flex;
  align-items: center;
  border-top: 1px solid var(--hairline-light);
  padding: 24px 0 28px;
}
.progress-strip__label {
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--travertine);
  padding-right: 28px;
  flex-shrink: 0;
}
.progress-strip__track { display: flex; align-items: center; gap: 14px; flex-grow: 1; }
.progress-strip__track span {
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--ivory-70);
  white-space: nowrap;
}
.progress-strip__track i { flex-grow: 1; height: 1px; background: var(--hairline-light); }

/* mark: split profile hero (cypress) */
.hero-mark { display: flex; align-items: stretch; background: var(--cypress); }
.hero-mark__main {
  flex-grow: 1;
  padding: 100px 88px 100px var(--pad-x);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.hero-mark__main .eyebrow { margin-bottom: 30px; }
.hero-mark h1 { font-size: 62px; line-height: 1.13; letter-spacing: -0.02em; color: var(--travertine); max-width: 640px; margin-bottom: 28px; }
.hero-mark__main > p { font-size: 17px; line-height: 1.6; color: var(--ivory-85); max-width: 600px; margin-bottom: 44px; }
.hero-mark__photo { position: relative; width: 480px; flex-shrink: 0; overflow: hidden; }
.hero-mark__photo img { width: 100%; height: 100%; object-fit: cover; }

/* insights: editorial hero + filters */
.hero-insights { background: var(--travertine); padding: 88px var(--pad-x) 0; }
.hero-insights__cols {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 96px;
  padding-bottom: 56px;
}
.hero-insights .eyebrow { margin-bottom: 28px; }
.hero-insights h1 { font-size: 68px; line-height: 1.12; letter-spacing: -0.02em; max-width: 780px; }
.hero-insights__cols > p { width: 380px; flex-shrink: 0; font-size: 16px; line-height: 1.56; color: var(--ink-60); }
.filters {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  border-top: 1px solid var(--hairline-dark);
  padding: 24px 0 56px;
}
.filter {
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: 1px solid rgba(45, 27, 34, 0.4);
  padding: 10px 18px;
  cursor: pointer;
  transition: background-color 0.3s var(--ease-out), color 0.3s var(--ease-out);
}
.filter:hover { background: var(--aubergine); color: var(--travertine); border-color: var(--aubergine); }
.filter.is-active { background: var(--aubergine); color: var(--travertine); border-color: var(--aubergine); }

/* contact: cypress hero */
.hero-contact {
  background: var(--cypress);
  padding: 80px var(--pad-x) 64px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 96px;
}
.hero-contact__left .eyebrow { margin-bottom: 28px; }
.hero-contact h1 { font-size: 58px; line-height: 1.14; letter-spacing: -0.02em; color: var(--travertine); max-width: 760px; }
.hero-contact > p { width: 420px; flex-shrink: 0; font-size: 16px; line-height: 1.56; color: var(--ivory-85); }

/* ---------- interior: section shells ---------- */

.section { background: var(--travertine); padding: 120px var(--pad-x); }
.section--flush-btm { padding-bottom: 0; }
.section--flush-top { padding-top: 0; }
.section__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 64px;
  margin-bottom: 56px;
}
.section__head .eyebrow { margin-bottom: 20px; }
.section__head h2 { font-size: 46px; line-height: 1.13; max-width: 720px; }
.section__head > p {
  font-size: 15px;
  line-height: 1.53;
  color: var(--ink-60);
  max-width: 420px;
  text-align: right;
}
.section__head .source-note { text-align: right; flex-shrink: 0; }
.source-note {
  font-size: 12.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-60);
}

/* diamond list grid (2 or 3 columns) */
.dlist { display: flex; flex-wrap: wrap; }
.dlist__item {
  display: flex;
  align-items: center;
  gap: 18px;
  border-top: 1px solid var(--hairline-dark);
  padding: 20px 40px 20px 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 21px;
}
.dlist--3 .dlist__item { width: 33.33%; }
.dlist--2 .dlist__item { width: 50%; padding: 18px 48px 18px 0; }

/* colored checklist band (aubergine or cypress) */
.check-band { padding: 100px var(--pad-x) 110px; }
.check-band--aubergine { background: var(--aubergine); }
.check-band--cypress { background: var(--cypress); }
.check-band .eyebrow { margin-bottom: 22px; }
.check-band h2 { font-size: 46px; line-height: 1.13; color: var(--travertine); margin-bottom: 52px; max-width: 760px; }
.check-band__grid { display: flex; flex-wrap: wrap; }
.check-band__item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  width: 50%;
  border-top: 1px solid rgba(243, 238, 231, 0.22);
  padding: 18px 64px 18px 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 21px;
  line-height: 1.33;
  color: var(--travertine);
}
.check-band__item .checksq--ivory { margin-top: 4px; }

/* statement band (colored, two-column) */
.statement-band { display: flex; gap: 96px; align-items: flex-start; padding: 96px var(--pad-x); }
.statement-band--aubergine { background: var(--aubergine); }
.statement-band--cypress { background: var(--cypress); }
.statement-band--signal { background: var(--signal); }
.statement-band__intro { width: 520px; flex-shrink: 0; }
.statement-band__intro .eyebrow { margin-bottom: 22px; }
.statement-band__intro h2 { font-size: 42px; line-height: 1.17; color: var(--travertine); }
.statement-band__copy { padding-top: 8px; display: flex; flex-direction: column; gap: 22px; }
.statement-band__copy p { font-size: 16.5px; line-height: 1.57; color: var(--ivory-85); max-width: 620px; }
.statement-band__copy .source-note { color: var(--ivory-70); }

/* centered statement band */
.centered-band { padding: 100px var(--pad-x); display: flex; flex-direction: column; align-items: center; text-align: center; }
.centered-band--aubergine { background: var(--aubergine); }
.centered-band--cypress { background: var(--cypress); }
.centered-band img { width: 48px; }
.centered-band h2 { font-size: 46px; line-height: 1.18; color: var(--travertine); max-width: 800px; margin: 30px 0 24px; }
.centered-band p { font-size: 16.5px; line-height: 1.57; color: var(--ivory-85); max-width: 720px; }

/* Q&A ledger rows */
.qa-rows { display: flex; flex-direction: column; }
.qa-row { display: flex; gap: 80px; border-top: 1px solid var(--hairline-dark); padding: 34px 0; }
.qa-row:last-child { border-bottom: 1px solid var(--hairline-dark); }
.qa-row h3 { font-size: 27px; line-height: 1.26; width: 460px; flex-shrink: 0; }
.qa-row p { font-size: 16px; line-height: 1.56; color: var(--ink-60); max-width: 660px; }

/* two-column note (title left, copy right) */
.note-cols { display: flex; gap: 80px; background: var(--travertine); padding: 10px var(--pad-x) 120px; }
.note-cols__intro { width: 460px; flex-shrink: 0; }
.note-cols__intro .eyebrow { margin-bottom: 20px; }
.note-cols__intro h2 { font-size: 34px; line-height: 1.21; }
.note-cols > p { font-size: 16px; line-height: 1.62; color: var(--ink-60); max-width: 660px; padding-top: 44px; }

/* ---------- reckless: threshold panel ---------- */

.paperwork-cols { display: flex; gap: 96px; background: var(--travertine); padding: 120px var(--pad-x); }
.paperwork-cols__intro { flex-grow: 1; display: flex; flex-direction: column; align-items: flex-start; }
.paperwork-cols__intro .eyebrow { margin-bottom: 20px; }
.paperwork-cols__intro h2 { font-size: 46px; line-height: 1.13; max-width: 640px; margin-bottom: 26px; }
.paperwork-cols__intro p { font-size: 16.5px; line-height: 1.57; color: var(--ink-60); max-width: 620px; margin-bottom: 22px; }
.threshold-panel { width: 420px; flex-shrink: 0; display: flex; flex-direction: column; }
.threshold-panel .eyebrow { font-size: 12px; letter-spacing: 0.18em; margin: 18px 0 26px; }
.threshold {
  display: flex;
  flex-direction: column;
  padding: 26px 0;
}
.threshold + .threshold { border-top: 1px solid var(--hairline-dark); }
.threshold b { font-family: var(--font-display); font-weight: 500; font-size: 56px; line-height: 1.07; }
.threshold small { font-size: 14.5px; line-height: 1.5; color: var(--ink-60); margin-top: 8px; }

/* reckless: photo + situations split */
.photo-split { display: flex; align-items: stretch; background: var(--travertine); }
.photo-split__photo { position: relative; width: 560px; flex-shrink: 0; overflow: hidden; }
.photo-split__photo img { width: 100%; height: 100%; object-fit: cover; }
.photo-split__content { flex-grow: 1; padding: 100px var(--pad-x) 100px 80px; }
.photo-split__content .eyebrow { margin-bottom: 40px; }
.situation { border-top: 1px solid var(--hairline-dark); padding: 26px 0; }
.situation:last-child { border-bottom: 1px solid var(--hairline-dark); }
.situation h3 { font-size: 25px; line-height: 1.24; margin-bottom: 10px; }
.situation p { font-size: 15px; line-height: 1.53; color: var(--ink-60); max-width: 560px; }

/* ---------- speeding: systems columns ---------- */

.systems { display: flex; }
.system { flex: 1 1 0; border-top: 2px solid var(--aubergine); padding: 24px 44px 0 0; }
.system:last-child { padding-right: 0; }
.system b {
  display: block;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--signal);
  margin-bottom: 14px;
}
.system p { font-size: 15.5px; line-height: 1.55; color: var(--ink-60); }

/* speeding: gather list (intro left, rows right) */
.gather { display: flex; gap: 96px; background: var(--travertine); padding: 0 var(--pad-x) 120px; }
.gather__intro { width: 400px; flex-shrink: 0; }
.gather__intro .eyebrow { margin-bottom: 20px; }
.gather__intro h2 { font-size: 36px; line-height: 1.19; }
.gather__list { flex-grow: 1; padding-top: 6px; }
.gather__list .dlist__item { width: 100%; padding: 15px 0; }
.gather__list .dlist__item:last-child { border-bottom: 1px solid var(--hairline-dark); }

/* ---------- serious: scope index ---------- */

.scope-index { display: flex; flex-direction: column; }
.scope-index li {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 26px;
  border-top: 1px solid rgba(59, 137, 114, 0.45);
  padding: 24px 0;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 29px;
}
.scope-index li:last-child { border-bottom: 1px solid rgba(59, 137, 114, 0.45); }
.scope-index .diamond--signal { width: 9px; height: 9px; }

/* ---------- what happens next: step ledger ---------- */

.step-ledger { background: var(--travertine); padding: 110px var(--pad-x) 60px; }
.lstep { display: flex; gap: 48px; border-top: 1px solid var(--hairline-dark); padding: 36px 0; }
.lstep:last-child { border-bottom: 1px solid var(--hairline-dark); }
.lstep__num {
  width: 110px;
  flex-shrink: 0;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--signal);
  padding-top: 8px;
}
.lstep h3 { font-size: 30px; line-height: 1.23; width: 420px; flex-shrink: 0; }
.lstep p { font-size: 16px; line-height: 1.56; color: var(--ink-60); max-width: 640px; padding-top: 4px; }

/* ---------- mark: profile ---------- */

.profile { display: flex; gap: 96px; background: var(--travertine); padding: 120px var(--pad-x); }
.profile__main { flex-grow: 1; display: flex; flex-direction: column; align-items: flex-start; }
.profile__main .eyebrow { margin-bottom: 24px; }
.profile__main p { font-size: 17px; line-height: 1.65; max-width: 680px; margin-bottom: 22px; }
.profile__main p.dim { color: var(--ink-60); margin-bottom: 40px; }
.profile__rail { width: 400px; flex-shrink: 0; display: flex; flex-direction: column; }
.profile__rail .rail-label {
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cypress);
  margin-bottom: 6px;
}
.profile__rail .rail-label + ul { margin-bottom: 36px; }
.profile__rail ul { list-style: none; }
.profile__rail .rail-practice li {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 21px;
  border-bottom: 1px solid var(--hairline-dark);
  padding: 13px 0;
}
.profile__rail .rail-practice li:last-child { border-bottom: 0; }
.profile__rail .rail-bg li {
  font-size: 15.5px;
  border-bottom: 1px solid var(--hairline-dark);
  padding: 12px 0;
}
.profile__rail .rail-bg li:last-child { border-bottom: 0; }
.profile__rail small { font-size: 12px; line-height: 1.5; letter-spacing: 0.06em; color: var(--ink-60); margin-top: 20px; }

/* ---------- insights: article list ---------- */

.preview-form-notice {
  margin: 14px 0 24px;
  padding: 12px 14px;
  border-left: 3px solid var(--signal);
  background: rgba(255, 255, 255, 0.48);
  color: var(--ink-60);
  font-size: 13px;
  line-height: 1.5;
}

.article-page { max-width: 900px; margin: 0 auto; padding: 110px 48px 120px; }
.article-page__meta { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 22px 0 48px; color: var(--ink-60); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.article-page h1 { max-width: 800px; font-size: clamp(44px, 6vw, 76px); line-height: 1.02; margin: 20px 0 28px; }
.article-page h2 { font-size: clamp(28px, 3vw, 38px); line-height: 1.15; margin: 48px 0 14px; }
.article-page p, .article-page li { font-size: 17px; line-height: 1.75; color: var(--ink-60); }
.article-page ul { margin: 18px 0 0 24px; }
.article-page__notice { margin-top: 56px; padding: 22px 24px; border-left: 4px solid var(--signal); background: rgba(255,255,255,.45); }
.article-page__back { display: inline-block; margin-top: 44px; color: var(--cypress); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 700px) { .article-page { padding: 72px 20px 88px; } }


.article-list { background: var(--travertine); padding: 0 var(--pad-x) 110px; }
.article-list__label {
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-60);
  display: block;
  margin-bottom: 18px;
}
.article-row {
  display: flex;
  gap: 56px;
  align-items: flex-start;
  border-top: 1px solid var(--hairline-dark);
  padding: 38px 0;
}
.article-row:last-child { border-bottom: 1px solid var(--hairline-dark); }
.article-row__thumb { width: 210px; height: 140px; flex-shrink: 0; overflow: hidden; }
.article-row__thumb img { width: 100%; height: 100%; object-fit: cover; }
.article-row__meta { display: flex; flex-direction: column; gap: 10px; width: 200px; flex-shrink: 0; }
.article-row__meta .teaser__tag { margin-bottom: 0; }
.article-row__meta small { font-size: 12.5px; line-height: 1.5; color: var(--ink-60); }
.article-row__body { flex-grow: 1; }
.article-row__body h3 { font-size: 31px; line-height: 1.23; max-width: 720px; margin-bottom: 14px; }
.article-row__body p { font-size: 15.5px; line-height: 1.55; color: var(--ink-60); max-width: 680px; }
.article-row > .btn { flex-shrink: 0; align-self: center; }

/* ---------- contact: form + rail ---------- */

.contact-wrap { display: flex; gap: 88px; background: var(--travertine); padding: 96px var(--pad-x) 120px; }
.intake { flex-grow: 1; display: flex; flex-direction: column; gap: 26px; }
.intake > .eyebrow { margin-bottom: 0; }
.intake__row { display: flex; gap: 24px; }
.field { display: flex; flex-direction: column; gap: 8px; flex: 1 1 0; }
.field label {
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.field input,
.field select {
  height: 52px;
  border: 1px solid var(--hairline-mid);
  background: transparent;
  font-family: var(--font-sans);
  font-size: 16px;
  color: var(--aubergine);
  padding: 0 16px;
  border-radius: 0;
  outline: none;
  transition: border-color 0.3s var(--ease-out);
}
.field input:focus,
.field select:focus { border-color: var(--aubergine); }
.choice-group { display: flex; flex-direction: column; gap: 10px; flex: 1 1 0; }
.choice-group b {
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.choices { display: flex; gap: 10px; }
.choices label {
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: 1px solid rgba(45, 27, 34, 0.45);
  padding: 12px 22px;
  cursor: pointer;
  transition: background-color 0.25s, color 0.25s;
}
.choices input { position: absolute; opacity: 0; pointer-events: none; }
.choices input:checked + label,
.choices label:has(input:checked) { background: var(--aubergine); color: var(--travertine); }
.consent { display: flex; align-items: flex-start; gap: 14px; padding-top: 6px; }
.consent input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--aubergine); flex-shrink: 0; }
.consent span { font-size: 13.5px; line-height: 1.5; color: var(--ink-60); max-width: 720px; }
.intake .btn { align-self: flex-start; margin-top: 14px; background: none; border: 0; font-family: var(--font-sans); }
.contact-rail { width: 380px; flex-shrink: 0; display: flex; flex-direction: column; }
.contact-rail .rail-label {
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--signal);
  margin: 18px 0 20px;
}
.contact-rail .rail-label--cypress { color: var(--cypress); margin: 0 0 14px; }
.contact-rail__phone { font-family: var(--font-display); font-weight: 500; font-size: 30px; margin-bottom: 8px; }
.contact-rail__email { font-size: 16px; margin-bottom: 20px; display: block; }
.contact-rail > p { font-size: 14px; line-height: 1.5; color: var(--ink-60); margin-bottom: 36px; }
.contact-rail hr { border: 0; border-top: 1px solid var(--hairline-dark); margin-bottom: 22px; }
.contact-rail__office h3 { font-size: 22px; margin-bottom: 8px; }
.contact-rail__office address { font-style: normal; font-size: 15.5px; line-height: 1.55; color: var(--ink-60); margin-bottom: 24px; }
.contact-rail__photo { position: relative; width: 100%; height: 220px; overflow: hidden; margin-bottom: 24px; }
.contact-rail__photo img { width: 100%; height: 100%; object-fit: cover; }
.contact-rail__photo .photo-caption { left: 16px; bottom: 12px; font-size: 10px; }
.contact-rail small { font-size: 12.5px; line-height: 1.5; color: var(--ink-60); border-top: 1px solid var(--hairline-dark); padding-top: 20px; }

/* ---------- dui: timeline band ---------- */

.timeline-band { background: var(--cypress); padding: 100px var(--pad-x) 110px; }
.timeline-band__head { max-width: 760px; margin-bottom: 64px; }
.timeline-band__head .eyebrow { margin-bottom: 22px; }
.timeline-band__head h2 { font-size: 46px; line-height: 1.13; color: var(--travertine); margin-bottom: 22px; }
.timeline-band__head p { font-size: 16px; line-height: 1.56; color: var(--ivory-85); max-width: 680px; }
.timeline { display: flex; }
.tstep { flex: 1 1 0; padding-right: 28px; display: flex; flex-direction: column; }
.tstep:last-child { padding-right: 0; }
.tstep .knot-line { height: 10px; }
.tstep b {
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--ivory-70);
  margin: 22px 0 10px;
}
.tstep span { font-family: var(--font-display); font-weight: 500; font-size: 19px; line-height: 1.26; color: var(--travertine); }

/* ==========================================================================
   Mobile — interior + home sections
   ========================================================================== */

@media (max-width: 900px) {
  .masthead { padding: 44px 20px 52px; }
  .masthead__photo { object-position: 64% center; }
  .masthead__scrim { background: linear-gradient(90deg, rgba(45, 27, 34, 0.94), rgba(45, 27, 34, 0.72)); }
  .masthead__top { margin-bottom: 44px; }
  .masthead__top span:last-child { display: none; }
  .masthead__title { margin-bottom: 40px; }
  .masthead__deck { flex-direction: column; gap: 28px; padding-top: 24px; }
  .masthead__meta { width: auto; }

  .quick-strip { padding: 40px 20px 56px; }
  .quick-strip__head { flex-direction: column; align-items: flex-start; gap: 14px; }
  .quick-strip__head p { text-align: left; }
  .quick-strip__facts { flex-direction: column; align-items: stretch; }
  .fact { padding: 14px 0; }
  .fact + .fact { border-left: 0; border-top: 1px solid var(--hairline-dark); padding-left: 0; }

  .quick-review { grid-template-columns: 1fr; gap: 40px; padding: 72px 20px; }
  .quick-review__intro h2 { font-size: 34px; }
  .quick-review__form { padding: 26px 20px; }
  .quick-review__row { grid-template-columns: 1fr; gap: 18px; }

  .charges { padding: 72px 20px; }
  .charges__head h2 { font-size: 34px; }
  .charges__grid { grid-template-columns: 1fr; gap: 20px; }

  .details-band { padding: 72px 20px 80px; }
  .details-band h2 { font-size: 34px; margin: 26px 0 44px; }
  .details-band__row { flex-direction: column; gap: 36px; }
  .detail:first-child, .detail:nth-child(2), .detail:last-child { padding: 0; }
  .detail h3 { font-size: 34px; }

  .consequence { flex-direction: column; padding: 72px 20px; gap: 36px; }
  .consequence__intro { width: auto; }
  .consequence__intro h2 { font-size: 34px; }
  .consequence__chips { padding-top: 0; }

  .coverage { grid-template-columns: 1fr; }
  .coverage__visual { min-height: 300px; }
  .coverage__copy { padding: 64px 20px 72px; }
  .coverage__copy h2 { font-size: 34px; }
  .coverage__offices { grid-template-columns: 1fr; }

  .process { padding: 64px 20px 72px; }
  .process__head { flex-direction: column; align-items: flex-start; }
  .process__head h2 { font-size: 34px; }
  .process__row { flex-direction: column; gap: 0; }
  .pstep,
  .pstep:nth-child(2),
  .pstep:nth-child(3),
  .pstep:nth-child(4) { padding: 22px 0; }
  .pstep__num { font-size: 40px; margin-bottom: 14px; }

  .attorney-band { flex-direction: column; }
  .attorney-band__photo { width: 100%; height: 360px; }
  .attorney-band__profile { padding: 56px 20px 64px; }
  .attorney-band__profile h2 { font-size: 32px; }
  .attorney-band__actions { flex-direction: column; align-items: flex-start; gap: 18px; }

  .insights { padding: 72px 20px; }
  .insights__head { flex-direction: column; align-items: flex-start; }
  .insights__head h2 { font-size: 34px; }
  .insights__grid { grid-template-columns: 1fr; gap: 28px; }

  .cta-cypress { flex-direction: column; }
  .cta-cypress__body { padding: 64px 20px; }
  .cta-cypress__body h2 { font-size: 36px; }
  .cta-cypress__divider { width: auto; height: 1px; }
  .cta-cypress__phone { width: 100%; padding: 40px 20px 56px; }

  .cta-split { flex-direction: column; }
  .cta-split__body { padding: 64px 20px; }
  .cta-split__body h2 { font-size: 36px; }
  .cta-split__photo { width: 100%; height: 300px; }

  .cta-orange { padding: 64px 20px; }
  .cta-orange__row { flex-direction: column; align-items: flex-start; gap: 36px; }
  .cta-orange h2 { font-size: 36px; }

  .cta-call { flex-direction: column; padding: 64px 20px; gap: 44px; align-items: flex-start; }
  .cta-call__main h2 { font-size: 36px; }
  .cta-call__rail { width: 100%; border-left: 0; border-top: 1px solid var(--hairline-light); padding: 28px 0 0; }
  .cta-call__number { font-size: 34px; }

  .cta-document { padding: 64px 20px 72px; }
  .cta-document__row { flex-direction: column; align-items: flex-start; gap: 36px; }
  .cta-document h2 { font-size: 36px; }

  .cta-inset { padding: 24px 20px; }
  .cta-inset__panel { padding: 56px 24px; }
  .cta-inset__panel h2 { font-size: 32px; }

  .cta-slim { padding: 0 20px 72px; }
  .cta-slim__row { flex-direction: column; align-items: flex-start; gap: 28px; padding: 32px 0; }
  .cta-slim h3 { font-size: 26px; }

  .hero-dui { flex-direction: column; padding: 56px 20px 64px; gap: 48px; }
  .hero-dui__main h1 { font-size: 40px; }
  .statute-rail { width: 100%; border-left: 0; border-top: 1px solid var(--hairline-light); padding: 28px 0 0; }

  .hero-reckless { padding: 56px 20px 0; }
  .hero-reckless__cols { flex-direction: column; align-items: flex-start; gap: 36px; padding-bottom: 48px; }
  .hero-reckless__left h1 { font-size: 40px; }
  .hero-reckless__right { width: auto; }
  .statute-baseline { flex-direction: column; align-items: flex-start; gap: 8px; }

  .hero-doc { padding: 48px 20px 64px; }
  .hero-doc__cols { flex-direction: column; align-items: flex-start; gap: 36px; }
  .hero-doc h1 { font-size: 40px; }
  .hero-doc__right { width: auto; }

  .hero-serious { padding: 56px 20px 64px; }
  .hero-serious__cols { flex-direction: column; gap: 36px; }
  .hero-serious h1 { font-size: 40px; }
  .hero-serious__cols > p { width: auto; padding-top: 0; }

  .hero-whn { padding: 56px 20px 0; }
  .hero-whn__cols { flex-direction: column; gap: 36px; padding-bottom: 48px; }
  .hero-whn h1 { font-size: 42px; }
  .hero-whn__right { width: auto; padding-top: 0; }
  .progress-strip { flex-direction: column; align-items: flex-start; gap: 12px; }
  .progress-strip__track { flex-wrap: wrap; gap: 10px; }
  .progress-strip__track i { display: none; }

  .hero-mark { flex-direction: column; }
  .hero-mark__main { padding: 56px 20px 64px; }
  .hero-mark h1 { font-size: 38px; }
  .hero-mark__photo { width: 100%; height: 420px; }

  .hero-insights { padding: 56px 20px 0; }
  .hero-insights__cols { flex-direction: column; align-items: flex-start; gap: 28px; }
  .hero-insights h1 { font-size: 38px; }
  .hero-insights__cols > p { width: auto; }
  .filters { padding-bottom: 40px; }

  .hero-contact { flex-direction: column; align-items: flex-start; padding: 56px 20px; gap: 28px; }
  .hero-contact h1 { font-size: 36px; }
  .hero-contact > p { width: auto; }

  .section { padding: 72px 20px; }
  .section__head { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 36px; }
  .section__head h2 { font-size: 32px; }
  .section__head > p { text-align: left; }

  .dlist--3 .dlist__item, .dlist--2 .dlist__item { width: 100%; padding: 16px 0; }

  .check-band { padding: 64px 20px 72px; }
  .check-band h2 { font-size: 32px; }
  .check-band__item { width: 100%; padding: 16px 0; }

  .statement-band { flex-direction: column; padding: 64px 20px; gap: 28px; }
  .statement-band__intro { width: auto; }
  .statement-band__intro h2 { font-size: 30px; }

  .centered-band { padding: 64px 20px; }
  .centered-band h2 { font-size: 32px; }

  .qa-row { flex-direction: column; gap: 12px; padding: 24px 0; }
  .qa-row h3 { width: auto; font-size: 23px; }

  .note-cols { flex-direction: column; padding: 10px 20px 72px; gap: 20px; }
  .note-cols__intro { width: auto; }
  .note-cols > p { padding-top: 0; }

  .paperwork-cols { flex-direction: column; padding: 72px 20px; gap: 48px; }
  .paperwork-cols__intro h2 { font-size: 32px; }
  .threshold-panel { width: auto; }
  .threshold b { font-size: 44px; }

  .photo-split { flex-direction: column; }
  .photo-split__photo { width: 100%; height: 320px; }
  .photo-split__content { padding: 56px 20px 64px; }

  .systems { flex-direction: column; }
  .system { padding: 24px 0 0; margin-bottom: 24px; }

  .gather { flex-direction: column; padding: 0 20px 72px; gap: 28px; }
  .gather__intro { width: auto; }

  .scope-index li { font-size: 20px; gap: 16px; padding: 16px 0; }

  .step-ledger { padding: 72px 20px 40px; }
  .lstep { flex-direction: column; gap: 10px; padding: 24px 0; }
  .lstep__num { width: auto; padding-top: 0; }
  .lstep h3 { width: auto; font-size: 24px; }
  .lstep p { padding-top: 0; }

  .profile { flex-direction: column; padding: 72px 20px; gap: 48px; }
  .profile__rail { width: auto; }

  .article-list { padding: 0 20px 72px; }
  .article-row { flex-wrap: wrap; gap: 20px; padding: 26px 0; }
  .article-row__thumb { width: 100%; height: 180px; }
  .article-row__meta { width: auto; flex-direction: row; gap: 16px; align-items: baseline; }
  .article-row__body h3 { font-size: 24px; }
  .article-row > .btn { display: none; }

  .contact-wrap { flex-direction: column; padding: 56px 20px 72px; gap: 56px; }
  .intake__row { flex-direction: column; gap: 26px; }
  .contact-rail { width: auto; }

  .timeline-band { padding: 64px 20px 72px; }
  .timeline-band__head h2 { font-size: 32px; }
  .timeline { flex-wrap: wrap; }
  .tstep { flex: 1 1 45%; padding: 0 16px 24px 0; }
}
