/* Website review, 2026-10-09 — OURS, loaded last (see src/review/review.mjs).
 * Every value that restates the original's look was measured on the build before the
 * change it accompanies, so a retagged heading or an added link sits exactly where the
 * original's did. */

/* ---- headings: one <h1> per page ---- */
.gy-sr-only {
  position: absolute !important;
  width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
/* a post body's repeat of its title, now an <h2>, keeps the <h1> metrics (30px/30px, 10px under) */
#page-container .entry-content h2.gy-as-h1 { font-size: 30px !important; line-height: 1em !important; padding-bottom: 10px !important; }
/* the contact module's title, now an <h2> (22px/22px, 500, 16px under) */
#page-container .et_pb_contact_form_container h2.gy-form-title { font-size: 22px !important; line-height: 1em !important; font-weight: 500 !important; padding-bottom: 16px !important; }
/* /contact-us/'s opening heading, now the <h1> (32px/32px, 700, centred, 10px under) */
#page-container h1.gy-contact-h1 { font-size: 32px !important; line-height: 1em !important; font-weight: 700 !important; text-align: center !important; padding-bottom: 10px !important; }

/* ---- links added to existing copy keep the copy's own ink ---- */
#page-container a.gy-plain, #page-container a.gy-plain:hover { color: inherit !important; text-decoration: none; }
.et-l--footer .et_pb_text_18_tb_footer a { color: inherit; }

/* ---- desktop nav: the page you are on stays marked ---- */
@media (min-width: 981px) {
  .et-l--header .et-menu li.current-menu-item > a,
  .et-l--header .et-menu li.current-menu-ancestor > a,
  .et-l--header .et-menu li.current_page_item > a { color: #a32929 !important; opacity: 1 !important; }
}

/* ---- phone/tablet: call button beside the hamburger ---- */
.gy-call { display: none; }
@media (max-width: 980px) {
  .et-l--header .et_mobile_nav_menu { align-items: center; }
  .et-l--header .gy-call {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; margin-right: 6px; color: #a32929; border-radius: 50%;
  }
  .et-l--header .gy-call:active { background: rgba(163, 41, 41, .1); }

  /* sub-menus start closed and open from a caret (public/scripts/review.js) */
  .et-l--header .et_pb_menu .et_mobile_menu li.menu-item-has-children { position: relative; }
  .et-l--header .et_pb_menu .et_mobile_menu li.menu-item-has-children[data-gy-bound]:not(.gy-open) > ul.sub-menu { display: none !important; }
  .et-l--header .et_pb_menu .et_mobile_menu li.menu-item-has-children > a { padding-right: 52px; }
  .et-l--header .et_mobile_menu .gy-sub-toggle {
    position: absolute; top: 0; right: 0; width: 48px; height: 44px; padding: 0; margin: 0;
    background: transparent; border: 0; cursor: pointer; color: #a32929; z-index: 2;
    -webkit-tap-highlight-color: transparent;
  }
  .et-l--header .et_mobile_menu .gy-sub-toggle::before {
    content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px;
    border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
    transform: translate(-50%, -70%) rotate(45deg); transition: transform .2s ease;
  }
  .et-l--header .et_mobile_menu .gy-open > .gy-sub-toggle::before { transform: translate(-50%, -30%) rotate(-135deg); }
}

/* ---- footer ---- */
/* the two added Quick Links restate the measured style of the ones beside them */
.et-l--footer .gy-ql { margin-bottom: 10px !important; }
.et-l--footer .gy-ql p { padding-bottom: 0; }
.et-l--footer .gy-ql a { color: rgba(255, 255, 255, .5); font-size: 16px; line-height: 1.8em; font-weight: 500; }
@media (max-width: 980px) { .et-l--footer .gy-ql a { font-size: 15px; } }
@media (max-width: 767px) { .et-l--footer .gy-ql a { font-size: 14px; } }
.et-l--footer .gy-copy { padding: 24px 0 0 !important; margin-top: 8px; border-top: 1px solid rgba(255, 255, 255, .12); }
.et-l--footer .gy-copy p { margin: 0; padding: 0; font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, .6); }

/* ---- contact forms: the legal line under the last field ---- */
.et_pb_contact_form .gy-form-legal {
  clear: both; margin: 0; padding: 15px 0 0 !important;
  font-size: 13px; line-height: 1.4; text-align: right; color: #555;
}
.et_pb_contact_form .gy-form-legal a { color: inherit !important; text-decoration: underline; }

/* ---- legal pages ---- */
.gy-legal-doc h2 { padding-top: 22px; font-size: 22px; line-height: 1.25; }
.gy-legal-doc h3 { padding-top: 10px; font-size: 18px; line-height: 1.3; }
.gy-legal-doc ul.privacy-policy { padding-bottom: 1em; }
.gy-legal-doc p:last-child { padding-bottom: 0; }

/* the hero forms sit on a dark photo/video: light ink there (measured white-on-dark) */
.et_pb_section_video .et_pb_contact_form .gy-form-legal { color: rgba(255, 255, 255, .85); }
/* /contact-us/: the button hangs 13px below its own row, so the line needs that much more room */
.page-id-257210 .et_pb_contact_form .gy-form-legal { padding-top: 28px !important; }

/* ---- /learn/?s=term: search results, printed as the listing's own cards ---- */
.gy-search-title { padding-bottom: 6px; }
.gy-search-back { padding-bottom: 28px; }
.gy-results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 5.5%; align-items: start; }
.gy-results article.et_pb_post { margin: 0 !important; width: auto !important; border: 1px solid #d8d8d8; padding: 19px; background: #fff; word-wrap: break-word; }
.gy-results .et_pb_image_container { margin: -20px -20px 29px; }
.gy-results .et_pb_image_container img { display: block; width: 100%; height: auto; aspect-ratio: 400 / 250; object-fit: cover; }
.gy-results h2.entry-title { font-size: 18px; line-height: 1em; padding-bottom: 10px; margin: 0; }
@media (max-width: 980px) { .gy-results { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .gy-results { grid-template-columns: minmax(0, 1fr); } }

/* ---- phone: the "CALL US (831) 888-7790" buttons wrapped to two lines (312x118 at 390) ---- */
@media (max-width: 767px) {
  #page-container .et_pb_section a.et_pb_button[href^="tel:"] {
    font-size: 19px !important; padding-left: 12px !important; padding-right: 12px !important; white-space: nowrap;
  }
  #page-container .et_pb_section a.et_pb_button[href^="tel:"]:hover { padding-left: 12px !important; padding-right: 12px !important; }
  #page-container .et_pb_section a.et_pb_button[href^="tel:"]::after { display: none !important; }
}

/* ---- /learn/: search box above the listing, "More Posts" under it ---- */
.gy-blog-search { display: flex; justify-content: flex-end; margin: 0 0 40px; }
.gy-blog-search input { width: 280px; max-width: 100%; height: 44px; padding: 0 14px; border: 1px solid #d8d8d8; border-right: 0; border-radius: 22px 0 0 22px; font: inherit; font-size: 15px; color: #333; background: #fff; }
.gy-blog-search button { height: 44px; padding: 0 22px; border: 0; border-radius: 0 22px 22px 0; background: #a32929; color: #fff; font-family: Montserrat, Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 700; cursor: pointer; }
.gy-blog-search button:hover { background: #8a2222; }
@media (max-width: 767px) { .gy-blog-search { justify-content: stretch; } .gy-blog-search input { flex: 1; width: auto; min-width: 0; } }
.gy-more-wrap { text-align: center; padding: 10px 0 20px; clear: both; }
.gy-more { display: inline-block; min-width: 200px; padding: 12px 34px; border: 0; border-radius: 100px; background: #a32929; color: #fff; font-family: Montserrat, Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; white-space: nowrap; cursor: pointer; transition: background .2s ease; }
.gy-more:hover { background: #8a2222; }
.gy-more[disabled] { opacity: .6; cursor: default; }
.et_pb_blog_grid .gy-card .et_pb_image_container img { display: block; width: 100%; height: auto; aspect-ratio: 400 / 250; object-fit: cover; }

/* ---- service-area maps: fitvids stretched the Google map to ~5,000px tall; 500px, 100px before the footer ---- */
#main-content iframe[data-src*="google.com/maps"], #main-content iframe[src*="google.com/maps"] { width: 100% !important; height: 500px !important; display: block; }
#main-content .fluid-width-video-wrapper:has(iframe[data-src*="google.com/maps"]), #main-content .fluid-width-video-wrapper:has(iframe[src*="google.com/maps"]) { padding-top: 0 !important; height: 500px; }
#main-content .et_pb_row:has(iframe[data-src*="google.com/maps"]), #main-content .et_pb_row:has(iframe[src*="google.com/maps"]) { padding-bottom: 0 !important; min-height: 0 !important; height: auto !important; }
/* the row and the code module carried fixed heights sized for the old, taller map */
#main-content .et_pb_code:has(iframe[data-src*="google.com/maps"]), #main-content .et_pb_code:has(iframe[src*="google.com/maps"]) { height: auto !important; min-height: 0 !important; margin-bottom: 0 !important; }
#main-content .et_pb_section:has(iframe[data-src*="google.com/maps"]), #main-content .et_pb_section:has(iframe[src*="google.com/maps"]) { padding-bottom: 100px !important; }

/* ---- tablet + phone header: 50px section + 30px row padding above and below the logo (236px tall) ---- */
@media (max-width: 980px) {
  .et-l--header .et_pb_section_1_tb_header { padding-top: 6px !important; padding-bottom: 6px !important; }
  .et-l--header .et_pb_row_1_tb_header { padding-top: 10px !important; padding-bottom: 10px !important; }
}
