/* Homepage V2: semantic components, no Elementor-generated selector dependencies. */
.hct-home-widget,.hct-home-widget>.e-con-inner{display:block!important;width:100%}
.hct-home-widget .elementor-widget-shortcode{width:100%}
.hct-foundation.hct-model-search,.hct-foundation.hct-v2-family-grid,.hct-foundation.hct-v2-industry-grid,.hct-foundation.hct-v2-resources,.hct-foundation.hct-v2-brands{padding:0;max-width:none}
.hct-elementor-hero-copy .hct-model-search{pointer-events:auto}
.hct-home .hct-home-widget{padding:0}
.hct-home .hct-elementor-hero-copy{gap:8px;padding-block:65px}
.hct-home .hct-elementor-hero-actions{margin-top:18px;padding:0}
.hct-home .hct-v2-family-grid,.hct-home .hct-v2-industry-grid{margin-top:28px}
.hct-v2-eyebrow{font-size:12px;font-weight:600;letter-spacing:.15em;color:#173B5E;margin:0 0 12px}
.hct-model-search{width:100%;margin:24px 0 0}
.hct-model-search form{display:flex;gap:0;background:#fff;border:1px solid #cbd2d9;border-radius:4px;overflow:hidden;width:100%}
.hct-model-search input[type=search]{min-width:0;flex:1;background:#fff;border:0;border-radius:0;padding:15px 16px;font-size:14px;color:#20252B;height:54px}
.hct-model-search input:focus{outline:2px solid #173B5E;outline-offset:-3px}
.hct-model-search button{flex:0 0 auto;min-height:54px;border:0;border-radius:0;background:#173B5E;padding:12px 19px;color:white;font-size:14px;font-weight:600;white-space:nowrap}
.hct-model-search p{font-size:12px;line-height:1.7;margin:9px 0;color:#5F6872}
.hct-model-search a{font-weight:600;color:#173B5E}
.hct-elementor-hero-copy .hct-model-search p{color:#d4dce5}
.hct-elementor-hero-copy .hct-model-search a{color:#fff;text-decoration:underline}
.hct-elementor-hero-copy .elementor-widget-shortcode{width:100%;max-width:680px}
.hct-v2-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.hct-v2-family{padding:25px 26px;background:#fff;border:1px solid #e0e4e8;border-top:3px solid #173B5E;border-radius:4px;display:flex;flex-direction:column}
.hct-v2-family h3{font-size:19px;line-height:1.4;margin:0 0 15px;color:#173B5E}
.hct-v2-family ul{list-style:none;margin:0 0 20px;padding:0;flex:1}
.hct-v2-family li{margin:0 0 9px;font-size:14px;line-height:1.5}
.hct-v2-family li a{color:#5F6872}
.hct-v2-family a:hover,.hct-v2-resources a:hover{color:#173B5E;text-decoration:underline}
.hct-v2-text-link{font-size:13px;font-weight:600;color:#173B5E}
.hct-v2-capabilities{padding:64px 0}
.hct-v2-capabilities h2{font-size:32px;color:#20252B;margin:0 0 30px}
.hct-v2-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 36px}
.hct-v2-capability-grid article{padding-left:26px;position:relative}
.hct-v2-mark{position:absolute;left:0;top:1px;font-size:16px;color:#D93832}
.hct-v2-capability-grid h3{font-size:18px;color:#173B5E;margin:0 0 9px}
.hct-v2-capability-grid p{font-size:14px;color:#5F6872;line-height:1.65;margin:0}
.hct-v2-search-band{background:#F7F8FA;padding:45px 0}
.hct-v2-search-band .hct-container{max-width:850px}
.hct-v2-search-band h2{font-size:28px;margin:0 0 8px;color:#173B5E}
.hct-v2-search-band p{margin-bottom:0;color:#5F6872}
.hct-v2-industry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hct-v2-industry{background:#fff;border:1px solid #e0e4e8;border-radius:4px;overflow:hidden}
.hct-v2-industry img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;height:auto}
.hct-v2-industry>div{padding:23px}
.hct-v2-industry h3{font-size:20px;line-height:1.4;margin:0 0 10px;color:#173B5E}
.hct-v2-industry p{font-size:14px;line-height:1.7;color:#5F6872;margin:0 0 18px;min-height:48px}
.hct-v2-resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.hct-v2-resources a{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #dce1e6;padding:18px 0;color:#173B5E;font-weight:600;font-size:14px;line-height:1.5}
.hct-v2-brands{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0}
.hct-v2-brands a{border:1px solid #d7dee5;background:#fff;padding:13px 25px;font-weight:700;color:#173B5E;border-radius:3px}
.hct-v2-brand-note{font-size:12px;color:#5F6872;line-height:1.65}
.hct-v2-landing{max-width:1100px;margin:0 auto;padding:44px 24px 70px;color:#20252B}
.hct-v2-landing h1{font-size:clamp(32px,4vw,46px);line-height:1.2;color:#173B5E;margin:20px 0}
.hct-v2-landing h2{font-size:26px;line-height:1.35;color:#173B5E;margin:32px 0 15px}
.hct-v2-landing h3{font-size:20px;color:#173B5E}
.hct-v2-landing p,.hct-v2-landing li{font-size:16px;line-height:1.85;color:#5F6872}
.hct-v2-landing nav{font-size:13px;color:#5F6872}
.hct-v2-landing img{width:100%;max-height:440px;object-fit:cover;border-radius:4px;margin:20px 0}
.hct-v2-landing .hct-v2-cta,.hct-v2-cta{display:inline-block;background:#D93832;color:#fff;padding:14px 22px;border-radius:4px;font-weight:600;font-size:14px}
.hct-v2-archive-help{padding:30px;margin:35px 0;background:#F7F8FA;border-left:3px solid #173B5E}
.hct-v2-archive-help h2{font-size:24px;margin-bottom:12px}
.hct-contact-layout{flex-wrap:wrap!important}
.hct-home-rfq{width:100%;margin-top:25px}
.hct-home-rfq .elementor-widget-shortcode{width:100%}
@media(max-width:1024px){.hct-v2-family-grid,.hct-v2-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hct-v2-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hct-v2-capabilities{padding:48px 24px}.hct-v2-search-band{padding:36px 24px}}
@media(max-width:600px){.hct-v2-family-grid,.hct-v2-industry-grid,.hct-v2-capability-grid,.hct-v2-resources{grid-template-columns:1fr}.hct-model-search form{flex-wrap:wrap}.hct-model-search input[type=search]{flex-basis:100%;width:100%;font-size:16px}.hct-model-search button{width:100%}.hct-v2-family{padding:22px}.hct-v2-capabilities{padding:40px 20px}.hct-v2-search-band{padding:34px 20px}.hct-v2-capabilities h2{font-size:28px}.hct-v2-landing{padding:28px 20px 48px}.hct-v2-industry p{min-height:0}}

/* Product Families: compact catalog entry cards, scoped to this component. */
.hct-v2-family{padding:0;overflow:hidden;transition:border-color .18s ease,transform .18s ease}
.hct-family-image{display:block;aspect-ratio:4/3;background:#F7F8FA;overflow:hidden;border-bottom:1px solid #e6eaee}
.hct-family-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s ease}
.hct-family-body{padding:23px 24px 24px;display:flex;flex-direction:column;flex:1}
.hct-v2-family h3{font-size:20px;line-height:1.35;margin-bottom:10px}
.hct-family-description{font-size:14px;line-height:1.65;color:#5F6872;margin:0 0 18px;min-height:46px}
.hct-v2-family ul{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:8px 14px;margin:0 0 22px}
.hct-v2-family li{margin:0;font-size:13px;line-height:1.5}
.hct-v2-family li a{display:block;padding:3px 0;text-underline-offset:3px}
.hct-family-cta{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border:1px solid #d9e0e7;border-radius:3px;color:#173B5E;font-size:13px;font-weight:600;margin-top:auto;min-height:44px}
.hct-v2-family .hct-family-cta:hover{background:#173B5E;color:white;text-decoration:none;border-color:#173B5E}
.hct-v2-family a:focus-visible{outline:2px solid #173B5E;outline-offset:-3px}
@media(hover:hover){.hct-v2-family:hover{border-color:#a5b4c3;transform:translateY(-2px)}.hct-v2-family:hover .hct-family-image img{transform:scale(1.025)}}
@media(max-width:600px){.hct-family-body{padding:21px}.hct-family-description{min-height:0}}
@media(prefers-reduced-motion:reduce){.hct-v2-family,.hct-family-image img{transition:none}.hct-v2-family:hover,.hct-v2-family:hover .hct-family-image img{transform:none}}
/* Centre emphasis carousel: grid remains the usable no-JS fallback. */
.hct-family-carousel{width:100%;min-width:0}
.hct-family-carousel.is-ready .hct-family-viewport{overflow:hidden;padding:18px 0 0;touch-action:pan-y}
.hct-family-carousel.is-ready .hct-v2-family-grid{display:block;position:relative;margin-top:0!important}
.hct-family-carousel.is-ready .hct-v2-family{position:absolute;top:0;left:50%;width:360px;max-width:82vw;transform-origin:center center;transition:transform .35s ease,opacity .35s ease,border-color .18s ease}
.hct-family-carousel.is-ready .hct-v2-family.is-neighbour{opacity:1}
.hct-family-carousel.is-ready .hct-v2-family.is-current{border-color:#173B5E;opacity:1}
.hct-family-controls{display:flex;align-items:center;justify-content:center;gap:24px;padding-top:14px}
.hct-family-controls[hidden]{display:none}
.hct-family-controls>button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #d9e0e7;border-radius:50%;background:#fff;color:#173B5E;font-size:21px}
.hct-family-controls>button:hover{background:#173B5E;color:#fff}
.hct-family-dots{display:flex;align-items:center;gap:4px}
.hct-family-dots button{width:24px;height:32px;padding:0;background:transparent;border:0;position:relative}
.hct-family-dots button:after{content:"";position:absolute;left:8px;top:12px;width:8px;height:8px;border-radius:50%;background:#c9d2db}
.hct-family-dots button[aria-pressed=true]:after{background:#173B5E}
.hct-family-controls button:focus-visible{outline:2px solid #173B5E;outline-offset:3px}
.hct-family-carousel.is-ready .hct-v2-family:hover{border-color:#173B5E}
.hct-sourcing-section{padding:64px 0!important}
.hct-sourcing-section h2{font-size:32px;color:#20252B;margin:0 0 14px}
.hct-sourcing-intro{font-size:16px;line-height:1.7;max-width:760px;color:#5F6872;margin:0 0 28px}
.hct-sourcing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.hct-sourcing-card{display:flex;align-items:center;flex-direction:column;background:#fff;border:1px solid #e0e4e8;border-radius:4px;padding:18px;color:#173B5E;min-width:0;text-decoration:none}
.hct-sourcing-logo{display:flex;align-items:center;justify-content:center;height:90px;width:100%}
.hct-sourcing-logo img{width:100%;height:90px;object-fit:contain;filter:grayscale(1);opacity:.85;transition:filter .18s ease,opacity .18s ease}
.hct-sourcing-card strong{font-size:15px;margin:12px 0 5px}
.hct-sourcing-link{font-size:12px;color:#5F6872}
.hct-sourcing-card:hover,.hct-sourcing-card:focus-visible{border-color:#173B5E;text-decoration:none}
.hct-sourcing-card:hover img,.hct-sourcing-card:focus-visible img{filter:grayscale(0);opacity:1}
.hct-sourcing-card:focus-visible{outline:2px solid #173B5E;outline-offset:3px}
.hct-sourcing-note{font-size:12px;line-height:1.65;color:#5F6872;margin:22px 0}
.hct-sourcing-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center}
.hct-sourcing-secondary{display:inline-block;border:1px solid #d9e0e7;padding:13px 20px;border-radius:4px;color:#173B5E;font-weight:600;font-size:14px}
.hct-logo-credit-link{display:inline-block;font-size:11px;color:#5F6872;margin-top:16px}
.hct-home .hct-elementor-hero-copy{padding-block:100px}
@media(max-width:600px){.hct-family-carousel.is-ready .hct-v2-family{width:310px;max-width:80vw}.hct-family-controls{gap:10px}.hct-sourcing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hct-sourcing-card{padding:12px}.hct-sourcing-logo,.hct-sourcing-logo img{height:68px}.hct-sourcing-section{padding:42px 20px!important}.hct-sourcing-section h2{font-size:27px}.hct-home .hct-elementor-hero-copy{padding-block:65px}}
@media(prefers-reduced-motion:reduce){.hct-family-carousel.is-ready .hct-v2-family,.hct-sourcing-logo img{transition:none}}

/* Equal resting size; enlarge only the card under the pointer. */
@media(hover:hover){.hct-family-carousel.is-ready .hct-v2-family:hover{--hct-family-scale:1.04;z-index:20!important}}

/* Customer proof: a continuous logo ribbon, independent of family cards. */
.hct-clients-section{padding:45px 20px!important;border:0}
.hct-clients-section h2{font-size:28px;color:#173B5E;margin:0 0 26px}
.hct-client-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 30px,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(to right,transparent,#000 30px,#000 calc(100% - 30px),transparent)}
.hct-client-track{display:flex;width:max-content;animation:hct-client-flow 35s linear infinite}
.hct-client-group{display:flex;align-items:center;flex-shrink:0;gap:52px;padding-right:52px}
.hct-client-logo{display:flex;align-items:center;justify-content:center;width:150px;height:80px;flex-shrink:0}
.hct-client-logo img{max-width:150px;max-height:64px;object-fit:contain}
.hct-client-viewport:hover .hct-client-track,.hct-client-viewport:focus-within .hct-client-track{animation-play-state:paused}
@keyframes hct-client-flow{to{transform:translateX(-50%)}}
@media(max-width:600px){.hct-client-group{gap:28px;padding-right:28px}.hct-client-logo{width:120px}.hct-client-logo img{max-width:120px}}
@media(prefers-reduced-motion:reduce){.hct-client-track{animation:none}.hct-client-viewport{overflow-x:auto}.hct-client-group[aria-hidden=true]{display:none}}

/* Quiet homepage section boundaries: short pale rules around a small dot. */
.hct-home :is(.elementor-element-2ffa6d4,.elementor-element-hctsourcing01,.hct-v2-capabilities,.hct-clients-section,.elementor-element-9c1a634,.elementor-element-a2f00c4,.elementor-element-bad6e42){position:relative}
.hct-home :is(.elementor-element-2ffa6d4,.elementor-element-hctsourcing01,.hct-v2-capabilities,.hct-clients-section,.elementor-element-9c1a634,.elementor-element-a2f00c4,.elementor-element-bad6e42)::after{content:"";display:block;position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:150px;height:5px;pointer-events:none;background:radial-gradient(circle,#d5dde4 0 2px,transparent 2.2px) center/5px 5px no-repeat,linear-gradient(#e5e9ed,#e5e9ed) left center/65px 1px no-repeat,linear-gradient(#e5e9ed,#e5e9ed) right center/65px 1px no-repeat}
