/*
Theme Name: Stalwart Settlement Complete
Theme URI: https://stalwartsettlement.com/
Author: Frontline Solutions
Description: Complete custom WordPress theme for Stalwart Settlement Services. No Elementor required.
Version: 2.3.0
Requires at least: 6.2
Requires PHP: 8.0
Text Domain: stalwart-complete
*/
:root {
  --navy: #005d83;
  --blue: #005d83;
  --gold: #c7dc68;
  --cream: #f3f5f6;
  --ink: #53565a;
  --muted: #6b7277;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  max-width: 100%;
  overflow-x: clip;
}
body {
  margin: 0;
  color: var(--ink);
  font-family: Arial, sans-serif;
  overflow-wrap: break-word;
  max-width: 100%;
  overflow-x: clip;
}
img { max-width: 100%; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
.wrap {
  width: min(1180px, calc(100% - 40px));
  margin: auto;
}
.wrap > *,
.nav > *,
.footer-grid > *,
.field-grid > *,
.service-grid > *,
.tool-cards > * { min-width: 0; }
a {
  text-decoration: none;
}
.skip-link {
  background: #fff;
  color: var(--navy);
  font-weight: 800;
  left: 16px;
  padding: 13px 17px;
  position: fixed;
  top: -100px;
  z-index: 9999;
}
.skip-link:focus { top: 16px; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid #9db62d;
  outline-offset: 3px;
}
.hp {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}
.site-header {
  height: 96px;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 4px solid var(--gold);
}
.nav {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 22px;
}
.logo img,
.custom-logo {
  width: 245px;
  max-height: 70px;
  height: auto;
  object-fit: contain;
}
.nav nav {
  display: flex;
  margin-left: auto;
}
.nav nav ul {
  display: flex;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.nav nav a {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
}
.nav .phone {
  color: var(--navy);
  font-weight: 800;
  font-size: 13px;
}
.menu-toggle {
  display: none;
  border: 0;
  background: none;
  font-size: 25px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 21px;
  font-weight: 800;
  font-size: 14px;
  border: 0;
  cursor: pointer;
  transition: transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease;
}
.button:hover { box-shadow: 0 8px 22px #003f5926; transform: translateY(-2px); }
.gold {
  background: var(--gold);
  color: var(--navy);
}
.navy {
  background: var(--navy);
  color: #fff;
}
.ghost {
  border: 1px solid #ffffff99;
  color: #fff;
}
.outline {
  border: 1px solid var(--navy);
  color: var(--navy);
}
.hero {
  height: 690px;
  position: relative;
  color: #fff;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.slides,
.slide {
  position: absolute;
  inset: 0;
}
.slide {
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition:
    opacity 1.1s,
    transform 7s;
  transform: scale(1.025);
}
.slide.active {
  opacity: 1;
  transform: scale(1);
}
.shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, #003f59ee, #005d83dd 47%, #005d833d 80%);
  z-index: 1;
}
.hero-copy {
  position: relative;
  z-index: 2;
  border-left: 3px solid var(--gold);
  padding-left: 34px;
}
.eyebrow {
  text-transform: uppercase;
  letter-spacing: 2.5px;
  font-size: 12px;
  font-weight: 800;
  color: #c7dc68;
}
.dark {
  color: #536b00;
}
.hero h1 {
  font:
    68px/1.04 Georgia,
    serif;
  margin: 15px 0 22px;
  letter-spacing: -2px;
}
.hero h1 em {
  font-weight: 400;
  color: #c7dc68;
}
.hero p {
  font-size: 19px;
  line-height: 1.7;
  max-width: 650px;
}
.actions {
  display: flex;
  gap: 14px;
  margin-top: 30px;
}
.trust {
  display: flex;
  gap: 25px;
  margin-top: 44px;
  padding-top: 20px;
  border-top: 1px solid #ffffff3d;
}
.dots {
  position: absolute;
  z-index: 3;
  right: 30px;
  bottom: 28px;
  display: flex;
  gap: 8px;
}
.dots button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid #fff;
  background: transparent;
}
.dots button.active {
  width: 28px;
  border-radius: 10px;
  background: var(--gold);
  border-color: var(--gold);
}
.stats {
  background: var(--navy);
  color: #fff;
}
.stats .wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.stats span {
  padding: 27px;
  text-align: center;
  border-right: 1px solid #ffffff22;
  color: #c9d7dc;
}
.stats strong {
  display: block;
  font: 28px Georgia;
  color: #c7dc68;
}
.section {
  padding: 105px 0;
}
.heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 48px;
}
.heading h2,
.professionals h2,
.tools h2,
.process h2,
.order-band h2,
.page-hero h1 {
  font:
    46px/1.15 Georgia,
    serif;
  margin: 12px 0 0;
}
.heading > p {
  max-width: 490px;
  line-height: 1.75;
  color: var(--muted);
}
.service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 17px;
}
.service-grid article,
.interior-grid section {
  border: 1px solid #dce3e5;
  padding: 30px;
  background: #fff;
  box-shadow: 0 10px 35px #0b2f400b;
}
.service-grid article > b {
  color: var(--gold);
  font: 22px Georgia;
}
.service-grid h3,
.resource-cards h3,
.interior-grid h2 {
  font:
    23px Georgia,
    serif;
}
.service-grid p,
.professional-copy p,
.areas p,
.resource-cards p,
.content p {
  color: var(--muted);
  line-height: 1.7;
}
.service-grid a,
.interior-grid a {
  color: var(--navy);
  font-weight: 800;
}
.professionals {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--cream);
}
.professionals .photo {
  min-height: 650px;
}
.professionals .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.professional-copy {
  padding: 90px max(40px, calc((100vw - 1180px) / 2)) 90px 75px;
}
.audiences {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 32px 0;
}
.audiences article {
  background: #fff;
  padding: 25px;
}
.audiences b {
  font: 23px Georgia;
}
.areas {
  background: #fafafa;
}
.states {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.states a {
  background: #fff;
  border: 1px solid #dce3e5;
  padding: 18px;
  color: var(--ink);
  font-weight: 800;
}
.tools {
  padding: 100px 0;
  background: var(--navy);
  color: #fff;
}
.heading.light > p {
  color: #c8d5da;
}
.tool-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.tool-cards a {
  padding: 20px;
  background: #004866;
  color: #fff;
  display: flex;
  gap: 12px;
  align-items: center;
}
.tool-cards b {
  color: #c7dc68;
}
.tool-cards span {
  font-weight: 800;
}
.form-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
.form-cards a {
  border: 1px solid #dce3e5;
  padding: 22px;
  display: flex;
  gap: 14px;
  color: var(--ink);
  align-items: flex-start;
}
.form-cards b {
  color: var(--gold);
  font-size: 28px;
}
.form-cards small,
.form-cards strong {
  display: block;
}
.form-cards small {
  color: var(--muted);
  line-height: 1.5;
  margin-top: 6px;
}
.wire {
  margin-top: 30px;
  background: #f2f8d7;
  border-left: 5px solid var(--gold);
  padding: 22px;
  display: flex;
  gap: 16px;
  align-items: center;
}
.wire span {
  color: #53565a;
}
.wire a {
  margin-left: auto;
  color: var(--navy);
  font-weight: 800;
}
.process {
  background: var(--blue);
  color: #fff;
  padding: 95px 0;
}
.process > .wrap > div {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 42px;
}
.process article {
  border-left: 1px solid #ffffff30;
  padding: 10px 28px;
}
.process article > b {
  font: 34px Georgia;
  color: #c7dc68;
}
.process h3 {
  font: 22px Georgia;
}
.process p {
  color: #ccdbe0;
  line-height: 1.6;
}
.resource-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}
.resource-cards a {
  border: 1px solid #dce3e5;
  padding: 24px;
  color: var(--ink);
}
.resource-cards > a > b {
  color: var(--gold);
  font-size: 28px;
}
.order-band {
  padding: 70px 0;
  background: var(--gold);
}
.order-band > .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.order-band p {
  max-width: 650px;
}
.order-band > .wrap > div:last-child {
  display: flex;
  gap: 10px;
}
.page-hero {
  padding: 85px 0;
  background: linear-gradient(120deg, var(--navy), var(--blue));
  color: #fff;
}
.page-hero p {
  color: #d4e1e5;
  max-width: 720px;
  line-height: 1.7;
}
.content {
  padding: 80px 0;
  min-height: 50vh;
}
.interior-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 35px;
}
.post-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.post-grid img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}
.post-card {background:#fff;border:1px solid #d9e0e2;display:flex;flex-direction:column;min-height:100%;}
.post-card-image {display:block;}
.post-card-content {padding:28px;display:flex;flex:1;flex-direction:column;align-items:flex-start;}
.post-category {color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.post-card h2 {font-size:25px;line-height:1.22;margin:12px 0;}
.post-card h2 a {color:var(--charcoal);text-decoration:none;}
.post-card time {color:#617078;font-size:14px;margin-top:auto;padding-top:18px;}
.post-read {color:var(--blue);font-weight:800;margin-top:18px;text-decoration:none;}
.post-card h2 a:hover,.post-read:hover {color:var(--lime);}
.blog-post-content {max-width:860px;}
.article-copy {font-size:18px;line-height:1.8;margin-top:30px;}
.article-copy h2 {color:var(--charcoal);font-size:31px;line-height:1.25;margin:42px 0 12px;}
.article-copy .button {font-size:16px;line-height:1.2;margin-top:18px;}
.post-date {font-size:15px!important;font-weight:700;}
.calculator-tabs {
  display: flex;
  gap: 5px;
  border-bottom: 1px solid #d9e0e2;
}
.calculator-tabs button {
  border: 0;
  padding: 15px 20px;
  background: #edf1f2;
  font-weight: 800;
  color: var(--navy);
}
.calculator-tabs button.active {
  background: var(--gold);
}
.calculator-panel {
  display: none;
  padding: 35px;
  background: #fafafa;
  border: 1px solid #dce3e5;
}
.calculator-panel.active {
  display: block;
}
.calculator-panel h2,
.site-form h2,
.order-options h2,
.contact-layout h2 {
  font: 32px Georgia;
}
.calc-grid,
.field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.calc-grid label,
.field-grid label {
  font-size: 13px;
  font-weight: 800;
}
.calc-grid input,
.calc-grid select,
.field-grid input,
.field-grid textarea {
  display: block;
  width: 100%;
  padding: 13px;
  margin-top: 7px;
  border: 1px solid #cbd5d8;
  background: #fff;
  font-size: 16px;
}
.calc-result {
  background: var(--cream);
  padding: 25px;
  margin-top: 22px;
}
.calc-result span,
.calc-result strong {
  display: block;
}
.calc-result strong {
  font: 38px Georgia;
  color: var(--navy);
  margin-top: 5px;
}
.calculator-disclaimer {
  margin-top: 25px;
  border-left: 5px solid var(--gold);
  background: #fff3d5;
  padding: 20px;
  line-height: 1.6;
}
.forms-layout,
.contact-layout {
  display: grid;
  grid-template-columns: 0.7fr 1.5fr;
  gap: 45px;
}
.form-options a {
  display: block;
  padding: 16px;
  color: var(--ink);
  border-bottom: 1px solid #dce3e5;
  font-weight: 800;
}
.form-options a.active {
  background: var(--navy);
  color: #fff;
}
.site-form {
  padding: 35px;
  background: #fafafa;
  border: 1px solid #dce3e5;
}
.field-grid .full {
  grid-column: 1/-1;
}
.notice {
  padding: 15px;
  margin: 12px 0;
}
.notice.success {
  background: #e8f5e9;
  color: #175b25;
}
.notice.error {
  background: #fff0ef;
  color: #8b241d;
}
.order-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.order-options article,
.office {
  padding: 30px;
  border: 1px solid #dce3e5;
}
.order-options article > span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #536b00;
  font-weight: 800;
}
.office {
  margin-bottom: 15px;
}
.office h3 {
  font: 24px Georgia;
  margin-top: 0;
}
footer {
  background: #071f2b;
  color: #c6d5da;
  padding: 65px 0 25px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.4fr;
  gap: 40px;
}
.footer-grid > img,
.footer-grid > .footer-logo {
  width: 270px;
  height: auto;
}
.footer-logo img { display: block; width: 270px; }
.footer-menu { list-style: none; margin: 0; padding: 0; }
.footer-menu li { margin: 0; }
footer h4 {
  color: #c7dc68;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1.5px;
}

/* About and leadership */
.about-intro {
  max-width: 1040px;
}
.section-kicker {
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.about-intro > h2,
.resource-heading h2,
.wire-section h2 {
  color: var(--ink);
  font: 42px/1.15 Georgia, serif;
  margin: 12px 0 22px;
}
.about-intro .lead {
  color: var(--ink);
  font-size: 21px;
}
.about-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin: 38px 0;
}
.about-panel {
  border-top: 4px solid var(--gold);
  background: var(--cream);
  padding: 30px;
}
.about-panel h3,
.practice-grid h3,
.process-list h3 {
  color: var(--ink);
  font: 23px/1.25 Georgia, serif;
  margin: 0 0 10px;
}
.about-intro blockquote {
  border-left: 5px solid var(--gold);
  color: var(--navy);
  font: 28px/1.45 Georgia, serif;
  margin: 42px 0 0;
  padding: 8px 0 8px 28px;
}
.team-section {
  background: var(--cream);
  padding: 95px 0;
}
.team-profile {
  align-items: start;
  border-top: 1px solid #dce3e5;
  display: grid;
  gap: 58px;
  grid-template-columns: minmax(280px, 390px) 1fr;
  padding: 58px 0;
}
.team-profile:first-child { border-top: 0; padding-top: 0; }
.team-profile:last-child { padding-bottom: 0; }
.team-profile-reverse { grid-template-columns: 1fr minmax(280px, 390px); }
.team-profile-reverse .team-photo { order: 2; }
.team-profile-reverse .team-copy { order: 1; }
.team-photo img {
  aspect-ratio: 4 / 5;
  box-shadow: 18px 18px 0 var(--gold);
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}
.team-copy h3 {
  color: var(--ink);
  font: 38px/1.15 Georgia, serif;
  margin: 12px 0 6px;
}
.team-title {
  color: var(--navy);
  font-weight: 800;
  margin: 0 0 25px;
}
.team-copy > p:not(.team-title) {
  color: var(--muted);
  line-height: 1.72;
}

/* Resources */
.resource-jump {
  background: #fff;
  border-bottom: 1px solid #dce3e5;
  position: sticky;
  top: 96px;
  z-index: 20;
}
.resource-jump .wrap {
  display: flex;
  gap: 34px;
  overflow-x: auto;
}
.resource-jump a {
  border-bottom: 3px solid transparent;
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
  padding: 20px 0 17px;
  white-space: nowrap;
}
.resource-jump a:hover,
.resource-jump a:focus { border-color: var(--gold); color: var(--navy); }
.resource-jump a.active { background: var(--navy); border-color: var(--navy); color: #fff; }
.resource-section { scroll-margin-top: 175px; }
.resource-heading { max-width: 790px; margin-bottom: 42px; }
.resource-heading > p { color: var(--muted); font-size: 18px; line-height: 1.7; }
.process-list {
  counter-reset: closing-step;
  display: grid;
  gap: 0 42px;
  grid-template-columns: 1fr 1fr;
  list-style: none;
  margin: 0;
  padding: 0;
}
.process-list li {
  counter-increment: closing-step;
  display: grid;
  gap: 18px;
  grid-template-columns: 52px 1fr;
  padding: 24px 0;
  border-top: 1px solid #dce3e5;
}
.process-list li::before {
  align-items: center;
  background: var(--navy);
  border-radius: 50%;
  color: #fff;
  content: counter(closing-step);
  display: flex;
  font-weight: 800;
  height: 42px;
  justify-content: center;
  width: 42px;
}
.process-list p,
.practice-grid p { color: var(--muted); line-height: 1.65; margin: 0; }
.resource-band { background: var(--cream); padding: 90px 0; }
.practice-grid { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; }
.practice-grid article { background: #fff; display: grid; gap: 16px; grid-template-columns: 28px 1fr; padding: 25px; }
.practice-grid article > span { color: var(--navy); font-size: 22px; font-weight: 900; }
.wire-section { background: #062f42; color: #fff; padding: 90px 0; scroll-margin-top: 175px; }
.wire-section .section-kicker { color: var(--gold); }
.wire-section h2 { color: #fff; }
.wire-alert { display: grid; gap: 30px; grid-template-columns: 78px 1fr; }
.wire-alert > div { max-width: 900px; }
.wire-alert p { color: #d4e1e5; font-size: 18px; line-height: 1.7; }
.wire-icon { align-items: center; border: 3px solid var(--gold); border-radius: 50%; color: var(--gold); display: flex; font: 700 42px Georgia, serif; height: 70px; justify-content: center; width: 70px; }
.wire-promise { background: #fff; border-left: 6px solid var(--gold); color: var(--ink); margin: 38px 0; padding: 28px 32px; }
.wire-promise h3 { color: var(--navy); margin-top: 0; }
.wire-promise p { line-height: 1.7; margin-bottom: 0; }
.wire-grid { display: grid; gap: 55px; grid-template-columns: 1fr 1fr; }
.wire-grid h3,
.fraud-response h3 { color: var(--gold); font: 25px Georgia, serif; }
.wire-grid li,
.fraud-response li { color: #d4e1e5; line-height: 1.6; margin: 10px 0; }
.fraud-response { border-top: 1px solid #ffffff30; margin-top: 45px; padding-top: 30px; }
.fraud-response a { color: var(--gold); font-weight: 800; }
.closing-cta { background: var(--navy); color: #fff; padding: 55px 0; }
.closing-cta > .wrap { align-items: center; display: flex; justify-content: space-between; gap: 30px; }
.closing-cta h2 { font: 34px Georgia, serif; margin: 10px 0 0; }

@media (max-width: 760px) {
  .about-columns,
  .team-profile,
  .team-profile-reverse,
  .process-list,
  .practice-grid,
  .wire-grid { grid-template-columns: 1fr; }
  .team-profile { gap: 35px; }
  .team-profile-reverse .team-photo,
  .team-profile-reverse .team-copy { order: initial; }
  .team-photo { max-width: 390px; }
  .team-section,
  .resource-band,
  .wire-section { padding: 70px 0; }
  .resource-jump { top: 78px; }
  .wire-alert { grid-template-columns: 1fr; }
  .closing-cta > .wrap { align-items: flex-start; flex-direction: column; }
  .about-intro > h2,
  .resource-heading h2,
  .wire-section h2 { font-size: 35px; }
}

/* Privacy policy and terms */
.legal-content {
  max-width: 920px;
}
.legal-content > section {
  border-top: 1px solid #dce3e5;
  padding: 32px 0 12px;
}
.legal-content > section:first-of-type {
  border-top: 0;
}
.legal-content h2,
.legal-notice h2 {
  color: var(--ink);
  font: 29px/1.25 Georgia, serif;
  margin: 0 0 16px;
}
.legal-content h3 {
  color: var(--navy);
  font-size: 16px;
  margin: 28px 0 9px;
}
.legal-content p,
.legal-content li,
.legal-content address {
  color: var(--muted);
  font-style: normal;
  line-height: 1.75;
}
.legal-content li {
  margin: 7px 0;
}
.legal-content a {
  color: var(--navy);
  font-weight: 800;
}
.legal-notice,
.mobile-disclaimer {
  background: #f2f8d7;
  border-left: 6px solid var(--gold);
  margin-bottom: 28px;
  padding: 28px 32px;
}
.legal-notice p,
.mobile-disclaimer p {
  color: var(--ink);
  margin-bottom: 0;
}
.legal-document-footer {
  border-top: 2px solid var(--navy);
  margin-top: 36px;
  padding-top: 22px;
}
.legal-document-footer p {
  font-size: 13px;
  margin: 5px 0;
}

/* Expandable services */
.services-page {
  max-width: 1080px;
}
.services-accordion {
  border-top: 1px solid #dce3e5;
}
.service-detail {
  border-bottom: 1px solid #dce3e5;
  background: #fff;
}
.service-detail[open] {
  background: var(--cream);
  box-shadow: inset 5px 0 0 var(--gold);
}
.service-detail summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 25px;
  grid-template-columns: 56px 1fr 125px;
  list-style: none;
  padding: 30px 28px;
}
.service-detail summary::-webkit-details-marker {
  display: none;
}
.service-detail summary:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: -3px;
}
.service-number {
  color: var(--gold);
  font: 30px Georgia, serif;
}
.service-summary-copy strong,
.service-summary-copy > span {
  display: block;
}
.service-summary-copy strong {
  color: var(--ink);
  font: 27px/1.2 Georgia, serif;
  margin-bottom: 10px;
}
.service-summary-copy > span {
  color: var(--muted);
  line-height: 1.65;
  max-width: 720px;
}
.service-toggle {
  color: var(--navy);
  font-size: 13px;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}
.show-less {
  display: none;
}
.service-detail[open] .show-more {
  display: none;
}
.service-detail[open] .show-less {
  display: inline;
}
.service-expanded {
  display: grid;
  gap: 28px;
  grid-template-columns: 1fr auto;
  padding: 0 28px 34px 109px;
}
.service-expanded p {
  color: var(--muted);
  line-height: 1.75;
  margin: 0 0 15px;
}
.service-expanded .button {
  align-self: end;
  white-space: nowrap;
}
.services-help {
  align-items: center;
  background: var(--navy);
  color: #fff;
  display: flex;
  gap: 35px;
  justify-content: space-between;
  margin-top: 55px;
  padding: 38px 42px;
}
.services-help .section-kicker {
  color: var(--gold);
}
.services-help h2 {
  font: 30px Georgia, serif;
  margin: 9px 0;
}
.services-help p {
  color: #d4e1e5;
  margin: 0;
}

@media (max-width: 760px) {
  .service-detail summary {
    align-items: start;
    gap: 12px 16px;
    grid-template-columns: 42px 1fr;
    padding: 25px 20px;
  }
  .service-number {
    font-size: 24px;
  }
  .service-summary-copy strong {
    font-size: 23px;
  }
  .service-toggle {
    grid-column: 2;
    text-align: left;
  }
  .service-expanded {
    grid-template-columns: 1fr;
    padding: 0 20px 28px 78px;
  }
  .service-expanded .button {
    justify-self: start;
    white-space: normal;
  }
  .services-help {
    align-items: flex-start;
    flex-direction: column;
    padding: 32px 25px;
  }
}
footer a,
footer span {
  display: block;
  color: #c6d5da;
  margin: 11px 0;
  font-size: 14px;
}
footer a:hover,
footer a:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.error-page { max-width: 850px; }
.error-page h2 { color: var(--ink); font: 40px/1.18 Georgia,serif; }
.turnstile-wrap { margin: 22px 0; min-height: 65px; }
.cookie-banner {
  align-items: center;
  background: #fff;
  border-top: 4px solid var(--gold);
  bottom: 0;
  box-shadow: 0 -12px 40px #071f2b30;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  left: 0;
  padding: 22px max(24px,calc((100vw - 1180px)/2));
  position: fixed;
  right: 0;
  z-index: 1000;
}
.cookie-banner[hidden],.cookie-settings[hidden] { display: none; }
.cookie-banner strong { color: var(--ink); display: block; font: 21px Georgia,serif; }
.cookie-banner p { color: var(--muted); line-height: 1.55; margin: 6px 0 0; max-width: 750px; }
.cookie-banner p a { color: var(--navy); font-weight: 800; text-decoration: underline; }
.cookie-actions { display: flex; flex: 0 0 auto; gap: 10px; }
.cookie-settings { background: #fff; border: 1px solid #c6d5da; bottom: 12px; color: var(--navy); cursor: pointer; font-size: 11px; left: 12px; padding: 8px 10px; position: fixed; z-index: 999; }
.copyright {
  border-top: 1px solid #ffffff22;
  margin-top: 42px;
  padding-top: 20px;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
}
.copyright span,
.copyright a {
  display: inline;
}
.scroll-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 46px;
  height: 46px;
  background: var(--gold);
  color: var(--navy);
  border: 0;
  font-size: 22px;
  font-weight: 800;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s;
  z-index: 60;
}
.scroll-top.visible {
  opacity: 1;
  visibility: visible;
}
.planning-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 36px;
}
.planning-card {
  display: block;
  border: 1px solid #dce3e5;
  padding: 28px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 10px 35px #0b2f400b;
  transition: 0.2s;
}
.planning-card:hover {
  transform: translateY(-3px);
  border-color: var(--gold);
}
.planning-card > b {
  font-size: 26px;
  color: var(--gold);
}
.planning-card h2 {
  font: 25px Georgia, serif;
  margin: 16px 0 8px;
}
.planning-card p,
.field-help {
  color: var(--muted);
  line-height: 1.6;
}
.planning-card span,
.back-tools {
  font-weight: 800;
  color: var(--blue);
}
.tool-page {
  max-width: 900px;
}
.back-tools {
  display: inline-block;
  margin-bottom: 24px;
}
.calc-result small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 15px;
}
.calculator-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.title-estimator .calc-result small { line-height: 1.55; }
.calculator-details { border-top: 1px solid #dce3e5; color: var(--muted); line-height: 1.65; margin-top: 24px; padding-top: 18px; }
.calculator-details summary { color: var(--navy); cursor: pointer; font-weight: 800; }
.calculator-details p { margin: 13px 0 0; }

/* Western PA municipal requirements */
.municipal-intro { max-width: 1180px; }.municipal-intro > p { color: var(--muted); line-height: 1.75; max-width: 950px; }.municipal-status-key { display:flex; flex-wrap:wrap; gap:14px 26px; margin:26px 0 32px; }.municipal-status-key b { display:inline-grid; height:24px; margin-right:6px; place-items:center; width:24px; }.municipal-filters { background:#f5f7f7; display:grid; gap:16px; grid-template-columns:1fr 1.4fr 1fr; padding:24px; }.municipal-filters label { color:var(--ink); font-size:13px; font-weight:800; }.municipal-filters input,.municipal-filters select { background:#fff; border:1px solid #cbd5d8; display:block; font-size:16px; margin-top:7px; padding:13px; width:100%; }.municipal-count { color:var(--muted); font-size:14px; margin:25px 0 15px; }.municipal-results { display:grid; gap:18px; grid-template-columns:repeat(2,1fr); }.municipal-card { border:1px solid #dce3e5; padding:25px; }.municipal-card-head { border-bottom:1px solid #dce3e5; margin-bottom:17px; padding-bottom:15px; }.municipal-card-head span { color:var(--navy); font-size:11px; font-weight:900; letter-spacing:1.3px; text-transform:uppercase; }.municipal-card h2 { color:var(--ink); font:27px/1.2 Georgia,serif; margin:6px 0 0; }.municipal-card dl { display:grid; gap:12px; grid-template-columns:1fr 1fr; margin:0; }.municipal-card dl div { border-left:2px solid #dce3e5; padding-left:10px; }.municipal-card dt { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; }.municipal-card dd { font-size:14px; font-weight:800; margin:4px 0 0; }.status-required { color:#287348; }.status-not-required { color:#7a5360; }.status-conditional { color:#9a6700; }.status-confirm { color:#586a71; }.municipal-card > p { color:var(--muted); font-size:14px; line-height:1.65; margin:20px 0; }.municipal-card > a { color:var(--navy); font-size:13px; font-weight:900; }.municipal-empty { background:#f5f7f7; color:var(--muted); grid-column:1/-1; padding:26px; }.municipal-authorities { background:#f5f7f7; }.municipal-authorities h2 { color:var(--ink); font:42px/1.2 Georgia,serif; margin:12px 0 30px; max-width:720px; }.authority-grid { display:grid; gap:17px; grid-template-columns:repeat(3,1fr); }.authority-grid article { background:#fff; border-top:3px solid var(--gold); padding:23px; }.authority-grid h3 { color:var(--navy); font-size:16px; margin:0 0 10px; }.authority-grid p { color:var(--muted); font-size:14px; line-height:1.65; margin:0; }.municipal-cta { background:var(--navy); color:#fff; padding:56px 0; }.municipal-cta .wrap { align-items:center; display:flex; gap:35px; justify-content:space-between; }.municipal-cta h2 { font:38px/1.15 Georgia,serif; margin:9px 0; }.municipal-cta p { color:#dce9ed; line-height:1.7; margin:0; max-width:680px; }
.deadline-results {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 25px;
}
.deadline-results p {
  margin: 0;
  padding: 20px;
  background: var(--navy);
  color: #fff;
}
.deadline-results span,
.deadline-results strong {
  display: block;
}
.deadline-results span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #c7dc68;
}
.deadline-results strong {
  margin-top: 8px;
  font: 20px Georgia, serif;
}
@media (max-width: 980px) {
  .nav nav,
  .nav .phone,
  .nav > .button {
    display: none;
  }
  .menu-toggle {
    display: block;
    margin-left: auto;
  }
  .nav nav.open {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 96px;
    background: #fff;
    padding: 20px;
  }
  .nav nav.open ul {
    display: block;
  }
  .nav nav.open li {
    padding: 10px;
  }
  .service-grid,
  .states,
  .form-cards,
  .interior-grid {
    grid-template-columns: 1fr 1fr;
  }
  .professionals {
    grid-template-columns: 1fr;
  }
  .professionals .photo {
    min-height: 420px;
  }
  .tool-cards,
  .resource-cards,
  .process > .wrap > div {
    grid-template-columns: 1fr 1fr;
  }
  .forms-layout,
  .contact-layout {
    grid-template-columns: 1fr;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .footer-grid > img,
  .footer-grid > .footer-logo {
    grid-column: 1/-1;
  }
}
@media (max-width: 620px) {
  .planning-grid,
  .deadline-results {
    grid-template-columns: 1fr;
  }
  .wrap {
    width: calc(100% - 28px);
  }
  .site-header {
    height: 78px;
  }
  .logo img,
  .custom-logo {
    width: 210px;
  }
  .nav nav.open {
    top: 78px;
  }
  .hero {
    height: 710px;
  }
  .hero-copy {
    padding-left: 18px;
  }
  .hero h1 {
    font-size: 44px;
  }
  .hero p {
    font-size: 17px;
  }
  .actions,
  .trust {
    flex-direction: column;
    align-items: flex-start;
  }
  .trust {
    gap: 10px;
  }
  .stats .wrap,
  .service-grid,
  .states,
  .form-cards,
  .tool-cards,
  .resource-cards,
  .process > .wrap > div,
  .interior-grid,
  .post-grid,
  .calc-grid,
  .field-grid,
  .order-options {
    grid-template-columns: 1fr;
  }
  .stats span {
    border-bottom: 1px solid #ffffff22;
  }
  .section {
    padding: 75px 0;
  }
  .heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
  }
  .heading h2,
  .professionals h2,
  .tools h2,
  .process h2,
  .order-band h2,
  .page-hero h1 {
    font-size: 37px;
  }
  .professional-copy {
    padding: 70px 24px;
  }
  .audiences {
    grid-template-columns: 1fr;
  }
  .wire {
    align-items: flex-start;
    flex-direction: column;
  }
  .wire a {
    margin-left: 0;
  }
  .order-band > .wrap {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
  }
  .order-band > .wrap > div:last-child {
    flex-direction: column;
    width: 100%;
  }
  .calculator-tabs {
    overflow-x: auto;
  }
  .calculator-tabs button {
    white-space: nowrap;
  }
  .field-grid .full {
    grid-column: auto;
  }
  .site-form {
    padding: 22px;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .footer-grid > img,
  .footer-grid > .footer-logo {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Location navigation */
.nav nav li {
  position: relative;
}
.nav nav .sub-menu {
  background: #fff;
  border-top: 3px solid var(--gold);
  box-shadow: 0 14px 35px #003f5926;
  display: none;
  gap: 0;
  left: -18px;
  min-width: 220px;
  padding: 10px 0;
  position: absolute;
  top: 100%;
  z-index: 1000;
}
.nav nav li:hover > .sub-menu,
.nav nav li:focus-within > .sub-menu {
  display: block;
}
.nav nav .sub-menu a {
  display: block;
  padding: 11px 18px;
}
.nav nav .sub-menu a:hover,
.nav nav .sub-menu a:focus {
  background: var(--cream);
  color: var(--navy);
}

/* Homepage revision guide: warm split service summary and resource pathways */
.home-what-we-do { background: var(--cream); }
.what-we-do-layout { align-items: center; display: grid; gap: clamp(38px,6vw,82px); grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.what-we-do-photo { min-height: 610px; overflow: hidden; }
.what-we-do-photo img { display: block; height: 100%; object-fit: cover; width: 100%; }
.what-we-do-copy { padding: 20px 0; }
.what-we-do-copy h2, .tools-refresh h2 { color: var(--ink); font: 46px/1.14 Georgia,serif; letter-spacing: -1.2px; margin: 12px 0 22px; }
.what-we-do-copy > p, .tools-refresh-copy > p { color: var(--muted); font-size: 17px; line-height: 1.75; }
.what-we-do-benefits { list-style: none; margin: 30px 0 34px; padding: 0; }
.what-we-do-benefits li { color: var(--ink); line-height: 1.65; margin: 17px 0; padding-left: 44px; position: relative; }
.what-we-do-benefits li::before { align-items: center; background: var(--gold); border-radius: 50%; color: var(--navy); content: '✓'; display: flex; font-weight: 900; height: 27px; justify-content: center; left: 0; position: absolute; top: 0; width: 27px; }
.home-tools { background: #f3f5f5; }
.tools-refresh { align-items: center; display: grid; gap: clamp(38px,6vw,82px); grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr); }
.tools-refresh h2 { max-width: 720px; }
.resource-pathways { margin-top: 30px; }
.resource-pathways p { border-left: 3px solid var(--gold); color: var(--muted); line-height: 1.7; margin: 15px 0; padding: 5px 0 5px 18px; }
.resource-pathways strong { color: var(--navy); }
.tools-refresh .tools-links > a:not(.button) { color: var(--navy); }
.tools-lifestyle { min-height: 440px; overflow: hidden; }
.tools-lifestyle img { display: block; height: 100%; object-fit: cover; width: 100%; }

/* Locations hub and local pages */
.locations-page,
.location-detail,
.service-area-page {
  max-width: 1120px;
}
.location-intro {
  max-width: 800px;
  margin-bottom: 45px;
}
.location-intro h2,
.location-partner h2,
.professional-partner h2,
.location-faq > h2,
.visit-office h2 {
  color: var(--ink);
  font: 40px/1.18 Georgia, serif;
  margin: 12px 0 18px;
}
.location-intro p,
.location-partner p,
.professional-partner p {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.75;
}
.location-cards {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3,1fr);
}
.location-cards article {
  border: 1px solid #dce3e5;
  border-top: 5px solid var(--gold);
  padding: 32px;
}
.location-cards h2 {
  color: var(--ink);
  font: 27px/1.25 Georgia, serif;
}
.location-cards p {
  color: var(--muted);
  line-height: 1.65;
  min-height: 80px;
}
.location-cards a,
.local-service-grid a {
  color: var(--navy);
  font-weight: 800;
}
.location-mark {
  color: var(--navy);
  font-size: 28px;
}
.elsewhere-card {
  align-items: center;
  background: var(--navy);
  color: #fff;
  display: grid;
  gap: 45px;
  grid-template-columns: 1fr auto;
  margin-top: 55px;
  padding: 42px;
}
.elsewhere-card .section-kicker {
  color: var(--gold);
}
.elsewhere-card h2 {
  font: 32px Georgia,serif;
  margin: 10px 0;
}
.elsewhere-card p {
  color: #d4e1e5;
  line-height: 1.7;
}
.location-detail-hero .wrap {
  max-width: 980px;
}
.location-detail-hero p {
  margin: 12px 0;
  max-width: 880px;
}
.location-back {
  color: #fff;
  display: block;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 30px;
}
.location-partner {
  max-width: 900px;
}
.location-partner > strong {
  color: var(--navy);
  display: block;
  font: 25px/1.4 Georgia,serif;
  margin-top: 24px;
}
.location-services,
.professional-partner,
.location-faq,
.visit-office {
  border-top: 1px solid #dce3e5;
  margin-top: 65px;
  padding-top: 65px;
}
.local-service-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3,1fr);
}
.local-service-grid article {
  background: var(--cream);
  padding: 27px;
}
.local-service-grid h3 {
  color: var(--ink);
  font: 22px/1.3 Georgia,serif;
  margin-top: 0;
}
.local-service-grid p {
  color: var(--muted);
  line-height: 1.65;
}
.market-band {
  background: #f2f8d7;
  border-left: 6px solid var(--gold);
  margin-top: 60px;
  padding: 30px 35px;
}
.market-band p {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.7;
  margin-bottom: 0;
}
.professional-partner {
  max-width: 900px;
}
.location-faq details {
  border-bottom: 1px solid #dce3e5;
}
.location-faq summary {
  color: var(--ink);
  cursor: pointer;
  font-weight: 800;
  list-style: none;
  padding: 20px 38px 20px 0;
  position: relative;
}
.location-faq summary::-webkit-details-marker {
  display: none;
}
.location-faq summary::after {
  color: var(--navy);
  content: '+';
  font-size: 25px;
  position: absolute;
  right: 5px;
  top: 14px;
}
.location-faq details[open] summary::after {
  content: '−';
}
.location-faq details p {
  color: var(--muted);
  line-height: 1.7;
  margin-top: 0;
  max-width: 880px;
  padding-bottom: 20px;
}
.visit-office {
  align-items: end;
  display: grid;
  gap: 40px;
  grid-template-columns: 1fr auto;
}
.visit-office address {
  color: var(--muted);
  font-style: normal;
  line-height: 1.7;
}
.visit-office address a {
  color: var(--navy);
  font-weight: 800;
}
.office-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.state-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3,1fr);
}
.state-grid article {
  align-items: center;
  border: 1px solid #dce3e5;
  display: flex;
  gap: 13px;
  padding: 22px;
}
.state-grid span {
  color: var(--navy);
  font-weight: 900;
}
.service-area-actions {
  display: flex;
  gap: 12px;
  margin-top: 35px;
}
.footer-locations {
  border-top: 1px solid #ffffff22;
  margin-top: 40px;
  padding-top: 32px;
}
.footer-location-grid {
  display: grid;
  gap: 35px;
  grid-template-columns: repeat(3,1fr);
}
.footer-location-grid address {
  font-style: normal;
}
.footer-location-grid .footer-location-name {
  color: #fff;
  font-size: 15px;
  font-weight: 800;
}
.footer-location-grid span {
  line-height: 1.6;
}

/* Homepage 2026 content refresh */
.credibility-bar .wrap {
  grid-template-columns: repeat(3,1fr);
  max-width: 900px;
}
.credibility-bar span {
  align-items: baseline;
  display: flex;
  gap: 9px;
  justify-content: center;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 12px;
  font-weight: 800;
}
.credibility-bar strong {
  font-size: 31px;
}
.home-services .heading {
  max-width: 820px;
}
.compact-service-grid {
  grid-template-columns: repeat(2,1fr);
}
.compact-service-grid article {
  border-top: 4px solid var(--gold);
}
.section-action {
  margin-top: 34px;
}
.refreshed-professionals .photo {
  min-height: 570px;
}
.professional-actions {
  flex-wrap: wrap;
}
.professional-copy blockquote {
  border-left: 3px solid var(--gold);
  color: var(--navy);
  font: 24px/1.45 Georgia,serif;
  margin: 42px 0 0;
  padding-left: 22px;
}
.coverage-map-section {
  background: #fafafa;
}
.coverage-layout {
  align-items: center;
  display: grid;
  gap: 55px;
  grid-template-columns: .9fr 1.1fr;
}
.coverage-layout h2 {
  color: var(--ink);
  font: 46px/1.15 Georgia,serif;
  margin: 12px 0 20px;
}
.coverage-layout p {
  color: var(--muted);
  line-height: 1.75;
}
.state-line {
  color: var(--navy) !important;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 1px;
  margin: 25px 0 30px;
}
.coverage-map {
  background: #fff;
  border: 1px solid #dce3e5;
  box-shadow: 0 18px 50px #0b2f4010;
  padding: 20px;
}
.coverage-map svg {
  display: block;
  height: auto;
  width: 100%;
}
.us-shape {
  fill: #e8eff1;
  stroke: #c6d5da;
  stroke-width: 4;
  stroke-linejoin: round;
}
.map-state-lines { fill: none; stroke: #c6d5da; stroke-width: 1.5; opacity: .8; }
.map-insets .us-shape { stroke-width: 2.5; }
.map-insets text { fill: #718189; font: 700 11px Arial,sans-serif; letter-spacing: .4px; }
.map-markers circle {
  fill: var(--navy);
  stroke: var(--gold);
  stroke-width: 5;
}
.map-markers text {
  fill: #fff;
  font: 800 14px Arial,sans-serif;
  text-anchor: middle;
}
.home-tools .heading {
  max-width: 850px;
}
.gateway-cards a {
  align-items: flex-start;
  min-height: 145px;
}
.gateway-cards a > b {
  font-size: 21px;
}
.gateway-cards strong,
.gateway-cards small {
  display: block;
}
.gateway-cards strong {
  font: 20px/1.25 Georgia,serif;
}
.gateway-cards small {
  color: #c8d5da;
  font-size: 13px;
  line-height: 1.55;
  margin-top: 8px;
}
.tools-links {
  align-items: center;
  display: flex;
  gap: 28px;
  margin-top: 34px;
}
.tools-links > a:not(.button) {
  color: #fff;
  font-weight: 800;
}
.order-brand-line {
  color: var(--navy);
  display: block;
  font: 19px Georgia,serif;
  margin-top: 18px;
}

/* Real Estate Professionals */
.professionals-intro { max-width: 940px; padding-bottom: 76px; }
.professionals-intro > p { color: var(--muted); font-size: 18px; line-height: 1.8; }
.professionals-intro h2 { color: var(--ink); font: 34px/1.2 Georgia,serif; margin: 48px 0 23px; }
.professional-jump-grid { display: grid; gap: 18px; grid-template-columns: repeat(3,1fr); }
.professional-jump-grid a { background: var(--navy); color: #fff; display: flex; flex-direction: column; gap: 18px; min-height: 146px; padding: 28px; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.professional-jump-grid a:hover, .professional-jump-grid a:focus-visible { background: #004565; transform: translateY(-3px); }
.professional-jump-grid span { color: var(--gold); font-size: 11px; font-weight: 900; letter-spacing: 1.7px; text-transform: uppercase; }
.professional-jump-grid strong { font: 25px/1.2 Georgia,serif; }
.professional-quote { background: var(--gold); color: var(--navy); font: 31px/1.35 Georgia,serif; padding: 38px 0; text-align: center; }
.professional-audience { padding: 92px 0; scroll-margin-top: 95px; }
.professional-audience-alt { background: #f5f7f7; }
.professional-heading { max-width: 820px; }
.professional-heading h2 { color: var(--ink); font: 48px/1.12 Georgia,serif; margin: 12px 0 22px; }
.professional-heading p, .professional-detail > p { color: var(--muted); line-height: 1.8; }
.professional-detail { margin-top: 48px; }
.professional-detail > h3 { color: var(--navy); font: 33px/1.2 Georgia,serif; margin-bottom: 14px; }
.professional-benefits { display: grid; gap: 16px; grid-template-columns: repeat(3,1fr); margin-top: 34px; }
.professional-benefits article { background: #fff; border-top: 3px solid var(--gold); box-shadow: 0 10px 26px rgba(6,45,61,.06); padding: 25px 22px; }
.professional-benefits h4 { color: var(--navy); font-size: 16px; margin: 0 0 10px; }
.professional-benefits p { color: var(--muted); font-size: 14px; line-height: 1.65; margin: 0; }
.professional-cta { align-items: center; background: var(--navy); color: #fff; display: flex; gap: 36px; justify-content: space-between; margin-top: 52px; padding: 35px 38px; }
.professional-cta h3 { font: 28px/1.2 Georgia,serif; margin: 0 0 9px; }
.professional-cta p { color: #dae8ed; line-height: 1.65; margin: 0; max-width: 720px; }
.professional-cta .button { flex: 0 0 auto; }
.professional-quote-final { background: #f5f7f7; border-bottom: 1px solid #dce3e5; }

@media (max-width:980px) {
  .nav nav.open .sub-menu {
    border: 0;
    box-shadow: none;
    display: block;
    margin-left: 15px;
    min-width: 0;
    padding: 3px 0;
    position: static;
  }
  .location-cards,
  .local-service-grid {
    grid-template-columns: 1fr 1fr;
  }
  .visit-office,
  .elsewhere-card {
    align-items: start;
    grid-template-columns: 1fr;
  }
  .office-actions {
    justify-content: flex-start;
  }
  .coverage-layout {
    grid-template-columns: 1fr;
  }
  .what-we-do-layout,
  .tools-refresh { grid-template-columns: 1fr; }
  .what-we-do-photo { min-height: 460px; }
  .tools-lifestyle { min-height: 360px; }
  .gateway-cards {
    grid-template-columns: 1fr 1fr;
  }
  .professional-benefits { grid-template-columns: repeat(2,1fr); }
  .municipal-results { grid-template-columns:1fr; }.authority-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .location-cards,
  .local-service-grid,
  .state-grid,
  .footer-location-grid {
    grid-template-columns: 1fr;
  }
  .location-cards p {
    min-height: 0;
  }
  .elsewhere-card {
    padding: 30px 24px;
  }
  .location-intro h2,
  .location-partner h2,
  .professional-partner h2,
  .location-faq > h2,
  .visit-office h2 {
    font-size: 33px;
  }
  .service-area-actions,
  .office-actions {
    align-items: flex-start;
    flex-direction: column;
  }
  .credibility-bar .wrap,
  .compact-service-grid,
  .gateway-cards {
    grid-template-columns: 1fr;
  }
  .credibility-bar span {
    border-right: 0;
  }
  .coverage-layout h2 {
    font-size: 37px;
  }
  .what-we-do-copy h2,
  .tools-refresh h2 { font-size: 37px; }
  .what-we-do-photo { min-height: 350px; }
  .coverage-map {
    padding: 8px;
  }
  .tools-links {
    align-items: flex-start;
    flex-direction: column;
  }
  .cookie-banner { align-items: flex-start; flex-direction: column; gap: 18px; max-height: 80vh; overflow-y: auto; }
  .cookie-actions { flex-direction: column; width: 100%; }
  .cookie-actions .button { width: 100%; }
  .professional-jump-grid,
  .professional-benefits { grid-template-columns: 1fr; }
  .professionals-intro { padding-bottom: 54px; }
  .professional-audience { padding: 65px 0; }
  .professional-heading h2 { font-size: 37px; }
  .professional-detail > h3 { font-size: 29px; }
  .professional-quote { font-size: 25px; padding: 31px 0; }
  .professional-cta { align-items: flex-start; flex-direction: column; padding: 29px 24px; }
  .professional-cta .button { width: 100%; }
  .municipal-filters,.authority-grid { grid-template-columns:1fr; }.municipal-cta .wrap { align-items:flex-start; flex-direction:column; }.municipal-cta .button { width:100%; }.municipal-authorities h2 { font-size:34px; }
}

/* September 2026 resources, careers, and header update */
@media (min-width:981px) { .site-header .wrap.nav { width:min(1440px,calc(100% - 56px)); gap:27px; } .nav nav ul { gap:25px; } }
.municipal-county-tabs { background:#f3f5f5; border-bottom:1px solid #dce3e5; }.municipal-county-tabs .wrap { display:flex; gap:9px; overflow-x:auto; padding:13px 0; }.municipal-county-tabs button { background:#fff; border:1px solid #cbd5d8; color:var(--ink); cursor:pointer; font-size:13px; font-weight:800; padding:11px 15px; white-space:nowrap; }.municipal-county-tabs button:hover,.municipal-county-tabs button:focus-visible,.municipal-county-tabs button.active { background:var(--navy); border-color:var(--navy); color:#fff; }.municipal-hero .wrap { position:relative; }.municipal-hero-search { display:block; font-size:13px; font-weight:800; margin-top:26px; max-width:550px; }.municipal-hero-search input { border:0; display:block; font-size:16px; margin-top:7px; padding:15px; width:100%; }.municipal-filters { grid-template-columns:1fr 1fr; max-width:710px; }.resource-disclaimer { background:#f5f7f7; border-left:3px solid var(--gold); color:var(--muted); line-height:1.7; margin:28px 0; padding:18px 20px; }
.homestead-page { max-width:900px; }.homestead-controls { background:#f5f7f7; display:grid; gap:18px; grid-template-columns:1fr 1fr; margin-bottom:28px; padding:25px; }.homestead-controls label { color:var(--ink); font-size:13px; font-weight:800; }.homestead-controls select { background:#fff; border:1px solid #cbd5d8; display:block; font-size:16px; margin-top:7px; padding:13px; width:100%; }.homestead-result { border-top:4px solid var(--gold); box-shadow:0 12px 30px rgba(6,45,61,.07); padding:35px; }.homestead-result h2 { color:var(--ink); font:38px/1.2 Georgia,serif; margin:12px 0 26px; }.homestead-result dl { display:grid; gap:18px; grid-template-columns:1fr 1fr; }.homestead-result dt { color:var(--navy); font-size:12px; font-weight:900; letter-spacing:.8px; text-transform:uppercase; }.homestead-result dd { color:var(--muted); line-height:1.6; margin:7px 0 0; }.homestead-result > p { color:var(--muted); line-height:1.7; }.homestead-result .button { margin-top:15px; }
.careers-intro { max-width:930px; }.careers-intro h2,.career-openings h2,.career-general h2,.career-equal h2 { color:var(--ink); font:42px/1.18 Georgia,serif; }.careers-intro > p,.career-openings > .wrap > p,.career-general > p,.career-equal p { color:var(--muted); font-size:17px; line-height:1.75; }.career-value-grid { display:grid; gap:16px; grid-template-columns:repeat(3,1fr); margin-top:38px; }.career-value-grid article { background:#f5f7f7; border-top:3px solid var(--gold); padding:23px; }.career-value-grid h3 { color:var(--navy); font-size:17px; margin:0 0 10px; }.career-value-grid p { color:var(--muted); font-size:14px; line-height:1.65; margin:0; }.career-openings { background:#f5f7f7; padding:90px 0; }.job-opening { background:#fff; border:1px solid #dce3e5; margin-top:18px; }.job-opening summary { align-items:center; cursor:pointer; display:flex; justify-content:space-between; list-style:none; padding:24px; }.job-opening summary::-webkit-details-marker { display:none; }.job-opening summary strong,.job-opening summary small { display:block; }.job-opening summary strong { color:var(--ink); font:25px/1.2 Georgia,serif; }.job-opening summary small { color:var(--muted); margin-top:8px; }.job-opening summary b { color:var(--navy); font-size:13px; white-space:nowrap; }.job-detail { border-top:1px solid #dce3e5; padding:30px; }.job-detail > p { color:var(--muted); line-height:1.7; }.job-columns { display:grid; gap:35px; grid-template-columns:1fr 1fr; }.job-columns h3,.career-form h3 { color:var(--navy); font-size:17px; }.job-columns li { color:var(--muted); line-height:1.65; margin-bottom:7px; }.career-form { margin-top:28px; }.career-general { max-width:900px; }.career-equal { background:var(--navy); color:#fff; padding:62px 0; }.career-equal h2 { color:#fff; }.career-equal p { color:#dce9ed; max-width:900px; }
@media (max-width:620px) { .homestead-controls,.homestead-result dl,.career-value-grid,.job-columns { grid-template-columns:1fr; }.homestead-result,.job-detail { padding:24px; }.job-opening summary { align-items:flex-start; flex-direction:column; gap:10px; }.career-openings { padding:62px 0; } }

/* September 2026 handoff: full, spaced primary navigation on desktop. */
.submenu-toggle { align-items:center; background:#f4f7f7; border:1px solid #b8cbd0; border-radius:4px; color:var(--navy); cursor:pointer; display:inline-flex; font-size:11px; font-weight:800; height:27px; justify-content:center; letter-spacing:.2px; line-height:1; margin-left:6px; padding:0 9px; text-transform:uppercase; transition:background-color .18s ease,border-color .18s ease,color .18s ease; }
.submenu-toggle:hover,.submenu-toggle[aria-expanded="true"] { background:var(--gold); border-color:var(--gold); color:var(--navy); }
.submenu-toggle:focus-visible { outline:3px solid var(--gold); outline-offset:2px; }
.nav nav li.menu-item-has-children { align-items:center; display:flex; }
.nav nav li.submenu-open > .sub-menu { display:block; }
.career-note { color:var(--muted); font-size:14px; line-height:1.65; margin-top:22px; }
.outline-light { border:1px solid #fff; color:#fff; margin-left:10px; }
.outline-light:hover,.outline-light:focus-visible { background:#fff; color:var(--navy); }
@media (min-width:981px) { .site-header { height:auto; min-height:96px; } .site-header .wrap.nav { display:grid; gap:12px 26px; grid-template-areas:'logo phone order' 'menu menu menu'; grid-template-columns:1fr auto auto; padding:14px 0 12px; width:min(1440px,calc(100% - 56px)); } .nav .logo { grid-area:logo; } .nav .phone { grid-area:phone; } .nav > .button { grid-area:order; } .nav nav { grid-area:menu; margin-left:0; } .nav nav ul { flex-wrap:nowrap; gap:clamp(12px,1.7vw,27px); justify-content:center; } .nav nav a { font-size:13px; white-space:nowrap; } .menu-toggle,.submenu-toggle { display:none; } .nav nav .sub-menu { top:100%; } }
@media (max-width:980px) { .nav nav.open li.menu-item-has-children { align-items:flex-start; flex-wrap:wrap; }.nav nav.open .submenu-toggle { margin-left:4px; }.nav nav.open .sub-menu { border:0; box-shadow:none; display:none; margin-left:15px; min-width:0; padding:3px 0; position:static; width:100%; }.nav nav.open li.submenu-open > .sub-menu { display:block; } }
@media (max-width:620px) { .outline-light { margin:12px 0 0; } }

/* Header alignment handoff: one balanced row once the complete menu fits. */
@media (min-width:1280px) {
  .site-header { height:auto; min-height:96px; }
  .site-header .stalwart-header-inner { box-sizing:border-box; display:grid; grid-template-columns:245px minmax(0,1fr) 250px; align-items:center; column-gap:12px; margin-inline:auto; min-height:96px; padding:14px 20px; width:min(100%,1300px); }
  .stalwart-header-logo { display:block; width:245px; }
  .stalwart-header-logo img,.stalwart-header-logo .custom-logo { display:block; height:auto; max-height:none; width:100%; }
  .stalwart-header-nav { align-items:center; display:flex!important; justify-content:center; margin-left:0!important; min-width:0; }
  .stalwart-header-nav ul { align-items:center; display:flex; flex-wrap:nowrap; gap:clamp(14px,1.1vw,24px); justify-content:center; list-style:none; margin:0; padding:0; }
  .stalwart-header-nav a { white-space:nowrap; }
  .stalwart-header-actions { align-items:center; display:flex; gap:18px; justify-content:flex-end; white-space:nowrap; }
  .menu-toggle,.submenu-toggle { display:none; }
}
@media (min-width:981px) and (max-width:1279px) {
  .site-header { height:96px; min-height:0; }
  .site-header .stalwart-header-inner { display:flex; height:100%; padding:0 28px; width:100%; }
  .stalwart-header-logo { width:225px; }
  .stalwart-header-actions,.stalwart-header-nav { display:none!important; }
  .menu-toggle { display:block; margin-left:auto; }
  .stalwart-header-nav.open { background:#fff; display:block!important; left:0; padding:20px 28px; position:absolute; right:0; top:96px; }
  .stalwart-header-nav.open ul { display:block; }
  .stalwart-header-nav.open li { padding:10px; }
  .stalwart-header-nav.open li.menu-item-has-children { align-items:flex-start; flex-wrap:wrap; }
  .stalwart-header-nav.open .submenu-toggle { display:inline-flex; margin-left:4px; }
  .stalwart-header-nav.open .sub-menu { border:0; box-shadow:none; display:none; margin-left:15px; min-width:0; padding:3px 0; position:static; width:100%; }
  .stalwart-header-nav.open li.submenu-open > .sub-menu { display:block; }
}
@media (max-width:980px) {
  .stalwart-header-actions { display:none; }
}

/* Force the three desktop header regions to remain distinct. */
@media (min-width:1280px) {
  .site-header .stalwart-header-inner.nav { display:grid!important; grid-template-areas:'logo navigation actions'!important; grid-template-columns:245px minmax(0,1fr) 290px!important; }
  .site-header .stalwart-header-logo { grid-area:logo!important; justify-self:start; position:static!important; transform:none!important; }
  .site-header .stalwart-header-nav { grid-area:navigation!important; justify-self:stretch; position:static!important; transform:none!important; }
  .site-header .stalwart-header-actions { grid-area:actions!important; justify-self:end; position:static!important; transform:none!important; }
  .site-header .stalwart-header-logo .custom-logo-link { display:block; width:245px; }
}

/* Center the Version 3.3 navigation row across its full available width. */
@media (min-width:981px) {
  .site-header .wrap.nav nav { width:100%; }
  .site-header .wrap.nav nav ul { justify-content:center; width:100%; }
}
