/* Small additions on top of the old site's theme.css + custom.css, so replacement parts (Netlify forms, links styled as the
   old grunt-button, accordion FAQs, project figures) look like the originals. Colors are the old site's: Army Green #4b5320,
   Desert Tan #b1a688, Gold #efc216, Charcoal #303030. */
.gw-preview { background: #ac2121; color: #fff; text-align: center; font-weight: 700; padding: 4px; font-size: 14px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000; opacity: 0.9; }
a.grunt-button { display: block; text-decoration: none; }
a.grunt-button:hover { color: #fff !important; }
.gw-hp, .gw-sr { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.gw-form .gw-field { height: 55px; font-size: 100%; margin-bottom: 12px; }
.gw-form .gw-message { height: 165px; font-size: 100%; margin-bottom: 12px; }
.gw-form .nf-form-fields-required { margin-bottom: 12px; }
.gw-submit { height: 55px; display: inline-block; box-sizing: border-box; padding: 0 30px; font-size: 1.3rem; text-align: center; color: #fff;
  font-family: "Chakra Petch", sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; border: none; background-color: #b1a688; cursor: pointer; }
.gw-submit:hover { background-color: transparent; border: 2px solid #b1a688; color: #efc216; }
.gw-estimate { max-width: 760px; }
.gw-label { display: block; font-weight: 600; margin: 14px 0 6px; }
.gw-file { display: block; margin-bottom: 8px; }
.gw-checks { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-bottom: 8px; }
.gw-check { display: inline-flex; align-items: center; gap: 6px; }
.uk-navbar-dropdown .uk-nav-header { color: #efc216; }
.gw-sources { font-size: 0.85em; opacity: 0.85; }
.gw-fig { margin: 0; }
.gw-fig img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: solid 2px #303030; }
.gw-fig figcaption { font-size: 0.85em; padding-top: 4px; }
.gw-fig-tall { max-width: 440px; }
.gw-fig-tall img { aspect-ratio: 3 / 4; }
.gw-work h3 { margin-top: 1.2em; }
.gw-faq .uk-accordion-content p { margin-top: 0; }
ul.col2 { padding-left: 1.2em; }
@media (max-width: 959px) { .uk-background-fixed { background-attachment: scroll; } }

a.grunt-button.gw-center { margin: 0 auto; }
#schedule-estimate-box .el-content p { color: #fff; }

#footer .uk-tile-primary a.el-link { color: #303030; font-weight: 600; }
#footer .uk-tile-primary a.el-link:hover { color: #fff; }

.gw-mega .gw-mega-top { margin-bottom: 15px; }
.uk-navbar-dropdown .uk-nav-header a { color: #efc216; }
.gw-nav-cat a { color: #efc216 !important; }

.uk-navbar-dropdown.gw-mega { width: 900px; max-width: calc(100vw - 40px); }
.gw-mega .uk-navbar-dropdown-grid > div { min-width: 0; }
.uk-navbar-dropdown .uk-nav-header, .gw-nav-cat { padding-left: 0 !important; margin-left: 0 !important; }

/* ---- Reading type (2026-10-22). The old theme sets every paragraph to 19.2px, on phones too, with desktop lines up to
   787px (about 100 characters) and 38px stencil h2s. That worked for the old two-paragraph pages; on long pages it is
   tiring to read. Same fonts and colors, smaller and narrower body text, calmer headings. Hero and footer untouched. */
.gw-body p, .gw-body li, ul.col2 li, .gw-faq .uk-accordion-content p, .gw-side p, .gw-side li, .gw-estimate, .gw-estimate label { font-size: 17px; line-height: 1.65; }
.gw-body p, .gw-faq .uk-accordion-content p { max-width: 60ch; }
.gw-main h2, .gw-main .uk-h2 { font-size: 28px; line-height: 1.2; }
.gw-body h2 { margin-top: 1.6em; }
.gw-body h3, .gw-main .uk-h4 { font-size: 21px; line-height: 1.25; }
.gw-side h4 { font-size: 22px; line-height: 1.2; }
.gw-faq .uk-accordion-title { font-size: 20px; line-height: 1.35; }
.tm-page h4.uk-h1 { font-size: 28px; line-height: 1.2; }
.uk-tile-secondary, .uk-tile-secondary p { color: #1a1a1a; font-size: 16px; line-height: 1.6; }
.uk-tile-secondary a { color: #303030; }
@media (max-width: 639px) {
  .gw-body p, .gw-body li, ul.col2 li, .gw-faq .uk-accordion-content p, .gw-side p, .gw-side li, .gw-estimate, .gw-estimate label { font-size: 16px; line-height: 1.6; }
  .gw-main h2, .gw-main .uk-h2 { font-size: 23px; }
  .gw-body h3, .gw-main .uk-h4 { font-size: 19px; }
  .gw-side h4, .tm-page h4.uk-h1 { font-size: 22px; }
  .gw-faq .uk-accordion-title { font-size: 18px; }
}

.gw-body > h2:first-child { margin-top: 0; }
.gw-body p.gw-sources { font-size: 14.5px; }
a[href^="tel:"]:not(.call-button) { white-space: nowrap; }

/* Mobile call button: keep the icon and both words inside the 100px header height */
.mobile-call-button { height: 100px !important; box-sizing: border-box; font-size: 13px; line-height: 15px; padding-top: 6px; }
.mobile-call-button img { width: 52px; }

/* Phone header: logo centered between the call button (left) and the menu icon (right) without touching either */
@media (max-width: 479px) { .tm-header-mobile .uk-navbar-toggle .uk-margin-small-right { display: none; } .tm-header-mobile .uk-logo img { width: 130px !important; } }

/* Phone: one Request Platoon button that opens Call and Text (2026-10-22) */
button.gw-request { border: 0; font-family: inherit; cursor: pointer; }
.gw-request span { display: block; }
.gw-pick { position: fixed; top: 100px; left: 0; z-index: 1001; width: 250px; background: #b1a688; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45); }
.gw-pick[hidden] { display: none; }
.gw-pick-link { display: flex; align-items: center; gap: 12px; padding: 16px 18px; color: #303030 !important; font-weight: 700; font-size: 17px; text-decoration: none; white-space: nowrap; }
.gw-pick-link + .gw-pick-link { border-top: 1px solid rgba(48, 48, 48, 0.35); }
.gw-pick-link img, .gw-pick-link svg { width: 24px; height: 24px; flex: none; }
@media (min-width: 960px) { .gw-pick { display: none !important; } }

/* ---- 2026-10-23 rebuild (page_worksheet.md site-wide rules) ---- */
/* "Veteran Owned and Operated" under every H1 */
.gw-vet-line p { color: #efc216; font-family: "Chakra Petch", sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; font-size: 18px; line-height: 1.3; margin: 8px 0 0; }
/* "More than 70 five-star reviews on Google." above the review tiles */
.gw-review-line { font-size: 18px; line-height: 1.4; margin: 6px 0 0; }
.gw-review-line a { color: inherit; text-decoration: none; }
.gw-review-line a:hover { text-decoration: underline; }
/* "Updated October 2026" */
.gw-updated { font-size: 14px; opacity: 0.8; margin: 0; }
/* Veteran graphic next to the veteran paragraph on Home */
.gw-vet-img { display: block; width: 100%; max-width: 480px; height: auto; margin-top: 14px; border: solid 2px #303030; }
.gw-about .gw-vet-row p { margin-bottom: 0; }
@media (max-width: 639px) { .gw-vet-line p { font-size: 15px; } .gw-review-line { font-size: 16px; } }