/* Approved concept 1 + 4: editorial photography and an accessible coverage explorer.
   Home body only. Do not scope overflow to this wrapper: map sticky needs the page. */
.home-editorial { background: #f8f6f1; }
.home-editorial :is(h2,h3) { text-wrap: balance; }
.home-editorial h2 { font-weight: 500; letter-spacing: -.055em; line-height: 1.12; }
.home-editorial h3 { letter-spacing: -.035em; line-height: 1.3; }
.home-editorial figure { margin: 0; }
.home-editorial p { color: #526171; }
.home-editorial .eyebrow { color: #526171; }
.home-editorial .eyebrow::before { background: #a38351; }
.home-editorial .text-link { gap: 24px; line-height: 1.55; }
.home-editorial :is(.text-link,.button) svg { width: 22px; height: 22px; flex-shrink: 0; }
.home-section { padding-block: 94px; }
.home-assurances { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; padding-block: 29px; border-bottom: 1px solid #d9dee0; }
.home-assurances > span { display: flex; gap: 13px; align-items: center; color: #526171; font-size: 13px; line-height: 1.6; }
.home-assurances svg { width: 22px; height: 22px; flex-shrink: 0; color: #657887; }
.home-section-heading { display: grid; grid-template-columns: 1.4fr 1fr; gap: 64px; align-items: end; margin-bottom: 45px; }
.home-section-heading h2 { font-size: clamp(38px,4.4vw,62px); margin: 19px 0 0; max-width: 740px; }
.home-section-context { max-width: 440px; font-size: 17px; line-height: 1.8; }
.home-section-context p { margin: 0; }
.home-section-context .text-link { margin-top: 17px; }
.home-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 48px 34px; }
.home-service-card { min-width: 0; position: relative; }
.home-service-link { display: block; color: var(--ink); }
.home-service-link::after { content: ''; position: absolute; inset: 0; }
.home-service-link:focus-visible { outline: none; }
.home-service-link:focus-visible::after { outline: 3px solid #806333; outline-offset: 8px; }
.home-service-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1.85; object-fit: cover; background: #e6eaeb; }
.home-service-photo[data-photo-id='transport-vans'] img { object-position: 50% 74%; }
.home-service-photo[data-photo-id='warehouse-pallet-handling'] img { object-position: 50% 48%; }
.home-service-title { display: flex; align-items: center; gap: 19px; margin-top: 22px; }
.home-service-title h3 { margin: 0; font-size: clamp(24px,2.1vw,29px); font-weight: 550; }
.home-service-title > svg { margin-left: auto; width: 24px; height: 24px; flex-shrink: 0; }
.home-service-card > p { margin: 13px 0 0 63px; max-width: 49ch; font-size: 16px; line-height: 1.8; }
.home-service-note { display: flex; gap: 15px 32px; justify-content: space-between; align-items: center; border-top: 1px solid #d6dce0; margin-top: 44px; padding-top: 22px; font-size: 15px; }
.home-service-note p { margin: 0; }
.home-coverage { background: #edf2f5; border-block: 1px solid #dce3e8; }
.home-coverage .home-section-heading { grid-template-columns: 1.4fr 1fr; }
.home-coverage .coverage-explorer__tabs { gap: 0; border-bottom: 1px solid #bccbd6; margin-bottom: 22px; }
.home-coverage .coverage-explorer__tabs a { background: transparent; border: 0; border-bottom: 3px solid transparent; border-radius: 0; min-width: 124px; margin-bottom: -1px; min-height: 54px; font-size: 16px; }
.home-coverage .coverage-explorer__tabs a[aria-selected='true'] { color: #142f48; background: transparent; border-bottom-color: #142f48; }
.home-coverage :is(.coverage-map,.regional-map) { border-radius: 2px; background: #fdfcf9; border-color: #c6d4de; }
.home-coverage :is(.coverage-map__stage,.regional-map__stage) { background: #e6eef3; }
.home-coverage :is(.coverage-map__top,.regional-map__header) { background: #fdfcf9; }
.home-coverage :is(.coverage-map__panel,.regional-map__panel) { background: #fdfcf9; }
.home-coverage :is(.coverage-map__search input,.regional-map__search input) { background: #fff; }
.home-coverage :is(.coverage-map__choice,.regional-map__choices button) { background: #fff; }
.home-coverage :is(.coverage-map__choice[aria-pressed='true'],.regional-map__choices button[aria-pressed='true']) { background: #172e46; }
.home-guidance-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #d1d9df; border-bottom: 1px solid #d1d9df; padding-block: 28px; }
.home-guidance-link { min-width: 0; position: relative; display: grid; grid-template-columns: 35px minmax(0,1fr); gap: 10px 20px; align-content: start; padding: 10px 28px; }
.home-guidance-link:first-child { padding-left: 0; }
.home-guidance-link:last-child { padding-right: 0; }
.home-guidance-link + .home-guidance-link { border-left: 1px solid #d1d9df; }
.home-guidance-icon { grid-row: 1 / 3; padding-top: 2px; }
.home-guidance-icon svg { width: 31px; height: 31px; }
.home-guidance-link h3 { font-size: 20px; margin: 0; }
.home-guidance-link p { font-size: 15px; line-height: 1.75; margin: 0; }
.home-guidance-arrow { grid-column: 2; color: #806333; padding-top: 6px; }
.home-guidance-arrow svg { width: 23px; height: 23px; }
.home-guidance-link:focus-visible { outline: 3px solid #806333; outline-offset: 5px; }
.home-care { background: #efeee8; padding-block: 75px; }
.home-care-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; align-items: center; }
.home-care-photo { align-self: stretch; min-height: 510px; }
.home-care-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.home-care-copy h2 { margin: 18px 0 24px; font-size: clamp(35px,3.1vw,46px); }
.home-care-copy > p { font-size: 17px; line-height: 1.8; }
.home-process { margin: 29px 0 20px; padding: 0; list-style: none; }
.home-process li { display: grid; grid-template-columns: 30px 1fr; gap: 16px; padding: 16px 0; border-top: 1px solid #d2d9dc; }
.home-process li > span { font-size: 12px; color: #806333; margin-top: 3px; }
.home-process h3 { font-size: 19px; margin: 0 0 6px; }
.home-process p { font-size: 15px; line-height: 1.7; margin: 0; }
.home-care-links { display: flex; gap: 12px 28px; flex-wrap: wrap; }
.home-care-links .text-link { font-size: 13px; gap: 12px; }
.home-business-panel { display: grid; grid-template-columns: 1.12fr 1fr; background: #142e44; color: #fff; }
.home-business-copy { padding: 60px 52px; }
.home-business-copy .eyebrow { color: #d9c8aa; }
.home-business-copy h2 { color: #fff; font-size: clamp(34px,3.6vw,49px); margin: 20px 0 25px; }
.home-business-copy > p { color: #dbe3e9; font-size: 16px; line-height: 1.85; }
.home-business-actions { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; margin-top: 30px; }
.home-business-actions .button.light { background: #f7f5ef; color: #172e46; border-color: #f7f5ef; }
.home-business-actions .text-link { color: #fff; border-color: #899ba9; font-size: 14px; }
.home-business-actions :focus-visible { outline: 3px solid #d8c4a4; outline-offset: 5px; }
.home-business-copy .home-business-note { font-size: 12px; color: #c6d1d9; margin-top: 25px; }
.home-business-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 52% 50%; }
.home-editorial .blog-teaser { padding-top: 0; padding-bottom: 0; }
.home-editorial .blog-card { background: transparent; border: 0; border-bottom: 1px solid #cbd5dc; border-radius: 0; }
.home-editorial .blog-card h3 { font-size: 23px; line-height: 1.35; }
.home-editorial .blog-card img { border-radius: 0; }
.home-editorial .faq-layout { grid-template-columns: 1fr 1.5fr; gap: 65px; }
.home-editorial .faq-intro h2 { font-size: clamp(36px,3.4vw,48px); }
.home-editorial .faq-intro > p { margin-block: 22px; }
.home-editorial .faq-list > details { background: #fdfcf9; }
@media (hover:hover) {
  .home-service-link:hover h3,.home-guidance-link:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
  .home-coverage .coverage-explorer__tabs a:hover { background: #e0e9ef; }
  .home-business-actions .button:hover { background: #e4d8c2; border-color: #e4d8c2; }
}
@media (max-width:1100px) {
  .home-section { padding-block: 72px; }
  .home-section-heading { gap: 36px; }
  .home-service-grid { column-gap: 26px; }
  .home-service-title { gap: 12px; }
  .home-service-card > p { margin-left: 0; }
  .home-guidance-link { padding-inline: 20px; gap: 10px 14px; }
  .home-care-grid { gap: 40px; }
  .home-business-copy { padding: 45px 35px; }
}
@media (min-width:681px) and (max-width:800px) {
  .home-coverage .regional-map__layout { grid-template-columns: minmax(0,1fr) minmax(285px,1fr); }
  .home-coverage .regional-map__stage { position: sticky; top: 90px; border-right: 1px solid #c6d4de; border-bottom: 0; }
  .home-coverage .regional-map__choices { grid-template-columns: repeat(2,minmax(0,1fr)); max-height: 180px; }
  .home-coverage .regional-map__panel { padding: 17px 16px; }
}
@media (max-width:800px) {
  .home-assurances { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 24px; padding-block: 24px; }
  .home-assurances > span { font-size: 12px; gap: 10px; }
  .home-section-heading,.home-coverage .home-section-heading { grid-template-columns: 1fr; gap: 23px; margin-bottom: 32px; }
  .home-section-context { max-width: 580px; font-size: 16px; }
  .home-service-title { align-items: flex-start; }
  .home-service-title > svg { width: 20px; margin-top: 3px; }
  .home-service-card > p { font-size: 15px; }
  .home-service-note { flex-direction: column; align-items: flex-start; gap: 8px; }
  .home-guidance-link { grid-template-columns: 1fr; padding-inline: 19px; }
  .home-guidance-icon { grid-row: auto; }
  .home-guidance-arrow { grid-column: 1; }
  .home-guidance-link h3 { font-size: 20px; }
  .home-care-grid { gap: 34px; grid-template-columns: 1fr; }
  .home-care-photo { min-height: 0; }
  .home-care-photo img { height: auto; aspect-ratio: 1.8; }
  .home-care-copy { max-width: 650px; }
  .home-business-panel { grid-template-columns: 1fr; }
  .home-business-copy { padding: 42px 34px; }
  .home-business-photo img { height: auto; aspect-ratio: 1.8; }
  .home-editorial .faq-layout { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width:680px) {
  .home-section { padding-block: 58px; }
  .home-service-grid { grid-template-columns: 1fr; gap: 35px; }
  .home-service-photo img { aspect-ratio: 1.55; }
  .home-service-title { margin-top: 18px; }
  .home-service-title h3 { font-size: 26px; }
  .home-service-card > p { margin-top: 10px; font-size: 16px; }
  .home-coverage .coverage-explorer__tabs a { min-width: 0; flex: 1; padding-inline: 14px; }
  .home-guidance-grid { grid-template-columns: 1fr; padding-block: 0; }
  .home-guidance-link,.home-guidance-link:first-child,.home-guidance-link:last-child { padding: 25px 0; grid-template-columns: 34px minmax(0,1fr) 22px; gap: 8px 15px; }
  .home-guidance-icon { grid-row: 1 / 3; }
  .home-guidance-link p { grid-column: 2; }
  .home-guidance-arrow { grid-column: 3; grid-row: 1; padding-top: 0; }
  .home-guidance-link + .home-guidance-link { border-left: 0; border-top: 1px solid #d1d9df; }
  .home-care { padding-block: 45px; }
  .home-business-copy { padding: 34px 26px; }
  .home-business-photo img { aspect-ratio: 1.45; }
  .home-business-copy h2 { font-size: 35px; }
}
@media (max-width:380px) {
  .home-assurances { gap: 15px 12px; }
  .home-service-title { gap: 9px; }
  .home-service-title h3 { font-size: 23px; }
  .home-business-copy { padding-inline: 21px; }
  .home-business-actions .button { gap: 13px; padding-inline: 16px; }
}
@media print {
  .home-coverage .regional-map__stage { position: static; }
  .home-business-panel { color: #172e46; background: #fff; }
  .home-business-copy :is(h2,p,.eyebrow),
  .home-business-actions .text-link { color: #172e46; }
  .home-business-actions .text-link { border-color: #172e46; }
}
/* Dated, source-linked customer feedback; no external widget or tracking. */
.customer-feedback .home-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:30px}
.customer-feedback h2{font-size:clamp(30px,3.5vw,48px);line-height:1.15;margin:15px 0}
.customer-feedback .home-section-context a{text-decoration:underline;text-underline-offset:4px}
.customer-feedback .feedback-checked{font-size:12px;line-height:1.6;margin-top:10px}
.customer-feedback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.customer-feedback-card{margin:0;padding:26px;border:1px solid var(--line);background:#fffefa;display:flex;flex-direction:column;justify-content:space-between;gap:25px}
.customer-feedback-card blockquote{margin:0;font-size:20px;line-height:1.6}
.customer-feedback-card blockquote p{color:var(--ink)}
.customer-feedback-card figcaption{font-size:14px;color:var(--ink)}
.customer-feedback-card figcaption a{display:flex;align-items:center;gap:10px;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.customer-feedback-card figcaption svg{width:16px;height:16px}
.customer-feedback-note{font-size:12px;line-height:1.6;margin-top:16px}
@media(max-width:800px){.customer-feedback .home-section-heading,.customer-feedback-grid{grid-template-columns:1fr;gap:18px}.customer-feedback-card{padding:22px}.customer-feedback .home-section-heading{gap:8px}}
