/* V6.85 - reference-led shell. Data, product media and catalogue logic are unchanged. */
:root { --t-navy:#093c56; --t-ink:#091b38; --t-blue:#096bc9; --t-gutter:clamp(24px,3.55vw,64px); }
.t-header,.site-menu,.t-hero,.t-benefits { font-family:Arial,'Helvetica Neue',sans-serif; }
.t-header { position:relative; z-index:80; width:100%; background:#fff; color:var(--t-ink); border:0; box-shadow:none; }
.t-header-inner { display:grid; grid-template-columns:max-content minmax(220px,1fr) max-content; align-items:center; gap:36px; width:calc(100% - var(--t-gutter)*2); max-width:1700px; min-height:clamp(108px,8.25vw,136px); margin:auto; padding:20px 0; }
.t-brand { display:flex; flex-direction:column; width:max-content; color:var(--t-navy); text-decoration:none; }
.t-wordmark { display:flex; align-items:baseline; white-space:nowrap; font-size:clamp(29px,2.65vw,44px); line-height:1.1; letter-spacing:-1.55px; font-weight:400; }
.t-wordmark b { font-weight:800; }
.t-logo-o { position:relative; display:inline-block; }
.t-logo-o::after { position:absolute; content:''; width:.30em; height:.115em; background:currentColor; transform:rotate(47deg); right:-.15em; bottom:-.018em; border-radius:1px; }
.t-tagline { color:#838b96; font-weight:600; font-size:clamp(9px,.84vw,14px); line-height:1.35; letter-spacing:3.2px; margin-top:8px; text-align:center; white-space:nowrap; }
.t-search-shell { position:relative; min-width:0; }
.t-search { display:flex; align-items:center; height:58px; width:100%; min-width:0; border:1.5px solid #d5dce4; border-radius:36px; background:#fcfdff; overflow:hidden; box-shadow:0 1px 2px rgba(16,39,65,.025); }
.t-search:focus-within { outline:3px solid #d8eaf8; border-color:#598eb7; }
.t-search input { flex:1 1 auto; min-width:0; width:100%; height:100%; border:0; background:transparent; color:#263b4c; padding:0 6px 0 26px; outline:0; box-shadow:none; border-radius:0; font-family:inherit; font-size:17px; }
.t-search input::placeholder { color:#747c88; opacity:1; }
.t-search button { display:grid; place-items:center; flex:0 0 60px; width:60px; height:100%; padding:0; border:0; background:transparent; color:var(--t-navy); cursor:pointer; border-radius:0 36px 36px 0; }
.t-search button:hover { background:#eaf3fa; }
.t-header svg,.t-benefits svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.t-utilities { display:flex; align-items:center; gap:30px; color:var(--t-ink); }
.t-utilities a { display:inline-flex; align-items:center; gap:11px; white-space:nowrap; font-size:17px; font-weight:400; min-height:44px; }
.t-utilities a:hover { color:var(--t-blue); }
.t-utilities svg { width:29px; height:29px; color:#0b3359; }
.t-header #menuToggle { display:none; }
.t-skip-link { position:fixed; top:8px; left:16px; z-index:100000; transform:translateY(-180%); padding:12px 18px; background:#fff; border:2px solid var(--t-navy); border-radius:8px; }
.t-skip-link:focus { transform:none; }
.t-header a:focus-visible,.t-header button:focus-visible,.t-primary:focus-visible,.t-benefits a:focus-visible { outline:3px solid #3e87bb; outline-offset:5px; }
/* Navigation remains text only and click-controlled. */
.site-menu { position:relative; z-index:65; width:100%; background:var(--t-navy); border:0; box-shadow:none; }
.site-menu>.site-menu-inner { width:calc(100% - var(--t-gutter)*2); max-width:1700px; min-height:72px; display:flex; gap:0; align-items:stretch; margin:0 auto; padding:0; }
.site-menu .site-menu-item { flex:1 1 auto; min-width:0; border:0; }
.site-menu .site-menu-trigger { min-height:72px; padding:0 25px; gap:16px; font-size:20px; line-height:1.35; font-weight:700; color:#fff; }
.site-menu .site-menu-item:first-child .site-menu-trigger { padding-left:6px; }
.site-menu .site-menu-trigger:hover { background:#104e6d; }
.site-menu .site-menu-item[open]>.site-menu-trigger { background:#0d60a5; color:#fff; }
.site-menu .site-menu-chevron { width:9px; height:9px; flex-basis:9px; border-width:0 2px 2px 0; }
.site-menu .site-menu-panel { top:100%; width:326px; max-width:calc(100vw - 28px); padding:5px 27px; border:1px solid #e6e7eb; border-radius:12px; background:#fff; box-shadow:0 14px 26px rgba(10,29,46,.16); }
.site-menu .site-menu-list a { min-height:59px; padding:17px 4px; margin:0 -4px; gap:10px; font-size:18px; line-height:1.35; font-weight:400; color:var(--t-ink); }
.site-menu .site-menu-list>li { border-color:#e9ecef; }
.site-menu .site-menu-list a:hover { background:#f1f6fa; color:#0868b4; }
.site-menu .site-menu-arrow { font-family:Arial,sans-serif; font-size:25px; font-weight:400; color:#8d969f; }
/* Search suggestion overlay uses the original search logic. */
.t-search-shell .home-search-results { position:absolute; z-index:100; top:calc(100% + 10px); left:0; right:0; max-height:65vh; overflow-y:auto; background:#fff; border:1px solid #dbe3e9; border-radius:12px; box-shadow:0 12px 30px #173e5526; }
.t-search-shell .home-search-results[hidden] { display:none!important; }
.t-search-shell .home-search-results>a { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:5px 12px; padding:14px 18px; border-bottom:1px solid #edf0f3; }
.t-search-shell .home-search-results>a>span { min-width:0; }
.t-search-shell .home-search-results b,.t-search-shell .home-search-results small { display:block; overflow-wrap:anywhere; }
.t-search-shell .home-search-results b { font-size:14px; }
.t-search-shell .home-search-results small,.t-search-shell .home-search-results em { color:#617482; font-size:12px; line-height:1.5; font-style:normal; }
.t-search-shell .home-search-results em { grid-column:1; grid-row:2; }
.t-search-shell .home-search-results strong { grid-column:2; grid-row:1 / 3; color:var(--t-blue); }
/* Home hero: the background photo is separate from all editable text and controls. */
body.home-v685 { background:#fff; color:var(--t-ink); }
.home-v685 .t-hero { position:relative; isolation:isolate; width:100%; margin:0; padding:0; min-height:570px; height:clamp(570px,35.4vw,660px); overflow:hidden; background:#f8fafc; }
.t-hero-photo { position:absolute; inset:0; z-index:-1; display:block; }
.t-hero-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.t-hero-inner { width:calc(100% - var(--t-gutter)*2); max-width:1700px; margin:0 auto; padding:0; height:100%; display:flex; align-items:center; }
.t-hero-copy { width:47%; max-width:755px; padding:16px 0 21px; }
.t-hero-copy h1 { font-size:clamp(46px,3.88vw,66px); color:#09152d; font-weight:750; line-height:1.17; letter-spacing:-2.05px; margin:0 0 27px; text-wrap:initial; }
.t-hero-copy h1>span { display:block; white-space:nowrap; }
.t-hero-copy p { max-width:665px; font-size:clamp(21px,1.63vw,27px); line-height:1.43; color:#4c596a; font-weight:400; margin:0 0 35px; }
.t-primary { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:64px; padding:15px 37px; border-radius:12px; color:#fff; background:var(--t-blue); font-weight:700; font-size:21px; line-height:1.3; text-decoration:none; box-shadow:none; }
.t-primary:hover { background:#075bac; }
.t-primary span { font-size:26px; }
.t-benefits { padding:0; margin:0; background:#fff; border-bottom:1px solid #edf1f4; }
.t-benefits-inner { width:calc(100% - var(--t-gutter)*2); max-width:1700px; margin:0 auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; padding:29px 0; }
.t-benefits a { display:flex; align-items:center; justify-content:center; gap:19px; min-height:58px; padding:0 20px; color:var(--t-ink); border-right:1px solid #e4eaf0; }
.t-benefits a:first-child { justify-content:flex-start; padding-left:0; }
.t-benefits a:last-child { border:0; padding-right:0; }
.t-benefits svg { width:37px; height:37px; color:#0c3b59; }
.t-benefits b { display:block; font-size:17px; line-height:1.35; font-weight:600; }
.t-benefits small { display:block; margin-top:4px; color:#778291; font-size:14px; line-height:1.4; }
.t-benefits a:hover b { color:var(--t-blue); }
/* Retained lower-page catalogue blocks. */
.home-v685 .container:not(.site-menu-inner) { width:calc(100% - var(--t-gutter)*2); max-width:1528px; }
.home-v685 .sales-popular { padding-top:42px; background:#f8fafc; }
.home-v685 .sales-popular-grid>a { box-shadow:0 5px 15px #193b5010; border-color:#e1e7ed; }
.home-v685 .sales-popular-grid>a>b { color:#176496; }
@media (max-width:1350px) and (min-width:901px) {
 .t-header-inner { gap:24px; grid-template-columns:max-content minmax(220px,1fr) max-content; }
 .t-wordmark { font-size:33px; letter-spacing:-1.5px; }
 .t-tagline { font-size:10px; letter-spacing:2.5px; }
 .t-utilities { gap:20px; }
 .t-utilities a { font-size:15px; gap:7px; }
 .t-utilities svg { width:24px; height:24px; }
 .site-menu .site-menu-trigger { min-height:64px; font-size:16px; padding:0 17px; gap:11px; }
 .site-menu>.site-menu-inner { min-height:64px; }
 .site-menu .site-menu-panel { width:304px; padding:5px 23px; }
 .site-menu .site-menu-list a { font-size:17px; min-height:54px; padding:15px 3px; }
 .t-hero-copy { width:52%; }
 .t-hero-copy h1 { font-size:clamp(40px,3.95vw,53px); }
 .t-hero-copy p { font-size:21px; }
 .t-hero-photo img { object-position:59% center; }
 .t-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#f8fafc80,transparent 64%); z-index:-1; pointer-events:none; }
 .t-benefits a { gap:12px; padding:0 16px; }
 .t-benefits b { font-size:15px; }
 .t-benefits small { font-size:12px; }
}
@media (max-width:1100px) and (min-width:901px) {
 .t-utilities a { flex-direction:column; font-size:12px; gap:4px; }
 .t-utilities { gap:14px; }
 .site-menu .site-menu-trigger { font-size:14px; padding:0 13px; gap:9px; }
 .t-hero-copy h1 { letter-spacing:-1.5px; }
}
@media (max-width:900px) {
 :root { --t-gutter:24px; }
 .t-header-inner { grid-template-columns:minmax(0,1fr) 44px; grid-template-rows:auto auto; gap:18px 12px; min-height:0; padding:20px 0; }
 .t-brand { grid-column:1; grid-row:1; }
 .t-wordmark { font-size:34px; letter-spacing:-1.2px; }
 .t-tagline { font-size:10px; letter-spacing:2.7px; margin-top:6px; }
 .t-search-shell { grid-column:1 / -1; grid-row:2; }
 .t-search { height:52px; }
 .t-search input { font-size:16px; padding-left:18px; }
 .t-search button { flex-basis:52px; width:52px; }
 .t-search button svg { width:25px; height:25px; }
 .t-utilities { display:none; }
 .t-header #menuToggle { display:grid; place-items:center; grid-column:2; grid-row:1; justify-self:end; width:44px; height:44px; padding:0; margin:0; border:1px solid #dce4eb; border-radius:8px; background:#fff; color:var(--t-navy); font-size:27px; cursor:pointer; }
 .site-menu { display:none; }
 .site-menu.open { display:block; }
 .site-menu>.site-menu-inner { display:block; width:calc(100% - 32px); min-height:0; padding:8px 0; }
 .site-menu .site-menu-trigger,.site-menu .site-menu-item:first-child .site-menu-trigger { min-height:51px; font-size:16px; padding:14px 14px; justify-content:space-between; }
 .site-menu .site-menu-panel,.site-menu .site-menu-item:nth-last-child(-n+2)>.site-menu-panel { position:static; width:100%; max-width:none; padding:4px 20px; border:0; border-radius:8px; box-shadow:none; transform:none; }
 .site-menu .site-menu-list a { min-height:48px; padding:13px 0; margin:0; font-size:16px; }
 .home-v685 .t-hero { height:560px; min-height:0; }
 .t-hero-copy { width:66%; }
 .t-hero-copy h1 { font-size:41px; letter-spacing:-1.3px; }
 .t-hero-copy p { font-size:20px; }
 .t-hero::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#fafcfdd9 0%,#fafcfdb0 40%,transparent 100%); }
 .t-hero-photo img { object-position:62% center; }
 .t-benefits-inner { grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px 0; gap:18px 0; }
 .t-benefits a,.t-benefits a:first-child { justify-content:flex-start; padding:0 20px; gap:14px; }
 .t-benefits a:nth-child(odd) { padding-left:0; }
 .t-benefits a:nth-child(even) { border:0; }
 .t-benefits small { font-size:13px; }
}
@media (max-width:760px) {
 .home-v685 .t-hero { display:grid; grid-template-areas:'copy' 'photo'; height:auto; min-height:0; }
 .t-hero-photo { position:relative; inset:auto; grid-area:photo; z-index:0; aspect-ratio:1.9 / 1; min-height:0; }
 .t-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
 .t-hero-inner { grid-area:copy; height:auto; display:block; }
 .t-hero-copy { width:100%; padding:36px 0 30px; }
 .t-hero-copy h1 { font-size:clamp(32px,5.8vw,41px); line-height:1.17; letter-spacing:-1.3px; margin-bottom:20px; }
 .t-hero-copy h1>span { white-space:normal; display:inline; }
 .t-hero-copy h1>span:last-child { display:inline; }
 .t-hero-copy p { max-width:540px; font-size:18px; line-height:1.55; margin-bottom:26px; }
 .t-hero::after { display:none; }
 .t-primary { font-size:17px; min-height:53px; padding:13px 27px; border-radius:10px; }
 .t-primary span { font-size:22px; }
 .t-hero-photo::before { content:''; position:absolute; left:0; top:-1px; right:0; height:36px; background:linear-gradient(#f8fafc,transparent); pointer-events:none; }
 .t-benefits b { font-size:14px; }
 .t-benefits small { font-size:12px; }
 .t-benefits svg { width:28px; height:28px; }
 .t-benefits a,.t-benefits a:first-child { gap:10px; padding-right:10px; }
}
@media (max-width:420px) {
 :root { --t-gutter:20px; }
 .t-wordmark { font-size:28px; letter-spacing:-1.2px; }
 .t-tagline { font-size:8.5px; letter-spacing:2px; }
 .t-benefits-inner { grid-template-columns:1fr; gap:15px; padding:22px 0; }
 .t-benefits a,.t-benefits a:first-child,.t-benefits a:nth-child(even) { border:0; padding:0; min-height:42px; }
 .t-benefits b { font-size:15px; }
 .t-benefits small { font-size:13px; }
 .t-benefits svg { width:30px; height:30px; }
}
@media (max-width:350px) { .t-wordmark {font-size:24px} .t-tagline {font-size:7.5px;letter-spacing:1.6px} .t-hero-copy h1 {font-size:30px} }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

@media (min-width:1351px) { .t-hero-copy h1 { line-height:1.12; } .t-hero-copy p>span { display:block; white-space:nowrap; } }
