/* Shared editorial rhythm, legibility and responsive finishing. */
h1,h2,h3{text-wrap:balance}
p,blockquote{text-wrap:pretty}
.intro{letter-spacing:.035em}
.button,.service-cta,.mobile-cta{font-weight:500}
.form-note{letter-spacing:.015em}
.results-placeholder{border:0;border-top:1px solid var(--line);padding:40px 0 0;gap:8%}
.results-placeholder h3{margin-top:18px}
.evaluation-grid h3{font-size:clamp(23px,2.1vw,30px)}
.evaluation-grid article{min-width:0}
.evaluation-grid p{max-width:40ch}
.map-frame{position:relative}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%}
.dark a:focus-visible,.dark button:focus-visible{outline-color:#c6d2bd}
.textlink:hover,.navcta:hover,header nav a:hover,footer>a:not(.brand):hover{color:var(--green)}
.textlink,.navcta,header nav a,footer>a{transition:color .18s ease}
.service-cta:hover{border-color:var(--green)}
.hero-foot span{line-height:1.5}
.eyebrow>span:first-child{text-wrap:balance}
.step,.review-quotes cite{color:#52616b}
.dark .step{color:#c6d2bd}
/* The wordmark stays typographic: no colored box or badge behind it. */
.brand,.brand span{background:transparent;border:0;box-shadow:none}
@media(min-width:681px){
  .hero-photo img{height:clamp(420px,37vw,560px)}
  .section-top>div{min-width:0;flex:1}
  .section-intro{flex:0 1 330px}
  .about h2 .muted{display:block;margin-top:8px}
  .about h2 br{display:none}
  .service-cta{min-height:44px;display:flex;align-items:center;gap:24px}
  .button{align-items:center}
  .hero .actions .textlink{min-height:44px;display:inline-flex;align-items:center}
}
@media(min-width:681px) and (max-width:950px){
  header{gap:20px}.brand{font-size:22px}header nav{gap:18px;font-size:13px}.navcta{font-size:13px}.navcta span{margin-left:12px}
  .hero-grid{gap:5%;grid-template-columns:1.1fr .9fr}
  h1{font-size:clamp(36px,4.9vw,46px)}
  .hero-desc{font-size:16px}
  .hero-photo figcaption{display:block;padding:14px 16px}.hero-photo figcaption span{display:block}.hero-photo figcaption span+span{margin-top:4px}
  .hero-foot{gap:16px;font-size:11px}
  .evaluation-grid{grid-template-columns:1fr;gap:28px}
  .evaluation-grid article{display:grid;grid-template-columns:1fr 1.3fr;gap:8px 28px;padding-top:24px}
  .evaluation-grid h3{grid-column:1;margin:6px 0 0;font-size:28px}
  .evaluation-grid p{grid-column:2;grid-row:1/4;margin:0}
  .evaluation-grid .small{grid-column:1;margin-top:10px;font-size:11px}
  .evaluation-photo{gap:5%}.evaluation-photo figcaption{padding:24px 24px 24px 0}.evaluation-photo h3{font-size:26px}
  .planning{grid-template-columns:1fr;gap:32px}.planning>div>p:not(.section-label){max-width:60ch}
  .plan-sheet dl div{flex-direction:row}.plan-sheet dd{text-align:right}
  .about{grid-template-columns:.8fr 1.2fr;gap:5%}.about h2{font-size:32px}
  .faq{grid-template-columns:1fr;gap:12px}.faq>div>p:not(.section-label){display:none}
  .results-placeholder{gap:5%}.results-placeholder h3{font-size:28px}
  footer{flex-wrap:wrap}footer p{flex:1}
}
@media(max-width:680px){
  .evaluation-grid h3{font-size:1.5rem}
  .results-placeholder{padding:24px 0 0}
  .results-placeholder h3{margin-top:16px}
  .intro{letter-spacing:.035em}
  .about h2 .muted{margin-top:8px}
  .plan-sheet dd{max-width:none}
  .hero-foot span{font-size:11px;letter-spacing:.02em}
  .service-list .featured .service-cta:hover{background:#dce5d5;color:var(--ink)}
  .evaluation-photo h3 br{display:block}
}
@media(prefers-reduced-motion:reduce){.textlink,.navcta,header nav a,footer>a{transition:none}}
