/* Phase 1 cleanup (2026-10-07). Loaded after every other theme stylesheet; delete this file's enqueue to revert. */

/* Headline font: keep Impact where installed, use self-hosted Anton on devices without it (Android, iOS). */
@font-face { font-family: "Anton"; src: url("assets/fonts/anton-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
:root { --display: Impact, "Anton", Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Condensed", sans-serif; }

/* Estimate form (2026-10-07): native three-field form ported from Tarhill; field styles come from
   style.css / tree-removal.css. These rules cover the success panel that replaces the form. */
.epic-estimate-form .form-intro { margin: 9px 0 20px; color: #555149; font-size: 14px; }
@media (max-width: 720px) { .epic-estimate-form .form-intro { margin: 7px 0 16px; font-size: 12px; text-align: center; } }
.sidebar .form-badge.dark { display: none; }
.estimate-success { text-align: center; padding: 10px 4px 4px; animation: epicSuccessIn .35s ease-out; }
.estimate-success:focus { outline: none; }
.estimate-success .success-check { width: 74px; height: 74px; margin: 0 auto 16px; display: grid; place-items: center; border-radius: 50%; background: var(--leaf-bright, #9dc72a); color: #11190d; font-size: 40px; line-height: 1; font-weight: 900; }
.estimate-success h2 { margin: 0 0 10px; }
.estimate-success .success-lead { margin: 0 auto 22px; max-width: 330px; font-size: 16px; line-height: 1.45; }
.estimate-success .success-call { width: 100%; }
@keyframes epicSuccessIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 720px) { .estimate-success .success-lead { font-size: 14px; } .estimate-success .success-check { width: 64px; height: 64px; font-size: 34px; } }

/* Desktop nav: plain links stretched to the dropdown height, so their text sat ~7px higher. */
.nav-links { align-items: center; }

/* Mobile header buttons: inner pages used square buttons; match the homepage's round ones. */
@media (max-width: 820px) {
  .mobile-nav-actions .mobile-phone, .mobile-nav-actions .mobile-menu { width: 49px; height: 49px; border-radius: 50%; color: #fff; }
  .mobile-nav-actions .mobile-phone { border: 1px solid #b7db3f; background: linear-gradient(145deg, var(--leaf-bright), #68880e); }
  .mobile-nav-actions .mobile-menu { padding: 0; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.04); font-size: 25px; }
}

/* Inner-page step cards: the homepage's centered last-card rule was catching step 04. */
.service-hero + .proofbar-wrap .proof-item:last-child { grid-column: auto; justify-content: flex-start; }

/* Tree Removal process list: the homepage's 84px step badge (8px border, auto margin) leaked into the 42px badges. */
.process-step .step-number { margin: 0; border: 0; color: #142009; background: var(--leaf-bright); line-height: 1; }

/* Mobile: the body padding reserved for the sticky call bar showed as a beige strip under the footer. */
@media (max-width: 720px) { body { background-color: #0c1209; } main { background-color: var(--cream, #f5f0e5); } }
