:root {
    --sd-accent: #004bff;
    --sd-accent-hover: #0039c9;
    --sd-night: #09101d;
    --sd-soft: #eef4ff;
    --sd-radius: 18px;
    --sd-heading-font: Inter, system-ui, sans-serif;
    --sd-nav-font: Montserrat, Inter, system-ui, sans-serif;
    --green: var(--sd-accent);
    --navy: #0f182a;
    --blue: #182742;
    --ink: #152039;
    --muted: #55647b;
    --line: #dce5f3;
    --catalog-bg: #f4f7fc;
    --editorial-ink: var(--navy);
}

body { font-family: var(--sd-heading-font); font-weight: 400; }
h1, h2, h3 { color: var(--navy); letter-spacing: -.025em; }
h1 { font-size: clamp(1.85rem, 3.4vw, 2.8rem); }
:is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--sd-accent); outline-offset: 3px; }
.sd-site-header :is(a, button, input):focus-visible { outline-color: #98b8ff; }
.sd-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
    background: var(--sd-accent);
    color: #fff;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: .76rem 1.18rem;
    font-weight: 650;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.sd-button:hover, .woocommerce :is(a, button, input).button:hover { color: #fff; background: var(--sd-accent-hover); }
.sd-button span { margin-left: .25em; }

/* Header follows the presentation site's dark pill-shaped navigation. */
.sd-site-header { padding: 0 0 12px; background: var(--sd-night); }
.sd-top { background: transparent; color: #dce6f6; }
.sd-top-row { grid-template-columns: minmax(0,1fr) minmax(240px,420px) minmax(0,1fr); min-height: 64px; }
.sd-contact-links span, .sd-top-actions strong { color: #b1caff; }
.sd-top-actions { justify-content: flex-end; }
.sd-top .sd-social { background: #243654; color: #eaf2ff; }
.sd-search { padding: 3px; border: 1px solid #405271; border-radius: 999px; background: #132138; }
.sd-search input { color: white; background: transparent; border: 0; border-radius: 999px; }
.sd-search input::placeholder { color: #bdcbe0; }
.sd-search button { border-radius: 999px; background: var(--sd-accent); color: #fff; }
.sd-search button:hover { background: var(--sd-accent-hover); }
.sd-nav { background: transparent; }
.sd-site-header .sd-nav-row {
    width: min(calc(100% - 32px), 1500px);
    min-height: 66px;
    padding: 4px clamp(12px, 2.4vw, 34px);
    justify-content: space-between;
    gap: clamp(12px, 2.5vw, 34px);
    border: 1px solid #263653;
    border-radius: 42px;
    background: var(--navy);
}
.sd-nav .sd-logo { display: block; width: clamp(170px,17vw,252px); height: auto; }
.sd-nav nav { gap: 3px; align-items: center; font-family: var(--sd-nav-font); }
.sd-nav nav .sd-menu-item > a { padding: 11px clamp(6px, .9vw, 15px); font-size: .86rem; font-weight: 650; border-radius: 999px; }
.sd-menu-item:has(.sd-submenu-toggle) > a { padding-right: 6px; }
.sd-nav nav .current > a, .sd-nav nav .sd-menu-item > a:hover { background: #243654; color: #fff; }
.sd-menu-item.current::after { display: none; }
.sd-submenu-toggle { align-self: center; min-width: 30px; min-height: 39px; border-radius: 50%; }
.sd-submenu-toggle:hover, .sd-submenu-toggle[aria-expanded=true] { background: #304670; }
.sd-submenu { top: calc(100% + 8px); background: #fff; color: var(--navy); border: 1px solid var(--line); border-radius: 16px; padding: 8px; }
.sd-nav nav .sd-submenu a { display: block; padding: 8px 10px; border-radius: 8px; white-space: normal; font-weight: 550; font-size: .83rem; }
.sd-nav nav .sd-submenu a:hover { color: var(--sd-accent-hover); background: var(--sd-soft); }
.sd-family-menu { width: min(590px,calc(100vw - 50px)); }
.sd-family-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.sd-family-columns p { margin: 7px 10px; color: var(--sd-accent-hover); font-size: .76rem; font-weight: 700; }
.sd-nav nav .sd-family-all { margin-top: 6px; background: var(--sd-soft); color: var(--sd-accent-hover); font-weight: 700; }
.sd-menu-button { border-radius: 999px; min-height: 42px; }

/* The reference artwork is served locally in two compressed sizes. */
.sd-hero {
    min-height: 0;
    display: block;
    background: linear-gradient(90deg, #09101def 7%, #09101dbf 55%, #09101d66 100%), url(industrial.webp) center / cover;
    background-color: var(--sd-night);
    color: #fff;
}
.sd-hero .sd-hero-title {
    width: 100%;
    min-height: 0;
    align-items: flex-start;
    padding: clamp(54px,7.6vw,115px) clamp(24px,4vw,64px);
    text-align: left;
}
.sd-hero-title::after { content: none; }
.sd-hero-title strong {
    display: inline-block;
    padding: 7px 13px;
    border: 1px solid #9ab9ff55;
    border-radius: 999px;
    color: #c2d5ff;
    background: #142847bb;
    font-family: var(--sd-nav-font);
    font-size: .78rem;
    line-height: 1.2;
    font-weight: 650;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.sd-hero-title h1 { max-width: 22ch; color: #fff; margin: 17px 0 12px; font-size: clamp(2rem,5.15vw,4.65rem); font-weight: 750; line-height: 1.05; text-wrap: balance; }
.sd-hero-title p { max-width: 51ch; color: #dce6f6; font-size: clamp(1rem,1.5vw,1.17rem); margin: 0; }
.sd-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.sd-button.sd-button-outline { border-color: #afc6ff88; background: #0f182abf; }
.sd-button.sd-button-outline:hover { background: #2d4269; }
.sd-section { padding: clamp(36px,6vw,80px) 0; }
.sd-section-title { color: var(--navy); text-transform: none; font-weight: 750; }
.sd-section-title::after { width: 42px; height: 3px; border-radius: 99px; }
.sd-featured-section, .sd-news-section, .sd-services-section { background: var(--catalog-bg); }
.sd-featured-categories a { border-radius: var(--sd-radius); }
.sd-featured-categories span { background: #0f182aec; }
.sd-featured-categories a:hover span { background: var(--sd-accent-hover); color: white; }
.sd-home-brands { background: #fff; }
.sd-home-brands .sd-brands { margin: 0; gap: 14px; }
.sd-brand { min-height: 260px; border: 1px solid var(--line); border-radius: var(--sd-radius); background: var(--sd-soft); overflow: hidden; transition: border-color .18s ease, transform .18s ease; }
.sd-brand:hover { border-color: #a9c1ff; transform: translateY(-3px); }
.sd-brand-logo { height: 64px; }
.sd-brand-body { color: var(--ink); }
.sd-brand-body h2 { color: var(--navy); }
.sd-brand-body p { font-family: inherit; }
.sd-brand-arrow { color: var(--sd-accent); border-radius: 50%; }
.sd-brand-product { bottom: 0; }
.sd-about-section { background: #f5f8fe; }
.sd-home-intro img, .sd-article-cover { border-radius: var(--sd-radius); }
.sd-home-intro h2 { color: var(--navy); }
.sd-about-subtitle { color: var(--sd-accent-hover); }
.sd-promotion { margin-block: clamp(18px,4vw,48px); }
.sd-wide-banner { display: block; overflow: hidden; border-radius: var(--sd-radius); }
.sd-wide-banner img { height: auto; }
.sd-news-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--sd-radius); }
.sd-news-body time, .sd-read-more { color: var(--sd-accent-hover); }
.sd-footer { background: linear-gradient(155deg,var(--navy),var(--sd-night) 72%); color: #e2ebfa; }
.sd-footer h2 { color: #bfd2ff; }
.sd-footer a:hover { color: #a6c1ff; }
.sd-footer-logo { display: block; margin-left: -9px; }

/* Catalog media uses the complete source image, in a consistent frame. */
.sd-archive-page .sd-container { max-width: 1480px; padding-inline: clamp(14px,2.6vw,34px); }
.sd-archive-page .sd-catalog-layout { grid-template-columns: minmax(215px,22%) minmax(0,1fr); }
.sd-products { min-width: 0; }
.sd-catalog-nav { background: #fff; border: 1px solid var(--line); border-radius: var(--sd-radius); overflow: hidden; }
.sd-filter-title { padding: 18px; font-size: 1.18rem; text-transform: none; text-align: left; color: var(--navy); }
.sd-sidebar h2 { background: var(--sd-soft); color: var(--navy); font-size: .95rem; text-transform: none; }
.sd-sidebar a:hover, .sd-sidebar a.selected { color: var(--sd-accent-hover); background: var(--sd-soft); }
.sd-sidebar .sd-facet-form :is(select,button), .sd-page-size select, .sd-page-size button, .woocommerce .sd-archive-page .woocommerce-ordering select {
    border: 1px solid var(--line);
    border-radius: 9px;
    color: var(--navy);
    background: #fff;
}
.sd-catalog-toggle { border-radius: 12px; color: #fff; }
.woocommerce ul.products li.product, .woocommerce .sd-archive-page ul.products li.product {
    padding: 10px 10px 12px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--sd-radius);
    box-shadow: 0 3px 14px #14223c08;
}
.woocommerce ul.products li.product a img {
    display: block;
    width: 100%;
    height: clamp(135px,18vw,255px);
    padding: clamp(8px,1vw,15px);
    margin: 0;
    background: #f9fbff;
    border-radius: 11px;
    object-fit: contain;
    object-position: center;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--navy); }
.woocommerce ul.products li.product .price, .sd-quote-price { color: var(--sd-accent-hover); font-weight: 650; }
.woocommerce ul.products li.product .sd-card-actions { margin-inline: 1px; }
.woocommerce ul.products li.product .sd-card-actions .button { border-radius: 999px; padding: 9px 7px; color: #fff; }
.woocommerce ul.products li.product .sd-card-actions .sd-card-quote { background: var(--sd-soft); color: var(--sd-accent-hover); }
.woocommerce ul.products li.product .sd-card-actions .button:hover { color: #fff; background: var(--sd-accent-hover); }
.woocommerce nav.woocommerce-pagination ul li :is(a,span) { border-radius: 9px; }
.woocommerce .sd-single-page .woocommerce-product-gallery__wrapper { border: 1px solid var(--line); border-radius: var(--sd-radius); overflow: hidden; }
.woocommerce .sd-single-page div.product div.images img { padding: clamp(8px,2vw,26px); }
.woocommerce .sd-single-page .summary p.price { display: block; margin: 0 0 15px; color: var(--sd-accent-hover); }
.woocommerce .sd-single-page .summary .sd-request { background: var(--sd-accent); text-transform: none; letter-spacing: normal; }
.woocommerce .sd-single-page div.product .woocommerce-tabs ul.tabs li { border-radius: 9px 9px 0 0; background: var(--sd-soft); }
.woocommerce .sd-single-page div.product .woocommerce-tabs ul.tabs li.active a { color: white; }
.woocommerce .sd-single-page div.product .woocommerce-tabs ul.tabs li a { color: var(--navy); text-transform: none; }
.sd-spec-table th { background: var(--catalog-bg); }
.sd-document-list a, .sd-availability a { color: var(--sd-accent-hover); }
.sd-brand-intro, .sd-editorial-content, .sd-contact aside, .sd-drawing { border: 1px solid var(--line); border-radius: var(--sd-radius); }
.sd-contact aside { background: var(--catalog-bg); }
.sd-request-form :is(input:not([type=checkbox]),textarea) { border-color: #bbcbe2; border-radius: 9px; background: #fff; }
.sd-request-form .sd-button { color: #fff; }
.sd-quote-row { background: var(--catalog-bg); border-radius: 10px; }
.sd-consulting-cta { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; margin-top: 30px; padding: clamp(17px,3vw,32px); border-radius: var(--sd-radius); background: var(--sd-soft); }
.sd-consulting-cta h2 { margin: 0 0 8px; font-size: clamp(1.2rem,2vw,1.55rem); }
.sd-consulting-cta p { margin: 0; }
#sd-contact-form { scroll-margin-top: 24px; }
.sd-map { margin-top: 36px; }
.sd-map h2 { margin-bottom: .3em; }
.sd-map-frame { display: grid; min-height: 160px; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: var(--sd-radius); background: var(--sd-soft); }
.sd-map-frame iframe { display: block; width: 100%; height: clamp(265px,44vw,420px); border: 0; }
.sd-map-frame [hidden] { display: none; }
.sd-map-directions { display: inline-block; margin-top: 12px; color: var(--sd-accent-hover); font-weight: 650; }

@media (max-width: 1060px) {
    .sd-top-row { grid-template-columns: minmax(0,1fr) minmax(185px,1fr) auto; gap: 12px; }
    .sd-contact-links { gap: 9px; }
    .sd-site-header .sd-contact-links .sd-social { display: none; }
    .sd-nav nav .sd-menu-item > a { font-size: .8rem; }
    .sd-nav .sd-logo { width: 178px; }
    .sd-home-brands .sd-brands { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 900px) {
    .sd-site-header .sd-nav-row { position: relative; min-height: 58px; }
    .sd-site-header .sd-menu-button { display: block; }
    .sd-site-header .sd-nav nav { display: none; position: absolute; inset: calc(100% + 8px) 0 auto; margin: 0; padding: 8px; background: var(--navy); border: 1px solid #405271; border-radius: 17px; max-height: 70vh; overflow: auto; }
    .sd-site-header .sd-nav nav.open { display: block; }
    .sd-nav nav .sd-menu-item { display: flex; flex-wrap: wrap; }
    .sd-nav nav .sd-menu-item > a { flex: 1; min-height: 42px; padding: 10px 14px; font-size: .9rem; }
    .sd-nav nav .sd-submenu { position: static; width: 100%; box-shadow: none; }
    .sd-submenu-toggle { min-width: 44px; }
}
@media (max-width: 760px) {
    .sd-top-row { grid-template-columns: minmax(0,1fr) auto; min-height: 0; }
    .sd-contact-links { gap: 5px 12px; }
    .sd-search { grid-row: 2; }
    .sd-hero { background-image: linear-gradient(90deg,#09101def,#09101da6),url(industrial-mobile.webp); }
    .sd-hero .sd-hero-title { padding-inline: 21px; }
    .sd-home-brands .sd-brands { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .sd-archive-page .sd-catalog-layout { grid-template-columns: minmax(0,1fr); }
    .sd-catalog-nav.open { margin-top: 10px; }
    .sd-consulting-cta { grid-template-columns: 1fr; }
    .sd-consulting-cta .sd-button { justify-self: start; }
}
@media (max-width: 480px) {
    .sd-site-header .sd-nav-row { width: calc(100% - 24px); }
    .sd-top .sd-contact-links a[href^="mailto:"] { display: none; }
    .sd-family-columns { grid-template-columns: 1fr; }
    .sd-family-columns > div + div { border-top: 1px solid var(--line); }
    .sd-family-columns p { margin-bottom: 3px; }
    .sd-hero-actions { gap: 9px; }
    .sd-hero-actions .sd-button { font-size: .89rem; }
    .sd-brand { min-height: 236px; }
    .woocommerce ul.products li.product, .woocommerce .sd-archive-page ul.products li.product { padding: 6px; border-radius: 13px; }
    .woocommerce ul.products li.product a img { height: 132px; padding: 7px; }
    .woocommerce ul.products li.product .sd-card-actions .button { font-size: .76rem; }
}
@media (prefers-reduced-motion: reduce) {
    .sd-button, .sd-brand { transition: none; }
    .sd-brand:hover { transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
    .sd-hero-title { animation: sd-hero-entrance .35s ease-out both; }
    @keyframes sd-hero-entrance {
        from { opacity: .75; transform: translateY(7px); }
        to { opacity: 1; transform: translateY(0); }
    }
}

.sd-search { position: relative; }
.sd-search-suggestions {
    position: absolute;
    z-index: 5;
    inset: calc(100% + 6px) 0 auto;
    margin: 0;
    padding: 5px;
    list-style: none;
    max-height: min(310px, 50vh);
    overflow: auto;
    background: #fff;
    color: var(--navy);
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 8px 28px #09101d33;
}
.sd-search-suggestions a {
    display: block;
    padding: 9px 12px;
    font-size: .88rem;
    border-radius: 8px;
    overflow-wrap: anywhere;
}
.sd-search-suggestions a:hover, .sd-search-suggestions a:focus-visible {
    background: var(--sd-soft);
    color: var(--sd-accent-hover);
    outline-offset: -2px;
}
.sd-search-suggestions small { display: block; color: var(--muted); }

.sd-search-suggestions a { display: flex; align-items: center; gap: 10px; }
.sd-search-suggestions img {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    object-fit: contain;
    border-radius: 6px;
    background: #f4f7fc;
}
