:root {
  --ink: #10212c;
  --muted: #60717c;
  --paper: #f5f8f7;
  --surface: #ffffff;
  --line: #dbe5e2;
  --brand: #0c7b68;
  --brand-dark: #075f52;
  --accent: #d9ff5f;
  --navy: #0a1d29;
  --danger: #b42318;
  --shadow: 0 18px 50px rgba(10, 29, 41, 0.1);
  --radius: 22px;
  --container: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 88px 0; }
.section--tight { padding: 56px 0; }
.section--dark { color: #fff; background: var(--navy); }
.section--white { background: var(--surface); }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  color: var(--brand);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.eyebrow::before { width: 30px; height: 2px; background: currentColor; content: ""; }
.section--dark .eyebrow { color: var(--accent); }
.display-title, .page-title, .section-title { margin: 0; line-height: 1.05; letter-spacing: -.045em; }
.display-title { max-width: 800px; font-size: clamp(3rem, 7.2vw, 6.9rem); }
.page-title { max-width: 900px; font-size: clamp(2.7rem, 5.7vw, 5.4rem); }
.section-title { font-size: clamp(2rem, 4vw, 3.7rem); }
.lede { max-width: 690px; margin: 24px 0 0; color: var(--muted); font-size: clamp(1.05rem, 1.8vw, 1.28rem); }
.section--dark .lede { color: #bdd0d4; }

.skip-link { position: fixed; top: 12px; left: 12px; z-index: 999; transform: translateY(-150%); padding: 10px 16px; background: var(--accent); color: var(--navy); font-weight: 800; }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(219,229,226,.85); background: rgba(245,248,247,.9); backdrop-filter: blur(16px); }
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; font-weight: 850; letter-spacing: -.03em; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--brand); color: #fff; font-size: .82rem; letter-spacing: .04em; }
.brand-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 260px; }
.site-nav { display: flex; align-items: center; gap: 6px; }
.site-nav ul { display: flex; align-items: center; gap: 4px; padding: 0; margin: 0; list-style: none; }
.site-nav li { position: relative; }
.site-nav a, .site-nav .nav-label { display: block; padding: 11px 13px; border-radius: 11px; color: #29404a; font-size: .92rem; font-weight: 700; }
.site-nav a:hover { background: #e6efec; color: var(--brand-dark); }
.site-nav ul ul { position: absolute; top: calc(100% + 8px); left: 0; display: none; min-width: 220px; padding: 8px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow); }
.site-nav li:hover > ul, .site-nav li:focus-within > ul { display: block; }
.site-nav ul ul ul { top: 0; left: calc(100% + 4px); }
.header-cta { padding: 11px 18px; border-radius: 999px; background: var(--navy); color: #fff; font-size: .9rem; font-weight: 800; }
.nav-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--navy); }

.hero { position: relative; overflow: hidden; color: #fff; background: var(--navy); }
.hero::before, .hero::after { position: absolute; border-radius: 999px; content: ""; filter: blur(2px); }
.hero::before { width: 640px; height: 640px; right: -230px; top: -290px; border: 1px solid rgba(217,255,95,.5); box-shadow: 0 0 0 70px rgba(217,255,95,.04), 0 0 0 145px rgba(217,255,95,.03); }
.hero::after { width: 250px; height: 250px; left: -110px; bottom: -160px; background: rgba(12,123,104,.7); }
.hero-grid { position: relative; z-index: 1; min-height: 710px; padding: 112px 0 92px; display: grid; grid-template-columns: 1fr 300px; gap: 64px; align-items: end; }
.hero .eyebrow { color: var(--accent); }
.hero-copy { max-width: 820px; }
.hero-copy p { max-width: 680px; margin: 28px 0 0; color: #bdd0d4; font-size: clamp(1.08rem, 2vw, 1.35rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 50px; padding: 0 22px; border: 1px solid transparent; border-radius: 999px; font-weight: 850; }
.button--primary { background: var(--accent); color: var(--navy); }
.button--primary:hover { background: #e5ff88; }
.button--ghost { border-color: rgba(255,255,255,.25); color: #fff; }
.button--ghost:hover { border-color: #fff; }
.button--dark { background: var(--navy); color: #fff; }
.hero-note { padding: 24px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius); background: rgba(255,255,255,.06); backdrop-filter: blur(12px); }
.hero-note strong { display: block; color: var(--accent); font-size: 2.4rem; line-height: 1; }
.hero-note span { display: block; margin-top: 12px; color: #c8d7da; font-size: .92rem; }

.section-heading { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 42px; }
.section-heading .lede { margin: 0; max-width: 480px; }
.grid { display: grid; gap: 24px; }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.feature-card, .content-card, .info-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: 0 1px 0 rgba(10,29,41,.03); }
.feature-card { min-height: 260px; padding: 30px; }
.feature-index { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: #e1f3ee; color: var(--brand-dark); font-weight: 900; }
.feature-card h3 { margin: 38px 0 10px; font-size: 1.35rem; letter-spacing: -.025em; }
.feature-card p { margin: 0; color: var(--muted); }
.content-card { overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.content-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.card-media { aspect-ratio: 16/10; overflow: hidden; background: linear-gradient(135deg,#dcebe7,#b9d8d0); }
.card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.content-card:hover .card-media img { transform: scale(1.035); }
.card-placeholder { height: 100%; display: grid; place-items: center; color: var(--brand-dark); font-size: 2rem; font-weight: 900; }
.card-body { padding: 25px; }
.card-meta { color: var(--brand); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.card-title { margin: 9px 0 10px; font-size: 1.35rem; line-height: 1.25; letter-spacing: -.025em; }
.card-text { margin: 0; color: var(--muted); }
.card-link { display: inline-flex; gap: 8px; margin-top: 20px; color: var(--brand-dark); font-weight: 850; }

.module-block + .module-block { margin-top: 68px; }
.module-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.module-head h3 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.5rem); letter-spacing: -.035em; }
.empty-state { padding: 48px; border: 1px dashed #aec5bf; border-radius: var(--radius); background: rgba(255,255,255,.55); text-align: center; }
.empty-state h2, .empty-state h3 { margin-top: 0; }
.empty-state p { max-width: 620px; margin: 10px auto 0; color: var(--muted); }

.page-hero { padding: 92px 0 62px; color: #fff; background: var(--navy); }
.page-hero .eyebrow { color: var(--accent); }
.page-hero .lede { color: #bdd0d4; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; color: #a8bdc2; font-size: .9rem; }
.breadcrumbs a:hover { color: #fff; }
.subnav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.subnav a { padding: 9px 14px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: #fff; font-weight: 750; }
.subnav a:hover { border-color: var(--accent); color: var(--accent); }
.pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; margin-top: 48px; }
.pagination a, .pagination span { min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; padding: 8px 13px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font-weight: 800; }
.pagination a:hover { border-color: var(--brand); color: var(--brand); }
.pagination [aria-current="page"] { background: var(--navy); color: #fff; }

.article-shell { display: grid; grid-template-columns: minmax(0, 760px) minmax(230px, 1fr); gap: 70px; align-items: start; }
.article-main { min-width: 0; }
.article-meta { display: flex; flex-wrap: wrap; gap: 14px 24px; margin: 22px 0; color: var(--muted); font-size: .9rem; }
.article-intro { padding: 24px 0 24px 22px; border-left: 4px solid var(--brand); color: #344b55; font-size: 1.12rem; }
.article-image { margin: 28px 0; overflow: hidden; border-radius: var(--radius); background: #dcebe7; }
.rich-content { color: #243b45; font-size: 1.03rem; overflow-wrap: anywhere; }
.rich-content > *:first-child { margin-top: 0; }
.rich-content h2, .rich-content h3 { margin: 2em 0 .7em; line-height: 1.2; letter-spacing: -.03em; }
.rich-content a { color: var(--brand-dark); text-decoration: underline; text-underline-offset: 3px; }
.rich-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.rich-content th, .rich-content td { padding: 10px 12px; border: 1px solid var(--line); }
.rich-content iframe, .rich-content video { max-width: 100%; }
.article-aside { position: sticky; top: 104px; }
.info-card { padding: 26px; }
.info-card h2, .info-card h3 { margin: 0 0 16px; font-size: 1.12rem; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; }
.tag { padding: 6px 10px; border-radius: 999px; background: #e5efec; color: #39515b; font-size: .82rem; font-weight: 750; }
.prev-next { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 48px; }
.prev-next a { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.prev-next small { display: block; color: var(--muted); margin-bottom: 6px; }

.search-form { display: flex; gap: 10px; max-width: 760px; margin: 28px 0 0; }
.search-form input { flex: 1; min-width: 0; height: 52px; padding: 0 18px; border: 1px solid var(--line); border-radius: 999px; background: #fff; }
.author-card { padding: 28px; display: flex; gap: 20px; align-items: center; }
.avatar { width: 76px; height: 76px; flex: none; border-radius: 50%; object-fit: cover; background: #dcebe7; }

.site-footer { padding: 72px 0 28px; color: #c4d2d5; background: #071721; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 50px; }
.footer-brand { color: #fff; font-size: 1.4rem; font-weight: 850; }
.footer-copy { max-width: 440px; margin-top: 16px; }
.footer-title { margin: 0 0 15px; color: #fff; font-size: .92rem; text-transform: uppercase; letter-spacing: .1em; }
.footer-links { display: grid; gap: 9px; padding: 0; margin: 0; list-style: none; }
.footer-links a:hover { color: var(--accent); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 58px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); font-size: .85rem; }

.error-page { min-height: 100vh; display: grid; place-items: center; padding: 40px; color: #fff; background: var(--navy); text-align: center; }
.error-code { color: var(--accent); font-size: clamp(5rem, 18vw, 12rem); font-weight: 900; line-height: .85; letter-spacing: -.08em; }
.error-page h1 { margin: 28px 0 12px; font-size: clamp(2rem, 5vw, 4rem); }
.error-page p { max-width: 600px; margin: 0 auto 28px; color: #bdd0d4; }

.product-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 54px; align-items: start; }
.product-main { min-width: 0; }
.product-section { margin-top: 54px; }
.product-section-title { margin: 0 0 22px; font-size: clamp(1.55rem, 3vw, 2.25rem); line-height: 1.12; letter-spacing: -.025em; }
.product-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.product-gallery__item { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #e7f0ed; }
.product-gallery__item--main { grid-column: 1 / -1; }
.product-gallery__item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.product-gallery__item--main img { aspect-ratio: 16 / 10; }
.product-gallery__item figcaption { padding: 10px 14px; color: var(--muted); font-size: .88rem; }
.product-description { margin-top: 42px; }
.product-aside { position: sticky; top: 104px; display: grid; gap: 20px; }
.product-summary dl { margin: 0; }
.product-summary dl div { display: grid; grid-template-columns: minmax(100px, .9fr) minmax(0, 1.1fr); gap: 12px; padding: 11px 0; border-top: 1px solid var(--line); }
.product-summary dt { color: var(--muted); font-size: .86rem; }
.product-summary dd { margin: 0; font-weight: 780; overflow-wrap: anywhere; }
.product-summary .button { width: 100%; margin-top: 18px; text-align: center; }
.verification-note { margin: 18px 0 0; padding: 14px; border-radius: 12px; background: #f1f5f4; color: #415962; font-size: .88rem; }
.product-key-features ul, .condition-card ul, .rfq-panel ul { margin: 0; padding-left: 20px; }
.product-key-features li + li, .condition-card li + li, .rfq-panel li + li { margin-top: 9px; }
.table-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; }
.product-table { width: 100%; border-collapse: collapse; min-width: 640px; }
.product-table th, .product-table td { padding: 15px 18px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.product-table thead th { background: var(--navy); color: #fff; font-size: .84rem; letter-spacing: .03em; text-transform: uppercase; }
.product-table tbody th { width: 25%; color: var(--navy); }
.product-table tbody tr:last-child > * { border-bottom: 0; }
.product-condition-grid, .rfq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.condition-card { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); }
.condition-card h2 { margin: 0 0 16px; font-size: 1.22rem; }
.condition-card--suitable { background: #edf8f2; border-color: #c9e7d7; }
.condition-card--caution { background: #fff6e8; border-color: #eed4aa; }
.faq-list { display: grid; gap: 12px; }
.faq-list details { border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.faq-list summary { padding: 18px 20px; color: var(--navy); font-weight: 820; cursor: pointer; }
.faq-list p { margin: 0; padding: 0 20px 20px; color: #415962; }
.rfq-panel { padding: 30px; border-radius: var(--radius); background: var(--navy); color: #fff; scroll-margin-top: 110px; }
.rfq-panel > p { max-width: 760px; color: #bdd0d4; }
.rfq-panel h3 { margin: 20px 0 12px; color: var(--accent); font-size: 1rem; }

@media (max-width: 960px) {
  .nav-toggle { display: inline-grid; place-items: center; }
  .header-cta { display: none; }
  .site-nav { position: absolute; top: 76px; left: 20px; right: 20px; display: none; max-height: calc(100vh - 98px); overflow: auto; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
  .site-nav.is-open { display: block; }
  .site-nav ul { display: block; }
  .site-nav ul ul { position: static; display: block; margin-left: 15px; padding: 0 0 0 10px; border: 0; border-left: 1px solid var(--line); border-radius: 0; box-shadow: none; }
  .hero-grid { min-height: auto; grid-template-columns: 1fr; padding-top: 92px; }
  .hero-note { max-width: 520px; }
  .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-shell { grid-template-columns: 1fr; }
  .article-aside { position: static; }
  .product-layout { grid-template-columns: 1fr; }
  .product-aside { position: static; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .section { padding: 64px 0; }
  .section-heading, .module-head { display: block; }
  .section-heading .lede { margin-top: 18px; }
  .grid--3, .grid--2, .footer-grid { grid-template-columns: 1fr; }
  .hero-grid { padding: 78px 0 66px; gap: 38px; }
  .display-title { font-size: clamp(2.7rem, 15vw, 4.7rem); }
  .page-hero { padding: 70px 0 46px; }
  .page-title { font-size: clamp(2.45rem, 13vw, 4.1rem); }
  .feature-card { min-height: 0; }
  .empty-state { padding: 34px 22px; }
  .prev-next { grid-template-columns: 1fr; }
  .product-gallery, .product-condition-grid, .rfq-grid { grid-template-columns: 1fr; }
  .product-gallery__item--main { grid-column: auto; }
  .product-gallery__item--main img { aspect-ratio: 4 / 3; }
  .product-summary dl div { grid-template-columns: 1fr; gap: 4px; }
  .search-form { display: grid; }
  .footer-bottom { display: block; }
  .footer-bottom > * + * { margin-top: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* CLW truck theme: site-specific visual system */
:root {
  --ink: #172b40;
  --muted: #61748a;
  --paper: #f3f6f9;
  --surface: #fff;
  --line: #d9e2eb;
  --brand: #116bb3;
  --brand-dark: #0b4f88;
  --accent: #f7bf58;
  --navy: #0b2542;
  --shadow: 0 20px 60px rgba(12, 40, 67, .13);
  --radius: 16px;
  --container: 1220px;
}
body { font-family: "Segoe UI", Inter, ui-sans-serif, system-ui, sans-serif; }
.section { padding: 86px 0; }
.eyebrow { color: var(--brand); letter-spacing: .15em; }
.eyebrow::before { width: 22px; }
.section-title { max-width: 710px; font-size: clamp(2.2rem, 4.4vw, 4.2rem); }
.page-title { font-size: clamp(2.65rem, 5.4vw, 5.25rem); }
.button { border-radius: 6px; min-height: 54px; padding-inline: 25px; text-transform: none; }
.button--primary { background: var(--accent); color: #10283d; }
.button--primary:hover { background: #ffd584; }
.button--dark { background: var(--brand); }
.card-link { color: var(--brand-dark); }
.card-media { background: #eaf0f5; }
.card-media img { object-fit: contain; }
.content-card { border-radius: 9px; }
.card-body { padding: 26px; }
.card-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.page-hero { position: relative; overflow: hidden; padding: 78px 0 68px; background: linear-gradient(112deg, #0b2542 0%, #123d66 68%, #185e94 100%); }
.page-hero::after { content: ""; position: absolute; right: -90px; bottom: -210px; width: 450px; height: 450px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 65px rgba(255,255,255,.035), 0 0 0 130px rgba(255,255,255,.025); }
.page-hero .container { position: relative; z-index: 1; }
.breadcrumbs { color: #b9d3e6; }
.page-hero .lede { max-width: 790px; color: #d3e4f0; }
.subnav a { border-radius: 6px; }

.utility-bar { color: #dbeafa; background: #0b3966; font-size: .78rem; font-weight: 650; }
.utility-bar__inner, .utility-bar__right, .language-nav { display: flex; align-items: center; gap: 22px; }
.utility-bar__inner { min-height: 34px; justify-content: space-between; }
.utility-bar__right { opacity: .96; }
.language-nav { gap: 0; height: 34px; }
.language-nav a { display: inline-flex; align-items: center; height: 100%; padding: 0 11px; border-left: 1px solid rgba(255,255,255,.13); }
.language-nav a[aria-current="page"] { color: #fff; background: rgba(255,255,255,.12); }
.language-nav a:hover { background: rgba(255,255,255,.12); }
.site-header { top: 0; background: rgba(255,255,255,.97); border-bottom-color: #dfe7ee; }
.header-inner { min-height: 84px; gap: 23px; }
.brand { gap: 10px; flex: none; }
.brand-mark { width: 47px; height: 42px; border-radius: 4px; color: white; background: linear-gradient(140deg,#0b4d88,#1487c7); font-size: .85rem; font-weight: 900; }
.brand-lockup { display: flex; flex-direction: column; line-height: 1.05; }
.brand-lockup strong { color: var(--navy); font-size: 1.24rem; }
.brand-lockup small { margin-top: 6px; color: #668098; font-size: .52rem; letter-spacing: .22em; }
.site-nav { margin-left: auto; }
.site-nav a, .site-nav .nav-label { padding: 13px 10px; color: #263a51; border-radius: 4px; font-size: .87rem; }
.site-nav a:hover { background: #eaf3fb; color: var(--brand-dark); }
.site-nav ul ul { border-radius: 7px; }
.site-nav ul ul a { padding: 10px 13px; }
.header-cta { flex: none; padding: 11px 15px; border-radius: 4px; background: var(--brand); font-size: .82rem; }
.header-cta:hover { background: var(--brand-dark); }
.nav-toggle { border-radius: 4px; padding: 11px; }
.nav-toggle span { display: block; width: 19px; height: 2px; margin: 3px; background: var(--navy); }

.truck-hero { overflow: hidden; color: white; background: radial-gradient(circle at 75% 10%, #1b5280 0%, #0c2e50 48%, #071d35 100%); }
.truck-hero__grid { min-height: 650px; display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); align-items: center; gap: 26px; }
.truck-hero__copy { position: relative; z-index: 2; padding: 78px 0 62px; }
.truck-hero .eyebrow { color: var(--accent); }
.truck-hero h1 { max-width: 750px; margin: 0; font-size: clamp(3.15rem, 5.4vw, 5.55rem); line-height: .99; letter-spacing: -.054em; }
.truck-hero__intro { max-width: 600px; margin: 25px 0 0; color: #d0e0ec; font-size: 1.09rem; line-height: 1.62; }
.truck-hero .hero-actions { margin-top: 32px; }
.truck-hero__foot { display: flex; flex-wrap: wrap; gap: 16px 24px; margin-top: 76px; color: #87abc8; font-size: .67rem; font-weight: 800; letter-spacing: .14em; }
.truck-hero__visual { position: relative; min-height: 580px; display: flex; align-items: center; justify-content: center; }
.truck-hero__orbit { position: absolute; inset: 40px -70px 80px 0; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.035), 0 0 0 112px rgba(255,255,255,.025); }
.truck-hero__visual > img { position: relative; z-index: 1; width: min(100%, 590px); max-height: 490px; object-fit: contain; border-radius: 18px; filter: drop-shadow(0 30px 35px rgba(0,0,0,.23)); }
.truck-hero__model { position: absolute; z-index: 2; right: 0; bottom: 40px; width: min(360px, 92%); display: grid; gap: 5px; padding: 16px 20px; color: var(--navy); background: #fff; box-shadow: var(--shadow); border-left: 5px solid var(--accent); }
.truck-hero__model small { color: var(--brand); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.truck-hero__model strong { max-width: 290px; font-size: .95rem; line-height: 1.25; }
.truck-hero__model > span { position: absolute; right: 17px; bottom: 15px; }
.truck-hero__fallback { position: relative; font-size: clamp(5rem, 12vw, 10rem); font-weight: 900; line-height: .8; letter-spacing: -.1em; opacity: .18; }
.truck-hero__fallback span { display: block; font-size: .55em; letter-spacing: .03em; }
.trust-strip { color: #c9dceb; background: #0e365d; }
.trust-strip__inner { display: flex; justify-content: space-between; gap: 20px; padding-block: 17px; font-size: .77rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.trust-strip__inner span + span { padding-left: 22px; border-left: 1px solid rgba(255,255,255,.2); }

.range-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.range-card { position: relative; min-height: 205px; display: flex; flex-direction: column; justify-content: space-between; padding: 20px; overflow: hidden; color: #fff; background: linear-gradient(140deg, #0c416d, #1472ac); border-radius: 7px; transition: transform .2s, box-shadow .2s; }
.range-card::after { content: ""; position: absolute; right: -45px; top: -45px; width: 170px; height: 170px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 28px rgba(255,255,255,.04), 0 0 0 65px rgba(255,255,255,.03); }
.range-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.range-card--2,.range-card--5 { background: linear-gradient(145deg,#16476a,#17657f); }
.range-card--3,.range-card--7 { background: linear-gradient(145deg,#123558,#264e89); }
.range-card--4,.range-card--6 { background: linear-gradient(145deg,#1a536d,#247f99); }
.range-card__number { font-size: .79rem; font-weight: 850; color: var(--accent); letter-spacing: .13em; }
.range-card__body { position: relative; z-index: 1; display: grid; gap: 13px; }
.range-card__body strong { max-width: 230px; font-size: 1.25rem; line-height: 1.17; }
.range-card__body > span { color: #bfd9ed; font-size: .8rem; font-weight: 750; }
.choice-section { background: #e8eff5; }
.choice-layout { display: grid; grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr); gap: 9%; align-items: start; }
.choice-steps { border-top: 2px solid var(--brand); }
.choice-steps article { display: grid; grid-template-columns: 58px 1fr; gap: 20px; padding: 24px 0; border-bottom: 1px solid #cbd8e4; }
.choice-steps article > span { color: var(--brand); font-size: 1.34rem; font-weight: 900; }
.choice-steps h3 { margin: 0 0 5px; font-size: 1.22rem; }
.choice-steps p { margin: 0; color: var(--muted); }
.quote-band { padding: 62px 0; color: #fff; background: linear-gradient(110deg,#0a3157,#0e558a); }
.quote-band__inner { display: flex; justify-content: space-between; align-items: center; gap: 45px; }
.quote-band h2 { max-width: 660px; margin: 0; font-size: clamp(2rem, 3.4vw, 3.5rem); line-height: 1.08; letter-spacing: -.04em; }
.quote-band p:last-child { max-width: 650px; margin-bottom: 0; color: #c8dfef; }
.quote-band .eyebrow { color: var(--accent); }
.quote-band .button { flex: none; }

.single-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 340px); gap: 7%; align-items: start; }
.single-layout__main { min-width: 0; max-width: 770px; }
.single-layout__aside { position: sticky; top: 112px; }
.single-layout__aside .info-card { border-radius: 7px; border-top: 4px solid var(--accent); }
.single-layout__aside h2 { font-size: 1.45rem; line-height: 1.2; }
.single-layout__aside p:not(.eyebrow) { color: var(--muted); }
.site-footer { padding: 0 0 28px; background: #071e36; }
.footer-lead { display: flex; justify-content: space-between; align-items: center; gap: 35px; padding: 58px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.footer-kicker { color: var(--accent); font-size: .7rem; font-weight: 850; letter-spacing: .16em; }
.footer-lead h2 { max-width: 660px; margin: 10px 0 0; color: white; font-size: clamp(1.85rem, 3vw, 3rem); line-height: 1.1; letter-spacing: -.035em; }
.footer-grid { grid-template-columns: 1.25fr 1fr .8fr .9fr; gap: 38px; padding-top: 52px; }
.footer-brand { color: #fff; }
.footer-links { font-size: .85rem; line-height: 1.4; }
.footer-links a:hover { color: var(--accent); }
.footer-bottom { margin-top: 55px; }
.product-gallery__item { border-radius: 8px; background: #f1f5f8; }
.product-gallery__item img { object-fit: contain; }
.product-table thead th { background: #123e65; }
.rfq-panel { border-radius: 8px; }
.info-card,.condition-card,.faq-list details,.table-scroll { border-radius: 8px; }

@media (max-width: 1080px) {
  .site-nav a,.site-nav .nav-label { padding-inline: 7px; font-size: .8rem; }
  .header-cta { padding-inline: 10px; }
  .range-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 960px) {
  .site-nav { position: absolute; top: 84px; left: 20px; right: 20px; margin: 0; }
  .site-nav.is-open { display: block; }
  .site-nav ul ul { margin-left: 15px; }
  .truck-hero__grid { grid-template-columns: 1fr; gap: 0; }
  .truck-hero__copy { padding-bottom: 0; }
  .truck-hero__visual { min-height: 480px; }
  .truck-hero__foot { margin-top: 38px; }
  .choice-layout,.single-layout { grid-template-columns: 1fr; }
  .single-layout__aside { position: static; }
}
@media (max-width: 680px) {
  .utility-bar__inner { min-height: 40px; }
  .utility-bar__inner > span { max-width: 200px; line-height: 1.25; }
  .utility-bar__right > span { display: none; }
  .language-nav { height: 40px; }
  .language-nav a { padding-inline: 6px; font-size: .73rem; }
  .header-inner { min-height: 70px; }
  .site-nav { top: 70px; left: 14px; right: 14px; }
  .brand-mark { width: 43px; height: 39px; }
  .brand-lockup strong { font-size: 1.05rem; }
  .truck-hero__copy { padding: 64px 0 0; }
  .truck-hero h1 { font-size: clamp(2.75rem, 11.5vw, 4.2rem); }
  .truck-hero__intro { font-size: 1rem; }
  .truck-hero__visual { min-height: 330px; padding: 12px 0 60px; }
  .truck-hero__visual > img { max-height: 275px; }
  .truck-hero__model { right: 0; bottom: 8px; width: 94%; }
  .truck-hero__foot { gap: 8px 12px; font-size: .58rem; }
  .trust-strip__inner { display: grid; gap: 8px; }
  .trust-strip__inner span + span { padding-left: 0; border-left: 0; }
  .range-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .range-card { min-height: 172px; padding: 15px; }
  .range-card__body strong { font-size: 1.02rem; }
  .quote-band__inner,.footer-lead { display: block; }
  .quote-band .button,.footer-lead .button { margin-top: 22px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-lead { padding: 48px 0; }
}

/* JNHTC-inspired two-tier navigation; all destinations come from this site's CMS menu. */
.utility-bar { background: #119f88; color: #fff; }
.utility-bar__inner { min-height: 48px; }
.utility-bar__brand { font-size: .73rem; font-weight: 850; letter-spacing: .11em; }
.utility-bar__region { font-size: .78rem; font-weight: 600; }
.site-header { background: #fff; border-bottom: 1px solid #e5e9ee; backdrop-filter: none; }
.header-inner { min-height: 74px; gap: 26px; }
.site-nav { flex: 1; justify-content: flex-end; gap: 28px; margin-left: 0; }
.site-nav .primary-menu { gap: 3px; }
.site-nav .primary-menu > li { display: flex; align-items: center; height: 74px; }
.site-nav .primary-menu > li > a,
.site-nav .nav-product__trigger > a { padding: 10px 10px; color: #172d44; border-radius: 0; font-size: .9rem; font-weight: 650; white-space: nowrap; }
.site-nav .primary-menu > li > a:hover,
.site-nav .nav-product__trigger > a:hover { color: #0665a7; background: transparent; }
.site-nav .nav-product { position: static; }
.nav-product__trigger { display: flex; align-items: center; }
.mega-toggle { display: inline-grid; place-items: center; width: 26px; height: 35px; margin-left: -5px; padding: 0; color: #203c56; background: transparent; border: 0; }
.mega-toggle span { display: inline-block; transition: transform .2s ease; }
.nav-product.is-open .mega-toggle span { transform: rotate(180deg); }
.mega-panel { display: none; position: absolute; z-index: 60; top: calc(100% - 1px); left: 0; right: 0; color: #132b40; background: #fff; border-top: 1px solid #e8edf2; box-shadow: 0 22px 32px rgba(12,35,60,.14); }
.nav-product.is-open .mega-panel { display: block; }
.mega-panel__inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 48px; padding-block: 38px 44px; }
.mega-panel__eyebrow { margin: 0 0 5px; color: #0b67a8; font-size: .72rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.mega-panel__catalog h2 { margin: 0 0 18px; color: #142b42; font-size: 1.4rem; line-height: 1.2; }
.mega-panel__categories { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px 23px; }
.site-nav .mega-panel__categories a { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 9px 2px; color: #20364b; border-bottom: 1px solid #edf1f4; border-radius: 0; font-size: .88rem; font-weight: 650; line-height: 1.3; }
.site-nav .mega-panel__categories a:hover { color: #096aa9; background: transparent; border-color: #b8d8ec; }
.mega-panel__categories a span:last-child { color: #0d6cab; }
.mega-panel__categories .mega-range { display: grid; grid-template-columns: minmax(0,1fr) 27px; align-items: center; border-bottom: 1px solid #edf1f4; }
.site-nav .mega-panel__categories .mega-range a { min-width: 0; border: 0; }
.mega-range__button { display: grid; place-items: center; width: 27px; height: 36px; padding: 0; color: #0d6cab; background: transparent; border: 0; cursor: pointer; }
.mega-range.is-active { border-color: #b8d8ec; }
.site-nav .mega-range.is-active a,.mega-range.is-active .mega-range__button { color: #096aa9; }
.mega-range__button:focus-visible { outline: 2px solid #096aa9; outline-offset: 2px; }
.site-nav .mega-panel__all { display: inline-flex; gap: 12px; margin-top: 20px; padding: 0; color: #119f88; font-size: .86rem; font-weight: 800; }
.mega-panel__highlights { min-width: 0; }
.mega-range-panel[hidden] { display: none; }
.mega-range-panel__title { margin: 0 0 15px; color: #142b42; font-size: 1.1rem; line-height: 1.25; }
.site-nav .mega-range-panel__title a { display: inline-flex; gap: 9px; padding: 0; color: inherit; }
.site-nav .mega-range-panel__title a:hover { color: #096aa9; background: transparent; }
.mega-range-panel__models { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.site-nav .mega-model-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; padding: 0; color: #172d44; background: #fff; border: 1px solid #d8e1e8; border-radius: 0; font-weight: 400; }
.site-nav .mega-model-card:hover { color: #119f88; background: #fff; border-color: #8fb9d5; box-shadow: 0 6px 20px rgba(10,54,85,.1); }
.mega-model-card__media { display: block; height: 162px; overflow: hidden; background: transparent; }
.mega-model-card__media img { display: block; width: 100%; height: 100%; object-fit: contain; opacity: 1; filter: none; mix-blend-mode: normal; }
.mega-model-card__body { display: block; padding: 13px 15px 16px; }
.mega-model-card__body strong { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; color: #102c43; font-size: .98rem; line-height: 1.2; }
.mega-model-card__intro { display: -webkit-box; overflow: hidden; margin-top: 8px; -webkit-box-orient: vertical; -webkit-line-clamp: 4; color: #5b7184; font-size: .78rem; line-height: 1.4; font-weight: 400; }
.site-nav .language-nav { flex: none; gap: 4px; height: auto; }
.site-nav .language-nav a { display: inline-flex; align-items: center; gap: 6px; height: auto; padding: 8px 3px; color: #6f8293; border: 0; border-radius: 0; font-size: .74rem; font-weight: 800; }
.site-nav .language-nav a[aria-current="page"] { color: #0b5f9a; background: transparent; }
.site-nav .language-nav a:hover { color: #0b5f9a; background: transparent; }
.language-nav__name { font-weight: 600; }
@media (max-width: 1160px) and (min-width: 961px) {
  .header-inner { gap: 18px; }
  .site-nav { gap: 16px; }
  .site-nav .primary-menu > li > a,.site-nav .nav-product__trigger > a { padding-inline: 7px; font-size: .82rem; }
  .language-nav__name { display: none; }
}
@media (max-width: 960px) {
  .header-inner { min-height: 74px; }
  .site-nav { top: 74px; left: 20px; right: 20px; display: none; max-height: calc(100vh - 100px); overflow: auto; margin: 0; padding: 12px; }
  .site-nav.is-open { display: block; }
  .site-nav .primary-menu { display: block; }
  .site-nav .primary-menu > li { display: block; height: auto; border-bottom: 1px solid #edf1f4; }
  .site-nav .primary-menu > li > a,.site-nav .nav-product__trigger > a { display: block; width: 100%; padding: 12px 9px; font-size: .95rem; }
  .nav-product__trigger { display: flex; }
  .mega-toggle { flex: none; width: 46px; height: 46px; margin: 0; border-left: 1px solid #e6ebef; }
  .mega-panel { display: none; position: static; border: 0; box-shadow: none; }
  .nav-product.is-open .mega-panel { display: block; }
  .mega-panel__inner { display: block; width: 100%; padding: 12px 10px 21px; }
  .mega-panel__catalog h2 { font-size: 1.1rem; }
  .mega-panel__highlights { margin-top: 20px; }
  .mega-model-card__media { height: 180px; }
  .site-nav .language-nav { justify-content: flex-start; margin-top: 12px; padding: 4px 8px; }
  .site-nav .language-nav a { padding: 7px 11px; }
}
@media (max-width: 680px) {
  .utility-bar__inner { min-height: 35px; }
  .utility-bar__region { display: none; }
  .header-inner { min-height: 70px; }
  .site-nav { top: 70px; left: 14px; right: 14px; }
  .mega-panel__categories,.mega-range-panel__models { grid-template-columns: 1fr; }
  .mega-model-card__media { height: 170px; }
}

/* Globalshacman-inspired page composition. Header/navigation rules above remain unchanged. */
main { background: #fff; }
main .section { padding-block: 96px; }
main .eyebrow { color: #135aa6; font-size: .78rem; font-weight: 800; letter-spacing: .11em; }
main .section-title { font-size: clamp(2.2rem, 3.45vw, 3.65rem); letter-spacing: -.035em; line-height: 1.08; }

.shacman-home-hero { position: relative; min-height: 640px; color: #182735; background: linear-gradient(90deg, #dfe8ed 0%, #e5eced 42%, #f4f5f1 100%); }
.shacman-home-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(150deg, transparent 48%, rgba(79,112,124,.16) 65%, transparent 66%), linear-gradient(172deg, transparent 60%, rgba(68,94,106,.13) 72%, transparent 73%); }
.shacman-home-hero .truck-hero__grid { position: relative; z-index: 1; min-height: 640px; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: 0; }
.shacman-home-hero .truck-hero__copy { padding-block: 95px 65px; }
.shacman-home-hero .eyebrow { color: #0e5b9c; }
.shacman-home-hero h1 { max-width: 650px; color: #172738; font-family: Impact,"Arial Narrow","Segoe UI",sans-serif; font-stretch: condensed; font-size: clamp(3.3rem,5.35vw,5.65rem); font-weight: 800; letter-spacing: -.025em; line-height: .99; text-transform: uppercase; }
.shacman-home-hero .truck-hero__intro { max-width: 550px; color: #445666; }
.shacman-home-hero .truck-hero__foot { margin-top: 72px; color: #536775; }
.shacman-home-hero .truck-hero__visual { min-height: 640px; margin-right: calc((min(100vw, 1220px) - 100vw)/2); overflow: hidden; }
.shacman-home-hero .truck-hero__orbit { display: none; }
.shacman-home-hero .truck-hero__visual > img { width: min(105%,820px); max-height: 610px; border-radius: 0; object-fit: contain; mix-blend-mode: multiply; filter: contrast(1.05); }
.shacman-home-hero .truck-hero__model { right: max(24px,calc((100vw - 1220px)/2)); bottom: 35px; width: 330px; color: #fff; background: #164f86; border: 0; border-radius: 0; box-shadow: 0 18px 48px rgba(5,34,62,.18); }
.shacman-home-hero .truck-hero__model small { color: #d9eafa; }
.shacman-home-hero .button--primary { background: #145aa7; color: #fff; }
.shacman-home-hero .button--primary:hover { background: #0b407d; }
.shacman-home-hero .button--ghost { color: #14528f; border-color: #94aec0; }
.shacman-home-hero .button--ghost:hover { color: #fff; background: #145aa7; }
.trust-strip { color: #fff; background: #0c1927; }
.trust-strip__inner { padding-block: 19px; }

.shacman-series { position: relative; overflow: hidden; padding: 90px 0 74px; background: #f6f7f7; }
.shacman-series::after { content: "CLW"; position: absolute; bottom: -56px; left: 1.5%; color: rgba(15,41,65,.045); font: 900 clamp(9rem,24vw,25rem)/1 Impact,"Arial Narrow",sans-serif; pointer-events: none; }
.shacman-series__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.76fr) minmax(0,1.24fr); gap: 28px; align-items: center; min-height: 540px; }
.shacman-series__copy { padding-block: 30px; }
.shacman-series h2 { max-width: 560px; margin: 12px 0 22px; font: 800 clamp(2.7rem,4.1vw,4.8rem)/1.02 Impact,"Arial Narrow","Segoe UI",sans-serif; letter-spacing: -.015em; text-transform: uppercase; }
.shacman-series__copy > p:not(.eyebrow) { max-width: 560px; color: #526272; line-height: 1.7; }
.shacman-series ul { padding: 0; margin: 24px 0; list-style: none; }
.shacman-series li { padding: 8px 0; border-bottom: 1px solid #d9e1e6; color: #41505f; }
.shacman-series li strong { color: #135aa6; margin-right: 8px; }
.shacman-series__link { display: inline-flex; gap: 28px; align-items: center; padding: 13px 22px; color: #fff; background: #152532; font-weight: 750; }
.shacman-series__link:hover { background: #135aa6; }
.shacman-series__visual { display: grid; place-items: center; min-width: 0; }
.shacman-series__visual img { width: min(100%,730px); max-height: 570px; object-fit: contain; mix-blend-mode: multiply; }

.ranges-section { background: #fff; }
.ranges-section .section-heading { align-items: center; }
.ranges-section .range-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.ranges-section .range-card { min-height: 230px; border-radius: 0; background: linear-gradient(150deg,#182c42,#0b5a9c); }
.ranges-section .range-card::after { display: none; }
.ranges-section .range-card__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .38; mix-blend-mode: screen; }
.ranges-section .range-card--1 { grid-column: span 2; background: #0a1d2f; }
.ranges-section .range-card--1 .range-card__image { object-fit: contain; opacity: .7; }
.ranges-section .range-card__number { position: relative; z-index: 1; color: #d6e9ff; }
.ranges-section .range-card__body strong { max-width: 350px; font: 800 clamp(1.25rem,2vw,2.15rem)/1.12 Impact,"Arial Narrow","Segoe UI",sans-serif; text-transform: uppercase; }
.ranges-section .range-card__body > span { color: #e0edf7; }

.shacman-story-tiles { display: grid; grid-template-columns: 2fr 1fr; gap: 14px; padding: 0 14px 14px; }
.shacman-story-tiles__tile { position: relative; display: block; min-height: 430px; overflow: hidden; color: #fff; background: #133553; }
.shacman-story-tiles__tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(0,0,0,.8),transparent 65%); }
.shacman-story-tiles__tile > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; mix-blend-mode: screen; opacity: .6; transition: transform .4s ease; }
.shacman-story-tiles__tile:hover > img { transform: scale(1.045); }
.shacman-story-tiles__tile--about { background: linear-gradient(145deg,#155683,#0b243d 68%,#06304d); }
.shacman-story-tiles__monogram { position: absolute; right: -35px; top: 35px; color: rgba(255,255,255,.09); font: 900 clamp(10rem,20vw,22rem)/1 Impact,"Arial Narrow",sans-serif; transform: rotate(-90deg); }
.shacman-story-tiles__content { position: absolute; z-index: 1; inset: auto 32px 32px; display: flex; justify-content: space-between; align-items: end; gap: 25px; }
.shacman-story-tiles__content strong { max-width: 560px; font: 800 clamp(1.55rem,2.5vw,2.6rem)/1.05 Impact,"Arial Narrow","Segoe UI",sans-serif; text-transform: uppercase; }
.shacman-story-tiles__content > span { white-space: nowrap; border: 1px solid rgba(255,255,255,.7); padding: 12px 18px; font-weight: 700; }

#featured-trucks { background: #f7f8f8; }
#featured-trucks .grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
main .content-card { border: 1px solid #e1e5e8; border-radius: 0; box-shadow: none; }
main .content-card:hover { box-shadow: 0 16px 38px rgba(0,0,0,.09); transform: translateY(-3px); }
main .card-media { background: #f7f8f8; }
main .card-body { padding: 24px; }
main .card-title { font-weight: 750; }
main .card-link { color: #135aa6; }

.choice-section { background: #fff; }
.choice-heading { max-width: 850px; margin: 0 auto 42px; text-align: center; }
.choice-heading .eyebrow::before { display: none; }
.choice-heading .section-title { max-width: none; margin-inline: auto; font-family: Impact,"Arial Narrow","Segoe UI",sans-serif; text-transform: uppercase; }
.choice-heading .lede { margin-inline: auto; }
.choice-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; border: 0; }
.choice-steps article { position: relative; display: flex; flex-direction: column; min-height: 440px; padding: 28px; overflow: hidden; color: #fff; border: 0; background: linear-gradient(160deg,#1d476d,#091c2c); }
.choice-steps article::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg,rgba(0,0,0,.84),rgba(4,30,55,.22)); }
.choice-steps article > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .75; mix-blend-mode: screen; }
.choice-steps article > span { position: relative; z-index: 2; color: #fff; font: 800 3.5rem/1 Impact,"Arial Narrow",sans-serif; }
.choice-steps article > div { position: relative; z-index: 2; margin-top: auto; }
.choice-steps h3 { color: #fff; font: 800 2rem/1.05 Impact,"Arial Narrow",sans-serif; text-transform: uppercase; }
.choice-steps p { color: #e4edf4; font-size: .9rem; }

.quote-band { padding: 100px 0; color: #1c2a38; background: #f5f6f7; }
.quote-band .eyebrow { color: #135aa6; }
.quote-band h2 { font-family: Impact,"Arial Narrow","Segoe UI",sans-serif; text-transform: uppercase; }
.quote-band p:last-child { color: #586775; }
.quote-band .button--primary { color: #fff; background: #232b33; }
.quote-band .button--primary:hover { background: #135aa6; }

main .page-hero { min-height: 258px; display: flex; align-items: center; padding: 48px 0; color: #fff; background: linear-gradient(110deg,rgba(7,21,36,.94),rgba(9,44,74,.86)),#0a1c2a; }
main .page-hero::after { display: none; }
main .page-hero .container { text-align: center; }
main .page-hero .page-title { max-width: 1000px; margin: 14px auto 0; font: 800 clamp(2.4rem,4vw,4.3rem)/1.06 Impact,"Arial Narrow","Segoe UI",sans-serif; letter-spacing: -.01em; text-transform: uppercase; }
main .page-hero .lede { max-width: 840px; margin: 18px auto 0; color: #dfe8f1; }
main .page-hero .breadcrumbs { display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 0; color: #c6d6e4; }
main .page-hero .eyebrow { color: #b8d9f7; }
main:has(.product-layout) .page-hero { min-height: 340px; padding-bottom: 110px; }
main .product-layout { position: relative; margin-top: -70px; padding: 28px; background: #fff; box-shadow: 0 15px 45px rgba(8,36,60,.1); }
main .product-gallery__item { border-radius: 0; }
main .product-gallery__item img { mix-blend-mode: multiply; }
main .product-section-title { font-family: Impact,"Arial Narrow","Segoe UI",sans-serif; font-size: 2rem; letter-spacing: 0; text-transform: uppercase; }
main .product-table thead th { background: #155aa4; }
main .info-card,main .condition-card,main .faq-list details,main .table-scroll { border-radius: 0; }

.shacman-category-tabs { background: #f3f5f7; border-bottom: 1px solid #dfe6ec; }
.shacman-category-tabs__inner { display: flex; gap: 1px; overflow-x: auto; padding-block: 22px; scrollbar-width: thin; }
.shacman-category-tabs a { flex: 0 0 auto; min-width: 150px; max-width: 230px; padding: 15px 18px; color: #293a4c; background: #fff; font-size: .84rem; font-weight: 700; text-align: center; }
.shacman-category-tabs a[aria-current="page"],.shacman-category-tabs a:hover { color: #fff; background: #145aa7; }

.site-footer { color: #334458; background: #f2f4f7; }
.footer-lead-wrap { background: #4b87b8; }
.footer-lead { padding: 38px 0; color: #fff; background: transparent; border-bottom: 0; }
.footer-lead h2 { color: #fff; }
.footer-lead .button--primary { color: #0f3c69; background: #fff; }
.footer-grid { padding-top: 56px; }
.footer-brand { color: #15324d; }
.footer-links a:hover { color: #135aa6; }
.footer-bottom { border-top-color: #d7e1e8; }

@media (max-width: 960px) {
  .shacman-home-hero .truck-hero__grid,.shacman-series__inner { grid-template-columns: 1fr; }
  .shacman-home-hero .truck-hero__copy { padding-block: 70px 18px; }
  .shacman-home-hero .truck-hero__visual { min-height: 410px; margin: 0; }
  .shacman-home-hero .truck-hero__visual > img { max-height: 390px; }
  .shacman-home-hero .truck-hero__model { right: 10px; bottom: 12px; }
  .shacman-series__inner { min-height: auto; }
  .shacman-series__visual img { max-height: 470px; }
  .ranges-section .range-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .choice-steps { grid-template-columns: 1fr 1fr; }
  .shacman-story-tiles { grid-template-columns: 1.5fr 1fr; }
}
@media (max-width: 680px) {
  main .section { padding-block: 62px; }
  .shacman-home-hero h1 { font-size: clamp(2.7rem,10vw,4.1rem); }
  .shacman-home-hero .truck-hero__copy { padding-top: 55px; }
  .shacman-home-hero .truck-hero__visual { min-height: 330px; padding-bottom: 54px; }
  .shacman-home-hero .truck-hero__visual > img { max-height: 290px; }
  .shacman-home-hero .truck-hero__model { width: 90%; }
  .shacman-series { padding-block: 64px 35px; }
  .shacman-series h2 { font-size: 2.5rem; }
  .ranges-section .range-grid { grid-template-columns: 1fr 1fr; }
  .ranges-section .range-card { min-height: 190px; }
  .ranges-section .range-card--1 { grid-column: span 2; }
  .shacman-story-tiles { grid-template-columns: 1fr; padding-inline: 10px; }
  .shacman-story-tiles__tile { min-height: 290px; }
  .shacman-story-tiles__content { inset: auto 18px 18px; }
  .choice-steps { grid-template-columns: 1fr; }
  .choice-steps article { min-height: 320px; }
  main .product-layout { padding: 14px; }
  .shacman-category-tabs a { min-width: 160px; }
}
/* Alura-inspired page composition. The existing navigation rules above are unchanged. */
.alura-page,.alura-inner,.alura-detail,.alura-single { background:#eef3f6; }
.alura-page { overflow:hidden; }
.alura-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:11px 26px; border-radius:999px; color:#fff; background:#119f88; font-weight:800; line-height:1.3; box-shadow:0 8px 22px rgba(0,84,76,.17); transition:background .2s,transform .2s; }
.alura-button:hover { color:#fff; background:#0b806f; transform:translateY(-2px); }
.alura-hero { position:relative; display:grid; place-items:center; min-height:535px; overflow:hidden; color:#fff; background:#273f54; text-align:center; }
.alura-hero__scene { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.alura-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,24,36,.59),rgba(8,24,36,.52)),linear-gradient(0deg,rgba(8,24,36,.28),transparent 55%); }
.alura-hero__content { position:relative; z-index:1; padding:80px 20px 90px; }
.alura-hero__kicker { margin:0 0 17px; font-size:.83rem; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.alura-hero h1 { max-width:880px; margin:0 auto; font-size:clamp(2.35rem,4.45vw,4.55rem); font-weight:800; line-height:1.15; letter-spacing:-.035em; text-wrap:balance; }
.alura-hero__content > p:not(.alura-hero__kicker) { max-width:770px; margin:24px auto 22px; color:#eff5f6; font-size:clamp(1rem,1.45vw,1.18rem); line-height:1.58; }
.alura-hero__note { position:absolute; z-index:1; right:19px; bottom:14px; color:#e1e8eb; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; }
.alura-ranges,.alura-featured { padding:70px 0 83px; }
.alura-ranges { background:#eef3f6; }
.alura-section-head { max-width:840px; margin:0 auto 36px; text-align:center; }
.alura-section-head .eyebrow { margin-bottom:9px; color:#138b7b; }
.alura-section-head .eyebrow::before { display:none; }
.alura-section-head h2 { margin:0; color:#10375a; font-size:clamp(2rem,3.1vw,3.3rem); font-weight:800; line-height:1.18; letter-spacing:-.032em; text-wrap:balance; }
.alura-section-head p:not(.eyebrow) { max-width:760px; margin:15px auto 0; color:#66747d; }
.alura-range-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.alura-range-card { min-width:0; overflow:hidden; border-radius:17px; background:#fff; box-shadow:0 9px 20px rgba(30,48,61,.1); transition:transform .2s,box-shadow .2s; }
.alura-range-card:hover { transform:translateY(-5px); box-shadow:0 16px 28px rgba(30,48,61,.16); }
.alura-range-card__media { position:relative; display:block; height:170px; overflow:hidden; background:linear-gradient(145deg,#d5e1e7,#a8c3d2); }
.alura-range-card__media img { width:100%; height:100%; object-fit:cover; }
.alura-range-card__graphic { position:absolute; inset:0; overflow:hidden; background:linear-gradient(145deg,#dce9eb,#8bb5bb 54%,#294c64); }
.alura-range-card:nth-child(3n) .alura-range-card__graphic { background:linear-gradient(145deg,#c8d7df,#688da1 58%,#23445e); }
.alura-range-card:nth-child(4n) .alura-range-card__graphic { background:linear-gradient(145deg,#d4e1dd,#8caeaa 55%,#20525b); }
.alura-range-card__graphic::before { content:""; position:absolute; width:185px; height:185px; border:14px solid rgba(255,255,255,.15); border-radius:50%; right:-47px; bottom:-106px; box-shadow:-157px -52px 0 -44px rgba(12,65,84,.28); }
.alura-range-card__graphic::after { content:""; position:absolute; width:105%; height:49px; left:-8px; bottom:28px; transform:skewX(-24deg); border-radius:10px; background:rgba(11,50,69,.33); box-shadow:48px -42px 0 -14px rgba(255,255,255,.28); }
.alura-range-card__graphic span { position:absolute; z-index:1; top:15px; left:17px; color:rgba(255,255,255,.55); font-size:1.7rem; font-weight:900; letter-spacing:.15em; }
.alura-range-card__body { display:flex; flex-direction:column; gap:6px; min-height:142px; padding:19px; }
.alura-range-card__body small { color:#139684; font-size:.75rem; font-weight:900; letter-spacing:.1em; }
.alura-range-card__body strong { color:#15344b; font-size:1.07rem; line-height:1.2; }
.alura-range-card__body > span { margin-top:auto; color:#158d7d; font-size:.83rem; font-weight:800; }
.alura-value { padding:80px 0; background:#fff; }
.alura-value__grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:7%; align-items:center; }
.alura-value__visual { min-height:480px; overflow:hidden; border-radius:20px; background:linear-gradient(145deg,#d9e5e9,#f4f7f8); box-shadow:0 15px 35px rgba(34,59,73,.11); }
.alura-value__visual img { width:100%; height:100%; max-height:520px; object-fit:contain; }
.alura-value__copy h2 { max-width:590px; margin:0; color:#10375a; font-size:clamp(2.1rem,3.35vw,3.9rem); font-weight:800; line-height:1.12; letter-spacing:-.035em; }
.alura-value__copy > p:not(.eyebrow) { color:#5f6e77; font-size:1.03rem; }
.alura-value__list { display:grid; gap:0; padding:0; margin:27px 0 29px; list-style:none; }
.alura-value__list li { display:flex; gap:15px; padding:13px 0; border-top:1px solid #e0e7ea; }
.alura-value__list li > span { flex:none; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; color:#fff; background:#149d87; font-size:.85rem; font-weight:900; }
.alura-value__list strong { color:#163b57; }
.alura-value__list p { margin:2px 0 0; color:#697882; font-size:.91rem; }
.alura-featured { background:#eef3f6; }
.alura-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.alura-product-card { overflow:hidden; border-radius:18px; background:#fff; box-shadow:0 8px 25px rgba(22,45,59,.1); }
.alura-product-card__media { display:block; height:250px; overflow:hidden; background:#e2ebee; }
.alura-product-card__media img { width:100%; height:100%; object-fit:contain; transition:transform .3s; }
.alura-product-card:hover img { transform:scale(1.035); }
.alura-product-card > div { padding:23px 25px 27px; }
.alura-product-card small { color:#139684; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.alura-product-card h3 { margin:7px 0 12px; color:#163b57; font-size:1.27rem; line-height:1.25; }
.alura-product-card p { color:#697882; font-size:.92rem; }
.alura-product-card__link { color:#128e7b; font-weight:800; }
.alura-quote { color:#fff; background:#103b5d; }
.alura-quote__inner { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:58px; }
.alura-quote .eyebrow { color:#66d8bd; }
.alura-quote h2 { margin:0; font-size:clamp(2rem,3vw,3.1rem); line-height:1.16; }
.alura-quote p:not(.eyebrow) { max-width:680px; color:#d4e5ec; }
.alura-quote .alura-button { flex:none; }

/* Rounded photographic category banner and compact product cards. */
.alura-inner { padding-top:18px; }
.alura-inner .page-hero { position:relative; display:grid; place-items:center; min-height:425px; margin:0 18px; padding:45px 20px; overflow:hidden; border-radius:18px; color:#fff; background:linear-gradient(135deg,#1e5576,#0d354e); text-align:center; }
.alura-inner--product .page-hero { background:linear-gradient(rgba(8,27,42,.66),rgba(8,27,42,.66)),url('../images/industrial-yard-illustration.jpg') center 55% / cover no-repeat; }
.alura-inner--product .page-hero::after { content:"Illustration"; position:absolute; right:15px; bottom:10px; color:#e3ebed; font-size:.7rem; text-transform:uppercase; }
.alura-inner .page-hero .container { position:relative; z-index:1; }
.alura-inner .breadcrumbs { justify-content:center; margin-bottom:24px; color:#e2ecf0; }
.alura-inner .page-hero .eyebrow { color:#d2f1e9; }
.alura-inner .page-title { max-width:840px; margin-inline:auto; font-size:clamp(2.2rem,4.15vw,4.15rem); font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-weight:800; letter-spacing:-.035em; line-height:1.12; text-transform:none; text-wrap:balance; }
.alura-inner .page-hero .lede { max-width:780px; margin:20px auto 0; color:#eff4f5; font-size:1.08rem; }
.alura-inner .shacman-category-tabs { margin-top:24px; border:0; background:transparent; }
.alura-inner .shacman-category-tabs__inner { gap:8px; padding-block:0; }
.alura-inner .shacman-category-tabs a { min-width:160px; border:1px solid #d9e4e8; border-radius:10px; background:#fff; }
.alura-inner .shacman-category-tabs a[aria-current="page"],.alura-inner .shacman-category-tabs a:hover { border-color:#129d88; background:#129d88; }
.alura-inner .section { padding-block:65px; background:#eef3f6; }
.alura-inner .section-heading { align-items:center; }
.alura-inner .section-title { color:#10375a; font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:clamp(2rem,3.2vw,3.1rem); font-weight:800; text-transform:none; }
.alura-inner .range-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.alura-inner .range-card,.alura-inner .ranges-section .range-card { min-height:240px; border-radius:17px; background:linear-gradient(145deg,#98b6c1,#2f5d73); box-shadow:0 9px 20px rgba(30,48,61,.1); }
.alura-inner .range-card--1,.alura-inner .ranges-section .range-card--1 { grid-column:auto; }
.alura-inner .range-card__body strong { font:800 1.2rem/1.2 Inter,ui-sans-serif,system-ui,sans-serif; text-transform:none; }
.alura-inner .content-card { border:0; border-radius:17px; box-shadow:0 9px 20px rgba(30,48,61,.09); }
.alura-inner .card-media { display:block; }
.alura-inner .card-body { padding:24px; }
.alura-inner .card-title { color:#153b57; }
.alura-inner .card-link { color:#119b86; }
.alura-inner .empty-state { border:1px solid #d8e3e8; background:#fff; }

/* Detail and single pages use the reference site's generous white content surface. */
.alura-detail,.alura-single { padding:24px 20px 78px; }
.alura-detail .page-hero,.alura-single .page-hero { max-width:960px; margin:0 auto; padding:54px 55px 35px; border-radius:18px 18px 0 0; color:#173c5b; background:#fff; }
.alura-detail .page-hero .container,.alura-single .page-hero .container { width:100%; max-width:none; }
.alura-detail .breadcrumbs,.alura-single .breadcrumbs { color:#70838e; }
.alura-detail .breadcrumbs a:hover,.alura-single .breadcrumbs a:hover { color:#119b86; }
.alura-detail .page-hero .eyebrow,.alura-single .page-hero .eyebrow { color:#119b86; }
.alura-detail .page-title,.alura-single .page-title { color:#10375a; font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:clamp(2rem,3vw,3.25rem); font-weight:800; line-height:1.16; letter-spacing:-.025em; text-transform:none; }
.alura-detail .page-hero .lede,.alura-single .page-hero .lede { color:#566d7a; font-size:1.09rem; line-height:1.65; }
.alura-detail .section,.alura-single .section { max-width:960px; margin:0 auto; padding:20px 55px 60px; border-radius:0 0 18px 18px; background:#fff; }
.alura-detail .section > .container,.alura-single .section > .container { width:100%; max-width:none; }
.alura-detail .product-layout,.alura-detail .article-shell,.alura-single .single-layout { grid-template-columns:1fr; gap:32px; }
.alura-detail .product-gallery__item,.alura-detail .article-image { border-radius:14px; }
.alura-detail .product-aside,.alura-detail .article-aside { position:static; }
.alura-detail .product-section-title,.alura-detail .rich-content h2,.alura-single .rich-content h2 { color:#10375a; font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-weight:800; }
.alura-detail .product-summary,.alura-single .info-card { border-radius:14px; background:#f1f6f7; box-shadow:none; }
.alura-detail .product-table th { color:#133b58; }
.alura-detail .rfq-panel { border-radius:14px; background:#eff7f5; }
.alura-detail--product .rfq-panel { color:#25465a; }
.alura-detail--product .rfq-panel > p { color:#435d69; }
.alura-detail--product .rfq-panel h3 { color:#126c65; }
.alura-detail--product .rfq-panel li { color:#25465a; }
.alura-inner .page-hero h1.page-title { color:#fff; font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:clamp(2.2rem,4.15vw,4.15rem); font-weight:800; letter-spacing:-.035em; line-height:1.12; text-align:center; text-transform:none; }
.alura-detail .page-hero h1.page-title,.alura-single .page-hero h1.page-title { max-width:840px; color:#10375a; font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:clamp(2rem,3vw,3.25rem); font-weight:800; line-height:1.16; letter-spacing:-.025em; text-align:left; text-transform:none; }
.alura-detail .page-hero .breadcrumbs,.alura-single .page-hero .breadcrumbs { justify-content:flex-start; color:#607684; }
.alura-detail .page-hero .lede,.alura-single .page-hero .lede { margin-left:0; text-align:left; }

@media (max-width:1000px) {
  .alura-range-grid,.alura-inner .range-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .alura-value__grid { gap:35px; }
}
@media (max-width:760px) {
  .alura-hero { min-height:530px; }
  .alura-hero__content { padding-block:75px; }
  .alura-hero h1 { font-size:clamp(2.1rem,8vw,3.4rem); }
  .alura-range-grid,.alura-inner .range-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .alura-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .alura-value__grid { grid-template-columns:1fr; }
  .alura-value__visual { min-height:300px; }
  .alura-quote__inner { align-items:flex-start; flex-direction:column; gap:18px; }
  .alura-inner .page-hero { min-height:350px; }
  .alura-detail .page-hero,.alura-single .page-hero { padding:35px 28px 25px; }
  .alura-detail .section,.alura-single .section { padding:20px 28px 45px; }
}
@media (max-width:520px) {
  .alura-hero { min-height:550px; }
  .alura-hero__scene { object-position:62% center; }
  .alura-hero__content > p:not(.alura-hero__kicker) { font-size:.96rem; }
  .alura-ranges,.alura-featured,.alura-value { padding-block:52px; }
  .alura-range-grid,.alura-inner .range-grid,.alura-product-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .alura-range-card__media { height:125px; }
  .alura-range-card__body { min-height:155px; padding:13px; }
  .alura-range-card__body strong { font-size:.92rem; }
  .alura-product-card__media { height:160px; }
  .alura-product-card > div { padding:17px; }
  .alura-product-card h3 { font-size:1rem; }
  .alura-product-card p { display:none; }
  .alura-inner { padding-top:10px; }
  .alura-inner .page-hero { margin-inline:10px; min-height:315px; padding:25px 8px; border-radius:13px; }
  .alura-inner .page-title { font-size:clamp(1.9rem,7.3vw,2.8rem); }
  .alura-detail,.alura-single { padding:12px 10px 52px; }
  .alura-detail .page-hero,.alura-single .page-hero { padding:27px 18px 16px; }
  .alura-detail .section,.alura-single .section { padding:15px 18px 35px; }
}

/* CLW Group profile: editorial, French-first overview for overseas buyers. */
.alura-single--about .page-hero,.alura-single--about .section { max-width:1180px; }
.alura-single--about .page-hero { padding:62px 72px 38px; }
.alura-single--about .page-hero .lede { max-width:850px; }
.alura-single--about .section { padding:0 72px 76px; }
.alura-single--about .single-layout__main { max-width:none; }
.alura-single--about .rich-content { color:#284552; }
.about-story { display:grid; gap:54px; }
.about-story > * { min-width:0; }
.about-intro { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr); gap:48px; align-items:start; padding-top:18px; }
.about-kicker { display:block; margin:0 0 13px; color:#118f7b; font-size:.8rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.about-story .about-intro h2,.about-story .about-block h2,.about-story .about-market h2,.about-story .about-cta h2 { margin:0 0 18px; color:#10375a; font:800 clamp(1.8rem,2.7vw,2.8rem)/1.14 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.035em; }
.about-intro__text p { margin:0 0 16px; max-width:680px; color:#405b67; font-size:1.07rem; line-height:1.78; }
.about-intro__note { padding:25px 27px; border-top:4px solid #119f88; border-radius:3px 3px 14px 14px; background:#edf7f5; }
.about-intro__note strong { display:block; margin-bottom:8px; color:#0c645b; font-size:1.06rem; }
.about-intro__note p { margin:0; color:#405b67; line-height:1.65; }
.about-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:0; margin:0; list-style:none; }
.about-facts li { min-height:155px; padding:25px 28px; border:1px solid #dce9e9; border-radius:14px; background:#f7fbfa; }
.about-facts strong { display:block; color:#0d776a; font:800 clamp(2rem,3.5vw,3.15rem)/1 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:-.045em; }
.about-facts span { display:block; margin-top:12px; color:#244756; font-weight:730; line-height:1.35; }
.about-source { margin:-39px 0 0; color:#647c85; font-size:.8rem; line-height:1.55; }
.about-photo { margin:0; overflow:hidden; border-radius:15px; background:#e8f0f0; }
.about-photo__media { position:relative; height:400px; overflow:hidden; }
.about-photo img { position:absolute; top:0; left:0; display:block; width:100%; max-width:none; height:auto; transform:translateY(-10.5%); }
.about-photo figcaption { padding:10px 16px; color:#5a7078; background:#f5f9f8; font-size:.8rem; line-height:1.45; }
.about-block { padding-top:3px; }
.about-block__intro { max-width:760px; margin:0 0 24px; color:#526a73; line-height:1.7; }
.about-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.about-card { padding:27px 25px 29px; border:1px solid #dce6e9; border-radius:14px; background:#fff; box-shadow:0 9px 26px rgba(15,47,64,.055); }
.about-card__num { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; margin-bottom:18px; border-radius:9px; color:#0d776a; background:#dff4ef; font-size:.85rem; font-weight:900; }
.about-card h3 { margin:0 0 10px; color:#143b53; font-size:1.17rem; line-height:1.25; }
.about-card p { margin:0; color:#536c76; font-size:.94rem; line-height:1.65; }
.about-market { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.73fr); gap:45px; align-items:center; padding:42px 46px; border-radius:18px; color:#e5f4f1; background:linear-gradient(125deg,#0d394c,#0b5d5b); }
.about-story .about-market h2 { color:#fff; }
.about-market p { margin:0; color:#d4ebe8; line-height:1.7; }
.about-market ul { padding:0; margin:0; list-style:none; }
.about-market li { padding:13px 0; border-bottom:1px solid rgba(255,255,255,.2); color:#f2faf8; font-weight:650; }
.about-market li:first-child { border-top:1px solid rgba(255,255,255,.2); }
.about-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:0; margin:0; list-style:none; border-top:2px solid #bbdfd8; }
.about-steps li { position:relative; padding:25px 17px 0 0; }
.about-steps li::before { content:""; position:absolute; top:-7px; left:0; width:12px; height:12px; border-radius:50%; background:#119f88; }
.about-steps strong { display:block; margin-bottom:8px; color:#143b53; font-size:1rem; }
.about-steps span { display:block; color:#536c76; font-size:.92rem; line-height:1.6; }
.about-verify { padding:27px 30px; border-left:4px solid #e3a444; border-radius:0 12px 12px 0; background:#fff9ed; }
.about-story .about-verify h2 { margin:0 0 9px; color:#173d52; font-size:1.22rem; letter-spacing:0; }
.about-verify p { margin:0; color:#4b5b62; line-height:1.7; }
.about-cta { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:34px 38px; border-radius:15px; background:#edf7f5; }
.about-story .about-cta h2 { margin-bottom:8px; font-size:1.6rem; }
.about-cta p { margin:0; color:#48616d; }
.about-cta__links { display:flex; flex-wrap:wrap; gap:10px; }
.about-cta__links a { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 18px; border:1px solid #119f88; border-radius:6px; color:#fff; background:#119f88; font-weight:750; text-align:center; text-decoration:none; }
.about-cta__links a:hover { color:#fff; background:#0c776a; }
.about-cta__links a + a { color:#0c776a; background:transparent; }
.about-cta__links a + a:hover { color:#fff; background:#0c776a; }
@media (max-width:900px) {
  .alura-single--about .page-hero { padding:48px 42px 30px; }
  .alura-single--about .section { padding:0 42px 55px; }
  .about-photo__media { height:270px; }
  .about-intro { grid-template-columns:1fr; gap:20px; }
  .about-market { grid-template-columns:1fr; gap:24px; }
  .about-steps { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:20px; }
  .about-cta { align-items:flex-start; flex-direction:column; }
}
@media (max-width:640px) {
  .alura-single--about .page-hero { padding:29px 20px 20px; }
  .alura-single--about .section { padding:0 20px 38px; }
  .about-story { gap:40px; }
  .about-intro { padding-top:8px; }
  .about-facts { grid-template-columns:1fr; gap:9px; }
  .about-facts li { min-height:0; padding:19px 21px; }
  .about-facts strong { font-size:2.35rem; }
  .about-source { margin:-29px 0 0; }
  .about-photo__media { height:205px; }
  .about-photo img { left:-40%; width:180%; }
  .about-cards { grid-template-columns:1fr; gap:10px; }
  .about-card { padding:23px; }
  .about-market { padding:30px 24px; }
  .about-steps { grid-template-columns:1fr; border-top:0; gap:12px; }
  .about-steps li { padding:7px 0 8px 24px; border-left:2px solid #bbdfd8; }
  .about-steps li::before { top:10px; left:-7px; }
  .about-verify { padding:22px; }
  .about-cta { padding:26px 23px; }
  .about-cta__links { width:100%; }
  .about-cta__links a { width:100%; }
}

/* Contact / request-a-quote page */
.alura-single--quote .page-hero { min-height:0; max-width:1180px; padding:54px 54px 70px; background:linear-gradient(112deg,#0b2638 0%,#124b50 100%); }
.alura-single--quote .page-hero .container { text-align:left; }
.alura-single--quote .page-hero .page-title { margin:13px 0 12px; max-width:750px; }
.alura-single--quote .page-hero h1.page-title { color:#fff; }
.alura-single--quote .page-hero .breadcrumbs { color:#d0e4e3; }
.alura-single--quote .page-hero .breadcrumbs a:hover { color:#fff; }
.alura-single--quote .page-hero .lede { max-width:710px; margin:0; color:#dceceb; line-height:1.7; }
.alura-single--quote .page-hero .eyebrow { color:#65e2c8; }
.quote-section { padding:0 0 80px; background:linear-gradient(#eff6f5,#f8faf9 55%); }
.quote-page { position:relative; margin-top:-36px; }
.quote-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:26px; align-items:stretch; }
.quote-guidance,.quote-form-card { min-width:0; border-radius:16px; box-shadow:0 16px 42px rgba(15,50,57,.1); }
.quote-guidance { padding:42px 42px 39px; color:#e5f4f2; background:linear-gradient(150deg,#103e49,#0a2d3b); }
.quote-kicker { display:block; color:#119f88; font-size:.77rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.quote-guidance .quote-kicker { color:#6fe5d0; }
.quote-guidance h2,.quote-form-card h2 { margin:10px 0 13px; font-size:clamp(1.7rem,2.2vw,2.45rem); line-height:1.18; letter-spacing:-.025em; }
.quote-guidance h2 { max-width:480px; color:#fff; }
.quote-guidance__intro { max-width:480px; margin:0 0 28px; color:#c6dfdf; line-height:1.7; }
.quote-brief { display:grid; gap:0; border-top:1px solid rgba(255,255,255,.18); }
.quote-brief > div { display:flex; gap:18px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.quote-brief__icon { flex:none; display:grid; place-items:center; width:39px; height:39px; border:1px solid rgba(111,229,208,.45); border-radius:9px; color:#80efdb; font-size:.8rem; font-weight:800; }
.quote-brief h3 { margin:0 0 4px; color:#fff; font-size:1rem; }
.quote-brief p { margin:0; color:#c2d9dc; font-size:.9rem; line-height:1.6; }
.quote-guidance__note { margin-top:30px; padding:21px 23px; border-left:3px solid #76e5cd; border-radius:0 10px 10px 0; background:rgba(255,255,255,.08); }
.quote-guidance__note strong { color:#fff; }
.quote-guidance__note p { margin:5px 0 0; color:#d2e8e7; font-size:.9rem; line-height:1.65; }
.quote-form-card { padding:42px 42px 38px; border:1px solid #dae8e5; background:#fff; }
.quote-form-card h2 { color:#133b48; }
.quote-form-card__intro { margin:0 0 25px; color:#526873; line-height:1.65; }
.quote-form { display:grid; gap:17px; }
.quote-form__row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.quote-form__field { min-width:0; }
.quote-form__field label { display:block; margin:0 0 7px; color:#173c4c; font-size:.86rem; font-weight:750; }
.quote-form__field label span { color:#a33227; }
.quote-form__field input,.quote-form__field textarea { display:block; width:100%; min-height:47px; padding:10px 13px; border:1px solid #bfd2d1; border-radius:8px; outline:none; color:#143944; background:#f9fcfb; transition:border-color .2s,box-shadow .2s; }
.quote-form__field textarea { min-height:146px; resize:vertical; }
.quote-form__field input:focus,.quote-form__field textarea:focus { border-color:#119f88; box-shadow:0 0 0 3px rgba(17,159,136,.14); background:#fff; }
.quote-form__field input::placeholder,.quote-form__field textarea::placeholder { color:#607883; opacity:1; }
.quote-form__hint { margin:-2px 0 0; color:#61747a; font-size:.8rem; }
.quote-form__submit { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:52px; width:100%; padding:12px 18px; border:0; border-radius:8px; color:#fff; background:#0d8574; font-weight:800; transition:background .2s,transform .2s; }
.quote-form__submit:hover { background:#086b5f; transform:translateY(-1px); }
.quote-form__submit:disabled { opacity:.65; cursor:wait; transform:none; }
.quote-form__status { padding:12px 15px; border-radius:8px; font-size:.9rem; line-height:1.5; }
.quote-form__status--success { color:#0b5f44; background:#e5f6ed; }
.quote-form__status--error { color:#8d211c; background:#fff0ee; }
.quote-process { display:grid; grid-template-columns:.65fr 1.35fr; gap:54px; padding:76px 0 66px; }
.quote-process__heading h2 { margin:9px 0 0; max-width:360px; color:#133b48; font-size:clamp(1.7rem,2.3vw,2.4rem); line-height:1.2; }
.quote-process ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; padding:0; margin:0; list-style:none; }
.quote-process li { padding-top:17px; border-top:2px solid #b9dcd5; }
.quote-process li > span { display:block; margin-bottom:14px; color:#0d8c77; font-size:.82rem; font-weight:900; }
.quote-process h3 { margin:0 0 7px; color:#173c4c; font-size:1.04rem; line-height:1.3; }
.quote-process p { margin:0; color:#506973; font-size:.91rem; line-height:1.62; }
.quote-explore { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:28px 34px; border:1px solid #c9e1db; border-radius:13px; background:#eaf6f2; }
.quote-explore h2 { margin:0 0 5px; color:#143c47; font-size:1.35rem; }
.quote-explore p { margin:0; color:#526b70; }
.quote-explore a { flex:none; display:inline-flex; align-items:center; gap:19px; padding:12px 17px; border-radius:7px; color:#fff; background:#0d8574; font-weight:750; }
.quote-explore a:hover { color:#fff; background:#086b5f; }
.alura-single--quote + .site-footer .footer-title { color:#1b4051; }

/* Persistent WhatsApp contact entry, shared by all page templates. */
.whatsapp-float {
  position:fixed;
  right:clamp(16px,2.5vw,30px);
  bottom:calc(20px + env(safe-area-inset-bottom));
  z-index:110;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:54px;
  padding:12px 19px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  color:#fff;
  background:#119f88;
  box-shadow:0 9px 28px rgba(5,65,55,.26);
  font-size:.94rem;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.whatsapp-float:hover { color:#fff; background:#0b806e; box-shadow:0 12px 32px rgba(5,65,55,.32); transform:translateY(-2px); }
.whatsapp-float:focus-visible { outline:3px solid #0b2638; outline-offset:3px; }
.whatsapp-float svg { flex:none; }
@media (max-width:640px) {
  .whatsapp-float { right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); width:56px; height:56px; min-height:0; padding:0; }
  .whatsapp-float span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
}
@media (prefers-reduced-motion:reduce) {
  .whatsapp-float { transition:none; }
}
@media (max-width:960px) {
  .quote-grid { grid-template-columns:1fr; }
  .quote-process { grid-template-columns:1fr; gap:26px; }
  .quote-process__heading h2 { max-width:none; }
}
@media (max-width:640px) {
  .alura-single--quote .page-hero { padding:31px 22px 54px; }
  .quote-section { padding-bottom:45px; }
  .quote-page { margin-top:-24px; }
  .quote-grid { gap:15px; }
  .quote-guidance,.quote-form-card { padding:29px 23px; border-radius:12px; }
  .quote-form__row { grid-template-columns:1fr; }
  .quote-process { padding:48px 0 42px; }
  .quote-process ol { grid-template-columns:1fr; gap:23px; }
  .quote-explore { display:block; padding:25px 23px; }
  .quote-explore a { justify-content:space-between; width:100%; margin-top:17px; }
}
