:root {
  color-scheme: light;
  --brand-blue: #1a4b82;
  --brand-deep: #14365e;
  --brand-red: #b91c1c;
  --surface-page: #f8fafc;
  --surface-soft: #f1f5f9;
  --ink: #111827;
  --ink-muted: #52657a;
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; }
body { overflow-x: clip; margin: 0; background: var(--surface-page); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--brand-red); outline-offset: 2px; }
img, svg { display: block; }
h1, h2, h3 { line-height: 1.2; }
.site-container { width: 100%; max-width: 80rem; margin-inline: auto; padding-inline: 1rem; }
.section-pad { padding-block: 5rem; }
.eyebrow { color: var(--brand-red); font-size: .875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.text-xs.uppercase { font-size: .875rem; font-weight: 600; line-height: 1.4; letter-spacing: .06em; }
.section-heading { margin-top: 1rem; color: var(--ink); font-size: 1.875rem; font-weight: 800; line-height: 1.2; letter-spacing: -.025em; }
.section-copy { max-width: 42rem; margin-top: 1.5rem; color: var(--ink-muted); font-size: 1rem; line-height: 1.65; }
.btn-primary, .btn-primary-red, .btn-secondary, .btn-secondary-inverse { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .5rem; padding: .75rem 1.5rem; border-radius: .375rem; font-size: 1rem; font-weight: 700; letter-spacing: .02em; text-align: center; transition: color .3s, background-color .3s, border-color .3s; }
.btn-primary { color: #fff; background: var(--brand-blue); box-shadow: 0 12px 28px -12px rgba(26,75,130,.6); }
.btn-primary:hover { background: var(--brand-deep); }
.btn-primary-red { color: #fff; background: var(--brand-red); box-shadow: 0 10px 18px -10px rgba(185,28,28,.38); }
.btn-primary-red:hover { background: #a01717; }
.btn-secondary { color: var(--brand-blue); background: #fff; border: 2px solid rgba(26,75,130,.2); }
.btn-secondary:hover { background: var(--surface-soft); border-color: var(--brand-blue); }
.btn-secondary-inverse { color: #fff; background: rgba(255,255,255,.05); border: 2px solid rgba(255,255,255,.3); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.btn-secondary-inverse:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.6); }
.nav-link { display: inline-flex; align-items: center; padding: .5rem .75rem; border-radius: .25rem; color: #334155; font-size: .875rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; transition: color .2s; }
.nav-link:hover { color: var(--brand-blue); }
.mobile-link { display: flex; min-height: 2.75rem; align-items: center; padding: .75rem 1rem; border-radius: .375rem; color: #334155; font-size: 1rem; font-weight: 600; line-height: 1.5; transition: color .2s, background-color .2s; }
.mobile-link:hover { color: var(--brand-blue); background: var(--surface-soft); }
.hero-shell { background-color: #14365E; background-image: linear-gradient(rgba(0,0,0,.25), rgba(0,0,0,.25)), linear-gradient(90deg, rgba(20,54,94,.35) 0%, rgba(26,75,130,.20) 100%), var(--hh-hero-image, none); background-size: cover; background-position: center; background-repeat: no-repeat; }
.hero-shell--heating { background-image: linear-gradient(rgba(0,0,0,.3), rgba(0,0,0,.3)), linear-gradient(90deg, rgba(20,54,94,.68) 0%, rgba(26,75,130,.22) 100%), var(--hh-hero-image, none); }
.hero-shell--cooling { background-image: linear-gradient(rgba(0,0,0,.3), rgba(0,0,0,.3)), linear-gradient(90deg, rgba(20,54,94,.68) 0%, rgba(26,75,130,.22) 100%), var(--hh-hero-image, none); }
.hero-shell--water-heater { background-image: linear-gradient(rgba(0,0,0,.3), rgba(0,0,0,.3)), linear-gradient(90deg, rgba(20,54,94,.72) 0%, rgba(26,75,130,.28) 100%), var(--hh-hero-image, none); }
.hero-shell--ventilation, .hero-shell--ductwork { background-image: linear-gradient(rgba(0,0,0,.34), rgba(0,0,0,.34)), linear-gradient(90deg, rgba(20,54,94,.72) 0%, rgba(26,75,130,.28) 100%), var(--hh-hero-image, none); }
.hero-shell--gas-line { background-image: linear-gradient(rgba(0,0,0,.34), rgba(0,0,0,.34)), linear-gradient(90deg, rgba(20,54,94,.72) 0%, rgba(26,75,130,.28) 100%), var(--hh-hero-image, none); }
.hero-shell::before { position: absolute; inset: 0; content: ''; background-image: radial-gradient(rgba(255,255,255,.18) 1px, transparent 1px); background-size: 22px 22px; opacity: .3; }
.trust-pill { display: inline-flex; max-width: 100%; align-items: center; gap: .5rem; padding: .5rem 1rem; border: 1px solid rgba(255,255,255,.2); border-radius: 9999px; color: #fff; background: rgba(255,255,255,.1); font-size: .875rem; font-weight: 600; line-height: 1.25rem; letter-spacing: normal; text-align: center; text-transform: none; white-space: normal; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.financing-section { padding-block: 3.5rem; background: #fff; }
.financing-panel { display: grid; gap: 1.25rem; padding: 1.5rem; border: 2px solid var(--brand-red); border-radius: .875rem; background: #fff; box-shadow: 0 18px 45px -24px rgba(15,39,66,.34); }
.financing-icon { display: flex; width: 3.5rem; height: 3.5rem; align-items: center; justify-content: center; border-radius: .5rem; color: var(--brand-blue); background: rgba(26,75,130,.1); font-size: 1.5rem; }
.financing-title { color: var(--ink); font-size: 1.25rem; font-weight: 800; line-height: 1.2; letter-spacing: -.025em; }
.financing-copy { max-width: 48rem; margin-top: .5rem; color: var(--ink-muted); font-size: 1rem; line-height: 1.75rem; }
.financing-button { width: 100%; white-space: nowrap; }
.trust-card { padding: 1.5rem; border: 1px solid #f1f5f9; border-radius: .875rem; background: #fff; box-shadow: 0 18px 45px -24px rgba(15,39,66,.34); transition: transform .3s, box-shadow .3s; }
.trust-card:hover, .service-card:hover { transform: translateY(-4px); box-shadow: 0 28px 60px -18px rgba(15,39,66,.55); }
.service-card { display: flex; height: 100%; flex-direction: column; overflow: hidden; border: 1px solid #cbd5e1; border-radius: .875rem; background: #fff; box-shadow: 0 20px 50px -20px rgba(15,39,66,.45); transition: transform .3s, box-shadow .3s, border-color .3s; }
.service-card:hover { border-color: rgba(26,75,130,.3); }
.service-card-image { display: flex; min-height: 200px; height: 100%; align-items: center; justify-content: center; background: linear-gradient(135deg, #e2e8f0, #cbd5e1); }
.icon-tile, .icon-tile-red { display: flex; width: 3.5rem; height: 3.5rem; align-items: center; justify-content: center; border-radius: .5rem; color: #fff; font-size: 1.5rem; }
.icon-tile { background: var(--brand-blue); box-shadow: 0 10px 15px -3px rgba(26,75,130,.25); }
.icon-tile-red { background: var(--brand-red); box-shadow: 0 10px 15px -3px rgba(185,28,28,.25); }
.dark-pattern { background-color: #0f2742; background-image: radial-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(135deg, rgba(26,75,130,.55), rgba(15,39,66,.95)); background-size: 24px 24px, auto; }
.brand-panel { position: relative; overflow: hidden; padding: 2rem; border-radius: 1rem; color: #fff; background: var(--brand-blue); box-shadow: 0 24px 50px -20px rgba(15,39,66,.42); opacity: 0; transform: translateY(40px); will-change: transform, opacity; }
.brand-panel.is-visible { animation: brand-panel-mobile 1s cubic-bezier(.22,1,.36,1) forwards; }
@media (min-width: 1024px) {
  .brand-panel { transform: translateX(-60px); }
  .brand-panel.is-visible { animation: brand-panel-desktop 1s cubic-bezier(.22,1,.36,1) forwards; }
}
@keyframes brand-panel-mobile { 0% { opacity: 0; transform: translateY(40px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes brand-panel-desktop { 0% { opacity: 0; transform: translateX(-60px); } 100% { opacity: 1; transform: translateX(0); } }
.brand-panel::after { position: absolute; right: -5rem; bottom: -6rem; width: 18rem; height: 18rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='white' fill-opacity='0.06' d='M383.8 351.7c2.5-2.5 105.2-92.4 105.2-92.4l-17.5-7.5c-10-4.9-7.4-11.5-5-17.4 2.4-7.6 20.1-67.3 20.1-67.3s-47.7 10-57.7 12.5c-7.5 2.4-10-2.5-12.5-7.5s-15-32.4-15-32.4-52.6 59.9-55.1 62.3c-10 7.5-20.1 0-17.6-10 0-10 27.6-129.6 27.6-129.6s-30.1 17.4-40.1 22.4c-7.5 5-12.6 5-17.6-5C293.5 72.3 255.9 0 255.9 0s-37.5 72.3-42.5 79.8c-5 10-10 10-17.6 5-10-5-40.1-22.4-40.1-22.4S183.3 182 183.3 192c2.5 10-7.5 17.5-17.6 10-2.5-2.5-55.1-62.3-55.1-62.3S98.1 167 95.6 172s-5 9.9-12.5 7.5C73 177 25.4 167 25.4 167s17.6 59.7 20.1 67.3c2.4 6 5 12.5-5 17.4L23 259.3s102.6 89.9 105.2 92.4c5.1 5 10 7.5 5.1 22.5-5.1 15-10.1 35.1-10.1 35.1s95.2-20.1 105.3-22.6c8.7-.9 18.3 2.5 18.3 12.5S241 512 241 512h30s-5.8-102.7-5.8-112.8 9.5-13.4 18.4-12.5c10 2.5 105.2 22.6 105.2 22.6s-5-20.1-10-35.1 0-17.5 5-22.5z'/%3E%3C/svg%3E"); background-size: contain; background-repeat: no-repeat; content: ''; }
.benefit-card { padding: 1.5rem; border: 1px solid #e2e8f0; border-radius: .875rem; background: #fff; box-shadow: 0 18px 45px -24px rgba(15,39,66,.34); opacity: 0; transform: translateY(28px); will-change: transform, opacity; }
a.benefit-card { transition: transform .3s, box-shadow .3s, border-color .3s; }
a.benefit-card:hover, a.benefit-card:focus-visible { border-color: rgba(26,75,130,.3); box-shadow: 0 28px 60px -18px rgba(15,39,66,.55); transform: translateY(-4px); }
.benefit-icon-wrap { display: inline-flex; width: 3.5rem; height: 3.5rem; align-items: center; justify-content: center; border-radius: .75rem; }
.benefit-icon-blue { background: rgba(26,75,130,.1); color: var(--brand-blue); }
.benefit-icon-red { background: rgba(185,28,28,.1); color: var(--brand-red); }
.benefit-card.is-visible { animation: benefit-card-fade-up 1.3s cubic-bezier(.22,1,.36,1) forwards; }
.benefit-card.is-visible:nth-child(1) { animation-delay: 0s; }
.benefit-card.is-visible:nth-child(2) { animation-delay: .18s; }
.benefit-card.is-visible:nth-child(3) { animation-delay: .36s; }
.benefit-card.is-visible:nth-child(4) { animation-delay: .54s; }
@keyframes benefit-card-fade-up { 0% { opacity: 0; transform: translateY(28px); } 100% { opacity: 1; transform: translateY(0); } }
.step-card { position: relative; padding: 1.75rem; border: 1px solid rgba(255,255,255,.15); border-radius: .875rem; background: rgba(255,255,255,.05); text-align: center; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; transform: translateY(28px); will-change: transform, opacity; }
.step-card.is-visible { animation: step-card-fade-up 1.3s cubic-bezier(.22,1,.36,1) forwards; }
.step-card.is-visible:nth-child(1) { animation-delay: 0s; }
.step-card.is-visible:nth-child(2) { animation-delay: .18s; }
.step-card.is-visible:nth-child(3) { animation-delay: .36s; }
@keyframes step-card-fade-up { 0% { opacity: 0; transform: translateY(28px); } 100% { opacity: 1; transform: translateY(0); } }
.step-flow { display: grid; gap: 2.5rem; }
.step-flow-item { position: relative; text-align: center; opacity: 0; transform: translateY(20px); will-change: transform, opacity; }
.step-flow-icon { display: inline-flex; width: 4rem; height: 4rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--brand-blue); border: 2px solid var(--brand-blue); color: #fff; font-size: 1.5rem; position: relative; z-index: 1; }
.step-flow-icon-accent { background: var(--brand-red); border-color: var(--brand-red); }
.step-flow-item.is-visible { animation: step-flow-fade-up 0.8s cubic-bezier(.22,1,.36,1) forwards; }
.step-flow-item.is-visible:nth-child(2) { animation-delay: .15s; }
.step-flow-item.is-visible:nth-child(3) { animation-delay: .3s; }
@keyframes step-flow-fade-up { 0% { opacity: 0; transform: translateY(20px); } 100% { opacity: 1; transform: translateY(0); } }
@media (min-width: 768px) {
  .step-flow { grid-template-columns: 1fr 1fr 1fr; position: relative; }
  .step-flow::before { content: ''; position: absolute; top: 2rem; left: 16.67%; right: 16.67%; height: 2px; background: rgba(255,255,255,.15); z-index: 0; }
}
.brand-chip { padding: .5rem 1rem; border: 1px solid rgba(26,75,130,.15); border-radius: 9999px; color: var(--brand-deep); background: #fff; font-size: .875rem; font-weight: 600; box-shadow: 0 1px 2px rgba(26,75,130,.08); }
.footer-link { color: #cbd5e1; font-size: 1rem; font-weight: 600; line-height: 1.5; transition: color .2s; }
.footer-link:hover { color: #fff; }
footer .text-slate-400 { color: #cbd5e1; font-size: .875rem; line-height: 1.5; }
.services-menu { visibility: hidden; position: absolute; z-index: 50; top: 100%; left: 0; width: 16rem; margin-top: .5rem; padding: .75rem; border: 1px solid #f1f5f9; border-radius: .5rem; opacity: 0; background: #fff; box-shadow: 0 24px 50px -20px rgba(15,39,66,.42); transform: translateY(.5rem); transition: visibility .2s, opacity .2s, transform .2s; }
.group:hover .services-menu, .group:focus-within .services-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.mobile-nav { visibility: hidden; pointer-events: none; position: fixed; z-index: 40; inset: 4rem 0 0; display: flex; flex-direction: column; opacity: 0; background: #fff; box-shadow: 0 25px 50px -12px rgba(15,39,66,.25); transform: translateX(100%); transition: visibility .3s, opacity .3s, transform .3s; }
.mobile-nav.is-open { visibility: visible; pointer-events: auto; opacity: 1; transform: translateX(0); }
.mobile-nav-scroll { flex: 1; overflow-y: auto; padding: 1.5rem 1rem; }
.mobile-nav-cta { display: flex; flex-direction: column; gap: .5rem; border-top: 1px solid #e2e8f0; background: #fff; padding: 1rem 1rem; }
.btn-cta-compact { display: none; align-items: center; justify-content: center; gap: .375rem; border-radius: .375rem; background: var(--brand-red); padding: .5rem 1rem; color: #fff; font-size: .875rem; font-weight: 700; letter-spacing: .02em; box-shadow: 0 10px 15px -3px rgba(185,28,28,.25); transition: background-color .3s; }
.btn-cta-compact:hover { background: #a01717; }
.stack-title { position: static; }
.stack-card { position: static; opacity: 0; transform: translateY(28px); will-change: transform, opacity; }
.stack-card.is-visible { animation: stack-card-fade-up 1.3s cubic-bezier(.22,1,.36,1) forwards; }
.stack-card.is-visible:nth-of-type(1) { animation-delay: 0s; }
.stack-card.is-visible:nth-of-type(2) { animation-delay: .18s; }
.stack-card.is-visible:nth-of-type(3) { animation-delay: .36s; }
.stack-card.is-visible:nth-of-type(4) { animation-delay: .54s; }
.stack-card.is-visible:nth-of-type(5) { animation-delay: .72s; }
.stack-card.is-visible:nth-of-type(6) { animation-delay: .9s; }
@keyframes stack-card-fade-up { 0% { opacity: 0; transform: translateY(28px); } 100% { opacity: 1; transform: translateY(0); } }

@media (max-width: 767px) {
  .benefit-card.is-visible, .step-card.is-visible, .stack-card.is-visible { animation-delay: 0s !important; }

  /* Global mobile */
  .section-pad { padding-block: 3rem; }
  .section-heading { font-size: clamp(1.75rem, 4vw + 1rem, 2.25rem); }
  img { max-width: 100%; }
  .btn-primary, .btn-primary-red, .btn-secondary, .btn-secondary-inverse { display: flex; width: 100%; }
  .trust-pill { font-size: .875rem; }

  /* Hero */
  .hero-shell { background-position: 70% center; }
  .hero-form { background: rgba(20,54,94,.85); }
  .hero-form-input { font-size: 1rem; }
  .hero-form-label { font-size: .875rem; }

  /* Service cards */
  .service-card-image { min-height: 0; }
  .icon-tile, .icon-tile-red { width: 2.5rem; height: 2.5rem; font-size: 1.25rem; }

  /* Truck */
  .truck-wrapper { max-width: 100%; }
}

@media (min-width: 640px) {
  .site-container { padding-inline: 2rem; }
  .section-heading { font-size: 2.25rem; }
  .trust-pill { font-size: .875rem; }
  .btn-primary, .btn-primary-red, .btn-secondary, .btn-secondary-inverse { padding-inline: 2rem; }
}

@media (min-width: 768px) {
  .section-pad { padding-block: 7rem; }
  .section-heading { font-size: 3rem; }
  .section-copy { font-size: 1.125rem; }
  .financing-section { padding-block: 4rem; }
  .financing-panel { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; padding: 2rem; }
  .financing-title { font-size: 1.5rem; }
  .financing-button { width: auto; justify-self: end; }
  .brand-panel { padding: 3rem; }
  .mobile-nav { top: 8rem; }
  .stack-title { position: sticky; top: 25vh; }
  .stack-card { position: sticky; top: 25vh; z-index: 1; opacity: 1; transform: none; animation: none; }
  .stack-card:nth-of-type(2) { z-index: 2; top: calc(25vh + 20px); }
  .stack-card:nth-of-type(3) { z-index: 3; top: calc(25vh + 40px); }
  .stack-card:nth-of-type(4) { z-index: 4; top: calc(25vh + 60px); }
  .stack-card:nth-of-type(5) { z-index: 5; top: calc(25vh + 80px); }
  .stack-card:nth-of-type(6) { z-index: 6; top: calc(25vh + 100px); }
}

@media (min-width: 1280px) {
  .mobile-nav { display: none; }
}

.truck-wrapper { position: relative; width: 100%; max-width: 520px; aspect-ratio: 768 / 336; overflow: hidden; margin-inline: auto; }
.truck-inner { position: relative; width: 100%; height: 100%; will-change: transform; }
.truck-base { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: fill; }
.truck-wheel { position: absolute; top: 75.298%; transform-origin: 48% 54%; pointer-events: none; user-select: none; -webkit-user-select: none; display: block; object-fit: fill; border-radius: 50%; clip-path: circle(50%); }
.front-wheel { left: 13.02083%; width: 8.59375%; height: 19.643%; }
.rear-wheel { left: 76.82292%; width: 8.59375%; height: 19.643%; }
.carousel-track { display: flex; flex-direction: column; animation: carousel-btt 45s linear infinite; }
.carousel-track[data-carousel="ttb"] { animation: carousel-ttb 45s linear infinite; }
.carousel-item { border-radius: .5rem; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); flex: 0 0 auto; width: 100%; aspect-ratio: 1; margin-bottom: 1rem; }
@keyframes carousel-btt { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@keyframes carousel-ttb { from { transform: translateY(-50%); } to { transform: translateY(0); } }

.project-gallery-grid { display: grid; gap: 2rem; }
@media (min-width: 768px) {
  .project-gallery-grid { grid-template-columns: 1fr 1fr 3fr; grid-template-areas: "carousel-left carousel-right content"; align-items: stretch; height: 65vh; }
  .project-gallery-carousel-left { grid-area: carousel-left; overflow: hidden; }
  .project-gallery-carousel-right { grid-area: carousel-right; overflow: hidden; }
  .project-gallery-carousel-right .carousel-track { margin-top: -50%; }
  .project-gallery-content { grid-area: content; text-align: left; display: flex; flex-direction: column; justify-content: center; padding: 25px; }
  .project-gallery-content .section-heading, .project-gallery-content .section-copy { margin-inline: 0; }
  .project-gallery-content .mt-8 { justify-content: flex-start; }
}
@media (max-width: 767px) {
  .project-gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto 1fr; grid-template-areas: "content content" "carousel-left carousel-right"; height: 90vh; }
  .project-gallery-content { grid-area: content; text-align: center; padding: 25px; }
  .project-gallery-content .section-heading, .project-gallery-content .section-copy { margin-inline: auto; }
  .project-gallery-content .mt-8 { justify-content: center; }
  .project-gallery-carousel-left { grid-area: carousel-left; overflow: hidden; }
  .project-gallery-carousel-right { grid-area: carousel-right; overflow: hidden; }
  .project-gallery-carousel-right .carousel-track { margin-top: -50%; }
  .carousel-track[data-carousel-mobile="ttb"] { animation: carousel-ttb 45s linear infinite; }
}

@media (max-width: 360px) {
  .service-card-image { min-height: 140px; }
}

.hero-form-wrap { width: 100%; }
.hero-form { padding: 1.25rem; border-radius: 1rem; background: rgba(20,54,94,.94); border: 1px solid rgba(255,255,255,.2); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.hero-form-title { font-size: 1.4625rem; font-weight: 800; line-height: 1.2; color: #fff; margin: 0 0 1rem; }
.hero-form-field { margin-bottom: .5rem; }
.hero-form-label { display: block; font-size: .875rem; font-weight: 600; color: rgba(255,255,255,.9); margin-bottom: .25rem; text-transform: uppercase; letter-spacing: .04em; }
.hero-form-optional { font-weight: 500; text-transform: none; letter-spacing: normal; color: #cbd5e1; }
.hero-form-input { width: 100%; min-height: 3rem; padding: .625rem .75rem; border-radius: .5rem; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; font-size: 1rem; font-family: inherit; transition: border-color .2s, background-color .2s; }
.hero-form-input::placeholder { color: rgba(255,255,255,.75); }
.hero-form-input option { background: #fff; color: var(--ink); }
.hero-form-input:focus { outline: none; border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.12); }
.hero-form-textarea { resize: vertical; min-height: 3.5rem; }
.hero-form-submit { display: inline-flex; width: 100%; min-height: 3rem; align-items: center; justify-content: center; gap: .5rem; padding: .75rem 1.5rem; border-radius: .375rem; border: none; background: var(--brand-red); color: #fff; font-size: 1rem; font-weight: 700; letter-spacing: .02em; cursor: pointer; box-shadow: 0 10px 18px -10px rgba(185,28,28,.38); transition: background-color .3s; }
.hero-form-submit:hover { background: #a01717; }
.contact-form .hero-form-label { color: var(--ink); }
.contact-form .hero-form-optional { color: var(--ink-muted); }
.contact-form .hero-form-input { min-height: 3rem; border-color: #cbd5e1; background: #fff; color: var(--ink); }
.contact-form .hero-form-input::placeholder { color: var(--ink-muted); }
.contact-form .hero-form-input option { background: #fff; color: var(--ink); }
.contact-form .hero-form-input:focus { outline: 2px solid var(--brand-blue); outline-offset: 2px; border-color: var(--brand-blue); background: #fff; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .truck-base { transform: translateX(0) !important; }
  .truck-inner { transform: translateX(0) !important; }
  .brand-panel { opacity: 1 !important; transform: none !important; animation: none !important; }
  .benefit-card { opacity: 1 !important; transform: none !important; animation: none !important; }
  .step-card { opacity: 1 !important; transform: none !important; animation: none !important; }
  .step-flow-item { opacity: 1 !important; transform: none !important; animation: none !important; }
  .stack-card { opacity: 1 !important; transform: none !important; animation: none !important; }
}
