*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#172235;font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:#fff;position:sticky;top:0;z-index:5;box-shadow:0 2px 18px #08152a12}.brand{display:flex;align-items:center;gap:10px;font:800 20px Manrope,sans-serif;letter-spacing:.02em;color:#102b50}.brand img{width:43px;height:43px;object-fit:contain}.brand b{color:#2672c9}nav{display:flex;gap:32px;color:#445166;font-size:14px;font-weight:700}nav a:hover,.text-link:hover{color:#2876cf}.phone{font-weight:800;color:#1f68b8}.menu{display:none;border:0;background:none;font-size:25px}.hero{min-height:610px;position:relative;background:#142b48 url("assets/truck-sunset.png") center/cover no-repeat;color:#fff;display:flex;align-items:center;padding:70px 9%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07172beF 0%,#0c2342d9 46%,#0c234250 100%)}.hero-content{position:relative;max-width:690px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.19em;color:#d4e7ff;margin:0 0 18px}.eyebrow.blue{color:#2876cf}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(42px,6vw,70px);line-height:1.07;letter-spacing:-.045em;margin:0 0 20px}h1 em{font-style:normal;color:#7ebaff}.lead{font-size:18px;color:#e0e8f2;max-width:510px;line-height:1.6}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 21px;border-radius:5px;font-weight:800;font-size:13px;border:0;cursor:pointer}.primary{background:#2676cf;color:white}.primary:hover{background:#145ba8}.ghost{border:1px solid #ffffff85;color:#fff}.hero-note{font-size:12px;color:#e5edf6}.check{color:#8dc2ff;font-size:17px;margin-right:8px}.hero-mark{position:absolute;right:8%;bottom:12%;width:110px;opacity:.82}.hero-mark img{width:100%;filter:drop-shadow(0 3px 10px #0006)}.trust{display:flex;justify-content:center;gap:clamp(30px,8vw,110px);padding:25px 5%;background:#f3f6fa;text-align:center}.trust div{display:flex;flex-direction:column;gap:3px}.trust b{font:800 12px Manrope;color:#183b65;letter-spacing:.08em}.trust span{font-size:11px;color:#6b7788}.section{padding:90px 8%}.section-head{text-align:center;max-width:650px;margin:0 auto 42px}.section-head h2,.feature h2,.contact h2{font-size:clamp(30px,4vw,44px);line-height:1.13;letter-spacing:-.04em;margin:0 0 14px}.section-head h2 span{color:#2876cf}.section-head>p:last-child{color:#6a7585;line-height:1.7;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1100px;margin:auto}.service{padding:27px 25px;border:1px solid #e5eaf0;border-radius:7px;box-shadow:0 10px 25px #102d4b08}.ico{width:43px;height:43px;border-radius:6px;background:#eaf3fd;color:#2676cf;display:grid;place-items:center;font-size:26px}.service h3{font-size:17px;margin:17px 0 8px}.service p{font-size:13px;line-height:1.65;color:#697688;margin:0}.feature{display:grid;grid-template-columns:1fr 1fr;background:#f3f6fa;align-items:stretch}.feature-photo{min-height:440px}.feature-photo img{width:100%;height:100%;object-fit:cover}.feature-copy{padding:70px 10%;align-self:center}.feature-copy>p:not(.eyebrow){color:#697688;line-height:1.8;font-size:14px}.feature-copy ul{list-style:none;padding:0;margin:25px 0}.feature-copy li{padding:8px 0 8px 25px;position:relative;font-size:13px;font-weight:600}.feature-copy li:before{content:"✓";position:absolute;left:0;color:#2676cf;font-weight:900}.text-link{font-size:13px;font-weight:800;color:#2676cf}.estimate{background:white}.calc{max-width:900px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;border:1px solid #e1e8f0;border-radius:9px;overflow:hidden;box-shadow:0 16px 45px #17365b12}.fields{padding:30px;display:grid;gap:16px}.fields label,form label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#35445a}.fields input,.fields select,form input,form select,form textarea{width:100%;border:1px solid #d9e1eb;border-radius:4px;padding:12px;font:500 13px "DM Sans";color:#172235;background:#fff}.result{background:#102b4d;color:white;padding:34px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.result span{font-size:12px;color:#c8d8e9}.result strong{font:800 34px Manrope;margin:8px 0}.result small{font-size:11px;color:#c8d8e9;line-height:1.6;margin-bottom:24px}.dark{background:#fff;color:#14345a;font-size:11px}.contact{background:#102b4d;color:white;padding:75px 9%;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.contact>div>p:not(.eyebrow){color:#c8d8e9;line-height:1.7;font-size:14px;max-width:430px;margin-bottom:26px}.white{background:#fff;color:#14345a}.contact form{background:#fff;color:#172235;border-radius:8px;padding:27px;display:grid;gap:14px}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}form small{font-size:10px;color:#788496;line-height:1.5}footer{padding:24px 6%;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#687587;font-size:11px}footer .brand{font-size:16px}footer .brand img{width:34px;height:34px}footer>a:not(.brand){font-weight:800;color:#246dbb}footer small{width:100%;text-align:center;border-top:1px solid #e8edf2;padding-top:15px}@media(max-width:760px){.topbar{height:68px;padding:0 5%}.brand{font-size:17px}.brand img{width:36px;height:36px}nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:20px 6%;flex-direction:column;gap:18px;box-shadow:0 10px 15px #0001}nav.open{display:flex}.phone{margin-left:auto;margin-right:15px;font-size:12px}.menu{display:block}.hero{min-height:570px;padding:65px 7%;background-position:60% center}.hero-shade{background:linear-gradient(90deg,#07172bf2,#0c2342bd)}.hero-mark{width:70px;right:6%;bottom:5%}.trust{gap:20px;padding:20px 3%}.trust b{font-size:10px}.trust span{font-size:9px}.section{padding:65px 6%}.service-grid{grid-template-columns:1fr 1fr;gap:12px}.service{padding:20px 16px}.service h3{font-size:14px}.service p{font-size:12px}.feature{grid-template-columns:1fr}.feature-photo{min-height:260px}.feature-copy{padding:45px 7%}.calc{grid-template-columns:1fr}.result{padding:28px}.contact{grid-template-columns:1fr;padding:60px 6%;gap:30px}footer{justify-content:center;text-align:center}footer .brand{width:100%;justify-content:center}}@media(max-width:420px){.phone{font-size:0}.phone:first-letter{font-size:16px}.service-grid{grid-template-columns:1fr}.formrow{grid-template-columns:1fr}.hero{min-height:540px}.lead{font-size:16px}}
/* Owner photo and video section */
.media-section{background:#fff}
.media-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.media-photo,.media-video{margin:0;border:1px solid #e2e8f0;border-radius:9px;overflow:hidden;background:#f3f6fa;box-shadow:0 12px 32px #102d4b0b}
.media-photo img{display:block;width:100%;height:100%;max-height:430px;object-fit:contain;background:#102b4d}
.media-photo figcaption,.media-video>p{margin:0;padding:14px 18px;color:#536276;font-size:12px;line-height:1.6}
.media-video{display:flex;flex-direction:column;justify-content:center}
.media-video video{display:block;width:100%;aspect-ratio:16/9;background:#08172a;object-fit:contain}
@media(max-width:760px){.media-grid{grid-template-columns:1fr}.media-photo img{height:auto;max-height:none}}

.team-card{max-width:1100px;margin:22px auto 0;display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:0;align-items:stretch;border:1px solid #e2e8f0;border-radius:9px;overflow:hidden;background:#f3f6fa;box-shadow:0 12px 32px #102d4b0b}
.team-photo{margin:0;background:#102b4d}
.team-photo img{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 35%}
.team-copy{padding:36px 40px;display:flex;flex-direction:column;justify-content:center}
.team-copy h3{font-family:Manrope,sans-serif;font-size:clamp(24px,2.6vw,32px);margin:6px 0 4px;color:#0b1f38}
.team-copy .team-role{color:#1f6fd1;font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 14px}
.team-copy p{color:#536276;line-height:1.7;margin:0 0 16px}
@media(max-width:760px){.team-card{grid-template-columns:1fr}.team-photo img{aspect-ratio:4/5;max-height:480px}.team-copy{padding:24px 22px}}

.work-section{background:#f6f8fb}
.work-photo{max-width:680px;margin:0 auto;border:1px solid #e2e8f0;border-radius:9px;overflow:hidden;background:#fff;box-shadow:0 12px 32px #102d4b0b}
.work-photo img{display:block;width:100%;height:auto}
.work-photo figcaption{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 18px;color:#536276;font-size:13px;line-height:1.5}
.work-photo figcaption b{color:#0b1f38}
@media(max-width:560px){.work-photo figcaption{grid-template-columns:1fr}}

.work-video{max-width:680px;margin:22px auto 0;border:1px solid #e2e8f0;border-radius:9px;overflow:hidden;background:#fff;box-shadow:0 12px 32px #102d4b0b}
.work-video video{display:block;width:100%;aspect-ratio:16/9;background:#08172a;object-fit:cover}
.work-video figcaption{padding:14px 18px;color:#536276;font-size:13px;line-height:1.5}

.work-videos{max-width:1100px;margin:22px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:22px}
.work-videos .work-video{max-width:none;margin:0}
.work-video figcaption b{color:#0b1f38}
@media(max-width:760px){.work-videos{grid-template-columns:1fr}}

.media-grid.single{grid-template-columns:1fr;max-width:860px}
.media-grid.single .media-photo img{height:auto;max-height:none}

.work-gallery{max-width:1100px;margin:22px auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}
.ba-card{margin:0;border:1px solid #e2e8f0;border-radius:9px;overflow:hidden;background:#fff;box-shadow:0 12px 32px #102d4b0b}
.ba-img{position:relative}
.ba-img img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.ba-tag{position:absolute;top:10px;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#0b1f38d9}
.ba-tag.left{left:10px}.ba-tag.right{left:calc(50% + 10px);background:#1f6fd1}
.ba-card figcaption{padding:14px 18px;color:#536276;font-size:13px;line-height:1.55}
.ba-card figcaption b{display:block;color:#0b1f38;font-size:15px;margin-bottom:4px}

.repairs{margin-top:48px;padding-top:8px}
.repairs-head{margin-bottom:8px}
.repair-gallery{max-width:1100px;margin:22px auto 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.repair-card{margin:0;border:1px solid #e2e8f0;border-radius:9px;overflow:hidden;background:#fff;box-shadow:0 12px 32px #102d4b0b}
.repair-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center}
.repair-card figcaption{padding:14px 16px;color:#536276;font-size:13px;line-height:1.55}
.repair-card figcaption b{display:block;color:#0b1f38;font-size:15px;margin-bottom:4px}

/* Service area pills */
.area-pill{display:inline-block;background:#fff;border:1.5px solid #dbe4f0;color:#1a3a5c;font-weight:600;font-size:14px;padding:8px 16px;border-radius:999px;transition:all .2s}
.area-pill:hover{background:#1a3a5c;color:#fff;border-color:#1a3a5c}

/* ---------- overlap fixes ---------- */
.hero{position:relative;overflow:hidden}
.hero-mark-fixed{position:absolute;right:16px;top:16px;opacity:.92;pointer-events:none;max-width:88px;z-index:3}
.hero-mark-fixed img{width:100%;height:auto;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.4)}
.hero-content{position:relative;z-index:2;max-width:100%}
.hero-note{display:flex;align-items:center;gap:8px;position:relative;z-index:2;max-width:100%;padding-right:0;margin-top:8px}
@media(max-width:480px){
  .hero-mark-fixed{max-width:64px;right:12px;top:12px}
  .hero-note{font-size:13px}
}
/* FAB: move up so it doesn't cover card text, add safe spacing */
.tlp-fab{bottom:80px !important}
@media(min-width:768px){.tlp-fab{display:none !important}}
