/* Presentation-only refinement. No content, scripts, routes or form contracts. */
h1,h2{ text-wrap:balance }
p{ text-wrap:pretty }
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid var(--premium-accent);outline-offset:5px}
.form-field input,.form-field select,.form-field textarea{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;scroll-margin-block:140px 100px}
.form-field:focus-within>label,.form-field:focus-within>span{color:var(--premium-accent)}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--premium-accent);box-shadow:0 0 0 1px var(--premium-accent)}
.form-field input:autofill,.form-field textarea:autofill{border-color:var(--premium-accent)}
.form-status{font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.form-status:not(:empty){padding:14px 16px;border-inline-start:2px solid var(--premium-accent);background:var(--premium-tint);margin-top:16px}
.form-status.is-error{color:#ffb5b5;border-inline-start-color:#ffb5b5}
button[type=submit]:disabled{cursor:progress;opacity:.72}
.button,.form-submit,.menu-toggle,.nav-toggle{transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .button:active:not(:disabled),.form-submit:active:not(:disabled){transform:translateY(1px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

:root{--premium-accent:#185c57;--premium-tint:rgba(24,92,87,.055)}
.hero-copy>p,.section-intro>p{max-width:60ch}
.feature-card,.service-row,.office-card{transition:border-color .25s ease,box-shadow .25s ease}
@media(hover:hover){.feature-card:hover,.feature-card:focus-within,.service-row:hover,.service-row:focus-within{border-color:rgba(24,92,87,.38);box-shadow:0 14px 35px rgba(16,62,59,.08)}}
.faq-list summary:focus-visible{outline:2px solid var(--premium-accent);outline-offset:5px}
@media(max-width:760px){.hero-actions .button{min-height:54px}.service-row>a{min-height:44px;display:inline-flex;align-items:center}.mobile-call a:focus-visible{outline-offset:-5px}.office-detail p{overflow-wrap:break-word}}

/* Desktop hero containment; existing copy, imagery and mobile rules preserved. */
@media (min-width:761px){
  .hero-inner{grid-template-columns:minmax(0,47fr) minmax(0,47fr);gap:6%}
  .hero-copy{min-width:0;max-width:100%;padding-right:0}
  .hero-copy>p{max-width:100%}
  .hero-address{width:100%;max-width:310px;justify-self:end;margin-left:0}
}
