.three-points { background: var(--sage); }
.three-points-grid {
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(44px, 5vw, 64px) clamp(20px, 5vw, 48px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 28px clamp(28px, 4vw, 56px);
}
.three-points article { display: flex; flex-direction: column; gap: 8px; }
.three-points svg { margin-bottom: 4px; fill: none; stroke: var(--forest); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.three-points .rust-stroke { stroke: var(--rust); }
.three-points h2 { margin: 0; font-family: var(--font-heading); font-size: 18px; font-weight: 600; }
.three-points p { max-width: 36ch; margin: 0; color: #46543f; line-height: 1.6; text-wrap: pretty; }

.settle-section {
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(48px, 7vw, 88px) clamp(20px, 5vw, 48px);
}
.section-intro { margin: 0 auto 38px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.section-intro .eyebrow { margin-bottom: 14px; }
.section-intro h2 {
  max-width: 36ch;
  margin: 0 0 14px;
  font-family: var(--font-heading);
  font-size: clamp(26px, 3vw, 32px);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -0.01em;
  text-wrap: balance;
}
.section-intro > p:last-child { max-width: 56ch; margin: 0; color: var(--body); font-size: 16.5px; line-height: 1.65; text-wrap: pretty; }
.settle-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.settle-grid article {
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 11px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--paper);
  box-shadow: 0 10px 24px -20px rgba(30, 58, 44, 0.25);
}
.settle-grid svg { fill: none; stroke: var(--forest); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.settle-grid .rust-stroke { stroke: var(--rust); }
.settle-grid h3 { margin: 0; font-family: var(--font-heading); font-size: 18px; font-weight: 600; line-height: 1.3; }
.settle-grid p { margin: 0; color: var(--body); font-size: 15.5px; line-height: 1.6; text-wrap: pretty; }
.settle-note { margin: 22px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; text-align: center; text-wrap: pretty; }

.expect-section {
  border-top: 1px solid #e6e0d1;
  border-bottom: 1px solid #e6e0d1;
  background: var(--wash);
}
.narrow-section { max-width: 1060px; margin: 0 auto; padding: clamp(48px, 7vw, 88px) clamp(20px, 5vw, 48px); }
.expect-section h2,
.paths-section h2,
.timing-card > h2,
.faq-section > h2,
.resource-section h2 {
  margin: 14px 0;
  font-family: var(--font-heading);
  font-size: clamp(27px, 3.4vw, 36px);
  font-weight: 500;
  line-height: 1.16;
  letter-spacing: -0.01em;
}
.section-lede { max-width: 62ch; margin: 0 0 40px; color: var(--body); font-size: 16.5px; line-height: 1.65; text-wrap: pretty; }
.steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 32px clamp(28px, 4vw, 48px);
}
.steps-grid article { display: flex; flex-direction: column; gap: 10px; }
.steps-grid span { color: var(--rust); font-family: var(--font-heading); font-size: 15px; font-weight: 600; letter-spacing: 0.1em; }
.steps-grid h3,
.timing-grid h3 { margin: 0; font-family: var(--font-heading); font-size: 18.5px; font-weight: 600; line-height: 1.35; }
.steps-grid p,
.timing-grid p { margin: 0; color: var(--body); line-height: 1.6; text-wrap: pretty; }
.section-legal { max-width: 68ch; margin: 40px 0 0; padding-top: 22px; border-top: 1px solid rgba(30, 58, 44, 0.16); color: #4a5847; font-size: 15px; line-height: 1.65; }

.paths-section {
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(48px, 7vw, 88px) clamp(20px, 5vw, 48px);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 48px clamp(40px, 5vw, 80px);
}
.paths-section article { display: flex; flex-direction: column; gap: 14px; }
.paths-intro {
  grid-column: 1 / -1;
  max-width: 760px;
  margin: 0 auto -6px;
  text-align: center;
}
.paths-intro .eyebrow { margin-bottom: 14px; }
.paths-intro h2 { margin: 0; font-size: clamp(27px, 3.4vw, 36px); }
.paths-section h2 { margin: 0; font-size: clamp(24px, 2.6vw, 29px); line-height: 1.22; text-wrap: balance; }
.paths-section article > p:not(.eyebrow) { max-width: 56ch; margin: 0; color: var(--body); font-size: 16.5px; line-height: 1.65; text-wrap: pretty; }
.resource-link { font-size: 15px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.check-list {
  max-width: 480px;
  margin: 10px 0 0;
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--paper);
  list-style: none;
}
.check-list li { position: relative; padding-left: 29px; color: #33422f; font-size: 15.5px; line-height: 1.55; }
.check-list li::before { position: absolute; left: 2px; top: 1px; color: var(--forest-2); font-size: 18px; font-weight: 700; content: "✓"; }
.small-note { color: #6e7a6c !important; font-size: 14.5px !important; line-height: 1.6 !important; }
.paths-section > .paths-note {
  grid-column: 1 / -1;
  max-width: 78ch;
  margin: -18px auto 0;
  text-align: center;
}

/* The reboot cost comparison always has two peers. Keep it as an exact,
   balanced pair instead of allowing auto-fit to create an empty third track
   on wide screens. */
:where(
  html[data-entry-route="/lp/lower-cost-divorce"],
  html[data-entry-route="/lp/flat-fee-divorce"],
  html[data-entry-route="/lp/faster-divorce"],
  html[data-entry-route="/lp/uncontested-divorce"]
) .paths-section {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
:where(
  html[data-entry-route="/lp/lower-cost-divorce"],
  html[data-entry-route="/lp/flat-fee-divorce"],
  html[data-entry-route="/lp/faster-divorce"],
  html[data-entry-route="/lp/uncontested-divorce"]
) .paths-section > article { min-width: 0; }

.straightforward-section { padding: clamp(48px, 7vw, 80px) max(clamp(20px, 5vw, 48px), calc((100% - 1240px) / 2)); background: var(--sage); }
.straightforward-section .section-intro { margin-bottom: 42px; }
.straightforward-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px clamp(28px, 4vw, 56px); }
.straightforward-grid article { display: flex; flex-direction: column; gap: 10px; }
.straightforward-grid article > span { width: 26px; height: 3px; margin-bottom: 4px; border-radius: 99px; background: var(--rust); }
.straightforward-grid h3 { margin: 0; font-family: var(--font-heading); font-size: 18px; font-weight: 600; line-height: 1.3; }
.straightforward-grid p { max-width: 40ch; margin: 0; color: #46543f; line-height: 1.6; text-wrap: pretty; }
.straightforward-note { margin: 42px 0 0; padding-top: 22px; border-top: 1px solid rgba(30, 58, 44, 0.16); color: #4a5847; font-size: 15px; line-height: 1.65; text-align: center; text-wrap: pretty; }

/* A03 places this band immediately after the sage three-point strip. Use the
   warmer paper wash to keep the approved order without merging both sections
   into one uninterrupted green field. */
html[data-entry-route="/lp/uncontested-divorce"] .straightforward-section {
  border-top: 1px solid #e6e0d1;
  border-bottom: 1px solid #e6e0d1;
  background: var(--wash);
}

.timing-section { max-width: 1240px; margin: 0 auto; padding: clamp(48px, 7vw, 88px) clamp(20px, 5vw, 48px); }
.timing-card { padding: clamp(28px, 4.5vw, 48px); border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.timing-card > h2 { margin: 14px 0 32px; font-size: clamp(26px, 3vw, 32px); line-height: 1.18; }
.timing-grid { margin-bottom: 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 26px clamp(26px, 3.5vw, 44px); }
.timing-grid article { display: flex; flex-direction: column; gap: 8px; }
.timing-label { margin-bottom: 8px; display: flex; align-items: center; gap: 12px; }
.timing-label svg { flex: none; fill: none; stroke-width: 7; }
.timing-label span { max-width: 14ch; color: var(--muted-2); font-size: 11.5px; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; }
.timing-track { stroke: #eae4d5; }
.timing-half { stroke: var(--forest-2); stroke-linecap: round; stroke-dasharray: 56.5 113.1; }
.timing-full { stroke: var(--forest-2); }
.timing-residence { stroke: var(--rust); stroke-linecap: round; stroke-dasharray: 56.5 113.1; }
.timing-label .timing-house { stroke: var(--forest); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.timing-grid h3 { font-family: var(--font-body); font-size: 16.5px; font-weight: 700; }
.timing-card .small-note { margin: 10px 0 0; }

.not-sure-section { max-width: 1060px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 48px) clamp(48px, 7vw, 88px); }
.not-sure-section > div {
  padding: clamp(22px, 3vw, 28px) clamp(22px, 3.5vw, 34px);
  display: flex;
  align-items: baseline;
  gap: 14px 44px;
  flex-wrap: wrap;
  border: 1px solid var(--line);
  border-top: 3px solid var(--rust);
  border-radius: 14px;
  background: var(--paper);
}
.not-sure-section h2 { flex: 1 1 250px; margin: 0; font-family: var(--font-heading); font-size: 19px; font-weight: 600; line-height: 1.35; }
.not-sure-section p { flex: 2 1 340px; margin: 0; color: var(--body); font-size: 15.5px; line-height: 1.6; text-wrap: pretty; }

/* Bridge the cost page's wash and cream sections with the uncertainty card.
   Equal block padding keeps the card's center on the one-pixel boundary at
   every responsive height, including when its copy wraps. */
html[data-entry-route="/lp/lower-cost-divorce"] .expect-section { border-bottom: 0; }
html[data-entry-route="/lp/flat-fee-divorce"] .expect-section { border-bottom: 0; }
html[data-entry-route="/lp/lower-cost-divorce"] .not-sure-section {
  max-width: none;
  margin: 0;
  padding: clamp(38px, 5vw, 56px) clamp(20px, 5vw, 48px);
  background: linear-gradient(
    to bottom,
    var(--wash) 0,
    var(--wash) calc(50% - 0.5px),
    #e6e0d1 calc(50% - 0.5px),
    #e6e0d1 calc(50% + 0.5px),
    var(--cream) calc(50% + 0.5px),
    var(--cream) 100%
  );
}
html[data-entry-route="/lp/flat-fee-divorce"] .not-sure-section {
  max-width: none;
  margin: 0;
  padding: clamp(38px, 5vw, 56px) clamp(20px, 5vw, 48px);
  background: linear-gradient(
    to bottom,
    var(--wash) 0,
    var(--wash) calc(50% - 0.5px),
    #e6e0d1 calc(50% - 0.5px),
    #e6e0d1 calc(50% + 0.5px),
    var(--cream) calc(50% + 0.5px),
    var(--cream) 100%
  );
}
html[data-entry-route="/lp/lower-cost-divorce"] .not-sure-section > div {
  position: relative;
  z-index: 1;
  max-width: 1060px;
  margin: 0 auto;
  align-items: center;
}
html[data-entry-route="/lp/flat-fee-divorce"] .not-sure-section > div {
  position: relative;
  z-index: 1;
  max-width: 1060px;
  margin: 0 auto;
  align-items: center;
}

.guide-library-section {
  margin-bottom: clamp(48px, 7vw, 88px);
  border-top: 1px solid #e6e0d1;
  border-bottom: 1px solid #e6e0d1;
  background: #f0ede1;
}
.guide-library-inner { max-width: 1240px; margin: 0 auto; padding: clamp(48px, 7vw, 80px) clamp(20px, 5vw, 48px); }
.guide-library-section .section-intro { margin-bottom: 36px; }
.guide-library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.guide-card {
  min-width: 0;
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--paper);
  color: var(--forest);
  text-decoration: none;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}
.guide-card:hover { border-color: var(--forest); box-shadow: 0 14px 28px -20px rgba(30, 58, 44, 0.4); transform: translateY(-2px); }
.guide-card svg { flex: none; fill: none; stroke: var(--forest); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.guide-card svg .rust-stroke { stroke: var(--rust); }
.guide-card svg .dashed { stroke-dasharray: 3 3.2; }
.guide-card h3 { margin: 0; font-family: var(--font-heading); font-size: 17.5px; font-weight: 600; line-height: 1.3; }
.guide-card p { margin: 0; color: var(--body); font-size: 14.5px; line-height: 1.6; text-wrap: pretty; }
.guide-card strong { margin-top: auto; padding-top: 10px; color: var(--rust); font-size: 14px; }
.guide-library-note { margin: 22px 0 0; color: var(--muted); font-size: 13.5px; line-height: 1.6; text-align: center; }

.faq-section { max-width: 760px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 48px) clamp(48px, 7vw, 88px); }
.faq-section > h2 { margin: 0 0 24px; font-size: clamp(26px, 3vw, 32px); line-height: 1.18; }
.faq-list { border-top: 1px solid #e0daca; }
.faq-list details { border-bottom: 1px solid #e0daca; }
.faq-list summary { padding: 20px 2px; display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span:first-child { font-family: var(--font-heading); font-size: 17.5px; font-weight: 600; line-height: 1.4; }
.faq-list summary span:last-child { font-size: 25px; line-height: 1; transition: transform 150ms ease; }
.faq-list details[open] summary span:last-child { transform: rotate(45deg); }
.faq-list details p { max-width: 62ch; margin: 0; padding: 0 34px 22px 2px; color: var(--body); line-height: 1.65; text-wrap: pretty; }

.resource-section { max-width: 760px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 48px) clamp(48px, 7vw, 88px); }
.resource-section > div { padding: clamp(24px, 3.5vw, 34px); border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.resource-section h2 { margin: 12px 0 10px; font-size: clamp(21px, 2.4vw, 24px); line-height: 1.28; }
.resource-section p:not(.eyebrow) { max-width: 60ch; margin: 0 0 16px; color: var(--body); line-height: 1.65; }

.three-points,
.settle-section,
.expect-section,
.paths-section,
.straightforward-section,
.timing-section,
.not-sure-section,
.guide-library-section,
.faq-section,
.resource-section,
.site-footer {
  content-visibility: auto;
}
.three-points { contain-intrinsic-size: auto 260px; }
.settle-section { contain-intrinsic-size: auto 620px; }
.expect-section { contain-intrinsic-size: auto 520px; }
.paths-section { contain-intrinsic-size: auto 760px; }
.straightforward-section { contain-intrinsic-size: auto 480px; }
.timing-section { contain-intrinsic-size: auto 500px; }
.not-sure-section { contain-intrinsic-size: auto 180px; }
.guide-library-section { contain-intrinsic-size: auto 720px; }
.faq-section { contain-intrinsic-size: auto 700px; }
.resource-section { contain-intrinsic-size: auto 280px; }
.site-footer { contain-intrinsic-size: auto 220px; }

.site-footer { border-top: 1px solid #e6e0d1; }
.site-footer > div { max-width: 1240px; margin: 0 auto; padding: clamp(32px, 4vw, 44px) clamp(20px, 5vw, 48px); display: flex; flex-direction: column; gap: 18px; }
.site-footer strong { font-family: var(--font-heading); font-size: 17px; }
.site-footer p { margin: 6px 0 0; color: var(--body); font-size: 14.5px; line-height: 1.6; }
.site-footer nav { display: flex; align-items: center; gap: 10px 26px; flex-wrap: wrap; }
.site-footer a,
.footer-link { padding: 0; border: 0; background: transparent; color: var(--forest); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }

.privacy-inline-controls {
  margin-top: 20px;
  padding: 22px;
  display: grid;
  gap: 18px;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  background: var(--paper);
}
.privacy-inline-controls > p { margin: 0; }
.privacy-options { display: flex; flex-direction: column; gap: 8px; }
.privacy-options label { display: flex; gap: 9px; align-items: flex-start; font-size: 13px; }
.privacy-options input { margin-top: 4px; }
.privacy-options span { display: flex; flex-direction: column; }
.privacy-options small { color: var(--muted); }
.privacy-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: 7px; }
.privacy-actions button { white-space: nowrap; }

.privacy-page,
.terms-page {
  width: min(760px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(52px, 7vw, 88px) 0;
}
.privacy-page h1,
.terms-page h1 {
  margin: 12px 0 20px;
  font-family: var(--font-heading);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: 500;
  line-height: 1.12;
}
.privacy-lede,
.terms-lede { color: var(--body); font-size: 18px; line-height: 1.7; }
.owner-review-notice {
  margin: 28px 0;
  padding: 18px 20px;
  border: 1px solid #dfb99f;
  border-radius: 12px;
  background: #fff7f1;
  color: #67351c;
  line-height: 1.55;
}
.privacy-section,
.terms-section { padding: 24px 0; border-top: 1px solid var(--line); }
.privacy-section h2,
.terms-section h2 { margin: 0 0 12px; font-family: var(--font-heading); font-size: 24px; font-weight: 600; }
.privacy-section p,
.terms-section p,
.terms-section li { color: var(--body); line-height: 1.7; }

.post-submit-view { width: 100%; max-width: 600px; margin: 0 auto; padding: 0; }
.post-submit-card { display: flex; padding: 34px 38px 30px; flex-direction: column; gap: 16px; border-top: 5px solid var(--forest); border-radius: 18px; background: #fff; box-shadow: 0 22px 52px -28px rgba(30,58,44,.35); }
.post-submit-chip { width: fit-content; margin: 0; padding: 6px 13px; border-radius: 999px; background: #e7efe3; color: var(--forest-2); font-size: 12.5px; font-weight: 700; }
.post-submit-step { display: flex; flex-direction: column; gap: 12px; animation: post-submit-in .15s ease-out; }
.post-submit-step h2 { margin: 0; font-family: var(--font-heading); font-size: 27px; font-weight: 600; line-height: 1.25; text-wrap: pretty; }
.post-submit-step > p:not(.post-submit-eyebrow), .post-submit-error p { margin: 0; color: var(--body); font-size: 15.5px; line-height: 1.6; text-wrap: pretty; }
.post-submit-eyebrow { margin: 0; color: var(--rust); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.post-submit-eyebrow.final { color: var(--forest-2); }
.post-submit-step label, .post-submit-phone-box span { color: var(--muted); font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.post-submit-step input, .post-submit-step textarea { width: 100%; min-height: 48px; padding: 12px 16px; border: 1px solid var(--line-strong); border-radius: 10px; background: #fff; color: var(--forest); font: 16px/1.4 var(--font-body); }
.post-submit-step input:focus, .post-submit-step textarea:focus { border-color: var(--forest); outline: 0; box-shadow: 0 0 0 3px rgba(30,58,44,.12); }
.post-submit-phone-box { display: flex; padding: 14px 18px; flex-direction: column; gap: 3px; border: 1px solid var(--line-strong); border-radius: 12px; background: #fbfaf5; }
.post-submit-phone-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 10px; }
.post-edit-inline { min-width: 88px; }
.post-phone-editor { display: flex; padding: 14px; flex-direction: column; gap: 10px; border: 1px solid var(--line); border-radius: 12px; background: #fbfaf5; }
.post-submit-phone-box strong { color: var(--forest); font-size: 19px; letter-spacing: .02em; white-space: nowrap; }
.post-submit-actions { display: flex; gap: 12px; }
.post-submit-actions > * { min-height: 48px; flex: 1; }
.post-submit-actions > .primary-button:first-child { flex-grow: 1.7; }
.post-submit-error { padding: 12px 14px; border: 1px solid #e7c4bb; border-radius: 10px; background: #fbefec; }
.post-submit-error p { color: #8a2f23; font-size: 13.5px; }
.post-submit-error .post-submit-actions { margin-top: 11px; }
.post-submit-validation { margin: 0 !important; color: var(--danger) !important; font-size: 13px !important; font-weight: 700; }
.post-callback-options { display: flex; flex-direction: column; gap: 10px; }
.post-callback-choice { display: flex; width: 100%; min-height: 52px; padding: 14px 18px; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--line-strong); border-radius: 12px; background: #fff; color: var(--forest); font: 16px var(--font-body); cursor: pointer; }
.post-callback-choice:hover { border-color: var(--forest); background: #fbfaf5; }
.post-callback-choice:focus-visible { border-color: var(--forest); outline: 0; box-shadow: 0 0 0 3px rgba(30,58,44,.18); }
.post-callback-choice span { color: var(--muted); font-size: 13.5px; }
.post-callback-choice[data-phase="saving"]::before, .post-submit-actions button[data-phase="saving"]::before { width: 14px; height: 14px; flex: none; border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: post-submit-spin .7s linear infinite; content: ""; }
.post-callback-choice[data-phase="saving"] { justify-content: flex-start; }
.post-custom-callback { display: flex; padding: 16px 18px; flex-direction: column; gap: 9px; border: 1px solid var(--line-strong); border-radius: 12px; background: #fbfaf5; }
.post-custom-callback textarea { min-height: 48px; resize: none; overflow: hidden; }
.post-custom-meta { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 12.5px; }
.post-continue-none { align-self: flex-start; }
.post-done-button { width: 100%; min-height: 48px; }
@keyframes post-submit-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@keyframes post-submit-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .post-submit-step { animation: none; } .post-callback-choice[data-phase="saving"]::before, .post-submit-actions button[data-phase="saving"]::before { animation-duration: 1.5s; } }
@media (max-width: 640px) {
  .post-submit-view { max-width: 100%; }
  .post-submit-card { padding: 26px 20px 24px; }
  .post-submit-step h2 { font-size: 25px; }
  .post-submit-actions { flex-direction: column; }
  .post-submit-actions > * { width: 100%; }
  .post-callback-choice { align-items: flex-start; flex-direction: column; }
  .result-complete-row { align-items: flex-start; flex-direction: column; }
  .desktop-result-copy,
  .result-complete-count,
  .result-marker-desktop-only { display: none !important; }
  .mobile-result-copy { display: inline; }
  .intake-card.result-active { min-height: 0; padding-top: 14px; }
  .result-contact-view { margin-top: 0; gap: 16px; }
  .contact-view .result-title { font-size: 30px; }
  .result-next-step h3 { font-size: 25px; }
  .post-submit-phone-summary { grid-template-columns: 1fr; }
  .post-edit-inline { width: 100%; }
}
@media (max-width: 860px) {
  .settle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .straightforward-grid { grid-template-columns: 1fr; }
  .guide-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .site-header { align-items: flex-start; flex-direction: column; }
  .brand { font-size: 18px; }
  .header-note { font-size: 13px; }
  .hero { padding-top: 40px; }
  .hero h1 br { display: none; }
  .hero h1 { font-size: 34px; line-height: 1.12; }
  .hero > p:last-child { font-size: 16px; }
  .intake { padding: 32px 24px 18px; }
  .intake-card { min-height: 475px; padding: 30px 21px 22px; }
  .intake-card.result-active { min-height: 0; padding-top: 14px; }
  .result-contact-view { margin-top: 0; gap: 16px; }
  .intake-heading { font-size: 20px; }
  .progress-copy span { font-size: 11.5px; }
  .question-fieldset legend { font-size: 22px; }
  .path-actions,
  .contact-row { align-items: stretch; flex-direction: column; }
  .path-actions .primary-button,
  .path-actions .secondary-button,
  .contact-row .primary-button { width: 100%; min-height: 48px; text-align: center; }
  .contact-row input { width: 100%; min-width: 0; }
  .paths-section { grid-template-columns: 1fr; }
  .settle-grid { grid-template-columns: 1fr; }
  .guide-library-grid { grid-template-columns: 1fr; }
  .guide-card { padding: 22px 20px; }
  .form-note { padding-bottom: 52px; }
}

@media (max-width: 390px) {
  .site-header { padding-inline: 18px; }
  .hero { padding-inline: 18px; }
  .hero h1 { font-size: 32px; }
  .intake { padding-inline: 14px; }
  .intake-card { min-height: 460px; padding-inline: 19px; }
  .progress-copy { align-items: flex-start; }
  .progress-copy span { max-width: 105px; text-align: right; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
