/* Rev3 alignment correction. Loaded AFTER the site's legacy styles.
   Original sections, links and hero rotator location are retained. */
body.tp-rev3 {
    --tp-ink:#162b3d; --tp-muted:#43576a; --tp-navy:#102c44;
    --tp-blue:#07558f; --tp-border:#c8d2dc; --tp-paper:#f0f3f6;
    margin:0; padding:0; min-width:0; width:100%; background:var(--tp-paper);
    color:var(--tp-ink); font:400 16px/1.6 "IBM Plex Sans",system-ui,sans-serif;
}
.tp-rev3 *, .tp-rev3 *::before, .tp-rev3 *::after {box-sizing:border-box}
.tp-rev3 #wrapper, .tp-rev3 #shift {
    width:100%!important; min-width:0!important; max-width:none!important;
    height:auto!important; margin:0!important; padding:0; float:none!important;
    position:relative; left:auto; right:auto; overflow:visible; text-align:left;
}
.tp-rev3 .tp-wrap {
    width:100%; max-width:1680px; min-width:0; margin:0 auto;
    padding-inline:clamp(16px,3vw,48px); float:none;
}
.tp-rev3 .tp-wrap > *, .tp-rev3 .tp-hero-copy > * {min-width:0}
.tp-rev3 img {max-width:100%}
.tp-rev3 button, .tp-rev3 input {font:inherit}
.tp-rev3 :focus-visible {outline:3px solid #e5a800; outline-offset:3px}
.tp-rev3 [hidden] {display:none!important}
.tp-rev3 .tp-home {width:100%; margin:0; color:var(--tp-ink); text-align:left}
.tp-rev3 .tp-home h1, .tp-rev3 .tp-home h2, .tp-rev3 .tp-home h3 {
    font-family:"IBM Plex Sans Condensed","IBM Plex Sans",system-ui,sans-serif;
    font-weight:600; line-height:1.2; letter-spacing:0; float:none;
}
/* Navigation: natural height, no crowded fixed-height row. */
.tp-rev3 .tp-header {position:relative; z-index:10; width:100%; height:auto; background:#fff; color:var(--tp-ink); border-bottom:1px solid var(--tp-border)}
.tp-rev3 .tp-utility {background:var(--tp-navy); color:#fff; font-size:13px}
.tp-rev3 .tp-utility .tp-wrap {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; padding-block:10px}
.tp-rev3 .tp-utility a, .tp-rev3 .tp-utility a:visited {color:#fff; text-decoration:underline; text-underline-offset:3px}
.tp-rev3 .tp-phones {display:flex; gap:18px; flex-wrap:wrap}
.tp-rev3 .tp-phones a {white-space:nowrap}
.tp-rev3 .tp-main {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; padding-block:14px}
.tp-rev3 .tp-nav {display:flex; flex:1 1 100%; flex-wrap:wrap; justify-content:space-between; gap:4px}
.tp-rev3 .tp-nav a, .tp-rev3 .tp-nav a:visited {display:block; padding:10px 9px; min-height:44px; color:var(--tp-ink); background:#fff; font-size:15px; font-weight:500; text-decoration:none; border:0; border-bottom:2px solid transparent}
.tp-rev3 .tp-nav a:hover, .tp-rev3 .tp-nav a.is-active {color:var(--tp-blue); background:#edf4f9; border-bottom-color:var(--tp-blue)}
.tp-rev3 .tp-nav a.tp-nav-lab {color:var(--tp-blue); font-weight:600}
.tp-rev3 .tp-search {display:flex; align-items:stretch; position:relative; width:min(100%,400px); margin:0; padding:0; float:none; height:auto}
.tp-rev3 .tp-search input {flex:1; width:0; min-width:0; min-height:44px; padding:10px 12px; border:1px solid var(--tp-border); border-right:0; border-radius:6px 0 0 6px; color:var(--tp-ink); background:#fff}
.tp-rev3 .tp-search input::placeholder {color:#526477; opacity:1}
.tp-rev3 .tp-search button {padding:9px 18px; min-height:44px; border:1px solid var(--tp-blue); border-radius:0 6px 6px 0; background:var(--tp-blue); color:#fff; cursor:pointer}
.tp-rev3 #dyna-mini-search-results {position:absolute; top:100%; left:0; right:0; z-index:30; background:#fff; color:var(--tp-ink); max-width:100%}
.tp-rev3 .tp-cart, .tp-rev3 .tp-menu-btn {display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:9px 16px; border:1px solid var(--tp-border); border-radius:6px; background:#fff; color:var(--tp-ink); cursor:pointer}
.tp-rev3 .tp-cart-count {padding:1px 8px; border-radius:20px; background:var(--tp-navy); color:#fff}
.tp-rev3 .tp-menu-btn {display:none}
.tp-rev3 #cart-content {position:absolute; top:100%; right:16px; max-width:calc(100vw - 32px); z-index:40; background:#fff; color:var(--tp-ink)}
/* Hero: branding and enlarged rotator in the original first section.
   Video, overlay and content use explicit non-negative stacking levels. */
.tp-rev3 #metrology-lab {display:block!important; position:relative!important; isolation:isolate; width:100%; height:auto!important; min-height:440px; overflow:hidden; opacity:1!important; visibility:visible!important; background:#102c44; color:#fff}
.tp-rev3 #metrology-lab .tp-hero-video {display:block!important; position:absolute!important; inset:auto 0; top:-20%; z-index:0; width:100%!important; height:140%!important; will-change:transform; max-width:none; object-fit:cover; opacity:1!important; visibility:visible!important; pointer-events:none}
.tp-rev3 #metrology-lab::before {content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(16,44,68,.88),rgba(16,44,68,.28) 52%,rgba(16,44,68,.45)); pointer-events:none}
.tp-rev3 #metrology-lab::after {content:none}
.tp-rev3 #metrology-lab > .tp-wrap {position:relative; z-index:2; display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,2fr); align-items:start; gap:clamp(20px,2.8vw,44px); height:auto!important; padding-block:clamp(32px,4vw,64px); opacity:1!important; visibility:visible!important}
.tp-rev3 #metrology-lab .tp-hero-copy {display:block; min-width:0; padding:18px; border-radius:8px; background:#102c44; color:#fff}
.tp-rev3 .tp-brand-panel {position:static; width:auto; height:auto}
.tp-rev3 .brand-content {position:static; padding:0; text-align:left}
.tp-rev3 .brand-logo {display:block; width:min(100%,220px); height:auto; margin:0 0 18px; filter:none}
.tp-rev3 .tp-home .brand-title {margin:0 0 10px; color:#fff; font-size:clamp(26px,2.2vw,36px); font-weight:600}
.tp-rev3 .brand-subtitle {margin:0; font-size:16px; line-height:1.5; font-weight:500; color:#e2ebf3}
.tp-rev3 .tp-hero-copy > p {margin:20px 0; font-size:16px; line-height:1.7; color:#eef3f8}
.tp-rev3 .tp-actions {display:flex; gap:12px; flex-wrap:wrap; align-items:stretch}
.tp-rev3 .tp-hero-copy > .tp-actions {display:flex; flex-direction:column}
.tp-rev3 .tp-hero-copy > .tp-actions > .tp-btn {width:100%}
.tp-rev3 #metrology-lab .tp-rotator-panel {display:block!important; position:relative!important; inset:auto!important; width:100%!important; min-width:0; height:auto!important; align-self:start; opacity:1!important; visibility:visible!important}
.tp-rev3 .tp-home a.tp-btn, .tp-rev3 .tp-home a.tp-btn:visited {display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 18px; min-height:48px; border:2px solid #fff; border-radius:6px; background:#fff; color:#102c44; font-size:15px; font-weight:600; line-height:1.45; text-align:center; text-decoration:none; white-space:normal}
.tp-rev3 .tp-home a.tp-btn:hover {background:#e7eff6; border-color:#e7eff6; color:#102c44}
.tp-rev3 .tp-home a.tp-btn.alt, .tp-rev3 .tp-home a.tp-btn.alt:visited {background:#183b56; color:#fff; border-color:#becfdd}
.tp-rev3 .tp-home a.tp-btn.alt:hover {background:#244c6b; color:#fff; border-color:#fff}
.tp-rev3 .tp-ruler {position:relative; z-index:2; height:22px; background:repeating-linear-gradient(90deg,#d7e4ef 0 1px,transparent 1px 12px) left top/100% 8px no-repeat}
/* Rotating slideshow, in the original hero location, without library load-order errors. */
.tp-rev3 #slider.tp-rotator {position:relative!important; display:block!important; opacity:1!important; visibility:visible!important; width:100%!important; min-width:0; max-width:100%; height:auto!important; margin:0!important; padding:0!important; border:1px solid #d5dfe7; border-radius:8px; background:#fff; color:#102c44; overflow:hidden; box-shadow:0 12px 28px #0002; float:none}
.tp-rev3 #slider .slides {display:block; width:100%!important; height:auto!important; margin:0!important; padding:0!important; list-style:none; transform:none!important}
.tp-rev3 #slider .slides > li {position:relative; display:block; float:none!important; width:100%!important; height:auto; margin:0!important; padding:0!important; background:#fff}
.tp-rev3 #slider.is-ready .slides {display:grid}
.tp-rev3 #slider.is-ready .slides > li {grid-area:1/1; visibility:hidden; pointer-events:none; z-index:0}
.tp-rev3 #slider.is-ready .slides > li.is-current {visibility:visible; pointer-events:auto; z-index:1}
.tp-rev3 #slider .slides a {display:block; color:#102c44; background:#fff}
.tp-rev3 #slider .slides img {display:block; width:100%!important; height:auto!important; max-width:100%; margin:0; border:0; object-fit:contain}
.tp-rev3 .tp-rotator-controls {display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; padding:10px; border-top:1px solid #d5dfe7; background:#fff; color:#102c44; position:relative; z-index:2}
.tp-rev3 .tp-rotator-controls button {min-width:44px; min-height:44px; padding:8px 12px; background:#eef3f7; color:#102c44; border:1px solid #bacbd8; border-radius:5px; cursor:pointer; font-size:14px}
.tp-rev3 .tp-rotator-controls button:hover {background:#dce8f2}
.tp-rev3 .tp-rotator-status {font-size:14px; font-variant-numeric:tabular-nums; min-width:42px; text-align:center}
/* Same four buttons and original content sections, with fluid widths. */
/* Small regular hexagons: 10px sides, neutral gray with fine pale lines. */
.tp-rev3 #scope {background-color:#d9d9d9; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='17.320508' viewBox='0 0 30 17.320508'%3E%3Cpath d='M5 0H15L20 8.660254L15 17.320508H5L0 8.660254ZM20 8.660254H30' fill='none' stroke='%23f4f4f4' stroke-opacity='.65' stroke-width='.6'/%3E%3C/svg%3E"); background-size:30px 17.320508px; background-repeat:repeat}

.tp-rev3 .tp-section {position:relative; width:100%; height:auto; margin:0; padding-block:clamp(32px,4vw,64px); color:var(--tp-ink)}
.tp-rev3 .tp-section.is-white {background:#fff; color:var(--tp-ink)}
.tp-rev3 .tp-button-wrap {display:block; width:100%; background:transparent}
.tp-rev3 #home_buttons {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; width:100%!important; height:auto!important; margin:0!important; padding:0; float:none!important}
.tp-rev3 #home_buttons::before, .tp-rev3 #home_buttons::after {display:none; content:none}
.tp-rev3 #home_buttons .home-cta {display:flex; flex-direction:column; justify-content:space-between; gap:18px; width:auto!important; height:auto!important; min-width:0; float:none!important; margin:0!important; padding:24px 16px; border:1px solid #c8d2dc; border-radius:8px; background:#f8fafc!important; color:#102c44!important; text-align:center; visibility:visible!important; opacity:1!important; cursor:pointer; box-shadow:0 4px 12px #102c4408}
.tp-rev3 #home_buttons .home-cta:hover {background:#edf4fa!important; border-color:#07558f}
.tp-rev3 #home_buttons h2 {display:block; width:auto; height:auto; margin:0; padding:0; text-align:center; background:transparent; color:#102c44; border:0}
.tp-rev3 #home_buttons h2 img {display:block; width:119px; height:91px; object-fit:contain; margin:0 auto}
.tp-rev3 #home_buttons a.home-cta-bttn, .tp-rev3 #home_buttons a.home-cta-bttn:visited {display:flex; align-items:center; justify-content:center; width:100%; min-height:46px; height:auto; padding:10px 12px; margin:0; border:0; border-radius:5px; color:#fff!important; background:#07558f!important; font:600 16px/1.4 "IBM Plex Sans",system-ui,sans-serif; text-decoration:none; white-space:normal}
.tp-rev3 #home_buttons .homecta-icon {display:none}
.tp-rev3 .tp-legacy-panel {display:block; width:100%; max-width:1200px; height:auto; margin:0 auto; padding:clamp(20px,3vw,40px); border:1px solid #d5dfe7; border-radius:8px; background:#fff; color:#162b3d; overflow-x:auto; text-align:center}
.tp-rev3 .tp-legacy-inner {width:100%; height:auto; margin:0; color:#162b3d; background:#fff; text-align:center}
.tp-rev3 .tp-legacy-inner img {max-width:100%; height:auto}
.tp-rev3 .tp-legacy-inner > * {max-width:100%; box-sizing:border-box}
.tp-rev3 .tp-more {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0}
.tp-rev3 .tp-more a, .tp-rev3 .tp-more a:visited {display:block; padding:24px; border:1px solid #c8d2dc; border-radius:8px; background:#fff; color:#162b3d; text-decoration:none}
.tp-rev3 .tp-more h3 {margin:0 0 10px; color:#162b3d; background:transparent; font-size:26px}
.tp-rev3 .tp-more p {margin:0; color:#43576a; background:transparent}
.tp-rev3 .tp-more a:hover {border-color:#07558f}
.tp-rev3 .tp-more a:hover h3 {color:#07558f; text-decoration:underline; text-underline-offset:4px}
.tp-rev3 .tp-cta {background:#07558f; color:#fff}
.tp-rev3 .tp-cta .tp-wrap {display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px; padding-block:40px}
.tp-rev3 .tp-cta h2 {flex:1 1 480px; max-width:28ch; margin:0; background:transparent; color:#fff; font-size:clamp(26px,3vw,42px)}
/* Original footer columns and logo strip, without fixed widths or spacer breaks. */
.tp-rev3 .footer {display:block; float:none; width:100%!important; height:auto!important; min-height:0; margin:0!important; padding:48px 0 32px; background:#102c44!important; color:#e7eef5; text-align:left; clear:both}
.tp-rev3 .footer_container {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; width:100%!important; max-width:1680px; height:auto; margin:0 auto!important; padding:0 clamp(16px,3vw,48px)!important; list-style:none; float:none}
.tp-rev3 .footer_container::after, .tp-rev3 .footer_container::before {content:none}
.tp-rev3 .footer .footer-block {display:block; width:auto!important; min-width:0; height:auto!important; float:none!important; margin:0!important; padding:0!important; border:0; background:none!important; color:#e7eef5}
.tp-rev3 .footer h3 {width:auto; height:auto; min-height:0; padding:0; margin:0 0 18px; background:none!important; color:#fff!important; font:600 21px/1.35 "IBM Plex Sans Condensed",system-ui,sans-serif; text-indent:0}
.tp-rev3 .footer h4 {margin:18px 0 6px; padding:0; background:none; color:#fff!important; font:600 15px/1.5 "IBM Plex Sans",system-ui,sans-serif}
.tp-rev3 .footer-block-inside {width:100%; height:auto; margin:0; padding:0; list-style:none; background:none}
.tp-rev3 .footer-block-inside > li {width:auto; height:auto; margin:0 0 8px; padding:0; background:none; color:#e7eef5; float:none}
.tp-rev3 .footer a, .tp-rev3 .footer a:visited {color:#e7eef5!important; background:transparent; font-size:15px; line-height:1.6; text-decoration:none; overflow-wrap:anywhere}
.tp-rev3 .footer a:hover {color:#fff!important; text-decoration:underline}
.tp-rev3 .contact-footer-block a {display:block}
.tp-rev3 .social-footer-block img {display:inline-block; width:32px; height:32px; margin:0 8px 0 0}
.tp-rev3 .footer form {max-width:100%; width:100%; height:auto; margin:0; float:none; color:#fff}
.tp-rev3 .footer label {color:#fff; background:transparent}
.tp-rev3 .footer input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]), .tp-rev3 .footer select {box-sizing:border-box; width:100%; max-width:100%; min-width:0; height:auto; min-height:44px; padding:9px 10px; background:#fff!important; color:#162b3d!important; border:1px solid #becfdd; border-radius:4px}
.tp-rev3 .footer input::placeholder {color:#526477; opacity:1}
.tp-rev3 .footer button, .tp-rev3 .footer input[type="submit"] {max-width:100%; min-height:44px; height:auto; padding:9px 14px; background:#fff!important; color:#102c44!important; border:1px solid #fff; border-radius:4px; cursor:pointer}
.tp-rev3 #footer-logos {width:100%!important; height:auto!important; min-height:0; margin:0!important; padding:24px clamp(16px,3vw,48px); background:#fff; color:#162b3d; text-align:center; clear:both}
.tp-rev3 #calnetwork-footer, .tp-rev3 #tradeport-footer {max-width:100%; margin:0 auto 16px; float:none}
.tp-rev3 #tradeport-copyright {width:100%; height:auto; margin:0; padding:12px 0 0; font-size:13px; color:#43576a; background:#fff; clear:both; line-height:1.7}
.tp-rev3 #tradeport-copyright a, .tp-rev3 #tradeport-copyright a:visited {color:#07558f; background:#fff; text-decoration:underline}
@media(min-width:1500px) {
    .tp-rev3 .tp-main {flex-wrap:nowrap; gap:16px}
    .tp-rev3 .tp-nav {flex:1 1 auto; justify-content:flex-start; flex-wrap:nowrap; gap:0}
    .tp-rev3 .tp-nav a {padding-inline:8px; font-size:14px; white-space:nowrap}
    .tp-rev3 .tp-search {flex:0 1 245px}
    .tp-rev3 .tp-cart {flex-shrink:0}
}
@media(max-width:1100px) {
    .tp-rev3 #home_buttons {grid-template-columns:repeat(2,minmax(0,1fr))}
    .tp-rev3 .footer_container {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px) {
    .tp-js .tp-rev3 .tp-menu-btn {display:inline-flex}
    .tp-rev3 .tp-main {gap:12px}
    .tp-rev3 .tp-nav {order:4; flex-basis:100%; flex-direction:column}
    .tp-js .tp-rev3 .tp-nav {display:none}
    .tp-js .tp-rev3 .tp-nav.is-open {display:flex}
    .tp-rev3 .tp-search {flex:1; width:auto}
    .tp-rev3 .tp-more {grid-template-columns:1fr}
}
@media(max-width:640px) {
    .tp-rev3 .tp-utility .tp-wrap {font-size:12px; gap:8px}
    .tp-rev3 .tp-phones {gap:16px}
    .tp-rev3 .tp-search {flex:1 1 100%; order:3}
    .tp-rev3 .tp-menu-btn {margin-right:auto}
    .tp-rev3 .brand-content {text-align:center}
    .tp-rev3 .brand-logo {width:200px; max-width:75%; margin-inline:auto}
    .tp-rev3 .tp-home .brand-title {font-size:30px}
    .tp-rev3 .tp-cta h2 {flex-basis:100%; max-width:none}
    .tp-rev3 .tp-cta .tp-btn {width:100%}
    .tp-rev3 .footer_container {gap:32px 24px}
}
@media(max-width:420px) {
    .tp-rev3 #home_buttons, .tp-rev3 .footer_container {grid-template-columns:1fr}
    .tp-rev3 #home_buttons .home-cta {padding:20px}
}
@media(prefers-reduced-motion:reduce) {
    .tp-rev3 *, .tp-rev3 *::before, .tp-rev3 *::after {animation:none!important; transition:none!important; scroll-behavior:auto!important}
}

@media(max-width:900px) {
 .tp-rev3 #metrology-lab > .tp-wrap {grid-template-columns:minmax(0,1fr);gap:24px}
 .tp-rev3 #metrology-lab .tp-hero-copy,.tp-rev3 #metrology-lab .tp-rotator-panel {grid-column:auto;grid-row:auto}
}
.tp-rev3 #slider .tp-slide-fallback {margin:0; padding:28px 20px; background:#fff; color:#162b3d}
.tp-rev3 #slider .tp-slide-fallback a {margin-top:12px; color:#07558f; text-decoration:underline}

/* The first slide is visible in server HTML, even when JavaScript is unavailable. */
.tp-rev3 #slider .slides > li[hidden] {display:none!important}
.tp-rev3 #slider .slides > li.is-current {display:block!important; opacity:1!important; visibility:visible!important}

/* A fixed frame at each viewport size: slide dimensions never resize the rotator. */
.tp-rev3 #slider.tp-rotator {--tp-slide-height:clamp(240px,36vw,520px)}
.tp-rev3 #slider .slides {height:var(--tp-slide-height)!important; min-height:0; overflow:hidden}
.tp-rev3 #slider .slides > li {height:100%!important; min-height:0; overflow:hidden}
.tp-rev3 #slider .slides a {width:100%; height:100%; min-height:0}
.tp-rev3 #slider .slides img {width:100%!important; height:100%!important; object-fit:contain; object-position:center}
.tp-rev3 #slider .tp-rotator-controls {height:64px; min-height:64px; flex-wrap:nowrap}
.tp-rev3 #slider .tp-slide-fallback {min-height:var(--tp-slide-height)}
@media(prefers-reduced-motion:reduce) {
 .tp-rev3 #metrology-lab .tp-hero-video {transform:none!important; will-change:auto}
}

/* Footer repair: neutralize legacy absolute positioning and keep the form in flow. */
.tp-rev3 .footer,
.tp-rev3 .footer .footer_container,
.tp-rev3 .footer .footer-block,
.tp-rev3 .footer .footer-block-inside,
.tp-rev3 .footer .footer-block-inside > li {
    position:relative!important; inset:auto!important; transform:none!important;
    float:none!important; max-height:none!important; height:auto!important;
    overflow:visible!important; clear:none; box-sizing:border-box;
}
.tp-rev3 .footer {padding:48px 0 36px!important; flex-shrink:0}
.tp-rev3 .footer .footer_container {align-items:start; padding-block:0!important}
.tp-rev3 .footer .footer-block-inside {display:block!important; min-height:0; width:100%!important}
.tp-rev3 .footer .footer-block-inside > li {display:block; min-width:0; width:100%!important}
.tp-rev3 .footer .tp-newsletter {margin-top:24px!important}
.tp-rev3 .footer .tp-newsletter h4 {position:static!important; margin:0 0 10px!important}
.tp-rev3 .footer .tp-newsletter-form {display:flow-root; width:100%; min-width:0; max-width:360px; padding:0; margin:0}
.tp-rev3 .footer .tp-newsletter-form form,
.tp-rev3 .footer .tp-newsletter-form form :where(div,p,fieldset,table,ul,li),
.tp-rev3 .footer .tp-newsletter-form > div {
    position:static!important; inset:auto!important; transform:none!important;
    float:none!important; width:100%!important; min-width:0!important;
    max-width:100%!important; height:auto!important; max-height:none!important;
    box-sizing:border-box; margin-left:0!important; margin-right:0!important;
}
.tp-rev3 .footer .tp-newsletter-form form {display:flow-root!important; margin:0!important; padding:0!important}
.tp-rev3 .footer .tp-newsletter-form fieldset {padding:0; margin:0; border:0}
.tp-rev3 .footer .tp-newsletter-form input:not([type="hidden"]),
.tp-rev3 .footer .tp-newsletter-form button,
.tp-rev3 .footer .tp-newsletter-form select,
.tp-rev3 .footer .tp-newsletter-form textarea {
    position:static!important; inset:auto!important; transform:none!important;
    float:none!important; box-sizing:border-box; max-width:100%!important;
    margin:0 0 10px!important; vertical-align:middle;
}
.tp-rev3 .footer .tp-newsletter-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.tp-rev3 .footer .tp-newsletter-form button,
.tp-rev3 .footer .tp-newsletter-form select,
.tp-rev3 .footer .tp-newsletter-form textarea {
    display:block; width:100%!important; min-width:0!important; height:auto!important;
    min-height:44px; padding:10px 12px!important; line-height:1.5;
}
.tp-rev3 .footer .tp-newsletter-form input[type="hidden"] {display:none!important}
.tp-rev3 .footer .tp-newsletter-form label {position:static!important; float:none!important; display:block; margin-bottom:6px}
.tp-rev3 #footer-logos {
    display:flex!important; flex-direction:column; align-items:center; gap:20px;
    position:relative!important; inset:auto!important; transform:none!important;
    float:none!important; max-height:none!important; overflow:visible!important;
    padding:24px clamp(16px,3vw,48px)!important; border-top:1px solid #d5dfe7;
}
.tp-rev3 .tp-footer-brand-row {display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:24px 48px; width:100%; max-width:600px; margin:0 auto}
.tp-rev3 #calnetwork-footer,
.tp-rev3 #tradeport-footer {
    position:relative!important; inset:auto!important; transform:none!important;
    float:none!important; margin:0!important; padding:0!important;
    flex:0 1 160px; width:160px!important; max-width:100%!important;
    min-height:0!important; height:84px!important;
    background-position:center!important; background-repeat:no-repeat!important;
    background-size:contain!important;
}
.tp-rev3 #tradeport-footer {display:flex!important; justify-content:center; align-items:center; background:none!important; text-decoration:none}
.tp-rev3 #tradeport-footer img {display:block; width:auto; height:auto; max-width:150px; max-height:84px; object-fit:contain; margin:0}
.tp-rev3 #tradeport-copyright {
    position:static!important; inset:auto!important; transform:none!important;
    float:none!important; order:2; max-width:1200px; width:100%!important;
    margin:0!important; padding:0!important; height:auto!important; max-height:none!important;
    text-align:center; clear:both;
}
.tp-rev3 #tradeport-copyright :where(div,p,span,address) {position:static!important; float:none!important; max-width:100%; height:auto; margin-inline:auto}
@media(max-width:420px) {
    .tp-rev3 .tp-footer-brand-row {gap:16px}
    .tp-rev3 #calnetwork-footer,.tp-rev3 #tradeport-footer {flex-basis:120px; width:120px!important; height:76px!important}
    .tp-rev3 #tradeport-footer img {max-width:120px; max-height:76px}
}

/* Keep service-card images and buttons in flow; legacy positioning caused overlap. */
.tp-rev3 #home_buttons .home-cta {
    position:relative!important; inset:auto!important; transform:none!important;
    display:flex!important; flex-direction:column; align-items:stretch;
    justify-content:flex-start; gap:18px; height:auto!important;
    min-height:0!important; max-height:none!important; overflow:visible!important;
    padding:24px 16px!important;
}
.tp-rev3 #home_buttons .home-cta h2 {
    position:static!important; inset:auto!important; transform:none!important;
    display:flex!important; align-items:center; justify-content:center;
    flex:0 0 auto; float:none!important; height:auto!important;
    min-height:91px; max-height:none!important; overflow:visible!important;
    margin:0!important; padding:0!important; line-height:1.2!important;
}
.tp-rev3 #home_buttons .home-cta h2 img {
    position:static!important; inset:auto!important; transform:none!important;
    float:none!important; flex:0 0 auto; display:block!important;
    width:119px!important; height:91px!important; max-width:100%;
    object-fit:contain; margin:0 auto!important;
}
.tp-rev3 #home_buttons .home-cta a.home-cta-bttn {
    position:static!important; inset:auto!important; transform:none!important;
    float:none!important; flex:0 0 auto; display:flex!important;
    align-items:center; justify-content:center; height:auto!important;
    min-height:46px!important; max-height:none!important;
    margin:0!important; padding:10px 12px!important;
    overflow:visible!important; line-height:1.45!important;
    white-space:normal!important; text-indent:0!important;
}

/* Catalog fragment: content-driven heights replace legacy fixed/absolute layouts. */
.tp-rev3 .tp-catalog,
.tp-rev3 .tp-catalog .home-content,
.tp-rev3 .tp-catalog .home-block-article {
    position:relative!important; inset:auto!important; transform:none!important;
    float:none!important; width:100%!important; min-width:0!important;
    max-width:100%!important; height:auto!important; min-height:0!important;
    max-height:none!important; overflow:visible!important; margin:0!important;
    padding:0!important; box-sizing:border-box;
}
.tp-rev3 .tp-catalog .home-block-article {display:flow-root; margin-bottom:32px!important; text-align:left}
.tp-rev3 .tp-catalog .home-block-article h1 {margin:0 0 20px; font-size:clamp(26px,3vw,36px); line-height:1.3}
.tp-rev3 .tp-catalog .title-bar,
.tp-rev3 .tp-catalog .title-bar > span,
.tp-rev3 .tp-catalog .title-bar a {
    position:static!important; inset:auto!important; transform:none!important;
    display:block!important; float:none!important; width:100%!important;
    height:auto!important; min-height:0!important; max-height:none!important;
    line-height:1.35!important; overflow:visible!important; text-indent:0!important;
    white-space:normal!important; box-sizing:border-box;
}
.tp-rev3 .tp-catalog .title-bar {margin:36px 0 20px!important; padding:14px 18px!important; font-size:26px; border:1px solid #c8d2dc; border-radius:6px; background:#edf0f3; color:#162b3d; text-align:center}
.tp-rev3 .tp-catalog .title-bar > span,
.tp-rev3 .tp-catalog .title-bar a {margin:0!important; padding:0!important; border:0; background:none; color:#162b3d; text-decoration:none}
.tp-rev3 .tp-catalog .product-list,
.tp-rev3 .tp-catalog #featured-boxes,
.tp-rev3 .tp-catalog #promo-boxes {
    display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px; align-items:stretch; position:relative!important; inset:auto!important;
    float:none!important; width:100%!important; min-width:0!important;
    height:auto!important; max-height:none!important; min-height:0!important;
    margin:0 0 32px!important; padding:0!important; overflow:visible!important;
}
.tp-rev3 .tp-catalog .product-list::before,
.tp-rev3 .tp-catalog .product-list::after,
.tp-rev3 .tp-catalog #featured-boxes::before,
.tp-rev3 .tp-catalog #featured-boxes::after,
.tp-rev3 .tp-catalog #promo-boxes::before,
.tp-rev3 .tp-catalog #promo-boxes::after {display:none!important; content:none!important}
.tp-rev3 .tp-catalog .featured_list_box,
.tp-rev3 .tp-catalog .sales_list_box,
.tp-rev3 .tp-catalog .promo_box {
    position:relative!important; inset:auto!important; transform:none!important;
    display:flex!important; flex-direction:column; gap:16px;
    float:none!important; clear:none!important; width:auto!important;
    min-width:0!important; max-width:100%!important; height:auto!important;
    min-height:0!important; max-height:none!important; overflow:visible!important;
    margin:0!important; padding:20px!important; border:1px solid #c8d2dc;
    border-radius:6px; background:#fff; color:#162b3d; box-sizing:border-box;
}
.tp-rev3 .tp-catalog .featured_list_box > h4,
.tp-rev3 .tp-catalog .sales_list_box > h4,
.tp-rev3 .tp-catalog .promo_title {
    position:static!important; inset:auto!important; transform:none!important;
    display:block!important; float:none!important; flex:0 0 auto;
    width:100%!important; height:auto!important; min-height:0!important;
    max-height:none!important; margin:0!important; padding:0!important;
    overflow:visible!important; line-height:1.5!important; white-space:normal!important;
    overflow-wrap:anywhere; font-size:16px; color:#162b3d; text-align:center;
}
.tp-rev3 .tp-catalog .product-image {
    position:static!important; inset:auto!important; transform:none!important;
    display:flex!important; flex:0 0 160px; align-items:center; justify-content:center;
    float:none!important; width:100%!important; height:160px!important;
    margin:0!important; padding:0!important;
}
.tp-rev3 .tp-catalog .product-image img {
    position:static!important; display:block!important; float:none!important;
    width:auto!important; height:auto!important; max-width:100%!important;
    max-height:160px!important; margin:0 auto!important; object-fit:contain;
}
.tp-rev3 .tp-catalog .tp-product-price {
    position:static!important; display:block!important; flex:0 0 auto;
    float:none!important; width:100%; height:auto!important; min-height:0;
    margin: auto 0 0!important; padding:0!important; overflow:visible!important;
    color:#07558f; text-align:center; line-height:1.5!important;
}
.tp-rev3 .tp-catalog .tp-product-price :where(p,span,div) {
    position:static!important; inset:auto!important; transform:none!important;
    float:none!important; width:auto!important; height:auto!important;
    min-height:0!important; max-height:none!important; margin:0!important;
    padding:0!important; line-height:1.5!important; white-space:normal!important;
    overflow:visible!important; color:inherit;
}
.tp-rev3 .tp-catalog .tp-product-price > p {display:block!important}
.tp-rev3 .tp-catalog .tp-product-price span {display:inline!important}
.tp-rev3 .tp-catalog .buttons-container {
    position:static!important; inset:auto!important; transform:none!important;
    display:block!important; flex:0 0 auto; float:none!important;
    width:100%!important; height:auto!important; min-height:0!important;
    max-height:none!important; margin:0!important; padding:0!important;
    overflow:visible!important; line-height:1.5!important;
}
.tp-rev3 .tp-catalog a.details-bttn,
.tp-rev3 .tp-catalog a.promoButton,
.tp-rev3 .tp-catalog a.general-button {
    position:static!important; inset:auto!important; transform:none!important;
    display:flex!important; align-items:center; justify-content:center;
    flex:0 0 auto; float:none!important; width:100%!important;
    height:auto!important; min-height:44px!important; max-height:none!important;
    margin:0!important; padding:10px 14px!important; line-height:1.5!important;
    text-indent:0!important; white-space:normal!important; overflow:visible!important;
    color:#fff!important; background:#07558f!important; border:1px solid #07558f;
    border-radius:5px; font-size:15px; text-decoration:none; box-sizing:border-box;
}
.tp-rev3 .tp-catalog .promo_box {text-align:left}
.tp-rev3 .tp-catalog .promo_box > p {
    position:static!important; float:none!important; width:100%!important;
    height:auto!important; min-height:0!important; max-height:none!important;
    margin:0!important; padding:0!important; overflow:visible!important; line-height:1.65;
}
.tp-rev3 .tp-catalog .promo_box .promo_title {text-align:left}
.tp-rev3 .tp-catalog .promo_box .promo-thumb {position:static!important; display:block; width:100%!important; height:auto!important; max-width:100%; margin:0; object-fit:contain}
.tp-rev3 .tp-catalog .promo_box > .promoButton,
.tp-rev3 .tp-catalog .promo_box > p:last-child {margin-top:auto!important}
@media(max-width:1000px) {
    .tp-rev3 .tp-catalog .product-list,.tp-rev3 .tp-catalog #featured-boxes,.tp-rev3 .tp-catalog #promo-boxes {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px) {
    .tp-rev3 .tp-catalog .product-list,.tp-rev3 .tp-catalog #featured-boxes,.tp-rev3 .tp-catalog #promo-boxes {grid-template-columns:minmax(0,1fr)}
}
