@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#183f35;--paper:#f7f5ee;--muted:#5d6c62;--accent:#a64c2d;--line:#d7ddd1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}.wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;min-height:120px;border-bottom:1px solid var(--line)}.brand{display:block;line-height:0}.brand img{width:235px;height:auto}nav{display:flex;align-items:center;gap:35px;font-size:14px;font-weight:600}.sign-in{border:1px solid var(--ink);padding:13px 18px;border-radius:4px}.sign-in span{margin-left:14px}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:60px;align-items:center;padding-block:65px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.1px;margin:0 0 26px;display:flex;align-items:center;gap:10px}.eyebrow>span{width:7px;height:7px;background:var(--accent);border-radius:50%}h1,h2,p{margin-top:0}h1,h2{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(38px,4.6vw,64px);font-weight:600;line-height:1.12;letter-spacing:-3.2px;margin-bottom:25px}h1 em{font-style:normal;color:var(--accent)}.intro{font-size:17px;line-height:1.75;color:var(--muted);max-width:460px;margin-bottom:29px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;padding:18px 24px;font-size:14px;font-weight:700;border-radius:4px;min-height:54px;transition:background .18s}.primary{background:var(--ink);color:#fff}.primary:hover{background:#2c5649;text-decoration:none}.button span{font-size:21px;font-weight:400}.small-note{font-size:11px;color:var(--muted);margin:13px 0 31px}.access{display:flex;align-items:center;gap:16px;font-size:12px;line-height:1.6}.access-number{font-family:Manrope,Arial,sans-serif;font-size:31px;font-weight:700;letter-spacing:-1px;padding-right:17px;border-right:1px solid var(--line)}.access strong{font-weight:500;color:var(--muted)}.hero-art{overflow:hidden;border-radius:100px 4px 4px 4px}.hero-art svg{width:100%;height:auto;display:block}.types{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;padding-block:28px}.types>span{font-size:10px;font-weight:700;letter-spacing:1.7px}.types p{font-family:Manrope,Arial,sans-serif;font-size:22px;font-weight:500;margin:0}.types i{font-style:normal;color:#9aa696}.details{display:grid;grid-template-columns:1.12fr 1fr;gap:60px;padding-block:72px}.details h2{font-size:38px;line-height:1.2;letter-spacing:-1.5px;margin-bottom:22px}address{font-style:normal;font-size:16px;line-height:1.8;color:var(--muted)}.text-link{display:inline-block;margin-top:20px;font-size:13px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:6px}.text-link span{margin-left:25px}.contact{padding-left:37px;border-left:1px solid var(--line)}.phone{font-family:Manrope,Arial,sans-serif;font-size:32px;font-weight:600;letter-spacing:-1px}.phone-digits{font-size:13px;color:var(--muted);margin:8px 0 22px}.email{font-size:19px}.contact-note{max-width:310px;font-size:14px;line-height:1.8;color:var(--muted);margin:23px 0 0}.customer{background:#e9ede2;padding:35px 40px;display:flex;align-items:center;justify-content:space-between;gap:35px;border-radius:5px}.customer .eyebrow{font-size:10px;margin-bottom:13px}.customer h2{font-size:26px;letter-spacing:-.9px;margin-bottom:10px}.customer p:last-child{font-size:13px;color:var(--muted);margin:0}.secondary{border:1px solid var(--ink);white-space:nowrap}.secondary:hover{background:#dce3d4;text-decoration:none}.policy{font-size:11px;color:var(--muted);padding-top:21px;padding-bottom:35px}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:26px;font-size:11px;color:var(--muted)}footer p{margin:0}footer a{color:var(--ink);font-weight:700}.skip{position:absolute;left:15px;top:-100px;background:var(--paper);padding:15px;z-index:5}.skip:focus{top:15px}@media(min-width:1400px){.hero{gap:85px}}@media(max-width:900px){.wrap{width:calc(100% - 44px)}.header{min-height:100px}.brand img{width:200px}nav{gap:18px}.hero{gap:30px;padding-block:44px}h1{letter-spacing:-2px}.intro{font-size:15px}.types p{font-size:18px}.details{gap:30px}.phone{font-size:26px}.contact{padding-left:25px}.customer{padding:30px;gap:20px}}@media(max-width:650px){.wrap{width:calc(100% - 36px)}.header{min-height:88px;gap:10px}.brand img{width:169px}.contact-nav{display:none}.sign-in{font-size:11px;padding:11px 9px}.sign-in span{margin-left:4px}.hero{grid-template-columns:1fr;gap:32px;padding-top:38px;padding-bottom:30px}.eyebrow{margin-bottom:21px}h1{font-size:43px;letter-spacing:-2.2px}.intro{font-size:16px;max-width:100%}.button{padding:16px 20px}.small-note{margin-bottom:22px}.hero-art{border-radius:65px 4px 4px 4px}.hero-art svg{max-height:380px;object-fit:cover}.types{justify-content:flex-start;flex-wrap:wrap;gap:15px;padding-block:23px}.types>span{width:100%}.types p{font-size:17px}.types i{font-size:12px}.details{grid-template-columns:1fr;padding-block:42px;gap:35px}.details h2{font-size:33px}.contact{padding:30px 0 0;border-left:0;border-top:1px solid var(--line)}.phone{font-size:29px}.customer{display:block;padding:28px 22px}.customer h2{font-size:24px}.customer p:last-child{line-height:1.7}.customer .button{margin-top:24px}.policy{line-height:1.7;padding-bottom:25px}footer{flex-wrap:wrap;gap:13px}footer p:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Responsive refinements: keep content usable on phones and at text zoom. */
.hero > *, .details > *, .customer > * { min-width: 0; }
img, svg { max-width: 100%; }
.sign-in { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
.email, address { overflow-wrap: anywhere; }
.phone, .email, .text-link, footer a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 780px) {
  .hero, .details { grid-template-columns: minmax(0, 1fr); }
  .hero-art { width: 100%; max-width: 520px; margin-inline: auto; }
  .contact { padding: 30px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .customer { flex-wrap: wrap; }
  .types { flex-wrap: wrap; justify-content: flex-start; }
  .types > span { flex-basis: 100%; }
}
@media (max-width: 650px) {
  .header { flex-wrap: wrap; padding-block: 15px; row-gap: 12px; }
  .header nav { margin-left: auto; }
  .sign-in { font-size: 13px; }
  h1 { font-size: clamp(32px, 8.6vw, 43px); }
  .hero .button, .customer .button { width: 100%; white-space: normal; }
  .small-note, .policy { font-size: 12px; line-height: 1.65; }
  .hero-art svg { max-height: none; }
  .phone { font-size: clamp(23px, 7vw, 29px); }
}
@media (max-width: 370px) {
  .header { justify-content: center; }
  .header nav { margin-left: 0; width: 100%; }
  .header .sign-in { width: 100%; }
  .types { gap: 10px; }
  .types p { font-size: 16px; }
}

.map-section { margin-bottom: 64px; }
.map-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.map-heading h2 { margin: 0; font-size: 26px; letter-spacing: -.9px; }
.map-heading .text-link { margin-top: 0; }
.location-map { display: block; width: 100%; height: 400px; border: 1px solid var(--line); border-radius: 5px; background: #e9ede2; }
.map-caption { margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
@media (max-width: 650px) {
  .map-section { margin-bottom: 40px; }
  .map-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .map-heading h2 { font-size: 24px; }
  .location-map { height: 320px; }
}

.services { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-block: 56px; display: grid; grid-template-columns: .85fr 1.3fr; gap: 70px; }
.services-heading h2 { font-size: 36px; line-height: 1.2; letter-spacing: -1.4px; margin-bottom: 20px; }
.services-heading > p:last-child { color: var(--muted); font-size: 16px; line-height: 1.75; }
.service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.service-list article { border-top: 2px solid var(--line); padding-top: 18px; }
.service-list h3 { font-family: Manrope, Arial, sans-serif; font-size: 18px; line-height: 1.45; margin: 0 0 12px; }
.service-list p { font-size: 14px; color: var(--muted); line-height: 1.8; margin-bottom: 0; }
.status-label { display: inline-block; color: var(--accent); font-size: 10px; letter-spacing: 1.6px; font-weight: 700; margin-bottom: 12px; }
.service-list .text-link { font-size: 12px; margin-top: 10px; }
.service-list .text-link span { margin-left: 12px; }
@media (max-width: 900px) { .services { gap: 35px; grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 650px) { .services { padding-block: 36px; gap: 20px; } .services-heading h2 { font-size: 30px; } .service-list { grid-template-columns: minmax(0, 1fr); gap: 25px; } }

.location-intro { max-width: 780px; margin-bottom: 32px; }
.location-intro h2 { font-size: clamp(26px, 4vw, 34px); line-height: 1.25; letter-spacing: -1px; margin-bottom: 16px; }
.location-intro > p:last-child { font-size: 16px; line-height: 1.8; color: var(--muted); }

.vehicle-photo { margin-top: 0; margin-bottom: 42px; }
.vehicle-photo img { display: block; width: 100%; height: auto; border-radius: 5px; }
.vehicle-photo figcaption { margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.7; }
@media (max-width: 650px) { .vehicle-photo { margin-bottom: 30px; } }

/* Shallow vehicle banner beneath the header. */
.vehicle-photo { margin-top: 24px; margin-bottom: 0; }
.vehicle-photo img { height: 170px; object-fit: contain; object-position: center; background: #e9ede2; }
.vehicle-photo figcaption { margin-top: 6px; font-size: 10px; }
@media (max-width: 650px) {
  .vehicle-photo { margin-top: 16px; margin-bottom: 0; }
  .vehicle-photo img { height: 105px; object-fit: contain; object-position: center; }
}

/* New panoramic composition: preserve all vehicles, trim only excess scenery. */
.vehicle-photo img { width: 100%; height: auto; aspect-ratio: 6 / 1; object-fit: cover; object-position: center 45%; background: transparent; }
@media (max-width: 650px) {
  .vehicle-photo img { height: auto; aspect-ratio: 3 / 1; object-fit: contain; object-position: center; }
}

.service-list .coming-soon { grid-column: 1 / -1; }
.container-photo { margin: 16px 0 18px; }
.container-photo img { display: block; width: 100%; height: auto; border-radius: 5px; }
.container-photo figcaption { margin-top: 7px; font-size: 11px; line-height: 1.6; color: var(--muted); }

.service-thumbnail { display: block; width: 100%; max-width: 320px; height: auto; border-radius: 4px; margin: 0 0 15px; }
.services-heading .service-image-note { font-size: 11px; line-height: 1.65; margin-top: 22px; }
