/* Corrects inherited browser button styles after the visual-polish pass. */
.button {
  font-family: inherit;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
}

.scenario {
  font-family: inherit;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.32;
}

.planning-form input,
.planning-form select,
.planning-form textarea {
  font-family: inherit;
  font-size: 19px;
  line-height: 1.3;
}

@media (max-width: 820px) {
  .scenario { font-size: 18px; }
}

.decision-map-feature { background: #ffffff; border-top: 1px solid #e0e5ea; }
.map-feature-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:72px; align-items:center; }
.map-preview { background:#f4f7fb; border:1px solid #c9d4e2; border-top:6px solid #19469d; padding:32px; box-shadow:0 16px 36px rgba(25,70,157,.11); }
.map-preview h3 { font-size:30px; margin:8px 0 22px; }
.map-kicker { color:#19469d; font-size:14px; font-weight:800; letter-spacing:.1em; margin:0; }
.map-lines { display:grid; gap:0; border-top:1px solid #b8c5d3; }
.map-lines span { padding:13px 0; border-bottom:1px solid #b8c5d3; font-size:17px; font-weight:700; }
.map-preview>p:last-child { color:#4d5965; font-size:15px; line-height:1.5; margin:20px 0 0; }
@media (max-width:820px) { .map-feature-grid { grid-template-columns:1fr; gap:36px; } .map-preview { padding:26px; } }

/* Final production polish: preserve the approved flow while making support text and
   interactive planning cues feel more deliberate on both compact and wide screens. */
.recognition .lead,
.decision-map-feature .lead,
.trust .lead,
.intake-copy .lead { max-width: 43rem; }

.recognition .lead { font-size: clamp(20px, 1.45vw, 23px); line-height: 1.58; }
.map-preview { position: relative; overflow: hidden; }
.map-preview::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: #d7aa3a; }
.map-lines span { display: flex; align-items: center; gap: 10px; font-size: 18px; line-height: 1.38; }
.map-lines span::before { content: ""; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #19469d; }
.map-preview>p:last-child { font-size: 17px; line-height: 1.56; }
.scenario { min-height: 88px; text-align: left; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.scenario:hover { border-color: #19469d; box-shadow: 0 10px 20px rgba(25,70,157,.12); transform: translateY(-2px); }
.scenario:focus-visible,
.button:focus-visible,
.text-link:focus-visible { outline: 3px solid #d7aa3a; outline-offset: 4px; }
.trust-card { border-left: 4px solid #d7aa3a; }
.trust-card .quote { font-size: clamp(20px, 1.4vw, 24px); line-height: 1.46; }
.small { font-size: 17px; line-height: 1.55; }

@media (max-width:820px) {
  .recognition .lead { font-size: 20px; line-height: 1.55; }
  .scenario { min-height: 76px; }
  .map-lines span { font-size: 17px; }
  .map-preview>p:last-child, .small { font-size: 16px; }
}

/* Human Handshake interaction layer. Preserves the existing Gurley Group surface. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.hero-support { margin:22px 0 0; color:#eef0f3; font-size:17px; font-weight:700; }
.handshake-choices { grid-template-columns:repeat(2, 1fr); }
.handshake-choices .scenario { min-height:96px; display:flex; align-items:center; }
.utility-links { margin:28px 0 0; color:var(--muted); font-size:17px; }
.utility-links a { color:var(--ink); font-weight:700; text-underline-offset:4px; }
.utility-help { border-left:4px solid #d7aa3a; background:#fff8e7; padding:14px 16px; color:var(--ink); }
.handshake-form .form-progress { grid-template-columns:repeat(5, 1fr); }
.handshake-form fieldset { border:0; padding:0; margin:0; min-width:0; }
.handshake-form legend, .handshake-form h3 { color:var(--ink); font-size:27px; font-weight:800; line-height:1.25; margin:0 0 20px; }
.handshake-form legend:focus, .handshake-form h3:focus, .form-confirmation:focus { outline:3px solid #d7aa3a; outline-offset:4px; }
.check-row { display:grid !important; grid-template-columns:20px 1fr; gap:10px; margin:0 0 22px !important; font-weight:400 !important; line-height:1.5; }
.check-row input { width:18px !important; min-height:18px !important; margin:3px 0 0 !important; }
.reflection { border-left:4px solid #d7aa3a; background:#fff8e7; padding:22px; }
.reflection p, .permission p { font-size:18px; line-height:1.52; }
.permission { background:#f4f7fb; padding:22px; border-top:4px solid var(--blue); }
.contact-methods { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 22px; }
.contact-methods label { display:flex !important; align-items:center; gap:8px; border:1px solid var(--line); padding:11px 14px; margin:0 !important; cursor:pointer; }
.contact-methods input { width:18px !important; min-height:18px !important; margin:0 !important; }
.handoff-card { display:grid; grid-template-columns:150px 1fr; gap:0 18px; margin:26px 0; border-top:1px solid var(--line); }
.handoff-card dt, .handoff-card dd { margin:0; padding:12px 0; border-bottom:1px solid var(--line); font-size:16px; line-height:1.45; }
.handoff-card dt { font-weight:800; color:var(--blue); }
.handoff-card dd { color:var(--muted); }
@media (max-width:820px) { .handshake-choices { grid-template-columns:1fr; } .handshake-form .form-progress { grid-template-columns:repeat(2,1fr); } .handoff-card { grid-template-columns:1fr; gap:0; } .handoff-card dt { border-bottom:0; padding-bottom:2px; } .handoff-card dd { padding-top:2px; } }
