/* BKTURNOVER v23 — conversion-first mobile polish (2026-11-05)
   Preserve the v22 pricing cards, form structure, SEO URLs, and existing branding.
   Accent green is reserved for actionable controls and selected TV highlights. */
.service-site {
  --cta-green: #b8ed70;
  --cta-green-hover: #9bd756;
  --cta-ink: #1a2019;
  --cta-outline: #7c9773;
}
.service-site .site-cta,
.service-site a.button:not(.secondary),
.service-site button.button,
.service-site .mobile-bar > a:last-child,
.service-site.tv-v18 .tv-hero .button,
.service-site.tv-v18 .quote form .button,
.service-site.tv-v18 .tv-repair .button,
.service-site .primary {
  background: var(--cta-green);
  border-color: var(--cta-green);
  color: var(--cta-ink);
}
.service-site .site-cta:hover,
.service-site a.button:not(.secondary):hover,
.service-site button.button:hover,
.service-site .mobile-bar > a:last-child:hover,
.service-site.tv-v18 .tv-hero .button:hover,
.service-site.tv-v18 .quote form .button:hover,
.service-site.tv-v18 .tv-repair .button:hover,
.service-site .primary:hover {
  background: var(--cta-green-hover);
  border-color: var(--cta-green-hover);
  color: var(--cta-ink);
}
.service-site .button.secondary {
  background: transparent;
  color: var(--ink);
  border-color: var(--ink);
}
.service-site .button.secondary:hover {
  background: #e1e4d7;
  color: var(--ink);
  border-color: var(--ink);
}
.service-site .site-cta,
.service-site .button,
.service-site .mobile-bar > a {
  border-radius: 2px;
  box-shadow: none;
  font-weight: 700;
  letter-spacing: -0.015em;
  gap: 12px;
  white-space: normal;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.service-site .site-cta,
.service-site a.button:not(.secondary) {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
}
.service-site .site-cta { min-height: 46px; }
.service-site .bk-arrow {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: inline-block;
  vertical-align: -3px;
  pointer-events: none;
}
.service-site .button .bk-arrow,
.service-site .site-cta .bk-arrow,
.service-site .mobile-bar .bk-arrow { margin-left: auto; }
.service-site .text-link .bk-arrow,
.service-site .contact-links .bk-arrow,
.service-site .site-nav .bk-arrow,
.service-site .site-footer .bk-arrow { width: 14px; height: 14px; vertical-align: -2px; }
.service-site .site-menu {color:var(--ink);-webkit-appearance:none;appearance:none;text-decoration:none;}
.service-site .site-header .site-logo {flex-shrink:0;}
.service-site .site-header .site-cta {flex-shrink:0;}
.service-site a:focus-visible,
.service-site button:focus-visible,
.service-site .site-menu:focus-visible {
  outline: 3px solid #4e8051;
  outline-offset: 3px;
}
/* Fresh olive emphasis, with the original orange logo kept as a recognizable brand element. */
.home-v22 h1 .hours { color:#2d5a35; }
.service-site .package-card {border-radius: 0;} /* Preserve the existing card compositions. */
.service-site .package-card .button {min-height:53px;}
.service-site.tv-v18 .tv-hero,
.service-site.tv-v18 .tv-hero > *,
.service-site.tv-v18 .tv-scope,
.service-site.tv-v18 .tv-detail,
.service-site.tv-v18 .quote,
.service-site.tv-v18 .tv-repair { min-width:0; }
.service-site.tv-v18 .tv-hero h1,
.service-site.tv-v18 .tv-detail h2 {overflow-wrap:normal;}
.service-site.tv-v18 .tv-hero h1 em,
.service-site.tv-v18 .quote h2 em { color:var(--cta-green); font-style:normal; }
.service-site.tv-v18 .tv-hero .hero-service {display:block;letter-spacing:.08em;text-transform:uppercase;}
.service-site.tv-v18 .tv-hero .hero-text-link,
.service-site.tv-v18 .tv-hero .turnaround-note a { color:#eaece4; }
.service-site.tv-v18 .tv-hero .actions {display:flex;flex-wrap:wrap;align-items:center;gap:16px;}
.service-site.tv-v18 .tv-price b { color:var(--cta-green); }
.service-site.tv-v18 .tv-price > strong {color:#f7f5ec;}
.service-site.tv-v18 .tv-strip {
  display:flex;
  gap:10px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  background:#dbeac7;
  padding:18px 20px;
  color:var(--ink);
}
.service-site.tv-v18 .tv-strip > span {
  display:inline-block;
  border:1px solid #9db48c;
  padding:8px 15px;
  font:18px/1.1 Anton,Impact,sans-serif;
  letter-spacing:.02em;
}
.service-site.tv-v18 .tv-detail {overflow:hidden;}
.service-site.tv-v18 .tv-detail img {width:100%;object-fit:cover;}
.service-site.tv-v18 .tv-price-note {color:#d0d2c7;}
.service-site.tv-v18 .tv-repair {background:#e9efdb;color:var(--ink);}
.service-site.tv-v18 .tv-repair .button {min-height:52px;}
.service-site.tv-v18 .quote .quote-intro,
.service-site.tv-v18 .quote .quote-steps {color:#e3e6d9;}
.service-site.tv-v18 .quote .contact-links a {color:#e2e3d8;}
.service-site.tv-v18 .quote > .micro {color:#d0d2c7;}
.service-site.tv-v18 .quote form {background:#e6e5db;color:var(--ink);}
@media(max-width:700px) {
  .service-site .site-header {height:68px;gap:8px;}
  .service-site .site-header .site-logo {font-size:22px!important;letter-spacing:-.05em;}
  .service-site .site-header .site-cta {font-size:11px;padding:11px 12px;min-height:41px;gap:6px;}
  .service-site .site-header .site-cta .bk-arrow {width:14px;height:14px;flex-basis:14px;}
  .service-site .site-menu {font:700 11px/1 Arial, sans-serif;min-width:50px;white-space:nowrap;padding:11px 0 11px 3px;}
  .service-site .site-nav {max-width:100%;}
  /* Reduce excessive headline size so visitors see the offer AND the main CTA in the first viewport. */
  .turnover-hero {padding:20px 0 24px;gap:20px;}
  .home-v22 .hero-copy > .eyebrow {font-size:10px;margin:0 0 14px;letter-spacing:.07em;}
  .home-v22 h1 {font-size:clamp(48px,13.8vw,66px);line-height:.97;letter-spacing:-.025em;margin:0 0 15px;}
  .home-v22 .hero-description {font-size:18px;line-height:1.32;letter-spacing:-.025em;margin:0 0 9px;}
  .home-v22 .hero-description br {display:none;}
  .home-v22 .hero-detail {font-size:12px;line-height:1.5;margin:0 0 10px;max-width:100%;}
  .home-v22 .hero-start-price {font-size:13px;margin:12px 0 0;}
  .home-v22 .hero-start-price strong {font-size:22px;}
  .home-v22 .hero-start-price > span {font-size:11px;line-height:1.5;}
  .home-v22 .actions {display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:8px;margin:15px 0 12px;}
  .home-v22 .actions .button {min-height:51px;display:flex;align-items:center;gap:6px;font-size:12px;padding:12px 11px;line-height:1.2;}
  .home-v22 .hero-qualification {font-size:10px;line-height:1.45;margin:0;}
  .hero-real-work > img {max-height:275px;height:275px;}
  /* Remove duplicate, obstructive sticky CTAs from the top of mobile pages. */
  .service-site .mobile-bar {
    display:grid;
    opacity:0;
    visibility:hidden;
    transform:translateY(calc(100% + 4px));
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
    padding:10px 5% calc(10px + env(safe-area-inset-bottom));
    gap:8px;
    box-shadow:0 -7px 30px rgb(26 32 25 / 10%);
  }
  .service-site .mobile-bar[data-visible="true"] {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .service-site .mobile-bar > a {
    display:inline-flex;
    gap:7px;
    justify-content:center;
    align-items:center;
    min-height:49px;
    font:700 12px/1.2 Arial,sans-serif;
    padding:12px 9px;
  }
  .service-site .mobile-bar > a:first-child {background:transparent;border-color:var(--ink);color:var(--ink);}
  .service-site .mobile-bar > a:last-child {background:var(--cta-green);border-color:var(--cta-green);color:var(--ink);}
  .service-site .mobile-bar .bk-arrow {width:15px;height:15px;flex-basis:15px;}
  .service-site .package-card .button {font-size:12px;}
  /* TV page: restore designed dark layout, prevent giant title/price causing horizontal scroll. */
  .service-site.tv-v18 .tv-hero {display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-height:0;}
  .service-site.tv-v18 .tv-hero .hero-copy {width:100%;padding:25px 22px 27px;min-width:0;}
  .service-site.tv-v18 .tv-hero h1 {font-size:clamp(52px,13.4vw,69px);line-height:.98;margin-bottom:14px;letter-spacing:-.018em;}
  .service-site.tv-v18 .tv-hero .hero-service {font-size:10px;margin-bottom:12px;letter-spacing:0;}
  .service-site.tv-v18 .tv-hero .eyebrow {font-size:9px;margin:0 0 15px;}
  .service-site.tv-v18 .tv-price {display:flex;gap:14px;align-items:center;margin:0 0 12px;}
  .service-site.tv-v18 .tv-price > strong {font-size:75px;line-height:1;letter-spacing:-.03em;white-space:nowrap;}
  .service-site.tv-v18 .tv-price > strong > span {font-size:38px;top:5px;}
  .service-site.tv-v18 .tv-price > div {font-size:9px;padding-left:12px;max-width:135px;}
  .service-site.tv-v18 .tv-price b {font-size:11px;margin-top:4px;}
  .service-site.tv-v18 .tv-hero .lead {font-size:13px;line-height:1.55;margin:0 0 16px;}
  .service-site.tv-v18 .tv-hero .actions {display:flex;gap:14px;align-items:center;margin:0 0 9px;}
  .service-site.tv-v18 .tv-hero .button {font-size:12px;min-height:50px;max-width:100%;padding:14px 15px;}
  .service-site.tv-v18 .tv-hero .hero-photo {width:auto;margin:0 0 15px;min-height:280px;height:290px;}
  .service-site.tv-v18 .tv-hero .hero-photo img {height:100%;width:100%;object-fit:cover;}
  .service-site.tv-v18 .tv-strip {gap:8px;padding:13px 8px;}
  .service-site.tv-v18 .tv-strip > span {font-size:14px;padding:7px 9px;}
  .service-site.tv-v18 .tv-detail {display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding:25px 20px;}
  .service-site.tv-v18 .tv-detail figure {min-width:0;}
  .service-site.tv-v18 .tv-detail img {height:260px;}
  .service-site.tv-v18 .tv-detail h2 {font-size:clamp(42px,11vw,56px);line-height:1.06;}
  .service-site.tv-v18 .tv-scope .cards {gap:22px;}
  .service-site.tv-v18 .quote {padding:27px 21px;}
  .service-site.tv-v18 .quote h2 {font-size:clamp(44px,11vw,60px);}
  .service-site.tv-v18 .faq h2 {font-size:clamp(35px,9vw,49px);}
  .service-site.tv-v18 .tv-repair {padding:28px 22px;}
  .service-site.tv-v18 .tv-repair h2 {font-size:clamp(37px,10vw,50px);}
}
@media(max-width:360px) {
  .service-site .site-header .site-logo {font-size:19px!important;}
  .service-site .site-header .site-cta {font-size:10px;padding:10px 8px;}
  .service-site .site-menu {font-size:10px;min-width:44px;}
  .home-v22 h1 {font-size:13.4vw;}
  .home-v22 .actions {grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);}
  .home-v22 .actions .button {font-size:11px;padding:11px 9px;}
  .service-site.tv-v18 .tv-price>strong {font-size:68px;}
  .service-site.tv-v18 .tv-hero h1 {font-size:13.0vw;}
}
@media(prefers-reduced-motion:reduce) {
  .service-site .mobile-bar {transition:none;}
}
