/* Styles added on top of the design (error pages, page banners, About page). */
.error-page { text-align: center; padding: 120px 0; }
.error-page h1 { font-size: clamp(32px, 5vw, 48px); margin-bottom: 16px; }
.error-page p { max-width: 460px; margin: 0 auto 28px; }

.page-banner { background: linear-gradient(120deg, #0d3f60 0%, #1c6188 100%); color: #d6e0ee; padding: 84px 0 72px; }
.page-banner h1 { color: #fff; font-size: clamp(30px, 4vw, 44px); margin-bottom: 10px; }
.page-banner p { max-width: 560px; font-size: 16px; }
.page-banner .eyebrow { color: #ff9a6b; }
/* Breadcrumb trail at the top of each page banner */
.breadcrumb { margin-bottom: 22px; font-size: 13px; }
.breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.breadcrumb li { display: flex; align-items: center; gap: 10px; color: #fff; font-weight: 500; }
.breadcrumb li + li::before { content: "/"; color: rgba(255, 255, 255, .45); }
.breadcrumb a { color: #cfe0ef; transition: color .2s; }
.breadcrumb a:hover, .breadcrumb a:focus-visible { color: #fff; text-decoration: underline; }

.stat-row { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 32px; }
.stat-row-item strong { display: block; font-family: var(--font-head); font-size: 30px; color: var(--navy-800); line-height: 1; }
.stat-row-item span { font-size: 12px; color: var(--muted); }

.mission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.mission-card { background: var(--bg-soft); border: 1px solid var(--line); border-radius: var(--radius); padding: 32px; }
.mission-card h3 { margin-bottom: 10px; }
.mission-card p { color: var(--body); }
@media (max-width: 600px) { .mission-grid { grid-template-columns: 1fr; } }

/* Products list */
/* Category tabs on the left, search box on the right, both centred on one line (they stack on small screens). */
.product-toolbar { display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; justify-content: space-between; margin-bottom: 36px; }
.product-toolbar .filter-tabs { flex: 1 1 auto; margin-bottom: 0; }
/* The box and the button form one rounded bar. */
.product-search { position: relative; display: flex; align-items: stretch; flex: 0 1 320px; width: 100%; max-width: 320px; }
.product-search input { flex: 1; min-width: 0; height: 46px; padding: 0 20px; border: 1px solid var(--line); border-right: 0; border-radius: 999px 0 0 999px; background: #fff; font: inherit; font-size: 14.5px; color: var(--ink); }
.product-search input:focus { outline: 0; border-color: var(--orange); box-shadow: 0 0 0 3px rgba(230, 57, 37, .14); }
.product-search .btn { height: 46px; padding: 0 24px; border-radius: 0 999px 999px 0; box-shadow: none; }
@media (max-width: 900px) { .product-search { flex-basis: 100%; max-width: none; } }
/* Suggestions under the search box */
.search-suggest { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 30; list-style: none; margin: 0; padding: 6px; max-height: 340px; overflow-y: auto; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.search-suggest[hidden] { display: none; }
.search-suggest a { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 10px 14px; border-radius: 8px; font-size: 14.5px; color: var(--ink); }
.search-suggest a strong { font-weight: 600; }
.search-suggest a span { flex-shrink: 0; font-size: 12.5px; color: var(--muted); }
.search-suggest [role="option"].is-active a, .search-suggest a:hover { background: var(--bg-soft); color: var(--orange-600); }
.search-suggest-empty { padding: 12px 14px; font-size: 14px; color: var(--muted); }
/* "View all ..." buttons under the home page grids: centred, with space above */
.section-cta { display: flex; justify-content: center; margin-top: 44px; }
.filter-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.filter-tabs a { padding: 8px 18px; border: 1px solid var(--line); border-radius: 999px; font-size: 14px; color: var(--body); }
.filter-tabs a.is-active, .filter-tabs a:hover { background: var(--orange); border-color: var(--orange); color: #fff; }
.product-card .media-fallback { width: 100%; height: 100%; background: var(--bg-soft); }
.product-card .media { position: relative; background: var(--bg-soft); }
/* contain: any uploaded image size shows whole, never cropped */
.product-card .media img { width: 100%; height: 100%; object-fit: contain; position: absolute; inset: 0; }
.product-card .view-link { font-size: 13px; font-weight: 600; color: var(--navy-800); }
.product-card .view-link:hover { color: var(--orange); }
.empty-state { text-align: center; padding: 60px 20px; color: var(--muted); }
.pagination-wrap { margin-top: 40px; display: flex; justify-content: center; }
.pagination-wrap nav { display: flex; gap: 6px; flex-wrap: wrap; }
.pagination-wrap nav span, .pagination-wrap nav a { padding: 8px 14px; border: 1px solid var(--line); border-radius: 8px; font-size: 14px; }
.pagination-wrap nav span[aria-current="page"] span { background: var(--orange); color: #fff; }

/* Product detail */
.product-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.gallery-main { position: relative; aspect-ratio: 4 / 3; border-radius: var(--radius); overflow: hidden; background: var(--bg-soft); cursor: zoom-in; }
.gallery-main img { width: 100%; height: 100%; object-fit: contain; transition: transform .2s ease; }
.gallery-thumb.is-active { border-color: var(--orange); }
.gallery-thumbs { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.gallery-thumb { width: 78px; height: 58px; border: 2px solid transparent; border-radius: 8px; overflow: hidden; padding: 0; background: var(--bg-soft); cursor: pointer; }
.gallery-thumb:hover, .gallery-thumb:focus-visible { border-color: var(--orange); }
.gallery-thumb img { width: 100%; height: 100%; object-fit: contain; }
.product-info .pack-size { margin-top: 0; }
.product-info h3 { font-size: 18px; margin: 28px 0 12px; padding-top: 24px; border-top: 1px solid var(--line); }
.check-list { list-style: none; display: grid; gap: 8px; }
.check-list li { padding-left: 24px; position: relative; color: var(--body); }
.check-list li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 10px; border-radius: 50%; background: var(--orange); }
.spec-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.spec-table th, .spec-table td { text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--line); }
.spec-table th { width: 40%; color: var(--navy-800); font-weight: 600; background: var(--bg-soft); }
.product-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.rich-text p { margin-bottom: 12px; color: var(--body); }
.rich-text img { max-width: 100%; height: auto; border-radius: var(--radius); }
@media (max-width: 800px) { .product-detail { grid-template-columns: 1fr; gap: 32px; } }

/* Enquiry forms and contact page */
.narrow { max-width: 760px; }
.contact-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 56px; align-items: start; }
.contact-details { margin: 18px 0 24px; }
.map-frame { width: 100%; height: 280px; border: 0; border-radius: var(--radius); }
.enquiry-form .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; margin-bottom: 24px; }
.enquiry-form .field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: var(--navy-800); }
.enquiry-form .field-wide { grid-column: 1 / -1; }
.enquiry-form input, .enquiry-form select, .enquiry-form textarea { padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; font: inherit; background: #fff; }
.enquiry-form input:focus, .enquiry-form select:focus, .enquiry-form textarea:focus { outline: 2px solid var(--orange); outline-offset: 1px; }
.field-error { color: #b42318; font-size: 12.5px; }
.form-notice { padding: 14px 18px; border-radius: 10px; margin-bottom: 20px; font-size: 14.5px; }
.form-success { background: #e8f6ee; color: #14623a; }
.form-error { background: #fdecea; color: #8a1c12; }
.hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 800px) { .contact-grid { grid-template-columns: 1fr; gap: 40px; } }
@media (max-width: 600px) { .enquiry-form .form-grid { grid-template-columns: 1fr; } }

/* Gallery grid, cards and video lightbox */
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.gallery-card { display: flex; flex-direction: column; width: 100%; padding: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; text-align: left; font: inherit; color: inherit; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.gallery-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(8,20,38,.12); }
.gallery-card:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.gallery-media { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--bg-soft); overflow: hidden; }
.gallery-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-play { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(8,20,38,.25); }
.gallery-play svg { width: 56px; height: 56px; padding: 12px; border-radius: 50%; background: rgba(255,255,255,.92); fill: var(--orange); }
.gallery-caption { display: grid; gap: 2px; padding: 14px 16px 16px; }
.gallery-caption strong { color: var(--navy-800); font-size: 15px; }
.gallery-caption span { color: var(--body); font-size: 13px; }
.lightbox-inner iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
@media (max-width: 1000px) { .gallery-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) { .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; } }
@media (max-width: 420px) { .gallery-grid { grid-template-columns: 1fr; } }

/* Certificates: slider, grid and cards */
.slider-btn:disabled { opacity: .4; cursor: default; }
/* Every certificate shows in the same square frame; the whole image fits inside, whatever size was uploaded. */
.cert-image { display: block; width: 100%; aspect-ratio: 1 / 1; padding: 0; background: var(--bg-soft); border: 0; cursor: zoom-in; }
.cert-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.cert-body { display: grid; gap: 4px; padding: 14px 6px 6px; }
.cert-body strong { color: var(--navy-800); font-size: 15px; }
.cert-body span { color: var(--body); font-size: 13px; }
.cert-body .cert-meta { color: var(--muted); font-size: 12.5px; }
.cert-body .view-link { margin-top: 6px; font-size: 13px; font-weight: 600; color: var(--orange); }
.cert-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.cert-grid .cert { flex: none; width: auto; }
@media (max-width: 900px) { .cert-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .cert-grid { grid-template-columns: 1fr; } }

/* Desktop menu: slightly tighter links from 901px to 1100px wide so they stay on one line */
@media (min-width: 901px) and (max-width: 1100px) {
    .header .container { gap: 20px; }
    .nav { gap: 22px; }
    .nav a { font-size: 14px; white-space: nowrap; }
}
/* Below 1100px there is no room for the header Enquire button; "Contact Us" stays in the menu */
@media (min-width: 901px) and (max-width: 1100px) {
    .header-cta { display: none; }
}
/* Large screens: the header uses more width so the menu and Enquire button are not squeezed into the 1200px page width */
@media (min-width: 1367px) {
    .header .container { max-width: 1400px; }
}

/* Home slider: slides stack in the same place and fade in turn. */
.hero-slider .hero-slides { display: grid; max-width: 540px; }
.hero-slider .hero-slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; }
.hero-slider .hero-slide.is-active { opacity: 1; visibility: visible; }
.hero-slider .hero-slide-bg { position: absolute; inset: 0; opacity: 0; transition: opacity .7s ease; }
.hero-slider .hero-slide-bg.is-active { opacity: 1; }
.hero-slider .hero-slide-bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-slider .hero-slide-bg > svg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-dots { position: absolute; left: 0; right: 0; bottom: 22px; z-index: 3; display: flex; gap: 10px; justify-content: center; }
.hero-dot { width: 12px; height: 12px; border-radius: 50%; border: 0; padding: 0; background: rgba(15, 42, 74, .35); cursor: pointer; }
.hero-dot.is-active { background: var(--orange); }

/* Product enquiry popup */
.enquiry-dialog { margin: auto; width: min(720px, calc(100% - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.enquiry-dialog-product { margin: 0 0 18px; font-size: 14px; color: var(--body); }
.enquiry-dialog::backdrop { background: rgba(8, 20, 38, .55); }
.enquiry-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.enquiry-dialog-head h2 { font-size: 20px; margin: 0; }
.enquiry-dialog-close { font-size: 28px; line-height: 1; background: none; border: 0; color: var(--navy-800); cursor: pointer; }
.enquiry-dialog-body { padding: 24px; overflow-y: auto; max-height: calc(100vh - 140px); }
/* Pack size line on the product page */
.pack-size { margin: 0 0 22px; padding: 8px 14px; display: inline-block; border-radius: 8px; background: #f3f6f9; color: var(--navy-800, #0d3f60); font-size: 15px; }

/* Photo albums: count badge on the card, title and previous/next in the viewer */
.gallery-count { position: absolute; right: 10px; bottom: 10px; padding: 4px 10px; border-radius: 999px; background: rgba(8,20,38,.78); color: #fff; font-size: 12px; font-weight: 600; }
.lightbox-caption { margin: 0; padding: 12px 18px; background: #fff; color: var(--navy-800); font-size: 15px; font-weight: 600; text-align: center; }
.lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; background: #fff; color: var(--navy-800); font-size: 30px; line-height: 1; display: grid; place-items: center; cursor: pointer; border: 0; }
.lightbox-nav[hidden] { display: none; }
.lightbox-prev { left: 20px; }
.lightbox-next { right: 20px; }
@media (max-width: 720px) { .lightbox { padding: 16px; } .lightbox-nav { width: 40px; height: 40px; } .lightbox-prev { left: 8px; } .lightbox-next { right: 8px; } }

/* Enquire Now band: full-width, lined up with the page container, text left and button right */
.enquire { display: grid; grid-template-columns: 1fr auto; column-gap: 48px; align-items: center; padding: 56px max(24px, calc((100vw - var(--container)) / 2 + 24px)); }
.enquire .eyebrow, .enquire h2, .enquire p { grid-column: 1; }
.enquire h2 { margin-bottom: 10px; }
.enquire p { max-width: 620px; margin-bottom: 0; font-size: 15px; }
.enquire .btn { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
@media (max-width: 900px) { .enquire { padding: 48px 24px; } }
@media (max-width: 720px) { .enquire { grid-template-columns: 1fr; padding: 44px 20px; } .enquire .btn { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 22px; } }

/* Products page: search bar on its own row, tabs below; cards equal height with footer pinned */
.product-toolbar { flex-direction: column; align-items: stretch; gap: 18px; }
.product-toolbar .product-search { order: -1; flex: none; max-width: 560px; }
.product-search input { height: 52px; padding: 0 24px; font-size: 15px; }
.product-search .btn { height: 52px; padding: 0 32px; }
.product-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); align-items: stretch; }
.product-card { height: 100%; }
.product-body { flex-direction: column; align-items: stretch; justify-content: space-between; gap: 16px; }
.product-body h3 { font-size: 16px; line-height: 1.3; }
.product-body p { display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.product-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid var(--line); }

/* Gallery page: centre the filter rows and every grid row */
.gallery .product-toolbar { align-items: center; }
.gallery .filter-tabs { justify-content: center; }
.gallery-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.gallery-grid > * { flex: 0 1 calc((100% - 60px) / 4); min-width: 0; }
@media (max-width: 1000px) { .gallery-grid > * { flex-basis: calc((100% - 40px) / 3); } }
@media (max-width: 720px) { .gallery-grid { gap: 14px; } .gallery-grid > * { flex-basis: calc((100% - 14px) / 2); } }
@media (max-width: 420px) { .gallery-grid > * { flex-basis: 100%; } }

/* Dealer locator */
.dealer-filter { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: center; gap: 16px; margin-bottom: 32px; }
.dealer-filter label { display: grid; gap: 6px; flex: 1 1 200px; max-width: 280px; font-size: 13px; font-weight: 600; color: var(--navy-800); }
.dealer-filter select { height: 48px; padding: 0 16px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font: inherit; font-size: 15px; color: var(--ink); }
.dealer-filter select:focus { outline: 0; border-color: var(--orange); box-shadow: 0 0 0 3px rgba(230, 57, 37, .14); }
.dealer-filter .btn { height: 48px; }
.dealer-reset { align-self: center; font-size: 14px; color: var(--orange); }
.dealer-count { text-align: center; margin-bottom: 20px; color: var(--muted); font-size: 14px; }
.dealer-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.dealer-card { display: flex; flex-direction: column; gap: 6px; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.dealer-card h3 { font-size: 17px; color: var(--navy-800); }
.dealer-card p { font-size: 14px; color: var(--body); }
.dealer-type { align-self: flex-start; padding: 3px 12px; border-radius: 999px; background: var(--bg-soft); color: var(--orange-600); font-size: 12px; font-weight: 600; }
.dealer-place { font-weight: 600; }
.dealer-phone { margin-top: auto; padding-top: 10px; font-weight: 600; color: var(--orange); }

/* Blog */
.blog-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px; }
.blog-grid > * { flex: 0 1 calc((100% - 56px) / 3); min-width: 280px; }
.blog-card { display: flex; flex-direction: column; background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); }
.blog-cover { display: block; aspect-ratio: 16 / 10; background: var(--bg-soft); }
.blog-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.blog-body { display: flex; flex-direction: column; gap: 8px; padding: 20px; flex: 1; }
.blog-body time { font-size: 12.5px; color: var(--muted); }
.blog-body h3 { font-size: 17px; line-height: 1.35; }
.blog-body h3 a { color: var(--navy-800); }
.blog-body p { font-size: 14px; color: var(--body); display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.blog-body .view-link { margin-top: auto; font-size: 13px; font-weight: 600; color: var(--orange); }
.blog-article { max-width: 780px; }
.blog-hero { width: 100%; border-radius: var(--radius); margin-bottom: 28px; }
.blog-more { margin-top: 64px; }
.blog-more h2 { margin-bottom: 24px; }

/* Home: dealer band */
.dealer-band { display: grid; grid-template-columns: 1fr auto; gap: 32px 48px; align-items: center; padding: 44px 48px; border-radius: var(--radius); background: var(--bg-soft); border: 1px solid var(--line); color: var(--body); }
.dealer-band h2 { color: var(--navy-800); margin: 6px 0 10px; }
.dealer-band p { color: var(--body); max-width: 520px; }
.dealer-band-form { display: flex; gap: 12px; flex-wrap: wrap; }
.dealer-band-form select { height: 52px; min-width: 220px; padding: 0 18px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font: inherit; font-size: 15px; color: var(--ink); }
.dealer-band-form .btn { height: 52px; }
@media (max-width: 800px) { .dealer-band { grid-template-columns: 1fr; padding: 32px 24px; } .dealer-band-form select { flex: 1 1 100%; } }

/* Blog: cards and article, professional look */
.blog-card { box-shadow: 0 1px 3px rgba(8,40,61,.08), 0 8px 24px rgba(8,40,61,.06); transition: transform .25s ease, box-shadow .25s ease; }
.blog-card:hover { transform: translateY(-4px); box-shadow: 0 14px 34px rgba(8,40,61,.14); }
.blog-cover { overflow: hidden; }
.blog-cover img { transition: transform .5s ease; }
.blog-card:hover .blog-cover img { transform: scale(1.05); }
.blog-body { padding: 24px; gap: 10px; }
.blog-body time { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--orange); }
.blog-body h3 a:hover { color: var(--orange); }
.blog-body .view-link { padding-top: 6px; }

.blog-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 16px; font-size: 14px; color: rgba(255,255,255,.8); }
.blog-meta span + span::before { content: "\00b7"; margin-right: 18px; }
.blog-article { max-width: 860px; }
.blog-hero { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius); box-shadow: 0 14px 40px rgba(8,40,61,.18); margin-bottom: 40px; }
.blog-lead { max-width: 740px; margin: 0 auto 28px; font-size: 20px; line-height: 1.6; color: var(--navy-800); font-weight: 500; }
.blog-article .rich-text { max-width: 740px; margin: 0 auto; font-size: 17px; line-height: 1.85; color: var(--body); }
.blog-article .rich-text p { margin-bottom: 22px; font-size: 17px; line-height: 1.85; }
.blog-article .rich-text h2 { margin: 40px 0 14px; font-size: 25px; line-height: 1.3; color: var(--navy-800); }
.blog-article .rich-text h3 { margin: 30px 0 10px; font-size: 20px; color: var(--navy-800); }
.blog-article .rich-text ul, .blog-article .rich-text ol { margin: 0 0 24px; padding-left: 26px; }
.blog-article .rich-text ul { list-style: disc; }
.blog-article .rich-text ol { list-style: decimal; }
.blog-article .rich-text li { margin-bottom: 10px; padding-left: 4px; }
.blog-article .rich-text li::marker { color: var(--orange); font-weight: 700; }
.blog-article .rich-text strong { color: var(--ink); }
.blog-article .rich-text a { color: var(--orange); text-decoration: underline; text-underline-offset: 3px; }
.blog-article .rich-text blockquote { margin: 28px 0; padding: 6px 0 6px 22px; border-left: 4px solid var(--orange); color: var(--navy-800); font-size: 19px; font-style: italic; }
.blog-cta { max-width: 740px; margin: 48px auto 0; padding: 32px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; border-radius: var(--radius); background: var(--bg-soft); border: 1px solid var(--line); }
.blog-cta h3 { font-size: 20px; color: var(--navy-800); margin-bottom: 4px; }
.blog-cta p { margin: 0; font-size: 15px; }
.blog-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.blog-back { max-width: 740px; margin: 28px auto 0; }
.blog-more { margin-top: 72px; padding-top: 56px; border-top: 1px solid var(--line); }
.blog-more h2 { margin-bottom: 28px; text-align: center; }
@media (max-width: 720px) { .blog-lead { font-size: 18px; } .blog-article .rich-text, .blog-article .rich-text p { font-size: 16px; } .blog-cta { padding: 24px; } }

/* Home dealer band: keep text readable on the dark panel */
.home-dealers { padding: 64px 0; }

/* Home: five-counter band under About Us */
.counters { padding: 0 0 8px; }
.counter-grid { display: grid; grid-template-columns: repeat(5, 1fr); background: var(--navy-800); border-radius: var(--radius); box-shadow: 0 18px 44px rgba(8,40,61,.22); overflow: hidden; }
.counter { position: relative; padding: 40px 20px; text-align: center; }
.counter + .counter::before { content: ""; position: absolute; left: 0; top: 28%; height: 44%; width: 1px; background: rgba(255,255,255,.18); }
.counter strong { display: block; font-family: var(--font-head); font-size: clamp(30px, 3.4vw, 44px); font-weight: 700; line-height: 1; color: #fff; }
.counter-label { display: block; margin-top: 12px; font-size: 13px; letter-spacing: .04em; color: rgba(255,255,255,.78); }
.counter::after { content: ""; display: block; width: 28px; height: 3px; margin: 16px auto 0; border-radius: 3px; background: var(--orange); }
@media (max-width: 900px) { .counter-grid { grid-template-columns: repeat(6, 1fr); } .counter { grid-column: span 2; } .counter:nth-child(n+4) { grid-column: span 3; } .counter:nth-child(4)::before { display: none; } .counter { padding: 30px 14px; } }
@media (max-width: 520px) { .counter-grid { grid-template-columns: 1fr 1fr; } .counter, .counter:nth-child(n+4) { grid-column: auto; } .counter:last-child { grid-column: 1 / -1; } .counter::before { display: none; } }

/* Professional pass: alternating section backgrounds, centred card rows, readable card text */
.home-blog { background: var(--bg-soft); }
.product-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
.product-grid > * { flex: 0 1 calc((100% - 72px) / 4); min-width: 0; }
@media (max-width: 1100px) { .product-grid > * { flex-basis: calc((100% - 48px) / 3); } }
@media (max-width: 800px) { .product-grid > * { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 540px) { .product-grid > * { flex-basis: 100%; } }
.product-body p { font-size: 14px; }
