* { box-sizing: border-box; }
:root { --blue: #111315; --blue2: #111315; --navy: #0b0d0f; --yellow: #d9a52a; --ink: #0b0d0f; --white: #fff; --light: #fafafa; }
html { scroll-behavior: smooth; }
body { margin: 0px; font-family: Arial, Helvetica, sans-serif; background: rgb(255, 255, 255); color: var(--ink); }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }
.ct-header { background: linear-gradient(90deg, rgb(17, 19, 21), rgb(17, 19, 21)); height: 76px; color: rgb(255, 255, 255); position: sticky; top: 0px; z-index: 50; box-shadow: rgba(255, 255, 255, 0.08) 0px 1px 0px; }
.ct-nav { max-width: 1500px; margin: auto; height: 100%; display: grid; grid-template-columns: 310px 1fr auto; align-items: center; gap: 22px; padding: 0px 28px; }
.ct-brand img { width: 285px; height: 58px; object-fit: contain; object-position: left center; }
.ct-links { display: flex; justify-content: center; gap: 30px; font-size: 14px; font-weight: 800; }
.ct-links a { height: 76px; display: flex; align-items: center; position: relative; }
.ct-links a.active::after, .ct-links a:hover::after { content: ""; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 4px; background: var(--yellow); }
.ct-header-actions { display: flex; gap: 22px; align-items: center; }
.ct-phone { font-size: 12px; line-height: 1.1; }
.ct-phone span, .ct-phone strong { display: block; }
.ct-phone strong { font-size: 16px; color: var(--yellow); margin-top: 3px; }
.ct-quote { background: var(--yellow); color: rgb(17, 17, 17); padding: 16px 22px; border-radius: 6px; font-weight: 900; }
.ct-menu { display: none; }
.ct-hero { background: linear-gradient(110deg, rgb(11, 13, 15) 0%, rgb(17, 19, 21) 60%, rgb(17, 19, 21) 100%); height: 430px; position: relative; overflow: hidden; color: rgb(255, 255, 255); }
.ct-hero-overlay { position: absolute; inset: 0px; background: radial-gradient(circle at 62% 18%, rgba(255, 255, 255, 0.18), transparent 32%), linear-gradient(rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.2)); }
.ct-hero-inner { position: relative; z-index: 2; max-width: 1500px; height: 100%; margin: auto; padding: 30px 28px 0px; display: grid; grid-template-columns: 37% 43% 20%; gap: 0px; }
.ct-kicker { font-size: 14px; color: var(--yellow); font-weight: 900; letter-spacing: 0.03em; margin: 8px 0px 10px; }
.ct-hero-copy h1 { font-size: 55px; line-height: 0.94; letter-spacing: -1.5px; margin: 0px; font-weight: 900; }
.ct-hero-copy h1 span { color: var(--yellow); }
.ct-hero-points { list-style: none; margin: 18px 0px; padding: 0px; font-weight: 700; }
.ct-hero-points li { margin: 9px 0px; }
.ct-hero-points li::before { content: "✓"; display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--yellow); color: var(--blue2); font-size: 12px; margin-right: 10px; }
.ct-hero-buttons { display: flex; gap: 15px; }
.ct-btn { padding: 13px 19px; border-radius: 6px; font-weight: 900; }
.ct-btn-yellow { background: var(--yellow); color: rgb(17, 17, 17); }
.ct-btn-outline { border: 2px solid rgb(255, 255, 255); color: rgb(255, 255, 255); }
.ct-van-wrap { height: 100%; overflow: hidden; display: flex; align-items: flex-end; }
.ct-van-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; filter: saturate(1.04); }
.ct-help { margin: 12px 0px 0px 8px; align-self: start; background: rgb(17, 19, 21); border: 2px solid rgb(255, 255, 255); border-radius: 15px; padding: 18px; color: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.22) 0px 10px 28px; }
.ct-help-title { font-size: 20px; color: var(--yellow); font-weight: 900; }
.ct-help p { font-size: 14px; line-height: 1.45; }
.ct-help a { display: block; text-align: center; padding: 11px 10px; border-radius: 5px; margin-top: 9px; font-weight: 900; }
.ct-help-call { background: var(--yellow); color: rgb(17, 17, 17); }
.ct-help-call small { font-size: 12px; }
.ct-help-wa { border: 1px solid rgb(255, 255, 255); }
.ct-help-send { background: rgb(255, 255, 255); color: var(--blue2); }
.ct-ready { text-align: center; font-size: 12px; margin-top: 11px; }
.ct-ready::first-letter { color: rgb(217, 165, 42); }
.ct-trust { background: linear-gradient(rgb(17, 19, 21) 0px, rgb(17, 19, 21) 20px, rgb(255, 255, 255) 20px); }
.ct-trust-inner { max-width: 1390px; margin: 0px auto; padding: 0px 20px; height: 78px; border-radius: 10px; background: rgb(17, 19, 21); color: rgb(255, 255, 255); display: grid; grid-template-columns: 1.15fr repeat(4, 1fr); align-items: center; box-shadow: rgba(0, 0, 0, 0.15) 0px 8px 18px; }
.ct-google, .ct-trust-item { height: 54px; padding: 0px 20px; border-right: 1px solid rgba(255, 255, 255, 0.25); display: flex; align-items: center; gap: 12px; }
.ct-trust-item:last-child { border: 0px; }
.ct-google { display: grid; grid-template-columns: auto auto; gap: 4px 9px; align-content: center; }
.ct-google strong { font-size: 20px; }
.ct-google span { color: var(--yellow); font-size: 18px; }
.ct-google small { grid-column: 1 / -1; }
.ct-trust-item i { font-style: normal; width: 36px; height: 36px; border: 2px solid var(--yellow); border-radius: 50%; display: grid; place-items: center; color: var(--yellow); font-size: 18px; }
.ct-trust-item strong, .ct-trust-item small { display: block; }
.ct-trust-item strong { font-size: 14px; }
.ct-trust-item small, .ct-google small { font-size: 11px; color: rgb(238, 238, 238); margin-top: 3px; }
.ct-content { max-width: 1390px; margin: 14px auto 0px; padding: 0px 20px 18px; display: grid; grid-template-columns: 1.06fr 0.94fr; gap: 24px; }
.ct-section-label { font-size: 11px; color: rgb(17, 19, 21); font-weight: 900; letter-spacing: 0.08em; }
.ct-services h2 { font-size: 30px; line-height: 1.02; margin: 4px 0px 15px; }
.ct-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.ct-service-card { background: rgb(255, 255, 255); border: 1px solid rgb(228, 228, 228); border-radius: 8px; overflow: hidden; position: relative; box-shadow: rgba(0, 0, 0, 0.07) 0px 5px 13px; }
.ct-service-card img { width: 100%; height: 105px; object-fit: cover; }
.ct-service-icon { position: absolute; top: 85px; left: 12px; width: 36px; height: 36px; background: rgb(17, 19, 21); color: rgb(255, 255, 255); border: 2px solid rgb(255, 255, 255); border-radius: 50%; display: grid; place-items: center; }
.ct-service-copy { padding: 23px 12px 13px; }
.ct-service-copy strong { font-size: 13px; }
.ct-service-copy p { font-size: 12px; line-height: 1.42; min-height: 50px; }
.ct-service-copy span { font-size: 12px; color: rgb(17, 19, 21); font-weight: 900; }
.ct-coverage { display: grid; grid-template-columns: 48% 52%; min-height: 310px; border-radius: 9px; overflow: hidden; background: linear-gradient(120deg, rgb(17, 19, 21) 0px, rgb(17, 19, 21) 49%, rgb(17, 19, 21) 49%); color: rgb(255, 255, 255); }
.ct-coverage-copy { padding: 24px; }
.ct-coverage-copy h2 { font-size: 25px; line-height: 1; margin: 0px 0px 10px; }
.ct-coverage-copy h2 span { color: var(--yellow); }
.ct-coverage-copy p { font-size: 13px; line-height: 1.4; }
.ct-coverage-copy > a { display: inline-block; background: var(--yellow); color: rgb(17, 17, 17); padding: 10px 15px; border-radius: 5px; font-size: 12px; font-weight: 900; }
.ct-coverage-copy ul { list-style: none; padding: 8px 0px 0px; margin: 0px; font-size: 12px; }
.ct-coverage-copy li { margin: 4px 0px; }
.ct-coverage-copy li::before { content: "✓"; color: var(--yellow); font-weight: 900; margin-right: 7px; }
.ct-map { position: relative; overflow: hidden; display: grid; place-items: center; background: radial-gradient(circle, rgba(255, 255, 255, 0.08), transparent 45%), linear-gradient(145deg, rgba(255, 255, 255, 0.1), transparent); }
.ct-ring { position: absolute; border: 1px solid var(--yellow); border-radius: 50%; }
.r1 { width: 190px; height: 190px; }
.r2 { width: 130px; height: 130px; }
.r3 { width: 75px; height: 75px; }
.ct-pin { color: var(--yellow); font-size: 37px; transform: translateY(-12px); }
.ct-map strong { position: absolute; top: 62%; font-size: 13px; }
.ct-finder { max-width: 1390px; margin: 0px auto 10px; background: rgb(247, 247, 247); border: 1px solid rgb(230, 230, 230); border-radius: 9px; padding: 12px 15px; display: grid; grid-template-columns: 290px 1fr; gap: 18px; align-items: center; }
.ct-finder-title strong, .ct-finder-title span { display: block; }
.ct-finder-title strong { font-size: 18px; color: rgb(17, 19, 21); }
.ct-finder-title span { font-size: 13px; margin-top: 4px; }
.ct-finder-ui { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 20px; }
.ct-reg label, .ct-size label { display: block; text-align: center; font-size: 11px; font-weight: 900; margin-bottom: 5px; }
.ct-reg-row, .ct-size-row { display: flex; gap: 5px; }
.ct-reg-row span { width: 38px; background: rgb(17, 19, 21); color: rgb(255, 255, 255); display: grid; place-items: center; border-radius: 4px; font-size: 11px; }
.ct-reg input, .ct-size select { height: 38px; border: 1px solid rgb(217, 217, 217); border-radius: 4px; padding: 0px 10px; background: rgb(255, 255, 255); }
.ct-reg input { flex: 1 1 0%; }
.ct-reg button, .ct-size button { height: 38px; border: 0px; border-radius: 4px; background: var(--yellow); font-weight: 900; padding: 0px 17px; }
.ct-size-row select { flex: 1 1 0%; }
.ct-size button { background: rgb(17, 19, 21); color: rgb(255, 255, 255); min-width: 130px; }
.ct-work, .ct-reviews { max-width: 1390px; margin: 32px auto; padding: 0px 20px; }
.ct-work h2, .ct-reviews h2 { font-size: 30px; margin: 5px 0px 16px; }
.ct-work-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.ct-work-grid img { width: 100%; height: 190px; object-fit: cover; border-radius: 8px; }
.ct-review-note { background: rgb(248, 248, 248); border-left: 5px solid var(--yellow); padding: 20px; border-radius: 8px; color: rgb(51, 51, 51); }
.ct-quote-panel { background: rgb(17, 19, 21); color: rgb(255, 255, 255); padding: 36px max(20px, -675px + 50vw); display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.ct-quote-panel .ct-section-label { color: var(--yellow); }
.ct-quote-panel h2 { margin: 5px 0px; font-size: 30px; }
.ct-quote-panel p { margin: 0px; color: rgb(237, 237, 237); }
.ct-quote-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.ct-quote-actions a { background: var(--yellow); color: rgb(17, 17, 17); padding: 12px 15px; border-radius: 5px; font-weight: 900; }
.ct-footer { background: rgb(17, 19, 21); color: rgb(255, 255, 255); }
.ct-footer-inner { max-width: 1390px; margin: auto; padding: 13px 20px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.ct-footer-inner div { padding: 5px 16px; border-right: 1px solid rgba(255, 255, 255, 0.2); }
.ct-footer-inner div:last-child { border: 0px; }
.ct-footer strong, .ct-footer a, .ct-footer span { display: block; }
.ct-footer strong { font-size: 12px; }
.ct-footer a, .ct-footer span { font-size: 12px; color: rgb(255, 255, 255); margin-top: 3px; }
.ct-mobile-bar { display: none; }
@media (max-width: 1120px) {
  .ct-nav { grid-template-columns: 240px 1fr auto; }
  .ct-brand img { width: 230px; }
  .ct-links { gap: 16px; font-size: 12px; }
  .ct-hero-inner { grid-template-columns: 39% 43% 18%; }
  .ct-hero-copy h1 { font-size: 47px; }
  .ct-help { padding: 13px; }
  .ct-help-title { font-size: 16px; }
  .ct-trust-inner { grid-template-columns: repeat(5, 1fr); }
  .ct-content { grid-template-columns: 1fr; }
  .ct-service-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 850px) {
  .ct-header { height: 66px; }
  .ct-nav { height: 66px; grid-template-columns: 1fr auto; padding: 0px 16px; }
  .ct-brand img { width: 220px; height: 48px; }
  .ct-links, .ct-header-actions { display: none; }
  .ct-menu { display: block; background: transparent; border: 0px; color: rgb(255, 255, 255); font-size: 25px; }
  .ct-links.open { display: flex; position: absolute; top: 66px; left: 0px; right: 0px; background: rgb(17, 19, 21); flex-direction: column; gap: 0px; padding: 10px 18px; }
  .ct-links.open a { height: auto; padding: 12px 0px; }
  .ct-hero { height: auto; }
  .ct-hero-inner { grid-template-columns: 1fr; padding: 24px 18px 0px; }
  .ct-hero-copy h1 { font-size: 45px; }
  .ct-van-wrap { height: 315px; }
  .ct-help { margin: 14px 0px 22px; }
  .ct-trust { background: rgb(255, 255, 255); }
  .ct-trust-inner { height: auto; border-radius: 0px; grid-template-columns: repeat(2, 1fr); padding: 10px; }
  .ct-google, .ct-trust-item { border: 0px; }
  .ct-google { grid-column: 1 / -1; }
  .ct-content { padding: 15px 16px; grid-template-columns: 1fr; }
  .ct-service-grid { grid-template-columns: repeat(2, 1fr); }
  .ct-coverage { min-height: 300px; }
  .ct-finder { margin: 0px 16px; grid-template-columns: 1fr; }
  .ct-finder-ui { grid-template-columns: 1fr; }
  .ct-work-grid { grid-template-columns: repeat(2, 1fr); }
  .ct-footer-inner { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  body { padding-bottom: 59px; }
  .ct-hero-copy h1 { font-size: 39px; }
  .ct-kicker { font-size: 11px; }
  .ct-hero-buttons { flex-direction: column; }
  .ct-btn { text-align: center; }
  .ct-van-wrap { height: 235px; }
  .ct-help { border-radius: 10px; }
  .ct-trust-inner { grid-template-columns: 1fr 1fr; }
  .ct-service-grid { grid-template-columns: 1fr; }
  .ct-service-card { display: grid; grid-template-columns: 115px 1fr; }
  .ct-service-card img { height: 100%; min-height: 150px; }
  .ct-service-icon { display: none; }
  .ct-service-copy { padding: 15px; }
  .ct-service-copy p { min-height: 0px; }
  .ct-coverage { grid-template-columns: 1fr; }
  .ct-map { min-height: 220px; }
  .ct-finder { padding: 14px; }
  .ct-reg-row, .ct-size-row { flex-wrap: wrap; }
  .ct-reg-row span { height: 40px; }
  .ct-reg input { min-width: 0px; }
  .ct-reg button { width: 100%; }
  .ct-size-row select { min-width: calc(50% - 3px); height: 40px; }
  .ct-size button { width: 100%; }
  .ct-work-grid { grid-template-columns: 1fr 1fr; }
  .ct-work-grid img { height: 130px; }
  .ct-quote-panel { padding: 28px 16px; display: block; }
  .ct-quote-actions { margin-top: 16px; }
  .ct-footer { padding-bottom: 0px; }
  .ct-footer-inner { grid-template-columns: 1fr 1fr; }
  .ct-mobile-bar { position: fixed; bottom: 0px; left: 0px; right: 0px; height: 59px; display: grid; grid-template-columns: 1fr 1fr 1fr; z-index: 90; }
  .ct-mobile-bar a { display: grid; place-items: center; background: rgb(17, 19, 21); color: rgb(255, 255, 255); font-weight: 900; font-size: 13px; border-right: 1px solid rgba(255, 255, 255, 0.2); }
  .ct-mobile-bar a:nth-child(2) { background: rgb(217, 165, 42); }
  .ct-mobile-bar a:last-child { background: var(--yellow); color: rgb(17, 17, 17); }
}
.ct-brand, .brand { background: transparent !important; box-shadow: none !important; border: 0px !important; outline: 0px !important; }
.ct-brand img, .brand img { background: transparent !important; box-shadow: none !important; border: 0px !important; outline: 0px !important; filter: none !important; }
@media (min-width: 851px) {
  .ct-hero { height: 455px; }
  .ct-hero-inner { grid-template-columns: 42% 58%; gap: 0px; padding-top: 34px; }
  .ct-hero-copy { padding-right: 28px; }
  .ct-van-wrap { min-width: 0px; }
  .ct-hero-copy h1 { font-size: 58px; }
  .ct-hero-buttons { margin-top: 20px; }
  .ct-btn-yellow { font-size: 16px; padding: 15px 22px; }
  .ct-btn-outline { padding: 14px 20px; }
}
.ct-trust-item { padding: 0px 28px; }
.ct-trust-item > div { position: relative; padding-left: 15px; }
.ct-trust-item > div::before { content: ""; position: absolute; left: 0px; top: 3px; bottom: 3px; width: 3px; background: rgb(217, 165, 42); border-radius: 3px; }
.ct-trust-item i { display: none !important; }
@media (max-width: 850px) {
  .ct-hero-inner { grid-template-columns: 1fr; }
  .ct-hero-copy { padding-bottom: 18px; }
  .ct-hero-buttons { display: grid; grid-template-columns: 1fr 1fr; }
  .ct-hero-buttons .ct-btn { text-align: center; }
  .ct-trust-item { padding: 8px 14px; height: auto; min-height: 54px; }
}
@media (max-width: 560px) {
  .ct-hero-buttons { grid-template-columns: 1fr; }
}
.ct-brand { align-items: center; gap: 11px; width: max-content; display: flex !important; background: transparent !important; box-shadow: none !important; border: 0px !important; }
.ct-brand-mark { flex: 0 0 auto; width: 67px !important; height: 48px !important; object-fit: contain !important; background: transparent !important; }
.ct-brand-words { display: flex; flex-direction: column; justify-content: center; line-height: 1; white-space: nowrap; }
.ct-brand-words strong { font-family: Arial, Helvetica, sans-serif; font-size: 21px; line-height: 1.02; font-weight: 900; letter-spacing: 1.7px; color: rgb(255, 255, 255); }
.ct-brand-words small { margin-top: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 10px; line-height: 1; font-weight: 900; letter-spacing: 2px; color: rgb(217, 165, 42); }
@media (max-width: 1120px) {
  .ct-brand-mark { width: 59px !important; height: 43px !important; }
  .ct-brand-words strong { font-size: 18px; letter-spacing: 1.35px; }
  .ct-brand-words small { font-size: 9px; letter-spacing: 1.55px; }
}
@media (max-width: 850px) {
  .ct-brand { gap: 8px; }
  .ct-brand-mark { width: 54px !important; height: 40px !important; }
  .ct-brand-words strong { font-size: 17px; letter-spacing: 1.15px; }
  .ct-brand-words small { font-size: 8px; letter-spacing: 1.35px; }
}
.ct-brand-mark { flex: 0 0 auto; width: 72px !important; height: 48px !important; object-fit: contain !important; }
@media (max-width: 1120px) {
  .ct-brand-mark { width: 64px !important; height: 44px !important; }
}
@media (max-width: 850px) {
  .ct-brand-mark { width: 58px !important; height: 40px !important; }
}
.ct-brand-mark { flex: 0 0 auto; width: 72px !important; height: auto !important; object-fit: contain !important; }
@media (max-width: 1120px) {
  .ct-brand-mark { width: 64px !important; height: auto !important; }
}
@media (max-width: 850px) {
  .ct-brand-mark { width: 58px !important; height: auto !important; }
}
.ct-header { height: 68px; }
.ct-nav { height: 68px; grid-template-columns: 300px 1fr auto; padding: 0px 28px; }
.ct-brand { height: 68px; display: flex !important; align-items: center !important; gap: 8px !important; }
.ct-brand-mark { width: 104px !important; height: auto !important; object-fit: contain !important; flex: 0 0 auto !important; margin: 0px !important; }
.ct-brand-words { display: flex !important; flex-direction: column !important; justify-content: center !important; line-height: 1 !important; white-space: nowrap !important; margin: 0px !important; }
.ct-brand-words strong { font-size: 22px !important; line-height: 1 !important; letter-spacing: 1.6px !important; font-weight: 900 !important; color: rgb(255, 255, 255) !important; }
.ct-brand-words small { margin-top: 4px !important; font-size: 9px !important; line-height: 1 !important; letter-spacing: 2px !important; font-weight: 900 !important; color: rgb(217, 165, 42) !important; }
.ct-links a { height: 68px !important; }
@media (max-width: 1120px) {
  .ct-nav { grid-template-columns: 260px 1fr auto; }
  .ct-brand-mark { width: 92px !important; }
  .ct-brand-words strong { font-size: 20px !important; }
  .ct-brand-words small { font-size: 8px !important; letter-spacing: 1.6px !important; }
}
@media (max-width: 850px) {
  .ct-header { height: 64px; }
  .ct-nav { height: 64px; padding: 0px 16px; }
  .ct-brand { height: 64px; gap: 7px !important; }
  .ct-brand-mark { width: 82px !important; }
  .ct-brand-words strong { font-size: 18px !important; letter-spacing: 1.2px !important; }
  .ct-brand-words small { font-size: 7.5px !important; letter-spacing: 1.35px !important; }
  .ct-links.open { top: 64px !important; }
}
.ct-header { height: 72px !important; }
.ct-nav { height: 72px !important; max-width: 1320px !important; grid-template-columns: 350px 1fr auto !important; padding: 0px 24px !important; }
.ct-brand { height: 72px !important; gap: 10px !important; align-items: center !important; }
.ct-brand-mark { width: 112px !important; height: auto !important; max-height: 62px !important; object-fit: contain !important; }
.ct-brand-words strong { font-size: 23px !important; line-height: 1 !important; letter-spacing: 1.7px !important; }
.ct-brand-words small { font-size: 9px !important; line-height: 1 !important; margin-top: 5px !important; letter-spacing: 2.1px !important; }
.ct-links { justify-content: center !important; gap: 26px !important; }
.ct-links a { height: 72px !important; padding: 0px 2px !important; display: flex !important; align-items: center !important; white-space: nowrap !important; }
@media (min-width: 851px) {
  .ct-hero-inner { max-width: 1320px !important; }
}
@media (max-width: 850px) {
  .ct-header { height: 64px !important; position: sticky !important; top: 0px !important; }
  .ct-nav { height: 64px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 0px 14px !important; }
  .ct-brand { height: 64px !important; gap: 7px !important; flex: 0 1 auto !important; min-width: 0px !important; }
  .ct-brand-mark { width: 78px !important; max-height: 48px !important; }
  .ct-brand-words strong { font-size: 17px !important; letter-spacing: 1.15px !important; }
  .ct-brand-words small { font-size: 7px !important; letter-spacing: 1.25px !important; margin-top: 4px !important; }
  .ct-menu-btn { display: flex !important; width: 42px !important; height: 42px !important; align-items: center !important; justify-content: center !important; border: 1px solid rgba(255, 255, 255, 0.28) !important; border-radius: 8px !important; background: rgba(0, 0, 0, 0.24) !important; color: rgb(255, 255, 255) !important; font-size: 0px !important; padding: 0px !important; flex: 0 0 auto !important; }
  .ct-menu-btn::before { content: "☰"; font-size: 24px; line-height: 1; font-weight: 700; }
  .ct-links { display: none !important; position: absolute !important; left: 12px !important; right: 12px !important; top: 64px !important; z-index: 9999 !important; background: rgb(17, 19, 21) !important; border-width: 3px 1px 1px !important; border-style: solid !important; border-color: rgb(217, 165, 42) rgba(255, 255, 255, 0.16) rgba(255, 255, 255, 0.16) !important; border-image: none !important; border-radius: 0px 0px 12px 12px !important; box-shadow: rgba(0, 0, 0, 0.28) 0px 18px 36px !important; padding: 8px !important; gap: 0px !important; max-height: calc(-76px + 100vh) !important; overflow-y: auto !important; }
  .ct-links.open { display: block !important; }
  .ct-links a { height: auto !important; min-height: 48px !important; display: flex !important; align-items: center !important; padding: 12px 14px !important; border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important; color: rgb(255, 255, 255) !important; font-size: 15px !important; font-weight: 800 !important; }
  .ct-links a:last-child { border-bottom: 0px !important; }
  .ct-links a.active { color: rgb(217, 165, 42) !important; border-left: 3px solid rgb(217, 165, 42) !important; padding-left: 11px !important; }
  .ct-links .ct-drop { display: block !important; }
  .ct-links .ct-drop-menu { position: static !important; display: none !important; box-shadow: none !important; border: 0px !important; border-radius: 0px !important; background: rgba(0, 0, 0, 0.38) !important; min-width: 0px !important; padding: 4px 0px !important; }
  .ct-links .ct-drop:hover .ct-drop-menu { display: block !important; }
  .ct-links .ct-drop-menu a { min-height: 42px !important; font-size: 13px !important; padding: 10px 22px !important; font-weight: 700 !important; }
  .ct-head-cta { display: none !important; }
}
.ct-header { height: 72px !important; }
.ct-nav { height: 72px !important; max-width: 1320px !important; grid-template-columns: 360px minmax(0px, 1fr) auto !important; padding: 0px 22px !important; }
.ct-brand { display: flex !important; align-items: center !important; gap: 12px !important; height: 72px !important; width: auto !important; }
.ct-brand-mark { width: 76px !important; height: 50px !important; max-width: none !important; max-height: none !important; object-fit: contain !important; object-position: center center !important; flex: 0 0 76px !important; margin: 0px !important; }
.ct-brand-words { display: flex !important; flex-direction: column !important; justify-content: center !important; line-height: 1 !important; white-space: nowrap !important; }
.ct-brand-words strong { color: rgb(255, 255, 255) !important; font-size: 23px !important; line-height: 24px !important; font-weight: 900 !important; letter-spacing: 1.6px !important; }
.ct-brand-words small { color: rgb(217, 165, 42) !important; margin-top: 4px !important; font-size: 9px !important; line-height: 10px !important; font-weight: 900 !important; letter-spacing: 2px !important; }
.ct-links { gap: 24px !important; min-width: 0px !important; }
.ct-links a { height: 72px !important; white-space: nowrap !important; }
@media (max-width: 1120px) and (min-width: 851px) {
  .ct-nav { grid-template-columns: 315px minmax(0px, 1fr) auto !important; gap: 12px !important; }
  .ct-brand-mark { width: 68px !important; height: 45px !important; flex-basis: 68px !important; }
  .ct-brand-words strong { font-size: 20px !important; line-height: 21px !important; }
  .ct-brand-words small { font-size: 8px !important; letter-spacing: 1.6px !important; }
  .ct-links { gap: 14px !important; font-size: 12px !important; }
}
@media (max-width: 850px) {
  .ct-header { height: 64px !important; }
  .ct-nav { height: 64px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0px 12px !important; }
  .ct-brand { height: 64px !important; gap: 8px !important; min-width: 0px !important; flex: 1 1 auto !important; }
  .ct-brand-mark { width: 62px !important; height: 42px !important; flex: 0 0 62px !important; }
  .ct-brand-words strong { font-size: 17px !important; line-height: 18px !important; letter-spacing: 1.05px !important; }
  .ct-brand-words small { font-size: 7px !important; line-height: 8px !important; margin-top: 3px !important; letter-spacing: 1.2px !important; }
  .ct-menu { display: flex !important; align-items: center !important; justify-content: center !important; width: 42px !important; height: 42px !important; flex: 0 0 42px !important; border: 1px solid rgba(255, 255, 255, 0.3) !important; border-radius: 8px !important; background: rgba(0, 0, 0, 0.32) !important; color: rgb(255, 255, 255) !important; font-size: 24px !important; line-height: 1 !important; padding: 0px !important; }
  .ct-links { display: none !important; position: absolute !important; top: 64px !important; left: 10px !important; right: 10px !important; z-index: 9999 !important; background: rgb(17, 19, 21) !important; border-top: 3px solid rgb(217, 165, 42) !important; border-radius: 0px 0px 10px 10px !important; box-shadow: rgba(0, 0, 0, 0.32) 0px 16px 34px !important; padding: 7px !important; gap: 0px !important; max-height: calc(-76px + 100vh) !important; overflow-y: auto !important; }
  .ct-links.open { display: block !important; }
  .ct-links a { display: flex !important; align-items: center !important; min-height: 46px !important; height: auto !important; padding: 11px 13px !important; border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important; color: rgb(255, 255, 255) !important; font-size: 14px !important; font-weight: 800 !important; }
  .ct-links a:last-child { border-bottom: 0px !important; }
  .ct-links a.active { color: rgb(217, 165, 42) !important; background: rgba(217, 165, 42, 0.07) !important; }
}
html, body { max-width: 100%; overflow-x: hidden; }
*, ::before, ::after { box-sizing: border-box; }
img, svg, video { max-width: 100%; }
.ct-nav, .ct-hero-inner, .seo-header, .seo-hero, .seo-two, .area-hero, .area-intro, .road-hero, .hub-section, .ct-content, .ct-work, .ct-reviews, .ct-quote-panel { min-width: 0px; }
.ct-nav > *, .ct-hero-inner > *, .seo-two > *, .area-hero > *, .area-intro > *, .road-hero > *, .hub-section > *, .ct-content > * { min-width: 0px; }
h1, h2, h3, p, a, li, span, strong, small { overflow-wrap: break-word; }
@media (max-width: 850px) {
  body { padding-bottom: 68px; }
  .ct-footer { margin-bottom: 0px; }
  .ct-mobile-bar { z-index: 10000 !important; min-height: 58px; }
  .ct-mobile-bar a { min-height: 48px; display: flex; align-items: center; justify-content: center; text-align: center; }
  .ct-links { overscroll-behavior: contain; }
  .ct-brand-words { min-width: 0px; }
}
@media (max-width: 390px) {
  .ct-nav { padding-left: 10px !important; padding-right: 10px !important; }
  .ct-brand { gap: 6px !important; }
  .ct-brand-mark { width: 58px !important; height: 40px !important; flex-basis: 58px !important; }
  .ct-brand-words strong { font-size: 16px !important; letter-spacing: 0.85px !important; }
  .ct-brand-words small { font-size: 6.5px !important; letter-spacing: 1px !important; }
}
@media (max-width: 350px) {
  .ct-brand-mark { width: 52px !important; height: 36px !important; flex-basis: 52px !important; }
  .ct-brand-words strong { font-size: 14px !important; }
  .ct-brand-words small { font-size: 6px !important; }
}
@media (min-width: 851px) {
  .ct-header { height: 72px !important; }
  .ct-nav { height: 72px !important; max-width: 1420px !important; margin: 0px auto !important; padding: 0px 22px !important; display: grid !important; grid-template-columns: 290px minmax(0px, 1fr) 250px !important; column-gap: 14px !important; align-items: center !important; }
  .ct-brand { width: 290px !important; min-width: 290px !important; gap: 9px !important; }
  .ct-brand-mark { width: 72px !important; height: 48px !important; flex: 0 0 72px !important; }
  .ct-brand-words strong { font-size: 21px !important; line-height: 22px !important; letter-spacing: 1.35px !important; }
  .ct-brand-words small { font-size: 8px !important; line-height: 9px !important; letter-spacing: 1.65px !important; margin-top: 4px !important; }
  .ct-links { min-width: 0px !important; display: flex !important; justify-content: center !important; align-items: center !important; gap: 18px !important; font-size: 13px !important; font-weight: 800 !important; white-space: nowrap !important; }
  .ct-links a { flex: 0 0 auto !important; height: 72px !important; padding: 0px !important; white-space: nowrap !important; }
  .ct-header-actions { width: 250px !important; min-width: 250px !important; display: grid !important; grid-template-columns: 104px 132px !important; gap: 14px !important; align-items: center !important; justify-content: end !important; }
  .ct-phone { width: 104px !important; min-width: 104px !important; font-size: 11px !important; line-height: 1.05 !important; white-space: nowrap !important; text-align: left !important; }
  .ct-phone span, .ct-phone strong { display: block !important; white-space: nowrap !important; }
  .ct-phone strong { font-size: 14px !important; margin-top: 3px !important; }
  .ct-quote { width: 132px !important; min-width: 132px !important; padding: 14px 10px !important; text-align: center !important; white-space: nowrap !important; }
}
@media (min-width: 851px) and (max-width: 1220px) {
  .ct-nav { max-width: 1180px !important; grid-template-columns: 245px minmax(0px, 1fr) 220px !important; column-gap: 10px !important; padding: 0px 16px !important; }
  .ct-brand { width: 245px !important; min-width: 245px !important; gap: 7px !important; }
  .ct-brand-mark { width: 62px !important; height: 44px !important; flex-basis: 62px !important; }
  .ct-brand-words strong { font-size: 18px !important; letter-spacing: 1px !important; }
  .ct-brand-words small { font-size: 7px !important; letter-spacing: 1.25px !important; }
  .ct-links { gap: 11px !important; font-size: 11px !important; }
  .ct-header-actions { width: 220px !important; min-width: 220px !important; grid-template-columns: 92px 118px !important; gap: 10px !important; }
  .ct-phone { width: 92px !important; min-width: 92px !important; font-size: 10px !important; }
  .ct-phone strong { font-size: 12px !important; }
  .ct-quote { width: 118px !important; min-width: 118px !important; padding: 13px 8px !important; font-size: 12px !important; }
}